@pdfme/converter 6.1.6 → 6.1.8-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clawpdf-worker-BXU-6mDf.js","names":["defaultMaxPages","defaultMaxTextChars","loadPdfium","PdfiumErrorCode","createEngine","_a","F","initializer","util.jsonStringifyReplacer","core.$ZodAsyncError","util.finalizeIssue","core.config","errors.$ZodError","safeParse","errors.$ZodRealError","safeParseAsync","duration","_emoji","date","time","datetime","string","number","boolean","util.floatSafeRemainder","util.NUMBER_FORMAT_RANGES","regexes.integer","util.nullish","util.getLengthableOrigin","regexes.lowercase","regexes.uppercase","util.escapeRegex","content","version","version","util.aborted","util.explicitlyAborted","core.$ZodAsyncError","safeParse","safeParseAsync","regexes.string","regexes.guid","regexes.uuid","regexes.email","regexes.emoji","regexes.nanoid","regexes.cuid","regexes.cuid2","regexes.ulid","regexes.xid","regexes.ksuid","regexes.datetime","regexes.date","regexes.time","regexes.duration","regexes.ipv4","regexes.ipv6","regexes.cidrv4","regexes.cidrv6","regexes.base64","regexes.base64url","regexes.e164","regexes.number","regexes.boolean","util.prefixIssues","util.optionalKeys","util.cached","isObject","util.isObject","util.esc","allowsEval","util.allowsEval","util.finalizeIssue","core.config","util.cleanRegex","util.isPlainObject","util.getEnumValues","util.escapeRegex","core.$ZodEncodeError","util.issue","util.normalizeParams","checks.$ZodCheckLessThan","checks.$ZodCheckGreaterThan","checks.$ZodCheckMultipleOf","checks.$ZodCheckMaxLength","checks.$ZodCheckMinLength","checks.$ZodCheckLengthEquals","checks.$ZodCheckRegex","checks.$ZodCheckLowerCase","checks.$ZodCheckUpperCase","checks.$ZodCheckIncludes","checks.$ZodCheckStartsWith","checks.$ZodCheckEndsWith","checks.$ZodCheckOverwrite","util.slugify","issue","util.issue","checks.$ZodCheck","process","process","core._isoDateTime","date","core._isoDate","core._isoTime","core._isoDuration","core.formatError","core.flattenError","util.jsonStringifyReplacer","parse.parse","parse.safeParse","parse.parseAsync","parse.safeParseAsync","parse.encode","parse.decode","parse.encodeAsync","parse.decodeAsync","parse.safeEncode","parse.safeDecode","parse.safeEncodeAsync","parse.safeDecodeAsync","util.mergeDefs","core.clone","checks.overwrite","processors.stringProcessor","checks.regex","checks.includes","checks.startsWith","checks.endsWith","checks.minLength","checks.maxLength","checks.length","checks.lowercase","checks.uppercase","checks.trim","checks.normalize","checks.toLowerCase","checks.toUpperCase","checks.slugify","core._email","core._url","core._jwt","core._emoji","core._guid","core._uuid","core._uuidv4","core._uuidv6","core._uuidv7","core._nanoid","core._cuid","core._cuid2","core._ulid","core._base64","core._base64url","core._xid","core._ksuid","core._ipv4","core._ipv6","core._cidrv4","core._cidrv6","core._e164","iso.datetime","iso.date","iso.time","iso.duration","core._string","processors.numberProcessor","checks.gt","checks.gte","checks.lt","checks.lte","checks.multipleOf","core._number","core._int","processors.booleanProcessor","core._boolean","processors.anyProcessor","core._any","processors.unknownProcessor","core._unknown","processors.neverProcessor","core._never","processors.dateProcessor","core._date","processors.arrayProcessor","core._array","processors.objectProcessor","util.extend","util.safeExtend","util.merge","util.pick","util.omit","util.partial","util.required","util.normalizeParams","processors.unionProcessor","processors.intersectionProcessor","processors.tupleProcessor","core.$ZodType","processors.recordProcessor","processors.enumProcessor","processors.transformProcessor","core.$ZodEncodeError","issue","util.issue","processors.optionalProcessor","processors.nullableProcessor","processors.defaultProcessor","util.shallowClone","processors.prefaultProcessor","processors.nonoptionalProcessor","processors.catchProcessor","processors.pipeProcessor","processors.readonlyProcessor","processors.customProcessor","core._refine","core._superRefine","ecma14BinaryProperties","z.enum","z.string","z.number","z.object","z.boolean","z.any","z.tuple","z.array","z.union","z.record","z.unknown","z.date"],"sources":["../../__vite-browser-external","../../../../node_modules/clawpdf/dist/vendor/pdfium.esm.js","../../../../node_modules/clawpdf/dist/constants.js","../../../../node_modules/clawpdf/dist/errors.js","../../../../node_modules/clawpdf/dist/render.js","../../../../node_modules/clawpdf/dist/extract.js","../../../../node_modules/clawpdf/dist/png.js","../../../../node_modules/clawpdf/dist/page.js","../../../../node_modules/clawpdf/dist/document.js","../../../../node_modules/clawpdf/dist/input.js","../../../../node_modules/clawpdf/dist/engine.js","../../../../node_modules/clawpdf/dist/index.js","../../../../node_modules/clawpdf/dist/browser.js","../../src/pdf2img.ts","../../../../node_modules/zod/v4/core/core.js","../../../../node_modules/zod/v4/core/util.js","../../../../node_modules/zod/v4/core/errors.js","../../../../node_modules/zod/v4/core/parse.js","../../../../node_modules/zod/v4/core/regexes.js","../../../../node_modules/zod/v4/core/checks.js","../../../../node_modules/zod/v4/core/doc.js","../../../../node_modules/zod/v4/core/versions.js","../../../../node_modules/zod/v4/core/schemas.js","../../../../node_modules/zod/v4/core/registries.js","../../../../node_modules/zod/v4/core/api.js","../../../../node_modules/zod/v4/core/to-json-schema.js","../../../../node_modules/zod/v4/core/json-schema-processors.js","../../../../node_modules/zod/v4/classic/iso.js","../../../../node_modules/zod/v4/classic/errors.js","../../../../node_modules/zod/v4/classic/parse.js","../../../../node_modules/zod/v4/classic/schemas.js","../../../../node_modules/base64-js/index.js","../../../../node_modules/ieee754/index.js","../../../../node_modules/buffer/index.js","../../../../node_modules/acorn/dist/acorn.mjs","../../../common/dist/index.js","../../src/pdf2size.ts","../../src/clawpdf-worker.ts"],"sourcesContent":["module.exports = {}","var PDFiumModule = (() => {\n \n return (\nasync function(moduleArg = {}) {\n var moduleRtn;\n\nvar Module=moduleArg;var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!=\"undefined\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&process.versions?.node&&process.type!=\"renderer\";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){const{createRequire}=await import(\"module\");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){const isNode=typeof process==\"object\"&&process.versions?.node&&process.type!=\"renderer\";if(!isNode)throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(\".\").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split(\"-\")[0]*1;if(numericVersion<16e4){throw new Error(\"This emscripten-generated code requires node v16.0.0 (detected v\"+nodeVersion+\")\")}var fs=require(\"fs\");if(_scriptName.startsWith(\"file:\")){scriptDirectory=require(\"path\").dirname(require(\"url\").fileURLToPath(_scriptName))+\"/\"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);assert(Buffer.isBuffer(ret));return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:\"utf8\");assert(binary?Buffer.isBuffer(ret):typeof ret==\"string\");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_SHELL){const isNode=typeof process==\"object\"&&process.versions?.node&&process.type!=\"renderer\";if(isNode||typeof window==\"object\"||typeof WorkerGlobalScope!=\"undefined\")throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(\".\",_scriptName).href}catch{}if(!(typeof window==\"object\"||typeof WorkerGlobalScope!=\"undefined\"))throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:\"same-origin\"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+\" : \"+response.url)}}}else{throw new Error(\"environment detection error\")}var out=console.log.bind(console);var err=console.error.bind(console);assert(!ENVIRONMENT_IS_SHELL,\"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.\");var wasmBinary;if(typeof WebAssembly!=\"object\"){err(\"no native wasm support detected\")}var ABORT=false;function assert(condition,text){if(!condition){abort(\"Assertion failed\"+(text?\": \"+text:\"\"))}}var isFileURI=filename=>filename.startsWith(\"file://\");function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort(\"Runtime error: The application has corrupted its heap memory area (address zero)!\")}}var runtimeDebug=true;(()=>{var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw\"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)\"})();function consumedModuleProp(prop){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,set(){abort(`Attempt to set \\`Module.${prop}\\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`)}})}}function makeInvalidEarlyAccess(name){return()=>assert(false,`call to '${name}' via reference taken before Wasm module initialization`)}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\\`Module.${prop}\\` was supplied but \\`${prop}\\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name===\"FS_createPath\"||name===\"FS_createDataFile\"||name===\"FS_createPreloadedFile\"||name===\"FS_unlink\"||name===\"addRunDependency\"||name===\"FS_createLazyFile\"||name===\"FS_createDevice\"||name===\"removeRunDependency\"}function hookGlobalSymbolAccess(sym,func){if(typeof globalThis!=\"undefined\"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){func();return undefined}})}}function missingGlobal(sym,msg){hookGlobalSymbolAccess(sym,()=>{warnOnce(`\\`${sym}\\` is not longer defined by emscripten. ${msg}`)})}missingGlobal(\"buffer\",\"Please use HEAP8.buffer or wasmMemory.buffer\");missingGlobal(\"asm\",\"Please use wasmExports instead\");function missingLibrarySymbol(sym){hookGlobalSymbolAccess(sym,()=>{var msg=`\\`${sym}\\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith(\"_\")){librarySymbol=\"$\"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}warnOnce(msg)});unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}abort(msg)}})}}var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}assert(typeof Int32Array!=\"undefined\"&&typeof Float64Array!==\"undefined\"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,\"JS engine does not provide full typed array support\");function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}consumedModuleProp(\"preRun\");callRuntimeCallbacks(onPreRuns)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();if(!Module[\"noFSInit\"]&&!FS.initialized)FS.init();TTY.init();wasmExports[\"__wasm_call_ctors\"]();FS.ignorePermissions=false}function postRun(){checkStackCookie();if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}consumedModuleProp(\"postRun\");callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;var runDependencyTracking={};var runDependencyWatcher=null;function addRunDependency(id){runDependencies++;Module[\"monitorRunDependencies\"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=\"undefined\"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err(\"still waiting on run dependencies:\")}err(`dependency: ${dep}`)}if(shown){err(\"(end of list)\")}},1e4)}}else{err(\"warning: run dependency added without ID\")}}function removeRunDependency(id){runDependencies--;Module[\"monitorRunDependencies\"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err(\"warning: run dependency removed without ID\")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module[\"onAbort\"]?.(what);what=\"Aborted(\"+what+\")\";err(what);ABORT=true;var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \\`${name}\\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \\`${name}\\` not found`);assert(args.length<=nargs,`native function \\`${name}\\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}var wasmBinaryFile;function findWasmBinary(){if(Module[\"locateFile\"]){return locateFile(\"pdfium.esm.wasm\")}return new URL(\"pdfium.esm.wasm\",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;Module[\"wasmExports\"]=wasmExports;wasmMemory=wasmExports[\"memory\"];assert(wasmMemory,\"memory not found in wasm exports\");updateMemoryViews();wasmTable=wasmExports[\"__indirect_function_table\"];assert(wasmTable,\"table not found in wasm exports\");assignWasmExports(wasmExports);removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,\"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?\");trueModule=null;return receiveInstance(result[\"instance\"])}var info=getWasmImports();if(Module[\"instantiateWasm\"]){return new Promise((resolve,reject)=>{try{Module[\"instantiateWasm\"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);reject(e)}})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var ptrToString=ptr=>{assert(typeof ptr===\"number\");ptr>>>=0;return\"0x\"+ptr.toString(16).padStart(8,\"0\")};function setValue(ptr,value,type=\"i8\"){if(type.endsWith(\"*\"))type=\"*\";switch(type){case\"i1\":HEAP8[ptr]=value;break;case\"i8\":HEAP8[ptr]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":HEAP64[ptr>>3]=BigInt(value);break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;case\"*\":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text=\"warning: \"+text;err(text)}};var syscallGetVarargI=()=>{assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;var PATH={isAbs:path=>path.charAt(0)===\"/\",splitPath:filename=>{var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(p=>!!p),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\\/]+|\\/)\\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join(\"/\")),join2:(l,r)=>PATH.normalize(l+\"/\"+r)};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require(\"crypto\");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath=\"\",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!=\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter(p=>!!p),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")}};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce(\"Invalid UTF-8 leading byte \"+ptrToString(u0)+\" encountered when deserializing a UTF-8 string in wasm memory to a JS string!\");u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str===\"string\",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce(\"Invalid Unicode code point \"+ptrToString(u)+\" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).\");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes(\"EOF\"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString(\"utf-8\")}}else if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}},default_tty_ops:{get_char(tty){return FS_stdin_getChar()},put_char(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>{assert(alignment,\"alignment argument is required\");return Math.ceil(size/alignment)*alignment};var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,\"/\",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of[\"mode\",\"atime\",\"mtime\",\"ctime\"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[\".\",\"..\",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write(stream,buffer,offset,length,position,canOwn){assert(!(buffer instanceof ArrayBuffer));if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,\"canOwn must imply no weird position inside the file\");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}HEAP8.set(contents,ptr)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);assert(arrayBuffer,`Loading data file \"${url}\" failed (no arrayBuffer).`);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>{var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}};var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!=\"undefined\")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,\"r+\":2,w:512|64|1,\"w+\":512|64|2,a:1024|64|1,\"a+\":1024|64|2};var flags=flagModes[str];if(typeof flags==\"undefined\"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr==\"number\",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"};var strError=errno=>UTF8ToString(_strerror(errno));var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class extends Error{name=\"ErrnoError\";constructor(errno){super(runtimeInitialized?strError(errno):\"\");this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+\"/\"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split(\"/\").filter(p=>!!p);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}if(parts[i]===\".\"){continue}if(parts[i]===\"..\"){current_path=PATH.dirname(current_path);if(FS.isRoot(current)){path=current_path+\"/\"+parts.slice(i+1).join(\"/\");continue linkloop}else{current=current.parent}continue}current_path=PATH.join2(current_path,parts[i]);try{current=FS.lookupNode(current,parts[i])}catch(e){if(e?.errno===44&&islast&&opts.noent_okay){return{path:current_path}}throw e}if(FS.isMountpoint(current)&&(!islast||opts.follow_mount)){current=current.mounted.root}if(FS.isLink(current.mode)&&(!islast||opts.follow)){if(!current.node_ops.readlink){throw new FS.ErrnoError(52)}var link=current.node_ops.readlink(current);if(!PATH.isAbs(link)){link=PATH.dirname(current_path)+\"/\"+link}path=link+\"/\"+parts.slice(i+1).join(\"/\");continue linkloop}}return{path:current_path,node:current}}throw new FS.ErrnoError(32)},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent==\"object\");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes(\"r\")&&!(node.mode&292)){return 2}else if(perms.includes(\"w\")&&!(node.mode&146)){return 2}else if(perms.includes(\"x\")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,\"x\");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,\"wx\")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,\"wx\");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&(512|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate==\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type==\"string\"){throw type}var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name===\".\"||name===\"..\"){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split(\"/\");var d=\"\";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+=\"/\";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev==\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===\"\"){throw new FS.ErrnoError(44)}flags=typeof flags==\"string\"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path==\"object\"){node=path}else{isDirPath=path.endsWith(\"/\");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error(`Invalid encoding type \"${opts.encoding}\"`)}var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==\"string\"){data=new Uint8Array(intArrayFromString(data,true))}if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,\"x\");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")},createDefaultDevices(){FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice(\"/dev\",\"random\",randomByte);FS.createDevice(\"/dev\",\"urandom\",randomByte);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories(){FS.mkdir(\"/proc\");var proc_self=FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount(){var node=FS.createNode(proc_self,\"fd\",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},\"/proc/self/fd\")},createStandardStreams(input,output,error){if(input){FS.createDevice(\"/dev\",\"stdin\",input)}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(output){FS.createDevice(\"/dev\",\"stdout\",null,output)}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(error){FS.createDevice(\"/dev\",\"stderr\",null,error)}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",0);var stdout=FS.open(\"/dev/stdout\",1);var stderr=FS.open(\"/dev/stderr\",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){assert(!FS.initialized,\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\");FS.initialized=true;input??=Module[\"stdin\"];output??=Module[\"stdout\"];error??=Module[\"stderr\"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;_fflush(0);for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent==\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent==\"string\"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else{try{obj.contents=readBinary(obj.url);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}},createLazyFile(parent,name,url,canRead,canWrite){class LazyUint8Array{lengthKnown=false;chunks=[];get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||\"\",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!=\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort(\"FS.absolutePath has been removed; use PATH_FS.resolve instead\")},createFolder(){abort(\"FS.createFolder has been removed; use FS.mkdir instead\")},createLink(){abort(\"FS.createLink has been removed; use FS.symlink instead\")},joinPath(){abort(\"FS.joinPath has been removed; use PATH.join instead\")},mmapAlloc(){abort(\"FS.mmapAlloc has been replaced by the top level function mmapAlloc\")},standardizePath(){abort(\"FS.standardizePath has been removed; use PATH.normalize instead\")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+\"/\"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite==\"number\",\"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx<endIdx;idx++){var id;var type;var name=stream.getdents[idx];if(name===\".\"){id=stream.node.id;type=4}else if(name===\"..\"){var lookup=FS.lookupPath(stream.path,{parent:true});id=lookup.node.id;type=4}else{var child;try{child=FS.lookupNode(stream.node,name)}catch(e){if(e?.errno===28){continue}throw e}id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}assert(id);HEAP64[dirp+pos>>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(!flags){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{return-28}return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}var __abort_js=()=>abort(\"native code called abort()\");var __emscripten_throw_longjmp=()=>{throw Infinity};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?\"-\":\"+\";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,\"0\");var minutes=String(absOffset%60).padStart(2,\"0\");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.language||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break;if(typeof offset!=\"undefined\"){offset+=curr}}return ret};function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len){break}if(typeof offset!=\"undefined\"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}assert(wasmTable.get(funcPtr)==func,\"JavaScript-side Wasm function table mirror is out of date!\");return func};var getCFunc=ident=>{var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func};var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,\"writeArrayToMemory array must have a length (should be an array or typed array)\");HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!==\"array\",'Return type should not be \"array\".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>(...args)=>ccall(ident,returnType,argTypes,args,opts);var uleb128Encode=(n,target)=>{assert(n<16384);if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:\"i32\",j:\"i64\",f:\"f32\",d:\"f64\",e:\"externref\",p:\"i32\"};var type={parameters:[],results:sig[0]==\"v\"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){assert(sig[i]in typeNames,\"invalid signature char: \"+sig[i]);type.parameters.push(typeNames[sig[i]])}return type};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){assert(paramType in typeCodes,`invalid signature char: ${paramType}`);target.push(typeCodes[paramType])}if(sigRet==\"v\"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function==\"function\"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports[\"f\"];return wrappedFunc};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i<offset+count;i++){var item=getWasmTableEntry(i);if(item){functionsInTableMap.set(item,i)}}}};var functionsInTableMap;var getFunctionAddress=func=>{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw\"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.\"}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{assert(typeof func!=\"undefined\");var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}assert(typeof sig!=\"undefined\",\"Missing signature argument to addFunction: \"+func);var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var FS_createPath=(...args)=>FS.createPath(...args);var FS_unlink=(...args)=>FS.unlink(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();{if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(Module[\"preloadPlugins\"])preloadPlugins=Module[\"preloadPlugins\"];if(Module[\"print\"])out=Module[\"print\"];if(Module[\"printErr\"])err=Module[\"printErr\"];if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];checkIncomingModuleAPI();if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];assert(typeof Module[\"memoryInitializerPrefixURL\"]==\"undefined\",\"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"pthreadMainPrefixURL\"]==\"undefined\",\"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"cdInitializerPrefixURL\"]==\"undefined\",\"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"filePackagePrefixURL\"]==\"undefined\",\"Module.filePackagePrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"read\"]==\"undefined\",\"Module.read option was removed\");assert(typeof Module[\"readAsync\"]==\"undefined\",\"Module.readAsync option was removed (modify readAsync in JS)\");assert(typeof Module[\"readBinary\"]==\"undefined\",\"Module.readBinary option was removed (modify readBinary in JS)\");assert(typeof Module[\"setWindowTitle\"]==\"undefined\",\"Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)\");assert(typeof Module[\"TOTAL_MEMORY\"]==\"undefined\",\"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY\");assert(typeof Module[\"ENVIRONMENT\"]==\"undefined\",\"Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)\");assert(typeof Module[\"STACK_SIZE\"]==\"undefined\",\"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time\");assert(typeof Module[\"wasmMemory\"]==\"undefined\",\"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally\");assert(typeof Module[\"INITIAL_MEMORY\"]==\"undefined\",\"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically\")}Module[\"addRunDependency\"]=addRunDependency;Module[\"removeRunDependency\"]=removeRunDependency;Module[\"wasmExports\"]=wasmExports;Module[\"ccall\"]=ccall;Module[\"cwrap\"]=cwrap;Module[\"addFunction\"]=addFunction;Module[\"removeFunction\"]=removeFunction;Module[\"setValue\"]=setValue;Module[\"FS_createPreloadedFile\"]=FS_createPreloadedFile;Module[\"FS_unlink\"]=FS_unlink;Module[\"FS_createPath\"]=FS_createPath;Module[\"FS_createDevice\"]=FS_createDevice;Module[\"FS\"]=FS;Module[\"FS_createDataFile\"]=FS_createDataFile;Module[\"FS_createLazyFile\"]=FS_createLazyFile;var missingLibrarySymbols=[\"writeI53ToI64\",\"writeI53ToI64Clamped\",\"writeI53ToI64Signaling\",\"writeI53ToU64Clamped\",\"writeI53ToU64Signaling\",\"readI53FromI64\",\"readI53FromU64\",\"convertI32PairToI53\",\"convertI32PairToI53Checked\",\"convertU32PairToI53\",\"getTempRet0\",\"setTempRet0\",\"exitJS\",\"withStackSave\",\"inetPton4\",\"inetNtop4\",\"inetPton6\",\"inetNtop6\",\"readSockaddr\",\"writeSockaddr\",\"emscriptenLog\",\"readEmAsmArgs\",\"jstoi_q\",\"autoResumeAudioContext\",\"getDynCaller\",\"dynCall\",\"handleException\",\"keepRuntimeAlive\",\"runtimeKeepalivePush\",\"runtimeKeepalivePop\",\"callUserCallback\",\"maybeExit\",\"asmjsMangle\",\"HandleAllocator\",\"getNativeTypeSize\",\"addOnInit\",\"addOnPostCtor\",\"addOnPreMain\",\"addOnExit\",\"STACK_SIZE\",\"STACK_ALIGN\",\"POINTER_SIZE\",\"ASSERTIONS\",\"reallyNegative\",\"unSign\",\"strLen\",\"reSign\",\"formatString\",\"intArrayToString\",\"AsciiToString\",\"stringToAscii\",\"UTF16ToString\",\"stringToUTF16\",\"lengthBytesUTF16\",\"UTF32ToString\",\"stringToUTF32\",\"lengthBytesUTF32\",\"stringToNewUTF8\",\"registerKeyEventCallback\",\"maybeCStringToJsString\",\"findEventTarget\",\"getBoundingClientRect\",\"fillMouseEventData\",\"registerMouseEventCallback\",\"registerWheelEventCallback\",\"registerUiEventCallback\",\"registerFocusEventCallback\",\"fillDeviceOrientationEventData\",\"registerDeviceOrientationEventCallback\",\"fillDeviceMotionEventData\",\"registerDeviceMotionEventCallback\",\"screenOrientation\",\"fillOrientationChangeEventData\",\"registerOrientationChangeEventCallback\",\"fillFullscreenChangeEventData\",\"registerFullscreenChangeEventCallback\",\"JSEvents_requestFullscreen\",\"JSEvents_resizeCanvasForFullscreen\",\"registerRestoreOldStyle\",\"hideEverythingExceptGivenElement\",\"restoreHiddenElements\",\"setLetterbox\",\"softFullscreenResizeWebGLRenderTarget\",\"doRequestFullscreen\",\"fillPointerlockChangeEventData\",\"registerPointerlockChangeEventCallback\",\"registerPointerlockErrorEventCallback\",\"requestPointerLock\",\"fillVisibilityChangeEventData\",\"registerVisibilityChangeEventCallback\",\"registerTouchEventCallback\",\"fillGamepadEventData\",\"registerGamepadEventCallback\",\"registerBeforeUnloadEventCallback\",\"fillBatteryEventData\",\"battery\",\"registerBatteryEventCallback\",\"setCanvasElementSize\",\"getCanvasElementSize\",\"jsStackTrace\",\"getCallstack\",\"convertPCtoSourceLocation\",\"checkWasiClock\",\"wasiRightsToMuslOFlags\",\"wasiOFlagsToMuslOFlags\",\"safeSetTimeout\",\"setImmediateWrapped\",\"safeRequestAnimationFrame\",\"clearImmediateWrapped\",\"registerPostMainLoop\",\"registerPreMainLoop\",\"getPromise\",\"makePromise\",\"idsToPromises\",\"makePromiseCallback\",\"ExceptionInfo\",\"findMatchingCatch\",\"Browser_asyncPrepareDataCounter\",\"arraySum\",\"addDays\",\"getSocketFromFD\",\"getSocketAddress\",\"FS_mkdirTree\",\"_setNetworkCallback\",\"heapObjectForWebGLType\",\"toTypedArrayIndex\",\"webgl_enable_ANGLE_instanced_arrays\",\"webgl_enable_OES_vertex_array_object\",\"webgl_enable_WEBGL_draw_buffers\",\"webgl_enable_WEBGL_multi_draw\",\"webgl_enable_EXT_polygon_offset_clamp\",\"webgl_enable_EXT_clip_control\",\"webgl_enable_WEBGL_polygon_mode\",\"emscriptenWebGLGet\",\"computeUnpackAlignedImageSize\",\"colorChannelsInGlTextureFormat\",\"emscriptenWebGLGetTexPixelData\",\"emscriptenWebGLGetUniform\",\"webglGetUniformLocation\",\"webglPrepareUniformLocationsBeforeFirstUse\",\"webglGetLeftBracePos\",\"emscriptenWebGLGetVertexAttrib\",\"__glGetActiveAttribOrUniform\",\"writeGLArray\",\"registerWebGlEventCallback\",\"runAndAbortIfError\",\"ALLOC_NORMAL\",\"ALLOC_STACK\",\"allocate\",\"writeStringToMemory\",\"writeAsciiToMemory\",\"demangle\",\"stackTrace\"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=[\"run\",\"out\",\"err\",\"callMain\",\"abort\",\"wasmMemory\",\"HEAP64\",\"HEAPU64\",\"writeStackCookie\",\"checkStackCookie\",\"INT53_MAX\",\"INT53_MIN\",\"bigintToI53Checked\",\"stackSave\",\"stackRestore\",\"stackAlloc\",\"ptrToString\",\"zeroMemory\",\"getHeapMax\",\"growMemory\",\"ENV\",\"ERRNO_CODES\",\"strError\",\"DNS\",\"Protocols\",\"Sockets\",\"timers\",\"warnOnce\",\"readEmAsmArgsArray\",\"getExecutableName\",\"asyncLoad\",\"alignMemory\",\"mmapAlloc\",\"wasmTable\",\"getUniqueRunDependency\",\"noExitRuntime\",\"addOnPreRun\",\"addOnPostRun\",\"uleb128Encode\",\"sigToWasmTypes\",\"generateFuncType\",\"convertJsFunctionToWasm\",\"freeTableIndexes\",\"functionsInTableMap\",\"getEmptyTableSlot\",\"updateTableMap\",\"getFunctionAddress\",\"getValue\",\"PATH\",\"PATH_FS\",\"UTF8Decoder\",\"UTF8ArrayToString\",\"UTF8ToString\",\"stringToUTF8Array\",\"stringToUTF8\",\"lengthBytesUTF8\",\"intArrayFromString\",\"UTF16Decoder\",\"stringToUTF8OnStack\",\"writeArrayToMemory\",\"JSEvents\",\"specialHTMLTargets\",\"findCanvasEventTarget\",\"currentFullscreenStrategy\",\"restoreOldWindowedStyle\",\"UNWIND_CACHE\",\"ExitStatus\",\"getEnvStrings\",\"doReadv\",\"doWritev\",\"initRandomFill\",\"randomFill\",\"emSetImmediate\",\"emClearImmediate_deps\",\"emClearImmediate\",\"promiseMap\",\"uncaughtExceptionCount\",\"exceptionLast\",\"exceptionCaught\",\"Browser\",\"requestFullscreen\",\"requestFullScreen\",\"setCanvasSize\",\"getUserMedia\",\"createContext\",\"getPreloadedImageData__data\",\"wget\",\"MONTH_DAYS_REGULAR\",\"MONTH_DAYS_LEAP\",\"MONTH_DAYS_REGULAR_CUMULATIVE\",\"MONTH_DAYS_LEAP_CUMULATIVE\",\"isLeapYear\",\"ydayFromDate\",\"SYSCALLS\",\"preloadPlugins\",\"FS_modeStringToFlags\",\"FS_getMode\",\"FS_stdin_getChar_buffer\",\"FS_stdin_getChar\",\"FS_readFile\",\"FS_root\",\"FS_mounts\",\"FS_devices\",\"FS_streams\",\"FS_nextInode\",\"FS_nameTable\",\"FS_currentPath\",\"FS_initialized\",\"FS_ignorePermissions\",\"FS_filesystems\",\"FS_syncFSRequests\",\"FS_readFiles\",\"FS_lookupPath\",\"FS_getPath\",\"FS_hashName\",\"FS_hashAddNode\",\"FS_hashRemoveNode\",\"FS_lookupNode\",\"FS_createNode\",\"FS_destroyNode\",\"FS_isRoot\",\"FS_isMountpoint\",\"FS_isFile\",\"FS_isDir\",\"FS_isLink\",\"FS_isChrdev\",\"FS_isBlkdev\",\"FS_isFIFO\",\"FS_isSocket\",\"FS_flagsToPermissionString\",\"FS_nodePermissions\",\"FS_mayLookup\",\"FS_mayCreate\",\"FS_mayDelete\",\"FS_mayOpen\",\"FS_checkOpExists\",\"FS_nextfd\",\"FS_getStreamChecked\",\"FS_getStream\",\"FS_createStream\",\"FS_closeStream\",\"FS_dupStream\",\"FS_doSetAttr\",\"FS_chrdev_stream_ops\",\"FS_major\",\"FS_minor\",\"FS_makedev\",\"FS_registerDevice\",\"FS_getDevice\",\"FS_getMounts\",\"FS_syncfs\",\"FS_mount\",\"FS_unmount\",\"FS_lookup\",\"FS_mknod\",\"FS_statfs\",\"FS_statfsStream\",\"FS_statfsNode\",\"FS_create\",\"FS_mkdir\",\"FS_mkdev\",\"FS_symlink\",\"FS_rename\",\"FS_rmdir\",\"FS_readdir\",\"FS_readlink\",\"FS_stat\",\"FS_fstat\",\"FS_lstat\",\"FS_doChmod\",\"FS_chmod\",\"FS_lchmod\",\"FS_fchmod\",\"FS_doChown\",\"FS_chown\",\"FS_lchown\",\"FS_fchown\",\"FS_doTruncate\",\"FS_truncate\",\"FS_ftruncate\",\"FS_utime\",\"FS_open\",\"FS_close\",\"FS_isClosed\",\"FS_llseek\",\"FS_read\",\"FS_write\",\"FS_mmap\",\"FS_msync\",\"FS_ioctl\",\"FS_writeFile\",\"FS_cwd\",\"FS_chdir\",\"FS_createDefaultDirectories\",\"FS_createDefaultDevices\",\"FS_createSpecialDirectories\",\"FS_createStandardStreams\",\"FS_staticInit\",\"FS_init\",\"FS_quit\",\"FS_findObject\",\"FS_analyzePath\",\"FS_createFile\",\"FS_forceLoadFile\",\"FS_absolutePath\",\"FS_createFolder\",\"FS_createLink\",\"FS_joinPath\",\"FS_mmapAlloc\",\"FS_standardizePath\",\"MEMFS\",\"TTY\",\"PIPEFS\",\"SOCKFS\",\"tempFixedLengthArray\",\"miniTempWebGLFloatBuffers\",\"miniTempWebGLIntBuffers\",\"GL\",\"AL\",\"GLUT\",\"EGL\",\"GLEW\",\"IDBStore\",\"SDL\",\"SDL_gfx\",\"allocateUTF8\",\"allocateUTF8OnStack\",\"print\",\"printErr\",\"jstoi_s\"];unexportedSymbols.forEach(unexportedRuntimeSymbol);function checkIncomingModuleAPI(){ignoredModuleProp(\"fetchSettings\")}var _PDFium_Init=Module[\"_PDFium_Init\"]=makeInvalidEarlyAccess(\"_PDFium_Init\");var _FPDF_InitLibraryWithConfig=Module[\"_FPDF_InitLibraryWithConfig\"]=makeInvalidEarlyAccess(\"_FPDF_InitLibraryWithConfig\");var _FPDFAnnot_IsSupportedSubtype=Module[\"_FPDFAnnot_IsSupportedSubtype\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_IsSupportedSubtype\");var _FPDFPage_CreateAnnot=Module[\"_FPDFPage_CreateAnnot\"]=makeInvalidEarlyAccess(\"_FPDFPage_CreateAnnot\");var _FPDFPage_GetAnnotCount=Module[\"_FPDFPage_GetAnnotCount\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetAnnotCount\");var _FPDFPage_GetAnnot=Module[\"_FPDFPage_GetAnnot\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetAnnot\");var _FPDFPage_GetAnnotIndex=Module[\"_FPDFPage_GetAnnotIndex\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetAnnotIndex\");var _FPDFPage_CloseAnnot=Module[\"_FPDFPage_CloseAnnot\"]=makeInvalidEarlyAccess(\"_FPDFPage_CloseAnnot\");var _FPDFPage_RemoveAnnot=Module[\"_FPDFPage_RemoveAnnot\"]=makeInvalidEarlyAccess(\"_FPDFPage_RemoveAnnot\");var _FPDFAnnot_GetSubtype=Module[\"_FPDFAnnot_GetSubtype\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetSubtype\");var _FPDFAnnot_IsObjectSupportedSubtype=Module[\"_FPDFAnnot_IsObjectSupportedSubtype\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_IsObjectSupportedSubtype\");var _FPDFAnnot_UpdateObject=Module[\"_FPDFAnnot_UpdateObject\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_UpdateObject\");var _FPDFAnnot_AddInkStroke=Module[\"_FPDFAnnot_AddInkStroke\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_AddInkStroke\");var _FPDFAnnot_RemoveInkList=Module[\"_FPDFAnnot_RemoveInkList\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_RemoveInkList\");var _FPDFAnnot_AppendObject=Module[\"_FPDFAnnot_AppendObject\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_AppendObject\");var _FPDFAnnot_GetObjectCount=Module[\"_FPDFAnnot_GetObjectCount\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetObjectCount\");var _FPDFAnnot_GetObject=Module[\"_FPDFAnnot_GetObject\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetObject\");var _FPDFAnnot_RemoveObject=Module[\"_FPDFAnnot_RemoveObject\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_RemoveObject\");var _FPDFAnnot_SetColor=Module[\"_FPDFAnnot_SetColor\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetColor\");var _FPDFAnnot_GetColor=Module[\"_FPDFAnnot_GetColor\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetColor\");var _FPDFAnnot_HasAttachmentPoints=Module[\"_FPDFAnnot_HasAttachmentPoints\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_HasAttachmentPoints\");var _FPDFAnnot_SetAttachmentPoints=Module[\"_FPDFAnnot_SetAttachmentPoints\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetAttachmentPoints\");var _FPDFAnnot_AppendAttachmentPoints=Module[\"_FPDFAnnot_AppendAttachmentPoints\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_AppendAttachmentPoints\");var _FPDFAnnot_CountAttachmentPoints=Module[\"_FPDFAnnot_CountAttachmentPoints\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_CountAttachmentPoints\");var _FPDFAnnot_GetAttachmentPoints=Module[\"_FPDFAnnot_GetAttachmentPoints\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetAttachmentPoints\");var _FPDFAnnot_SetRect=Module[\"_FPDFAnnot_SetRect\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetRect\");var _FPDFAnnot_GetRect=Module[\"_FPDFAnnot_GetRect\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetRect\");var _FPDFAnnot_GetVertices=Module[\"_FPDFAnnot_GetVertices\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetVertices\");var _FPDFAnnot_GetInkListCount=Module[\"_FPDFAnnot_GetInkListCount\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetInkListCount\");var _FPDFAnnot_GetInkListPath=Module[\"_FPDFAnnot_GetInkListPath\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetInkListPath\");var _FPDFAnnot_GetLine=Module[\"_FPDFAnnot_GetLine\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetLine\");var _FPDFAnnot_SetBorder=Module[\"_FPDFAnnot_SetBorder\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetBorder\");var _FPDFAnnot_GetBorder=Module[\"_FPDFAnnot_GetBorder\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetBorder\");var _FPDFAnnot_HasKey=Module[\"_FPDFAnnot_HasKey\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_HasKey\");var _FPDFAnnot_GetValueType=Module[\"_FPDFAnnot_GetValueType\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetValueType\");var _FPDFAnnot_SetStringValue=Module[\"_FPDFAnnot_SetStringValue\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetStringValue\");var _FPDFAnnot_GetStringValue=Module[\"_FPDFAnnot_GetStringValue\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetStringValue\");var _FPDFAnnot_GetNumberValue=Module[\"_FPDFAnnot_GetNumberValue\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetNumberValue\");var _FPDFAnnot_SetAP=Module[\"_FPDFAnnot_SetAP\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetAP\");var _FPDFAnnot_GetAP=Module[\"_FPDFAnnot_GetAP\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetAP\");var _FPDFAnnot_GetLinkedAnnot=Module[\"_FPDFAnnot_GetLinkedAnnot\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetLinkedAnnot\");var _FPDFAnnot_GetFlags=Module[\"_FPDFAnnot_GetFlags\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFlags\");var _FPDFAnnot_SetFlags=Module[\"_FPDFAnnot_SetFlags\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetFlags\");var _FPDFAnnot_GetFormFieldFlags=Module[\"_FPDFAnnot_GetFormFieldFlags\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormFieldFlags\");var _FPDFAnnot_SetFormFieldFlags=Module[\"_FPDFAnnot_SetFormFieldFlags\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetFormFieldFlags\");var _FPDFAnnot_GetFormFieldAtPoint=Module[\"_FPDFAnnot_GetFormFieldAtPoint\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormFieldAtPoint\");var _FPDFAnnot_GetFormFieldName=Module[\"_FPDFAnnot_GetFormFieldName\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormFieldName\");var _FPDFAnnot_GetFormFieldType=Module[\"_FPDFAnnot_GetFormFieldType\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormFieldType\");var _FPDFAnnot_GetFormAdditionalActionJavaScript=Module[\"_FPDFAnnot_GetFormAdditionalActionJavaScript\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormAdditionalActionJavaScript\");var _FPDFAnnot_GetFormFieldAlternateName=Module[\"_FPDFAnnot_GetFormFieldAlternateName\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormFieldAlternateName\");var _FPDFAnnot_GetFormFieldValue=Module[\"_FPDFAnnot_GetFormFieldValue\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormFieldValue\");var _FPDFAnnot_GetOptionCount=Module[\"_FPDFAnnot_GetOptionCount\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetOptionCount\");var _FPDFAnnot_GetOptionLabel=Module[\"_FPDFAnnot_GetOptionLabel\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetOptionLabel\");var _FPDFAnnot_IsOptionSelected=Module[\"_FPDFAnnot_IsOptionSelected\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_IsOptionSelected\");var _FPDFAnnot_GetFontSize=Module[\"_FPDFAnnot_GetFontSize\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFontSize\");var _FPDFAnnot_SetFontColor=Module[\"_FPDFAnnot_SetFontColor\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetFontColor\");var _FPDFAnnot_GetFontColor=Module[\"_FPDFAnnot_GetFontColor\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFontColor\");var _FPDFAnnot_IsChecked=Module[\"_FPDFAnnot_IsChecked\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_IsChecked\");var _FPDFAnnot_SetFocusableSubtypes=Module[\"_FPDFAnnot_SetFocusableSubtypes\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetFocusableSubtypes\");var _FPDFAnnot_GetFocusableSubtypesCount=Module[\"_FPDFAnnot_GetFocusableSubtypesCount\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFocusableSubtypesCount\");var _FPDFAnnot_GetFocusableSubtypes=Module[\"_FPDFAnnot_GetFocusableSubtypes\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFocusableSubtypes\");var _FPDFAnnot_GetLink=Module[\"_FPDFAnnot_GetLink\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetLink\");var _FPDFAnnot_GetFormControlCount=Module[\"_FPDFAnnot_GetFormControlCount\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormControlCount\");var _FPDFAnnot_GetFormControlIndex=Module[\"_FPDFAnnot_GetFormControlIndex\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormControlIndex\");var _FPDFAnnot_GetFormFieldExportValue=Module[\"_FPDFAnnot_GetFormFieldExportValue\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFormFieldExportValue\");var _FPDFAnnot_SetURI=Module[\"_FPDFAnnot_SetURI\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_SetURI\");var _FPDFAnnot_GetFileAttachment=Module[\"_FPDFAnnot_GetFileAttachment\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_GetFileAttachment\");var _FPDFAnnot_AddFileAttachment=Module[\"_FPDFAnnot_AddFileAttachment\"]=makeInvalidEarlyAccess(\"_FPDFAnnot_AddFileAttachment\");var _FPDFDoc_GetAttachmentCount=Module[\"_FPDFDoc_GetAttachmentCount\"]=makeInvalidEarlyAccess(\"_FPDFDoc_GetAttachmentCount\");var _FPDFDoc_AddAttachment=Module[\"_FPDFDoc_AddAttachment\"]=makeInvalidEarlyAccess(\"_FPDFDoc_AddAttachment\");var _FPDFDoc_GetAttachment=Module[\"_FPDFDoc_GetAttachment\"]=makeInvalidEarlyAccess(\"_FPDFDoc_GetAttachment\");var _FPDFDoc_DeleteAttachment=Module[\"_FPDFDoc_DeleteAttachment\"]=makeInvalidEarlyAccess(\"_FPDFDoc_DeleteAttachment\");var _FPDFAttachment_GetName=Module[\"_FPDFAttachment_GetName\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_GetName\");var _FPDFAttachment_HasKey=Module[\"_FPDFAttachment_HasKey\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_HasKey\");var _FPDFAttachment_GetValueType=Module[\"_FPDFAttachment_GetValueType\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_GetValueType\");var _FPDFAttachment_SetStringValue=Module[\"_FPDFAttachment_SetStringValue\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_SetStringValue\");var _FPDFAttachment_GetStringValue=Module[\"_FPDFAttachment_GetStringValue\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_GetStringValue\");var _FPDFAttachment_SetFile=Module[\"_FPDFAttachment_SetFile\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_SetFile\");var _FPDFAttachment_GetFile=Module[\"_FPDFAttachment_GetFile\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_GetFile\");var _FPDFAttachment_GetSubtype=Module[\"_FPDFAttachment_GetSubtype\"]=makeInvalidEarlyAccess(\"_FPDFAttachment_GetSubtype\");var _FPDFCatalog_IsTagged=Module[\"_FPDFCatalog_IsTagged\"]=makeInvalidEarlyAccess(\"_FPDFCatalog_IsTagged\");var _FPDFCatalog_SetLanguage=Module[\"_FPDFCatalog_SetLanguage\"]=makeInvalidEarlyAccess(\"_FPDFCatalog_SetLanguage\");var _FPDFAvail_Create=Module[\"_FPDFAvail_Create\"]=makeInvalidEarlyAccess(\"_FPDFAvail_Create\");var _FPDFAvail_Destroy=Module[\"_FPDFAvail_Destroy\"]=makeInvalidEarlyAccess(\"_FPDFAvail_Destroy\");var _FPDFAvail_IsDocAvail=Module[\"_FPDFAvail_IsDocAvail\"]=makeInvalidEarlyAccess(\"_FPDFAvail_IsDocAvail\");var _FPDFAvail_GetDocument=Module[\"_FPDFAvail_GetDocument\"]=makeInvalidEarlyAccess(\"_FPDFAvail_GetDocument\");var _FPDFAvail_GetFirstPageNum=Module[\"_FPDFAvail_GetFirstPageNum\"]=makeInvalidEarlyAccess(\"_FPDFAvail_GetFirstPageNum\");var _FPDFAvail_IsPageAvail=Module[\"_FPDFAvail_IsPageAvail\"]=makeInvalidEarlyAccess(\"_FPDFAvail_IsPageAvail\");var _FPDFAvail_IsFormAvail=Module[\"_FPDFAvail_IsFormAvail\"]=makeInvalidEarlyAccess(\"_FPDFAvail_IsFormAvail\");var _FPDFAvail_IsLinearized=Module[\"_FPDFAvail_IsLinearized\"]=makeInvalidEarlyAccess(\"_FPDFAvail_IsLinearized\");var _FPDFBookmark_GetFirstChild=Module[\"_FPDFBookmark_GetFirstChild\"]=makeInvalidEarlyAccess(\"_FPDFBookmark_GetFirstChild\");var _FPDFBookmark_GetNextSibling=Module[\"_FPDFBookmark_GetNextSibling\"]=makeInvalidEarlyAccess(\"_FPDFBookmark_GetNextSibling\");var _FPDFBookmark_GetTitle=Module[\"_FPDFBookmark_GetTitle\"]=makeInvalidEarlyAccess(\"_FPDFBookmark_GetTitle\");var _FPDFBookmark_GetCount=Module[\"_FPDFBookmark_GetCount\"]=makeInvalidEarlyAccess(\"_FPDFBookmark_GetCount\");var _FPDFBookmark_Find=Module[\"_FPDFBookmark_Find\"]=makeInvalidEarlyAccess(\"_FPDFBookmark_Find\");var _FPDFBookmark_GetDest=Module[\"_FPDFBookmark_GetDest\"]=makeInvalidEarlyAccess(\"_FPDFBookmark_GetDest\");var _FPDFBookmark_GetAction=Module[\"_FPDFBookmark_GetAction\"]=makeInvalidEarlyAccess(\"_FPDFBookmark_GetAction\");var _FPDFAction_GetType=Module[\"_FPDFAction_GetType\"]=makeInvalidEarlyAccess(\"_FPDFAction_GetType\");var _FPDFAction_GetDest=Module[\"_FPDFAction_GetDest\"]=makeInvalidEarlyAccess(\"_FPDFAction_GetDest\");var _FPDFAction_GetFilePath=Module[\"_FPDFAction_GetFilePath\"]=makeInvalidEarlyAccess(\"_FPDFAction_GetFilePath\");var _FPDFAction_GetURIPath=Module[\"_FPDFAction_GetURIPath\"]=makeInvalidEarlyAccess(\"_FPDFAction_GetURIPath\");var _FPDFDest_GetDestPageIndex=Module[\"_FPDFDest_GetDestPageIndex\"]=makeInvalidEarlyAccess(\"_FPDFDest_GetDestPageIndex\");var _FPDFDest_GetView=Module[\"_FPDFDest_GetView\"]=makeInvalidEarlyAccess(\"_FPDFDest_GetView\");var _FPDFDest_GetLocationInPage=Module[\"_FPDFDest_GetLocationInPage\"]=makeInvalidEarlyAccess(\"_FPDFDest_GetLocationInPage\");var _FPDFLink_GetLinkAtPoint=Module[\"_FPDFLink_GetLinkAtPoint\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetLinkAtPoint\");var _FPDFLink_GetLinkZOrderAtPoint=Module[\"_FPDFLink_GetLinkZOrderAtPoint\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetLinkZOrderAtPoint\");var _FPDFLink_GetDest=Module[\"_FPDFLink_GetDest\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetDest\");var _FPDFLink_GetAction=Module[\"_FPDFLink_GetAction\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetAction\");var _FPDFLink_Enumerate=Module[\"_FPDFLink_Enumerate\"]=makeInvalidEarlyAccess(\"_FPDFLink_Enumerate\");var _FPDFLink_GetAnnot=Module[\"_FPDFLink_GetAnnot\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetAnnot\");var _FPDFLink_GetAnnotRect=Module[\"_FPDFLink_GetAnnotRect\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetAnnotRect\");var _FPDFLink_CountQuadPoints=Module[\"_FPDFLink_CountQuadPoints\"]=makeInvalidEarlyAccess(\"_FPDFLink_CountQuadPoints\");var _FPDFLink_GetQuadPoints=Module[\"_FPDFLink_GetQuadPoints\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetQuadPoints\");var _FPDF_GetPageAAction=Module[\"_FPDF_GetPageAAction\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageAAction\");var _FPDF_GetFileIdentifier=Module[\"_FPDF_GetFileIdentifier\"]=makeInvalidEarlyAccess(\"_FPDF_GetFileIdentifier\");var _FPDF_GetMetaText=Module[\"_FPDF_GetMetaText\"]=makeInvalidEarlyAccess(\"_FPDF_GetMetaText\");var _FPDF_GetPageLabel=Module[\"_FPDF_GetPageLabel\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageLabel\");var _FPDFPageObj_NewImageObj=Module[\"_FPDFPageObj_NewImageObj\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_NewImageObj\");var _FPDFImageObj_LoadJpegFile=Module[\"_FPDFImageObj_LoadJpegFile\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_LoadJpegFile\");var _FPDFImageObj_LoadJpegFileInline=Module[\"_FPDFImageObj_LoadJpegFileInline\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_LoadJpegFileInline\");var _FPDFImageObj_SetMatrix=Module[\"_FPDFImageObj_SetMatrix\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_SetMatrix\");var _FPDFImageObj_SetBitmap=Module[\"_FPDFImageObj_SetBitmap\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_SetBitmap\");var _FPDFImageObj_GetBitmap=Module[\"_FPDFImageObj_GetBitmap\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetBitmap\");var _FPDFImageObj_GetRenderedBitmap=Module[\"_FPDFImageObj_GetRenderedBitmap\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetRenderedBitmap\");var _FPDFImageObj_GetImageDataDecoded=Module[\"_FPDFImageObj_GetImageDataDecoded\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetImageDataDecoded\");var _FPDFImageObj_GetImageDataRaw=Module[\"_FPDFImageObj_GetImageDataRaw\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetImageDataRaw\");var _FPDFImageObj_GetImageFilterCount=Module[\"_FPDFImageObj_GetImageFilterCount\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetImageFilterCount\");var _FPDFImageObj_GetImageFilter=Module[\"_FPDFImageObj_GetImageFilter\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetImageFilter\");var _FPDFImageObj_GetImageMetadata=Module[\"_FPDFImageObj_GetImageMetadata\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetImageMetadata\");var _FPDFImageObj_GetImagePixelSize=Module[\"_FPDFImageObj_GetImagePixelSize\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetImagePixelSize\");var _FPDFImageObj_GetIccProfileDataDecoded=Module[\"_FPDFImageObj_GetIccProfileDataDecoded\"]=makeInvalidEarlyAccess(\"_FPDFImageObj_GetIccProfileDataDecoded\");var _FPDF_CreateNewDocument=Module[\"_FPDF_CreateNewDocument\"]=makeInvalidEarlyAccess(\"_FPDF_CreateNewDocument\");var _FPDFPage_Delete=Module[\"_FPDFPage_Delete\"]=makeInvalidEarlyAccess(\"_FPDFPage_Delete\");var _FPDF_MovePages=Module[\"_FPDF_MovePages\"]=makeInvalidEarlyAccess(\"_FPDF_MovePages\");var _FPDFPage_New=Module[\"_FPDFPage_New\"]=makeInvalidEarlyAccess(\"_FPDFPage_New\");var _FPDFPage_GetRotation=Module[\"_FPDFPage_GetRotation\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetRotation\");var _FPDFPage_InsertObject=Module[\"_FPDFPage_InsertObject\"]=makeInvalidEarlyAccess(\"_FPDFPage_InsertObject\");var _FPDFPage_InsertObjectAtIndex=Module[\"_FPDFPage_InsertObjectAtIndex\"]=makeInvalidEarlyAccess(\"_FPDFPage_InsertObjectAtIndex\");var _FPDFPage_RemoveObject=Module[\"_FPDFPage_RemoveObject\"]=makeInvalidEarlyAccess(\"_FPDFPage_RemoveObject\");var _FPDFPage_CountObjects=Module[\"_FPDFPage_CountObjects\"]=makeInvalidEarlyAccess(\"_FPDFPage_CountObjects\");var _FPDFPage_GetObject=Module[\"_FPDFPage_GetObject\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetObject\");var _FPDFPage_HasTransparency=Module[\"_FPDFPage_HasTransparency\"]=makeInvalidEarlyAccess(\"_FPDFPage_HasTransparency\");var _FPDFPageObj_Destroy=Module[\"_FPDFPageObj_Destroy\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_Destroy\");var _FPDFPageObj_GetMarkedContentID=Module[\"_FPDFPageObj_GetMarkedContentID\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetMarkedContentID\");var _FPDFPageObj_CountMarks=Module[\"_FPDFPageObj_CountMarks\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_CountMarks\");var _FPDFPageObj_GetMark=Module[\"_FPDFPageObj_GetMark\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetMark\");var _FPDFPageObj_AddMark=Module[\"_FPDFPageObj_AddMark\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_AddMark\");var _FPDFPageObj_RemoveMark=Module[\"_FPDFPageObj_RemoveMark\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_RemoveMark\");var _FPDFPageObjMark_GetName=Module[\"_FPDFPageObjMark_GetName\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_GetName\");var _FPDFPageObjMark_CountParams=Module[\"_FPDFPageObjMark_CountParams\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_CountParams\");var _FPDFPageObjMark_GetParamKey=Module[\"_FPDFPageObjMark_GetParamKey\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_GetParamKey\");var _FPDFPageObjMark_GetParamValueType=Module[\"_FPDFPageObjMark_GetParamValueType\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_GetParamValueType\");var _FPDFPageObjMark_GetParamIntValue=Module[\"_FPDFPageObjMark_GetParamIntValue\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_GetParamIntValue\");var _FPDFPageObjMark_GetParamFloatValue=Module[\"_FPDFPageObjMark_GetParamFloatValue\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_GetParamFloatValue\");var _FPDFPageObjMark_GetParamStringValue=Module[\"_FPDFPageObjMark_GetParamStringValue\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_GetParamStringValue\");var _FPDFPageObjMark_GetParamBlobValue=Module[\"_FPDFPageObjMark_GetParamBlobValue\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_GetParamBlobValue\");var _FPDFPageObj_HasTransparency=Module[\"_FPDFPageObj_HasTransparency\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_HasTransparency\");var _FPDFPageObjMark_SetIntParam=Module[\"_FPDFPageObjMark_SetIntParam\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_SetIntParam\");var _FPDFPageObjMark_SetFloatParam=Module[\"_FPDFPageObjMark_SetFloatParam\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_SetFloatParam\");var _FPDFPageObjMark_SetStringParam=Module[\"_FPDFPageObjMark_SetStringParam\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_SetStringParam\");var _FPDFPageObjMark_SetBlobParam=Module[\"_FPDFPageObjMark_SetBlobParam\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_SetBlobParam\");var _FPDFPageObjMark_RemoveParam=Module[\"_FPDFPageObjMark_RemoveParam\"]=makeInvalidEarlyAccess(\"_FPDFPageObjMark_RemoveParam\");var _FPDFPageObj_GetType=Module[\"_FPDFPageObj_GetType\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetType\");var _FPDFPageObj_GetIsActive=Module[\"_FPDFPageObj_GetIsActive\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetIsActive\");var _FPDFPageObj_SetIsActive=Module[\"_FPDFPageObj_SetIsActive\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetIsActive\");var _FPDFPage_GenerateContent=Module[\"_FPDFPage_GenerateContent\"]=makeInvalidEarlyAccess(\"_FPDFPage_GenerateContent\");var _FPDFPageObj_Transform=Module[\"_FPDFPageObj_Transform\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_Transform\");var _FPDFPageObj_TransformF=Module[\"_FPDFPageObj_TransformF\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_TransformF\");var _FPDFPageObj_GetMatrix=Module[\"_FPDFPageObj_GetMatrix\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetMatrix\");var _FPDFPageObj_SetMatrix=Module[\"_FPDFPageObj_SetMatrix\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetMatrix\");var _FPDFPageObj_SetBlendMode=Module[\"_FPDFPageObj_SetBlendMode\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetBlendMode\");var _FPDFPage_TransformAnnots=Module[\"_FPDFPage_TransformAnnots\"]=makeInvalidEarlyAccess(\"_FPDFPage_TransformAnnots\");var _FPDFPage_SetRotation=Module[\"_FPDFPage_SetRotation\"]=makeInvalidEarlyAccess(\"_FPDFPage_SetRotation\");var _FPDFPageObj_SetFillColor=Module[\"_FPDFPageObj_SetFillColor\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetFillColor\");var _FPDFPageObj_GetFillColor=Module[\"_FPDFPageObj_GetFillColor\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetFillColor\");var _FPDFPageObj_GetBounds=Module[\"_FPDFPageObj_GetBounds\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetBounds\");var _FPDFPageObj_GetRotatedBounds=Module[\"_FPDFPageObj_GetRotatedBounds\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetRotatedBounds\");var _FPDFPageObj_SetStrokeColor=Module[\"_FPDFPageObj_SetStrokeColor\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetStrokeColor\");var _FPDFPageObj_GetStrokeColor=Module[\"_FPDFPageObj_GetStrokeColor\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetStrokeColor\");var _FPDFPageObj_SetStrokeWidth=Module[\"_FPDFPageObj_SetStrokeWidth\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetStrokeWidth\");var _FPDFPageObj_GetStrokeWidth=Module[\"_FPDFPageObj_GetStrokeWidth\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetStrokeWidth\");var _FPDFPageObj_GetLineJoin=Module[\"_FPDFPageObj_GetLineJoin\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetLineJoin\");var _FPDFPageObj_SetLineJoin=Module[\"_FPDFPageObj_SetLineJoin\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetLineJoin\");var _FPDFPageObj_GetLineCap=Module[\"_FPDFPageObj_GetLineCap\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetLineCap\");var _FPDFPageObj_SetLineCap=Module[\"_FPDFPageObj_SetLineCap\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetLineCap\");var _FPDFPageObj_GetDashPhase=Module[\"_FPDFPageObj_GetDashPhase\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetDashPhase\");var _FPDFPageObj_SetDashPhase=Module[\"_FPDFPageObj_SetDashPhase\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetDashPhase\");var _FPDFPageObj_GetDashCount=Module[\"_FPDFPageObj_GetDashCount\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetDashCount\");var _FPDFPageObj_GetDashArray=Module[\"_FPDFPageObj_GetDashArray\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetDashArray\");var _FPDFPageObj_SetDashArray=Module[\"_FPDFPageObj_SetDashArray\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_SetDashArray\");var _FPDFFormObj_CountObjects=Module[\"_FPDFFormObj_CountObjects\"]=makeInvalidEarlyAccess(\"_FPDFFormObj_CountObjects\");var _FPDFFormObj_GetObject=Module[\"_FPDFFormObj_GetObject\"]=makeInvalidEarlyAccess(\"_FPDFFormObj_GetObject\");var _FPDFFormObj_RemoveObject=Module[\"_FPDFFormObj_RemoveObject\"]=makeInvalidEarlyAccess(\"_FPDFFormObj_RemoveObject\");var _FPDFPageObj_CreateNewPath=Module[\"_FPDFPageObj_CreateNewPath\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_CreateNewPath\");var _FPDFPageObj_CreateNewRect=Module[\"_FPDFPageObj_CreateNewRect\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_CreateNewRect\");var _FPDFPath_CountSegments=Module[\"_FPDFPath_CountSegments\"]=makeInvalidEarlyAccess(\"_FPDFPath_CountSegments\");var _FPDFPath_GetPathSegment=Module[\"_FPDFPath_GetPathSegment\"]=makeInvalidEarlyAccess(\"_FPDFPath_GetPathSegment\");var _FPDFPath_MoveTo=Module[\"_FPDFPath_MoveTo\"]=makeInvalidEarlyAccess(\"_FPDFPath_MoveTo\");var _FPDFPath_LineTo=Module[\"_FPDFPath_LineTo\"]=makeInvalidEarlyAccess(\"_FPDFPath_LineTo\");var _FPDFPath_BezierTo=Module[\"_FPDFPath_BezierTo\"]=makeInvalidEarlyAccess(\"_FPDFPath_BezierTo\");var _FPDFPath_Close=Module[\"_FPDFPath_Close\"]=makeInvalidEarlyAccess(\"_FPDFPath_Close\");var _FPDFPath_SetDrawMode=Module[\"_FPDFPath_SetDrawMode\"]=makeInvalidEarlyAccess(\"_FPDFPath_SetDrawMode\");var _FPDFPath_GetDrawMode=Module[\"_FPDFPath_GetDrawMode\"]=makeInvalidEarlyAccess(\"_FPDFPath_GetDrawMode\");var _FPDFPathSegment_GetPoint=Module[\"_FPDFPathSegment_GetPoint\"]=makeInvalidEarlyAccess(\"_FPDFPathSegment_GetPoint\");var _FPDFPathSegment_GetType=Module[\"_FPDFPathSegment_GetType\"]=makeInvalidEarlyAccess(\"_FPDFPathSegment_GetType\");var _FPDFPathSegment_GetClose=Module[\"_FPDFPathSegment_GetClose\"]=makeInvalidEarlyAccess(\"_FPDFPathSegment_GetClose\");var _FPDFPageObj_NewTextObj=Module[\"_FPDFPageObj_NewTextObj\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_NewTextObj\");var _FPDFText_SetText=Module[\"_FPDFText_SetText\"]=makeInvalidEarlyAccess(\"_FPDFText_SetText\");var _FPDFText_SetCharcodes=Module[\"_FPDFText_SetCharcodes\"]=makeInvalidEarlyAccess(\"_FPDFText_SetCharcodes\");var _FPDFText_LoadFont=Module[\"_FPDFText_LoadFont\"]=makeInvalidEarlyAccess(\"_FPDFText_LoadFont\");var _FPDFText_LoadStandardFont=Module[\"_FPDFText_LoadStandardFont\"]=makeInvalidEarlyAccess(\"_FPDFText_LoadStandardFont\");var _FPDFText_LoadCidType2Font=Module[\"_FPDFText_LoadCidType2Font\"]=makeInvalidEarlyAccess(\"_FPDFText_LoadCidType2Font\");var _FPDFTextObj_GetFontSize=Module[\"_FPDFTextObj_GetFontSize\"]=makeInvalidEarlyAccess(\"_FPDFTextObj_GetFontSize\");var _FPDFTextObj_GetText=Module[\"_FPDFTextObj_GetText\"]=makeInvalidEarlyAccess(\"_FPDFTextObj_GetText\");var _FPDFTextObj_GetRenderedBitmap=Module[\"_FPDFTextObj_GetRenderedBitmap\"]=makeInvalidEarlyAccess(\"_FPDFTextObj_GetRenderedBitmap\");var _FPDFFont_Close=Module[\"_FPDFFont_Close\"]=makeInvalidEarlyAccess(\"_FPDFFont_Close\");var _FPDFPageObj_CreateTextObj=Module[\"_FPDFPageObj_CreateTextObj\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_CreateTextObj\");var _FPDFTextObj_GetTextRenderMode=Module[\"_FPDFTextObj_GetTextRenderMode\"]=makeInvalidEarlyAccess(\"_FPDFTextObj_GetTextRenderMode\");var _FPDFTextObj_SetTextRenderMode=Module[\"_FPDFTextObj_SetTextRenderMode\"]=makeInvalidEarlyAccess(\"_FPDFTextObj_SetTextRenderMode\");var _FPDFTextObj_GetFont=Module[\"_FPDFTextObj_GetFont\"]=makeInvalidEarlyAccess(\"_FPDFTextObj_GetFont\");var _FPDFFont_GetBaseFontName=Module[\"_FPDFFont_GetBaseFontName\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetBaseFontName\");var _FPDFFont_GetFamilyName=Module[\"_FPDFFont_GetFamilyName\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetFamilyName\");var _FPDFFont_GetFontData=Module[\"_FPDFFont_GetFontData\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetFontData\");var _FPDFFont_GetIsEmbedded=Module[\"_FPDFFont_GetIsEmbedded\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetIsEmbedded\");var _FPDFFont_GetFlags=Module[\"_FPDFFont_GetFlags\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetFlags\");var _FPDFFont_GetWeight=Module[\"_FPDFFont_GetWeight\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetWeight\");var _FPDFFont_GetItalicAngle=Module[\"_FPDFFont_GetItalicAngle\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetItalicAngle\");var _FPDFFont_GetAscent=Module[\"_FPDFFont_GetAscent\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetAscent\");var _FPDFFont_GetDescent=Module[\"_FPDFFont_GetDescent\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetDescent\");var _FPDFFont_GetGlyphWidth=Module[\"_FPDFFont_GetGlyphWidth\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetGlyphWidth\");var _FPDFFont_GetGlyphPath=Module[\"_FPDFFont_GetGlyphPath\"]=makeInvalidEarlyAccess(\"_FPDFFont_GetGlyphPath\");var _FPDFGlyphPath_CountGlyphSegments=Module[\"_FPDFGlyphPath_CountGlyphSegments\"]=makeInvalidEarlyAccess(\"_FPDFGlyphPath_CountGlyphSegments\");var _FPDFGlyphPath_GetGlyphPathSegment=Module[\"_FPDFGlyphPath_GetGlyphPathSegment\"]=makeInvalidEarlyAccess(\"_FPDFGlyphPath_GetGlyphPathSegment\");var _FSDK_SetUnSpObjProcessHandler=Module[\"_FSDK_SetUnSpObjProcessHandler\"]=makeInvalidEarlyAccess(\"_FSDK_SetUnSpObjProcessHandler\");var _FSDK_SetTimeFunction=Module[\"_FSDK_SetTimeFunction\"]=makeInvalidEarlyAccess(\"_FSDK_SetTimeFunction\");var _FSDK_SetLocaltimeFunction=Module[\"_FSDK_SetLocaltimeFunction\"]=makeInvalidEarlyAccess(\"_FSDK_SetLocaltimeFunction\");var _FPDFDoc_GetPageMode=Module[\"_FPDFDoc_GetPageMode\"]=makeInvalidEarlyAccess(\"_FPDFDoc_GetPageMode\");var _FPDFPage_Flatten=Module[\"_FPDFPage_Flatten\"]=makeInvalidEarlyAccess(\"_FPDFPage_Flatten\");var _FPDFPage_HasFormFieldAtPoint=Module[\"_FPDFPage_HasFormFieldAtPoint\"]=makeInvalidEarlyAccess(\"_FPDFPage_HasFormFieldAtPoint\");var _FPDFPage_FormFieldZOrderAtPoint=Module[\"_FPDFPage_FormFieldZOrderAtPoint\"]=makeInvalidEarlyAccess(\"_FPDFPage_FormFieldZOrderAtPoint\");var _FPDFDOC_InitFormFillEnvironment=Module[\"_FPDFDOC_InitFormFillEnvironment\"]=makeInvalidEarlyAccess(\"_FPDFDOC_InitFormFillEnvironment\");var _FPDFDOC_ExitFormFillEnvironment=Module[\"_FPDFDOC_ExitFormFillEnvironment\"]=makeInvalidEarlyAccess(\"_FPDFDOC_ExitFormFillEnvironment\");var _FORM_OnMouseMove=Module[\"_FORM_OnMouseMove\"]=makeInvalidEarlyAccess(\"_FORM_OnMouseMove\");var _FORM_OnMouseWheel=Module[\"_FORM_OnMouseWheel\"]=makeInvalidEarlyAccess(\"_FORM_OnMouseWheel\");var _FORM_OnFocus=Module[\"_FORM_OnFocus\"]=makeInvalidEarlyAccess(\"_FORM_OnFocus\");var _FORM_OnLButtonDown=Module[\"_FORM_OnLButtonDown\"]=makeInvalidEarlyAccess(\"_FORM_OnLButtonDown\");var _FORM_OnLButtonUp=Module[\"_FORM_OnLButtonUp\"]=makeInvalidEarlyAccess(\"_FORM_OnLButtonUp\");var _FORM_OnLButtonDoubleClick=Module[\"_FORM_OnLButtonDoubleClick\"]=makeInvalidEarlyAccess(\"_FORM_OnLButtonDoubleClick\");var _FORM_OnRButtonDown=Module[\"_FORM_OnRButtonDown\"]=makeInvalidEarlyAccess(\"_FORM_OnRButtonDown\");var _FORM_OnRButtonUp=Module[\"_FORM_OnRButtonUp\"]=makeInvalidEarlyAccess(\"_FORM_OnRButtonUp\");var _FORM_OnKeyDown=Module[\"_FORM_OnKeyDown\"]=makeInvalidEarlyAccess(\"_FORM_OnKeyDown\");var _FORM_OnKeyUp=Module[\"_FORM_OnKeyUp\"]=makeInvalidEarlyAccess(\"_FORM_OnKeyUp\");var _FORM_OnChar=Module[\"_FORM_OnChar\"]=makeInvalidEarlyAccess(\"_FORM_OnChar\");var _FORM_GetFocusedText=Module[\"_FORM_GetFocusedText\"]=makeInvalidEarlyAccess(\"_FORM_GetFocusedText\");var _FORM_GetSelectedText=Module[\"_FORM_GetSelectedText\"]=makeInvalidEarlyAccess(\"_FORM_GetSelectedText\");var _FORM_ReplaceAndKeepSelection=Module[\"_FORM_ReplaceAndKeepSelection\"]=makeInvalidEarlyAccess(\"_FORM_ReplaceAndKeepSelection\");var _FORM_ReplaceSelection=Module[\"_FORM_ReplaceSelection\"]=makeInvalidEarlyAccess(\"_FORM_ReplaceSelection\");var _FORM_SelectAllText=Module[\"_FORM_SelectAllText\"]=makeInvalidEarlyAccess(\"_FORM_SelectAllText\");var _FORM_CanUndo=Module[\"_FORM_CanUndo\"]=makeInvalidEarlyAccess(\"_FORM_CanUndo\");var _FORM_CanRedo=Module[\"_FORM_CanRedo\"]=makeInvalidEarlyAccess(\"_FORM_CanRedo\");var _FORM_Undo=Module[\"_FORM_Undo\"]=makeInvalidEarlyAccess(\"_FORM_Undo\");var _FORM_Redo=Module[\"_FORM_Redo\"]=makeInvalidEarlyAccess(\"_FORM_Redo\");var _FORM_ForceToKillFocus=Module[\"_FORM_ForceToKillFocus\"]=makeInvalidEarlyAccess(\"_FORM_ForceToKillFocus\");var _FORM_GetFocusedAnnot=Module[\"_FORM_GetFocusedAnnot\"]=makeInvalidEarlyAccess(\"_FORM_GetFocusedAnnot\");var _FORM_SetFocusedAnnot=Module[\"_FORM_SetFocusedAnnot\"]=makeInvalidEarlyAccess(\"_FORM_SetFocusedAnnot\");var _FPDF_FFLDraw=Module[\"_FPDF_FFLDraw\"]=makeInvalidEarlyAccess(\"_FPDF_FFLDraw\");var _FPDF_SetFormFieldHighlightColor=Module[\"_FPDF_SetFormFieldHighlightColor\"]=makeInvalidEarlyAccess(\"_FPDF_SetFormFieldHighlightColor\");var _FPDF_SetFormFieldHighlightAlpha=Module[\"_FPDF_SetFormFieldHighlightAlpha\"]=makeInvalidEarlyAccess(\"_FPDF_SetFormFieldHighlightAlpha\");var _FPDF_RemoveFormFieldHighlight=Module[\"_FPDF_RemoveFormFieldHighlight\"]=makeInvalidEarlyAccess(\"_FPDF_RemoveFormFieldHighlight\");var _FORM_OnAfterLoadPage=Module[\"_FORM_OnAfterLoadPage\"]=makeInvalidEarlyAccess(\"_FORM_OnAfterLoadPage\");var _FORM_OnBeforeClosePage=Module[\"_FORM_OnBeforeClosePage\"]=makeInvalidEarlyAccess(\"_FORM_OnBeforeClosePage\");var _FORM_DoDocumentJSAction=Module[\"_FORM_DoDocumentJSAction\"]=makeInvalidEarlyAccess(\"_FORM_DoDocumentJSAction\");var _FORM_DoDocumentOpenAction=Module[\"_FORM_DoDocumentOpenAction\"]=makeInvalidEarlyAccess(\"_FORM_DoDocumentOpenAction\");var _FORM_DoDocumentAAction=Module[\"_FORM_DoDocumentAAction\"]=makeInvalidEarlyAccess(\"_FORM_DoDocumentAAction\");var _FORM_DoPageAAction=Module[\"_FORM_DoPageAAction\"]=makeInvalidEarlyAccess(\"_FORM_DoPageAAction\");var _FORM_SetIndexSelected=Module[\"_FORM_SetIndexSelected\"]=makeInvalidEarlyAccess(\"_FORM_SetIndexSelected\");var _FORM_IsIndexSelected=Module[\"_FORM_IsIndexSelected\"]=makeInvalidEarlyAccess(\"_FORM_IsIndexSelected\");var _FPDFDoc_GetJavaScriptActionCount=Module[\"_FPDFDoc_GetJavaScriptActionCount\"]=makeInvalidEarlyAccess(\"_FPDFDoc_GetJavaScriptActionCount\");var _FPDFDoc_GetJavaScriptAction=Module[\"_FPDFDoc_GetJavaScriptAction\"]=makeInvalidEarlyAccess(\"_FPDFDoc_GetJavaScriptAction\");var _FPDFDoc_CloseJavaScriptAction=Module[\"_FPDFDoc_CloseJavaScriptAction\"]=makeInvalidEarlyAccess(\"_FPDFDoc_CloseJavaScriptAction\");var _FPDFJavaScriptAction_GetName=Module[\"_FPDFJavaScriptAction_GetName\"]=makeInvalidEarlyAccess(\"_FPDFJavaScriptAction_GetName\");var _FPDFJavaScriptAction_GetScript=Module[\"_FPDFJavaScriptAction_GetScript\"]=makeInvalidEarlyAccess(\"_FPDFJavaScriptAction_GetScript\");var _FPDF_ImportPagesByIndex=Module[\"_FPDF_ImportPagesByIndex\"]=makeInvalidEarlyAccess(\"_FPDF_ImportPagesByIndex\");var _FPDF_ImportPages=Module[\"_FPDF_ImportPages\"]=makeInvalidEarlyAccess(\"_FPDF_ImportPages\");var _FPDF_ImportNPagesToOne=Module[\"_FPDF_ImportNPagesToOne\"]=makeInvalidEarlyAccess(\"_FPDF_ImportNPagesToOne\");var _FPDF_NewXObjectFromPage=Module[\"_FPDF_NewXObjectFromPage\"]=makeInvalidEarlyAccess(\"_FPDF_NewXObjectFromPage\");var _FPDF_CloseXObject=Module[\"_FPDF_CloseXObject\"]=makeInvalidEarlyAccess(\"_FPDF_CloseXObject\");var _FPDF_NewFormObjectFromXObject=Module[\"_FPDF_NewFormObjectFromXObject\"]=makeInvalidEarlyAccess(\"_FPDF_NewFormObjectFromXObject\");var _FPDF_CopyViewerPreferences=Module[\"_FPDF_CopyViewerPreferences\"]=makeInvalidEarlyAccess(\"_FPDF_CopyViewerPreferences\");var _FPDF_RenderPageBitmapWithColorScheme_Start=Module[\"_FPDF_RenderPageBitmapWithColorScheme_Start\"]=makeInvalidEarlyAccess(\"_FPDF_RenderPageBitmapWithColorScheme_Start\");var _FPDF_RenderPageBitmap_Start=Module[\"_FPDF_RenderPageBitmap_Start\"]=makeInvalidEarlyAccess(\"_FPDF_RenderPageBitmap_Start\");var _FPDF_RenderPage_Continue=Module[\"_FPDF_RenderPage_Continue\"]=makeInvalidEarlyAccess(\"_FPDF_RenderPage_Continue\");var _FPDF_RenderPage_Close=Module[\"_FPDF_RenderPage_Close\"]=makeInvalidEarlyAccess(\"_FPDF_RenderPage_Close\");var _FPDF_SaveAsCopy=Module[\"_FPDF_SaveAsCopy\"]=makeInvalidEarlyAccess(\"_FPDF_SaveAsCopy\");var _FPDF_SaveWithVersion=Module[\"_FPDF_SaveWithVersion\"]=makeInvalidEarlyAccess(\"_FPDF_SaveWithVersion\");var _FPDFText_GetCharIndexFromTextIndex=Module[\"_FPDFText_GetCharIndexFromTextIndex\"]=makeInvalidEarlyAccess(\"_FPDFText_GetCharIndexFromTextIndex\");var _FPDFText_GetTextIndexFromCharIndex=Module[\"_FPDFText_GetTextIndexFromCharIndex\"]=makeInvalidEarlyAccess(\"_FPDFText_GetTextIndexFromCharIndex\");var _FPDF_GetSignatureCount=Module[\"_FPDF_GetSignatureCount\"]=makeInvalidEarlyAccess(\"_FPDF_GetSignatureCount\");var _FPDF_GetSignatureObject=Module[\"_FPDF_GetSignatureObject\"]=makeInvalidEarlyAccess(\"_FPDF_GetSignatureObject\");var _FPDFSignatureObj_GetContents=Module[\"_FPDFSignatureObj_GetContents\"]=makeInvalidEarlyAccess(\"_FPDFSignatureObj_GetContents\");var _FPDFSignatureObj_GetByteRange=Module[\"_FPDFSignatureObj_GetByteRange\"]=makeInvalidEarlyAccess(\"_FPDFSignatureObj_GetByteRange\");var _FPDFSignatureObj_GetSubFilter=Module[\"_FPDFSignatureObj_GetSubFilter\"]=makeInvalidEarlyAccess(\"_FPDFSignatureObj_GetSubFilter\");var _FPDFSignatureObj_GetReason=Module[\"_FPDFSignatureObj_GetReason\"]=makeInvalidEarlyAccess(\"_FPDFSignatureObj_GetReason\");var _FPDFSignatureObj_GetTime=Module[\"_FPDFSignatureObj_GetTime\"]=makeInvalidEarlyAccess(\"_FPDFSignatureObj_GetTime\");var _FPDFSignatureObj_GetDocMDPPermission=Module[\"_FPDFSignatureObj_GetDocMDPPermission\"]=makeInvalidEarlyAccess(\"_FPDFSignatureObj_GetDocMDPPermission\");var _FPDF_StructTree_GetForPage=Module[\"_FPDF_StructTree_GetForPage\"]=makeInvalidEarlyAccess(\"_FPDF_StructTree_GetForPage\");var _FPDF_StructTree_Close=Module[\"_FPDF_StructTree_Close\"]=makeInvalidEarlyAccess(\"_FPDF_StructTree_Close\");var _FPDF_StructTree_CountChildren=Module[\"_FPDF_StructTree_CountChildren\"]=makeInvalidEarlyAccess(\"_FPDF_StructTree_CountChildren\");var _FPDF_StructTree_GetChildAtIndex=Module[\"_FPDF_StructTree_GetChildAtIndex\"]=makeInvalidEarlyAccess(\"_FPDF_StructTree_GetChildAtIndex\");var _FPDF_StructElement_GetAltText=Module[\"_FPDF_StructElement_GetAltText\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetAltText\");var _FPDF_StructElement_GetActualText=Module[\"_FPDF_StructElement_GetActualText\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetActualText\");var _FPDF_StructElement_GetID=Module[\"_FPDF_StructElement_GetID\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetID\");var _FPDF_StructElement_GetLang=Module[\"_FPDF_StructElement_GetLang\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetLang\");var _FPDF_StructElement_GetAttributeCount=Module[\"_FPDF_StructElement_GetAttributeCount\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetAttributeCount\");var _FPDF_StructElement_GetAttributeAtIndex=Module[\"_FPDF_StructElement_GetAttributeAtIndex\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetAttributeAtIndex\");var _FPDF_StructElement_GetStringAttribute=Module[\"_FPDF_StructElement_GetStringAttribute\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetStringAttribute\");var _FPDF_StructElement_GetMarkedContentID=Module[\"_FPDF_StructElement_GetMarkedContentID\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetMarkedContentID\");var _FPDF_StructElement_GetType=Module[\"_FPDF_StructElement_GetType\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetType\");var _FPDF_StructElement_GetObjType=Module[\"_FPDF_StructElement_GetObjType\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetObjType\");var _FPDF_StructElement_GetTitle=Module[\"_FPDF_StructElement_GetTitle\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetTitle\");var _FPDF_StructElement_CountChildren=Module[\"_FPDF_StructElement_CountChildren\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_CountChildren\");var _FPDF_StructElement_GetChildAtIndex=Module[\"_FPDF_StructElement_GetChildAtIndex\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetChildAtIndex\");var _FPDF_StructElement_GetChildMarkedContentID=Module[\"_FPDF_StructElement_GetChildMarkedContentID\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetChildMarkedContentID\");var _FPDF_StructElement_GetParent=Module[\"_FPDF_StructElement_GetParent\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetParent\");var _FPDF_StructElement_Attr_GetCount=Module[\"_FPDF_StructElement_Attr_GetCount\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetCount\");var _FPDF_StructElement_Attr_GetName=Module[\"_FPDF_StructElement_Attr_GetName\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetName\");var _FPDF_StructElement_Attr_GetValue=Module[\"_FPDF_StructElement_Attr_GetValue\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetValue\");var _FPDF_StructElement_Attr_GetType=Module[\"_FPDF_StructElement_Attr_GetType\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetType\");var _FPDF_StructElement_Attr_GetBooleanValue=Module[\"_FPDF_StructElement_Attr_GetBooleanValue\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetBooleanValue\");var _FPDF_StructElement_Attr_GetNumberValue=Module[\"_FPDF_StructElement_Attr_GetNumberValue\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetNumberValue\");var _FPDF_StructElement_Attr_GetStringValue=Module[\"_FPDF_StructElement_Attr_GetStringValue\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetStringValue\");var _FPDF_StructElement_Attr_GetBlobValue=Module[\"_FPDF_StructElement_Attr_GetBlobValue\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetBlobValue\");var _FPDF_StructElement_Attr_CountChildren=Module[\"_FPDF_StructElement_Attr_CountChildren\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_CountChildren\");var _FPDF_StructElement_Attr_GetChildAtIndex=Module[\"_FPDF_StructElement_Attr_GetChildAtIndex\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_Attr_GetChildAtIndex\");var _FPDF_StructElement_GetMarkedContentIdCount=Module[\"_FPDF_StructElement_GetMarkedContentIdCount\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetMarkedContentIdCount\");var _FPDF_StructElement_GetMarkedContentIdAtIndex=Module[\"_FPDF_StructElement_GetMarkedContentIdAtIndex\"]=makeInvalidEarlyAccess(\"_FPDF_StructElement_GetMarkedContentIdAtIndex\");var _FPDF_AddInstalledFont=Module[\"_FPDF_AddInstalledFont\"]=makeInvalidEarlyAccess(\"_FPDF_AddInstalledFont\");var _FPDF_SetSystemFontInfo=Module[\"_FPDF_SetSystemFontInfo\"]=makeInvalidEarlyAccess(\"_FPDF_SetSystemFontInfo\");var _FPDF_GetDefaultTTFMap=Module[\"_FPDF_GetDefaultTTFMap\"]=makeInvalidEarlyAccess(\"_FPDF_GetDefaultTTFMap\");var _FPDF_GetDefaultTTFMapCount=Module[\"_FPDF_GetDefaultTTFMapCount\"]=makeInvalidEarlyAccess(\"_FPDF_GetDefaultTTFMapCount\");var _FPDF_GetDefaultTTFMapEntry=Module[\"_FPDF_GetDefaultTTFMapEntry\"]=makeInvalidEarlyAccess(\"_FPDF_GetDefaultTTFMapEntry\");var _FPDF_GetDefaultSystemFontInfo=Module[\"_FPDF_GetDefaultSystemFontInfo\"]=makeInvalidEarlyAccess(\"_FPDF_GetDefaultSystemFontInfo\");var _FPDF_FreeDefaultSystemFontInfo=Module[\"_FPDF_FreeDefaultSystemFontInfo\"]=makeInvalidEarlyAccess(\"_FPDF_FreeDefaultSystemFontInfo\");var _FPDFText_LoadPage=Module[\"_FPDFText_LoadPage\"]=makeInvalidEarlyAccess(\"_FPDFText_LoadPage\");var _FPDFText_ClosePage=Module[\"_FPDFText_ClosePage\"]=makeInvalidEarlyAccess(\"_FPDFText_ClosePage\");var _FPDFText_CountChars=Module[\"_FPDFText_CountChars\"]=makeInvalidEarlyAccess(\"_FPDFText_CountChars\");var _FPDFText_GetUnicode=Module[\"_FPDFText_GetUnicode\"]=makeInvalidEarlyAccess(\"_FPDFText_GetUnicode\");var _FPDFText_GetTextObject=Module[\"_FPDFText_GetTextObject\"]=makeInvalidEarlyAccess(\"_FPDFText_GetTextObject\");var _FPDFText_IsGenerated=Module[\"_FPDFText_IsGenerated\"]=makeInvalidEarlyAccess(\"_FPDFText_IsGenerated\");var _FPDFText_IsHyphen=Module[\"_FPDFText_IsHyphen\"]=makeInvalidEarlyAccess(\"_FPDFText_IsHyphen\");var _FPDFText_HasUnicodeMapError=Module[\"_FPDFText_HasUnicodeMapError\"]=makeInvalidEarlyAccess(\"_FPDFText_HasUnicodeMapError\");var _FPDFText_GetFontSize=Module[\"_FPDFText_GetFontSize\"]=makeInvalidEarlyAccess(\"_FPDFText_GetFontSize\");var _FPDFText_GetFontInfo=Module[\"_FPDFText_GetFontInfo\"]=makeInvalidEarlyAccess(\"_FPDFText_GetFontInfo\");var _FPDFText_GetFontWeight=Module[\"_FPDFText_GetFontWeight\"]=makeInvalidEarlyAccess(\"_FPDFText_GetFontWeight\");var _FPDFText_GetFillColor=Module[\"_FPDFText_GetFillColor\"]=makeInvalidEarlyAccess(\"_FPDFText_GetFillColor\");var _FPDFText_GetStrokeColor=Module[\"_FPDFText_GetStrokeColor\"]=makeInvalidEarlyAccess(\"_FPDFText_GetStrokeColor\");var _FPDFText_GetCharAngle=Module[\"_FPDFText_GetCharAngle\"]=makeInvalidEarlyAccess(\"_FPDFText_GetCharAngle\");var _FPDFText_GetCharBox=Module[\"_FPDFText_GetCharBox\"]=makeInvalidEarlyAccess(\"_FPDFText_GetCharBox\");var _FPDFText_GetLooseCharBox=Module[\"_FPDFText_GetLooseCharBox\"]=makeInvalidEarlyAccess(\"_FPDFText_GetLooseCharBox\");var _FPDFText_GetMatrix=Module[\"_FPDFText_GetMatrix\"]=makeInvalidEarlyAccess(\"_FPDFText_GetMatrix\");var _FPDFText_GetCharOrigin=Module[\"_FPDFText_GetCharOrigin\"]=makeInvalidEarlyAccess(\"_FPDFText_GetCharOrigin\");var _FPDFText_GetCharIndexAtPos=Module[\"_FPDFText_GetCharIndexAtPos\"]=makeInvalidEarlyAccess(\"_FPDFText_GetCharIndexAtPos\");var _FPDFText_GetText=Module[\"_FPDFText_GetText\"]=makeInvalidEarlyAccess(\"_FPDFText_GetText\");var _FPDFText_CountRects=Module[\"_FPDFText_CountRects\"]=makeInvalidEarlyAccess(\"_FPDFText_CountRects\");var _FPDFText_GetRect=Module[\"_FPDFText_GetRect\"]=makeInvalidEarlyAccess(\"_FPDFText_GetRect\");var _FPDFText_GetBoundedText=Module[\"_FPDFText_GetBoundedText\"]=makeInvalidEarlyAccess(\"_FPDFText_GetBoundedText\");var _FPDFText_FindStart=Module[\"_FPDFText_FindStart\"]=makeInvalidEarlyAccess(\"_FPDFText_FindStart\");var _FPDFText_FindNext=Module[\"_FPDFText_FindNext\"]=makeInvalidEarlyAccess(\"_FPDFText_FindNext\");var _FPDFText_FindPrev=Module[\"_FPDFText_FindPrev\"]=makeInvalidEarlyAccess(\"_FPDFText_FindPrev\");var _FPDFText_GetSchResultIndex=Module[\"_FPDFText_GetSchResultIndex\"]=makeInvalidEarlyAccess(\"_FPDFText_GetSchResultIndex\");var _FPDFText_GetSchCount=Module[\"_FPDFText_GetSchCount\"]=makeInvalidEarlyAccess(\"_FPDFText_GetSchCount\");var _FPDFText_FindClose=Module[\"_FPDFText_FindClose\"]=makeInvalidEarlyAccess(\"_FPDFText_FindClose\");var _FPDFLink_LoadWebLinks=Module[\"_FPDFLink_LoadWebLinks\"]=makeInvalidEarlyAccess(\"_FPDFLink_LoadWebLinks\");var _FPDFLink_CountWebLinks=Module[\"_FPDFLink_CountWebLinks\"]=makeInvalidEarlyAccess(\"_FPDFLink_CountWebLinks\");var _FPDFLink_GetURL=Module[\"_FPDFLink_GetURL\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetURL\");var _FPDFLink_CountRects=Module[\"_FPDFLink_CountRects\"]=makeInvalidEarlyAccess(\"_FPDFLink_CountRects\");var _FPDFLink_GetRect=Module[\"_FPDFLink_GetRect\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetRect\");var _FPDFLink_GetTextRange=Module[\"_FPDFLink_GetTextRange\"]=makeInvalidEarlyAccess(\"_FPDFLink_GetTextRange\");var _FPDFLink_CloseWebLinks=Module[\"_FPDFLink_CloseWebLinks\"]=makeInvalidEarlyAccess(\"_FPDFLink_CloseWebLinks\");var _FPDFPage_GetDecodedThumbnailData=Module[\"_FPDFPage_GetDecodedThumbnailData\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetDecodedThumbnailData\");var _FPDFPage_GetRawThumbnailData=Module[\"_FPDFPage_GetRawThumbnailData\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetRawThumbnailData\");var _FPDFPage_GetThumbnailAsBitmap=Module[\"_FPDFPage_GetThumbnailAsBitmap\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetThumbnailAsBitmap\");var _FPDFPage_SetMediaBox=Module[\"_FPDFPage_SetMediaBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_SetMediaBox\");var _FPDFPage_SetCropBox=Module[\"_FPDFPage_SetCropBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_SetCropBox\");var _FPDFPage_SetBleedBox=Module[\"_FPDFPage_SetBleedBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_SetBleedBox\");var _FPDFPage_SetTrimBox=Module[\"_FPDFPage_SetTrimBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_SetTrimBox\");var _FPDFPage_SetArtBox=Module[\"_FPDFPage_SetArtBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_SetArtBox\");var _FPDFPage_GetMediaBox=Module[\"_FPDFPage_GetMediaBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetMediaBox\");var _FPDFPage_GetCropBox=Module[\"_FPDFPage_GetCropBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetCropBox\");var _FPDFPage_GetBleedBox=Module[\"_FPDFPage_GetBleedBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetBleedBox\");var _FPDFPage_GetTrimBox=Module[\"_FPDFPage_GetTrimBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetTrimBox\");var _FPDFPage_GetArtBox=Module[\"_FPDFPage_GetArtBox\"]=makeInvalidEarlyAccess(\"_FPDFPage_GetArtBox\");var _FPDFPage_TransFormWithClip=Module[\"_FPDFPage_TransFormWithClip\"]=makeInvalidEarlyAccess(\"_FPDFPage_TransFormWithClip\");var _FPDFPageObj_TransformClipPath=Module[\"_FPDFPageObj_TransformClipPath\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_TransformClipPath\");var _FPDFPageObj_GetClipPath=Module[\"_FPDFPageObj_GetClipPath\"]=makeInvalidEarlyAccess(\"_FPDFPageObj_GetClipPath\");var _FPDFClipPath_CountPaths=Module[\"_FPDFClipPath_CountPaths\"]=makeInvalidEarlyAccess(\"_FPDFClipPath_CountPaths\");var _FPDFClipPath_CountPathSegments=Module[\"_FPDFClipPath_CountPathSegments\"]=makeInvalidEarlyAccess(\"_FPDFClipPath_CountPathSegments\");var _FPDFClipPath_GetPathSegment=Module[\"_FPDFClipPath_GetPathSegment\"]=makeInvalidEarlyAccess(\"_FPDFClipPath_GetPathSegment\");var _FPDF_CreateClipPath=Module[\"_FPDF_CreateClipPath\"]=makeInvalidEarlyAccess(\"_FPDF_CreateClipPath\");var _FPDF_DestroyClipPath=Module[\"_FPDF_DestroyClipPath\"]=makeInvalidEarlyAccess(\"_FPDF_DestroyClipPath\");var _FPDFPage_InsertClipPath=Module[\"_FPDFPage_InsertClipPath\"]=makeInvalidEarlyAccess(\"_FPDFPage_InsertClipPath\");var _FPDF_InitLibrary=Module[\"_FPDF_InitLibrary\"]=makeInvalidEarlyAccess(\"_FPDF_InitLibrary\");var _malloc=Module[\"_malloc\"]=makeInvalidEarlyAccess(\"_malloc\");var _free=Module[\"_free\"]=makeInvalidEarlyAccess(\"_free\");var _FPDF_DestroyLibrary=Module[\"_FPDF_DestroyLibrary\"]=makeInvalidEarlyAccess(\"_FPDF_DestroyLibrary\");var _FPDF_SetSandBoxPolicy=Module[\"_FPDF_SetSandBoxPolicy\"]=makeInvalidEarlyAccess(\"_FPDF_SetSandBoxPolicy\");var _FPDF_LoadDocument=Module[\"_FPDF_LoadDocument\"]=makeInvalidEarlyAccess(\"_FPDF_LoadDocument\");var _FPDF_GetFormType=Module[\"_FPDF_GetFormType\"]=makeInvalidEarlyAccess(\"_FPDF_GetFormType\");var _FPDF_LoadXFA=Module[\"_FPDF_LoadXFA\"]=makeInvalidEarlyAccess(\"_FPDF_LoadXFA\");var _FPDF_LoadMemDocument=Module[\"_FPDF_LoadMemDocument\"]=makeInvalidEarlyAccess(\"_FPDF_LoadMemDocument\");var _FPDF_LoadMemDocument64=Module[\"_FPDF_LoadMemDocument64\"]=makeInvalidEarlyAccess(\"_FPDF_LoadMemDocument64\");var _FPDF_LoadCustomDocument=Module[\"_FPDF_LoadCustomDocument\"]=makeInvalidEarlyAccess(\"_FPDF_LoadCustomDocument\");var _FPDF_GetFileVersion=Module[\"_FPDF_GetFileVersion\"]=makeInvalidEarlyAccess(\"_FPDF_GetFileVersion\");var _FPDF_DocumentHasValidCrossReferenceTable=Module[\"_FPDF_DocumentHasValidCrossReferenceTable\"]=makeInvalidEarlyAccess(\"_FPDF_DocumentHasValidCrossReferenceTable\");var _FPDF_GetDocPermissions=Module[\"_FPDF_GetDocPermissions\"]=makeInvalidEarlyAccess(\"_FPDF_GetDocPermissions\");var _FPDF_GetDocUserPermissions=Module[\"_FPDF_GetDocUserPermissions\"]=makeInvalidEarlyAccess(\"_FPDF_GetDocUserPermissions\");var _FPDF_GetSecurityHandlerRevision=Module[\"_FPDF_GetSecurityHandlerRevision\"]=makeInvalidEarlyAccess(\"_FPDF_GetSecurityHandlerRevision\");var _FPDF_GetPageCount=Module[\"_FPDF_GetPageCount\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageCount\");var _FPDF_LoadPage=Module[\"_FPDF_LoadPage\"]=makeInvalidEarlyAccess(\"_FPDF_LoadPage\");var _FPDF_GetPageWidthF=Module[\"_FPDF_GetPageWidthF\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageWidthF\");var _FPDF_GetPageWidth=Module[\"_FPDF_GetPageWidth\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageWidth\");var _FPDF_GetPageHeightF=Module[\"_FPDF_GetPageHeightF\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageHeightF\");var _FPDF_GetPageHeight=Module[\"_FPDF_GetPageHeight\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageHeight\");var _FPDF_GetPageBoundingBox=Module[\"_FPDF_GetPageBoundingBox\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageBoundingBox\");var _FPDF_RenderPageBitmap=Module[\"_FPDF_RenderPageBitmap\"]=makeInvalidEarlyAccess(\"_FPDF_RenderPageBitmap\");var _FPDF_RenderPageBitmapWithMatrix=Module[\"_FPDF_RenderPageBitmapWithMatrix\"]=makeInvalidEarlyAccess(\"_FPDF_RenderPageBitmapWithMatrix\");var _FPDF_ClosePage=Module[\"_FPDF_ClosePage\"]=makeInvalidEarlyAccess(\"_FPDF_ClosePage\");var _FPDF_CloseDocument=Module[\"_FPDF_CloseDocument\"]=makeInvalidEarlyAccess(\"_FPDF_CloseDocument\");var _FPDF_GetLastError=Module[\"_FPDF_GetLastError\"]=makeInvalidEarlyAccess(\"_FPDF_GetLastError\");var _FPDF_DeviceToPage=Module[\"_FPDF_DeviceToPage\"]=makeInvalidEarlyAccess(\"_FPDF_DeviceToPage\");var _FPDF_PageToDevice=Module[\"_FPDF_PageToDevice\"]=makeInvalidEarlyAccess(\"_FPDF_PageToDevice\");var _FPDFBitmap_Create=Module[\"_FPDFBitmap_Create\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_Create\");var _FPDFBitmap_CreateEx=Module[\"_FPDFBitmap_CreateEx\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_CreateEx\");var _FPDFBitmap_GetFormat=Module[\"_FPDFBitmap_GetFormat\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_GetFormat\");var _FPDFBitmap_FillRect=Module[\"_FPDFBitmap_FillRect\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_FillRect\");var _FPDFBitmap_GetBuffer=Module[\"_FPDFBitmap_GetBuffer\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_GetBuffer\");var _FPDFBitmap_GetWidth=Module[\"_FPDFBitmap_GetWidth\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_GetWidth\");var _FPDFBitmap_GetHeight=Module[\"_FPDFBitmap_GetHeight\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_GetHeight\");var _FPDFBitmap_GetStride=Module[\"_FPDFBitmap_GetStride\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_GetStride\");var _FPDFBitmap_Destroy=Module[\"_FPDFBitmap_Destroy\"]=makeInvalidEarlyAccess(\"_FPDFBitmap_Destroy\");var _FPDF_GetPageSizeByIndexF=Module[\"_FPDF_GetPageSizeByIndexF\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageSizeByIndexF\");var _FPDF_GetPageSizeByIndex=Module[\"_FPDF_GetPageSizeByIndex\"]=makeInvalidEarlyAccess(\"_FPDF_GetPageSizeByIndex\");var _FPDF_VIEWERREF_GetPrintScaling=Module[\"_FPDF_VIEWERREF_GetPrintScaling\"]=makeInvalidEarlyAccess(\"_FPDF_VIEWERREF_GetPrintScaling\");var _FPDF_VIEWERREF_GetNumCopies=Module[\"_FPDF_VIEWERREF_GetNumCopies\"]=makeInvalidEarlyAccess(\"_FPDF_VIEWERREF_GetNumCopies\");var _FPDF_VIEWERREF_GetPrintPageRange=Module[\"_FPDF_VIEWERREF_GetPrintPageRange\"]=makeInvalidEarlyAccess(\"_FPDF_VIEWERREF_GetPrintPageRange\");var _FPDF_VIEWERREF_GetPrintPageRangeCount=Module[\"_FPDF_VIEWERREF_GetPrintPageRangeCount\"]=makeInvalidEarlyAccess(\"_FPDF_VIEWERREF_GetPrintPageRangeCount\");var _FPDF_VIEWERREF_GetPrintPageRangeElement=Module[\"_FPDF_VIEWERREF_GetPrintPageRangeElement\"]=makeInvalidEarlyAccess(\"_FPDF_VIEWERREF_GetPrintPageRangeElement\");var _FPDF_VIEWERREF_GetDuplex=Module[\"_FPDF_VIEWERREF_GetDuplex\"]=makeInvalidEarlyAccess(\"_FPDF_VIEWERREF_GetDuplex\");var _FPDF_VIEWERREF_GetName=Module[\"_FPDF_VIEWERREF_GetName\"]=makeInvalidEarlyAccess(\"_FPDF_VIEWERREF_GetName\");var _FPDF_CountNamedDests=Module[\"_FPDF_CountNamedDests\"]=makeInvalidEarlyAccess(\"_FPDF_CountNamedDests\");var _FPDF_GetNamedDestByName=Module[\"_FPDF_GetNamedDestByName\"]=makeInvalidEarlyAccess(\"_FPDF_GetNamedDestByName\");var _FPDF_GetNamedDest=Module[\"_FPDF_GetNamedDest\"]=makeInvalidEarlyAccess(\"_FPDF_GetNamedDest\");var _FPDF_GetXFAPacketCount=Module[\"_FPDF_GetXFAPacketCount\"]=makeInvalidEarlyAccess(\"_FPDF_GetXFAPacketCount\");var _FPDF_GetXFAPacketName=Module[\"_FPDF_GetXFAPacketName\"]=makeInvalidEarlyAccess(\"_FPDF_GetXFAPacketName\");var _FPDF_GetXFAPacketContent=Module[\"_FPDF_GetXFAPacketContent\"]=makeInvalidEarlyAccess(\"_FPDF_GetXFAPacketContent\");var _FPDF_GetTrailerEnds=Module[\"_FPDF_GetTrailerEnds\"]=makeInvalidEarlyAccess(\"_FPDF_GetTrailerEnds\");var _fflush=makeInvalidEarlyAccess(\"_fflush\");var _emscripten_stack_get_end=makeInvalidEarlyAccess(\"_emscripten_stack_get_end\");var _emscripten_stack_get_base=makeInvalidEarlyAccess(\"_emscripten_stack_get_base\");var _emscripten_builtin_memalign=makeInvalidEarlyAccess(\"_emscripten_builtin_memalign\");var _strerror=makeInvalidEarlyAccess(\"_strerror\");var _setThrew=makeInvalidEarlyAccess(\"_setThrew\");var _emscripten_stack_init=makeInvalidEarlyAccess(\"_emscripten_stack_init\");var _emscripten_stack_get_free=makeInvalidEarlyAccess(\"_emscripten_stack_get_free\");var __emscripten_stack_restore=makeInvalidEarlyAccess(\"__emscripten_stack_restore\");var __emscripten_stack_alloc=makeInvalidEarlyAccess(\"__emscripten_stack_alloc\");var _emscripten_stack_get_current=makeInvalidEarlyAccess(\"_emscripten_stack_get_current\");function assignWasmExports(wasmExports){Module[\"_PDFium_Init\"]=_PDFium_Init=createExportWrapper(\"PDFium_Init\",0);Module[\"_FPDF_InitLibraryWithConfig\"]=_FPDF_InitLibraryWithConfig=createExportWrapper(\"FPDF_InitLibraryWithConfig\",1);Module[\"_FPDFAnnot_IsSupportedSubtype\"]=_FPDFAnnot_IsSupportedSubtype=createExportWrapper(\"FPDFAnnot_IsSupportedSubtype\",1);Module[\"_FPDFPage_CreateAnnot\"]=_FPDFPage_CreateAnnot=createExportWrapper(\"FPDFPage_CreateAnnot\",2);Module[\"_FPDFPage_GetAnnotCount\"]=_FPDFPage_GetAnnotCount=createExportWrapper(\"FPDFPage_GetAnnotCount\",1);Module[\"_FPDFPage_GetAnnot\"]=_FPDFPage_GetAnnot=createExportWrapper(\"FPDFPage_GetAnnot\",2);Module[\"_FPDFPage_GetAnnotIndex\"]=_FPDFPage_GetAnnotIndex=createExportWrapper(\"FPDFPage_GetAnnotIndex\",2);Module[\"_FPDFPage_CloseAnnot\"]=_FPDFPage_CloseAnnot=createExportWrapper(\"FPDFPage_CloseAnnot\",1);Module[\"_FPDFPage_RemoveAnnot\"]=_FPDFPage_RemoveAnnot=createExportWrapper(\"FPDFPage_RemoveAnnot\",2);Module[\"_FPDFAnnot_GetSubtype\"]=_FPDFAnnot_GetSubtype=createExportWrapper(\"FPDFAnnot_GetSubtype\",1);Module[\"_FPDFAnnot_IsObjectSupportedSubtype\"]=_FPDFAnnot_IsObjectSupportedSubtype=createExportWrapper(\"FPDFAnnot_IsObjectSupportedSubtype\",1);Module[\"_FPDFAnnot_UpdateObject\"]=_FPDFAnnot_UpdateObject=createExportWrapper(\"FPDFAnnot_UpdateObject\",2);Module[\"_FPDFAnnot_AddInkStroke\"]=_FPDFAnnot_AddInkStroke=createExportWrapper(\"FPDFAnnot_AddInkStroke\",3);Module[\"_FPDFAnnot_RemoveInkList\"]=_FPDFAnnot_RemoveInkList=createExportWrapper(\"FPDFAnnot_RemoveInkList\",1);Module[\"_FPDFAnnot_AppendObject\"]=_FPDFAnnot_AppendObject=createExportWrapper(\"FPDFAnnot_AppendObject\",2);Module[\"_FPDFAnnot_GetObjectCount\"]=_FPDFAnnot_GetObjectCount=createExportWrapper(\"FPDFAnnot_GetObjectCount\",1);Module[\"_FPDFAnnot_GetObject\"]=_FPDFAnnot_GetObject=createExportWrapper(\"FPDFAnnot_GetObject\",2);Module[\"_FPDFAnnot_RemoveObject\"]=_FPDFAnnot_RemoveObject=createExportWrapper(\"FPDFAnnot_RemoveObject\",2);Module[\"_FPDFAnnot_SetColor\"]=_FPDFAnnot_SetColor=createExportWrapper(\"FPDFAnnot_SetColor\",6);Module[\"_FPDFAnnot_GetColor\"]=_FPDFAnnot_GetColor=createExportWrapper(\"FPDFAnnot_GetColor\",6);Module[\"_FPDFAnnot_HasAttachmentPoints\"]=_FPDFAnnot_HasAttachmentPoints=createExportWrapper(\"FPDFAnnot_HasAttachmentPoints\",1);Module[\"_FPDFAnnot_SetAttachmentPoints\"]=_FPDFAnnot_SetAttachmentPoints=createExportWrapper(\"FPDFAnnot_SetAttachmentPoints\",3);Module[\"_FPDFAnnot_AppendAttachmentPoints\"]=_FPDFAnnot_AppendAttachmentPoints=createExportWrapper(\"FPDFAnnot_AppendAttachmentPoints\",2);Module[\"_FPDFAnnot_CountAttachmentPoints\"]=_FPDFAnnot_CountAttachmentPoints=createExportWrapper(\"FPDFAnnot_CountAttachmentPoints\",1);Module[\"_FPDFAnnot_GetAttachmentPoints\"]=_FPDFAnnot_GetAttachmentPoints=createExportWrapper(\"FPDFAnnot_GetAttachmentPoints\",3);Module[\"_FPDFAnnot_SetRect\"]=_FPDFAnnot_SetRect=createExportWrapper(\"FPDFAnnot_SetRect\",2);Module[\"_FPDFAnnot_GetRect\"]=_FPDFAnnot_GetRect=createExportWrapper(\"FPDFAnnot_GetRect\",2);Module[\"_FPDFAnnot_GetVertices\"]=_FPDFAnnot_GetVertices=createExportWrapper(\"FPDFAnnot_GetVertices\",3);Module[\"_FPDFAnnot_GetInkListCount\"]=_FPDFAnnot_GetInkListCount=createExportWrapper(\"FPDFAnnot_GetInkListCount\",1);Module[\"_FPDFAnnot_GetInkListPath\"]=_FPDFAnnot_GetInkListPath=createExportWrapper(\"FPDFAnnot_GetInkListPath\",4);Module[\"_FPDFAnnot_GetLine\"]=_FPDFAnnot_GetLine=createExportWrapper(\"FPDFAnnot_GetLine\",3);Module[\"_FPDFAnnot_SetBorder\"]=_FPDFAnnot_SetBorder=createExportWrapper(\"FPDFAnnot_SetBorder\",4);Module[\"_FPDFAnnot_GetBorder\"]=_FPDFAnnot_GetBorder=createExportWrapper(\"FPDFAnnot_GetBorder\",4);Module[\"_FPDFAnnot_HasKey\"]=_FPDFAnnot_HasKey=createExportWrapper(\"FPDFAnnot_HasKey\",2);Module[\"_FPDFAnnot_GetValueType\"]=_FPDFAnnot_GetValueType=createExportWrapper(\"FPDFAnnot_GetValueType\",2);Module[\"_FPDFAnnot_SetStringValue\"]=_FPDFAnnot_SetStringValue=createExportWrapper(\"FPDFAnnot_SetStringValue\",3);Module[\"_FPDFAnnot_GetStringValue\"]=_FPDFAnnot_GetStringValue=createExportWrapper(\"FPDFAnnot_GetStringValue\",4);Module[\"_FPDFAnnot_GetNumberValue\"]=_FPDFAnnot_GetNumberValue=createExportWrapper(\"FPDFAnnot_GetNumberValue\",3);Module[\"_FPDFAnnot_SetAP\"]=_FPDFAnnot_SetAP=createExportWrapper(\"FPDFAnnot_SetAP\",3);Module[\"_FPDFAnnot_GetAP\"]=_FPDFAnnot_GetAP=createExportWrapper(\"FPDFAnnot_GetAP\",4);Module[\"_FPDFAnnot_GetLinkedAnnot\"]=_FPDFAnnot_GetLinkedAnnot=createExportWrapper(\"FPDFAnnot_GetLinkedAnnot\",2);Module[\"_FPDFAnnot_GetFlags\"]=_FPDFAnnot_GetFlags=createExportWrapper(\"FPDFAnnot_GetFlags\",1);Module[\"_FPDFAnnot_SetFlags\"]=_FPDFAnnot_SetFlags=createExportWrapper(\"FPDFAnnot_SetFlags\",2);Module[\"_FPDFAnnot_GetFormFieldFlags\"]=_FPDFAnnot_GetFormFieldFlags=createExportWrapper(\"FPDFAnnot_GetFormFieldFlags\",2);Module[\"_FPDFAnnot_SetFormFieldFlags\"]=_FPDFAnnot_SetFormFieldFlags=createExportWrapper(\"FPDFAnnot_SetFormFieldFlags\",3);Module[\"_FPDFAnnot_GetFormFieldAtPoint\"]=_FPDFAnnot_GetFormFieldAtPoint=createExportWrapper(\"FPDFAnnot_GetFormFieldAtPoint\",3);Module[\"_FPDFAnnot_GetFormFieldName\"]=_FPDFAnnot_GetFormFieldName=createExportWrapper(\"FPDFAnnot_GetFormFieldName\",4);Module[\"_FPDFAnnot_GetFormFieldType\"]=_FPDFAnnot_GetFormFieldType=createExportWrapper(\"FPDFAnnot_GetFormFieldType\",2);Module[\"_FPDFAnnot_GetFormAdditionalActionJavaScript\"]=_FPDFAnnot_GetFormAdditionalActionJavaScript=createExportWrapper(\"FPDFAnnot_GetFormAdditionalActionJavaScript\",5);Module[\"_FPDFAnnot_GetFormFieldAlternateName\"]=_FPDFAnnot_GetFormFieldAlternateName=createExportWrapper(\"FPDFAnnot_GetFormFieldAlternateName\",4);Module[\"_FPDFAnnot_GetFormFieldValue\"]=_FPDFAnnot_GetFormFieldValue=createExportWrapper(\"FPDFAnnot_GetFormFieldValue\",4);Module[\"_FPDFAnnot_GetOptionCount\"]=_FPDFAnnot_GetOptionCount=createExportWrapper(\"FPDFAnnot_GetOptionCount\",2);Module[\"_FPDFAnnot_GetOptionLabel\"]=_FPDFAnnot_GetOptionLabel=createExportWrapper(\"FPDFAnnot_GetOptionLabel\",5);Module[\"_FPDFAnnot_IsOptionSelected\"]=_FPDFAnnot_IsOptionSelected=createExportWrapper(\"FPDFAnnot_IsOptionSelected\",3);Module[\"_FPDFAnnot_GetFontSize\"]=_FPDFAnnot_GetFontSize=createExportWrapper(\"FPDFAnnot_GetFontSize\",3);Module[\"_FPDFAnnot_SetFontColor\"]=_FPDFAnnot_SetFontColor=createExportWrapper(\"FPDFAnnot_SetFontColor\",5);Module[\"_FPDFAnnot_GetFontColor\"]=_FPDFAnnot_GetFontColor=createExportWrapper(\"FPDFAnnot_GetFontColor\",5);Module[\"_FPDFAnnot_IsChecked\"]=_FPDFAnnot_IsChecked=createExportWrapper(\"FPDFAnnot_IsChecked\",2);Module[\"_FPDFAnnot_SetFocusableSubtypes\"]=_FPDFAnnot_SetFocusableSubtypes=createExportWrapper(\"FPDFAnnot_SetFocusableSubtypes\",3);Module[\"_FPDFAnnot_GetFocusableSubtypesCount\"]=_FPDFAnnot_GetFocusableSubtypesCount=createExportWrapper(\"FPDFAnnot_GetFocusableSubtypesCount\",1);Module[\"_FPDFAnnot_GetFocusableSubtypes\"]=_FPDFAnnot_GetFocusableSubtypes=createExportWrapper(\"FPDFAnnot_GetFocusableSubtypes\",3);Module[\"_FPDFAnnot_GetLink\"]=_FPDFAnnot_GetLink=createExportWrapper(\"FPDFAnnot_GetLink\",1);Module[\"_FPDFAnnot_GetFormControlCount\"]=_FPDFAnnot_GetFormControlCount=createExportWrapper(\"FPDFAnnot_GetFormControlCount\",2);Module[\"_FPDFAnnot_GetFormControlIndex\"]=_FPDFAnnot_GetFormControlIndex=createExportWrapper(\"FPDFAnnot_GetFormControlIndex\",2);Module[\"_FPDFAnnot_GetFormFieldExportValue\"]=_FPDFAnnot_GetFormFieldExportValue=createExportWrapper(\"FPDFAnnot_GetFormFieldExportValue\",4);Module[\"_FPDFAnnot_SetURI\"]=_FPDFAnnot_SetURI=createExportWrapper(\"FPDFAnnot_SetURI\",2);Module[\"_FPDFAnnot_GetFileAttachment\"]=_FPDFAnnot_GetFileAttachment=createExportWrapper(\"FPDFAnnot_GetFileAttachment\",1);Module[\"_FPDFAnnot_AddFileAttachment\"]=_FPDFAnnot_AddFileAttachment=createExportWrapper(\"FPDFAnnot_AddFileAttachment\",2);Module[\"_FPDFDoc_GetAttachmentCount\"]=_FPDFDoc_GetAttachmentCount=createExportWrapper(\"FPDFDoc_GetAttachmentCount\",1);Module[\"_FPDFDoc_AddAttachment\"]=_FPDFDoc_AddAttachment=createExportWrapper(\"FPDFDoc_AddAttachment\",2);Module[\"_FPDFDoc_GetAttachment\"]=_FPDFDoc_GetAttachment=createExportWrapper(\"FPDFDoc_GetAttachment\",2);Module[\"_FPDFDoc_DeleteAttachment\"]=_FPDFDoc_DeleteAttachment=createExportWrapper(\"FPDFDoc_DeleteAttachment\",2);Module[\"_FPDFAttachment_GetName\"]=_FPDFAttachment_GetName=createExportWrapper(\"FPDFAttachment_GetName\",3);Module[\"_FPDFAttachment_HasKey\"]=_FPDFAttachment_HasKey=createExportWrapper(\"FPDFAttachment_HasKey\",2);Module[\"_FPDFAttachment_GetValueType\"]=_FPDFAttachment_GetValueType=createExportWrapper(\"FPDFAttachment_GetValueType\",2);Module[\"_FPDFAttachment_SetStringValue\"]=_FPDFAttachment_SetStringValue=createExportWrapper(\"FPDFAttachment_SetStringValue\",3);Module[\"_FPDFAttachment_GetStringValue\"]=_FPDFAttachment_GetStringValue=createExportWrapper(\"FPDFAttachment_GetStringValue\",4);Module[\"_FPDFAttachment_SetFile\"]=_FPDFAttachment_SetFile=createExportWrapper(\"FPDFAttachment_SetFile\",4);Module[\"_FPDFAttachment_GetFile\"]=_FPDFAttachment_GetFile=createExportWrapper(\"FPDFAttachment_GetFile\",4);Module[\"_FPDFAttachment_GetSubtype\"]=_FPDFAttachment_GetSubtype=createExportWrapper(\"FPDFAttachment_GetSubtype\",3);Module[\"_FPDFCatalog_IsTagged\"]=_FPDFCatalog_IsTagged=createExportWrapper(\"FPDFCatalog_IsTagged\",1);Module[\"_FPDFCatalog_SetLanguage\"]=_FPDFCatalog_SetLanguage=createExportWrapper(\"FPDFCatalog_SetLanguage\",2);Module[\"_FPDFAvail_Create\"]=_FPDFAvail_Create=createExportWrapper(\"FPDFAvail_Create\",2);Module[\"_FPDFAvail_Destroy\"]=_FPDFAvail_Destroy=createExportWrapper(\"FPDFAvail_Destroy\",1);Module[\"_FPDFAvail_IsDocAvail\"]=_FPDFAvail_IsDocAvail=createExportWrapper(\"FPDFAvail_IsDocAvail\",2);Module[\"_FPDFAvail_GetDocument\"]=_FPDFAvail_GetDocument=createExportWrapper(\"FPDFAvail_GetDocument\",2);Module[\"_FPDFAvail_GetFirstPageNum\"]=_FPDFAvail_GetFirstPageNum=createExportWrapper(\"FPDFAvail_GetFirstPageNum\",1);Module[\"_FPDFAvail_IsPageAvail\"]=_FPDFAvail_IsPageAvail=createExportWrapper(\"FPDFAvail_IsPageAvail\",3);Module[\"_FPDFAvail_IsFormAvail\"]=_FPDFAvail_IsFormAvail=createExportWrapper(\"FPDFAvail_IsFormAvail\",2);Module[\"_FPDFAvail_IsLinearized\"]=_FPDFAvail_IsLinearized=createExportWrapper(\"FPDFAvail_IsLinearized\",1);Module[\"_FPDFBookmark_GetFirstChild\"]=_FPDFBookmark_GetFirstChild=createExportWrapper(\"FPDFBookmark_GetFirstChild\",2);Module[\"_FPDFBookmark_GetNextSibling\"]=_FPDFBookmark_GetNextSibling=createExportWrapper(\"FPDFBookmark_GetNextSibling\",2);Module[\"_FPDFBookmark_GetTitle\"]=_FPDFBookmark_GetTitle=createExportWrapper(\"FPDFBookmark_GetTitle\",3);Module[\"_FPDFBookmark_GetCount\"]=_FPDFBookmark_GetCount=createExportWrapper(\"FPDFBookmark_GetCount\",1);Module[\"_FPDFBookmark_Find\"]=_FPDFBookmark_Find=createExportWrapper(\"FPDFBookmark_Find\",2);Module[\"_FPDFBookmark_GetDest\"]=_FPDFBookmark_GetDest=createExportWrapper(\"FPDFBookmark_GetDest\",2);Module[\"_FPDFBookmark_GetAction\"]=_FPDFBookmark_GetAction=createExportWrapper(\"FPDFBookmark_GetAction\",1);Module[\"_FPDFAction_GetType\"]=_FPDFAction_GetType=createExportWrapper(\"FPDFAction_GetType\",1);Module[\"_FPDFAction_GetDest\"]=_FPDFAction_GetDest=createExportWrapper(\"FPDFAction_GetDest\",2);Module[\"_FPDFAction_GetFilePath\"]=_FPDFAction_GetFilePath=createExportWrapper(\"FPDFAction_GetFilePath\",3);Module[\"_FPDFAction_GetURIPath\"]=_FPDFAction_GetURIPath=createExportWrapper(\"FPDFAction_GetURIPath\",4);Module[\"_FPDFDest_GetDestPageIndex\"]=_FPDFDest_GetDestPageIndex=createExportWrapper(\"FPDFDest_GetDestPageIndex\",2);Module[\"_FPDFDest_GetView\"]=_FPDFDest_GetView=createExportWrapper(\"FPDFDest_GetView\",3);Module[\"_FPDFDest_GetLocationInPage\"]=_FPDFDest_GetLocationInPage=createExportWrapper(\"FPDFDest_GetLocationInPage\",7);Module[\"_FPDFLink_GetLinkAtPoint\"]=_FPDFLink_GetLinkAtPoint=createExportWrapper(\"FPDFLink_GetLinkAtPoint\",3);Module[\"_FPDFLink_GetLinkZOrderAtPoint\"]=_FPDFLink_GetLinkZOrderAtPoint=createExportWrapper(\"FPDFLink_GetLinkZOrderAtPoint\",3);Module[\"_FPDFLink_GetDest\"]=_FPDFLink_GetDest=createExportWrapper(\"FPDFLink_GetDest\",2);Module[\"_FPDFLink_GetAction\"]=_FPDFLink_GetAction=createExportWrapper(\"FPDFLink_GetAction\",1);Module[\"_FPDFLink_Enumerate\"]=_FPDFLink_Enumerate=createExportWrapper(\"FPDFLink_Enumerate\",3);Module[\"_FPDFLink_GetAnnot\"]=_FPDFLink_GetAnnot=createExportWrapper(\"FPDFLink_GetAnnot\",2);Module[\"_FPDFLink_GetAnnotRect\"]=_FPDFLink_GetAnnotRect=createExportWrapper(\"FPDFLink_GetAnnotRect\",2);Module[\"_FPDFLink_CountQuadPoints\"]=_FPDFLink_CountQuadPoints=createExportWrapper(\"FPDFLink_CountQuadPoints\",1);Module[\"_FPDFLink_GetQuadPoints\"]=_FPDFLink_GetQuadPoints=createExportWrapper(\"FPDFLink_GetQuadPoints\",3);Module[\"_FPDF_GetPageAAction\"]=_FPDF_GetPageAAction=createExportWrapper(\"FPDF_GetPageAAction\",2);Module[\"_FPDF_GetFileIdentifier\"]=_FPDF_GetFileIdentifier=createExportWrapper(\"FPDF_GetFileIdentifier\",4);Module[\"_FPDF_GetMetaText\"]=_FPDF_GetMetaText=createExportWrapper(\"FPDF_GetMetaText\",4);Module[\"_FPDF_GetPageLabel\"]=_FPDF_GetPageLabel=createExportWrapper(\"FPDF_GetPageLabel\",4);Module[\"_FPDFPageObj_NewImageObj\"]=_FPDFPageObj_NewImageObj=createExportWrapper(\"FPDFPageObj_NewImageObj\",1);Module[\"_FPDFImageObj_LoadJpegFile\"]=_FPDFImageObj_LoadJpegFile=createExportWrapper(\"FPDFImageObj_LoadJpegFile\",4);Module[\"_FPDFImageObj_LoadJpegFileInline\"]=_FPDFImageObj_LoadJpegFileInline=createExportWrapper(\"FPDFImageObj_LoadJpegFileInline\",4);Module[\"_FPDFImageObj_SetMatrix\"]=_FPDFImageObj_SetMatrix=createExportWrapper(\"FPDFImageObj_SetMatrix\",7);Module[\"_FPDFImageObj_SetBitmap\"]=_FPDFImageObj_SetBitmap=createExportWrapper(\"FPDFImageObj_SetBitmap\",4);Module[\"_FPDFImageObj_GetBitmap\"]=_FPDFImageObj_GetBitmap=createExportWrapper(\"FPDFImageObj_GetBitmap\",1);Module[\"_FPDFImageObj_GetRenderedBitmap\"]=_FPDFImageObj_GetRenderedBitmap=createExportWrapper(\"FPDFImageObj_GetRenderedBitmap\",3);Module[\"_FPDFImageObj_GetImageDataDecoded\"]=_FPDFImageObj_GetImageDataDecoded=createExportWrapper(\"FPDFImageObj_GetImageDataDecoded\",3);Module[\"_FPDFImageObj_GetImageDataRaw\"]=_FPDFImageObj_GetImageDataRaw=createExportWrapper(\"FPDFImageObj_GetImageDataRaw\",3);Module[\"_FPDFImageObj_GetImageFilterCount\"]=_FPDFImageObj_GetImageFilterCount=createExportWrapper(\"FPDFImageObj_GetImageFilterCount\",1);Module[\"_FPDFImageObj_GetImageFilter\"]=_FPDFImageObj_GetImageFilter=createExportWrapper(\"FPDFImageObj_GetImageFilter\",4);Module[\"_FPDFImageObj_GetImageMetadata\"]=_FPDFImageObj_GetImageMetadata=createExportWrapper(\"FPDFImageObj_GetImageMetadata\",3);Module[\"_FPDFImageObj_GetImagePixelSize\"]=_FPDFImageObj_GetImagePixelSize=createExportWrapper(\"FPDFImageObj_GetImagePixelSize\",3);Module[\"_FPDFImageObj_GetIccProfileDataDecoded\"]=_FPDFImageObj_GetIccProfileDataDecoded=createExportWrapper(\"FPDFImageObj_GetIccProfileDataDecoded\",5);Module[\"_FPDF_CreateNewDocument\"]=_FPDF_CreateNewDocument=createExportWrapper(\"FPDF_CreateNewDocument\",0);Module[\"_FPDFPage_Delete\"]=_FPDFPage_Delete=createExportWrapper(\"FPDFPage_Delete\",2);Module[\"_FPDF_MovePages\"]=_FPDF_MovePages=createExportWrapper(\"FPDF_MovePages\",4);Module[\"_FPDFPage_New\"]=_FPDFPage_New=createExportWrapper(\"FPDFPage_New\",4);Module[\"_FPDFPage_GetRotation\"]=_FPDFPage_GetRotation=createExportWrapper(\"FPDFPage_GetRotation\",1);Module[\"_FPDFPage_InsertObject\"]=_FPDFPage_InsertObject=createExportWrapper(\"FPDFPage_InsertObject\",2);Module[\"_FPDFPage_InsertObjectAtIndex\"]=_FPDFPage_InsertObjectAtIndex=createExportWrapper(\"FPDFPage_InsertObjectAtIndex\",3);Module[\"_FPDFPage_RemoveObject\"]=_FPDFPage_RemoveObject=createExportWrapper(\"FPDFPage_RemoveObject\",2);Module[\"_FPDFPage_CountObjects\"]=_FPDFPage_CountObjects=createExportWrapper(\"FPDFPage_CountObjects\",1);Module[\"_FPDFPage_GetObject\"]=_FPDFPage_GetObject=createExportWrapper(\"FPDFPage_GetObject\",2);Module[\"_FPDFPage_HasTransparency\"]=_FPDFPage_HasTransparency=createExportWrapper(\"FPDFPage_HasTransparency\",1);Module[\"_FPDFPageObj_Destroy\"]=_FPDFPageObj_Destroy=createExportWrapper(\"FPDFPageObj_Destroy\",1);Module[\"_FPDFPageObj_GetMarkedContentID\"]=_FPDFPageObj_GetMarkedContentID=createExportWrapper(\"FPDFPageObj_GetMarkedContentID\",1);Module[\"_FPDFPageObj_CountMarks\"]=_FPDFPageObj_CountMarks=createExportWrapper(\"FPDFPageObj_CountMarks\",1);Module[\"_FPDFPageObj_GetMark\"]=_FPDFPageObj_GetMark=createExportWrapper(\"FPDFPageObj_GetMark\",2);Module[\"_FPDFPageObj_AddMark\"]=_FPDFPageObj_AddMark=createExportWrapper(\"FPDFPageObj_AddMark\",2);Module[\"_FPDFPageObj_RemoveMark\"]=_FPDFPageObj_RemoveMark=createExportWrapper(\"FPDFPageObj_RemoveMark\",2);Module[\"_FPDFPageObjMark_GetName\"]=_FPDFPageObjMark_GetName=createExportWrapper(\"FPDFPageObjMark_GetName\",4);Module[\"_FPDFPageObjMark_CountParams\"]=_FPDFPageObjMark_CountParams=createExportWrapper(\"FPDFPageObjMark_CountParams\",1);Module[\"_FPDFPageObjMark_GetParamKey\"]=_FPDFPageObjMark_GetParamKey=createExportWrapper(\"FPDFPageObjMark_GetParamKey\",5);Module[\"_FPDFPageObjMark_GetParamValueType\"]=_FPDFPageObjMark_GetParamValueType=createExportWrapper(\"FPDFPageObjMark_GetParamValueType\",2);Module[\"_FPDFPageObjMark_GetParamIntValue\"]=_FPDFPageObjMark_GetParamIntValue=createExportWrapper(\"FPDFPageObjMark_GetParamIntValue\",3);Module[\"_FPDFPageObjMark_GetParamFloatValue\"]=_FPDFPageObjMark_GetParamFloatValue=createExportWrapper(\"FPDFPageObjMark_GetParamFloatValue\",3);Module[\"_FPDFPageObjMark_GetParamStringValue\"]=_FPDFPageObjMark_GetParamStringValue=createExportWrapper(\"FPDFPageObjMark_GetParamStringValue\",5);Module[\"_FPDFPageObjMark_GetParamBlobValue\"]=_FPDFPageObjMark_GetParamBlobValue=createExportWrapper(\"FPDFPageObjMark_GetParamBlobValue\",5);Module[\"_FPDFPageObj_HasTransparency\"]=_FPDFPageObj_HasTransparency=createExportWrapper(\"FPDFPageObj_HasTransparency\",1);Module[\"_FPDFPageObjMark_SetIntParam\"]=_FPDFPageObjMark_SetIntParam=createExportWrapper(\"FPDFPageObjMark_SetIntParam\",5);Module[\"_FPDFPageObjMark_SetFloatParam\"]=_FPDFPageObjMark_SetFloatParam=createExportWrapper(\"FPDFPageObjMark_SetFloatParam\",5);Module[\"_FPDFPageObjMark_SetStringParam\"]=_FPDFPageObjMark_SetStringParam=createExportWrapper(\"FPDFPageObjMark_SetStringParam\",5);Module[\"_FPDFPageObjMark_SetBlobParam\"]=_FPDFPageObjMark_SetBlobParam=createExportWrapper(\"FPDFPageObjMark_SetBlobParam\",6);Module[\"_FPDFPageObjMark_RemoveParam\"]=_FPDFPageObjMark_RemoveParam=createExportWrapper(\"FPDFPageObjMark_RemoveParam\",3);Module[\"_FPDFPageObj_GetType\"]=_FPDFPageObj_GetType=createExportWrapper(\"FPDFPageObj_GetType\",1);Module[\"_FPDFPageObj_GetIsActive\"]=_FPDFPageObj_GetIsActive=createExportWrapper(\"FPDFPageObj_GetIsActive\",2);Module[\"_FPDFPageObj_SetIsActive\"]=_FPDFPageObj_SetIsActive=createExportWrapper(\"FPDFPageObj_SetIsActive\",2);Module[\"_FPDFPage_GenerateContent\"]=_FPDFPage_GenerateContent=createExportWrapper(\"FPDFPage_GenerateContent\",1);Module[\"_FPDFPageObj_Transform\"]=_FPDFPageObj_Transform=createExportWrapper(\"FPDFPageObj_Transform\",7);Module[\"_FPDFPageObj_TransformF\"]=_FPDFPageObj_TransformF=createExportWrapper(\"FPDFPageObj_TransformF\",2);Module[\"_FPDFPageObj_GetMatrix\"]=_FPDFPageObj_GetMatrix=createExportWrapper(\"FPDFPageObj_GetMatrix\",2);Module[\"_FPDFPageObj_SetMatrix\"]=_FPDFPageObj_SetMatrix=createExportWrapper(\"FPDFPageObj_SetMatrix\",2);Module[\"_FPDFPageObj_SetBlendMode\"]=_FPDFPageObj_SetBlendMode=createExportWrapper(\"FPDFPageObj_SetBlendMode\",2);Module[\"_FPDFPage_TransformAnnots\"]=_FPDFPage_TransformAnnots=createExportWrapper(\"FPDFPage_TransformAnnots\",7);Module[\"_FPDFPage_SetRotation\"]=_FPDFPage_SetRotation=createExportWrapper(\"FPDFPage_SetRotation\",2);Module[\"_FPDFPageObj_SetFillColor\"]=_FPDFPageObj_SetFillColor=createExportWrapper(\"FPDFPageObj_SetFillColor\",5);Module[\"_FPDFPageObj_GetFillColor\"]=_FPDFPageObj_GetFillColor=createExportWrapper(\"FPDFPageObj_GetFillColor\",5);Module[\"_FPDFPageObj_GetBounds\"]=_FPDFPageObj_GetBounds=createExportWrapper(\"FPDFPageObj_GetBounds\",5);Module[\"_FPDFPageObj_GetRotatedBounds\"]=_FPDFPageObj_GetRotatedBounds=createExportWrapper(\"FPDFPageObj_GetRotatedBounds\",2);Module[\"_FPDFPageObj_SetStrokeColor\"]=_FPDFPageObj_SetStrokeColor=createExportWrapper(\"FPDFPageObj_SetStrokeColor\",5);Module[\"_FPDFPageObj_GetStrokeColor\"]=_FPDFPageObj_GetStrokeColor=createExportWrapper(\"FPDFPageObj_GetStrokeColor\",5);Module[\"_FPDFPageObj_SetStrokeWidth\"]=_FPDFPageObj_SetStrokeWidth=createExportWrapper(\"FPDFPageObj_SetStrokeWidth\",2);Module[\"_FPDFPageObj_GetStrokeWidth\"]=_FPDFPageObj_GetStrokeWidth=createExportWrapper(\"FPDFPageObj_GetStrokeWidth\",2);Module[\"_FPDFPageObj_GetLineJoin\"]=_FPDFPageObj_GetLineJoin=createExportWrapper(\"FPDFPageObj_GetLineJoin\",1);Module[\"_FPDFPageObj_SetLineJoin\"]=_FPDFPageObj_SetLineJoin=createExportWrapper(\"FPDFPageObj_SetLineJoin\",2);Module[\"_FPDFPageObj_GetLineCap\"]=_FPDFPageObj_GetLineCap=createExportWrapper(\"FPDFPageObj_GetLineCap\",1);Module[\"_FPDFPageObj_SetLineCap\"]=_FPDFPageObj_SetLineCap=createExportWrapper(\"FPDFPageObj_SetLineCap\",2);Module[\"_FPDFPageObj_GetDashPhase\"]=_FPDFPageObj_GetDashPhase=createExportWrapper(\"FPDFPageObj_GetDashPhase\",2);Module[\"_FPDFPageObj_SetDashPhase\"]=_FPDFPageObj_SetDashPhase=createExportWrapper(\"FPDFPageObj_SetDashPhase\",2);Module[\"_FPDFPageObj_GetDashCount\"]=_FPDFPageObj_GetDashCount=createExportWrapper(\"FPDFPageObj_GetDashCount\",1);Module[\"_FPDFPageObj_GetDashArray\"]=_FPDFPageObj_GetDashArray=createExportWrapper(\"FPDFPageObj_GetDashArray\",3);Module[\"_FPDFPageObj_SetDashArray\"]=_FPDFPageObj_SetDashArray=createExportWrapper(\"FPDFPageObj_SetDashArray\",4);Module[\"_FPDFFormObj_CountObjects\"]=_FPDFFormObj_CountObjects=createExportWrapper(\"FPDFFormObj_CountObjects\",1);Module[\"_FPDFFormObj_GetObject\"]=_FPDFFormObj_GetObject=createExportWrapper(\"FPDFFormObj_GetObject\",2);Module[\"_FPDFFormObj_RemoveObject\"]=_FPDFFormObj_RemoveObject=createExportWrapper(\"FPDFFormObj_RemoveObject\",2);Module[\"_FPDFPageObj_CreateNewPath\"]=_FPDFPageObj_CreateNewPath=createExportWrapper(\"FPDFPageObj_CreateNewPath\",2);Module[\"_FPDFPageObj_CreateNewRect\"]=_FPDFPageObj_CreateNewRect=createExportWrapper(\"FPDFPageObj_CreateNewRect\",4);Module[\"_FPDFPath_CountSegments\"]=_FPDFPath_CountSegments=createExportWrapper(\"FPDFPath_CountSegments\",1);Module[\"_FPDFPath_GetPathSegment\"]=_FPDFPath_GetPathSegment=createExportWrapper(\"FPDFPath_GetPathSegment\",2);Module[\"_FPDFPath_MoveTo\"]=_FPDFPath_MoveTo=createExportWrapper(\"FPDFPath_MoveTo\",3);Module[\"_FPDFPath_LineTo\"]=_FPDFPath_LineTo=createExportWrapper(\"FPDFPath_LineTo\",3);Module[\"_FPDFPath_BezierTo\"]=_FPDFPath_BezierTo=createExportWrapper(\"FPDFPath_BezierTo\",7);Module[\"_FPDFPath_Close\"]=_FPDFPath_Close=createExportWrapper(\"FPDFPath_Close\",1);Module[\"_FPDFPath_SetDrawMode\"]=_FPDFPath_SetDrawMode=createExportWrapper(\"FPDFPath_SetDrawMode\",3);Module[\"_FPDFPath_GetDrawMode\"]=_FPDFPath_GetDrawMode=createExportWrapper(\"FPDFPath_GetDrawMode\",3);Module[\"_FPDFPathSegment_GetPoint\"]=_FPDFPathSegment_GetPoint=createExportWrapper(\"FPDFPathSegment_GetPoint\",3);Module[\"_FPDFPathSegment_GetType\"]=_FPDFPathSegment_GetType=createExportWrapper(\"FPDFPathSegment_GetType\",1);Module[\"_FPDFPathSegment_GetClose\"]=_FPDFPathSegment_GetClose=createExportWrapper(\"FPDFPathSegment_GetClose\",1);Module[\"_FPDFPageObj_NewTextObj\"]=_FPDFPageObj_NewTextObj=createExportWrapper(\"FPDFPageObj_NewTextObj\",3);Module[\"_FPDFText_SetText\"]=_FPDFText_SetText=createExportWrapper(\"FPDFText_SetText\",2);Module[\"_FPDFText_SetCharcodes\"]=_FPDFText_SetCharcodes=createExportWrapper(\"FPDFText_SetCharcodes\",3);Module[\"_FPDFText_LoadFont\"]=_FPDFText_LoadFont=createExportWrapper(\"FPDFText_LoadFont\",5);Module[\"_FPDFText_LoadStandardFont\"]=_FPDFText_LoadStandardFont=createExportWrapper(\"FPDFText_LoadStandardFont\",2);Module[\"_FPDFText_LoadCidType2Font\"]=_FPDFText_LoadCidType2Font=createExportWrapper(\"FPDFText_LoadCidType2Font\",6);Module[\"_FPDFTextObj_GetFontSize\"]=_FPDFTextObj_GetFontSize=createExportWrapper(\"FPDFTextObj_GetFontSize\",2);Module[\"_FPDFTextObj_GetText\"]=_FPDFTextObj_GetText=createExportWrapper(\"FPDFTextObj_GetText\",4);Module[\"_FPDFTextObj_GetRenderedBitmap\"]=_FPDFTextObj_GetRenderedBitmap=createExportWrapper(\"FPDFTextObj_GetRenderedBitmap\",4);Module[\"_FPDFFont_Close\"]=_FPDFFont_Close=createExportWrapper(\"FPDFFont_Close\",1);Module[\"_FPDFPageObj_CreateTextObj\"]=_FPDFPageObj_CreateTextObj=createExportWrapper(\"FPDFPageObj_CreateTextObj\",3);Module[\"_FPDFTextObj_GetTextRenderMode\"]=_FPDFTextObj_GetTextRenderMode=createExportWrapper(\"FPDFTextObj_GetTextRenderMode\",1);Module[\"_FPDFTextObj_SetTextRenderMode\"]=_FPDFTextObj_SetTextRenderMode=createExportWrapper(\"FPDFTextObj_SetTextRenderMode\",2);Module[\"_FPDFTextObj_GetFont\"]=_FPDFTextObj_GetFont=createExportWrapper(\"FPDFTextObj_GetFont\",1);Module[\"_FPDFFont_GetBaseFontName\"]=_FPDFFont_GetBaseFontName=createExportWrapper(\"FPDFFont_GetBaseFontName\",3);Module[\"_FPDFFont_GetFamilyName\"]=_FPDFFont_GetFamilyName=createExportWrapper(\"FPDFFont_GetFamilyName\",3);Module[\"_FPDFFont_GetFontData\"]=_FPDFFont_GetFontData=createExportWrapper(\"FPDFFont_GetFontData\",4);Module[\"_FPDFFont_GetIsEmbedded\"]=_FPDFFont_GetIsEmbedded=createExportWrapper(\"FPDFFont_GetIsEmbedded\",1);Module[\"_FPDFFont_GetFlags\"]=_FPDFFont_GetFlags=createExportWrapper(\"FPDFFont_GetFlags\",1);Module[\"_FPDFFont_GetWeight\"]=_FPDFFont_GetWeight=createExportWrapper(\"FPDFFont_GetWeight\",1);Module[\"_FPDFFont_GetItalicAngle\"]=_FPDFFont_GetItalicAngle=createExportWrapper(\"FPDFFont_GetItalicAngle\",2);Module[\"_FPDFFont_GetAscent\"]=_FPDFFont_GetAscent=createExportWrapper(\"FPDFFont_GetAscent\",3);Module[\"_FPDFFont_GetDescent\"]=_FPDFFont_GetDescent=createExportWrapper(\"FPDFFont_GetDescent\",3);Module[\"_FPDFFont_GetGlyphWidth\"]=_FPDFFont_GetGlyphWidth=createExportWrapper(\"FPDFFont_GetGlyphWidth\",4);Module[\"_FPDFFont_GetGlyphPath\"]=_FPDFFont_GetGlyphPath=createExportWrapper(\"FPDFFont_GetGlyphPath\",3);Module[\"_FPDFGlyphPath_CountGlyphSegments\"]=_FPDFGlyphPath_CountGlyphSegments=createExportWrapper(\"FPDFGlyphPath_CountGlyphSegments\",1);Module[\"_FPDFGlyphPath_GetGlyphPathSegment\"]=_FPDFGlyphPath_GetGlyphPathSegment=createExportWrapper(\"FPDFGlyphPath_GetGlyphPathSegment\",2);Module[\"_FSDK_SetUnSpObjProcessHandler\"]=_FSDK_SetUnSpObjProcessHandler=createExportWrapper(\"FSDK_SetUnSpObjProcessHandler\",1);Module[\"_FSDK_SetTimeFunction\"]=_FSDK_SetTimeFunction=createExportWrapper(\"FSDK_SetTimeFunction\",1);Module[\"_FSDK_SetLocaltimeFunction\"]=_FSDK_SetLocaltimeFunction=createExportWrapper(\"FSDK_SetLocaltimeFunction\",1);Module[\"_FPDFDoc_GetPageMode\"]=_FPDFDoc_GetPageMode=createExportWrapper(\"FPDFDoc_GetPageMode\",1);Module[\"_FPDFPage_Flatten\"]=_FPDFPage_Flatten=createExportWrapper(\"FPDFPage_Flatten\",2);Module[\"_FPDFPage_HasFormFieldAtPoint\"]=_FPDFPage_HasFormFieldAtPoint=createExportWrapper(\"FPDFPage_HasFormFieldAtPoint\",4);Module[\"_FPDFPage_FormFieldZOrderAtPoint\"]=_FPDFPage_FormFieldZOrderAtPoint=createExportWrapper(\"FPDFPage_FormFieldZOrderAtPoint\",4);Module[\"_FPDFDOC_InitFormFillEnvironment\"]=_FPDFDOC_InitFormFillEnvironment=createExportWrapper(\"FPDFDOC_InitFormFillEnvironment\",2);Module[\"_FPDFDOC_ExitFormFillEnvironment\"]=_FPDFDOC_ExitFormFillEnvironment=createExportWrapper(\"FPDFDOC_ExitFormFillEnvironment\",1);Module[\"_FORM_OnMouseMove\"]=_FORM_OnMouseMove=createExportWrapper(\"FORM_OnMouseMove\",5);Module[\"_FORM_OnMouseWheel\"]=_FORM_OnMouseWheel=createExportWrapper(\"FORM_OnMouseWheel\",6);Module[\"_FORM_OnFocus\"]=_FORM_OnFocus=createExportWrapper(\"FORM_OnFocus\",5);Module[\"_FORM_OnLButtonDown\"]=_FORM_OnLButtonDown=createExportWrapper(\"FORM_OnLButtonDown\",5);Module[\"_FORM_OnLButtonUp\"]=_FORM_OnLButtonUp=createExportWrapper(\"FORM_OnLButtonUp\",5);Module[\"_FORM_OnLButtonDoubleClick\"]=_FORM_OnLButtonDoubleClick=createExportWrapper(\"FORM_OnLButtonDoubleClick\",5);Module[\"_FORM_OnRButtonDown\"]=_FORM_OnRButtonDown=createExportWrapper(\"FORM_OnRButtonDown\",5);Module[\"_FORM_OnRButtonUp\"]=_FORM_OnRButtonUp=createExportWrapper(\"FORM_OnRButtonUp\",5);Module[\"_FORM_OnKeyDown\"]=_FORM_OnKeyDown=createExportWrapper(\"FORM_OnKeyDown\",4);Module[\"_FORM_OnKeyUp\"]=_FORM_OnKeyUp=createExportWrapper(\"FORM_OnKeyUp\",4);Module[\"_FORM_OnChar\"]=_FORM_OnChar=createExportWrapper(\"FORM_OnChar\",4);Module[\"_FORM_GetFocusedText\"]=_FORM_GetFocusedText=createExportWrapper(\"FORM_GetFocusedText\",4);Module[\"_FORM_GetSelectedText\"]=_FORM_GetSelectedText=createExportWrapper(\"FORM_GetSelectedText\",4);Module[\"_FORM_ReplaceAndKeepSelection\"]=_FORM_ReplaceAndKeepSelection=createExportWrapper(\"FORM_ReplaceAndKeepSelection\",3);Module[\"_FORM_ReplaceSelection\"]=_FORM_ReplaceSelection=createExportWrapper(\"FORM_ReplaceSelection\",3);Module[\"_FORM_SelectAllText\"]=_FORM_SelectAllText=createExportWrapper(\"FORM_SelectAllText\",2);Module[\"_FORM_CanUndo\"]=_FORM_CanUndo=createExportWrapper(\"FORM_CanUndo\",2);Module[\"_FORM_CanRedo\"]=_FORM_CanRedo=createExportWrapper(\"FORM_CanRedo\",2);Module[\"_FORM_Undo\"]=_FORM_Undo=createExportWrapper(\"FORM_Undo\",2);Module[\"_FORM_Redo\"]=_FORM_Redo=createExportWrapper(\"FORM_Redo\",2);Module[\"_FORM_ForceToKillFocus\"]=_FORM_ForceToKillFocus=createExportWrapper(\"FORM_ForceToKillFocus\",1);Module[\"_FORM_GetFocusedAnnot\"]=_FORM_GetFocusedAnnot=createExportWrapper(\"FORM_GetFocusedAnnot\",3);Module[\"_FORM_SetFocusedAnnot\"]=_FORM_SetFocusedAnnot=createExportWrapper(\"FORM_SetFocusedAnnot\",2);Module[\"_FPDF_FFLDraw\"]=_FPDF_FFLDraw=createExportWrapper(\"FPDF_FFLDraw\",9);Module[\"_FPDF_SetFormFieldHighlightColor\"]=_FPDF_SetFormFieldHighlightColor=createExportWrapper(\"FPDF_SetFormFieldHighlightColor\",3);Module[\"_FPDF_SetFormFieldHighlightAlpha\"]=_FPDF_SetFormFieldHighlightAlpha=createExportWrapper(\"FPDF_SetFormFieldHighlightAlpha\",2);Module[\"_FPDF_RemoveFormFieldHighlight\"]=_FPDF_RemoveFormFieldHighlight=createExportWrapper(\"FPDF_RemoveFormFieldHighlight\",1);Module[\"_FORM_OnAfterLoadPage\"]=_FORM_OnAfterLoadPage=createExportWrapper(\"FORM_OnAfterLoadPage\",2);Module[\"_FORM_OnBeforeClosePage\"]=_FORM_OnBeforeClosePage=createExportWrapper(\"FORM_OnBeforeClosePage\",2);Module[\"_FORM_DoDocumentJSAction\"]=_FORM_DoDocumentJSAction=createExportWrapper(\"FORM_DoDocumentJSAction\",1);Module[\"_FORM_DoDocumentOpenAction\"]=_FORM_DoDocumentOpenAction=createExportWrapper(\"FORM_DoDocumentOpenAction\",1);Module[\"_FORM_DoDocumentAAction\"]=_FORM_DoDocumentAAction=createExportWrapper(\"FORM_DoDocumentAAction\",2);Module[\"_FORM_DoPageAAction\"]=_FORM_DoPageAAction=createExportWrapper(\"FORM_DoPageAAction\",3);Module[\"_FORM_SetIndexSelected\"]=_FORM_SetIndexSelected=createExportWrapper(\"FORM_SetIndexSelected\",4);Module[\"_FORM_IsIndexSelected\"]=_FORM_IsIndexSelected=createExportWrapper(\"FORM_IsIndexSelected\",3);Module[\"_FPDFDoc_GetJavaScriptActionCount\"]=_FPDFDoc_GetJavaScriptActionCount=createExportWrapper(\"FPDFDoc_GetJavaScriptActionCount\",1);Module[\"_FPDFDoc_GetJavaScriptAction\"]=_FPDFDoc_GetJavaScriptAction=createExportWrapper(\"FPDFDoc_GetJavaScriptAction\",2);Module[\"_FPDFDoc_CloseJavaScriptAction\"]=_FPDFDoc_CloseJavaScriptAction=createExportWrapper(\"FPDFDoc_CloseJavaScriptAction\",1);Module[\"_FPDFJavaScriptAction_GetName\"]=_FPDFJavaScriptAction_GetName=createExportWrapper(\"FPDFJavaScriptAction_GetName\",3);Module[\"_FPDFJavaScriptAction_GetScript\"]=_FPDFJavaScriptAction_GetScript=createExportWrapper(\"FPDFJavaScriptAction_GetScript\",3);Module[\"_FPDF_ImportPagesByIndex\"]=_FPDF_ImportPagesByIndex=createExportWrapper(\"FPDF_ImportPagesByIndex\",5);Module[\"_FPDF_ImportPages\"]=_FPDF_ImportPages=createExportWrapper(\"FPDF_ImportPages\",4);Module[\"_FPDF_ImportNPagesToOne\"]=_FPDF_ImportNPagesToOne=createExportWrapper(\"FPDF_ImportNPagesToOne\",5);Module[\"_FPDF_NewXObjectFromPage\"]=_FPDF_NewXObjectFromPage=createExportWrapper(\"FPDF_NewXObjectFromPage\",3);Module[\"_FPDF_CloseXObject\"]=_FPDF_CloseXObject=createExportWrapper(\"FPDF_CloseXObject\",1);Module[\"_FPDF_NewFormObjectFromXObject\"]=_FPDF_NewFormObjectFromXObject=createExportWrapper(\"FPDF_NewFormObjectFromXObject\",1);Module[\"_FPDF_CopyViewerPreferences\"]=_FPDF_CopyViewerPreferences=createExportWrapper(\"FPDF_CopyViewerPreferences\",2);Module[\"_FPDF_RenderPageBitmapWithColorScheme_Start\"]=_FPDF_RenderPageBitmapWithColorScheme_Start=createExportWrapper(\"FPDF_RenderPageBitmapWithColorScheme_Start\",10);Module[\"_FPDF_RenderPageBitmap_Start\"]=_FPDF_RenderPageBitmap_Start=createExportWrapper(\"FPDF_RenderPageBitmap_Start\",9);Module[\"_FPDF_RenderPage_Continue\"]=_FPDF_RenderPage_Continue=createExportWrapper(\"FPDF_RenderPage_Continue\",2);Module[\"_FPDF_RenderPage_Close\"]=_FPDF_RenderPage_Close=createExportWrapper(\"FPDF_RenderPage_Close\",1);Module[\"_FPDF_SaveAsCopy\"]=_FPDF_SaveAsCopy=createExportWrapper(\"FPDF_SaveAsCopy\",3);Module[\"_FPDF_SaveWithVersion\"]=_FPDF_SaveWithVersion=createExportWrapper(\"FPDF_SaveWithVersion\",4);Module[\"_FPDFText_GetCharIndexFromTextIndex\"]=_FPDFText_GetCharIndexFromTextIndex=createExportWrapper(\"FPDFText_GetCharIndexFromTextIndex\",2);Module[\"_FPDFText_GetTextIndexFromCharIndex\"]=_FPDFText_GetTextIndexFromCharIndex=createExportWrapper(\"FPDFText_GetTextIndexFromCharIndex\",2);Module[\"_FPDF_GetSignatureCount\"]=_FPDF_GetSignatureCount=createExportWrapper(\"FPDF_GetSignatureCount\",1);Module[\"_FPDF_GetSignatureObject\"]=_FPDF_GetSignatureObject=createExportWrapper(\"FPDF_GetSignatureObject\",2);Module[\"_FPDFSignatureObj_GetContents\"]=_FPDFSignatureObj_GetContents=createExportWrapper(\"FPDFSignatureObj_GetContents\",3);Module[\"_FPDFSignatureObj_GetByteRange\"]=_FPDFSignatureObj_GetByteRange=createExportWrapper(\"FPDFSignatureObj_GetByteRange\",3);Module[\"_FPDFSignatureObj_GetSubFilter\"]=_FPDFSignatureObj_GetSubFilter=createExportWrapper(\"FPDFSignatureObj_GetSubFilter\",3);Module[\"_FPDFSignatureObj_GetReason\"]=_FPDFSignatureObj_GetReason=createExportWrapper(\"FPDFSignatureObj_GetReason\",3);Module[\"_FPDFSignatureObj_GetTime\"]=_FPDFSignatureObj_GetTime=createExportWrapper(\"FPDFSignatureObj_GetTime\",3);Module[\"_FPDFSignatureObj_GetDocMDPPermission\"]=_FPDFSignatureObj_GetDocMDPPermission=createExportWrapper(\"FPDFSignatureObj_GetDocMDPPermission\",1);Module[\"_FPDF_StructTree_GetForPage\"]=_FPDF_StructTree_GetForPage=createExportWrapper(\"FPDF_StructTree_GetForPage\",1);Module[\"_FPDF_StructTree_Close\"]=_FPDF_StructTree_Close=createExportWrapper(\"FPDF_StructTree_Close\",1);Module[\"_FPDF_StructTree_CountChildren\"]=_FPDF_StructTree_CountChildren=createExportWrapper(\"FPDF_StructTree_CountChildren\",1);Module[\"_FPDF_StructTree_GetChildAtIndex\"]=_FPDF_StructTree_GetChildAtIndex=createExportWrapper(\"FPDF_StructTree_GetChildAtIndex\",2);Module[\"_FPDF_StructElement_GetAltText\"]=_FPDF_StructElement_GetAltText=createExportWrapper(\"FPDF_StructElement_GetAltText\",3);Module[\"_FPDF_StructElement_GetActualText\"]=_FPDF_StructElement_GetActualText=createExportWrapper(\"FPDF_StructElement_GetActualText\",3);Module[\"_FPDF_StructElement_GetID\"]=_FPDF_StructElement_GetID=createExportWrapper(\"FPDF_StructElement_GetID\",3);Module[\"_FPDF_StructElement_GetLang\"]=_FPDF_StructElement_GetLang=createExportWrapper(\"FPDF_StructElement_GetLang\",3);Module[\"_FPDF_StructElement_GetAttributeCount\"]=_FPDF_StructElement_GetAttributeCount=createExportWrapper(\"FPDF_StructElement_GetAttributeCount\",1);Module[\"_FPDF_StructElement_GetAttributeAtIndex\"]=_FPDF_StructElement_GetAttributeAtIndex=createExportWrapper(\"FPDF_StructElement_GetAttributeAtIndex\",2);Module[\"_FPDF_StructElement_GetStringAttribute\"]=_FPDF_StructElement_GetStringAttribute=createExportWrapper(\"FPDF_StructElement_GetStringAttribute\",4);Module[\"_FPDF_StructElement_GetMarkedContentID\"]=_FPDF_StructElement_GetMarkedContentID=createExportWrapper(\"FPDF_StructElement_GetMarkedContentID\",1);Module[\"_FPDF_StructElement_GetType\"]=_FPDF_StructElement_GetType=createExportWrapper(\"FPDF_StructElement_GetType\",3);Module[\"_FPDF_StructElement_GetObjType\"]=_FPDF_StructElement_GetObjType=createExportWrapper(\"FPDF_StructElement_GetObjType\",3);Module[\"_FPDF_StructElement_GetTitle\"]=_FPDF_StructElement_GetTitle=createExportWrapper(\"FPDF_StructElement_GetTitle\",3);Module[\"_FPDF_StructElement_CountChildren\"]=_FPDF_StructElement_CountChildren=createExportWrapper(\"FPDF_StructElement_CountChildren\",1);Module[\"_FPDF_StructElement_GetChildAtIndex\"]=_FPDF_StructElement_GetChildAtIndex=createExportWrapper(\"FPDF_StructElement_GetChildAtIndex\",2);Module[\"_FPDF_StructElement_GetChildMarkedContentID\"]=_FPDF_StructElement_GetChildMarkedContentID=createExportWrapper(\"FPDF_StructElement_GetChildMarkedContentID\",2);Module[\"_FPDF_StructElement_GetParent\"]=_FPDF_StructElement_GetParent=createExportWrapper(\"FPDF_StructElement_GetParent\",1);Module[\"_FPDF_StructElement_Attr_GetCount\"]=_FPDF_StructElement_Attr_GetCount=createExportWrapper(\"FPDF_StructElement_Attr_GetCount\",1);Module[\"_FPDF_StructElement_Attr_GetName\"]=_FPDF_StructElement_Attr_GetName=createExportWrapper(\"FPDF_StructElement_Attr_GetName\",5);Module[\"_FPDF_StructElement_Attr_GetValue\"]=_FPDF_StructElement_Attr_GetValue=createExportWrapper(\"FPDF_StructElement_Attr_GetValue\",2);Module[\"_FPDF_StructElement_Attr_GetType\"]=_FPDF_StructElement_Attr_GetType=createExportWrapper(\"FPDF_StructElement_Attr_GetType\",1);Module[\"_FPDF_StructElement_Attr_GetBooleanValue\"]=_FPDF_StructElement_Attr_GetBooleanValue=createExportWrapper(\"FPDF_StructElement_Attr_GetBooleanValue\",2);Module[\"_FPDF_StructElement_Attr_GetNumberValue\"]=_FPDF_StructElement_Attr_GetNumberValue=createExportWrapper(\"FPDF_StructElement_Attr_GetNumberValue\",2);Module[\"_FPDF_StructElement_Attr_GetStringValue\"]=_FPDF_StructElement_Attr_GetStringValue=createExportWrapper(\"FPDF_StructElement_Attr_GetStringValue\",4);Module[\"_FPDF_StructElement_Attr_GetBlobValue\"]=_FPDF_StructElement_Attr_GetBlobValue=createExportWrapper(\"FPDF_StructElement_Attr_GetBlobValue\",4);Module[\"_FPDF_StructElement_Attr_CountChildren\"]=_FPDF_StructElement_Attr_CountChildren=createExportWrapper(\"FPDF_StructElement_Attr_CountChildren\",1);Module[\"_FPDF_StructElement_Attr_GetChildAtIndex\"]=_FPDF_StructElement_Attr_GetChildAtIndex=createExportWrapper(\"FPDF_StructElement_Attr_GetChildAtIndex\",2);Module[\"_FPDF_StructElement_GetMarkedContentIdCount\"]=_FPDF_StructElement_GetMarkedContentIdCount=createExportWrapper(\"FPDF_StructElement_GetMarkedContentIdCount\",1);Module[\"_FPDF_StructElement_GetMarkedContentIdAtIndex\"]=_FPDF_StructElement_GetMarkedContentIdAtIndex=createExportWrapper(\"FPDF_StructElement_GetMarkedContentIdAtIndex\",2);Module[\"_FPDF_AddInstalledFont\"]=_FPDF_AddInstalledFont=createExportWrapper(\"FPDF_AddInstalledFont\",3);Module[\"_FPDF_SetSystemFontInfo\"]=_FPDF_SetSystemFontInfo=createExportWrapper(\"FPDF_SetSystemFontInfo\",1);Module[\"_FPDF_GetDefaultTTFMap\"]=_FPDF_GetDefaultTTFMap=createExportWrapper(\"FPDF_GetDefaultTTFMap\",0);Module[\"_FPDF_GetDefaultTTFMapCount\"]=_FPDF_GetDefaultTTFMapCount=createExportWrapper(\"FPDF_GetDefaultTTFMapCount\",0);Module[\"_FPDF_GetDefaultTTFMapEntry\"]=_FPDF_GetDefaultTTFMapEntry=createExportWrapper(\"FPDF_GetDefaultTTFMapEntry\",1);Module[\"_FPDF_GetDefaultSystemFontInfo\"]=_FPDF_GetDefaultSystemFontInfo=createExportWrapper(\"FPDF_GetDefaultSystemFontInfo\",0);Module[\"_FPDF_FreeDefaultSystemFontInfo\"]=_FPDF_FreeDefaultSystemFontInfo=createExportWrapper(\"FPDF_FreeDefaultSystemFontInfo\",1);Module[\"_FPDFText_LoadPage\"]=_FPDFText_LoadPage=createExportWrapper(\"FPDFText_LoadPage\",1);Module[\"_FPDFText_ClosePage\"]=_FPDFText_ClosePage=createExportWrapper(\"FPDFText_ClosePage\",1);Module[\"_FPDFText_CountChars\"]=_FPDFText_CountChars=createExportWrapper(\"FPDFText_CountChars\",1);Module[\"_FPDFText_GetUnicode\"]=_FPDFText_GetUnicode=createExportWrapper(\"FPDFText_GetUnicode\",2);Module[\"_FPDFText_GetTextObject\"]=_FPDFText_GetTextObject=createExportWrapper(\"FPDFText_GetTextObject\",2);Module[\"_FPDFText_IsGenerated\"]=_FPDFText_IsGenerated=createExportWrapper(\"FPDFText_IsGenerated\",2);Module[\"_FPDFText_IsHyphen\"]=_FPDFText_IsHyphen=createExportWrapper(\"FPDFText_IsHyphen\",2);Module[\"_FPDFText_HasUnicodeMapError\"]=_FPDFText_HasUnicodeMapError=createExportWrapper(\"FPDFText_HasUnicodeMapError\",2);Module[\"_FPDFText_GetFontSize\"]=_FPDFText_GetFontSize=createExportWrapper(\"FPDFText_GetFontSize\",2);Module[\"_FPDFText_GetFontInfo\"]=_FPDFText_GetFontInfo=createExportWrapper(\"FPDFText_GetFontInfo\",5);Module[\"_FPDFText_GetFontWeight\"]=_FPDFText_GetFontWeight=createExportWrapper(\"FPDFText_GetFontWeight\",2);Module[\"_FPDFText_GetFillColor\"]=_FPDFText_GetFillColor=createExportWrapper(\"FPDFText_GetFillColor\",6);Module[\"_FPDFText_GetStrokeColor\"]=_FPDFText_GetStrokeColor=createExportWrapper(\"FPDFText_GetStrokeColor\",6);Module[\"_FPDFText_GetCharAngle\"]=_FPDFText_GetCharAngle=createExportWrapper(\"FPDFText_GetCharAngle\",2);Module[\"_FPDFText_GetCharBox\"]=_FPDFText_GetCharBox=createExportWrapper(\"FPDFText_GetCharBox\",6);Module[\"_FPDFText_GetLooseCharBox\"]=_FPDFText_GetLooseCharBox=createExportWrapper(\"FPDFText_GetLooseCharBox\",3);Module[\"_FPDFText_GetMatrix\"]=_FPDFText_GetMatrix=createExportWrapper(\"FPDFText_GetMatrix\",3);Module[\"_FPDFText_GetCharOrigin\"]=_FPDFText_GetCharOrigin=createExportWrapper(\"FPDFText_GetCharOrigin\",4);Module[\"_FPDFText_GetCharIndexAtPos\"]=_FPDFText_GetCharIndexAtPos=createExportWrapper(\"FPDFText_GetCharIndexAtPos\",5);Module[\"_FPDFText_GetText\"]=_FPDFText_GetText=createExportWrapper(\"FPDFText_GetText\",4);Module[\"_FPDFText_CountRects\"]=_FPDFText_CountRects=createExportWrapper(\"FPDFText_CountRects\",3);Module[\"_FPDFText_GetRect\"]=_FPDFText_GetRect=createExportWrapper(\"FPDFText_GetRect\",6);Module[\"_FPDFText_GetBoundedText\"]=_FPDFText_GetBoundedText=createExportWrapper(\"FPDFText_GetBoundedText\",7);Module[\"_FPDFText_FindStart\"]=_FPDFText_FindStart=createExportWrapper(\"FPDFText_FindStart\",4);Module[\"_FPDFText_FindNext\"]=_FPDFText_FindNext=createExportWrapper(\"FPDFText_FindNext\",1);Module[\"_FPDFText_FindPrev\"]=_FPDFText_FindPrev=createExportWrapper(\"FPDFText_FindPrev\",1);Module[\"_FPDFText_GetSchResultIndex\"]=_FPDFText_GetSchResultIndex=createExportWrapper(\"FPDFText_GetSchResultIndex\",1);Module[\"_FPDFText_GetSchCount\"]=_FPDFText_GetSchCount=createExportWrapper(\"FPDFText_GetSchCount\",1);Module[\"_FPDFText_FindClose\"]=_FPDFText_FindClose=createExportWrapper(\"FPDFText_FindClose\",1);Module[\"_FPDFLink_LoadWebLinks\"]=_FPDFLink_LoadWebLinks=createExportWrapper(\"FPDFLink_LoadWebLinks\",1);Module[\"_FPDFLink_CountWebLinks\"]=_FPDFLink_CountWebLinks=createExportWrapper(\"FPDFLink_CountWebLinks\",1);Module[\"_FPDFLink_GetURL\"]=_FPDFLink_GetURL=createExportWrapper(\"FPDFLink_GetURL\",4);Module[\"_FPDFLink_CountRects\"]=_FPDFLink_CountRects=createExportWrapper(\"FPDFLink_CountRects\",2);Module[\"_FPDFLink_GetRect\"]=_FPDFLink_GetRect=createExportWrapper(\"FPDFLink_GetRect\",7);Module[\"_FPDFLink_GetTextRange\"]=_FPDFLink_GetTextRange=createExportWrapper(\"FPDFLink_GetTextRange\",4);Module[\"_FPDFLink_CloseWebLinks\"]=_FPDFLink_CloseWebLinks=createExportWrapper(\"FPDFLink_CloseWebLinks\",1);Module[\"_FPDFPage_GetDecodedThumbnailData\"]=_FPDFPage_GetDecodedThumbnailData=createExportWrapper(\"FPDFPage_GetDecodedThumbnailData\",3);Module[\"_FPDFPage_GetRawThumbnailData\"]=_FPDFPage_GetRawThumbnailData=createExportWrapper(\"FPDFPage_GetRawThumbnailData\",3);Module[\"_FPDFPage_GetThumbnailAsBitmap\"]=_FPDFPage_GetThumbnailAsBitmap=createExportWrapper(\"FPDFPage_GetThumbnailAsBitmap\",1);Module[\"_FPDFPage_SetMediaBox\"]=_FPDFPage_SetMediaBox=createExportWrapper(\"FPDFPage_SetMediaBox\",5);Module[\"_FPDFPage_SetCropBox\"]=_FPDFPage_SetCropBox=createExportWrapper(\"FPDFPage_SetCropBox\",5);Module[\"_FPDFPage_SetBleedBox\"]=_FPDFPage_SetBleedBox=createExportWrapper(\"FPDFPage_SetBleedBox\",5);Module[\"_FPDFPage_SetTrimBox\"]=_FPDFPage_SetTrimBox=createExportWrapper(\"FPDFPage_SetTrimBox\",5);Module[\"_FPDFPage_SetArtBox\"]=_FPDFPage_SetArtBox=createExportWrapper(\"FPDFPage_SetArtBox\",5);Module[\"_FPDFPage_GetMediaBox\"]=_FPDFPage_GetMediaBox=createExportWrapper(\"FPDFPage_GetMediaBox\",5);Module[\"_FPDFPage_GetCropBox\"]=_FPDFPage_GetCropBox=createExportWrapper(\"FPDFPage_GetCropBox\",5);Module[\"_FPDFPage_GetBleedBox\"]=_FPDFPage_GetBleedBox=createExportWrapper(\"FPDFPage_GetBleedBox\",5);Module[\"_FPDFPage_GetTrimBox\"]=_FPDFPage_GetTrimBox=createExportWrapper(\"FPDFPage_GetTrimBox\",5);Module[\"_FPDFPage_GetArtBox\"]=_FPDFPage_GetArtBox=createExportWrapper(\"FPDFPage_GetArtBox\",5);Module[\"_FPDFPage_TransFormWithClip\"]=_FPDFPage_TransFormWithClip=createExportWrapper(\"FPDFPage_TransFormWithClip\",3);Module[\"_FPDFPageObj_TransformClipPath\"]=_FPDFPageObj_TransformClipPath=createExportWrapper(\"FPDFPageObj_TransformClipPath\",7);Module[\"_FPDFPageObj_GetClipPath\"]=_FPDFPageObj_GetClipPath=createExportWrapper(\"FPDFPageObj_GetClipPath\",1);Module[\"_FPDFClipPath_CountPaths\"]=_FPDFClipPath_CountPaths=createExportWrapper(\"FPDFClipPath_CountPaths\",1);Module[\"_FPDFClipPath_CountPathSegments\"]=_FPDFClipPath_CountPathSegments=createExportWrapper(\"FPDFClipPath_CountPathSegments\",2);Module[\"_FPDFClipPath_GetPathSegment\"]=_FPDFClipPath_GetPathSegment=createExportWrapper(\"FPDFClipPath_GetPathSegment\",3);Module[\"_FPDF_CreateClipPath\"]=_FPDF_CreateClipPath=createExportWrapper(\"FPDF_CreateClipPath\",4);Module[\"_FPDF_DestroyClipPath\"]=_FPDF_DestroyClipPath=createExportWrapper(\"FPDF_DestroyClipPath\",1);Module[\"_FPDFPage_InsertClipPath\"]=_FPDFPage_InsertClipPath=createExportWrapper(\"FPDFPage_InsertClipPath\",2);Module[\"_FPDF_InitLibrary\"]=_FPDF_InitLibrary=createExportWrapper(\"FPDF_InitLibrary\",0);Module[\"_malloc\"]=_malloc=createExportWrapper(\"malloc\",1);Module[\"_free\"]=_free=createExportWrapper(\"free\",1);Module[\"_FPDF_DestroyLibrary\"]=_FPDF_DestroyLibrary=createExportWrapper(\"FPDF_DestroyLibrary\",0);Module[\"_FPDF_SetSandBoxPolicy\"]=_FPDF_SetSandBoxPolicy=createExportWrapper(\"FPDF_SetSandBoxPolicy\",2);Module[\"_FPDF_LoadDocument\"]=_FPDF_LoadDocument=createExportWrapper(\"FPDF_LoadDocument\",2);Module[\"_FPDF_GetFormType\"]=_FPDF_GetFormType=createExportWrapper(\"FPDF_GetFormType\",1);Module[\"_FPDF_LoadXFA\"]=_FPDF_LoadXFA=createExportWrapper(\"FPDF_LoadXFA\",1);Module[\"_FPDF_LoadMemDocument\"]=_FPDF_LoadMemDocument=createExportWrapper(\"FPDF_LoadMemDocument\",3);Module[\"_FPDF_LoadMemDocument64\"]=_FPDF_LoadMemDocument64=createExportWrapper(\"FPDF_LoadMemDocument64\",3);Module[\"_FPDF_LoadCustomDocument\"]=_FPDF_LoadCustomDocument=createExportWrapper(\"FPDF_LoadCustomDocument\",2);Module[\"_FPDF_GetFileVersion\"]=_FPDF_GetFileVersion=createExportWrapper(\"FPDF_GetFileVersion\",2);Module[\"_FPDF_DocumentHasValidCrossReferenceTable\"]=_FPDF_DocumentHasValidCrossReferenceTable=createExportWrapper(\"FPDF_DocumentHasValidCrossReferenceTable\",1);Module[\"_FPDF_GetDocPermissions\"]=_FPDF_GetDocPermissions=createExportWrapper(\"FPDF_GetDocPermissions\",1);Module[\"_FPDF_GetDocUserPermissions\"]=_FPDF_GetDocUserPermissions=createExportWrapper(\"FPDF_GetDocUserPermissions\",1);Module[\"_FPDF_GetSecurityHandlerRevision\"]=_FPDF_GetSecurityHandlerRevision=createExportWrapper(\"FPDF_GetSecurityHandlerRevision\",1);Module[\"_FPDF_GetPageCount\"]=_FPDF_GetPageCount=createExportWrapper(\"FPDF_GetPageCount\",1);Module[\"_FPDF_LoadPage\"]=_FPDF_LoadPage=createExportWrapper(\"FPDF_LoadPage\",2);Module[\"_FPDF_GetPageWidthF\"]=_FPDF_GetPageWidthF=createExportWrapper(\"FPDF_GetPageWidthF\",1);Module[\"_FPDF_GetPageWidth\"]=_FPDF_GetPageWidth=createExportWrapper(\"FPDF_GetPageWidth\",1);Module[\"_FPDF_GetPageHeightF\"]=_FPDF_GetPageHeightF=createExportWrapper(\"FPDF_GetPageHeightF\",1);Module[\"_FPDF_GetPageHeight\"]=_FPDF_GetPageHeight=createExportWrapper(\"FPDF_GetPageHeight\",1);Module[\"_FPDF_GetPageBoundingBox\"]=_FPDF_GetPageBoundingBox=createExportWrapper(\"FPDF_GetPageBoundingBox\",2);Module[\"_FPDF_RenderPageBitmap\"]=_FPDF_RenderPageBitmap=createExportWrapper(\"FPDF_RenderPageBitmap\",8);Module[\"_FPDF_RenderPageBitmapWithMatrix\"]=_FPDF_RenderPageBitmapWithMatrix=createExportWrapper(\"FPDF_RenderPageBitmapWithMatrix\",5);Module[\"_FPDF_ClosePage\"]=_FPDF_ClosePage=createExportWrapper(\"FPDF_ClosePage\",1);Module[\"_FPDF_CloseDocument\"]=_FPDF_CloseDocument=createExportWrapper(\"FPDF_CloseDocument\",1);Module[\"_FPDF_GetLastError\"]=_FPDF_GetLastError=createExportWrapper(\"FPDF_GetLastError\",0);Module[\"_FPDF_DeviceToPage\"]=_FPDF_DeviceToPage=createExportWrapper(\"FPDF_DeviceToPage\",10);Module[\"_FPDF_PageToDevice\"]=_FPDF_PageToDevice=createExportWrapper(\"FPDF_PageToDevice\",10);Module[\"_FPDFBitmap_Create\"]=_FPDFBitmap_Create=createExportWrapper(\"FPDFBitmap_Create\",3);Module[\"_FPDFBitmap_CreateEx\"]=_FPDFBitmap_CreateEx=createExportWrapper(\"FPDFBitmap_CreateEx\",5);Module[\"_FPDFBitmap_GetFormat\"]=_FPDFBitmap_GetFormat=createExportWrapper(\"FPDFBitmap_GetFormat\",1);Module[\"_FPDFBitmap_FillRect\"]=_FPDFBitmap_FillRect=createExportWrapper(\"FPDFBitmap_FillRect\",6);Module[\"_FPDFBitmap_GetBuffer\"]=_FPDFBitmap_GetBuffer=createExportWrapper(\"FPDFBitmap_GetBuffer\",1);Module[\"_FPDFBitmap_GetWidth\"]=_FPDFBitmap_GetWidth=createExportWrapper(\"FPDFBitmap_GetWidth\",1);Module[\"_FPDFBitmap_GetHeight\"]=_FPDFBitmap_GetHeight=createExportWrapper(\"FPDFBitmap_GetHeight\",1);Module[\"_FPDFBitmap_GetStride\"]=_FPDFBitmap_GetStride=createExportWrapper(\"FPDFBitmap_GetStride\",1);Module[\"_FPDFBitmap_Destroy\"]=_FPDFBitmap_Destroy=createExportWrapper(\"FPDFBitmap_Destroy\",1);Module[\"_FPDF_GetPageSizeByIndexF\"]=_FPDF_GetPageSizeByIndexF=createExportWrapper(\"FPDF_GetPageSizeByIndexF\",3);Module[\"_FPDF_GetPageSizeByIndex\"]=_FPDF_GetPageSizeByIndex=createExportWrapper(\"FPDF_GetPageSizeByIndex\",4);Module[\"_FPDF_VIEWERREF_GetPrintScaling\"]=_FPDF_VIEWERREF_GetPrintScaling=createExportWrapper(\"FPDF_VIEWERREF_GetPrintScaling\",1);Module[\"_FPDF_VIEWERREF_GetNumCopies\"]=_FPDF_VIEWERREF_GetNumCopies=createExportWrapper(\"FPDF_VIEWERREF_GetNumCopies\",1);Module[\"_FPDF_VIEWERREF_GetPrintPageRange\"]=_FPDF_VIEWERREF_GetPrintPageRange=createExportWrapper(\"FPDF_VIEWERREF_GetPrintPageRange\",1);Module[\"_FPDF_VIEWERREF_GetPrintPageRangeCount\"]=_FPDF_VIEWERREF_GetPrintPageRangeCount=createExportWrapper(\"FPDF_VIEWERREF_GetPrintPageRangeCount\",1);Module[\"_FPDF_VIEWERREF_GetPrintPageRangeElement\"]=_FPDF_VIEWERREF_GetPrintPageRangeElement=createExportWrapper(\"FPDF_VIEWERREF_GetPrintPageRangeElement\",2);Module[\"_FPDF_VIEWERREF_GetDuplex\"]=_FPDF_VIEWERREF_GetDuplex=createExportWrapper(\"FPDF_VIEWERREF_GetDuplex\",1);Module[\"_FPDF_VIEWERREF_GetName\"]=_FPDF_VIEWERREF_GetName=createExportWrapper(\"FPDF_VIEWERREF_GetName\",4);Module[\"_FPDF_CountNamedDests\"]=_FPDF_CountNamedDests=createExportWrapper(\"FPDF_CountNamedDests\",1);Module[\"_FPDF_GetNamedDestByName\"]=_FPDF_GetNamedDestByName=createExportWrapper(\"FPDF_GetNamedDestByName\",2);Module[\"_FPDF_GetNamedDest\"]=_FPDF_GetNamedDest=createExportWrapper(\"FPDF_GetNamedDest\",4);Module[\"_FPDF_GetXFAPacketCount\"]=_FPDF_GetXFAPacketCount=createExportWrapper(\"FPDF_GetXFAPacketCount\",1);Module[\"_FPDF_GetXFAPacketName\"]=_FPDF_GetXFAPacketName=createExportWrapper(\"FPDF_GetXFAPacketName\",4);Module[\"_FPDF_GetXFAPacketContent\"]=_FPDF_GetXFAPacketContent=createExportWrapper(\"FPDF_GetXFAPacketContent\",5);Module[\"_FPDF_GetTrailerEnds\"]=_FPDF_GetTrailerEnds=createExportWrapper(\"FPDF_GetTrailerEnds\",3);_fflush=createExportWrapper(\"fflush\",1);_emscripten_stack_get_end=wasmExports[\"emscripten_stack_get_end\"];_emscripten_stack_get_base=wasmExports[\"emscripten_stack_get_base\"];_emscripten_builtin_memalign=createExportWrapper(\"emscripten_builtin_memalign\",2);_strerror=createExportWrapper(\"strerror\",1);_setThrew=createExportWrapper(\"setThrew\",2);_emscripten_stack_init=wasmExports[\"emscripten_stack_init\"];_emscripten_stack_get_free=wasmExports[\"emscripten_stack_get_free\"];__emscripten_stack_restore=wasmExports[\"_emscripten_stack_restore\"];__emscripten_stack_alloc=wasmExports[\"_emscripten_stack_alloc\"];_emscripten_stack_get_current=wasmExports[\"emscripten_stack_get_current\"]}var wasmImports={__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_abort_js:__abort_js,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,invoke_ii,invoke_iii,invoke_iiii,invoke_iiiii,invoke_viii,invoke_viiii};var wasmExports=await createWasm();function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}var calledRun;function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}stackCheckInit();preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){assert(!calledRun);calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module[\"onRuntimeInitialized\"]?.();consumedModuleProp(\"onRuntimeInitialized\");assert(!Module[\"_main\"],'compiled without a main, but one is present. if you added it from JS, use Module[\"onRuntimeInitialized\"]');postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(()=>{setTimeout(()=>Module[\"setStatus\"](\"\"),1);doRun()},1)}else{doRun()}checkStackCookie()}function preInit(){if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].shift()()}}consumedModuleProp(\"preInit\")}preInit();run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}for(const prop of Object.keys(Module)){if(!(prop in moduleArg)){Object.defineProperty(moduleArg,prop,{configurable:true,get(){abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}})}}\n\n\n return moduleRtn;\n}\n);\n})();\nexport default PDFiumModule;\n","export const PDFIUM_RELEASE = \"7623\";\nexport const PDFIUM_WASM_SHA256 = \"14ca2adbe23b45dea57da28ae2746e376f1cddfb8e2d0b01b71dcc5cf227734e\";\nexport const PdfErrorCode = {\n Success: 0,\n Unknown: 1,\n File: 2,\n Format: 3,\n Password: 4,\n Security: 5,\n Page: 6,\n};\nexport const BitmapFormat = {\n Gray: 1,\n Bgr: 2,\n Bgrx: 3,\n Bgra: 4,\n};\nexport const RenderFlag = {\n Annot: 0x01,\n LcdText: 0x02,\n Grayscale: 0x08,\n ReverseByteOrder: 0x10,\n};\n","export class PdfError extends Error {\n code;\n cause;\n constructor(code, message, options = {}) {\n super(message, options);\n this.name = new.target.name;\n this.code = code;\n if (\"cause\" in options) {\n this.cause = options.cause;\n }\n }\n}\nexport class PdfPasswordError extends PdfError {\n constructor(message = \"PDF password is required or incorrect\", options = {}) {\n super(\"password\", message, options);\n }\n}\nexport class PdfFormatError extends PdfError {\n constructor(message = \"Input is not a valid PDF or is corrupted\", options = {}) {\n super(\"format\", message, options);\n }\n}\nexport class PdfSecurityError extends PdfError {\n constructor(message = \"PDF security handler is unsupported\", options = {}) {\n super(\"security\", message, options);\n }\n}\nexport class PdfPageRangeError extends PdfError {\n pageCount;\n requested;\n constructor(requested, pageCount) {\n super(\"page_range\", `Page ${requested} is outside 1..${pageCount}`);\n this.requested = requested;\n this.pageCount = pageCount;\n }\n}\nexport class PdfBudgetError extends PdfError {\n limit;\n value;\n constructor(limit, value, message = `${limit} budget exceeded: ${value}`) {\n super(\"budget\", message);\n this.limit = limit;\n this.value = value;\n }\n}\nexport class PdfDestroyedError extends PdfError {\n constructor(message = \"PDF resource has been destroyed\") {\n super(\"destroyed\", message);\n }\n}\n","import { PdfBudgetError, PdfError } from \"./errors.js\";\nexport function resolveRenderSize(pageWidth, pageHeight, embeddedRotation, options = {}, maxRenderPixels) {\n const sizeKeys = [\"dpi\", \"scale\", \"width\", \"height\"].filter((key) => options[key] !== undefined);\n if (sizeKeys.length > 1) {\n throw new PdfError(\"size_conflict\", `render() expects at most one of dpi, scale, width, height; got ${sizeKeys.join(\", \")}`);\n }\n const additiveRotation = options.rotate ?? 0;\n const totalRotation = ((embeddedRotation + additiveRotation) % 360);\n const rotate = (totalRotation / 90);\n const rotated = rotate % 2 === 1;\n const baseWidth = rotated ? pageHeight : pageWidth;\n const baseHeight = rotated ? pageWidth : pageHeight;\n let scale;\n let width;\n let height;\n if (options.width !== undefined) {\n width = positiveInteger(\"width\", options.width);\n scale = width / positiveFiniteNumber(\"page width\", baseWidth);\n height = Math.max(1, Math.ceil(baseHeight * scale));\n }\n else if (options.height !== undefined) {\n height = positiveInteger(\"height\", options.height);\n scale = height / positiveFiniteNumber(\"page height\", baseHeight);\n width = Math.max(1, Math.ceil(baseWidth * scale));\n }\n else {\n scale = options.scale !== undefined\n ? positiveFiniteNumber(\"scale\", options.scale)\n : positiveFiniteNumber(\"dpi\", options.dpi ?? 96) / 72;\n width = Math.max(1, Math.ceil(baseWidth * scale));\n height = Math.max(1, Math.ceil(baseHeight * scale));\n }\n const pixels = width * height;\n if (!Number.isSafeInteger(pixels) || pixels > maxRenderPixels) {\n throw new PdfBudgetError(\"renderPixels\", pixels, `Rendered page has ${pixels} pixels; limit is ${maxRenderPixels}`);\n }\n return { width, height, scale, rotate };\n}\nexport function planImageRender(pageWidth, pageHeight, requestedScale, remainingPixels, maxDimension) {\n if (pageWidth <= 0 || pageHeight <= 0 || remainingPixels <= 0) {\n return null;\n }\n const dimensionLimit = positiveInteger(\"maxDimension\", maxDimension);\n const pixelLimit = positiveInteger(\"maxPixels\", remainingPixels);\n const maxScale = Math.min(requestedScale, Math.sqrt(pixelLimit / Math.max(1, pageWidth * pageHeight)), dimensionLimit / pageWidth, dimensionLimit / pageHeight);\n if (!Number.isFinite(maxScale) || maxScale <= 0) {\n return null;\n }\n const capped = maxScale < requestedScale - 1e-9;\n let best = null;\n let low = 0;\n let high = maxScale;\n for (let i = 0; i < 32; i += 1) {\n const scale = (low + high) / 2;\n const width = Math.max(1, Math.ceil(pageWidth * scale));\n const height = Math.max(1, Math.ceil(pageHeight * scale));\n if (width <= dimensionLimit && height <= dimensionLimit && width * height <= pixelLimit) {\n best = { scale };\n low = scale;\n }\n else {\n high = scale;\n }\n }\n return best ? { scale: best.scale, capped } : null;\n}\nexport function positiveInteger(name, value) {\n return Math.max(1, Math.floor(positiveFiniteNumber(name, value)));\n}\nexport function nonNegativeInteger(name, value) {\n if (!Number.isFinite(value) || value < 0) {\n throw new PdfError(\"budget\", `${name} must be a finite non-negative number`);\n }\n return Math.floor(value);\n}\nexport function positiveFiniteNumber(name, value) {\n if (!Number.isFinite(value) || value <= 0) {\n throw new PdfError(\"budget\", `${name} must be a finite positive number`);\n }\n return value;\n}\n","import { PdfFormatError } from \"./errors.js\";\nimport { planImageRender, positiveFiniteNumber, positiveInteger } from \"./render.js\";\nconst defaultMaxPages = 20;\nconst defaultMaxTextChars = 200_000;\nconst defaultMinTextChars = 200;\nconst defaultImageMaxPixels = 4_000_000;\nconst defaultImageMaxDimension = 10_000;\nexport async function extractDocument(document, options = {}) {\n const mode = options.mode ?? \"auto\";\n if (![\"auto\", \"text\", \"images\", \"both\"].includes(mode)) {\n throw new PdfFormatError(`Unsupported extraction mode: ${String(mode)}`);\n }\n const pages = documentPages(document, options);\n let text = \"\";\n let textPages = [];\n let textTruncated = false;\n if (mode !== \"images\") {\n const textOptions = {\n pages,\n maxChars: positiveInteger(\"maxTextChars\", options.maxTextChars ?? defaultMaxTextChars),\n };\n const extracted = document.extractText(textOptions);\n text = extracted.text;\n textPages = extracted.pagesProcessed;\n textTruncated = extracted.truncated;\n }\n const shouldRenderImages = mode === \"images\"\n || mode === \"both\"\n || (mode === \"auto\" && text.trim().length < positiveInteger(\"minTextChars\", options.minTextChars ?? defaultMinTextChars));\n const rendered = shouldRenderImages ? await renderImages(document, pages, options.image ?? {}) : { images: [], truncated: false };\n const imagePages = rendered.images.map((image) => image.page);\n const pagesProcessed = uniqueNumbers([...textPages, ...imagePages]);\n return {\n text,\n images: rendered.images,\n pagesProcessed,\n truncated: {\n text: textTruncated,\n images: rendered.truncated,\n },\n };\n}\nasync function renderImages(document, pages, image) {\n const maxPixels = positiveInteger(\"maxPixels\", image.maxPixels ?? defaultImageMaxPixels);\n const maxDimension = positiveInteger(\"maxDimension\", image.maxDimension ?? defaultImageMaxDimension);\n if (image.format !== undefined && image.format !== \"png\") {\n throw new PdfFormatError(`Unsupported image format: ${String(image.format)}`);\n }\n if (image.dpi !== undefined && image.scale !== undefined) {\n throw new PdfFormatError(\"image sizing expects at most one of dpi or scale\");\n }\n const requestedScale = image.scale !== undefined\n ? positiveFiniteNumber(\"scale\", image.scale)\n : positiveFiniteNumber(\"dpi\", image.dpi ?? 96) / 72;\n const images = [];\n let remainingPixels = maxPixels;\n let truncated = false;\n for (const pageNumber of pages) {\n const page = document.page(pageNumber);\n const plan = planImageRender(page.width, page.height, requestedScale, remainingPixels, maxDimension);\n if (!plan) {\n truncated = true;\n break;\n }\n if (plan.capped) {\n truncated = true;\n }\n const bytes = await page.png({\n scale: plan.scale,\n forms: image.forms ?? true,\n });\n const dimensions = pngDimensions(bytes);\n images.push({\n page: pageNumber,\n width: dimensions.width,\n height: dimensions.height,\n bytes,\n mimeType: \"image/png\",\n });\n remainingPixels -= dimensions.width * dimensions.height;\n }\n if (images.length < pages.length) {\n truncated = true;\n }\n return { images, truncated };\n}\nfunction documentPages(document, options) {\n if (options.pages) {\n const limit = options.maxPages === undefined\n ? options.pages.length\n : positiveInteger(\"maxPages\", options.maxPages);\n const selected = options.pages.slice(0, limit);\n for (const page of selected) {\n document.page(page);\n }\n return selected;\n }\n const maxPages = positiveInteger(\"maxPages\", options.maxPages ?? defaultMaxPages);\n return Array.from({ length: Math.min(document.pageCount, maxPages) }, (_, index) => index + 1);\n}\nfunction uniqueNumbers(values) {\n return [...new Set(values)];\n}\nfunction pngDimensions(bytes) {\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n return {\n width: view.getUint32(16),\n height: view.getUint32(20),\n };\n}\n","import { PdfFormatError } from \"./errors.js\";\nconst pngSignature = Uint8Array.from([137, 80, 78, 71, 13, 10, 26, 10]);\nconst crcTable = makeCrcTable();\nexport function encodePngRgba(width, height, rgba) {\n validatePngInput(width, height, rgba);\n return encodePng(width, height, zlibStore(unfilteredRows(width, height, rgba)));\n}\nexport async function encodePngRgbaCompressed(width, height, rgba) {\n validatePngInput(width, height, rgba);\n return encodePng(width, height, await deflate(unfilteredRows(width, height, rgba)));\n}\nfunction validatePngInput(width, height, rgba) {\n if (!Number.isInteger(width) || width <= 0 || !Number.isInteger(height) || height <= 0) {\n throw new PdfFormatError(\"PNG dimensions must be positive integers\");\n }\n if (rgba.byteLength !== width * height * 4) {\n throw new PdfFormatError(`RGBA buffer has ${rgba.byteLength} bytes; expected ${width * height * 4}`);\n }\n}\nfunction encodePng(width, height, idat) {\n return concat([\n pngSignature,\n chunk(\"IHDR\", ihdr(width, height)),\n chunk(\"IDAT\", idat),\n chunk(\"IEND\", new Uint8Array()),\n ]);\n}\nfunction unfilteredRows(width, height, rgba) {\n const stride = width * 4;\n const raw = new Uint8Array((stride + 1) * height);\n for (let row = 0; row < height; row += 1) {\n const rawOffset = row * (stride + 1);\n raw[rawOffset] = 0;\n raw.set(rgba.subarray(row * stride, (row + 1) * stride), rawOffset + 1);\n }\n return raw;\n}\nfunction ihdr(width, height) {\n const out = new Uint8Array(13);\n const view = new DataView(out.buffer);\n view.setUint32(0, width);\n view.setUint32(4, height);\n out[8] = 8;\n out[9] = 6;\n return out;\n}\nfunction zlibStore(input) {\n const blocks = [Uint8Array.from([0x78, 0x01])];\n for (let offset = 0; offset < input.byteLength; offset += 65_535) {\n const part = input.subarray(offset, Math.min(input.byteLength, offset + 65_535));\n const header = new Uint8Array(5);\n header[0] = offset + part.byteLength >= input.byteLength ? 1 : 0;\n header[1] = part.byteLength & 0xff;\n header[2] = (part.byteLength >>> 8) & 0xff;\n const nlen = (~part.byteLength) & 0xffff;\n header[3] = nlen & 0xff;\n header[4] = (nlen >>> 8) & 0xff;\n blocks.push(header, part);\n }\n const trailer = new Uint8Array(4);\n new DataView(trailer.buffer).setUint32(0, adler32(input));\n blocks.push(trailer);\n return concat(blocks);\n}\nasync function deflate(input) {\n if (isNode()) {\n const { deflateSync } = await import(\"node:zlib\");\n return new Uint8Array(deflateSync(input));\n }\n if (typeof CompressionStream === \"function\") {\n const source = new ReadableStream({\n start(controller) {\n controller.enqueue(input);\n controller.close();\n },\n });\n const compressor = new CompressionStream(\"deflate\");\n const stream = source.pipeThrough(compressor);\n return new Uint8Array(await new Response(stream).arrayBuffer());\n }\n return zlibStore(input);\n}\nfunction isNode() {\n return typeof process === \"object\" && Boolean(process.versions?.node);\n}\nfunction chunk(type, data) {\n const out = new Uint8Array(12 + data.byteLength);\n const view = new DataView(out.buffer);\n view.setUint32(0, data.byteLength);\n const typeBytes = new TextEncoder().encode(type);\n out.set(typeBytes, 4);\n out.set(data, 8);\n view.setUint32(8 + data.byteLength, crc32(out.subarray(4, 8 + data.byteLength)));\n return out;\n}\nfunction adler32(input) {\n let a = 1;\n let b = 0;\n for (const byte of input) {\n a = (a + byte) % 65_521;\n b = (b + a) % 65_521;\n }\n return ((b << 16) | a) >>> 0;\n}\nfunction crc32(input) {\n let crc = 0xffffffff;\n for (const byte of input) {\n crc = crcTable[(crc ^ byte) & 0xff] ^ (crc >>> 8);\n }\n return (crc ^ 0xffffffff) >>> 0;\n}\nfunction makeCrcTable() {\n const table = new Uint32Array(256);\n for (let i = 0; i < 256; i += 1) {\n let c = i;\n for (let k = 0; k < 8; k += 1) {\n c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;\n }\n table[i] = c >>> 0;\n }\n return table;\n}\nfunction concat(parts) {\n const out = new Uint8Array(parts.reduce((sum, part) => sum + part.byteLength, 0));\n let offset = 0;\n for (const part of parts) {\n out.set(part, offset);\n offset += part.byteLength;\n }\n return out;\n}\n","import { encodePngRgba, encodePngRgbaCompressed } from \"./png.js\";\nexport class PageImpl {\n document;\n index;\n constructor(document, index) {\n this.document = document;\n this.index = index;\n }\n get width() {\n return this.document.withLoadedPage(this.index, (page) => this.document.engine.module._FPDF_GetPageWidth(page));\n }\n get height() {\n return this.document.withLoadedPage(this.index, (page) => this.document.engine.module._FPDF_GetPageHeight(page));\n }\n get rotation() {\n return this.document.withLoadedPage(this.index, (page) => {\n const rotation = this.document.engine.module._FPDFPage_GetRotation(page);\n return ((((rotation % 4) + 4) % 4) * 90);\n });\n }\n text() {\n return this.document.getPageText(this.index);\n }\n render(options = {}) {\n return this.document.renderPage(this.index, options);\n }\n async png(options = {}) {\n if (options.compress === false) {\n return this.pngSync(options);\n }\n const rendered = this.render(options);\n return encodePngRgbaCompressed(rendered.width, rendered.height, rendered.rgba);\n }\n pngSync(options = {}) {\n const rendered = this.render(options);\n return encodePngRgba(rendered.width, rendered.height, rendered.rgba);\n }\n [Symbol.dispose]() { }\n}\n","import { BitmapFormat, RenderFlag } from \"./constants.js\";\nimport { PdfDestroyedError, PdfFormatError, PdfPageRangeError, } from \"./errors.js\";\nimport { extractDocument } from \"./extract.js\";\nimport { PageImpl } from \"./page.js\";\nimport { nonNegativeInteger, positiveInteger, resolveRenderSize } from \"./render.js\";\nconst textDecoder = new TextDecoder(\"utf-16le\");\nconst defaultMaxPages = 20;\nconst defaultMaxTextChars = 200_000;\nexport class DocumentImpl {\n engine;\n documentHandle;\n documentPtr;\n releaseDocument;\n onDestroy;\n #destroyed = false;\n #formHandle = 0;\n #formPtr = 0;\n #metadata;\n constructor(engine, documentHandle, documentPtr, releaseDocument, onDestroy) {\n this.engine = engine;\n this.documentHandle = documentHandle;\n this.documentPtr = documentPtr;\n this.releaseDocument = releaseDocument;\n this.onDestroy = onDestroy;\n }\n get pageCount() {\n this.assertLive();\n return this.engine.module._FPDF_GetPageCount(this.documentHandle);\n }\n get metadata() {\n this.assertLive();\n this.#metadata ??= this.readMetadata();\n return this.#metadata;\n }\n page(pageNumber) {\n this.checkPageNumber(pageNumber);\n return new PageImpl(this, pageNumber);\n }\n *pages(range = {}) {\n this.assertLive();\n const from = range.from ?? 1;\n const to = range.to ?? this.pageCount;\n this.checkPageNumber(from);\n this.checkPageNumber(to);\n for (let pageNumber = from; pageNumber <= to; pageNumber += 1) {\n yield this.page(pageNumber);\n }\n }\n text(options = {}) {\n return this.extractText(options).text;\n }\n async extract(options = {}) {\n return extractDocument(this, options);\n }\n destroy() {\n if (this.#destroyed) {\n return;\n }\n if (this.#formHandle) {\n this.engine.module._FPDFDOC_ExitFormFillEnvironment(this.#formHandle);\n this.#formHandle = 0;\n }\n if (this.#formPtr) {\n this.engine.module.wasmExports.free(this.#formPtr);\n this.#formPtr = 0;\n }\n this.engine.module._FPDF_CloseDocument(this.documentHandle);\n this.engine.module.wasmExports.free(this.documentPtr);\n this.#destroyed = true;\n this.releaseDocument();\n this.onDestroy?.();\n }\n [Symbol.dispose]() {\n this.destroy();\n }\n async [Symbol.asyncDispose]() {\n this.destroy();\n }\n extractText(options = {}) {\n this.assertLive();\n const maxChars = nonNegativeInteger(\"maxChars\", options.maxChars ?? defaultMaxTextChars);\n const pageNumbers = this.effectivePageNumbers(options);\n const parts = [];\n const pagesProcessed = [];\n let length = 0;\n let truncated = false;\n for (const pageNumber of pageNumbers) {\n const pageText = this.getPageText(pageNumber);\n pagesProcessed.push(pageNumber);\n if (!pageText) {\n continue;\n }\n const separator = parts.length ? \"\\n\\n\" : \"\";\n const remaining = maxChars - length - separator.length;\n if (remaining <= 0) {\n truncated = true;\n break;\n }\n const next = pageText.length > remaining ? pageText.slice(0, remaining) : pageText;\n if (separator) {\n parts.push(separator);\n length += separator.length;\n }\n parts.push(next);\n length += next.length;\n if (next.length < pageText.length) {\n truncated = true;\n break;\n }\n }\n return { text: parts.join(\"\"), pagesProcessed, truncated };\n }\n effectivePageNumbers(options = {}) {\n this.assertLive();\n const pageCount = this.pageCount;\n if (options.pages) {\n const limit = options.maxPages === undefined\n ? options.pages.length\n : positiveInteger(\"maxPages\", options.maxPages);\n const selected = options.pages.slice(0, limit);\n for (const pageNumber of selected) {\n this.checkPageNumber(pageNumber);\n }\n return selected;\n }\n const limit = options.maxPages === undefined ? defaultMaxPages : positiveInteger(\"maxPages\", options.maxPages);\n return Array.from({ length: Math.min(pageCount, limit) }, (_, index) => index + 1);\n }\n getPageText(pageNumber) {\n return this.withLoadedPage(pageNumber, (page) => {\n const textPage = this.engine.module._FPDFText_LoadPage(page);\n if (!textPage) {\n throw new PdfFormatError(`Failed to load text page ${pageNumber}`);\n }\n try {\n const charCount = this.engine.module._FPDFText_CountChars(textPage);\n if (charCount <= 0) {\n return \"\";\n }\n const byteLength = (charCount + 1) * 2;\n const textPtr = this.engine.malloc(byteLength);\n try {\n const length = this.engine.module._FPDFText_GetText(textPage, 0, charCount, textPtr);\n if (length <= 0) {\n return \"\";\n }\n return textDecoder.decode(this.engine.module.HEAPU8.slice(textPtr, textPtr + (length - 1) * 2));\n }\n finally {\n this.engine.module.wasmExports.free(textPtr);\n }\n }\n finally {\n this.engine.module._FPDFText_ClosePage(textPage);\n }\n });\n }\n renderPage(pageNumber, options = {}) {\n return this.withLoadedPage(pageNumber, (page) => {\n const pageWidth = this.engine.module._FPDF_GetPageWidth(page);\n const pageHeight = this.engine.module._FPDF_GetPageHeight(page);\n const size = resolveRenderSize(pageWidth, pageHeight, 0, options, this.engine.maxRenderPixels);\n const byteLength = size.width * size.height * 4;\n const bitmapPtr = this.engine.malloc(byteLength);\n const bitmap = this.engine.module._FPDFBitmap_CreateEx(size.width, size.height, BitmapFormat.Bgra, bitmapPtr, size.width * 4);\n if (!bitmap) {\n this.engine.module.wasmExports.free(bitmapPtr);\n throw new PdfFormatError(\"Failed to create PDFium bitmap\");\n }\n try {\n const fillColor = options.background === \"transparent\" ? 0x00000000 : 0xffffffff;\n this.engine.module._FPDFBitmap_FillRect(bitmap, 0, 0, size.width, size.height, fillColor);\n let flags = RenderFlag.Annot | RenderFlag.LcdText | RenderFlag.ReverseByteOrder;\n this.engine.module._FPDF_RenderPageBitmap(bitmap, page, 0, 0, size.width, size.height, size.rotate, flags);\n if (options.forms === true) {\n const formHandle = this.ensureFormHandle();\n this.engine.module._FORM_OnAfterLoadPage(page, formHandle);\n flags &= ~RenderFlag.Annot;\n this.engine.module._FPDF_FFLDraw(formHandle, bitmap, page, 0, 0, size.width, size.height, size.rotate, flags);\n this.engine.module._FORM_OnBeforeClosePage(page, formHandle);\n }\n return {\n width: size.width,\n height: size.height,\n rgba: this.engine.module.HEAPU8.slice(bitmapPtr, bitmapPtr + byteLength),\n };\n }\n finally {\n this.engine.module._FPDFBitmap_Destroy(bitmap);\n this.engine.module.wasmExports.free(bitmapPtr);\n }\n });\n }\n withLoadedPage(pageNumber, callback) {\n this.checkPageNumber(pageNumber);\n const page = this.engine.module._FPDF_LoadPage(this.documentHandle, pageNumber - 1);\n if (!page) {\n throw new PdfFormatError(`Failed to load PDF page ${pageNumber}`);\n }\n try {\n return callback(page);\n }\n finally {\n this.engine.module._FPDF_ClosePage(page);\n }\n }\n checkPageNumber(pageNumber) {\n this.assertLive();\n if (!Number.isInteger(pageNumber) || pageNumber < 1 || pageNumber > this.pageCount) {\n throw new PdfPageRangeError(pageNumber, this.pageCount);\n }\n }\n assertLive() {\n if (this.#destroyed) {\n throw new PdfDestroyedError(\"PDF document has been destroyed\");\n }\n }\n ensureFormHandle() {\n if (this.#formHandle) {\n return this.#formHandle;\n }\n // PDFium reads the versioned FPDF_FORMFILLINFO struct by field offset.\n this.#formPtr = this.engine.malloc(this.engine.formFillInfoBytes);\n this.engine.module.HEAPU8.fill(0, this.#formPtr, this.#formPtr + this.engine.formFillInfoBytes);\n new DataView(this.engine.module.HEAPU8.buffer).setUint32(this.#formPtr, 2, true);\n this.#formHandle = this.engine.module._FPDFDOC_InitFormFillEnvironment(this.documentHandle, this.#formPtr);\n if (!this.#formHandle) {\n this.engine.module.wasmExports.free(this.#formPtr);\n this.#formPtr = 0;\n throw new PdfFormatError(\"Failed to initialize PDF form fill environment\");\n }\n return this.#formHandle;\n }\n readMetadata() {\n const metadata = {};\n assignIfPresent(metadata, \"title\", this.getMetaText(\"Title\"));\n assignIfPresent(metadata, \"author\", this.getMetaText(\"Author\"));\n assignIfPresent(metadata, \"subject\", this.getMetaText(\"Subject\"));\n assignIfPresent(metadata, \"keywords\", this.getMetaText(\"Keywords\"));\n assignIfPresent(metadata, \"creator\", this.getMetaText(\"Creator\"));\n assignIfPresent(metadata, \"producer\", this.getMetaText(\"Producer\"));\n assignIfPresent(metadata, \"creationDate\", parsePdfDate(this.getMetaText(\"CreationDate\")));\n assignIfPresent(metadata, \"modificationDate\", parsePdfDate(this.getMetaText(\"ModDate\")));\n return metadata;\n }\n getMetaText(tag) {\n const tagPtr = this.engine.stringToCString(tag);\n try {\n const byteLength = this.engine.module._FPDF_GetMetaText(this.documentHandle, tagPtr, 0, 0);\n if (byteLength <= 2) {\n return undefined;\n }\n const textPtr = this.engine.malloc(byteLength);\n try {\n const written = this.engine.module._FPDF_GetMetaText(this.documentHandle, tagPtr, textPtr, byteLength);\n if (written <= 2) {\n return undefined;\n }\n const text = textDecoder.decode(this.engine.module.HEAPU8.slice(textPtr, textPtr + written - 2));\n return text || undefined;\n }\n finally {\n this.engine.module.wasmExports.free(textPtr);\n }\n }\n finally {\n this.engine.module.wasmExports.free(tagPtr);\n }\n }\n}\nfunction assignIfPresent(metadata, key, value) {\n if (value !== undefined) {\n metadata[key] = value;\n }\n}\nfunction pageRotationToDegrees(rotation) {\n const normalized = ((rotation % 4) + 4) % 4;\n return (normalized * 90);\n}\nfunction parsePdfDate(value) {\n if (!value) {\n return undefined;\n }\n const match = value.match(/^D:?(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?/);\n if (!match) {\n return undefined;\n }\n const [, year, month = \"01\", day = \"01\", hour = \"00\", minute = \"00\", second = \"00\"] = match;\n const date = new Date(Date.UTC(Number(year), Number(month) - 1, Number(day), Number(hour), Number(minute), Number(second)));\n return Number.isNaN(date.getTime()) ? undefined : date;\n}\n","import { PdfFormatError } from \"./errors.js\";\nexport async function normalizePdfInput(input) {\n if (input instanceof Uint8Array) {\n return input;\n }\n if (input instanceof ArrayBuffer) {\n return new Uint8Array(input);\n }\n if (typeof Blob !== \"undefined\" && input instanceof Blob) {\n return new Uint8Array(await input.arrayBuffer());\n }\n if (input instanceof URL) {\n return readUrl(input);\n }\n if (typeof input === \"string\") {\n return readStringInput(input);\n }\n throw new PdfFormatError(\"Unsupported PDF input type\");\n}\nasync function readStringInput(input) {\n const url = parseAbsoluteUrl(input);\n if (url && isSupportedUrlProtocol(url.protocol)) {\n return readUrl(url);\n }\n if (url && !isNodeRuntime()) {\n throw new PdfFormatError(`Unsupported PDF URL protocol: ${url.protocol}`);\n }\n if (!isNodeRuntime()) {\n throw new PdfFormatError(\"Browser string PDF inputs must be URLs\");\n }\n return readNodeFile(input);\n}\nasync function readUrl(url) {\n if (url.protocol === \"file:\" && isNodeRuntime()) {\n const { fileURLToPath } = await import(\"node:url\");\n return readNodeFile(fileURLToPath(url));\n }\n if (![\"http:\", \"https:\", \"data:\"].includes(url.protocol)) {\n throw new PdfFormatError(`Unsupported PDF URL protocol: ${url.protocol}`);\n }\n let response;\n try {\n response = await fetch(url);\n }\n catch (error) {\n throw new PdfFormatError(`Failed to fetch PDF from ${url.href}`, { cause: error });\n }\n if (!response.ok) {\n throw new PdfFormatError(`Failed to fetch PDF from ${url.href}: ${response.status} ${response.statusText}`);\n }\n return new Uint8Array(await response.arrayBuffer());\n}\nfunction isSupportedUrlProtocol(protocol) {\n return [\"file:\", \"http:\", \"https:\", \"data:\"].includes(protocol);\n}\nasync function readNodeFile(filePath) {\n try {\n const { readFile } = await import(\"node:fs/promises\");\n return new Uint8Array(await readFile(filePath));\n }\n catch (error) {\n throw new PdfFormatError(`Failed to read PDF file: ${filePath}`, { cause: error });\n }\n}\nfunction parseAbsoluteUrl(input) {\n if (!/^[a-zA-Z][a-zA-Z\\d+.-]*:/.test(input)) {\n return undefined;\n }\n try {\n return new URL(input);\n }\n catch {\n return undefined;\n }\n}\nfunction isNodeRuntime() {\n return typeof process === \"object\" && Boolean(process.versions?.node);\n}\n","import loadPdfium from \"./vendor/pdfium.esm.js\";\nimport { PdfErrorCode as PdfiumErrorCode, PDFIUM_RELEASE, PDFIUM_WASM_SHA256 } from \"./constants.js\";\nimport { DocumentImpl } from \"./document.js\";\nimport { PdfDestroyedError, PdfFormatError, PdfPasswordError, PdfSecurityError, } from \"./errors.js\";\nimport { extractDocument } from \"./extract.js\";\nimport { normalizePdfInput } from \"./input.js\";\nimport { positiveInteger } from \"./render.js\";\nconst textEncoder = new TextEncoder();\nconst formFillInfoBytes = 1024;\nconst defaultMaxRenderPixels = 100_000_000;\nexport async function createEngineImpl(options = {}) {\n const loadOptions = {};\n if (options.wasmUrl) {\n loadOptions.locateFile = () => options.wasmUrl;\n }\n if (options.wasmBinary) {\n loadOptions.wasmBinary = options.wasmBinary;\n loadOptions.locateFile = () => \"\";\n }\n if (options.instantiateWasm) {\n loadOptions.instantiateWasm = options.instantiateWasm;\n }\n const module = await loadPdfium(loadOptions);\n module._FPDF_InitLibraryWithConfig({\n version: 2,\n m_pIsolate: null,\n m_pPlatform: null,\n m_pUserFontPaths: null,\n m_v8EmbedderSlot: 0,\n });\n return new EngineImpl(module, options.maxRenderPixels ?? defaultMaxRenderPixels);\n}\nexport class EngineImpl {\n module;\n pdfiumRelease = PDFIUM_RELEASE;\n wasmSha256 = PDFIUM_WASM_SHA256;\n formFillInfoBytes = formFillInfoBytes;\n maxRenderPixels;\n #destroyed = false;\n #destroying = false;\n #documents = new Set();\n constructor(module, maxRenderPixels) {\n this.module = module;\n this.maxRenderPixels = positiveInteger(\"maxRenderPixels\", maxRenderPixels);\n }\n async open(input, options = {}) {\n return this.openInternal(input, options);\n }\n async openPrivate(input, options = {}) {\n return this.openInternal(input, options, () => {\n void this.destroy();\n });\n }\n async extract(input, options = {}) {\n const openOptions = options.password === undefined ? {} : { password: options.password };\n const document = await this.open(input, openOptions);\n try {\n return await extractDocument(document, options);\n }\n finally {\n document.destroy();\n }\n }\n async destroy() {\n this.destroySync();\n }\n [Symbol.asyncDispose]() {\n return this.destroy();\n }\n malloc(size) {\n const ptr = this.module.wasmExports.malloc(size);\n if (!ptr) {\n throw new PdfFormatError(`PDFium malloc failed for ${size} bytes`);\n }\n return ptr;\n }\n stringToCString(value) {\n const bytes = textEncoder.encode(`${value}\\0`);\n const ptr = this.malloc(bytes.byteLength);\n this.module.HEAPU8.set(bytes, ptr);\n return ptr;\n }\n async openInternal(input, options, onDestroy) {\n this.assertLive();\n const bytes = await normalizePdfInput(input);\n this.assertLive();\n const documentPtr = this.malloc(bytes.byteLength);\n this.module.HEAPU8.set(bytes, documentPtr);\n const passwordPtr = options.password ? this.stringToCString(options.password) : 0;\n const documentHandle = this.module._FPDF_LoadMemDocument(documentPtr, bytes.byteLength, passwordPtr);\n if (passwordPtr) {\n this.module.wasmExports.free(passwordPtr);\n }\n if (!documentHandle) {\n this.module.wasmExports.free(documentPtr);\n throw pdfLoadError(this.module._FPDF_GetLastError());\n }\n const document = new DocumentImpl(this, documentHandle, documentPtr, () => {\n this.#documents.delete(document);\n }, onDestroy);\n this.#documents.add(document);\n return document;\n }\n destroySync() {\n if (this.#destroyed || this.#destroying) {\n return;\n }\n this.#destroying = true;\n for (const document of Array.from(this.#documents)) {\n document.destroy();\n }\n this.module._FPDF_DestroyLibrary();\n this.#destroyed = true;\n this.#destroying = false;\n }\n assertLive() {\n if (this.#destroyed || this.#destroying) {\n throw new PdfDestroyedError(\"PDF engine has been destroyed\");\n }\n }\n}\nfunction pdfLoadError(code) {\n switch (code) {\n case PdfiumErrorCode.File:\n case PdfiumErrorCode.Format:\n return new PdfFormatError();\n case PdfiumErrorCode.Password:\n return new PdfPasswordError();\n case PdfiumErrorCode.Security:\n return new PdfSecurityError();\n case PdfiumErrorCode.Page:\n return new PdfFormatError(\"PDF page could not be loaded\");\n case PdfiumErrorCode.Unknown:\n return new PdfFormatError(\"Unknown PDFium error\");\n default:\n return new PdfFormatError(`PDFium load failed with error ${code}`);\n }\n}\n","import { createEngineImpl } from \"./engine.js\";\nimport { encodePngRgba, encodePngRgbaCompressed } from \"./png.js\";\nexport { PDFIUM_RELEASE, PDFIUM_WASM_SHA256 } from \"./constants.js\";\nexport { PdfBudgetError, PdfDestroyedError, PdfError, PdfFormatError, PdfPageRangeError, PdfPasswordError, PdfSecurityError, } from \"./errors.js\";\nexport { renderInlineImages, resolveInlineImageProtocol } from \"./inline.js\";\nlet sharedEngine;\nlet sharedInFlight = 0;\nlet sharedReleaseRequested = false;\nexport async function createEngine(options = {}) {\n return createEngineImpl(options);\n}\nexport async function openPdf(input, options = {}) {\n const engine = await createEngineImpl();\n try {\n return await engine.openPrivate(input, options);\n }\n catch (error) {\n await engine.destroy();\n throw error;\n }\n}\nexport async function extractPdf(input, options = {}) {\n if (options.engine) {\n return options.engine.extract(input, withoutEngine(options));\n }\n sharedInFlight += 1;\n try {\n const engine = await getSharedEngine();\n return await engine.extract(input, options);\n }\n finally {\n sharedInFlight -= 1;\n if (sharedReleaseRequested && sharedInFlight === 0) {\n await disposeSharedEngine();\n }\n }\n}\nexport async function releaseExtractEngine() {\n sharedReleaseRequested = true;\n if (sharedInFlight === 0) {\n await disposeSharedEngine();\n }\n}\nexport function encodePng(rgba, options) {\n if (options.compress === false) {\n return encodePngRgba(options.width, options.height, rgba);\n }\n return encodePngRgbaCompressed(options.width, options.height, rgba);\n}\nasync function getSharedEngine() {\n if (!sharedEngine) {\n sharedReleaseRequested = false;\n let nextEngine;\n nextEngine = createEngine().catch((error) => {\n if (sharedEngine === nextEngine) {\n sharedEngine = undefined;\n }\n throw error;\n });\n sharedEngine = nextEngine;\n }\n return sharedEngine;\n}\nasync function disposeSharedEngine() {\n const engine = sharedEngine;\n sharedEngine = undefined;\n sharedReleaseRequested = false;\n if (engine) {\n await (await engine).destroy();\n }\n}\nfunction withoutEngine(options) {\n const { engine: _engine, ...rest } = options;\n return rest;\n}\n","import { createEngine as createCoreEngine } from \"./index.js\";\nexport * from \"./index.js\";\nconst browserWasmUrl = new URL(\"./vendor/pdfium.esm.wasm\", import.meta.url).href;\nlet sharedEngine;\nlet sharedInFlight = 0;\nlet sharedReleaseRequested = false;\nexport async function createEngine(options = {}) {\n return createCoreEngine({\n wasmUrl: browserWasmUrl,\n ...options,\n });\n}\nexport async function openPdf(input, options = {}) {\n const engine = await createEngine();\n try {\n return await engine.openPrivate(input, options);\n }\n catch (error) {\n await engine.destroy();\n throw error;\n }\n}\nexport async function extractPdf(input, options = {}) {\n if (options.engine) {\n return options.engine.extract(input, withoutEngine(options));\n }\n sharedInFlight += 1;\n try {\n const engine = await getSharedEngine();\n return await engine.extract(input, options);\n }\n finally {\n sharedInFlight -= 1;\n if (sharedReleaseRequested && sharedInFlight === 0) {\n await disposeSharedEngine();\n }\n }\n}\nexport async function releaseExtractEngine() {\n sharedReleaseRequested = true;\n if (sharedInFlight === 0) {\n await disposeSharedEngine();\n }\n}\nasync function getSharedEngine() {\n if (!sharedEngine) {\n sharedReleaseRequested = false;\n let nextEngine;\n nextEngine = createEngine().catch((error) => {\n if (sharedEngine === nextEngine) {\n sharedEngine = undefined;\n }\n throw error;\n });\n sharedEngine = nextEngine;\n }\n return sharedEngine;\n}\nasync function disposeSharedEngine() {\n const engine = sharedEngine;\n sharedEngine = undefined;\n sharedReleaseRequested = false;\n if (engine) {\n await (await engine).destroy();\n }\n}\nfunction withoutEngine(options) {\n const { engine: _engine, ...rest } = options;\n return rest;\n}\n","interface Environment {\n openDocument: (pdf: ArrayBuffer | Uint8Array) => Promise<PdfDocument>;\n}\n\ninterface PdfDocument {\n readonly pageCount: number;\n page: (pageNumber: number) => PdfPage;\n destroy?: () => Promise<void> | void;\n}\n\ninterface PdfPage {\n png: (options?: { scale?: number; forms?: boolean }) => Promise<Uint8Array>;\n}\n\nexport interface Pdf2ImgOptions {\n scale?: number;\n range?: {\n start?: number;\n end?: number;\n };\n}\n\nconst uint8ArrayToArrayBuffer = (bytes: Uint8Array): ArrayBuffer => {\n const buffer = new ArrayBuffer(bytes.byteLength);\n new Uint8Array(buffer).set(bytes);\n return buffer;\n};\n\nexport async function pdf2img(\n pdf: ArrayBuffer | Uint8Array,\n options: Pdf2ImgOptions = {},\n env: Environment,\n): Promise<ArrayBuffer[]> {\n try {\n const { scale = 1, range = {} } = options;\n const { start = 0, end = Infinity } = range;\n\n const { openDocument } = env;\n\n const pdfDoc = await openDocument(pdf);\n try {\n const numPages = pdfDoc.pageCount;\n\n const startPage = Math.max(start + 1, 1);\n const endPage = Math.min(end + 1, numPages);\n\n const results: ArrayBuffer[] = [];\n\n for (let pageNum = startPage; pageNum <= endPage; pageNum++) {\n const png = await pdfDoc.page(pageNum).png({ scale, forms: true });\n results.push(uint8ArrayToArrayBuffer(png));\n }\n\n return results;\n } finally {\n await pdfDoc.destroy?.();\n }\n } catch (error) {\n throw new Error(`[@pdfme/converter] pdf2img failed: ${(error as Error).message}`);\n }\n}\n","var _a;\n/** A special constant with type `never` */\nexport const NEVER = /*@__PURE__*/ Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n if (!inst._zod) {\n Object.defineProperty(inst, \"_zod\", {\n value: {\n def,\n constr: _,\n traits: new Set(),\n },\n enumerable: false,\n });\n }\n if (inst._zod.traits.has(name)) {\n return;\n }\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n const proto = _.prototype;\n const keys = Object.keys(proto);\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n if (!(k in inst)) {\n inst[k] = proto[k].bind(inst);\n }\n }\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\n(_a = globalThis).__zod_globalConfig ?? (_a.__zod_globalConfig = {});\nexport const globalConfig = globalThis.__zod_globalConfig;\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","import { globalConfig } from \"./core.js\";\n// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error(\"Unexpected value in exhaustive check\");\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const ratio = val / step;\n const roundedRatio = Math.round(ratio);\n // Use a relative epsilon scaled to the magnitude of the result\n const tolerance = Number.EPSILON * Math.max(Math.abs(ratio), 1);\n if (Math.abs(ratio - roundedRatio) < tolerance)\n return 0;\n return ratio - roundedRatio;\n}\nconst EVALUATING = /* @__PURE__*/ Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport function slugify(input) {\n return input\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, \"\")\n .replace(/[\\s_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = /* @__PURE__*/ cached(() => {\n // Skip the probe under `jitless`: strict CSPs report the caught `new Function`\n // as a `securitypolicyviolation` even though the throw is swallowed.\n if (globalConfig.jitless) {\n return false;\n }\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n if (typeof ctor !== \"function\")\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n if (o instanceof Map)\n return new Map(o);\n if (o instanceof Set)\n return new Set(o);\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = /* @__PURE__*/ new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = /* @__PURE__*/ new Set([\n \"string\",\n \"number\",\n \"bigint\",\n \"boolean\",\n \"symbol\",\n \"undefined\",\n]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".pick() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".omit() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n // Only throw if new shape overlaps with existing shape\n // Use getOwnPropertyDescriptor to check key existence without accessing values\n const existingShape = schema._zod.def.shape;\n for (const key in shape) {\n if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {\n throw new Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\");\n }\n }\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function merge(a, b) {\n if (a._zod.def.checks?.length) {\n throw new Error(\".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.\");\n }\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: b._zod.def.checks ?? [],\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".partial() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\n// Checks for explicit abort (continue === false), as opposed to implicit abort (continue === undefined).\n// Used to respect `abort: true` in .refine() even for checks that have a `when` function.\nexport function explicitlyAborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue === false) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const message = iss.message\n ? iss.message\n : (unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\");\n const { inst: _inst, continue: _continue, input: _input, ...rest } = iss;\n rest.path ?? (rest.path = []);\n rest.message = message;\n if (ctx?.reportInput) {\n rest.input = _input;\n }\n return rest;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function parsedType(data) {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"nan\" : \"number\";\n }\n case \"object\": {\n if (data === null) {\n return \"null\";\n }\n if (Array.isArray(data)) {\n return \"array\";\n }\n const obj = data;\n if (obj && Object.getPrototypeOf(obj) !== Object.prototype && \"constructor\" in obj && obj.constructor) {\n return obj.constructor.name;\n }\n }\n }\n return t;\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, mapper = (issue) => issue.message) {\n const fieldErrors = { _errors: [] };\n const processError = (error, path = []) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, mapper = (issue) => issue.message) {\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? { ..._ctx, async: true } : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: true } : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\nexport const _encode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _parse(_Err)(schema, value, ctx);\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => (schema, value, _ctx) => {\n return _parse(_Err)(schema, value, _ctx);\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _parseAsync(_Err)(schema, value, ctx);\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _parseAsync(_Err)(schema, value, _ctx);\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n","import * as util from \"./util.js\";\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link cuid2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const cuid = /^[cC][0-9a-z]{6,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = unicodeEmail;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;\nexport const mac = (delimiter) => {\n const escapedDelim = util.escapeRegex(delimiter ?? \":\");\n return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);\n};\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\nexport const httpProtocol = /^https?$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\n// E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15\nexport const e164 = /^\\+[1-9]\\d{6,14}$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^-?\\d+n?$/;\nexport const integer = /^-?\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?$/;\nexport const boolean = /^(?:true|false)$/i;\nconst _null = /^null$/i;\nexport { _null as null };\nconst _undefined = /^undefined$/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n// regex for hexadecimal strings (any length)\nexport const hex = /^[0-9a-fA-F]*$/;\n// Hash regexes for different algorithms and encodings\n// Helper function to create base64 regex with exact length and padding\nfunction fixedBase64(bodyLength, padding) {\n return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);\n}\n// Helper function to create base64url regex with exact length (no padding)\nfunction fixedBase64url(length) {\n return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);\n}\n// MD5 (16 bytes): base64 = 24 chars total (22 + \"==\")\nexport const md5_hex = /^[0-9a-fA-F]{32}$/;\nexport const md5_base64 = /*@__PURE__*/ fixedBase64(22, \"==\");\nexport const md5_base64url = /*@__PURE__*/ fixedBase64url(22);\n// SHA1 (20 bytes): base64 = 28 chars total (27 + \"=\")\nexport const sha1_hex = /^[0-9a-fA-F]{40}$/;\nexport const sha1_base64 = /*@__PURE__*/ fixedBase64(27, \"=\");\nexport const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);\n// SHA256 (32 bytes): base64 = 44 chars total (43 + \"=\")\nexport const sha256_hex = /^[0-9a-fA-F]{64}$/;\nexport const sha256_base64 = /*@__PURE__*/ fixedBase64(43, \"=\");\nexport const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);\n// SHA384 (48 bytes): base64 = 64 chars total (no padding)\nexport const sha384_hex = /^[0-9a-fA-F]{96}$/;\nexport const sha384_base64 = /*@__PURE__*/ fixedBase64(64, \"\");\nexport const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);\n// SHA512 (64 bytes): base64 = 88 chars total (86 + \"==\")\nexport const sha512_hex = /^[0-9a-fA-F]{128}$/;\nexport const sha512_base64 = /*@__PURE__*/ fixedBase64(86, \"==\");\nexport const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);\n","// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n","export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n","export const version = {\n major: 4,\n minor: 4,\n patch: 3,\n};\n","import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { parse, parseAsync, safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n if (util.explicitlyAborted(payload))\n continue;\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n const handleCanaryResult = (canary, payload, ctx) => {\n // abort if the canary is aborted\n if (util.aborted(canary)) {\n canary.aborted = true;\n return canary;\n }\n // run checks first, then\n const checkResult = runChecks(payload, checks, ctx);\n if (checkResult instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));\n }\n return inst._zod.parse(checkResult, ctx);\n };\n inst._zod.run = (payload, ctx) => {\n if (ctx.skipChecks) {\n return inst._zod.parse(payload, ctx);\n }\n if (ctx.direction === \"backward\") {\n // run canary\n // initial pass (no checks)\n const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });\n if (canary instanceof Promise) {\n return canary.then((canary) => {\n return handleCanaryResult(canary, payload, ctx);\n });\n }\n return handleCanaryResult(canary, payload, ctx);\n }\n // forward\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n // Lazy initialize ~standard to avoid creating objects for every schema\n util.defineLazy(inst, \"~standard\", () => ({\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n }));\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // When normalize is off, require :// for http/https URLs\n // This prevents strings like \"http:example.com\" or \"https:/path\" from being silently accepted\n if (!def.normalize && def.protocol?.source === regexes.httpProtocol.source) {\n if (!/^https?:\\/\\//i.test(trimmed)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid URL format\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n return;\n }\n }\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: def.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link $ZodCUID2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv4`;\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv6`;\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodMAC = /*@__PURE__*/ core.$constructor(\"$ZodMAC\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.mac(def.delimiter));\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `mac`;\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const parts = payload.value.split(\"/\");\n try {\n if (parts.length !== 2)\n throw new Error();\n const [address, prefix] = parts;\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n // atob ignores whitespace, so reject it up front.\n if (/\\s/.test(data))\n return false;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64\";\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64url\";\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumberFormat\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checks\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigIntFormat\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input, isOptionalIn, isOptionalOut) {\n const isPresent = key in input;\n if (result.issues.length) {\n // For optional-in/out schemas, ignore errors on absent keys.\n if (isOptionalIn && isOptionalOut && !isPresent) {\n return;\n }\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (!isPresent && !isOptionalIn) {\n if (!result.issues.length) {\n final.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: undefined,\n path: [key],\n });\n }\n return;\n }\n if (result.value === undefined) {\n if (isPresent) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nfunction normalizeDef(def) {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!def.shape?.[k]?._zod?.traits?.has(\"$ZodType\")) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n ...def,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n}\nfunction handleCatchall(proms, input, payload, ctx, def, inst) {\n const unrecognized = [];\n const keySet = def.keySet;\n const _catchall = def.catchall._zod;\n const t = _catchall.def.type;\n const isOptionalIn = _catchall.optin === \"optional\";\n const isOptionalOut = _catchall.optout === \"optional\";\n for (const key in input) {\n // skip __proto__ so it can't replace the result prototype via the\n // assignment setter on the plain {} we build into\n if (key === \"__proto__\")\n continue;\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n // const sh = def.shape;\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n if (!desc?.get) {\n const sh = def.shape;\n Object.defineProperty(def, \"shape\", {\n get: () => {\n const newSh = { ...sh };\n Object.defineProperty(def, \"shape\", {\n value: newSh,\n });\n return newSh;\n },\n });\n }\n const _normalized = util.cached(() => normalizeDef(def));\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const isObject = util.isObject;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = {};\n const proms = [];\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const isOptionalIn = el._zod.optin === \"optional\";\n const isOptionalOut = el._zod.optout === \"optional\";\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut);\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);\n };\n});\nexport const $ZodObjectJIT = /*@__PURE__*/ core.$constructor(\"$ZodObjectJIT\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodObject.init(inst, def);\n const superParse = inst._zod.parse;\n const _normalized = util.cached(() => normalizeDef(def));\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {};`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n const schema = shape[key];\n const isOptionalIn = schema?._zod?.optin === \"optional\";\n const isOptionalOut = schema?._zod?.optout === \"optional\";\n doc.write(`const ${id} = ${parseStr(key)};`);\n if (isOptionalIn && isOptionalOut) {\n // For optional-in/out schemas, ignore errors on absent keys\n doc.write(`\n if (${id}.issues.length) {\n if (${k} in input) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n else if (!isOptionalIn) {\n doc.write(`\n const ${id}_present = ${k} in input;\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n if (!${id}_present && !${id}.issues.length) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: undefined,\n path: [${k}]\n });\n }\n\n if (${id}_present) {\n if (${id}.value === undefined) {\n newResult[${k}] = undefined;\n } else {\n newResult[${k}] = ${id}.value;\n }\n }\n\n `);\n }\n else {\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n if (!catchall)\n return payload;\n return handleCatchall([], input, payload, ctx, value, inst);\n }\n return superParse(payload, ctx);\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const first = def.options.length === 1 ? def.options[0]._zod.run : null;\n inst._zod.parse = (payload, ctx) => {\n if (first) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nfunction handleExclusiveUnionResults(results, final, inst, ctx) {\n const successes = results.filter((r) => r.issues.length === 0);\n if (successes.length === 1) {\n final.value = successes[0].value;\n return final;\n }\n if (successes.length === 0) {\n // No matches - same as regular union\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n }\n else {\n // Multiple matches - exclusive union failure\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: [],\n inclusive: false,\n });\n }\n return final;\n}\nexport const $ZodXor = /*@__PURE__*/ core.$constructor(\"$ZodXor\", (inst, def) => {\n $ZodUnion.init(inst, def);\n def.inclusive = false;\n const first = def.options.length === 1 ? def.options[0]._zod.run : null;\n inst._zod.parse = (payload, ctx) => {\n if (first) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n results.push(result);\n }\n }\n if (!async)\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n def.inclusive = false;\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n // Fall back to union matching when the fast discriminator path fails:\n // - explicitly enabled via unionFallback, or\n // - during backward direction (encode), since codec-based discriminators\n // have different values in forward vs backward directions\n if (def.unionFallback || ctx.direction === \"backward\") {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n options: Array.from(disc.value.keys()),\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n // Track which side(s) report each key as unrecognized\n const unrecKeys = new Map();\n let unrecIssue;\n for (const iss of left.issues) {\n if (iss.code === \"unrecognized_keys\") {\n unrecIssue ?? (unrecIssue = iss);\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).l = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n for (const iss of right.issues) {\n if (iss.code === \"unrecognized_keys\") {\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).r = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n // Report only keys unrecognized by BOTH sides\n const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k]) => k);\n if (bothKeys.length && unrecIssue) {\n result.issues.push({ ...unrecIssue, keys: bothKeys });\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n const optinStart = getTupleOptStart(items, \"optin\");\n const optoutStart = getTupleOptStart(items, \"optout\");\n if (!def.rest) {\n if (input.length < optinStart) {\n payload.issues.push({\n code: \"too_small\",\n minimum: optinStart,\n inclusive: true,\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n if (input.length > items.length) {\n payload.issues.push({\n code: \"too_big\",\n maximum: items.length,\n inclusive: true,\n input,\n inst,\n origin: \"array\",\n });\n }\n }\n // Run every item in parallel, collecting results into an indexed\n // array. The post-processing in `handleTupleResults` walks them in\n // order so it can decide whether an absent optional-output error can\n // truncate the tail or must be reported to preserve required output.\n const itemResults = new Array(items.length);\n for (let i = 0; i < items.length; i++) {\n const r = items[i]._zod.run({ value: input[i], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((rr) => {\n itemResults[i] = rr;\n }));\n }\n else {\n itemResults[i] = r;\n }\n }\n if (def.rest) {\n let i = items.length - 1;\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({ value: el, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((r) => handleTupleResult(r, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input, optoutStart));\n }\n return handleTupleResults(itemResults, payload, items, input, optoutStart);\n };\n});\nfunction getTupleOptStart(items, key) {\n for (let i = items.length - 1; i >= 0; i--) {\n if (items[i]._zod[key] !== \"optional\")\n return i + 1;\n }\n return 0;\n}\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nfunction handleTupleResults(itemResults, final, items, input, optoutStart) {\n // Walk results in order. Mirror $ZodObject's swallow-on-absent-optional\n // rule, but only after `optoutStart`: the first index where the output\n // tuple tail can be absent.\n for (let i = 0; i < items.length; i++) {\n const r = itemResults[i];\n const isPresent = i < input.length;\n if (r.issues.length) {\n if (!isPresent && i >= optoutStart) {\n final.value.length = i;\n break;\n }\n final.issues.push(...util.prefixIssues(i, r.issues));\n }\n final.value[i] = r.value;\n }\n // Drop trailing slots that produced `undefined` for absent input\n // (the array analog of an absent optional key on an object). The\n // `i >= input.length` floor is critical: an explicit `undefined`\n // *inside* the input must be preserved even when the schema is\n // optional-out (e.g. `z.string().or(z.undefined())` accepting an\n // explicit undefined value).\n for (let i = final.value.length - 1; i >= input.length; i--) {\n if (items[i]._zod.optout === \"optional\" && final.value[i] === undefined) {\n final.value.length = i;\n }\n else {\n break;\n }\n }\n return final;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n const values = def.keyType._zod.values;\n if (values) {\n payload.value = {};\n const recordKeys = new Set();\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n recordKeys.add(typeof key === \"number\" ? key.toString() : key);\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n continue;\n }\n const outKey = keyResult.value;\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!recordKeys.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n // Reflect.ownKeys for Symbol-key support; filter non-enumerable to match z.object()\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n if (!Object.prototype.propertyIsEnumerable.call(input, key))\n continue;\n let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n // Numeric string fallback: if key is a numeric string and failed, retry with Number(key)\n // This handles z.number(), z.literal([1, 2, 3]), and unions containing numeric literals\n const checkNumericKey = typeof key === \"string\" && regexes.number.test(key) && keyResult.issues.length;\n if (checkNumericKey) {\n const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);\n if (retryResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (retryResult.issues.length === 0) {\n keyResult = retryResult;\n }\n }\n if (keyResult.issues.length) {\n if (def.mode === \"loose\") {\n // Pass through unchanged\n payload.value[key] = input[key];\n }\n else {\n // Default \"strict\" behavior: error on invalid key\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n }\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n const values = new Set(def.values);\n inst._zod.values = values;\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n const _out = def.transform(payload.value, payload);\n if (ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n payload.fallback = true;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n payload.fallback = true;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (input === undefined && (result.issues.length || result.fallback)) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const input = payload.value;\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, input));\n return handleOptionalResult(result, input);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodExactOptional = /*@__PURE__*/ core.$constructor(\"$ZodExactOptional\", (inst, def) => {\n // Call parent init - inherits optin/optout = \"optional\"\n $ZodOptional.init(inst, def);\n // Override values/pattern to NOT add undefined\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"pattern\", () => def.innerType._zod.pattern);\n // Override parse to just delegate (no undefined handling)\n inst._zod.parse = (payload, ctx) => {\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n // Forward direction (decode): allow null to pass through\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply defaults for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault returns the default value immediately in forward direction.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n // Forward direction: continue with default handling\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply prefault for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(\"ZodSuccess\");\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply catch logic\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n payload.fallback = true;\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n payload.fallback = true;\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handlePipeResult(right, def.in, ctx));\n }\n return handlePipeResult(right, def.in, ctx);\n }\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def.out, ctx));\n }\n return handlePipeResult(left, def.out, ctx);\n };\n});\nfunction handlePipeResult(left, next, ctx) {\n if (left.issues.length) {\n // prevent further checks\n left.aborted = true;\n return left;\n }\n return next._zod.run({ value: left.value, issues: left.issues, fallback: left.fallback }, ctx);\n}\nexport const $ZodCodec = /*@__PURE__*/ core.$constructor(\"$ZodCodec\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handleCodecAResult(left, def, ctx));\n }\n return handleCodecAResult(left, def, ctx);\n }\n else {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handleCodecAResult(right, def, ctx));\n }\n return handleCodecAResult(right, def, ctx);\n }\n };\n});\nfunction handleCodecAResult(result, def, ctx) {\n if (result.issues.length) {\n // prevent further checks\n result.aborted = true;\n return result;\n }\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const transformed = def.transform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));\n }\n return handleCodecTxResult(result, transformed, def.out, ctx);\n }\n else {\n const transformed = def.reverseTransform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));\n }\n return handleCodecTxResult(result, transformed, def.in, ctx);\n }\n}\nfunction handleCodecTxResult(left, value, nextSchema, ctx) {\n // Check if transform added any issues\n if (left.issues.length) {\n left.aborted = true;\n return left;\n }\n return nextSchema._zod.run({ value, issues: left.issues }, ctx);\n}\nexport const $ZodPreprocess = /*@__PURE__*/ core.$constructor(\"$ZodPreprocess\", (inst, def) => {\n $ZodPipe.init(inst, def);\n});\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType?._zod?.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType?._zod?.optout);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (typeof part === \"object\" && part !== null) {\n // is Zod schema\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"string\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodFunction = /*@__PURE__*/ core.$constructor(\"$ZodFunction\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._def = def;\n inst._zod.def = def;\n inst.implement = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implement() must be called with a function\");\n }\n return function (...args) {\n const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;\n const result = Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return parse(inst._def.output, result);\n }\n return result;\n };\n };\n inst.implementAsync = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implementAsync() must be called with a function\");\n }\n return async function (...args) {\n const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;\n const result = await Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return await parseAsync(inst._def.output, result);\n }\n return result;\n };\n };\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"function\") {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"function\",\n input: payload.value,\n inst,\n });\n return payload;\n }\n // Check if output is a promise type to determine if we should use async implementation\n const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === \"promise\";\n if (hasPromiseOutput) {\n payload.value = inst.implementAsync(payload.value);\n }\n else {\n payload.value = inst.implement(payload.value);\n }\n return payload;\n };\n inst.input = (...args) => {\n const F = inst.constructor;\n if (Array.isArray(args[0])) {\n return new F({\n type: \"function\",\n input: new $ZodTuple({\n type: \"tuple\",\n items: args[0],\n rest: args[1],\n }),\n output: inst._def.output,\n });\n }\n return new F({\n type: \"function\",\n input: args[0],\n output: inst._def.output,\n });\n };\n inst.output = (output) => {\n const F = inst.constructor;\n return new F({\n type: \"function\",\n input: inst._def.input,\n output,\n });\n };\n return inst;\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // Cache the resolved inner type on the shared `def` so all clones of this\n // lazy (e.g. via `.describe()`/`.meta()`) share the same inner instance,\n // preserving identity for cycle detection on recursive schemas.\n util.defineLazy(inst._zod, \"innerType\", () => {\n const d = def;\n if (!d._cachedInner)\n d._cachedInner = def.getter();\n return d._cachedInner;\n });\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType?._zod?.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType?._zod?.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType?._zod?.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType?._zod?.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n","var _a;\nexport const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new WeakMap();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new WeakMap();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\n(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());\nexport const globalRegistry = globalThis.__zod_globalRegistry;\n","import * as checks from \"./checks.js\";\nimport * as registries from \"./registries.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\n// @__NO_SIDE_EFFECTS__\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link _cuid2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\n// @__NO_SIDE_EFFECTS__\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mac(Class, params) {\n return new Class({\n type: \"string\",\n format: \"mac\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\n// @__NO_SIDE_EFFECTS__\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\n// @__NO_SIDE_EFFECTS__\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\n// @__NO_SIDE_EFFECTS__\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\n// @__NO_SIDE_EFFECTS__\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\n// @__NO_SIDE_EFFECTS__\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\n// @__NO_SIDE_EFFECTS__\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\n// @__NO_SIDE_EFFECTS__\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\n// @__NO_SIDE_EFFECTS__\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\n// @__NO_SIDE_EFFECTS__\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\n// @__NO_SIDE_EFFECTS__\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\n// @__NO_SIDE_EFFECTS__\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\n// slugify\n// @__NO_SIDE_EFFECTS__\nexport function _slugify() {\n return _overwrite((input) => util.slugify(input));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _xor(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\n// @__NO_SIDE_EFFECTS__\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\n// @__NO_SIDE_EFFECTS__\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _superRefine(fn, params) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n }, params);\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function describe(description) {\n const ch = new checks.$ZodCheck({ check: \"describe\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, description });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function meta(metadata) {\n const ch = new checks.$ZodCheck({ check: \"meta\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, ...metadata });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Codec = Classes.Codec ?? schemas.$ZodCodec;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const stringSchema = new _String({ type: \"string\", error: params.error });\n const booleanSchema = new _Boolean({ type: \"boolean\", error: params.error });\n const codec = new _Codec({\n type: \"pipe\",\n in: stringSchema,\n out: booleanSchema,\n transform: ((input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: codec,\n continue: false,\n });\n return {};\n }\n }),\n reverseTransform: ((input, _payload) => {\n if (input === true) {\n return truthyArray[0] || \"true\";\n }\n else {\n return falsyArray[0] || \"false\";\n }\n }),\n error: params.error,\n });\n return codec;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n","import { globalRegistry } from \"./registries.js\";\n// function initializeContext<T extends schemas.$ZodType>(inputs: JSONSchemaGeneratorParams<T>): ToJSONSchemaContext<T> {\n// return {\n// processor: inputs.processor,\n// metadataRegistry: inputs.metadata ?? globalRegistry,\n// target: inputs.target ?? \"draft-2020-12\",\n// unrepresentable: inputs.unrepresentable ?? \"throw\",\n// };\n// }\nexport function initializeContext(params) {\n // Normalize target: convert old non-hyphenated versions to hyphenated versions\n let target = params?.target ?? \"draft-2020-12\";\n if (target === \"draft-4\")\n target = \"draft-04\";\n if (target === \"draft-7\")\n target = \"draft-07\";\n return {\n processors: params.processors ?? {},\n metadataRegistry: params?.metadata ?? globalRegistry,\n target,\n unrepresentable: params?.unrepresentable ?? \"throw\",\n override: params?.override ?? (() => { }),\n io: params?.io ?? \"output\",\n counter: 0,\n seen: new Map(),\n cycles: params?.cycles ?? \"ref\",\n reused: params?.reused ?? \"inline\",\n external: params?.external ?? undefined,\n };\n}\nexport function process(schema, ctx, _params = { path: [], schemaPath: [] }) {\n var _a;\n const def = schema._zod.def;\n // check for schema in seens\n const seen = ctx.seen.get(schema);\n if (seen) {\n seen.count++;\n // check if cycle\n const isCycle = _params.schemaPath.includes(schema);\n if (isCycle) {\n seen.cycle = _params.path;\n }\n return seen.schema;\n }\n // initialize\n const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };\n ctx.seen.set(schema, result);\n // custom method overrides default behavior\n const overrideSchema = schema._zod.toJSONSchema?.();\n if (overrideSchema) {\n result.schema = overrideSchema;\n }\n else {\n const params = {\n ..._params,\n schemaPath: [..._params.schemaPath, schema],\n path: _params.path,\n };\n if (schema._zod.processJSONSchema) {\n schema._zod.processJSONSchema(ctx, result.schema, params);\n }\n else {\n const _json = result.schema;\n const processor = ctx.processors[def.type];\n if (!processor) {\n throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);\n }\n processor(schema, ctx, _json, params);\n }\n const parent = schema._zod.parent;\n if (parent) {\n // Also set ref if processor didn't (for inheritance)\n if (!result.ref)\n result.ref = parent;\n process(parent, ctx, params);\n ctx.seen.get(parent).isParent = true;\n }\n }\n // metadata\n const meta = ctx.metadataRegistry.get(schema);\n if (meta)\n Object.assign(result.schema, meta);\n if (ctx.io === \"input\" && isTransforming(schema)) {\n // examples/defaults only apply to output type of pipe\n delete result.schema.examples;\n delete result.schema.default;\n }\n // set prefault as default\n if (ctx.io === \"input\" && \"_prefault\" in result.schema)\n (_a = result.schema).default ?? (_a.default = result.schema._prefault);\n delete result.schema._prefault;\n // pulling fresh from ctx.seen in case it was overwritten\n const _result = ctx.seen.get(schema);\n return _result.schema;\n}\nexport function extractDefs(ctx, schema\n// params: EmitParams\n) {\n // iterate over seen map;\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // Track ids to detect duplicates across different schemas\n const idToSchema = new Map();\n for (const entry of ctx.seen.entries()) {\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n const existing = idToSchema.get(id);\n if (existing && existing !== entry[0]) {\n throw new Error(`Duplicate schema id \"${id}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);\n }\n idToSchema.set(id, entry[0]);\n }\n }\n // returns a ref to the schema\n // defId will be empty if the ref points to an external schema (or #)\n const makeURI = (entry) => {\n // comparing the seen objects because sometimes\n // multiple schemas map to the same seen object.\n // e.g. lazy\n // external is configured\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (ctx.external) {\n const externalId = ctx.external.registry.get(entry[0])?.id; // ?? \"__shared\";// `__schema${ctx.counter++}`;\n // check if schema is in the external registry\n const uriGenerator = ctx.external.uri ?? ((id) => id);\n if (externalId) {\n return { ref: uriGenerator(externalId) };\n }\n // otherwise, add to __shared\n const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;\n entry[1].defId = id; // set defId so it will be reused if needed\n return { defId: id, ref: `${uriGenerator(\"__shared\")}#/${defsSegment}/${id}` };\n }\n if (entry[1] === root) {\n return { ref: \"#\" };\n }\n // self-contained schema\n const uriPrefix = `#`;\n const defUriPrefix = `${uriPrefix}/${defsSegment}/`;\n const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;\n return { defId, ref: defUriPrefix + defId };\n };\n // stored cached version in `def` property\n // remove all properties, set $ref\n const extractToDef = (entry) => {\n // if the schema is already a reference, do not extract it\n if (entry[1].schema.$ref) {\n return;\n }\n const seen = entry[1];\n const { ref, defId } = makeURI(entry);\n seen.def = { ...seen.schema };\n // defId won't be set if the schema is a reference to an external schema\n // or if the schema is the root schema\n if (defId)\n seen.defId = defId;\n // wipe away all properties except $ref\n const schema = seen.schema;\n for (const key in schema) {\n delete schema[key];\n }\n schema.$ref = ref;\n };\n // throw on cycles\n // break cycles\n if (ctx.cycles === \"throw\") {\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.cycle) {\n throw new Error(\"Cycle detected: \" +\n `#/${seen.cycle?.join(\"/\")}/<root>` +\n '\\n\\nSet the `cycles` parameter to `\"ref\"` to resolve cyclical schemas with defs.');\n }\n }\n }\n // extract schemas into $defs\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n // convert root schema to # $ref\n if (schema === entry[0]) {\n extractToDef(entry); // this has special handling for the root schema\n continue;\n }\n // extract schemas that are in the external registry\n if (ctx.external) {\n const ext = ctx.external.registry.get(entry[0])?.id;\n if (schema !== entry[0] && ext) {\n extractToDef(entry);\n continue;\n }\n }\n // extract schemas with `id` meta\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n extractToDef(entry);\n continue;\n }\n // break cycles\n if (seen.cycle) {\n // any\n extractToDef(entry);\n continue;\n }\n // extract reused schemas\n if (seen.count > 1) {\n if (ctx.reused === \"ref\") {\n extractToDef(entry);\n // biome-ignore lint:\n continue;\n }\n }\n }\n}\nexport function finalize(ctx, schema) {\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // flatten refs - inherit properties from parent schemas\n const flattenRef = (zodSchema) => {\n const seen = ctx.seen.get(zodSchema);\n // already processed\n if (seen.ref === null)\n return;\n const schema = seen.def ?? seen.schema;\n const _cached = { ...schema };\n const ref = seen.ref;\n seen.ref = null; // prevent infinite recursion\n if (ref) {\n flattenRef(ref);\n const refSeen = ctx.seen.get(ref);\n const refSchema = refSeen.schema;\n // merge referenced schema into current\n if (refSchema.$ref && (ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\")) {\n // older drafts can't combine $ref with other properties\n schema.allOf = schema.allOf ?? [];\n schema.allOf.push(refSchema);\n }\n else {\n Object.assign(schema, refSchema);\n }\n // restore child's own properties (child wins)\n Object.assign(schema, _cached);\n const isParentRef = zodSchema._zod.parent === ref;\n // For parent chain, child is a refinement - remove parent-only properties\n if (isParentRef) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (!(key in _cached)) {\n delete schema[key];\n }\n }\n }\n // When ref was extracted to $defs, remove properties that match the definition\n if (refSchema.$ref && refSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in refSeen.def && JSON.stringify(schema[key]) === JSON.stringify(refSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n // If parent was extracted (has $ref), propagate $ref to this schema\n // This handles cases like: readonly().meta({id}).describe()\n // where processor sets ref to innerType but parent should be referenced\n const parent = zodSchema._zod.parent;\n if (parent && parent !== ref) {\n // Ensure parent is processed first so its def has inherited properties\n flattenRef(parent);\n const parentSeen = ctx.seen.get(parent);\n if (parentSeen?.schema.$ref) {\n schema.$ref = parentSeen.schema.$ref;\n // De-duplicate with parent's definition\n if (parentSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in parentSeen.def && JSON.stringify(schema[key]) === JSON.stringify(parentSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n }\n // execute overrides\n ctx.override({\n zodSchema: zodSchema,\n jsonSchema: schema,\n path: seen.path ?? [],\n });\n };\n for (const entry of [...ctx.seen.entries()].reverse()) {\n flattenRef(entry[0]);\n }\n const result = {};\n if (ctx.target === \"draft-2020-12\") {\n result.$schema = \"https://json-schema.org/draft/2020-12/schema\";\n }\n else if (ctx.target === \"draft-07\") {\n result.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (ctx.target === \"draft-04\") {\n result.$schema = \"http://json-schema.org/draft-04/schema#\";\n }\n else if (ctx.target === \"openapi-3.0\") {\n // OpenAPI 3.0 schema objects should not include a $schema property\n }\n else {\n // Arbitrary string values are allowed but won't have a $schema property set\n }\n if (ctx.external?.uri) {\n const id = ctx.external.registry.get(schema)?.id;\n if (!id)\n throw new Error(\"Schema is missing an `id` property\");\n result.$id = ctx.external.uri(id);\n }\n Object.assign(result, root.def ?? root.schema);\n // The `id` in `.meta()` is a Zod-specific registration tag used to extract\n // schemas into $defs — it is not user-facing JSON Schema metadata. Strip it\n // from the output body where it would otherwise leak. The id is preserved\n // implicitly via the $defs key (and via $ref paths).\n const rootMetaId = ctx.metadataRegistry.get(schema)?.id;\n if (rootMetaId !== undefined && result.id === rootMetaId)\n delete result.id;\n // build defs object\n const defs = ctx.external?.defs ?? {};\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.def && seen.defId) {\n if (seen.def.id === seen.defId)\n delete seen.def.id;\n defs[seen.defId] = seen.def;\n }\n }\n // set definitions in result\n if (ctx.external) {\n }\n else {\n if (Object.keys(defs).length > 0) {\n if (ctx.target === \"draft-2020-12\") {\n result.$defs = defs;\n }\n else {\n result.definitions = defs;\n }\n }\n }\n try {\n // this \"finalizes\" this schema and ensures all cycles are removed\n // each call to finalize() is functionally independent\n // though the seen map is shared\n const finalized = JSON.parse(JSON.stringify(result));\n Object.defineProperty(finalized, \"~standard\", {\n value: {\n ...schema[\"~standard\"],\n jsonSchema: {\n input: createStandardJSONSchemaMethod(schema, \"input\", ctx.processors),\n output: createStandardJSONSchemaMethod(schema, \"output\", ctx.processors),\n },\n },\n enumerable: false,\n writable: false,\n });\n return finalized;\n }\n catch (_err) {\n throw new Error(\"Error converting schema to JSON.\");\n }\n}\nfunction isTransforming(_schema, _ctx) {\n const ctx = _ctx ?? { seen: new Set() };\n if (ctx.seen.has(_schema))\n return false;\n ctx.seen.add(_schema);\n const def = _schema._zod.def;\n if (def.type === \"transform\")\n return true;\n if (def.type === \"array\")\n return isTransforming(def.element, ctx);\n if (def.type === \"set\")\n return isTransforming(def.valueType, ctx);\n if (def.type === \"lazy\")\n return isTransforming(def.getter(), ctx);\n if (def.type === \"promise\" ||\n def.type === \"optional\" ||\n def.type === \"nonoptional\" ||\n def.type === \"nullable\" ||\n def.type === \"readonly\" ||\n def.type === \"default\" ||\n def.type === \"prefault\") {\n return isTransforming(def.innerType, ctx);\n }\n if (def.type === \"intersection\") {\n return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);\n }\n if (def.type === \"record\" || def.type === \"map\") {\n return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);\n }\n if (def.type === \"pipe\") {\n if (_schema._zod.traits.has(\"$ZodCodec\"))\n return true;\n return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);\n }\n if (def.type === \"object\") {\n for (const key in def.shape) {\n if (isTransforming(def.shape[key], ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"union\") {\n for (const option of def.options) {\n if (isTransforming(option, ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"tuple\") {\n for (const item of def.items) {\n if (isTransforming(item, ctx))\n return true;\n }\n if (def.rest && isTransforming(def.rest, ctx))\n return true;\n return false;\n }\n return false;\n}\n/**\n * Creates a toJSONSchema method for a schema instance.\n * This encapsulates the logic of initializing context, processing, extracting defs, and finalizing.\n */\nexport const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {\n const ctx = initializeContext({ ...params, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\nexport const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {\n const { libraryOptions, target } = params ?? {};\n const ctx = initializeContext({ ...(libraryOptions ?? {}), target, io, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\n","import { extractDefs, finalize, initializeContext, process, } from \"./to-json-schema.js\";\nimport { getEnumValues } from \"./util.js\";\nconst formatMap = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\", // do not set\n};\n// ==================== SIMPLE TYPE PROCESSORS ====================\nexport const stringProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n json.type = \"string\";\n const { minimum, maximum, format, patterns, contentEncoding } = schema._zod\n .bag;\n if (typeof minimum === \"number\")\n json.minLength = minimum;\n if (typeof maximum === \"number\")\n json.maxLength = maximum;\n // custom pattern overrides format\n if (format) {\n json.format = formatMap[format] ?? format;\n if (json.format === \"\")\n delete json.format; // empty format is not valid\n // JSON Schema format: \"time\" requires a full time with offset or Z\n // z.iso.time() does not include timezone information, so format: \"time\" should never be used\n if (format === \"time\") {\n delete json.format;\n }\n }\n if (contentEncoding)\n json.contentEncoding = contentEncoding;\n if (patterns && patterns.size > 0) {\n const regexes = [...patterns];\n if (regexes.length === 1)\n json.pattern = regexes[0].source;\n else if (regexes.length > 1) {\n json.allOf = [\n ...regexes.map((regex) => ({\n ...(ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\"\n ? { type: \"string\" }\n : {}),\n pattern: regex.source,\n })),\n ];\n }\n }\n};\nexport const numberProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;\n if (typeof format === \"string\" && format.includes(\"int\"))\n json.type = \"integer\";\n else\n json.type = \"number\";\n // when both minimum and exclusiveMinimum exist, pick the more restrictive one\n const exMin = typeof exclusiveMinimum === \"number\" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);\n const exMax = typeof exclusiveMaximum === \"number\" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY);\n const legacy = ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\";\n if (exMin) {\n if (legacy) {\n json.minimum = exclusiveMinimum;\n json.exclusiveMinimum = true;\n }\n else {\n json.exclusiveMinimum = exclusiveMinimum;\n }\n }\n else if (typeof minimum === \"number\") {\n json.minimum = minimum;\n }\n if (exMax) {\n if (legacy) {\n json.maximum = exclusiveMaximum;\n json.exclusiveMaximum = true;\n }\n else {\n json.exclusiveMaximum = exclusiveMaximum;\n }\n }\n else if (typeof maximum === \"number\") {\n json.maximum = maximum;\n }\n if (typeof multipleOf === \"number\")\n json.multipleOf = multipleOf;\n};\nexport const booleanProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const bigintProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt cannot be represented in JSON Schema\");\n }\n};\nexport const symbolProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Symbols cannot be represented in JSON Schema\");\n }\n};\nexport const nullProcessor = (_schema, ctx, json, _params) => {\n if (ctx.target === \"openapi-3.0\") {\n json.type = \"string\";\n json.nullable = true;\n json.enum = [null];\n }\n else {\n json.type = \"null\";\n }\n};\nexport const undefinedProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Undefined cannot be represented in JSON Schema\");\n }\n};\nexport const voidProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Void cannot be represented in JSON Schema\");\n }\n};\nexport const neverProcessor = (_schema, _ctx, json, _params) => {\n json.not = {};\n};\nexport const anyProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const unknownProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const dateProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Date cannot be represented in JSON Schema\");\n }\n};\nexport const enumProcessor = (schema, _ctx, json, _params) => {\n const def = schema._zod.def;\n const values = getEnumValues(def.entries);\n // Number enums can have both string and number values\n if (values.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (values.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n json.enum = values;\n};\nexport const literalProcessor = (schema, ctx, json, _params) => {\n const def = schema._zod.def;\n const vals = [];\n for (const val of def.values) {\n if (val === undefined) {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Literal `undefined` cannot be represented in JSON Schema\");\n }\n else {\n // do not add to vals\n }\n }\n else if (typeof val === \"bigint\") {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt literals cannot be represented in JSON Schema\");\n }\n else {\n vals.push(Number(val));\n }\n }\n else {\n vals.push(val);\n }\n }\n if (vals.length === 0) {\n // do nothing (an undefined literal was stripped)\n }\n else if (vals.length === 1) {\n const val = vals[0];\n json.type = val === null ? \"null\" : typeof val;\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.enum = [val];\n }\n else {\n json.const = val;\n }\n }\n else {\n if (vals.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (vals.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n if (vals.every((v) => typeof v === \"boolean\"))\n json.type = \"boolean\";\n if (vals.every((v) => v === null))\n json.type = \"null\";\n json.enum = vals;\n }\n};\nexport const nanProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"NaN cannot be represented in JSON Schema\");\n }\n};\nexport const templateLiteralProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const pattern = schema._zod.pattern;\n if (!pattern)\n throw new Error(\"Pattern not found in template literal\");\n _json.type = \"string\";\n _json.pattern = pattern.source;\n};\nexport const fileProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const file = {\n type: \"string\",\n format: \"binary\",\n contentEncoding: \"binary\",\n };\n const { minimum, maximum, mime } = schema._zod.bag;\n if (minimum !== undefined)\n file.minLength = minimum;\n if (maximum !== undefined)\n file.maxLength = maximum;\n if (mime) {\n if (mime.length === 1) {\n file.contentMediaType = mime[0];\n Object.assign(_json, file);\n }\n else {\n Object.assign(_json, file); // shared props at root\n _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs\n }\n }\n else {\n Object.assign(_json, file);\n }\n};\nexport const successProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const customProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Custom types cannot be represented in JSON Schema\");\n }\n};\nexport const functionProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Function types cannot be represented in JSON Schema\");\n }\n};\nexport const transformProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Transforms cannot be represented in JSON Schema\");\n }\n};\nexport const mapProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Map cannot be represented in JSON Schema\");\n }\n};\nexport const setProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Set cannot be represented in JSON Schema\");\n }\n};\n// ==================== COMPOSITE TYPE PROCESSORS ====================\nexport const arrayProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n json.type = \"array\";\n json.items = process(def.element, ctx, {\n ...params,\n path: [...params.path, \"items\"],\n });\n};\nexport const objectProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n json.properties = {};\n const shape = def.shape;\n for (const key in shape) {\n json.properties[key] = process(shape[key], ctx, {\n ...params,\n path: [...params.path, \"properties\", key],\n });\n }\n // required keys\n const allKeys = new Set(Object.keys(shape));\n const requiredKeys = new Set([...allKeys].filter((key) => {\n const v = def.shape[key]._zod;\n if (ctx.io === \"input\") {\n return v.optin === undefined;\n }\n else {\n return v.optout === undefined;\n }\n }));\n if (requiredKeys.size > 0) {\n json.required = Array.from(requiredKeys);\n }\n // catchall\n if (def.catchall?._zod.def.type === \"never\") {\n // strict\n json.additionalProperties = false;\n }\n else if (!def.catchall) {\n // regular\n if (ctx.io === \"output\")\n json.additionalProperties = false;\n }\n else if (def.catchall) {\n json.additionalProperties = process(def.catchall, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n};\nexport const unionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches)\n // This includes both z.xor() and discriminated unions\n const isExclusive = def.inclusive === false;\n const options = def.options.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, isExclusive ? \"oneOf\" : \"anyOf\", i],\n }));\n if (isExclusive) {\n json.oneOf = options;\n }\n else {\n json.anyOf = options;\n }\n};\nexport const intersectionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const a = process(def.left, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 0],\n });\n const b = process(def.right, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 1],\n });\n const isSimpleIntersection = (val) => \"allOf\" in val && Object.keys(val).length === 1;\n const allOf = [\n ...(isSimpleIntersection(a) ? a.allOf : [a]),\n ...(isSimpleIntersection(b) ? b.allOf : [b]),\n ];\n json.allOf = allOf;\n};\nexport const tupleProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"array\";\n const prefixPath = ctx.target === \"draft-2020-12\" ? \"prefixItems\" : \"items\";\n const restPath = ctx.target === \"draft-2020-12\" ? \"items\" : ctx.target === \"openapi-3.0\" ? \"items\" : \"additionalItems\";\n const prefixItems = def.items.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, prefixPath, i],\n }));\n const rest = def.rest\n ? process(def.rest, ctx, {\n ...params,\n path: [...params.path, restPath, ...(ctx.target === \"openapi-3.0\" ? [def.items.length] : [])],\n })\n : null;\n if (ctx.target === \"draft-2020-12\") {\n json.prefixItems = prefixItems;\n if (rest) {\n json.items = rest;\n }\n }\n else if (ctx.target === \"openapi-3.0\") {\n json.items = {\n anyOf: prefixItems,\n };\n if (rest) {\n json.items.anyOf.push(rest);\n }\n json.minItems = prefixItems.length;\n if (!rest) {\n json.maxItems = prefixItems.length;\n }\n }\n else {\n json.items = prefixItems;\n if (rest) {\n json.additionalItems = rest;\n }\n }\n // length\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n};\nexport const recordProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n // For looseRecord with regex patterns, use patternProperties\n // This correctly represents \"only validate keys matching the pattern\" semantics\n // and composes well with allOf (intersections)\n const keyType = def.keyType;\n const keyBag = keyType._zod.bag;\n const patterns = keyBag?.patterns;\n if (def.mode === \"loose\" && patterns && patterns.size > 0) {\n // Use patternProperties for looseRecord with regex patterns\n const valueSchema = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"patternProperties\", \"*\"],\n });\n json.patternProperties = {};\n for (const pattern of patterns) {\n json.patternProperties[pattern.source] = valueSchema;\n }\n }\n else {\n // Default behavior: use propertyNames + additionalProperties\n if (ctx.target === \"draft-07\" || ctx.target === \"draft-2020-12\") {\n json.propertyNames = process(def.keyType, ctx, {\n ...params,\n path: [...params.path, \"propertyNames\"],\n });\n }\n json.additionalProperties = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n // Add required for keys with discrete values (enum, literal, etc.)\n const keyValues = keyType._zod.values;\n if (keyValues) {\n const validKeyValues = [...keyValues].filter((v) => typeof v === \"string\" || typeof v === \"number\");\n if (validKeyValues.length > 0) {\n json.required = validKeyValues;\n }\n }\n};\nexport const nullableProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const inner = process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n if (ctx.target === \"openapi-3.0\") {\n seen.ref = def.innerType;\n json.nullable = true;\n }\n else {\n json.anyOf = [inner, { type: \"null\" }];\n }\n};\nexport const nonoptionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const defaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.default = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const prefaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n if (ctx.io === \"input\")\n json._prefault = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const catchProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n let catchValue;\n try {\n catchValue = def.catchValue(undefined);\n }\n catch {\n throw new Error(\"Dynamic catch values are not supported in JSON Schema\");\n }\n json.default = catchValue;\n};\nexport const pipeProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n const inIsTransform = def.in._zod.traits.has(\"$ZodTransform\");\n const innerType = ctx.io === \"input\" ? (inIsTransform ? def.out : def.in) : def.out;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\nexport const readonlyProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.readOnly = true;\n};\nexport const promiseProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const optionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const lazyProcessor = (schema, ctx, _json, params) => {\n const innerType = schema._zod.innerType;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\n// ==================== ALL PROCESSORS ====================\nexport const allProcessors = {\n string: stringProcessor,\n number: numberProcessor,\n boolean: booleanProcessor,\n bigint: bigintProcessor,\n symbol: symbolProcessor,\n null: nullProcessor,\n undefined: undefinedProcessor,\n void: voidProcessor,\n never: neverProcessor,\n any: anyProcessor,\n unknown: unknownProcessor,\n date: dateProcessor,\n enum: enumProcessor,\n literal: literalProcessor,\n nan: nanProcessor,\n template_literal: templateLiteralProcessor,\n file: fileProcessor,\n success: successProcessor,\n custom: customProcessor,\n function: functionProcessor,\n transform: transformProcessor,\n map: mapProcessor,\n set: setProcessor,\n array: arrayProcessor,\n object: objectProcessor,\n union: unionProcessor,\n intersection: intersectionProcessor,\n tuple: tupleProcessor,\n record: recordProcessor,\n nullable: nullableProcessor,\n nonoptional: nonoptionalProcessor,\n default: defaultProcessor,\n prefault: prefaultProcessor,\n catch: catchProcessor,\n pipe: pipeProcessor,\n readonly: readonlyProcessor,\n promise: promiseProcessor,\n optional: optionalProcessor,\n lazy: lazyProcessor,\n};\nexport function toJSONSchema(input, params) {\n if (\"_idmap\" in input) {\n // Registry case\n const registry = input;\n const ctx = initializeContext({ ...params, processors: allProcessors });\n const defs = {};\n // First pass: process all schemas to build the seen map\n for (const entry of registry._idmap.entries()) {\n const [_, schema] = entry;\n process(schema, ctx);\n }\n const schemas = {};\n const external = {\n registry,\n uri: params?.uri,\n defs,\n };\n // Update the context with external configuration\n ctx.external = external;\n // Second pass: emit each schema\n for (const entry of registry._idmap.entries()) {\n const [key, schema] = entry;\n extractDefs(ctx, schema);\n schemas[key] = finalize(ctx, schema);\n }\n if (Object.keys(defs).length > 0) {\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n schemas.__shared = {\n [defsSegment]: defs,\n };\n }\n return { schemas };\n }\n // Single schema case\n const ctx = initializeContext({ ...params, processors: allProcessors });\n process(input, ctx);\n extractDefs(ctx, input);\n return finalize(ctx, input);\n}\n","import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n","import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = /*@__PURE__*/ core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = /*@__PURE__*/ core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n","import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n// Codec functions\nexport const encode = /* @__PURE__ */ core._encode(ZodRealError);\nexport const decode = /* @__PURE__ */ core._decode(ZodRealError);\nexport const encodeAsync = /* @__PURE__ */ core._encodeAsync(ZodRealError);\nexport const decodeAsync = /* @__PURE__ */ core._decodeAsync(ZodRealError);\nexport const safeEncode = /* @__PURE__ */ core._safeEncode(ZodRealError);\nexport const safeDecode = /* @__PURE__ */ core._safeDecode(ZodRealError);\nexport const safeEncodeAsync = /* @__PURE__ */ core._safeEncodeAsync(ZodRealError);\nexport const safeDecodeAsync = /* @__PURE__ */ core._safeDecodeAsync(ZodRealError);\n","import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as processors from \"../core/json-schema-processors.js\";\nimport { createStandardJSONSchemaMethod, createToJSONSchemaMethod } from \"../core/to-json-schema.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\n// Lazy-bind builder methods.\n//\n// Builder methods (`.optional`, `.array`, `.refine`, ...) live as\n// non-enumerable getters on each concrete schema constructor's\n// prototype. On first access from an instance the getter allocates\n// `fn.bind(this)` and caches it as an own property on that instance,\n// so detached usage (`const m = schema.optional; m()`) still works\n// and the per-instance allocation only happens for methods actually\n// touched.\n//\n// One install per (prototype, group), memoized by `_installedGroups`.\nconst _installedGroups = /* @__PURE__ */ new WeakMap();\nfunction _installLazyMethods(inst, group, methods) {\n const proto = Object.getPrototypeOf(inst);\n let installed = _installedGroups.get(proto);\n if (!installed) {\n installed = new Set();\n _installedGroups.set(proto, installed);\n }\n if (installed.has(group))\n return;\n installed.add(group);\n for (const key in methods) {\n const fn = methods[key];\n Object.defineProperty(proto, key, {\n configurable: true,\n enumerable: false,\n get() {\n const bound = fn.bind(this);\n Object.defineProperty(this, key, {\n configurable: true,\n writable: true,\n enumerable: true,\n value: bound,\n });\n return bound;\n },\n set(v) {\n Object.defineProperty(this, key, {\n configurable: true,\n writable: true,\n enumerable: true,\n value: v,\n });\n },\n });\n }\n}\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n Object.assign(inst[\"~standard\"], {\n jsonSchema: {\n input: createStandardJSONSchemaMethod(inst, \"input\"),\n output: createStandardJSONSchemaMethod(inst, \"output\"),\n },\n });\n inst.toJSONSchema = createToJSONSchemaMethod(inst, {});\n inst.def = def;\n inst.type = def.type;\n Object.defineProperty(inst, \"_def\", { value: def });\n // Parse-family is intentionally kept as per-instance closures: these are\n // the hot path AND the most-detached methods (`arr.map(schema.parse)`,\n // `const { parse } = schema`, etc.). Eager closures here mean callers pay\n // ~12 closure allocations per schema but get monomorphic call sites and\n // detached usage that \"just works\".\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n inst.encode = (data, params) => parse.encode(inst, data, params);\n inst.decode = (data, params) => parse.decode(inst, data, params);\n inst.encodeAsync = async (data, params) => parse.encodeAsync(inst, data, params);\n inst.decodeAsync = async (data, params) => parse.decodeAsync(inst, data, params);\n inst.safeEncode = (data, params) => parse.safeEncode(inst, data, params);\n inst.safeDecode = (data, params) => parse.safeDecode(inst, data, params);\n inst.safeEncodeAsync = async (data, params) => parse.safeEncodeAsync(inst, data, params);\n inst.safeDecodeAsync = async (data, params) => parse.safeDecodeAsync(inst, data, params);\n // All builder methods are placed on the internal prototype as lazy-bind\n // getters. On first access per-instance, a bound thunk is allocated and\n // cached as an own property; subsequent accesses skip the getter. This\n // means: no per-instance allocation for unused methods, full\n // detachability preserved (`const m = schema.optional; m()` works), and\n // shared underlying function references across all instances.\n _installLazyMethods(inst, \"ZodType\", {\n check(...chks) {\n const def = this.def;\n return this.clone(util.mergeDefs(def, {\n checks: [\n ...(def.checks ?? []),\n ...chks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }), { parent: true });\n },\n with(...chks) {\n return this.check(...chks);\n },\n clone(def, params) {\n return core.clone(this, def, params);\n },\n brand() {\n return this;\n },\n register(reg, meta) {\n reg.add(this, meta);\n return this;\n },\n refine(check, params) {\n return this.check(refine(check, params));\n },\n superRefine(refinement, params) {\n return this.check(superRefine(refinement, params));\n },\n overwrite(fn) {\n return this.check(checks.overwrite(fn));\n },\n optional() {\n return optional(this);\n },\n exactOptional() {\n return exactOptional(this);\n },\n nullable() {\n return nullable(this);\n },\n nullish() {\n return optional(nullable(this));\n },\n nonoptional(params) {\n return nonoptional(this, params);\n },\n array() {\n return array(this);\n },\n or(arg) {\n return union([this, arg]);\n },\n and(arg) {\n return intersection(this, arg);\n },\n transform(tx) {\n return pipe(this, transform(tx));\n },\n default(d) {\n return _default(this, d);\n },\n prefault(d) {\n return prefault(this, d);\n },\n catch(params) {\n return _catch(this, params);\n },\n pipe(target) {\n return pipe(this, target);\n },\n readonly() {\n return readonly(this);\n },\n describe(description) {\n const cl = this.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n },\n meta(...args) {\n // overloaded: meta() returns the registered metadata, meta(data)\n // returns a clone with `data` registered. The mapped type picks\n // up the second overload, so we accept variadic any-args and\n // return `any` to satisfy both at runtime.\n if (args.length === 0)\n return core.globalRegistry.get(this);\n const cl = this.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n },\n isOptional() {\n return this.safeParse(undefined).success;\n },\n isNullable() {\n return this.safeParse(null).success;\n },\n apply(fn) {\n return fn(this);\n },\n });\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.stringProcessor(inst, ctx, json, params);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n _installLazyMethods(inst, \"_ZodString\", {\n regex(...args) {\n return this.check(checks.regex(...args));\n },\n includes(...args) {\n return this.check(checks.includes(...args));\n },\n startsWith(...args) {\n return this.check(checks.startsWith(...args));\n },\n endsWith(...args) {\n return this.check(checks.endsWith(...args));\n },\n min(...args) {\n return this.check(checks.minLength(...args));\n },\n max(...args) {\n return this.check(checks.maxLength(...args));\n },\n length(...args) {\n return this.check(checks.length(...args));\n },\n nonempty(...args) {\n return this.check(checks.minLength(1, ...args));\n },\n lowercase(params) {\n return this.check(checks.lowercase(params));\n },\n uppercase(params) {\n return this.check(checks.uppercase(params));\n },\n trim() {\n return this.check(checks.trim());\n },\n normalize(...args) {\n return this.check(checks.normalize(...args));\n },\n toLowerCase() {\n return this.check(checks.toLowerCase());\n },\n toUpperCase() {\n return this.check(checks.toUpperCase());\n },\n slugify() {\n return this.check(checks.slugify());\n },\n });\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport function httpUrl(params) {\n return core._url(ZodURL, {\n protocol: core.regexes.httpProtocol,\n hostname: core.regexes.domain,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link ZodCUID2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\n/**\n * Validates a CUID v1 string.\n *\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link cuid2 | `z.cuid2()`} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodMAC = /*@__PURE__*/ core.$constructor(\"ZodMAC\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodMAC.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function mac(params) {\n return core._mac(ZodMAC, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hex\", core.regexes.hex, _params);\n}\nexport function hash(alg, params) {\n const enc = params?.enc ?? \"hex\";\n const format = `${alg}_${enc}`;\n const regex = core.regexes[format];\n if (!regex)\n throw new Error(`Unrecognized hash format: ${format}`);\n return core._stringFormat(ZodCustomStringFormat, format, regex, params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.numberProcessor(inst, ctx, json, params);\n _installLazyMethods(inst, \"ZodNumber\", {\n gt(value, params) {\n return this.check(checks.gt(value, params));\n },\n gte(value, params) {\n return this.check(checks.gte(value, params));\n },\n min(value, params) {\n return this.check(checks.gte(value, params));\n },\n lt(value, params) {\n return this.check(checks.lt(value, params));\n },\n lte(value, params) {\n return this.check(checks.lte(value, params));\n },\n max(value, params) {\n return this.check(checks.lte(value, params));\n },\n int(params) {\n return this.check(int(params));\n },\n safe(params) {\n return this.check(int(params));\n },\n positive(params) {\n return this.check(checks.gt(0, params));\n },\n nonnegative(params) {\n return this.check(checks.gte(0, params));\n },\n negative(params) {\n return this.check(checks.lt(0, params));\n },\n nonpositive(params) {\n return this.check(checks.lte(0, params));\n },\n multipleOf(value, params) {\n return this.check(checks.multipleOf(value, params));\n },\n step(value, params) {\n return this.check(checks.multipleOf(value, params));\n },\n finite() {\n return this;\n },\n });\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.booleanProcessor(inst, ctx, json, params);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.bigintProcessor(inst, ctx, json, params);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.symbolProcessor(inst, ctx, json, params);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.undefinedProcessor(inst, ctx, json, params);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullProcessor(inst, ctx, json, params);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.anyProcessor(inst, ctx, json, params);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unknownProcessor(inst, ctx, json, params);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.neverProcessor(inst, ctx, json, params);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.voidProcessor(inst, ctx, json, params);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.dateProcessor(inst, ctx, json, params);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.arrayProcessor(inst, ctx, json, params);\n inst.element = def.element;\n _installLazyMethods(inst, \"ZodArray\", {\n min(n, params) {\n return this.check(checks.minLength(n, params));\n },\n nonempty(params) {\n return this.check(checks.minLength(1, params));\n },\n max(n, params) {\n return this.check(checks.maxLength(n, params));\n },\n length(n, params) {\n return this.check(checks.length(n, params));\n },\n unwrap() {\n return this.element;\n },\n });\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return _enum(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObjectJIT.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.objectProcessor(inst, ctx, json, params);\n util.defineLazy(inst, \"shape\", () => {\n return def.shape;\n });\n _installLazyMethods(inst, \"ZodObject\", {\n keyof() {\n return _enum(Object.keys(this._zod.def.shape));\n },\n catchall(catchall) {\n return this.clone({ ...this._zod.def, catchall: catchall });\n },\n passthrough() {\n return this.clone({ ...this._zod.def, catchall: unknown() });\n },\n loose() {\n return this.clone({ ...this._zod.def, catchall: unknown() });\n },\n strict() {\n return this.clone({ ...this._zod.def, catchall: never() });\n },\n strip() {\n return this.clone({ ...this._zod.def, catchall: undefined });\n },\n extend(incoming) {\n return util.extend(this, incoming);\n },\n safeExtend(incoming) {\n return util.safeExtend(this, incoming);\n },\n merge(other) {\n return util.merge(this, other);\n },\n pick(mask) {\n return util.pick(this, mask);\n },\n omit(mask) {\n return util.omit(this, mask);\n },\n partial(...args) {\n return util.partial(ZodOptional, this, args[0]);\n },\n required(...args) {\n return util.required(ZodNonOptional, this, args[0]);\n },\n });\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n shape: shape ?? {},\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodXor = /*@__PURE__*/ core.$constructor(\"ZodXor\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodXor.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\n/** Creates an exclusive union (XOR) where exactly one option must match.\n * Unlike regular unions that succeed when any option matches, xor fails if\n * zero or more than one option matches the input. */\nexport function xor(options, params) {\n return new ZodXor({\n type: \"union\",\n options: options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.intersectionProcessor(inst, ctx, json, params);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.tupleProcessor(inst, ctx, json, params);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.recordProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n // v3-compat: z.record(valueType, params?) — defaults keyType to z.string()\n if (!valueType || !valueType._zod) {\n return new ZodRecord({\n type: \"record\",\n keyType: string(),\n valueType: keyType,\n ...util.normalizeParams(valueType),\n });\n }\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function looseRecord(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n mode: \"loose\",\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.mapProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.setProcessor(inst, ctx, json, params);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.enumProcessor(inst, ctx, json, params);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.literalProcessor(inst, ctx, json, params);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.fileProcessor(inst, ctx, json, params);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.transformProcessor(inst, ctx, json, params);\n inst._zod.parse = (payload, _ctx) => {\n if (_ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n payload.fallback = true;\n return payload;\n });\n }\n payload.value = output;\n payload.fallback = true;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodExactOptional = /*@__PURE__*/ core.$constructor(\"ZodExactOptional\", (inst, def) => {\n core.$ZodExactOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function exactOptional(innerType) {\n return new ZodExactOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullableProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.defaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.prefaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nonoptionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.successProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.catchProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nanProcessor(inst, ctx, json, params);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.pipeProcessor(inst, ctx, json, params);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodCodec = /*@__PURE__*/ core.$constructor(\"ZodCodec\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodCodec.init(inst, def);\n});\nexport function codec(in_, out, params) {\n return new ZodCodec({\n type: \"pipe\",\n in: in_,\n out: out,\n transform: params.decode,\n reverseTransform: params.encode,\n });\n}\nexport function invertCodec(codec) {\n const def = codec._zod.def;\n return new ZodCodec({\n type: \"pipe\",\n in: def.out,\n out: def.in,\n transform: def.reverseTransform,\n reverseTransform: def.transform,\n });\n}\nexport const ZodPreprocess = /*@__PURE__*/ core.$constructor(\"ZodPreprocess\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodPreprocess.init(inst, def);\n});\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.readonlyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.templateLiteralProcessor(inst, ctx, json, params);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.lazyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.promiseProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodFunction = /*@__PURE__*/ core.$constructor(\"ZodFunction\", (inst, def) => {\n core.$ZodFunction.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.functionProcessor(inst, ctx, json, params);\n});\nexport function _function(params) {\n return new ZodFunction({\n type: \"function\",\n input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),\n output: params?.output ?? unknown(),\n });\n}\nexport { _function as function };\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.customProcessor(inst, ctx, json, params);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn, params) {\n return core._superRefine(fn, params);\n}\n// Re-export describe and meta from core\nexport const describe = core.describe;\nexport const meta = core.meta;\nfunction _instanceof(cls, params = {}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n // Override check to emit invalid_type instead of custom\n inst._zod.check = (payload) => {\n if (!(payload.value instanceof cls)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: cls.name,\n input: payload.value,\n inst,\n path: [...(inst._zod.def.path ?? [])],\n });\n }\n };\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Codec: ZodCodec,\n Boolean: ZodBoolean,\n String: ZodString,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\nexport function preprocess(fn, schema) {\n return new ZodPreprocess({\n type: \"pipe\",\n in: transform(fn),\n out: schema,\n });\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// This file was generated. Do not modify manually!\nvar astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];\n\n// This file was generated. Do not modify manually!\nvar astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];\n\n// This file was generated. Do not modify manually!\nvar nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0897-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1add\\u1ae0-\\u1aeb\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\n\n// This file was generated. Do not modify manually!\nvar nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088f\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5c\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdc-\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c8a\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7dc\\ua7f1-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n\n// These are a run-length and offset encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range.\n\n// Reserved word lists for various dialects of the language\n\nvar reservedWords = {\n 3: \"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",\n 5: \"class enum extends super const export import\",\n 6: \"enum\",\n strict: \"implements interface let package private protected public static yield\",\n strictBind: \"eval arguments\"\n};\n\n// And the keywords\n\nvar ecma5AndLessKeywords = \"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\";\n\nvar keywords$1 = {\n 5: ecma5AndLessKeywords,\n \"5module\": ecma5AndLessKeywords + \" export import\",\n 6: ecma5AndLessKeywords + \" const class extends export import super\"\n};\n\nvar keywordRelationalOperator = /^in(stanceof)?$/;\n\n// ## Character categories\n\nvar nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nvar nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code, set) {\n var pos = 0x10000;\n for (var i = 0; i < set.length; i += 2) {\n pos += set[i];\n if (pos > code) { return false }\n pos += set[i + 1];\n if (pos >= code) { return true }\n }\n return false\n}\n\n// Test whether a given character code starts an identifier.\n\nfunction isIdentifierStart(code, astral) {\n if (code < 65) { return code === 36 }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes)\n}\n\n// Test whether a given character is part of an identifier.\n\nfunction isIdentifierChar(code, astral) {\n if (code < 48) { return code === 36 }\n if (code < 58) { return true }\n if (code < 65) { return false }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)\n}\n\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between regular\n// expressions and divisions. It is set on all token types that can\n// be followed by an expression (thus, a slash after them would be a\n// regular expression).\n//\n// The `startsExpr` property is used to check if the token ends a\n// `yield` expression. It is set on all token types that either can\n// directly start an expression (like a quotation mark) or can\n// continue an expression (like the body of a string).\n//\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nvar TokenType = function TokenType(label, conf) {\n if ( conf === void 0 ) conf = {};\n\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop || null;\n this.updateContext = null;\n};\n\nfunction binop(name, prec) {\n return new TokenType(name, {beforeExpr: true, binop: prec})\n}\nvar beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true};\n\n// Map keyword names to token types.\n\nvar keywords = {};\n\n// Succinct definitions of keyword token types\nfunction kw(name, options) {\n if ( options === void 0 ) options = {};\n\n options.keyword = name;\n return keywords[name] = new TokenType(name, options)\n}\n\nvar types$1 = {\n num: new TokenType(\"num\", startsExpr),\n regexp: new TokenType(\"regexp\", startsExpr),\n string: new TokenType(\"string\", startsExpr),\n name: new TokenType(\"name\", startsExpr),\n privateId: new TokenType(\"privateId\", startsExpr),\n eof: new TokenType(\"eof\"),\n\n // Punctuation token types.\n bracketL: new TokenType(\"[\", {beforeExpr: true, startsExpr: true}),\n bracketR: new TokenType(\"]\"),\n braceL: new TokenType(\"{\", {beforeExpr: true, startsExpr: true}),\n braceR: new TokenType(\"}\"),\n parenL: new TokenType(\"(\", {beforeExpr: true, startsExpr: true}),\n parenR: new TokenType(\")\"),\n comma: new TokenType(\",\", beforeExpr),\n semi: new TokenType(\";\", beforeExpr),\n colon: new TokenType(\":\", beforeExpr),\n dot: new TokenType(\".\"),\n question: new TokenType(\"?\", beforeExpr),\n questionDot: new TokenType(\"?.\"),\n arrow: new TokenType(\"=>\", beforeExpr),\n template: new TokenType(\"template\"),\n invalidTemplate: new TokenType(\"invalidTemplate\"),\n ellipsis: new TokenType(\"...\", beforeExpr),\n backQuote: new TokenType(\"`\", startsExpr),\n dollarBraceL: new TokenType(\"${\", {beforeExpr: true, startsExpr: true}),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n eq: new TokenType(\"=\", {beforeExpr: true, isAssign: true}),\n assign: new TokenType(\"_=\", {beforeExpr: true, isAssign: true}),\n incDec: new TokenType(\"++/--\", {prefix: true, postfix: true, startsExpr: true}),\n prefix: new TokenType(\"!/~\", {beforeExpr: true, prefix: true, startsExpr: true}),\n logicalOR: binop(\"||\", 1),\n logicalAND: binop(\"&&\", 2),\n bitwiseOR: binop(\"|\", 3),\n bitwiseXOR: binop(\"^\", 4),\n bitwiseAND: binop(\"&\", 5),\n equality: binop(\"==/!=/===/!==\", 6),\n relational: binop(\"</>/<=/>=\", 7),\n bitShift: binop(\"<</>>/>>>\", 8),\n plusMin: new TokenType(\"+/-\", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),\n modulo: binop(\"%\", 10),\n star: binop(\"*\", 10),\n slash: binop(\"/\", 10),\n starstar: new TokenType(\"**\", {beforeExpr: true}),\n coalesce: binop(\"??\", 1),\n\n // Keyword token types.\n _break: kw(\"break\"),\n _case: kw(\"case\", beforeExpr),\n _catch: kw(\"catch\"),\n _continue: kw(\"continue\"),\n _debugger: kw(\"debugger\"),\n _default: kw(\"default\", beforeExpr),\n _do: kw(\"do\", {isLoop: true, beforeExpr: true}),\n _else: kw(\"else\", beforeExpr),\n _finally: kw(\"finally\"),\n _for: kw(\"for\", {isLoop: true}),\n _function: kw(\"function\", startsExpr),\n _if: kw(\"if\"),\n _return: kw(\"return\", beforeExpr),\n _switch: kw(\"switch\"),\n _throw: kw(\"throw\", beforeExpr),\n _try: kw(\"try\"),\n _var: kw(\"var\"),\n _const: kw(\"const\"),\n _while: kw(\"while\", {isLoop: true}),\n _with: kw(\"with\"),\n _new: kw(\"new\", {beforeExpr: true, startsExpr: true}),\n _this: kw(\"this\", startsExpr),\n _super: kw(\"super\", startsExpr),\n _class: kw(\"class\", startsExpr),\n _extends: kw(\"extends\", beforeExpr),\n _export: kw(\"export\"),\n _import: kw(\"import\", startsExpr),\n _null: kw(\"null\", startsExpr),\n _true: kw(\"true\", startsExpr),\n _false: kw(\"false\", startsExpr),\n _in: kw(\"in\", {beforeExpr: true, binop: 7}),\n _instanceof: kw(\"instanceof\", {beforeExpr: true, binop: 7}),\n _typeof: kw(\"typeof\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _void: kw(\"void\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _delete: kw(\"delete\", {beforeExpr: true, prefix: true, startsExpr: true})\n};\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\n\nvar lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/;\nvar lineBreakG = new RegExp(lineBreak.source, \"g\");\n\nfunction isNewLine(code) {\n return code === 10 || code === 13 || code === 0x2028 || code === 0x2029\n}\n\nfunction nextLineBreak(code, from, end) {\n if ( end === void 0 ) end = code.length;\n\n for (var i = from; i < end; i++) {\n var next = code.charCodeAt(i);\n if (isNewLine(next))\n { return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }\n }\n return -1\n}\n\nvar nonASCIIwhitespace = /[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/;\n\nvar skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nvar ref = Object.prototype;\nvar hasOwnProperty = ref.hasOwnProperty;\nvar toString = ref.toString;\n\nvar hasOwn = Object.hasOwn || (function (obj, propName) { return (\n hasOwnProperty.call(obj, propName)\n); });\n\nvar isArray = Array.isArray || (function (obj) { return (\n toString.call(obj) === \"[object Array]\"\n); });\n\nvar regexpCache = Object.create(null);\n\nfunction wordsRegexp(words) {\n return regexpCache[words] || (regexpCache[words] = new RegExp(\"^(?:\" + words.replace(/ /g, \"|\") + \")$\"))\n}\n\nfunction codePointToString(code) {\n // UTF-16 Decoding\n if (code <= 0xFFFF) { return String.fromCharCode(code) }\n code -= 0x10000;\n return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)\n}\n\nvar loneSurrogate = /(?:[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/;\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nvar Position = function Position(line, col) {\n this.line = line;\n this.column = col;\n};\n\nPosition.prototype.offset = function offset (n) {\n return new Position(this.line, this.column + n)\n};\n\nvar SourceLocation = function SourceLocation(p, start, end) {\n this.start = start;\n this.end = end;\n if (p.sourceFile !== null) { this.source = p.sourceFile; }\n};\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nfunction getLineInfo(input, offset) {\n for (var line = 1, cur = 0;;) {\n var nextBreak = nextLineBreak(input, cur, offset);\n if (nextBreak < 0) { return new Position(line, offset - cur) }\n ++line;\n cur = nextBreak;\n }\n}\n\n// A second argument must be given to configure the parser process.\n// These options are recognized (only `ecmaVersion` is required):\n\nvar defaultOptions = {\n // `ecmaVersion` indicates the ECMAScript version to parse. Must be\n // either 3, 5, 6 (or 2015), 7 (2016), 8 (2017), 9 (2018), 10\n // (2019), 11 (2020), 12 (2021), 13 (2022), 14 (2023), or `\"latest\"`\n // (the latest version the library supports). This influences\n // support for strict mode, the set of reserved words, and support\n // for new syntax features.\n ecmaVersion: null,\n // `sourceType` indicates the mode the code should be parsed in.\n // Can be either `\"script\"`, `\"module\"` or `\"commonjs\"`. This influences global\n // strict mode and parsing of `import` and `export` declarations.\n sourceType: \"script\",\n // `onInsertedSemicolon` can be a callback that will be called when\n // a semicolon is automatically inserted. It will be passed the\n // position of the inserted semicolon as an offset, and if\n // `locations` is enabled, it is given the location as a `{line,\n // column}` object as second argument.\n onInsertedSemicolon: null,\n // `onTrailingComma` is similar to `onInsertedSemicolon`, but for\n // trailing commas.\n onTrailingComma: null,\n // By default, reserved words are only enforced if ecmaVersion >= 5.\n // Set `allowReserved` to a boolean value to explicitly turn this on\n // an off. When this option has the value \"never\", reserved words\n // and keywords can also not be used as property names.\n allowReserved: null,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program, and an import.meta expression\n // in a script isn't considered an error.\n allowImportExportEverywhere: false,\n // By default, await identifiers are allowed to appear at the top-level scope only if ecmaVersion >= 2022.\n // When enabled, await identifiers are allowed to appear at the top-level scope,\n // but they are still not allowed in non-async functions.\n allowAwaitOutsideFunction: null,\n // When enabled, super identifiers are not constrained to\n // appearing in methods and do not raise an error when they appear elsewhere.\n allowSuperOutsideMethod: null,\n // When enabled, hashbang directive in the beginning of file is\n // allowed and treated as a line comment. Enabled by default when\n // `ecmaVersion` >= 2023.\n allowHashBang: false,\n // By default, the parser will verify that private properties are\n // only used in places where they are valid and have been declared.\n // Set this to false to turn such checks off.\n checkPrivateFields: true,\n // When `locations` is on, `loc` properties holding objects with\n // `start` and `end` properties in `{line, column}` form (with\n // line being 1-based and column 0-based) will be attached to the\n // nodes.\n locations: false,\n // A function can be passed as `onToken` option, which will\n // cause Acorn to call that function with object in the same\n // format as tokens returned from `tokenizer().getToken()`. Note\n // that you are not allowed to call the parser from the\n // callback—that will corrupt its internal state.\n onToken: null,\n // A function can be passed as `onComment` option, which will\n // cause Acorn to call that function with `(block, text, start,\n // end)` parameters whenever a comment is skipped. `block` is a\n // boolean indicating whether this is a block (`/* */`) comment,\n // `text` is the content of the comment, and `start` and `end` are\n // character offsets that denote the start and end of the comment.\n // When the `locations` option is on, two more parameters are\n // passed, the full `{line, column}` locations of the start and\n // end of the comments. Note that you are not allowed to call the\n // parser from the callback—that will corrupt its internal state.\n // When this option has an array as value, objects representing the\n // comments are pushed to it.\n onComment: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // It is possible to parse multiple files into a single AST by\n // passing the tree produced by parsing the first file as\n // `program` option in subsequent parses. This will add the\n // toplevel forms of the parsed file to the `Program` (top) node\n // of an existing parse tree.\n program: null,\n // When `locations` is on, you can pass this to record the source\n // file in every node's `loc` object.\n sourceFile: null,\n // This value, if given, is stored in every node, whether\n // `locations` is on or off.\n directSourceFile: null,\n // When enabled, parenthesized expressions are represented by\n // (non-standard) ParenthesizedExpression nodes\n preserveParens: false\n};\n\n// Interpret and default an options object\n\nvar warnedAboutEcmaVersion = false;\n\nfunction getOptions(opts) {\n var options = {};\n\n for (var opt in defaultOptions)\n { options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; }\n\n if (options.ecmaVersion === \"latest\") {\n options.ecmaVersion = 1e8;\n } else if (options.ecmaVersion == null) {\n if (!warnedAboutEcmaVersion && typeof console === \"object\" && console.warn) {\n warnedAboutEcmaVersion = true;\n console.warn(\"Since Acorn 8.0.0, options.ecmaVersion is required.\\nDefaulting to 2020, but this will stop working in the future.\");\n }\n options.ecmaVersion = 11;\n } else if (options.ecmaVersion >= 2015) {\n options.ecmaVersion -= 2009;\n }\n\n if (options.allowReserved == null)\n { options.allowReserved = options.ecmaVersion < 5; }\n\n if (!opts || opts.allowHashBang == null)\n { options.allowHashBang = options.ecmaVersion >= 14; }\n\n if (isArray(options.onToken)) {\n var tokens = options.onToken;\n options.onToken = function (token) { return tokens.push(token); };\n }\n if (isArray(options.onComment))\n { options.onComment = pushComment(options, options.onComment); }\n\n if (options.sourceType === \"commonjs\" && options.allowAwaitOutsideFunction)\n { throw new Error(\"Cannot use allowAwaitOutsideFunction with sourceType: commonjs\") }\n\n return options\n}\n\nfunction pushComment(options, array) {\n return function(block, text, start, end, startLoc, endLoc) {\n var comment = {\n type: block ? \"Block\" : \"Line\",\n value: text,\n start: start,\n end: end\n };\n if (options.locations)\n { comment.loc = new SourceLocation(this, startLoc, endLoc); }\n if (options.ranges)\n { comment.range = [start, end]; }\n array.push(comment);\n }\n}\n\n// Each scope gets a bitset that may contain these flags\nvar\n SCOPE_TOP = 1,\n SCOPE_FUNCTION = 2,\n SCOPE_ASYNC = 4,\n SCOPE_GENERATOR = 8,\n SCOPE_ARROW = 16,\n SCOPE_SIMPLE_CATCH = 32,\n SCOPE_SUPER = 64,\n SCOPE_DIRECT_SUPER = 128,\n SCOPE_CLASS_STATIC_BLOCK = 256,\n SCOPE_CLASS_FIELD_INIT = 512,\n SCOPE_SWITCH = 1024,\n SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;\n\nfunction functionFlags(async, generator) {\n return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)\n}\n\n// Used in checkLVal* and declareName to determine the type of a binding\nvar\n BIND_NONE = 0, // Not a binding\n BIND_VAR = 1, // Var-style binding\n BIND_LEXICAL = 2, // Let- or const-style binding\n BIND_FUNCTION = 3, // Function declaration\n BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding\n BIND_OUTSIDE = 5; // Special case for function names as bound inside the function\n\nvar Parser = function Parser(options, input, startPos) {\n this.options = options = getOptions(options);\n this.sourceFile = options.sourceFile;\n this.keywords = wordsRegexp(keywords$1[options.ecmaVersion >= 6 ? 6 : options.sourceType === \"module\" ? \"5module\" : 5]);\n var reserved = \"\";\n if (options.allowReserved !== true) {\n reserved = reservedWords[options.ecmaVersion >= 6 ? 6 : options.ecmaVersion === 5 ? 5 : 3];\n if (options.sourceType === \"module\") { reserved += \" await\"; }\n }\n this.reservedWords = wordsRegexp(reserved);\n var reservedStrict = (reserved ? reserved + \" \" : \"\") + reservedWords.strict;\n this.reservedWordsStrict = wordsRegexp(reservedStrict);\n this.reservedWordsStrictBind = wordsRegexp(reservedStrict + \" \" + reservedWords.strictBind);\n this.input = String(input);\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n this.containsEsc = false;\n\n // Set up token state\n\n // The current position of the tokenizer in the input.\n if (startPos) {\n this.pos = startPos;\n this.lineStart = this.input.lastIndexOf(\"\\n\", startPos - 1) + 1;\n this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;\n } else {\n this.pos = this.lineStart = 0;\n this.curLine = 1;\n }\n\n // Properties of the current token:\n // Its type\n this.type = types$1.eof;\n // For tokens that include more information than their type, the value\n this.value = null;\n // Its start and end offset\n this.start = this.end = this.pos;\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n this.startLoc = this.endLoc = this.curPosition();\n\n // Position information for the previous token\n this.lastTokEndLoc = this.lastTokStartLoc = null;\n this.lastTokStart = this.lastTokEnd = this.pos;\n\n // The context stack is used to superficially track syntactic\n // context to predict whether a regular expression is allowed in a\n // given position.\n this.context = this.initialContext();\n this.exprAllowed = true;\n\n // Figure out if it's a module code.\n this.inModule = options.sourceType === \"module\";\n this.strict = this.inModule || this.strictDirective(this.pos);\n\n // Used to signify the start of a potential arrow function\n this.potentialArrowAt = -1;\n this.potentialArrowInForAwait = false;\n\n // Positions to delayed-check that yield/await does not exist in default parameters.\n this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;\n // Labels in scope.\n this.labels = [];\n // Thus-far undefined exports.\n this.undefinedExports = Object.create(null);\n\n // If enabled, skip leading hashbang line.\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === \"#!\")\n { this.skipLineComment(2); }\n\n // Scope tracking for duplicate variable names (see scope.js)\n this.scopeStack = [];\n this.enterScope(\n this.options.sourceType === \"commonjs\"\n // In commonjs, the top-level scope behaves like a function scope\n ? SCOPE_FUNCTION\n : SCOPE_TOP\n );\n\n // For RegExp validation\n this.regexpState = null;\n\n // The stack of private names.\n // Each element has two properties: 'declared' and 'used'.\n // When it exited from the outermost class definition, all used private names must be declared.\n this.privateNameStack = [];\n};\n\nvar prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowReturn: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },allowUsing: { configurable: true },inClassStaticBlock: { configurable: true } };\n\nParser.prototype.parse = function parse () {\n var node = this.options.program || this.startNode();\n this.nextToken();\n return this.parseTopLevel(node)\n};\n\nprototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };\n\nprototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };\n\nprototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };\n\nprototypeAccessors.canAwait.get = function () {\n for (var i = this.scopeStack.length - 1; i >= 0; i--) {\n var ref = this.scopeStack[i];\n var flags = ref.flags;\n if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }\n if (flags & SCOPE_FUNCTION) { return (flags & SCOPE_ASYNC) > 0 }\n }\n return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction\n};\n\nprototypeAccessors.allowReturn.get = function () {\n if (this.inFunction) { return true }\n if (this.options.allowReturnOutsideFunction && this.currentVarScope().flags & SCOPE_TOP) { return true }\n return false\n};\n\nprototypeAccessors.allowSuper.get = function () {\n var ref = this.currentThisScope();\n var flags = ref.flags;\n return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod\n};\n\nprototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };\n\nprototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };\n\nprototypeAccessors.allowNewDotTarget.get = function () {\n for (var i = this.scopeStack.length - 1; i >= 0; i--) {\n var ref = this.scopeStack[i];\n var flags = ref.flags;\n if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||\n ((flags & SCOPE_FUNCTION) && !(flags & SCOPE_ARROW))) { return true }\n }\n return false\n};\n\nprototypeAccessors.allowUsing.get = function () {\n var ref = this.currentScope();\n var flags = ref.flags;\n if (flags & SCOPE_SWITCH) { return false }\n if (!this.inModule && flags & SCOPE_TOP) { return false }\n return true\n};\n\nprototypeAccessors.inClassStaticBlock.get = function () {\n return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0\n};\n\nParser.extend = function extend () {\n var plugins = [], len = arguments.length;\n while ( len-- ) plugins[ len ] = arguments[ len ];\n\n var cls = this;\n for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }\n return cls\n};\n\nParser.parse = function parse (input, options) {\n return new this(options, input).parse()\n};\n\nParser.parseExpressionAt = function parseExpressionAt (input, pos, options) {\n var parser = new this(options, input, pos);\n parser.nextToken();\n return parser.parseExpression()\n};\n\nParser.tokenizer = function tokenizer (input, options) {\n return new this(options, input)\n};\n\nObject.defineProperties( Parser.prototype, prototypeAccessors );\n\nvar pp$9 = Parser.prototype;\n\n// ## Parser utilities\n\nvar literal = /^(?:'((?:\\\\[^]|[^'\\\\])*?)'|\"((?:\\\\[^]|[^\"\\\\])*?)\")/;\npp$9.strictDirective = function(start) {\n if (this.options.ecmaVersion < 5) { return false }\n for (;;) {\n // Try to find string literal.\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this.input)[0].length;\n var match = literal.exec(this.input.slice(start));\n if (!match) { return false }\n if ((match[1] || match[2]) === \"use strict\") {\n skipWhiteSpace.lastIndex = start + match[0].length;\n var spaceAfter = skipWhiteSpace.exec(this.input), end = spaceAfter.index + spaceAfter[0].length;\n var next = this.input.charAt(end);\n return next === \";\" || next === \"}\" ||\n (lineBreak.test(spaceAfter[0]) &&\n !(/[(`.[+\\-/*%<>=,?^&]/.test(next) || next === \"!\" && this.input.charAt(end + 1) === \"=\"))\n }\n start += match[0].length;\n\n // Skip semicolon, if any.\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this.input)[0].length;\n if (this.input[start] === \";\")\n { start++; }\n }\n};\n\n// Predicate that tests whether the next token is of the given\n// type, and if yes, consumes it as a side effect.\n\npp$9.eat = function(type) {\n if (this.type === type) {\n this.next();\n return true\n } else {\n return false\n }\n};\n\n// Tests whether parsed token is a contextual keyword.\n\npp$9.isContextual = function(name) {\n return this.type === types$1.name && this.value === name && !this.containsEsc\n};\n\n// Consumes contextual keyword if possible.\n\npp$9.eatContextual = function(name) {\n if (!this.isContextual(name)) { return false }\n this.next();\n return true\n};\n\n// Asserts that following token is given contextual keyword.\n\npp$9.expectContextual = function(name) {\n if (!this.eatContextual(name)) { this.unexpected(); }\n};\n\n// Test whether a semicolon can be inserted at the current position.\n\npp$9.canInsertSemicolon = function() {\n return this.type === types$1.eof ||\n this.type === types$1.braceR ||\n lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\npp$9.insertSemicolon = function() {\n if (this.canInsertSemicolon()) {\n if (this.options.onInsertedSemicolon)\n { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }\n return true\n }\n};\n\n// Consume a semicolon, or, failing that, see if we are allowed to\n// pretend that there is a semicolon at this position.\n\npp$9.semicolon = function() {\n if (!this.eat(types$1.semi) && !this.insertSemicolon()) { this.unexpected(); }\n};\n\npp$9.afterTrailingComma = function(tokType, notNext) {\n if (this.type === tokType) {\n if (this.options.onTrailingComma)\n { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }\n if (!notNext)\n { this.next(); }\n return true\n }\n};\n\n// Expect a token of a given type. If found, consume it, otherwise,\n// raise an unexpected token error.\n\npp$9.expect = function(type) {\n this.eat(type) || this.unexpected();\n};\n\n// Raise an unexpected token error.\n\npp$9.unexpected = function(pos) {\n this.raise(pos != null ? pos : this.start, \"Unexpected token\");\n};\n\nvar DestructuringErrors = function DestructuringErrors() {\n this.shorthandAssign =\n this.trailingComma =\n this.parenthesizedAssign =\n this.parenthesizedBind =\n this.doubleProto =\n -1;\n};\n\npp$9.checkPatternErrors = function(refDestructuringErrors, isAssign) {\n if (!refDestructuringErrors) { return }\n if (refDestructuringErrors.trailingComma > -1)\n { this.raiseRecoverable(refDestructuringErrors.trailingComma, \"Comma is not permitted after the rest element\"); }\n var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;\n if (parens > -1) { this.raiseRecoverable(parens, isAssign ? \"Assigning to rvalue\" : \"Parenthesized pattern\"); }\n};\n\npp$9.checkExpressionErrors = function(refDestructuringErrors, andThrow) {\n if (!refDestructuringErrors) { return false }\n var shorthandAssign = refDestructuringErrors.shorthandAssign;\n var doubleProto = refDestructuringErrors.doubleProto;\n if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 }\n if (shorthandAssign >= 0)\n { this.raise(shorthandAssign, \"Shorthand property assignments are valid only in destructuring patterns\"); }\n if (doubleProto >= 0)\n { this.raiseRecoverable(doubleProto, \"Redefinition of __proto__ property\"); }\n};\n\npp$9.checkYieldAwaitInDefaultParams = function() {\n if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))\n { this.raise(this.yieldPos, \"Yield expression cannot be a default value\"); }\n if (this.awaitPos)\n { this.raise(this.awaitPos, \"Await expression cannot be a default value\"); }\n};\n\npp$9.isSimpleAssignTarget = function(expr) {\n if (expr.type === \"ParenthesizedExpression\")\n { return this.isSimpleAssignTarget(expr.expression) }\n return expr.type === \"Identifier\" || expr.type === \"MemberExpression\"\n};\n\nvar pp$8 = Parser.prototype;\n\n// ### Statement parsing\n\n// Parse a program. Initializes the parser, reads any number of\n// statements, and wraps them in a Program node. Optionally takes a\n// `program` argument. If present, the statements will be appended\n// to its body instead of creating a new node.\n\npp$8.parseTopLevel = function(node) {\n var exports = Object.create(null);\n if (!node.body) { node.body = []; }\n while (this.type !== types$1.eof) {\n var stmt = this.parseStatement(null, true, exports);\n node.body.push(stmt);\n }\n if (this.inModule)\n { for (var i = 0, list = Object.keys(this.undefinedExports); i < list.length; i += 1)\n {\n var name = list[i];\n\n this.raiseRecoverable(this.undefinedExports[name].start, (\"Export '\" + name + \"' is not defined\"));\n } }\n this.adaptDirectivePrologue(node.body);\n this.next();\n node.sourceType = this.options.sourceType === \"commonjs\" ? \"script\" : this.options.sourceType;\n return this.finishNode(node, \"Program\")\n};\n\nvar loopLabel = {kind: \"loop\"}, switchLabel = {kind: \"switch\"};\n\npp$8.isLet = function(context) {\n if (this.options.ecmaVersion < 6 || !this.isContextual(\"let\")) { return false }\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, nextCh = this.fullCharCodeAt(next);\n // For ambiguous cases, determine if a LexicalDeclaration (or only a\n // Statement) is allowed here. If context is not empty then only a Statement\n // is allowed. However, `let [` is an explicit negative lookahead for\n // ExpressionStatement, so special-case it first.\n if (nextCh === 91 || nextCh === 92) { return true } // '[', '\\'\n if (context) { return false }\n\n if (nextCh === 123) { return true } // '{'\n if (isIdentifierStart(nextCh)) {\n var start = next;\n do { next += nextCh <= 0xffff ? 1 : 2; }\n while (isIdentifierChar(nextCh = this.fullCharCodeAt(next)))\n if (nextCh === 92) { return true }\n var ident = this.input.slice(start, next);\n if (!keywordRelationalOperator.test(ident)) { return true }\n }\n return false\n};\n\n// check 'async [no LineTerminator here] function'\n// - 'async /*foo*/ function' is OK.\n// - 'async /*\\n*/ function' is invalid.\npp$8.isAsyncFunction = function() {\n if (this.options.ecmaVersion < 8 || !this.isContextual(\"async\"))\n { return false }\n\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, after;\n return !lineBreak.test(this.input.slice(this.pos, next)) &&\n this.input.slice(next, next + 8) === \"function\" &&\n (next + 8 === this.input.length ||\n !(isIdentifierChar(after = this.fullCharCodeAt(next + 8)) || after === 92 /* '\\' */))\n};\n\npp$8.isUsingKeyword = function(isAwaitUsing, isFor) {\n if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? \"await\" : \"using\"))\n { return false }\n\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length;\n\n if (lineBreak.test(this.input.slice(this.pos, next))) { return false }\n\n if (isAwaitUsing) {\n var usingEndPos = next + 5 /* using */, after;\n if (this.input.slice(next, usingEndPos) !== \"using\" ||\n usingEndPos === this.input.length ||\n isIdentifierChar(after = this.fullCharCodeAt(usingEndPos)) ||\n after === 92 /* '\\' */\n ) { return false }\n\n skipWhiteSpace.lastIndex = usingEndPos;\n var skipAfterUsing = skipWhiteSpace.exec(this.input);\n next = usingEndPos + skipAfterUsing[0].length;\n if (skipAfterUsing && lineBreak.test(this.input.slice(usingEndPos, next))) { return false }\n }\n\n var ch = this.fullCharCodeAt(next);\n if (!isIdentifierStart(ch) && ch !== 92 /* '\\' */) { return false }\n var idStart = next;\n do { next += ch <= 0xffff ? 1 : 2; }\n while (isIdentifierChar(ch = this.fullCharCodeAt(next)))\n if (ch === 92) { return true }\n var id = this.input.slice(idStart, next);\n if (keywordRelationalOperator.test(id) || isFor && id === \"of\") { return false }\n return true\n};\n\npp$8.isAwaitUsing = function(isFor) {\n return this.isUsingKeyword(true, isFor)\n};\n\npp$8.isUsing = function(isFor) {\n return this.isUsingKeyword(false, isFor)\n};\n\n// Parse a single statement.\n//\n// If expecting a statement and finding a slash operator, parse a\n// regular expression literal. This is to handle cases like\n// `if (foo) /blah/.exec(foo)`, where looking at the previous token\n// does not help.\n\npp$8.parseStatement = function(context, topLevel, exports) {\n var starttype = this.type, node = this.startNode(), kind;\n\n if (this.isLet(context)) {\n starttype = types$1._var;\n kind = \"let\";\n }\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case types$1._break: case types$1._continue: return this.parseBreakContinueStatement(node, starttype.keyword)\n case types$1._debugger: return this.parseDebuggerStatement(node)\n case types$1._do: return this.parseDoStatement(node)\n case types$1._for: return this.parseForStatement(node)\n case types$1._function:\n // Function as sole body of either an if statement or a labeled statement\n // works, but not when it is part of a labeled statement that is the sole\n // body of an if statement.\n if ((context && (this.strict || context !== \"if\" && context !== \"label\")) && this.options.ecmaVersion >= 6) { this.unexpected(); }\n return this.parseFunctionStatement(node, false, !context)\n case types$1._class:\n if (context) { this.unexpected(); }\n return this.parseClass(node, true)\n case types$1._if: return this.parseIfStatement(node)\n case types$1._return: return this.parseReturnStatement(node)\n case types$1._switch: return this.parseSwitchStatement(node)\n case types$1._throw: return this.parseThrowStatement(node)\n case types$1._try: return this.parseTryStatement(node)\n case types$1._const: case types$1._var:\n kind = kind || this.value;\n if (context && kind !== \"var\") { this.unexpected(); }\n return this.parseVarStatement(node, kind)\n case types$1._while: return this.parseWhileStatement(node)\n case types$1._with: return this.parseWithStatement(node)\n case types$1.braceL: return this.parseBlock(true, node)\n case types$1.semi: return this.parseEmptyStatement(node)\n case types$1._export:\n case types$1._import:\n if (this.options.ecmaVersion > 10 && starttype === types$1._import) {\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);\n if (nextCh === 40 || nextCh === 46) // '(' or '.'\n { return this.parseExpressionStatement(node, this.parseExpression()) }\n }\n\n if (!this.options.allowImportExportEverywhere) {\n if (!topLevel)\n { this.raise(this.start, \"'import' and 'export' may only appear at the top level\"); }\n if (!this.inModule)\n { this.raise(this.start, \"'import' and 'export' may appear only with 'sourceType: module'\"); }\n }\n return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n default:\n if (this.isAsyncFunction()) {\n if (context) { this.unexpected(); }\n this.next();\n return this.parseFunctionStatement(node, true, !context)\n }\n\n var usingKind = this.isAwaitUsing(false) ? \"await using\" : this.isUsing(false) ? \"using\" : null;\n if (usingKind) {\n if (!this.allowUsing) {\n this.raise(this.start, \"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement\");\n }\n if (usingKind === \"await using\") {\n if (!this.canAwait) {\n this.raise(this.start, \"Await using cannot appear outside of async function\");\n }\n this.next();\n }\n this.next();\n this.parseVar(node, false, usingKind);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\")\n }\n\n var maybeName = this.value, expr = this.parseExpression();\n if (starttype === types$1.name && expr.type === \"Identifier\" && this.eat(types$1.colon))\n { return this.parseLabeledStatement(node, maybeName, expr, context) }\n else { return this.parseExpressionStatement(node, expr) }\n }\n};\n\npp$8.parseBreakContinueStatement = function(node, keyword) {\n var isBreak = keyword === \"break\";\n this.next();\n if (this.eat(types$1.semi) || this.insertSemicolon()) { node.label = null; }\n else if (this.type !== types$1.name) { this.unexpected(); }\n else {\n node.label = this.parseIdent();\n this.semicolon();\n }\n\n // Verify that there is an actual destination to break or\n // continue to.\n var i = 0;\n for (; i < this.labels.length; ++i) {\n var lab = this.labels[i];\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) { break }\n if (node.label && isBreak) { break }\n }\n }\n if (i === this.labels.length) { this.raise(node.start, \"Unsyntactic \" + keyword); }\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n};\n\npp$8.parseDebuggerStatement = function(node) {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\")\n};\n\npp$8.parseDoStatement = function(node) {\n this.next();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"do\");\n this.labels.pop();\n this.expect(types$1._while);\n node.test = this.parseParenExpression();\n if (this.options.ecmaVersion >= 6)\n { this.eat(types$1.semi); }\n else\n { this.semicolon(); }\n return this.finishNode(node, \"DoWhileStatement\")\n};\n\n// Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n// loop is non-trivial. Basically, we have to parse the init `var`\n// statement or expression, disallowing the `in` operator (see\n// the second parameter to `parseExpression`), and then check\n// whether the next token is `in` or `of`. When there is no init\n// part (semicolon immediately after the opening parenthesis), it\n// is a regular `for` loop.\n\npp$8.parseForStatement = function(node) {\n this.next();\n var awaitAt = (this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual(\"await\")) ? this.lastTokStart : -1;\n this.labels.push(loopLabel);\n this.enterScope(0);\n this.expect(types$1.parenL);\n if (this.type === types$1.semi) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, null)\n }\n var isLet = this.isLet();\n if (this.type === types$1._var || this.type === types$1._const || isLet) {\n var init$1 = this.startNode(), kind = isLet ? \"let\" : this.value;\n this.next();\n this.parseVar(init$1, true, kind);\n this.finishNode(init$1, \"VariableDeclaration\");\n return this.parseForAfterInit(node, init$1, awaitAt)\n }\n var startsWithLet = this.isContextual(\"let\"), isForOf = false;\n\n var usingKind = this.isUsing(true) ? \"using\" : this.isAwaitUsing(true) ? \"await using\" : null;\n if (usingKind) {\n var init$2 = this.startNode();\n this.next();\n if (usingKind === \"await using\") {\n if (!this.canAwait) {\n this.raise(this.start, \"Await using cannot appear outside of async function\");\n }\n this.next();\n }\n this.parseVar(init$2, true, usingKind);\n this.finishNode(init$2, \"VariableDeclaration\");\n return this.parseForAfterInit(node, init$2, awaitAt)\n }\n var containsEsc = this.containsEsc;\n var refDestructuringErrors = new DestructuringErrors;\n var initPos = this.start;\n var init = awaitAt > -1\n ? this.parseExprSubscripts(refDestructuringErrors, \"await\")\n : this.parseExpression(true, refDestructuringErrors);\n if (this.type === types$1._in || (isForOf = this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) {\n if (awaitAt > -1) { // implies `ecmaVersion >= 9` (see declaration of awaitAt)\n if (this.type === types$1._in) { this.unexpected(awaitAt); }\n node.await = true;\n } else if (isForOf && this.options.ecmaVersion >= 8) {\n if (init.start === initPos && !containsEsc && init.type === \"Identifier\" && init.name === \"async\") { this.unexpected(); }\n else if (this.options.ecmaVersion >= 9) { node.await = false; }\n }\n if (startsWithLet && isForOf) { this.raise(init.start, \"The left-hand side of a for-of loop may not start with 'let'.\"); }\n this.toAssignable(init, false, refDestructuringErrors);\n this.checkLValPattern(init);\n return this.parseForIn(node, init)\n } else {\n this.checkExpressionErrors(refDestructuringErrors, true);\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init)\n};\n\n// Helper method to parse for loop after variable initialization\npp$8.parseForAfterInit = function(node, init, awaitAt) {\n if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) && init.declarations.length === 1) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types$1._in) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n } else { node.await = awaitAt > -1; }\n }\n return this.parseForIn(node, init)\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init)\n};\n\npp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {\n this.next();\n return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)\n};\n\npp$8.parseIfStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n // allow function declarations in branches, but only in non-strict mode\n node.consequent = this.parseStatement(\"if\");\n node.alternate = this.eat(types$1._else) ? this.parseStatement(\"if\") : null;\n return this.finishNode(node, \"IfStatement\")\n};\n\npp$8.parseReturnStatement = function(node) {\n if (!this.allowReturn)\n { this.raise(this.start, \"'return' outside of function\"); }\n this.next();\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.eat(types$1.semi) || this.insertSemicolon()) { node.argument = null; }\n else { node.argument = this.parseExpression(); this.semicolon(); }\n return this.finishNode(node, \"ReturnStatement\")\n};\n\npp$8.parseSwitchStatement = function(node) {\n this.next();\n node.discriminant = this.parseParenExpression();\n node.cases = [];\n this.expect(types$1.braceL);\n this.labels.push(switchLabel);\n this.enterScope(SCOPE_SWITCH);\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n var cur;\n for (var sawDefault = false; this.type !== types$1.braceR;) {\n if (this.type === types$1._case || this.type === types$1._default) {\n var isCase = this.type === types$1._case;\n if (cur) { this.finishNode(cur, \"SwitchCase\"); }\n node.cases.push(cur = this.startNode());\n cur.consequent = [];\n this.next();\n if (isCase) {\n cur.test = this.parseExpression();\n } else {\n if (sawDefault) { this.raiseRecoverable(this.lastTokStart, \"Multiple default clauses\"); }\n sawDefault = true;\n cur.test = null;\n }\n this.expect(types$1.colon);\n } else {\n if (!cur) { this.unexpected(); }\n cur.consequent.push(this.parseStatement(null));\n }\n }\n this.exitScope();\n if (cur) { this.finishNode(cur, \"SwitchCase\"); }\n this.next(); // Closing brace\n this.labels.pop();\n return this.finishNode(node, \"SwitchStatement\")\n};\n\npp$8.parseThrowStatement = function(node) {\n this.next();\n if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))\n { this.raise(this.lastTokEnd, \"Illegal newline after throw\"); }\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\")\n};\n\n// Reused empty array added for node fields that are always empty.\n\nvar empty$1 = [];\n\npp$8.parseCatchClauseParam = function() {\n var param = this.parseBindingAtom();\n var simple = param.type === \"Identifier\";\n this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);\n this.checkLValPattern(param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);\n this.expect(types$1.parenR);\n\n return param\n};\n\npp$8.parseTryStatement = function(node) {\n this.next();\n node.block = this.parseBlock();\n node.handler = null;\n if (this.type === types$1._catch) {\n var clause = this.startNode();\n this.next();\n if (this.eat(types$1.parenL)) {\n clause.param = this.parseCatchClauseParam();\n } else {\n if (this.options.ecmaVersion < 10) { this.unexpected(); }\n clause.param = null;\n this.enterScope(0);\n }\n clause.body = this.parseBlock(false);\n this.exitScope();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;\n if (!node.handler && !node.finalizer)\n { this.raise(node.start, \"Missing catch or finally clause\"); }\n return this.finishNode(node, \"TryStatement\")\n};\n\npp$8.parseVarStatement = function(node, kind, allowMissingInitializer) {\n this.next();\n this.parseVar(node, false, kind, allowMissingInitializer);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\")\n};\n\npp$8.parseWhileStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"while\");\n this.labels.pop();\n return this.finishNode(node, \"WhileStatement\")\n};\n\npp$8.parseWithStatement = function(node) {\n if (this.strict) { this.raise(this.start, \"'with' in strict mode\"); }\n this.next();\n node.object = this.parseParenExpression();\n node.body = this.parseStatement(\"with\");\n return this.finishNode(node, \"WithStatement\")\n};\n\npp$8.parseEmptyStatement = function(node) {\n this.next();\n return this.finishNode(node, \"EmptyStatement\")\n};\n\npp$8.parseLabeledStatement = function(node, maybeName, expr, context) {\n for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1)\n {\n var label = list[i$1];\n\n if (label.name === maybeName)\n { this.raise(expr.start, \"Label '\" + maybeName + \"' is already declared\");\n } }\n var kind = this.type.isLoop ? \"loop\" : this.type === types$1._switch ? \"switch\" : null;\n for (var i = this.labels.length - 1; i >= 0; i--) {\n var label$1 = this.labels[i];\n if (label$1.statementStart === node.start) {\n // Update information about previous labels on this node\n label$1.statementStart = this.start;\n label$1.kind = kind;\n } else { break }\n }\n this.labels.push({name: maybeName, kind: kind, statementStart: this.start});\n node.body = this.parseStatement(context ? context.indexOf(\"label\") === -1 ? context + \"label\" : context : \"label\");\n this.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\")\n};\n\npp$8.parseExpressionStatement = function(node, expr) {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\")\n};\n\n// Parse a semicolon-enclosed block of statements, handling `\"use\n// strict\"` declarations when `allowStrict` is true (used for\n// function bodies).\n\npp$8.parseBlock = function(createNewLexicalScope, node, exitStrict) {\n if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;\n if ( node === void 0 ) node = this.startNode();\n\n node.body = [];\n this.expect(types$1.braceL);\n if (createNewLexicalScope) { this.enterScope(0); }\n while (this.type !== types$1.braceR) {\n var stmt = this.parseStatement(null);\n node.body.push(stmt);\n }\n if (exitStrict) { this.strict = false; }\n this.next();\n if (createNewLexicalScope) { this.exitScope(); }\n return this.finishNode(node, \"BlockStatement\")\n};\n\n// Parse a regular `for` loop. The disambiguation code in\n// `parseStatement` will already have parsed the init statement or\n// expression.\n\npp$8.parseFor = function(node, init) {\n node.init = init;\n this.expect(types$1.semi);\n node.test = this.type === types$1.semi ? null : this.parseExpression();\n this.expect(types$1.semi);\n node.update = this.type === types$1.parenR ? null : this.parseExpression();\n this.expect(types$1.parenR);\n node.body = this.parseStatement(\"for\");\n this.exitScope();\n this.labels.pop();\n return this.finishNode(node, \"ForStatement\")\n};\n\n// Parse a `for`/`in` and `for`/`of` loop, which are almost\n// same from parser's perspective.\n\npp$8.parseForIn = function(node, init) {\n var isForIn = this.type === types$1._in;\n this.next();\n\n if (\n init.type === \"VariableDeclaration\" &&\n init.declarations[0].init != null &&\n (\n !isForIn ||\n this.options.ecmaVersion < 8 ||\n this.strict ||\n init.kind !== \"var\" ||\n init.declarations[0].id.type !== \"Identifier\"\n )\n ) {\n this.raise(\n init.start,\n ((isForIn ? \"for-in\" : \"for-of\") + \" loop variable declaration may not have an initializer\")\n );\n }\n node.left = init;\n node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();\n this.expect(types$1.parenR);\n node.body = this.parseStatement(\"for\");\n this.exitScope();\n this.labels.pop();\n return this.finishNode(node, isForIn ? \"ForInStatement\" : \"ForOfStatement\")\n};\n\n// Parse a list of variable declarations.\n\npp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {\n node.declarations = [];\n node.kind = kind;\n for (;;) {\n var decl = this.startNode();\n this.parseVarId(decl, kind);\n if (this.eat(types$1.eq)) {\n decl.init = this.parseMaybeAssign(isFor);\n } else if (!allowMissingInitializer && kind === \"const\" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\")))) {\n this.unexpected();\n } else if (!allowMissingInitializer && (kind === \"using\" || kind === \"await using\") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual(\"of\")) {\n this.raise(this.lastTokEnd, (\"Missing initializer in \" + kind + \" declaration\"));\n } else if (!allowMissingInitializer && decl.id.type !== \"Identifier\" && !(isFor && (this.type === types$1._in || this.isContextual(\"of\")))) {\n this.raise(this.lastTokEnd, \"Complex binding patterns require an initialization value\");\n } else {\n decl.init = null;\n }\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"));\n if (!this.eat(types$1.comma)) { break }\n }\n return node\n};\n\npp$8.parseVarId = function(decl, kind) {\n decl.id = kind === \"using\" || kind === \"await using\"\n ? this.parseIdent()\n : this.parseBindingAtom();\n\n this.checkLValPattern(decl.id, kind === \"var\" ? BIND_VAR : BIND_LEXICAL, false);\n};\n\nvar FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;\n\n// Parse a function declaration or literal (depending on the\n// `statement & FUNC_STATEMENT`).\n\n// Remove `allowExpressionBody` for 7.0.0, as it is only called with false\npp$8.parseFunction = function(node, statement, allowExpressionBody, isAsync, forInit) {\n this.initFunction(node);\n if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {\n if (this.type === types$1.star && (statement & FUNC_HANGING_STATEMENT))\n { this.unexpected(); }\n node.generator = this.eat(types$1.star);\n }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n if (statement & FUNC_STATEMENT) {\n node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types$1.name ? null : this.parseIdent();\n if (node.id && !(statement & FUNC_HANGING_STATEMENT))\n // If it is a regular function declaration in sloppy mode, then it is\n // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding\n // mode depends on properties of the current scope (see\n // treatFunctionsAsVar).\n { this.checkLValSimple(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }\n }\n\n var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n this.enterScope(functionFlags(node.async, node.generator));\n\n if (!(statement & FUNC_STATEMENT))\n { node.id = this.type === types$1.name ? this.parseIdent() : null; }\n\n this.parseFunctionParams(node);\n this.parseFunctionBody(node, allowExpressionBody, false, forInit);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, (statement & FUNC_STATEMENT) ? \"FunctionDeclaration\" : \"FunctionExpression\")\n};\n\npp$8.parseFunctionParams = function(node) {\n this.expect(types$1.parenL);\n node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n};\n\n// Parse a class declaration or literal (depending on the\n// `isStatement` parameter).\n\npp$8.parseClass = function(node, isStatement) {\n this.next();\n\n // ecma-262 14.6 Class Definitions\n // A class definition is always strict mode code.\n var oldStrict = this.strict;\n this.strict = true;\n\n this.parseClassId(node, isStatement);\n this.parseClassSuper(node);\n var privateNameMap = this.enterClassBody();\n var classBody = this.startNode();\n var hadConstructor = false;\n classBody.body = [];\n this.expect(types$1.braceL);\n while (this.type !== types$1.braceR) {\n var element = this.parseClassElement(node.superClass !== null);\n if (element) {\n classBody.body.push(element);\n if (element.type === \"MethodDefinition\" && element.kind === \"constructor\") {\n if (hadConstructor) { this.raiseRecoverable(element.start, \"Duplicate constructor in the same class\"); }\n hadConstructor = true;\n } else if (element.key && element.key.type === \"PrivateIdentifier\" && isPrivateNameConflicted(privateNameMap, element)) {\n this.raiseRecoverable(element.key.start, (\"Identifier '#\" + (element.key.name) + \"' has already been declared\"));\n }\n }\n }\n this.strict = oldStrict;\n this.next();\n node.body = this.finishNode(classBody, \"ClassBody\");\n this.exitClassBody();\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n};\n\npp$8.parseClassElement = function(constructorAllowsSuper) {\n if (this.eat(types$1.semi)) { return null }\n\n var ecmaVersion = this.options.ecmaVersion;\n var node = this.startNode();\n var keyName = \"\";\n var isGenerator = false;\n var isAsync = false;\n var kind = \"method\";\n var isStatic = false;\n\n if (this.eatContextual(\"static\")) {\n // Parse static init block\n if (ecmaVersion >= 13 && this.eat(types$1.braceL)) {\n this.parseClassStaticBlock(node);\n return node\n }\n if (this.isClassElementNameStart() || this.type === types$1.star) {\n isStatic = true;\n } else {\n keyName = \"static\";\n }\n }\n node.static = isStatic;\n if (!keyName && ecmaVersion >= 8 && this.eatContextual(\"async\")) {\n if ((this.isClassElementNameStart() || this.type === types$1.star) && !this.canInsertSemicolon()) {\n isAsync = true;\n } else {\n keyName = \"async\";\n }\n }\n if (!keyName && (ecmaVersion >= 9 || !isAsync) && this.eat(types$1.star)) {\n isGenerator = true;\n }\n if (!keyName && !isAsync && !isGenerator) {\n var lastValue = this.value;\n if (this.eatContextual(\"get\") || this.eatContextual(\"set\")) {\n if (this.isClassElementNameStart()) {\n kind = lastValue;\n } else {\n keyName = lastValue;\n }\n }\n }\n\n // Parse element name\n if (keyName) {\n // 'async', 'get', 'set', or 'static' were not a keyword contextually.\n // The last token is any of those. Make it the element name.\n node.computed = false;\n node.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc);\n node.key.name = keyName;\n this.finishNode(node.key, \"Identifier\");\n } else {\n this.parseClassElementName(node);\n }\n\n // Parse element value\n if (ecmaVersion < 13 || this.type === types$1.parenL || kind !== \"method\" || isGenerator || isAsync) {\n var isConstructor = !node.static && checkKeyName(node, \"constructor\");\n var allowsDirectSuper = isConstructor && constructorAllowsSuper;\n // Couldn't move this check into the 'parseClassMethod' method for backward compatibility.\n if (isConstructor && kind !== \"method\") { this.raise(node.key.start, \"Constructor can't have get/set modifier\"); }\n node.kind = isConstructor ? \"constructor\" : kind;\n this.parseClassMethod(node, isGenerator, isAsync, allowsDirectSuper);\n } else {\n this.parseClassField(node);\n }\n\n return node\n};\n\npp$8.isClassElementNameStart = function() {\n return (\n this.type === types$1.name ||\n this.type === types$1.privateId ||\n this.type === types$1.num ||\n this.type === types$1.string ||\n this.type === types$1.bracketL ||\n this.type.keyword\n )\n};\n\npp$8.parseClassElementName = function(element) {\n if (this.type === types$1.privateId) {\n if (this.value === \"constructor\") {\n this.raise(this.start, \"Classes can't have an element named '#constructor'\");\n }\n element.computed = false;\n element.key = this.parsePrivateIdent();\n } else {\n this.parsePropertyName(element);\n }\n};\n\npp$8.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {\n // Check key and flags\n var key = method.key;\n if (method.kind === \"constructor\") {\n if (isGenerator) { this.raise(key.start, \"Constructor can't be a generator\"); }\n if (isAsync) { this.raise(key.start, \"Constructor can't be an async method\"); }\n } else if (method.static && checkKeyName(method, \"prototype\")) {\n this.raise(key.start, \"Classes may not have a static property named prototype\");\n }\n\n // Parse value\n var value = method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);\n\n // Check value\n if (method.kind === \"get\" && value.params.length !== 0)\n { this.raiseRecoverable(value.start, \"getter should have no params\"); }\n if (method.kind === \"set\" && value.params.length !== 1)\n { this.raiseRecoverable(value.start, \"setter should have exactly one param\"); }\n if (method.kind === \"set\" && value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(value.params[0].start, \"Setter cannot use rest params\"); }\n\n return this.finishNode(method, \"MethodDefinition\")\n};\n\npp$8.parseClassField = function(field) {\n if (checkKeyName(field, \"constructor\")) {\n this.raise(field.key.start, \"Classes can't have a field named 'constructor'\");\n } else if (field.static && checkKeyName(field, \"prototype\")) {\n this.raise(field.key.start, \"Classes can't have a static field named 'prototype'\");\n }\n\n if (this.eat(types$1.eq)) {\n // To raise SyntaxError if 'arguments' exists in the initializer.\n this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);\n field.value = this.parseMaybeAssign();\n this.exitScope();\n } else {\n field.value = null;\n }\n this.semicolon();\n\n return this.finishNode(field, \"PropertyDefinition\")\n};\n\npp$8.parseClassStaticBlock = function(node) {\n node.body = [];\n\n var oldLabels = this.labels;\n this.labels = [];\n this.enterScope(SCOPE_CLASS_STATIC_BLOCK | SCOPE_SUPER);\n while (this.type !== types$1.braceR) {\n var stmt = this.parseStatement(null);\n node.body.push(stmt);\n }\n this.next();\n this.exitScope();\n this.labels = oldLabels;\n\n return this.finishNode(node, \"StaticBlock\")\n};\n\npp$8.parseClassId = function(node, isStatement) {\n if (this.type === types$1.name) {\n node.id = this.parseIdent();\n if (isStatement)\n { this.checkLValSimple(node.id, BIND_LEXICAL, false); }\n } else {\n if (isStatement === true)\n { this.unexpected(); }\n node.id = null;\n }\n};\n\npp$8.parseClassSuper = function(node) {\n node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(null, false) : null;\n};\n\npp$8.enterClassBody = function() {\n var element = {declared: Object.create(null), used: []};\n this.privateNameStack.push(element);\n return element.declared\n};\n\npp$8.exitClassBody = function() {\n var ref = this.privateNameStack.pop();\n var declared = ref.declared;\n var used = ref.used;\n if (!this.options.checkPrivateFields) { return }\n var len = this.privateNameStack.length;\n var parent = len === 0 ? null : this.privateNameStack[len - 1];\n for (var i = 0; i < used.length; ++i) {\n var id = used[i];\n if (!hasOwn(declared, id.name)) {\n if (parent) {\n parent.used.push(id);\n } else {\n this.raiseRecoverable(id.start, (\"Private field '#\" + (id.name) + \"' must be declared in an enclosing class\"));\n }\n }\n }\n};\n\nfunction isPrivateNameConflicted(privateNameMap, element) {\n var name = element.key.name;\n var curr = privateNameMap[name];\n\n var next = \"true\";\n if (element.type === \"MethodDefinition\" && (element.kind === \"get\" || element.kind === \"set\")) {\n next = (element.static ? \"s\" : \"i\") + element.kind;\n }\n\n // `class { get #a(){}; static set #a(_){} }` is also conflict.\n if (\n curr === \"iget\" && next === \"iset\" ||\n curr === \"iset\" && next === \"iget\" ||\n curr === \"sget\" && next === \"sset\" ||\n curr === \"sset\" && next === \"sget\"\n ) {\n privateNameMap[name] = \"true\";\n return false\n } else if (!curr) {\n privateNameMap[name] = next;\n return false\n } else {\n return true\n }\n}\n\nfunction checkKeyName(node, name) {\n var computed = node.computed;\n var key = node.key;\n return !computed && (\n key.type === \"Identifier\" && key.name === name ||\n key.type === \"Literal\" && key.value === name\n )\n}\n\n// Parses module export declaration.\n\npp$8.parseExportAllDeclaration = function(node, exports) {\n if (this.options.ecmaVersion >= 11) {\n if (this.eatContextual(\"as\")) {\n node.exported = this.parseModuleExportName();\n this.checkExport(exports, node.exported, this.lastTokStart);\n } else {\n node.exported = null;\n }\n }\n this.expectContextual(\"from\");\n if (this.type !== types$1.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n if (this.options.ecmaVersion >= 16)\n { node.attributes = this.parseWithClause(); }\n this.semicolon();\n return this.finishNode(node, \"ExportAllDeclaration\")\n};\n\npp$8.parseExport = function(node, exports) {\n this.next();\n // export * from '...'\n if (this.eat(types$1.star)) {\n return this.parseExportAllDeclaration(node, exports)\n }\n if (this.eat(types$1._default)) { // export default ...\n this.checkExport(exports, \"default\", this.lastTokStart);\n node.declaration = this.parseExportDefaultDeclaration();\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n // export var|const|let|function|class ...\n if (this.shouldParseExportStatement()) {\n node.declaration = this.parseExportDeclaration(node);\n if (node.declaration.type === \"VariableDeclaration\")\n { this.checkVariableExport(exports, node.declaration.declarations); }\n else\n { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }\n node.specifiers = [];\n node.source = null;\n if (this.options.ecmaVersion >= 16)\n { node.attributes = []; }\n } else { // export { x, y as z } [from '...']\n node.declaration = null;\n node.specifiers = this.parseExportSpecifiers(exports);\n if (this.eatContextual(\"from\")) {\n if (this.type !== types$1.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n if (this.options.ecmaVersion >= 16)\n { node.attributes = this.parseWithClause(); }\n } else {\n for (var i = 0, list = node.specifiers; i < list.length; i += 1) {\n // check for keywords used as local names\n var spec = list[i];\n\n this.checkUnreserved(spec.local);\n // check if export is defined\n this.checkLocalExport(spec.local);\n\n if (spec.local.type === \"Literal\") {\n this.raise(spec.local.start, \"A string literal cannot be used as an exported binding without `from`.\");\n }\n }\n\n node.source = null;\n if (this.options.ecmaVersion >= 16)\n { node.attributes = []; }\n }\n this.semicolon();\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n};\n\npp$8.parseExportDeclaration = function(node) {\n return this.parseStatement(null)\n};\n\npp$8.parseExportDefaultDeclaration = function() {\n var isAsync;\n if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {\n var fNode = this.startNode();\n this.next();\n if (isAsync) { this.next(); }\n return this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync)\n } else if (this.type === types$1._class) {\n var cNode = this.startNode();\n return this.parseClass(cNode, \"nullableID\")\n } else {\n var declaration = this.parseMaybeAssign();\n this.semicolon();\n return declaration\n }\n};\n\npp$8.checkExport = function(exports, name, pos) {\n if (!exports) { return }\n if (typeof name !== \"string\")\n { name = name.type === \"Identifier\" ? name.name : name.value; }\n if (hasOwn(exports, name))\n { this.raiseRecoverable(pos, \"Duplicate export '\" + name + \"'\"); }\n exports[name] = true;\n};\n\npp$8.checkPatternExport = function(exports, pat) {\n var type = pat.type;\n if (type === \"Identifier\")\n { this.checkExport(exports, pat, pat.start); }\n else if (type === \"ObjectPattern\")\n { for (var i = 0, list = pat.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n this.checkPatternExport(exports, prop);\n } }\n else if (type === \"ArrayPattern\")\n { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {\n var elt = list$1[i$1];\n\n if (elt) { this.checkPatternExport(exports, elt); }\n } }\n else if (type === \"Property\")\n { this.checkPatternExport(exports, pat.value); }\n else if (type === \"AssignmentPattern\")\n { this.checkPatternExport(exports, pat.left); }\n else if (type === \"RestElement\")\n { this.checkPatternExport(exports, pat.argument); }\n};\n\npp$8.checkVariableExport = function(exports, decls) {\n if (!exports) { return }\n for (var i = 0, list = decls; i < list.length; i += 1)\n {\n var decl = list[i];\n\n this.checkPatternExport(exports, decl.id);\n }\n};\n\npp$8.shouldParseExportStatement = function() {\n return this.type.keyword === \"var\" ||\n this.type.keyword === \"const\" ||\n this.type.keyword === \"class\" ||\n this.type.keyword === \"function\" ||\n this.isLet() ||\n this.isAsyncFunction()\n};\n\n// Parses a comma-separated list of module exports.\n\npp$8.parseExportSpecifier = function(exports) {\n var node = this.startNode();\n node.local = this.parseModuleExportName();\n\n node.exported = this.eatContextual(\"as\") ? this.parseModuleExportName() : node.local;\n this.checkExport(\n exports,\n node.exported,\n node.exported.start\n );\n\n return this.finishNode(node, \"ExportSpecifier\")\n};\n\npp$8.parseExportSpecifiers = function(exports) {\n var nodes = [], first = true;\n // export { x, y as z } [from '...']\n this.expect(types$1.braceL);\n while (!this.eat(types$1.braceR)) {\n if (!first) {\n this.expect(types$1.comma);\n if (this.afterTrailingComma(types$1.braceR)) { break }\n } else { first = false; }\n\n nodes.push(this.parseExportSpecifier(exports));\n }\n return nodes\n};\n\n// Parses import declaration.\n\npp$8.parseImport = function(node) {\n this.next();\n\n // import '...'\n if (this.type === types$1.string) {\n node.specifiers = empty$1;\n node.source = this.parseExprAtom();\n } else {\n node.specifiers = this.parseImportSpecifiers();\n this.expectContextual(\"from\");\n node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();\n }\n if (this.options.ecmaVersion >= 16)\n { node.attributes = this.parseWithClause(); }\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\")\n};\n\n// Parses a comma-separated list of module imports.\n\npp$8.parseImportSpecifier = function() {\n var node = this.startNode();\n node.imported = this.parseModuleExportName();\n\n if (this.eatContextual(\"as\")) {\n node.local = this.parseIdent();\n } else {\n this.checkUnreserved(node.imported);\n node.local = node.imported;\n }\n this.checkLValSimple(node.local, BIND_LEXICAL);\n\n return this.finishNode(node, \"ImportSpecifier\")\n};\n\npp$8.parseImportDefaultSpecifier = function() {\n // import defaultObj, { x, y as z } from '...'\n var node = this.startNode();\n node.local = this.parseIdent();\n this.checkLValSimple(node.local, BIND_LEXICAL);\n return this.finishNode(node, \"ImportDefaultSpecifier\")\n};\n\npp$8.parseImportNamespaceSpecifier = function() {\n var node = this.startNode();\n this.next();\n this.expectContextual(\"as\");\n node.local = this.parseIdent();\n this.checkLValSimple(node.local, BIND_LEXICAL);\n return this.finishNode(node, \"ImportNamespaceSpecifier\")\n};\n\npp$8.parseImportSpecifiers = function() {\n var nodes = [], first = true;\n if (this.type === types$1.name) {\n nodes.push(this.parseImportDefaultSpecifier());\n if (!this.eat(types$1.comma)) { return nodes }\n }\n if (this.type === types$1.star) {\n nodes.push(this.parseImportNamespaceSpecifier());\n return nodes\n }\n this.expect(types$1.braceL);\n while (!this.eat(types$1.braceR)) {\n if (!first) {\n this.expect(types$1.comma);\n if (this.afterTrailingComma(types$1.braceR)) { break }\n } else { first = false; }\n\n nodes.push(this.parseImportSpecifier());\n }\n return nodes\n};\n\npp$8.parseWithClause = function() {\n var nodes = [];\n if (!this.eat(types$1._with)) {\n return nodes\n }\n this.expect(types$1.braceL);\n var attributeKeys = {};\n var first = true;\n while (!this.eat(types$1.braceR)) {\n if (!first) {\n this.expect(types$1.comma);\n if (this.afterTrailingComma(types$1.braceR)) { break }\n } else { first = false; }\n\n var attr = this.parseImportAttribute();\n var keyName = attr.key.type === \"Identifier\" ? attr.key.name : attr.key.value;\n if (hasOwn(attributeKeys, keyName))\n { this.raiseRecoverable(attr.key.start, \"Duplicate attribute key '\" + keyName + \"'\"); }\n attributeKeys[keyName] = true;\n nodes.push(attr);\n }\n return nodes\n};\n\npp$8.parseImportAttribute = function() {\n var node = this.startNode();\n node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== \"never\");\n this.expect(types$1.colon);\n if (this.type !== types$1.string) {\n this.unexpected();\n }\n node.value = this.parseExprAtom();\n return this.finishNode(node, \"ImportAttribute\")\n};\n\npp$8.parseModuleExportName = function() {\n if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {\n var stringLiteral = this.parseLiteral(this.value);\n if (loneSurrogate.test(stringLiteral.value)) {\n this.raise(stringLiteral.start, \"An export name cannot include a lone surrogate.\");\n }\n return stringLiteral\n }\n return this.parseIdent(true)\n};\n\n// Set `ExpressionStatement#directive` property for directive prologues.\npp$8.adaptDirectivePrologue = function(statements) {\n for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {\n statements[i].directive = statements[i].expression.raw.slice(1, -1);\n }\n};\npp$8.isDirectiveCandidate = function(statement) {\n return (\n this.options.ecmaVersion >= 5 &&\n statement.type === \"ExpressionStatement\" &&\n statement.expression.type === \"Literal\" &&\n typeof statement.expression.value === \"string\" &&\n // Reject parenthesized strings.\n (this.input[statement.start] === \"\\\"\" || this.input[statement.start] === \"'\")\n )\n};\n\nvar pp$7 = Parser.prototype;\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\npp$7.toAssignable = function(node, isBinding, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 6 && node) {\n switch (node.type) {\n case \"Identifier\":\n if (this.inAsync && node.name === \"await\")\n { this.raise(node.start, \"Cannot use 'await' as identifier inside an async function\"); }\n break\n\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n break\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n for (var i = 0, list = node.properties; i < list.length; i += 1) {\n var prop = list[i];\n\n this.toAssignable(prop, isBinding);\n // Early error:\n // AssignmentRestProperty[Yield, Await] :\n // `...` DestructuringAssignmentTarget[Yield, Await]\n //\n // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.\n if (\n prop.type === \"RestElement\" &&\n (prop.argument.type === \"ArrayPattern\" || prop.argument.type === \"ObjectPattern\")\n ) {\n this.raise(prop.argument.start, \"Unexpected token\");\n }\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n if (node.kind !== \"init\") { this.raise(node.key.start, \"Object pattern can't contain getter or setter\"); }\n this.toAssignable(node.value, isBinding);\n break\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n this.toAssignableList(node.elements, isBinding);\n break\n\n case \"SpreadElement\":\n node.type = \"RestElement\";\n this.toAssignable(node.argument, isBinding);\n if (node.argument.type === \"AssignmentPattern\")\n { this.raise(node.argument.start, \"Rest elements cannot have a default value\"); }\n break\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") { this.raise(node.left.end, \"Only '=' operator can be used for specifying default value.\"); }\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isBinding);\n break\n\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isBinding, refDestructuringErrors);\n break\n\n case \"ChainExpression\":\n this.raiseRecoverable(node.start, \"Optional chaining cannot appear in left-hand side\");\n break\n\n case \"MemberExpression\":\n if (!isBinding) { break }\n\n default:\n this.raise(node.start, \"Assigning to rvalue\");\n }\n } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n return node\n};\n\n// Convert list of expression atoms to binding list.\n\npp$7.toAssignableList = function(exprList, isBinding) {\n var end = exprList.length;\n for (var i = 0; i < end; i++) {\n var elt = exprList[i];\n if (elt) { this.toAssignable(elt, isBinding); }\n }\n if (end) {\n var last = exprList[end - 1];\n if (this.options.ecmaVersion === 6 && isBinding && last && last.type === \"RestElement\" && last.argument.type !== \"Identifier\")\n { this.unexpected(last.argument.start); }\n }\n return exprList\n};\n\n// Parses spread element.\n\npp$7.parseSpread = function(refDestructuringErrors) {\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n return this.finishNode(node, \"SpreadElement\")\n};\n\npp$7.parseRestBinding = function() {\n var node = this.startNode();\n this.next();\n\n // RestElement inside of a function parameter must be an identifier\n if (this.options.ecmaVersion === 6 && this.type !== types$1.name)\n { this.unexpected(); }\n\n node.argument = this.parseBindingAtom();\n\n return this.finishNode(node, \"RestElement\")\n};\n\n// Parses lvalue (assignable) atom.\n\npp$7.parseBindingAtom = function() {\n if (this.options.ecmaVersion >= 6) {\n switch (this.type) {\n case types$1.bracketL:\n var node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(types$1.bracketR, true, true);\n return this.finishNode(node, \"ArrayPattern\")\n\n case types$1.braceL:\n return this.parseObj(true)\n }\n }\n return this.parseIdent()\n};\n\npp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowModifiers) {\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (first) { first = false; }\n else { this.expect(types$1.comma); }\n if (allowEmpty && this.type === types$1.comma) {\n elts.push(null);\n } else if (allowTrailingComma && this.afterTrailingComma(close)) {\n break\n } else if (this.type === types$1.ellipsis) {\n var rest = this.parseRestBinding();\n this.parseBindingListItem(rest);\n elts.push(rest);\n if (this.type === types$1.comma) { this.raiseRecoverable(this.start, \"Comma is not permitted after the rest element\"); }\n this.expect(close);\n break\n } else {\n elts.push(this.parseAssignableListItem(allowModifiers));\n }\n }\n return elts\n};\n\npp$7.parseAssignableListItem = function(allowModifiers) {\n var elem = this.parseMaybeDefault(this.start, this.startLoc);\n this.parseBindingListItem(elem);\n return elem\n};\n\npp$7.parseBindingListItem = function(param) {\n return param\n};\n\n// Parses assignment pattern around given atom if possible.\n\npp$7.parseMaybeDefault = function(startPos, startLoc, left) {\n left = left || this.parseBindingAtom();\n if (this.options.ecmaVersion < 6 || !this.eat(types$1.eq)) { return left }\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.right = this.parseMaybeAssign();\n return this.finishNode(node, \"AssignmentPattern\")\n};\n\n// The following three functions all verify that a node is an lvalue —\n// something that can be bound, or assigned to. In order to do so, they perform\n// a variety of checks:\n//\n// - Check that none of the bound/assigned-to identifiers are reserved words.\n// - Record name declarations for bindings in the appropriate scope.\n// - Check duplicate argument names, if checkClashes is set.\n//\n// If a complex binding pattern is encountered (e.g., object and array\n// destructuring), the entire pattern is recursively checked.\n//\n// There are three versions of checkLVal*() appropriate for different\n// circumstances:\n//\n// - checkLValSimple() shall be used if the syntactic construct supports\n// nothing other than identifiers and member expressions. Parenthesized\n// expressions are also correctly handled. This is generally appropriate for\n// constructs for which the spec says\n//\n// > It is a Syntax Error if AssignmentTargetType of [the production] is not\n// > simple.\n//\n// It is also appropriate for checking if an identifier is valid and not\n// defined elsewhere, like import declarations or function/class identifiers.\n//\n// Examples where this is used include:\n// a += …;\n// import a from '…';\n// where a is the node to be checked.\n//\n// - checkLValPattern() shall be used if the syntactic construct supports\n// anything checkLValSimple() supports, as well as object and array\n// destructuring patterns. This is generally appropriate for constructs for\n// which the spec says\n//\n// > It is a Syntax Error if [the production] is neither an ObjectLiteral nor\n// > an ArrayLiteral and AssignmentTargetType of [the production] is not\n// > simple.\n//\n// Examples where this is used include:\n// (a = …);\n// const a = …;\n// try { … } catch (a) { … }\n// where a is the node to be checked.\n//\n// - checkLValInnerPattern() shall be used if the syntactic construct supports\n// anything checkLValPattern() supports, as well as default assignment\n// patterns, rest elements, and other constructs that may appear within an\n// object or array destructuring pattern.\n//\n// As a special case, function parameters also use checkLValInnerPattern(),\n// as they also support defaults and rest constructs.\n//\n// These functions deliberately support both assignment and binding constructs,\n// as the logic for both is exceedingly similar. If the node is the target of\n// an assignment, then bindingType should be set to BIND_NONE. Otherwise, it\n// should be set to the appropriate BIND_* constant, like BIND_VAR or\n// BIND_LEXICAL.\n//\n// If the function is called with a non-BIND_NONE bindingType, then\n// additionally a checkClashes object may be specified to allow checking for\n// duplicate argument names. checkClashes is ignored if the provided construct\n// is an assignment (i.e., bindingType is BIND_NONE).\n\npp$7.checkLValSimple = function(expr, bindingType, checkClashes) {\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\n\n var isBind = bindingType !== BIND_NONE;\n\n switch (expr.type) {\n case \"Identifier\":\n if (this.strict && this.reservedWordsStrictBind.test(expr.name))\n { this.raiseRecoverable(expr.start, (isBind ? \"Binding \" : \"Assigning to \") + expr.name + \" in strict mode\"); }\n if (isBind) {\n if (bindingType === BIND_LEXICAL && expr.name === \"let\")\n { this.raiseRecoverable(expr.start, \"let is disallowed as a lexically bound name\"); }\n if (checkClashes) {\n if (hasOwn(checkClashes, expr.name))\n { this.raiseRecoverable(expr.start, \"Argument name clash\"); }\n checkClashes[expr.name] = true;\n }\n if (bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }\n }\n break\n\n case \"ChainExpression\":\n this.raiseRecoverable(expr.start, \"Optional chaining cannot appear in left-hand side\");\n break\n\n case \"MemberExpression\":\n if (isBind) { this.raiseRecoverable(expr.start, \"Binding member expression\"); }\n break\n\n case \"ParenthesizedExpression\":\n if (isBind) { this.raiseRecoverable(expr.start, \"Binding parenthesized expression\"); }\n return this.checkLValSimple(expr.expression, bindingType, checkClashes)\n\n default:\n this.raise(expr.start, (isBind ? \"Binding\" : \"Assigning to\") + \" rvalue\");\n }\n};\n\npp$7.checkLValPattern = function(expr, bindingType, checkClashes) {\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\n\n switch (expr.type) {\n case \"ObjectPattern\":\n for (var i = 0, list = expr.properties; i < list.length; i += 1) {\n var prop = list[i];\n\n this.checkLValInnerPattern(prop, bindingType, checkClashes);\n }\n break\n\n case \"ArrayPattern\":\n for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {\n var elem = list$1[i$1];\n\n if (elem) { this.checkLValInnerPattern(elem, bindingType, checkClashes); }\n }\n break\n\n default:\n this.checkLValSimple(expr, bindingType, checkClashes);\n }\n};\n\npp$7.checkLValInnerPattern = function(expr, bindingType, checkClashes) {\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\n\n switch (expr.type) {\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n this.checkLValInnerPattern(expr.value, bindingType, checkClashes);\n break\n\n case \"AssignmentPattern\":\n this.checkLValPattern(expr.left, bindingType, checkClashes);\n break\n\n case \"RestElement\":\n this.checkLValPattern(expr.argument, bindingType, checkClashes);\n break\n\n default:\n this.checkLValPattern(expr, bindingType, checkClashes);\n }\n};\n\n// The algorithm used to determine whether a regexp can appear at a\n// given point in the program is loosely based on sweet.js' approach.\n// See https://github.com/mozilla/sweet.js/wiki/design\n\n\nvar TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {\n this.token = token;\n this.isExpr = !!isExpr;\n this.preserveSpace = !!preserveSpace;\n this.override = override;\n this.generator = !!generator;\n};\n\nvar types = {\n b_stat: new TokContext(\"{\", false),\n b_expr: new TokContext(\"{\", true),\n b_tmpl: new TokContext(\"${\", false),\n p_stat: new TokContext(\"(\", false),\n p_expr: new TokContext(\"(\", true),\n q_tmpl: new TokContext(\"`\", true, true, function (p) { return p.tryReadTemplateToken(); }),\n f_stat: new TokContext(\"function\", false),\n f_expr: new TokContext(\"function\", true),\n f_expr_gen: new TokContext(\"function\", true, false, null, true),\n f_gen: new TokContext(\"function\", false, false, null, true)\n};\n\nvar pp$6 = Parser.prototype;\n\npp$6.initialContext = function() {\n return [types.b_stat]\n};\n\npp$6.curContext = function() {\n return this.context[this.context.length - 1]\n};\n\npp$6.braceIsBlock = function(prevType) {\n var parent = this.curContext();\n if (parent === types.f_expr || parent === types.f_stat)\n { return true }\n if (prevType === types$1.colon && (parent === types.b_stat || parent === types.b_expr))\n { return !parent.isExpr }\n\n // The check for `tt.name && exprAllowed` detects whether we are\n // after a `yield` or `of` construct. See the `updateContext` for\n // `tt.name`.\n if (prevType === types$1._return || prevType === types$1.name && this.exprAllowed)\n { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }\n if (prevType === types$1._else || prevType === types$1.semi || prevType === types$1.eof || prevType === types$1.parenR || prevType === types$1.arrow)\n { return true }\n if (prevType === types$1.braceL)\n { return parent === types.b_stat }\n if (prevType === types$1._var || prevType === types$1._const || prevType === types$1.name)\n { return false }\n return !this.exprAllowed\n};\n\npp$6.inGeneratorContext = function() {\n for (var i = this.context.length - 1; i >= 1; i--) {\n var context = this.context[i];\n if (context.token === \"function\")\n { return context.generator }\n }\n return false\n};\n\npp$6.updateContext = function(prevType) {\n var update, type = this.type;\n if (type.keyword && prevType === types$1.dot)\n { this.exprAllowed = false; }\n else if (update = type.updateContext)\n { update.call(this, prevType); }\n else\n { this.exprAllowed = type.beforeExpr; }\n};\n\n// Used to handle edge cases when token context could not be inferred correctly during tokenization phase\n\npp$6.overrideContext = function(tokenCtx) {\n if (this.curContext() !== tokenCtx) {\n this.context[this.context.length - 1] = tokenCtx;\n }\n};\n\n// Token-specific context update code\n\ntypes$1.parenR.updateContext = types$1.braceR.updateContext = function() {\n if (this.context.length === 1) {\n this.exprAllowed = true;\n return\n }\n var out = this.context.pop();\n if (out === types.b_stat && this.curContext().token === \"function\") {\n out = this.context.pop();\n }\n this.exprAllowed = !out.isExpr;\n};\n\ntypes$1.braceL.updateContext = function(prevType) {\n this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr);\n this.exprAllowed = true;\n};\n\ntypes$1.dollarBraceL.updateContext = function() {\n this.context.push(types.b_tmpl);\n this.exprAllowed = true;\n};\n\ntypes$1.parenL.updateContext = function(prevType) {\n var statementParens = prevType === types$1._if || prevType === types$1._for || prevType === types$1._with || prevType === types$1._while;\n this.context.push(statementParens ? types.p_stat : types.p_expr);\n this.exprAllowed = true;\n};\n\ntypes$1.incDec.updateContext = function() {\n // tokExprAllowed stays unchanged\n};\n\ntypes$1._function.updateContext = types$1._class.updateContext = function(prevType) {\n if (prevType.beforeExpr && prevType !== types$1._else &&\n !(prevType === types$1.semi && this.curContext() !== types.p_stat) &&\n !(prevType === types$1._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&\n !((prevType === types$1.colon || prevType === types$1.braceL) && this.curContext() === types.b_stat))\n { this.context.push(types.f_expr); }\n else\n { this.context.push(types.f_stat); }\n this.exprAllowed = false;\n};\n\ntypes$1.colon.updateContext = function() {\n if (this.curContext().token === \"function\") { this.context.pop(); }\n this.exprAllowed = true;\n};\n\ntypes$1.backQuote.updateContext = function() {\n if (this.curContext() === types.q_tmpl)\n { this.context.pop(); }\n else\n { this.context.push(types.q_tmpl); }\n this.exprAllowed = false;\n};\n\ntypes$1.star.updateContext = function(prevType) {\n if (prevType === types$1._function) {\n var index = this.context.length - 1;\n if (this.context[index] === types.f_expr)\n { this.context[index] = types.f_expr_gen; }\n else\n { this.context[index] = types.f_gen; }\n }\n this.exprAllowed = true;\n};\n\ntypes$1.name.updateContext = function(prevType) {\n var allowed = false;\n if (this.options.ecmaVersion >= 6 && prevType !== types$1.dot) {\n if (this.value === \"of\" && !this.exprAllowed ||\n this.value === \"yield\" && this.inGeneratorContext())\n { allowed = true; }\n }\n this.exprAllowed = allowed;\n};\n\n// A recursive descent parser operates by defining functions for all\n// syntactic elements, and recursively calling those, each function\n// advancing the input stream and returning an AST node. Precedence\n// of constructs (for example, the fact that `!x[1]` means `!(x[1])`\n// instead of `(!x)[1]` is handled by the fact that the parser\n// function that parses unary prefix operators is called first, and\n// in turn calls the function that parses `[]` subscripts — that\n// way, it'll receive the node for `x[1]` already parsed, and wraps\n// *that* in the unary operator node.\n//\n// Acorn uses an [operator precedence parser][opp] to handle binary\n// operator precedence, because it is much more compact than using\n// the technique outlined above, which uses different, nesting\n// functions to specify precedence, for all of the ten binary\n// precedence levels that JavaScript defines.\n//\n// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser\n\n\nvar pp$5 = Parser.prototype;\n\n// Check if property name clashes with already added.\n// Object/class getters and setters are not allowed to clash —\n// either with each other or with an init property — and in\n// strict mode, init properties are also not allowed to be repeated.\n\npp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 9 && prop.type === \"SpreadElement\")\n { return }\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))\n { return }\n var key = prop.key;\n var name;\n switch (key.type) {\n case \"Identifier\": name = key.name; break\n case \"Literal\": name = String(key.value); break\n default: return\n }\n var kind = prop.kind;\n if (this.options.ecmaVersion >= 6) {\n if (name === \"__proto__\" && kind === \"init\") {\n if (propHash.proto) {\n if (refDestructuringErrors) {\n if (refDestructuringErrors.doubleProto < 0) {\n refDestructuringErrors.doubleProto = key.start;\n }\n } else {\n this.raiseRecoverable(key.start, \"Redefinition of __proto__ property\");\n }\n }\n propHash.proto = true;\n }\n return\n }\n name = \"$\" + name;\n var other = propHash[name];\n if (other) {\n var redefinition;\n if (kind === \"init\") {\n redefinition = this.strict && other.init || other.get || other.set;\n } else {\n redefinition = other.init || other[kind];\n }\n if (redefinition)\n { this.raiseRecoverable(key.start, \"Redefinition of property\"); }\n } else {\n other = propHash[name] = {\n init: false,\n get: false,\n set: false\n };\n }\n other[kind] = true;\n};\n\n// ### Expression parsing\n\n// These nest, from the most general expression type at the top to\n// 'atomic', nondivisible expression types at the bottom. Most of\n// the functions will simply let the function(s) below them parse,\n// and, *if* the syntactic construct they handle is present, wrap\n// the AST node that the inner parser gave them in another node.\n\n// Parse a full expression. The optional arguments are used to\n// forbid the `in` operator (in for loops initalization expressions)\n// and provide reference for storing '=' operator inside shorthand\n// property assignment in contexts where both object expression\n// and object pattern might appear (so it's possible to raise\n// delayed syntax error at correct position).\n\npp$5.parseExpression = function(forInit, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);\n if (this.type === types$1.comma) {\n var node = this.startNodeAt(startPos, startLoc);\n node.expressions = [expr];\n while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); }\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n};\n\n// Parse an assignment expression. This includes applications of\n// operators like `+=`.\n\npp$5.parseMaybeAssign = function(forInit, refDestructuringErrors, afterLeftParse) {\n if (this.isContextual(\"yield\")) {\n if (this.inGenerator) { return this.parseYield(forInit) }\n // The tokenizer will assume an expression is allowed after\n // `yield`, but this isn't that kind of yield\n else { this.exprAllowed = false; }\n }\n\n var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldDoubleProto = -1;\n if (refDestructuringErrors) {\n oldParenAssign = refDestructuringErrors.parenthesizedAssign;\n oldTrailingComma = refDestructuringErrors.trailingComma;\n oldDoubleProto = refDestructuringErrors.doubleProto;\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1;\n } else {\n refDestructuringErrors = new DestructuringErrors;\n ownDestructuringErrors = true;\n }\n\n var startPos = this.start, startLoc = this.startLoc;\n if (this.type === types$1.parenL || this.type === types$1.name) {\n this.potentialArrowAt = this.start;\n this.potentialArrowInForAwait = forInit === \"await\";\n }\n var left = this.parseMaybeConditional(forInit, refDestructuringErrors);\n if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }\n if (this.type.isAssign) {\n var node = this.startNodeAt(startPos, startLoc);\n node.operator = this.value;\n if (this.type === types$1.eq)\n { left = this.toAssignable(left, false, refDestructuringErrors); }\n if (!ownDestructuringErrors) {\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;\n }\n if (refDestructuringErrors.shorthandAssign >= left.start)\n { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly\n if (this.type === types$1.eq)\n { this.checkLValPattern(left); }\n else\n { this.checkLValSimple(left); }\n node.left = left;\n this.next();\n node.right = this.parseMaybeAssign(forInit);\n if (oldDoubleProto > -1) { refDestructuringErrors.doubleProto = oldDoubleProto; }\n return this.finishNode(node, \"AssignmentExpression\")\n } else {\n if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }\n }\n if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; }\n if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; }\n return left\n};\n\n// Parse a ternary conditional (`?:`) operator.\n\npp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprOps(forInit, refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n if (this.eat(types$1.question)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssign();\n this.expect(types$1.colon);\n node.alternate = this.parseMaybeAssign(forInit);\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n};\n\n// Start the precedence parser.\n\npp$5.parseExprOps = function(forInit, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeUnary(refDestructuringErrors, false, false, forInit);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n return expr.start === startPos && expr.type === \"ArrowFunctionExpression\" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, forInit)\n};\n\n// Parse binary operators with the operator precedence parsing\n// algorithm. `left` is the left-hand side of the operator.\n// `minPrec` provides context that allows the function to stop and\n// defer further parser to one of its callers when it encounters an\n// operator that has a lower precedence than the set it is parsing.\n\npp$5.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, forInit) {\n var prec = this.type.binop;\n if (prec != null && (!forInit || this.type !== types$1._in)) {\n if (prec > minPrec) {\n var logical = this.type === types$1.logicalOR || this.type === types$1.logicalAND;\n var coalesce = this.type === types$1.coalesce;\n if (coalesce) {\n // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions.\n // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error.\n prec = types$1.logicalAND.binop;\n }\n var op = this.value;\n this.next();\n var startPos = this.start, startLoc = this.startLoc;\n var right = this.parseExprOp(this.parseMaybeUnary(null, false, false, forInit), startPos, startLoc, prec, forInit);\n var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce);\n if ((logical && this.type === types$1.coalesce) || (coalesce && (this.type === types$1.logicalOR || this.type === types$1.logicalAND))) {\n this.raiseRecoverable(this.start, \"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses\");\n }\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, forInit)\n }\n }\n return left\n};\n\npp$5.buildBinary = function(startPos, startLoc, left, right, op, logical) {\n if (right.type === \"PrivateIdentifier\") { this.raise(right.start, \"Private identifier can only be left side of binary expression\"); }\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.operator = op;\n node.right = right;\n return this.finishNode(node, logical ? \"LogicalExpression\" : \"BinaryExpression\")\n};\n\n// Parse unary operators, both prefix and postfix.\n\npp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forInit) {\n var startPos = this.start, startLoc = this.startLoc, expr;\n if (this.isContextual(\"await\") && this.canAwait) {\n expr = this.parseAwait(forInit);\n sawUnary = true;\n } else if (this.type.prefix) {\n var node = this.startNode(), update = this.type === types$1.incDec;\n node.operator = this.value;\n node.prefix = true;\n this.next();\n node.argument = this.parseMaybeUnary(null, true, update, forInit);\n this.checkExpressionErrors(refDestructuringErrors, true);\n if (update) { this.checkLValSimple(node.argument); }\n else if (this.strict && node.operator === \"delete\" && isLocalVariableAccess(node.argument))\n { this.raiseRecoverable(node.start, \"Deleting local variable in strict mode\"); }\n else if (node.operator === \"delete\" && isPrivateFieldAccess(node.argument))\n { this.raiseRecoverable(node.start, \"Private fields can not be deleted\"); }\n else { sawUnary = true; }\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\");\n } else if (!sawUnary && this.type === types$1.privateId) {\n if ((forInit || this.privateNameStack.length === 0) && this.options.checkPrivateFields) { this.unexpected(); }\n expr = this.parsePrivateIdent();\n // only could be private fields in 'in', such as #x in obj\n if (this.type !== types$1._in) { this.unexpected(); }\n } else {\n expr = this.parseExprSubscripts(refDestructuringErrors, forInit);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n while (this.type.postfix && !this.canInsertSemicolon()) {\n var node$1 = this.startNodeAt(startPos, startLoc);\n node$1.operator = this.value;\n node$1.prefix = false;\n node$1.argument = expr;\n this.checkLValSimple(expr);\n this.next();\n expr = this.finishNode(node$1, \"UpdateExpression\");\n }\n }\n\n if (!incDec && this.eat(types$1.starstar)) {\n if (sawUnary)\n { this.unexpected(this.lastTokStart); }\n else\n { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false, false, forInit), \"**\", false) }\n } else {\n return expr\n }\n};\n\nfunction isLocalVariableAccess(node) {\n return (\n node.type === \"Identifier\" ||\n node.type === \"ParenthesizedExpression\" && isLocalVariableAccess(node.expression)\n )\n}\n\nfunction isPrivateFieldAccess(node) {\n return (\n node.type === \"MemberExpression\" && node.property.type === \"PrivateIdentifier\" ||\n node.type === \"ChainExpression\" && isPrivateFieldAccess(node.expression) ||\n node.type === \"ParenthesizedExpression\" && isPrivateFieldAccess(node.expression)\n )\n}\n\n// Parse call, dot, and `[]`-subscript expressions.\n\npp$5.parseExprSubscripts = function(refDestructuringErrors, forInit) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprAtom(refDestructuringErrors, forInit);\n if (expr.type === \"ArrowFunctionExpression\" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== \")\")\n { return expr }\n var result = this.parseSubscripts(expr, startPos, startLoc, false, forInit);\n if (refDestructuringErrors && result.type === \"MemberExpression\") {\n if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }\n if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }\n if (refDestructuringErrors.trailingComma >= result.start) { refDestructuringErrors.trailingComma = -1; }\n }\n return result\n};\n\npp$5.parseSubscripts = function(base, startPos, startLoc, noCalls, forInit) {\n var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === \"Identifier\" && base.name === \"async\" &&\n this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 &&\n this.potentialArrowAt === base.start;\n var optionalChained = false;\n\n while (true) {\n var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit);\n\n if (element.optional) { optionalChained = true; }\n if (element === base || element.type === \"ArrowFunctionExpression\") {\n if (optionalChained) {\n var chainNode = this.startNodeAt(startPos, startLoc);\n chainNode.expression = element;\n element = this.finishNode(chainNode, \"ChainExpression\");\n }\n return element\n }\n\n base = element;\n }\n};\n\npp$5.shouldParseAsyncArrow = function() {\n return !this.canInsertSemicolon() && this.eat(types$1.arrow)\n};\n\npp$5.parseSubscriptAsyncArrow = function(startPos, startLoc, exprList, forInit) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)\n};\n\npp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit) {\n var optionalSupported = this.options.ecmaVersion >= 11;\n var optional = optionalSupported && this.eat(types$1.questionDot);\n if (noCalls && optional) { this.raise(this.lastTokStart, \"Optional chaining cannot appear in the callee of new expressions\"); }\n\n var computed = this.eat(types$1.bracketL);\n if (computed || (optional && this.type !== types$1.parenL && this.type !== types$1.backQuote) || this.eat(types$1.dot)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.object = base;\n if (computed) {\n node.property = this.parseExpression();\n this.expect(types$1.bracketR);\n } else if (this.type === types$1.privateId && base.type !== \"Super\") {\n node.property = this.parsePrivateIdent();\n } else {\n node.property = this.parseIdent(this.options.allowReserved !== \"never\");\n }\n node.computed = !!computed;\n if (optionalSupported) {\n node.optional = optional;\n }\n base = this.finishNode(node, \"MemberExpression\");\n } else if (!noCalls && this.eat(types$1.parenL)) {\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n var exprList = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);\n if (maybeAsyncArrow && !optional && this.shouldParseAsyncArrow()) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n if (this.awaitIdentPos > 0)\n { this.raise(this.awaitIdentPos, \"Cannot use 'await' as identifier inside an async function\"); }\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.parseSubscriptAsyncArrow(startPos, startLoc, exprList, forInit)\n }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos;\n var node$1 = this.startNodeAt(startPos, startLoc);\n node$1.callee = base;\n node$1.arguments = exprList;\n if (optionalSupported) {\n node$1.optional = optional;\n }\n base = this.finishNode(node$1, \"CallExpression\");\n } else if (this.type === types$1.backQuote) {\n if (optional || optionalChained) {\n this.raise(this.start, \"Optional chaining cannot appear in the tag of tagged template expressions\");\n }\n var node$2 = this.startNodeAt(startPos, startLoc);\n node$2.tag = base;\n node$2.quasi = this.parseTemplate({isTagged: true});\n base = this.finishNode(node$2, \"TaggedTemplateExpression\");\n }\n return base\n};\n\n// Parse an atomic expression — either a single token that is an\n// expression, an expression started by a keyword like `function` or\n// `new`, or an expression wrapped in punctuation like `()`, `[]`,\n// or `{}`.\n\npp$5.parseExprAtom = function(refDestructuringErrors, forInit, forNew) {\n // If a division operator appears in an expression position, the\n // tokenizer got confused, and we force it to read a regexp instead.\n if (this.type === types$1.slash) { this.readRegexp(); }\n\n var node, canBeArrow = this.potentialArrowAt === this.start;\n switch (this.type) {\n case types$1._super:\n if (!this.allowSuper)\n { this.raise(this.start, \"'super' keyword outside a method\"); }\n node = this.startNode();\n this.next();\n if (this.type === types$1.parenL && !this.allowDirectSuper)\n { this.raise(node.start, \"super() call outside constructor of a subclass\"); }\n // The `super` keyword can appear at below:\n // SuperProperty:\n // super [ Expression ]\n // super . IdentifierName\n // SuperCall:\n // super ( Arguments )\n if (this.type !== types$1.dot && this.type !== types$1.bracketL && this.type !== types$1.parenL)\n { this.unexpected(); }\n return this.finishNode(node, \"Super\")\n\n case types$1._this:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\")\n\n case types$1.name:\n var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;\n var id = this.parseIdent(false);\n if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === \"async\" && !this.canInsertSemicolon() && this.eat(types$1._function)) {\n this.overrideContext(types.f_expr);\n return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true, forInit)\n }\n if (canBeArrow && !this.canInsertSemicolon()) {\n if (this.eat(types$1.arrow))\n { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false, forInit) }\n if (this.options.ecmaVersion >= 8 && id.name === \"async\" && this.type === types$1.name && !containsEsc &&\n (!this.potentialArrowInForAwait || this.value !== \"of\" || this.containsEsc)) {\n id = this.parseIdent(false);\n if (this.canInsertSemicolon() || !this.eat(types$1.arrow))\n { this.unexpected(); }\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true, forInit)\n }\n }\n return id\n\n case types$1.regexp:\n var value = this.value;\n node = this.parseLiteral(value.value);\n node.regex = {pattern: value.pattern, flags: value.flags};\n return node\n\n case types$1.num: case types$1.string:\n return this.parseLiteral(this.value)\n\n case types$1._null: case types$1._true: case types$1._false:\n node = this.startNode();\n node.value = this.type === types$1._null ? null : this.type === types$1._true;\n node.raw = this.type.keyword;\n this.next();\n return this.finishNode(node, \"Literal\")\n\n case types$1.parenL:\n var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow, forInit);\n if (refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))\n { refDestructuringErrors.parenthesizedAssign = start; }\n if (refDestructuringErrors.parenthesizedBind < 0)\n { refDestructuringErrors.parenthesizedBind = start; }\n }\n return expr\n\n case types$1.bracketL:\n node = this.startNode();\n this.next();\n node.elements = this.parseExprList(types$1.bracketR, true, true, refDestructuringErrors);\n return this.finishNode(node, \"ArrayExpression\")\n\n case types$1.braceL:\n this.overrideContext(types.b_expr);\n return this.parseObj(false, refDestructuringErrors)\n\n case types$1._function:\n node = this.startNode();\n this.next();\n return this.parseFunction(node, 0)\n\n case types$1._class:\n return this.parseClass(this.startNode(), false)\n\n case types$1._new:\n return this.parseNew()\n\n case types$1.backQuote:\n return this.parseTemplate()\n\n case types$1._import:\n if (this.options.ecmaVersion >= 11) {\n return this.parseExprImport(forNew)\n } else {\n return this.unexpected()\n }\n\n default:\n return this.parseExprAtomDefault()\n }\n};\n\npp$5.parseExprAtomDefault = function() {\n this.unexpected();\n};\n\npp$5.parseExprImport = function(forNew) {\n var node = this.startNode();\n\n // Consume `import` as an identifier for `import.meta`.\n // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`.\n if (this.containsEsc) { this.raiseRecoverable(this.start, \"Escape sequence in keyword import\"); }\n this.next();\n\n if (this.type === types$1.parenL && !forNew) {\n return this.parseDynamicImport(node)\n } else if (this.type === types$1.dot) {\n var meta = this.startNodeAt(node.start, node.loc && node.loc.start);\n meta.name = \"import\";\n node.meta = this.finishNode(meta, \"Identifier\");\n return this.parseImportMeta(node)\n } else {\n this.unexpected();\n }\n};\n\npp$5.parseDynamicImport = function(node) {\n this.next(); // skip `(`\n\n // Parse node.source.\n node.source = this.parseMaybeAssign();\n\n if (this.options.ecmaVersion >= 16) {\n if (!this.eat(types$1.parenR)) {\n this.expect(types$1.comma);\n if (!this.afterTrailingComma(types$1.parenR)) {\n node.options = this.parseMaybeAssign();\n if (!this.eat(types$1.parenR)) {\n this.expect(types$1.comma);\n if (!this.afterTrailingComma(types$1.parenR)) {\n this.unexpected();\n }\n }\n } else {\n node.options = null;\n }\n } else {\n node.options = null;\n }\n } else {\n // Verify ending.\n if (!this.eat(types$1.parenR)) {\n var errorPos = this.start;\n if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {\n this.raiseRecoverable(errorPos, \"Trailing comma is not allowed in import()\");\n } else {\n this.unexpected(errorPos);\n }\n }\n }\n\n return this.finishNode(node, \"ImportExpression\")\n};\n\npp$5.parseImportMeta = function(node) {\n this.next(); // skip `.`\n\n var containsEsc = this.containsEsc;\n node.property = this.parseIdent(true);\n\n if (node.property.name !== \"meta\")\n { this.raiseRecoverable(node.property.start, \"The only valid meta property for import is 'import.meta'\"); }\n if (containsEsc)\n { this.raiseRecoverable(node.start, \"'import.meta' must not contain escaped characters\"); }\n if (this.options.sourceType !== \"module\" && !this.options.allowImportExportEverywhere)\n { this.raiseRecoverable(node.start, \"Cannot use 'import.meta' outside a module\"); }\n\n return this.finishNode(node, \"MetaProperty\")\n};\n\npp$5.parseLiteral = function(value) {\n var node = this.startNode();\n node.value = value;\n node.raw = this.input.slice(this.start, this.end);\n if (node.raw.charCodeAt(node.raw.length - 1) === 110)\n { node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, \"\"); }\n this.next();\n return this.finishNode(node, \"Literal\")\n};\n\npp$5.parseParenExpression = function() {\n this.expect(types$1.parenL);\n var val = this.parseExpression();\n this.expect(types$1.parenR);\n return val\n};\n\npp$5.shouldParseArrow = function(exprList) {\n return !this.canInsertSemicolon()\n};\n\npp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {\n var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;\n if (this.options.ecmaVersion >= 6) {\n this.next();\n\n var innerStartPos = this.start, innerStartLoc = this.startLoc;\n var exprList = [], first = true, lastIsComma = false;\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart;\n this.yieldPos = 0;\n this.awaitPos = 0;\n // Do not save awaitIdentPos to allow checking awaits nested in parameters\n while (this.type !== types$1.parenR) {\n first ? first = false : this.expect(types$1.comma);\n if (allowTrailingComma && this.afterTrailingComma(types$1.parenR, true)) {\n lastIsComma = true;\n break\n } else if (this.type === types$1.ellipsis) {\n spreadStart = this.start;\n exprList.push(this.parseParenItem(this.parseRestBinding()));\n if (this.type === types$1.comma) {\n this.raiseRecoverable(\n this.start,\n \"Comma is not permitted after the rest element\"\n );\n }\n break\n } else {\n exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));\n }\n }\n var innerEndPos = this.lastTokEnd, innerEndLoc = this.lastTokEndLoc;\n this.expect(types$1.parenR);\n\n if (canBeArrow && this.shouldParseArrow(exprList) && this.eat(types$1.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.parseParenArrowList(startPos, startLoc, exprList, forInit)\n }\n\n if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }\n if (spreadStart) { this.unexpected(spreadStart); }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc);\n val.expressions = exprList;\n this.finishNodeAt(val, \"SequenceExpression\", innerEndPos, innerEndLoc);\n } else {\n val = exprList[0];\n }\n } else {\n val = this.parseParenExpression();\n }\n\n if (this.options.preserveParens) {\n var par = this.startNodeAt(startPos, startLoc);\n par.expression = val;\n return this.finishNode(par, \"ParenthesizedExpression\")\n } else {\n return val\n }\n};\n\npp$5.parseParenItem = function(item) {\n return item\n};\n\npp$5.parseParenArrowList = function(startPos, startLoc, exprList, forInit) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, false, forInit)\n};\n\n// New's precedence is slightly tricky. It must allow its argument to\n// be a `[]` or dot subscript expression, but not a call — at least,\n// not without wrapping it in parentheses. Thus, it uses the noCalls\n// argument to parseSubscripts to prevent it from consuming the\n// argument list.\n\nvar empty = [];\n\npp$5.parseNew = function() {\n if (this.containsEsc) { this.raiseRecoverable(this.start, \"Escape sequence in keyword new\"); }\n var node = this.startNode();\n this.next();\n if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {\n var meta = this.startNodeAt(node.start, node.loc && node.loc.start);\n meta.name = \"new\";\n node.meta = this.finishNode(meta, \"Identifier\");\n this.next();\n var containsEsc = this.containsEsc;\n node.property = this.parseIdent(true);\n if (node.property.name !== \"target\")\n { this.raiseRecoverable(node.property.start, \"The only valid meta property for new is 'new.target'\"); }\n if (containsEsc)\n { this.raiseRecoverable(node.start, \"'new.target' must not contain escaped characters\"); }\n if (!this.allowNewDotTarget)\n { this.raiseRecoverable(node.start, \"'new.target' can only be used in functions and class static block\"); }\n return this.finishNode(node, \"MetaProperty\")\n }\n var startPos = this.start, startLoc = this.startLoc;\n node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);\n if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }\n else { node.arguments = empty; }\n return this.finishNode(node, \"NewExpression\")\n};\n\n// Parse template expression.\n\npp$5.parseTemplateElement = function(ref) {\n var isTagged = ref.isTagged;\n\n var elem = this.startNode();\n if (this.type === types$1.invalidTemplate) {\n if (!isTagged) {\n this.raiseRecoverable(this.start, \"Bad escape sequence in untagged template literal\");\n }\n elem.value = {\n raw: this.value.replace(/\\r\\n?/g, \"\\n\"),\n cooked: null\n };\n } else {\n elem.value = {\n raw: this.input.slice(this.start, this.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.value\n };\n }\n this.next();\n elem.tail = this.type === types$1.backQuote;\n return this.finishNode(elem, \"TemplateElement\")\n};\n\npp$5.parseTemplate = function(ref) {\n if ( ref === void 0 ) ref = {};\n var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;\n\n var node = this.startNode();\n this.next();\n node.expressions = [];\n var curElt = this.parseTemplateElement({isTagged: isTagged});\n node.quasis = [curElt];\n while (!curElt.tail) {\n if (this.type === types$1.eof) { this.raise(this.pos, \"Unterminated template literal\"); }\n this.expect(types$1.dollarBraceL);\n node.expressions.push(this.parseExpression());\n this.expect(types$1.braceR);\n node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));\n }\n this.next();\n return this.finishNode(node, \"TemplateLiteral\")\n};\n\npp$5.isAsyncProp = function(prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && prop.key.name === \"async\" &&\n (this.type === types$1.name || this.type === types$1.num || this.type === types$1.string || this.type === types$1.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types$1.star)) &&\n !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\n// Parse an object literal or binding pattern.\n\npp$5.parseObj = function(isPattern, refDestructuringErrors) {\n var node = this.startNode(), first = true, propHash = {};\n node.properties = [];\n this.next();\n while (!this.eat(types$1.braceR)) {\n if (!first) {\n this.expect(types$1.comma);\n if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types$1.braceR)) { break }\n } else { first = false; }\n\n var prop = this.parseProperty(isPattern, refDestructuringErrors);\n if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); }\n node.properties.push(prop);\n }\n return this.finishNode(node, isPattern ? \"ObjectPattern\" : \"ObjectExpression\")\n};\n\npp$5.parseProperty = function(isPattern, refDestructuringErrors) {\n var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;\n if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) {\n if (isPattern) {\n prop.argument = this.parseIdent(false);\n if (this.type === types$1.comma) {\n this.raiseRecoverable(this.start, \"Comma is not permitted after the rest element\");\n }\n return this.finishNode(prop, \"RestElement\")\n }\n // Parse argument.\n prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n // To disallow trailing comma via `this.toAssignable()`.\n if (this.type === types$1.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {\n refDestructuringErrors.trailingComma = this.start;\n }\n // Finish\n return this.finishNode(prop, \"SpreadElement\")\n }\n if (this.options.ecmaVersion >= 6) {\n prop.method = false;\n prop.shorthand = false;\n if (isPattern || refDestructuringErrors) {\n startPos = this.start;\n startLoc = this.startLoc;\n }\n if (!isPattern)\n { isGenerator = this.eat(types$1.star); }\n }\n var containsEsc = this.containsEsc;\n this.parsePropertyName(prop);\n if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);\n this.parsePropertyName(prop);\n } else {\n isAsync = false;\n }\n this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc);\n return this.finishNode(prop, \"Property\")\n};\n\npp$5.parseGetterSetter = function(prop) {\n var kind = prop.key.name;\n this.parsePropertyName(prop);\n prop.value = this.parseMethod(false);\n prop.kind = kind;\n var paramCount = prop.kind === \"get\" ? 0 : 1;\n if (prop.value.params.length !== paramCount) {\n var start = prop.value.start;\n if (prop.kind === \"get\")\n { this.raiseRecoverable(start, \"getter should have no params\"); }\n else\n { this.raiseRecoverable(start, \"setter should have exactly one param\"); }\n } else {\n if (prop.kind === \"set\" && prop.value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(prop.value.params[0].start, \"Setter cannot use rest params\"); }\n }\n};\n\npp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {\n if ((isGenerator || isAsync) && this.type === types$1.colon)\n { this.unexpected(); }\n\n if (this.eat(types$1.colon)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);\n prop.kind = \"init\";\n } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {\n if (isPattern) { this.unexpected(); }\n prop.method = true;\n prop.value = this.parseMethod(isGenerator, isAsync);\n prop.kind = \"init\";\n } else if (!isPattern && !containsEsc &&\n this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === \"Identifier\" &&\n (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) {\n if (isGenerator || isAsync) { this.unexpected(); }\n this.parseGetterSetter(prop);\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === \"Identifier\") {\n if (isGenerator || isAsync) { this.unexpected(); }\n this.checkUnreserved(prop.key);\n if (prop.key.name === \"await\" && !this.awaitIdentPos)\n { this.awaitIdentPos = startPos; }\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));\n } else if (this.type === types$1.eq && refDestructuringErrors) {\n if (refDestructuringErrors.shorthandAssign < 0)\n { refDestructuringErrors.shorthandAssign = this.start; }\n prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));\n } else {\n prop.value = this.copyNode(prop.key);\n }\n prop.kind = \"init\";\n prop.shorthand = true;\n } else { this.unexpected(); }\n};\n\npp$5.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(types$1.bracketL)) {\n prop.computed = true;\n prop.key = this.parseMaybeAssign();\n this.expect(types$1.bracketR);\n return prop.key\n } else {\n prop.computed = false;\n }\n }\n return prop.key = this.type === types$1.num || this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== \"never\")\n};\n\n// Initialize empty function node.\n\npp$5.initFunction = function(node) {\n node.id = null;\n if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }\n if (this.options.ecmaVersion >= 8) { node.async = false; }\n};\n\n// Parse object or class method.\n\npp$5.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {\n var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n\n this.initFunction(node);\n if (this.options.ecmaVersion >= 6)\n { node.generator = isGenerator; }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));\n\n this.expect(types$1.parenL);\n node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n this.parseFunctionBody(node, false, true, false);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, \"FunctionExpression\")\n};\n\n// Parse arrow function expression with given parameters.\n\npp$5.parseArrowExpression = function(node, params, isAsync, forInit) {\n var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n\n this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);\n this.initFunction(node);\n if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; }\n\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n\n node.params = this.toAssignableList(params, true);\n this.parseFunctionBody(node, true, false, forInit);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, \"ArrowFunctionExpression\")\n};\n\n// Parse function body and check parameters.\n\npp$5.parseFunctionBody = function(node, isArrowFunction, isMethod, forInit) {\n var isExpression = isArrowFunction && this.type !== types$1.braceL;\n var oldStrict = this.strict, useStrict = false;\n\n if (isExpression) {\n node.body = this.parseMaybeAssign(forInit);\n node.expression = true;\n this.checkParams(node, false);\n } else {\n var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);\n if (!oldStrict || nonSimple) {\n useStrict = this.strictDirective(this.end);\n // If this is a strict mode function, verify that argument names\n // are not repeated, and it does not try to bind the words `eval`\n // or `arguments`.\n if (useStrict && nonSimple)\n { this.raiseRecoverable(node.start, \"Illegal 'use strict' directive in function with non-simple parameter list\"); }\n }\n // Start a new scope with regard to labels and the `inFunction`\n // flag (restore them to their old value afterwards).\n var oldLabels = this.labels;\n this.labels = [];\n if (useStrict) { this.strict = true; }\n\n // Add the params to varDeclaredNames to ensure that an error is thrown\n // if a let/const declaration in the function clashes with one of the params.\n this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));\n // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'\n if (this.strict && node.id) { this.checkLValSimple(node.id, BIND_OUTSIDE); }\n node.body = this.parseBlock(false, undefined, useStrict && !oldStrict);\n node.expression = false;\n this.adaptDirectivePrologue(node.body.body);\n this.labels = oldLabels;\n }\n this.exitScope();\n};\n\npp$5.isSimpleParamList = function(params) {\n for (var i = 0, list = params; i < list.length; i += 1)\n {\n var param = list[i];\n\n if (param.type !== \"Identifier\") { return false\n } }\n return true\n};\n\n// Checks function params for various disallowed patterns such as using \"eval\"\n// or \"arguments\" and duplicate parameters.\n\npp$5.checkParams = function(node, allowDuplicates) {\n var nameHash = Object.create(null);\n for (var i = 0, list = node.params; i < list.length; i += 1)\n {\n var param = list[i];\n\n this.checkLValInnerPattern(param, BIND_VAR, allowDuplicates ? null : nameHash);\n }\n};\n\n// Parses a comma-separated list of expressions, and returns them as\n// an array. `close` is the token type that ends the list, and\n// `allowEmpty` can be turned on to allow subsequent commas with\n// nothing in between them to be parsed as `null` (which is needed\n// for array literals).\n\npp$5.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (!first) {\n this.expect(types$1.comma);\n if (allowTrailingComma && this.afterTrailingComma(close)) { break }\n } else { first = false; }\n\n var elt = (void 0);\n if (allowEmpty && this.type === types$1.comma)\n { elt = null; }\n else if (this.type === types$1.ellipsis) {\n elt = this.parseSpread(refDestructuringErrors);\n if (refDestructuringErrors && this.type === types$1.comma && refDestructuringErrors.trailingComma < 0)\n { refDestructuringErrors.trailingComma = this.start; }\n } else {\n elt = this.parseMaybeAssign(false, refDestructuringErrors);\n }\n elts.push(elt);\n }\n return elts\n};\n\npp$5.checkUnreserved = function(ref) {\n var start = ref.start;\n var end = ref.end;\n var name = ref.name;\n\n if (this.inGenerator && name === \"yield\")\n { this.raiseRecoverable(start, \"Cannot use 'yield' as identifier inside a generator\"); }\n if (this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Cannot use 'await' as identifier inside an async function\"); }\n if (!(this.currentThisScope().flags & SCOPE_VAR) && name === \"arguments\")\n { this.raiseRecoverable(start, \"Cannot use 'arguments' in class field initializer\"); }\n if (this.inClassStaticBlock && (name === \"arguments\" || name === \"await\"))\n { this.raise(start, (\"Cannot use \" + name + \" in class static initialization block\")); }\n if (this.keywords.test(name))\n { this.raise(start, (\"Unexpected keyword '\" + name + \"'\")); }\n if (this.options.ecmaVersion < 6 &&\n this.input.slice(start, end).indexOf(\"\\\\\") !== -1) { return }\n var re = this.strict ? this.reservedWordsStrict : this.reservedWords;\n if (re.test(name)) {\n if (!this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Cannot use keyword 'await' outside an async function\"); }\n this.raiseRecoverable(start, (\"The keyword '\" + name + \"' is reserved\"));\n }\n};\n\n// Parse the next token as an identifier. If `liberal` is true (used\n// when parsing properties), it will also convert keywords into\n// identifiers.\n\npp$5.parseIdent = function(liberal) {\n var node = this.parseIdentNode();\n this.next(!!liberal);\n this.finishNode(node, \"Identifier\");\n if (!liberal) {\n this.checkUnreserved(node);\n if (node.name === \"await\" && !this.awaitIdentPos)\n { this.awaitIdentPos = node.start; }\n }\n return node\n};\n\npp$5.parseIdentNode = function() {\n var node = this.startNode();\n if (this.type === types$1.name) {\n node.name = this.value;\n } else if (this.type.keyword) {\n node.name = this.type.keyword;\n\n // To fix https://github.com/acornjs/acorn/issues/575\n // `class` and `function` keywords push new context into this.context.\n // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.\n // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword\n if ((node.name === \"class\" || node.name === \"function\") &&\n (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {\n this.context.pop();\n }\n this.type = types$1.name;\n } else {\n this.unexpected();\n }\n return node\n};\n\npp$5.parsePrivateIdent = function() {\n var node = this.startNode();\n if (this.type === types$1.privateId) {\n node.name = this.value;\n } else {\n this.unexpected();\n }\n this.next();\n this.finishNode(node, \"PrivateIdentifier\");\n\n // For validating existence\n if (this.options.checkPrivateFields) {\n if (this.privateNameStack.length === 0) {\n this.raise(node.start, (\"Private field '#\" + (node.name) + \"' must be declared in an enclosing class\"));\n } else {\n this.privateNameStack[this.privateNameStack.length - 1].used.push(node);\n }\n }\n\n return node\n};\n\n// Parses yield expression inside generator.\n\npp$5.parseYield = function(forInit) {\n if (!this.yieldPos) { this.yieldPos = this.start; }\n\n var node = this.startNode();\n this.next();\n if (this.type === types$1.semi || this.canInsertSemicolon() || (this.type !== types$1.star && !this.type.startsExpr)) {\n node.delegate = false;\n node.argument = null;\n } else {\n node.delegate = this.eat(types$1.star);\n node.argument = this.parseMaybeAssign(forInit);\n }\n return this.finishNode(node, \"YieldExpression\")\n};\n\npp$5.parseAwait = function(forInit) {\n if (!this.awaitPos) { this.awaitPos = this.start; }\n\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeUnary(null, true, false, forInit);\n return this.finishNode(node, \"AwaitExpression\")\n};\n\nvar pp$4 = Parser.prototype;\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\npp$4.raise = function(pos, message) {\n var loc = getLineInfo(this.input, pos);\n message += \" (\" + loc.line + \":\" + loc.column + \")\";\n if (this.sourceFile) {\n message += \" in \" + this.sourceFile;\n }\n var err = new SyntaxError(message);\n err.pos = pos; err.loc = loc; err.raisedAt = this.pos;\n throw err\n};\n\npp$4.raiseRecoverable = pp$4.raise;\n\npp$4.curPosition = function() {\n if (this.options.locations) {\n return new Position(this.curLine, this.pos - this.lineStart)\n }\n};\n\nvar pp$3 = Parser.prototype;\n\nvar Scope = function Scope(flags) {\n this.flags = flags;\n // A list of var-declared names in the current lexical scope\n this.var = [];\n // A list of lexically-declared names in the current lexical scope\n this.lexical = [];\n // A list of lexically-declared FunctionDeclaration names in the current lexical scope\n this.functions = [];\n};\n\n// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.\n\npp$3.enterScope = function(flags) {\n this.scopeStack.push(new Scope(flags));\n};\n\npp$3.exitScope = function() {\n this.scopeStack.pop();\n};\n\n// The spec says:\n// > At the top level of a function, or script, function declarations are\n// > treated like var declarations rather than like lexical declarations.\npp$3.treatFunctionsAsVarInScope = function(scope) {\n return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)\n};\n\npp$3.declareName = function(name, bindingType, pos) {\n var redeclared = false;\n if (bindingType === BIND_LEXICAL) {\n var scope = this.currentScope();\n redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1;\n scope.lexical.push(name);\n if (this.inModule && (scope.flags & SCOPE_TOP))\n { delete this.undefinedExports[name]; }\n } else if (bindingType === BIND_SIMPLE_CATCH) {\n var scope$1 = this.currentScope();\n scope$1.lexical.push(name);\n } else if (bindingType === BIND_FUNCTION) {\n var scope$2 = this.currentScope();\n if (this.treatFunctionsAsVar)\n { redeclared = scope$2.lexical.indexOf(name) > -1; }\n else\n { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; }\n scope$2.functions.push(name);\n } else {\n for (var i = this.scopeStack.length - 1; i >= 0; --i) {\n var scope$3 = this.scopeStack[i];\n if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) ||\n !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) {\n redeclared = true;\n break\n }\n scope$3.var.push(name);\n if (this.inModule && (scope$3.flags & SCOPE_TOP))\n { delete this.undefinedExports[name]; }\n if (scope$3.flags & SCOPE_VAR) { break }\n }\n }\n if (redeclared) { this.raiseRecoverable(pos, (\"Identifier '\" + name + \"' has already been declared\")); }\n};\n\npp$3.checkLocalExport = function(id) {\n // scope.functions must be empty as Module code is always strict.\n if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&\n this.scopeStack[0].var.indexOf(id.name) === -1) {\n this.undefinedExports[id.name] = id;\n }\n};\n\npp$3.currentScope = function() {\n return this.scopeStack[this.scopeStack.length - 1]\n};\n\npp$3.currentVarScope = function() {\n for (var i = this.scopeStack.length - 1;; i--) {\n var scope = this.scopeStack[i];\n if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }\n }\n};\n\n// Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.\npp$3.currentThisScope = function() {\n for (var i = this.scopeStack.length - 1;; i--) {\n var scope = this.scopeStack[i];\n if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&\n !(scope.flags & SCOPE_ARROW)) { return scope }\n }\n};\n\nvar Node = function Node(parser, pos, loc) {\n this.type = \"\";\n this.start = pos;\n this.end = 0;\n if (parser.options.locations)\n { this.loc = new SourceLocation(parser, loc); }\n if (parser.options.directSourceFile)\n { this.sourceFile = parser.options.directSourceFile; }\n if (parser.options.ranges)\n { this.range = [pos, 0]; }\n};\n\n// Start an AST node, attaching a start offset.\n\nvar pp$2 = Parser.prototype;\n\npp$2.startNode = function() {\n return new Node(this, this.start, this.startLoc)\n};\n\npp$2.startNodeAt = function(pos, loc) {\n return new Node(this, pos, loc)\n};\n\n// Finish an AST node, adding `type` and `end` properties.\n\nfunction finishNodeAt(node, type, pos, loc) {\n node.type = type;\n node.end = pos;\n if (this.options.locations)\n { node.loc.end = loc; }\n if (this.options.ranges)\n { node.range[1] = pos; }\n return node\n}\n\npp$2.finishNode = function(node, type) {\n return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)\n};\n\n// Finish node at given position\n\npp$2.finishNodeAt = function(node, type, pos, loc) {\n return finishNodeAt.call(this, node, type, pos, loc)\n};\n\npp$2.copyNode = function(node) {\n var newNode = new Node(this, node.start, this.startLoc);\n for (var prop in node) { newNode[prop] = node[prop]; }\n return newNode\n};\n\n// This file was generated by \"bin/generate-unicode-script-values.js\". Do not modify manually!\nvar scriptValuesAddedInUnicode = \"Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz\";\n\n// This file contains Unicode properties extracted from the ECMAScript specification.\n// The lists are extracted like so:\n// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)\n\n// #table-binary-unicode-properties\nvar ecma9BinaryProperties = \"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS\";\nvar ecma10BinaryProperties = ecma9BinaryProperties + \" Extended_Pictographic\";\nvar ecma11BinaryProperties = ecma10BinaryProperties;\nvar ecma12BinaryProperties = ecma11BinaryProperties + \" EBase EComp EMod EPres ExtPict\";\nvar ecma13BinaryProperties = ecma12BinaryProperties;\nvar ecma14BinaryProperties = ecma13BinaryProperties;\n\nvar unicodeBinaryProperties = {\n 9: ecma9BinaryProperties,\n 10: ecma10BinaryProperties,\n 11: ecma11BinaryProperties,\n 12: ecma12BinaryProperties,\n 13: ecma13BinaryProperties,\n 14: ecma14BinaryProperties\n};\n\n// #table-binary-unicode-properties-of-strings\nvar ecma14BinaryPropertiesOfStrings = \"Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji\";\n\nvar unicodeBinaryPropertiesOfStrings = {\n 9: \"\",\n 10: \"\",\n 11: \"\",\n 12: \"\",\n 13: \"\",\n 14: ecma14BinaryPropertiesOfStrings\n};\n\n// #table-unicode-general-category-values\nvar unicodeGeneralCategoryValues = \"Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu\";\n\n// #table-unicode-script-values\nvar ecma9ScriptValues = \"Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb\";\nvar ecma10ScriptValues = ecma9ScriptValues + \" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd\";\nvar ecma11ScriptValues = ecma10ScriptValues + \" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho\";\nvar ecma12ScriptValues = ecma11ScriptValues + \" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi\";\nvar ecma13ScriptValues = ecma12ScriptValues + \" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith\";\nvar ecma14ScriptValues = ecma13ScriptValues + \" \" + scriptValuesAddedInUnicode;\n\nvar unicodeScriptValues = {\n 9: ecma9ScriptValues,\n 10: ecma10ScriptValues,\n 11: ecma11ScriptValues,\n 12: ecma12ScriptValues,\n 13: ecma13ScriptValues,\n 14: ecma14ScriptValues\n};\n\nvar data = {};\nfunction buildUnicodeData(ecmaVersion) {\n var d = data[ecmaVersion] = {\n binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + \" \" + unicodeGeneralCategoryValues),\n binaryOfStrings: wordsRegexp(unicodeBinaryPropertiesOfStrings[ecmaVersion]),\n nonBinary: {\n General_Category: wordsRegexp(unicodeGeneralCategoryValues),\n Script: wordsRegexp(unicodeScriptValues[ecmaVersion])\n }\n };\n d.nonBinary.Script_Extensions = d.nonBinary.Script;\n\n d.nonBinary.gc = d.nonBinary.General_Category;\n d.nonBinary.sc = d.nonBinary.Script;\n d.nonBinary.scx = d.nonBinary.Script_Extensions;\n}\n\nfor (var i = 0, list = [9, 10, 11, 12, 13, 14]; i < list.length; i += 1) {\n var ecmaVersion = list[i];\n\n buildUnicodeData(ecmaVersion);\n}\n\nvar pp$1 = Parser.prototype;\n\n// Track disjunction structure to determine whether a duplicate\n// capture group name is allowed because it is in a separate branch.\nvar BranchID = function BranchID(parent, base) {\n // Parent disjunction branch\n this.parent = parent;\n // Identifies this set of sibling branches\n this.base = base || this;\n};\n\nBranchID.prototype.separatedFrom = function separatedFrom (alt) {\n // A branch is separate from another branch if they or any of\n // their parents are siblings in a given disjunction\n for (var self = this; self; self = self.parent) {\n for (var other = alt; other; other = other.parent) {\n if (self.base === other.base && self !== other) { return true }\n }\n }\n return false\n};\n\nBranchID.prototype.sibling = function sibling () {\n return new BranchID(this.parent, this.base)\n};\n\nvar RegExpValidationState = function RegExpValidationState(parser) {\n this.parser = parser;\n this.validFlags = \"gim\" + (parser.options.ecmaVersion >= 6 ? \"uy\" : \"\") + (parser.options.ecmaVersion >= 9 ? \"s\" : \"\") + (parser.options.ecmaVersion >= 13 ? \"d\" : \"\") + (parser.options.ecmaVersion >= 15 ? \"v\" : \"\");\n this.unicodeProperties = data[parser.options.ecmaVersion >= 14 ? 14 : parser.options.ecmaVersion];\n this.source = \"\";\n this.flags = \"\";\n this.start = 0;\n this.switchU = false;\n this.switchV = false;\n this.switchN = false;\n this.pos = 0;\n this.lastIntValue = 0;\n this.lastStringValue = \"\";\n this.lastAssertionIsQuantifiable = false;\n this.numCapturingParens = 0;\n this.maxBackReference = 0;\n this.groupNames = Object.create(null);\n this.backReferenceNames = [];\n this.branchID = null;\n};\n\nRegExpValidationState.prototype.reset = function reset (start, pattern, flags) {\n var unicodeSets = flags.indexOf(\"v\") !== -1;\n var unicode = flags.indexOf(\"u\") !== -1;\n this.start = start | 0;\n this.source = pattern + \"\";\n this.flags = flags;\n if (unicodeSets && this.parser.options.ecmaVersion >= 15) {\n this.switchU = true;\n this.switchV = true;\n this.switchN = true;\n } else {\n this.switchU = unicode && this.parser.options.ecmaVersion >= 6;\n this.switchV = false;\n this.switchN = unicode && this.parser.options.ecmaVersion >= 9;\n }\n};\n\nRegExpValidationState.prototype.raise = function raise (message) {\n this.parser.raiseRecoverable(this.start, (\"Invalid regular expression: /\" + (this.source) + \"/: \" + message));\n};\n\n// If u flag is given, this returns the code point at the index (it combines a surrogate pair).\n// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).\nRegExpValidationState.prototype.at = function at (i, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return -1\n }\n var c = s.charCodeAt(i);\n if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return c\n }\n var next = s.charCodeAt(i + 1);\n return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c\n};\n\nRegExpValidationState.prototype.nextIndex = function nextIndex (i, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return l\n }\n var c = s.charCodeAt(i), next;\n if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l ||\n (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) {\n return i + 1\n }\n return i + 2\n};\n\nRegExpValidationState.prototype.current = function current (forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n return this.at(this.pos, forceU)\n};\n\nRegExpValidationState.prototype.lookahead = function lookahead (forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n return this.at(this.nextIndex(this.pos, forceU), forceU)\n};\n\nRegExpValidationState.prototype.advance = function advance (forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n this.pos = this.nextIndex(this.pos, forceU);\n};\n\nRegExpValidationState.prototype.eat = function eat (ch, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n if (this.current(forceU) === ch) {\n this.advance(forceU);\n return true\n }\n return false\n};\n\nRegExpValidationState.prototype.eatChars = function eatChars (chs, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n var pos = this.pos;\n for (var i = 0, list = chs; i < list.length; i += 1) {\n var ch = list[i];\n\n var current = this.at(pos, forceU);\n if (current === -1 || current !== ch) {\n return false\n }\n pos = this.nextIndex(pos, forceU);\n }\n this.pos = pos;\n return true\n};\n\n/**\n * Validate the flags part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$1.validateRegExpFlags = function(state) {\n var validFlags = state.validFlags;\n var flags = state.flags;\n\n var u = false;\n var v = false;\n\n for (var i = 0; i < flags.length; i++) {\n var flag = flags.charAt(i);\n if (validFlags.indexOf(flag) === -1) {\n this.raise(state.start, \"Invalid regular expression flag\");\n }\n if (flags.indexOf(flag, i + 1) > -1) {\n this.raise(state.start, \"Duplicate regular expression flag\");\n }\n if (flag === \"u\") { u = true; }\n if (flag === \"v\") { v = true; }\n }\n if (this.options.ecmaVersion >= 15 && u && v) {\n this.raise(state.start, \"Invalid regular expression flag\");\n }\n};\n\nfunction hasProp(obj) {\n for (var _ in obj) { return true }\n return false\n}\n\n/**\n * Validate the pattern part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$1.validateRegExpPattern = function(state) {\n this.regexp_pattern(state);\n\n // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of\n // parsing contains a |GroupName|, reparse with the goal symbol\n // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*\n // exception if _P_ did not conform to the grammar, if any elements of _P_\n // were not matched by the parse, or if any Early Error conditions exist.\n if (!state.switchN && this.options.ecmaVersion >= 9 && hasProp(state.groupNames)) {\n state.switchN = true;\n this.regexp_pattern(state);\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\npp$1.regexp_pattern = function(state) {\n state.pos = 0;\n state.lastIntValue = 0;\n state.lastStringValue = \"\";\n state.lastAssertionIsQuantifiable = false;\n state.numCapturingParens = 0;\n state.maxBackReference = 0;\n state.groupNames = Object.create(null);\n state.backReferenceNames.length = 0;\n state.branchID = null;\n\n this.regexp_disjunction(state);\n\n if (state.pos !== state.source.length) {\n // Make the same messages as V8.\n if (state.eat(0x29 /* ) */)) {\n state.raise(\"Unmatched ')'\");\n }\n if (state.eat(0x5D /* ] */) || state.eat(0x7D /* } */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n }\n if (state.maxBackReference > state.numCapturingParens) {\n state.raise(\"Invalid escape\");\n }\n for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {\n var name = list[i];\n\n if (!state.groupNames[name]) {\n state.raise(\"Invalid named capture referenced\");\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\npp$1.regexp_disjunction = function(state) {\n var trackDisjunction = this.options.ecmaVersion >= 16;\n if (trackDisjunction) { state.branchID = new BranchID(state.branchID, null); }\n this.regexp_alternative(state);\n while (state.eat(0x7C /* | */)) {\n if (trackDisjunction) { state.branchID = state.branchID.sibling(); }\n this.regexp_alternative(state);\n }\n if (trackDisjunction) { state.branchID = state.branchID.parent; }\n\n // Make the same message as V8.\n if (this.regexp_eatQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n if (state.eat(0x7B /* { */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\npp$1.regexp_alternative = function(state) {\n while (state.pos < state.source.length && this.regexp_eatTerm(state)) {}\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term\npp$1.regexp_eatTerm = function(state) {\n if (this.regexp_eatAssertion(state)) {\n // Handle `QuantifiableAssertion Quantifier` alternative.\n // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion\n // is a QuantifiableAssertion.\n if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {\n // Make the same message as V8.\n if (state.switchU) {\n state.raise(\"Invalid quantifier\");\n }\n }\n return true\n }\n\n if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {\n this.regexp_eatQuantifier(state);\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion\npp$1.regexp_eatAssertion = function(state) {\n var start = state.pos;\n state.lastAssertionIsQuantifiable = false;\n\n // ^, $\n if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {\n return true\n }\n\n // \\b \\B\n if (state.eat(0x5C /* \\ */)) {\n if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {\n return true\n }\n state.pos = start;\n }\n\n // Lookahead / Lookbehind\n if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {\n var lookbehind = false;\n if (this.options.ecmaVersion >= 9) {\n lookbehind = state.eat(0x3C /* < */);\n }\n if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {\n this.regexp_disjunction(state);\n if (!state.eat(0x29 /* ) */)) {\n state.raise(\"Unterminated group\");\n }\n state.lastAssertionIsQuantifiable = !lookbehind;\n return true\n }\n }\n\n state.pos = start;\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\npp$1.regexp_eatQuantifier = function(state, noError) {\n if ( noError === void 0 ) noError = false;\n\n if (this.regexp_eatQuantifierPrefix(state, noError)) {\n state.eat(0x3F /* ? */);\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\npp$1.regexp_eatQuantifierPrefix = function(state, noError) {\n return (\n state.eat(0x2A /* * */) ||\n state.eat(0x2B /* + */) ||\n state.eat(0x3F /* ? */) ||\n this.regexp_eatBracedQuantifier(state, noError)\n )\n};\npp$1.regexp_eatBracedQuantifier = function(state, noError) {\n var start = state.pos;\n if (state.eat(0x7B /* { */)) {\n var min = 0, max = -1;\n if (this.regexp_eatDecimalDigits(state)) {\n min = state.lastIntValue;\n if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {\n max = state.lastIntValue;\n }\n if (state.eat(0x7D /* } */)) {\n // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term\n if (max !== -1 && max < min && !noError) {\n state.raise(\"numbers out of order in {} quantifier\");\n }\n return true\n }\n }\n if (state.switchU && !noError) {\n state.raise(\"Incomplete quantifier\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\npp$1.regexp_eatAtom = function(state) {\n return (\n this.regexp_eatPatternCharacters(state) ||\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state)\n )\n};\npp$1.regexp_eatReverseSolidusAtomEscape = function(state) {\n var start = state.pos;\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatAtomEscape(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$1.regexp_eatUncapturingGroup = function(state) {\n var start = state.pos;\n if (state.eat(0x28 /* ( */)) {\n if (state.eat(0x3F /* ? */)) {\n if (this.options.ecmaVersion >= 16) {\n var addModifiers = this.regexp_eatModifiers(state);\n var hasHyphen = state.eat(0x2D /* - */);\n if (addModifiers || hasHyphen) {\n for (var i = 0; i < addModifiers.length; i++) {\n var modifier = addModifiers.charAt(i);\n if (addModifiers.indexOf(modifier, i + 1) > -1) {\n state.raise(\"Duplicate regular expression modifiers\");\n }\n }\n if (hasHyphen) {\n var removeModifiers = this.regexp_eatModifiers(state);\n if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {\n state.raise(\"Invalid regular expression modifiers\");\n }\n for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {\n var modifier$1 = removeModifiers.charAt(i$1);\n if (\n removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||\n addModifiers.indexOf(modifier$1) > -1\n ) {\n state.raise(\"Duplicate regular expression modifiers\");\n }\n }\n }\n }\n }\n if (state.eat(0x3A /* : */)) {\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n return true\n }\n state.raise(\"Unterminated group\");\n }\n }\n state.pos = start;\n }\n return false\n};\npp$1.regexp_eatCapturingGroup = function(state) {\n if (state.eat(0x28 /* ( */)) {\n if (this.options.ecmaVersion >= 9) {\n this.regexp_groupSpecifier(state);\n } else if (state.current() === 0x3F /* ? */) {\n state.raise(\"Invalid group\");\n }\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n state.numCapturingParens += 1;\n return true\n }\n state.raise(\"Unterminated group\");\n }\n return false\n};\n// RegularExpressionModifiers ::\n// [empty]\n// RegularExpressionModifiers RegularExpressionModifier\npp$1.regexp_eatModifiers = function(state) {\n var modifiers = \"\";\n var ch = 0;\n while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {\n modifiers += codePointToString(ch);\n state.advance();\n }\n return modifiers\n};\n// RegularExpressionModifier :: one of\n// `i` `m` `s`\nfunction isRegularExpressionModifier(ch) {\n return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom\npp$1.regexp_eatExtendedAtom = function(state) {\n return (\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state) ||\n this.regexp_eatInvalidBracedQuantifier(state) ||\n this.regexp_eatExtendedPatternCharacter(state)\n )\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier\npp$1.regexp_eatInvalidBracedQuantifier = function(state) {\n if (this.regexp_eatBracedQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\npp$1.regexp_eatSyntaxCharacter = function(state) {\n var ch = state.current();\n if (isSyntaxCharacter(ch)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n return false\n};\nfunction isSyntaxCharacter(ch) {\n return (\n ch === 0x24 /* $ */ ||\n ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||\n ch === 0x2E /* . */ ||\n ch === 0x3F /* ? */ ||\n ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\n// But eat eager.\npp$1.regexp_eatPatternCharacters = function(state) {\n var start = state.pos;\n var ch = 0;\n while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {\n state.advance();\n }\n return state.pos !== start\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter\npp$1.regexp_eatExtendedPatternCharacter = function(state) {\n var ch = state.current();\n if (\n ch !== -1 &&\n ch !== 0x24 /* $ */ &&\n !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&\n ch !== 0x2E /* . */ &&\n ch !== 0x3F /* ? */ &&\n ch !== 0x5B /* [ */ &&\n ch !== 0x5E /* ^ */ &&\n ch !== 0x7C /* | */\n ) {\n state.advance();\n return true\n }\n return false\n};\n\n// GroupSpecifier ::\n// [empty]\n// `?` GroupName\npp$1.regexp_groupSpecifier = function(state) {\n if (state.eat(0x3F /* ? */)) {\n if (!this.regexp_eatGroupName(state)) { state.raise(\"Invalid group\"); }\n var trackDisjunction = this.options.ecmaVersion >= 16;\n var known = state.groupNames[state.lastStringValue];\n if (known) {\n if (trackDisjunction) {\n for (var i = 0, list = known; i < list.length; i += 1) {\n var altID = list[i];\n\n if (!altID.separatedFrom(state.branchID))\n { state.raise(\"Duplicate capture group name\"); }\n }\n } else {\n state.raise(\"Duplicate capture group name\");\n }\n }\n if (trackDisjunction) {\n (known || (state.groupNames[state.lastStringValue] = [])).push(state.branchID);\n } else {\n state.groupNames[state.lastStringValue] = true;\n }\n }\n};\n\n// GroupName ::\n// `<` RegExpIdentifierName `>`\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$1.regexp_eatGroupName = function(state) {\n state.lastStringValue = \"\";\n if (state.eat(0x3C /* < */)) {\n if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {\n return true\n }\n state.raise(\"Invalid capture group name\");\n }\n return false\n};\n\n// RegExpIdentifierName ::\n// RegExpIdentifierStart\n// RegExpIdentifierName RegExpIdentifierPart\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$1.regexp_eatRegExpIdentifierName = function(state) {\n state.lastStringValue = \"\";\n if (this.regexp_eatRegExpIdentifierStart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue);\n while (this.regexp_eatRegExpIdentifierPart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue);\n }\n return true\n }\n return false\n};\n\n// RegExpIdentifierStart ::\n// UnicodeIDStart\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[+U]\npp$1.regexp_eatRegExpIdentifierStart = function(state) {\n var start = state.pos;\n var forceU = this.options.ecmaVersion >= 11;\n var ch = state.current(forceU);\n state.advance(forceU);\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierStart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierStart(ch) {\n return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */\n}\n\n// RegExpIdentifierPart ::\n// UnicodeIDContinue\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[+U]\n// <ZWNJ>\n// <ZWJ>\npp$1.regexp_eatRegExpIdentifierPart = function(state) {\n var start = state.pos;\n var forceU = this.options.ecmaVersion >= 11;\n var ch = state.current(forceU);\n state.advance(forceU);\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierPart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierPart(ch) {\n return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* <ZWNJ> */ || ch === 0x200D /* <ZWJ> */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape\npp$1.regexp_eatAtomEscape = function(state) {\n if (\n this.regexp_eatBackReference(state) ||\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state) ||\n (state.switchN && this.regexp_eatKGroupName(state))\n ) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n if (state.current() === 0x63 /* c */) {\n state.raise(\"Invalid unicode escape\");\n }\n state.raise(\"Invalid escape\");\n }\n return false\n};\npp$1.regexp_eatBackReference = function(state) {\n var start = state.pos;\n if (this.regexp_eatDecimalEscape(state)) {\n var n = state.lastIntValue;\n if (state.switchU) {\n // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape\n if (n > state.maxBackReference) {\n state.maxBackReference = n;\n }\n return true\n }\n if (n <= state.numCapturingParens) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$1.regexp_eatKGroupName = function(state) {\n if (state.eat(0x6B /* k */)) {\n if (this.regexp_eatGroupName(state)) {\n state.backReferenceNames.push(state.lastStringValue);\n return true\n }\n state.raise(\"Invalid named reference\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape\npp$1.regexp_eatCharacterEscape = function(state) {\n return (\n this.regexp_eatControlEscape(state) ||\n this.regexp_eatCControlLetter(state) ||\n this.regexp_eatZero(state) ||\n this.regexp_eatHexEscapeSequence(state) ||\n this.regexp_eatRegExpUnicodeEscapeSequence(state, false) ||\n (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||\n this.regexp_eatIdentityEscape(state)\n )\n};\npp$1.regexp_eatCControlLetter = function(state) {\n var start = state.pos;\n if (state.eat(0x63 /* c */)) {\n if (this.regexp_eatControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$1.regexp_eatZero = function(state) {\n if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {\n state.lastIntValue = 0;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\npp$1.regexp_eatControlEscape = function(state) {\n var ch = state.current();\n if (ch === 0x74 /* t */) {\n state.lastIntValue = 0x09; /* \\t */\n state.advance();\n return true\n }\n if (ch === 0x6E /* n */) {\n state.lastIntValue = 0x0A; /* \\n */\n state.advance();\n return true\n }\n if (ch === 0x76 /* v */) {\n state.lastIntValue = 0x0B; /* \\v */\n state.advance();\n return true\n }\n if (ch === 0x66 /* f */) {\n state.lastIntValue = 0x0C; /* \\f */\n state.advance();\n return true\n }\n if (ch === 0x72 /* r */) {\n state.lastIntValue = 0x0D; /* \\r */\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\npp$1.regexp_eatControlLetter = function(state) {\n var ch = state.current();\n if (isControlLetter(ch)) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\nfunction isControlLetter(ch) {\n return (\n (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||\n (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\npp$1.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n var start = state.pos;\n var switchU = forceU || state.switchU;\n\n if (state.eat(0x75 /* u */)) {\n if (this.regexp_eatFixedHexDigits(state, 4)) {\n var lead = state.lastIntValue;\n if (switchU && lead >= 0xD800 && lead <= 0xDBFF) {\n var leadSurrogateEnd = state.pos;\n if (state.eat(0x5C /* \\ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {\n var trail = state.lastIntValue;\n if (trail >= 0xDC00 && trail <= 0xDFFF) {\n state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\n return true\n }\n }\n state.pos = leadSurrogateEnd;\n state.lastIntValue = lead;\n }\n return true\n }\n if (\n switchU &&\n state.eat(0x7B /* { */) &&\n this.regexp_eatHexDigits(state) &&\n state.eat(0x7D /* } */) &&\n isValidUnicode(state.lastIntValue)\n ) {\n return true\n }\n if (switchU) {\n state.raise(\"Invalid unicode escape\");\n }\n state.pos = start;\n }\n\n return false\n};\nfunction isValidUnicode(ch) {\n return ch >= 0 && ch <= 0x10FFFF\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape\npp$1.regexp_eatIdentityEscape = function(state) {\n if (state.switchU) {\n if (this.regexp_eatSyntaxCharacter(state)) {\n return true\n }\n if (state.eat(0x2F /* / */)) {\n state.lastIntValue = 0x2F; /* / */\n return true\n }\n return false\n }\n\n var ch = state.current();\n if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\npp$1.regexp_eatDecimalEscape = function(state) {\n state.lastIntValue = 0;\n var ch = state.current();\n if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {\n do {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)\n return true\n }\n return false\n};\n\n// Return values used by character set parsing methods, needed to\n// forbid negation of sets that can match strings.\nvar CharSetNone = 0; // Nothing parsed\nvar CharSetOk = 1; // Construct parsed, cannot contain strings\nvar CharSetString = 2; // Construct parsed, can contain strings\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\npp$1.regexp_eatCharacterClassEscape = function(state) {\n var ch = state.current();\n\n if (isCharacterClassEscape(ch)) {\n state.lastIntValue = -1;\n state.advance();\n return CharSetOk\n }\n\n var negate = false;\n if (\n state.switchU &&\n this.options.ecmaVersion >= 9 &&\n ((negate = ch === 0x50 /* P */) || ch === 0x70 /* p */)\n ) {\n state.lastIntValue = -1;\n state.advance();\n var result;\n if (\n state.eat(0x7B /* { */) &&\n (result = this.regexp_eatUnicodePropertyValueExpression(state)) &&\n state.eat(0x7D /* } */)\n ) {\n if (negate && result === CharSetString) { state.raise(\"Invalid property name\"); }\n return result\n }\n state.raise(\"Invalid property name\");\n }\n\n return CharSetNone\n};\n\nfunction isCharacterClassEscape(ch) {\n return (\n ch === 0x64 /* d */ ||\n ch === 0x44 /* D */ ||\n ch === 0x73 /* s */ ||\n ch === 0x53 /* S */ ||\n ch === 0x77 /* w */ ||\n ch === 0x57 /* W */\n )\n}\n\n// UnicodePropertyValueExpression ::\n// UnicodePropertyName `=` UnicodePropertyValue\n// LoneUnicodePropertyNameOrValue\npp$1.regexp_eatUnicodePropertyValueExpression = function(state) {\n var start = state.pos;\n\n // UnicodePropertyName `=` UnicodePropertyValue\n if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {\n var name = state.lastStringValue;\n if (this.regexp_eatUnicodePropertyValue(state)) {\n var value = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameAndValue(state, name, value);\n return CharSetOk\n }\n }\n state.pos = start;\n\n // LoneUnicodePropertyNameOrValue\n if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {\n var nameOrValue = state.lastStringValue;\n return this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue)\n }\n return CharSetNone\n};\n\npp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {\n if (!hasOwn(state.unicodeProperties.nonBinary, name))\n { state.raise(\"Invalid property name\"); }\n if (!state.unicodeProperties.nonBinary[name].test(value))\n { state.raise(\"Invalid property value\"); }\n};\n\npp$1.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {\n if (state.unicodeProperties.binary.test(nameOrValue)) { return CharSetOk }\n if (state.switchV && state.unicodeProperties.binaryOfStrings.test(nameOrValue)) { return CharSetString }\n state.raise(\"Invalid property name\");\n};\n\n// UnicodePropertyName ::\n// UnicodePropertyNameCharacters\npp$1.regexp_eatUnicodePropertyName = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyNameCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\n\nfunction isUnicodePropertyNameCharacter(ch) {\n return isControlLetter(ch) || ch === 0x5F /* _ */\n}\n\n// UnicodePropertyValue ::\n// UnicodePropertyValueCharacters\npp$1.regexp_eatUnicodePropertyValue = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyValueCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\nfunction isUnicodePropertyValueCharacter(ch) {\n return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)\n}\n\n// LoneUnicodePropertyNameOrValue ::\n// UnicodePropertyValueCharacters\npp$1.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {\n return this.regexp_eatUnicodePropertyValue(state)\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\npp$1.regexp_eatCharacterClass = function(state) {\n if (state.eat(0x5B /* [ */)) {\n var negate = state.eat(0x5E /* ^ */);\n var result = this.regexp_classContents(state);\n if (!state.eat(0x5D /* ] */))\n { state.raise(\"Unterminated character class\"); }\n if (negate && result === CharSetString)\n { state.raise(\"Negated character class may contain strings\"); }\n return true\n }\n return false\n};\n\n// https://tc39.es/ecma262/#prod-ClassContents\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\npp$1.regexp_classContents = function(state) {\n if (state.current() === 0x5D /* ] */) { return CharSetOk }\n if (state.switchV) { return this.regexp_classSetExpression(state) }\n this.regexp_nonEmptyClassRanges(state);\n return CharSetOk\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\npp$1.regexp_nonEmptyClassRanges = function(state) {\n while (this.regexp_eatClassAtom(state)) {\n var left = state.lastIntValue;\n if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {\n var right = state.lastIntValue;\n if (state.switchU && (left === -1 || right === -1)) {\n state.raise(\"Invalid character class\");\n }\n if (left !== -1 && right !== -1 && left > right) {\n state.raise(\"Range out of order in character class\");\n }\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\npp$1.regexp_eatClassAtom = function(state) {\n var start = state.pos;\n\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatClassEscape(state)) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n var ch$1 = state.current();\n if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {\n state.raise(\"Invalid class escape\");\n }\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n\n var ch = state.current();\n if (ch !== 0x5D /* ] */) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape\npp$1.regexp_eatClassEscape = function(state) {\n var start = state.pos;\n\n if (state.eat(0x62 /* b */)) {\n state.lastIntValue = 0x08; /* <BS> */\n return true\n }\n\n if (state.switchU && state.eat(0x2D /* - */)) {\n state.lastIntValue = 0x2D; /* - */\n return true\n }\n\n if (!state.switchU && state.eat(0x63 /* c */)) {\n if (this.regexp_eatClassControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n\n return (\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state)\n )\n};\n\n// https://tc39.es/ecma262/#prod-ClassSetExpression\n// https://tc39.es/ecma262/#prod-ClassUnion\n// https://tc39.es/ecma262/#prod-ClassIntersection\n// https://tc39.es/ecma262/#prod-ClassSubtraction\npp$1.regexp_classSetExpression = function(state) {\n var result = CharSetOk, subResult;\n if (this.regexp_eatClassSetRange(state)) ; else if (subResult = this.regexp_eatClassSetOperand(state)) {\n if (subResult === CharSetString) { result = CharSetString; }\n // https://tc39.es/ecma262/#prod-ClassIntersection\n var start = state.pos;\n while (state.eatChars([0x26, 0x26] /* && */)) {\n if (\n state.current() !== 0x26 /* & */ &&\n (subResult = this.regexp_eatClassSetOperand(state))\n ) {\n if (subResult !== CharSetString) { result = CharSetOk; }\n continue\n }\n state.raise(\"Invalid character in character class\");\n }\n if (start !== state.pos) { return result }\n // https://tc39.es/ecma262/#prod-ClassSubtraction\n while (state.eatChars([0x2D, 0x2D] /* -- */)) {\n if (this.regexp_eatClassSetOperand(state)) { continue }\n state.raise(\"Invalid character in character class\");\n }\n if (start !== state.pos) { return result }\n } else {\n state.raise(\"Invalid character in character class\");\n }\n // https://tc39.es/ecma262/#prod-ClassUnion\n for (;;) {\n if (this.regexp_eatClassSetRange(state)) { continue }\n subResult = this.regexp_eatClassSetOperand(state);\n if (!subResult) { return result }\n if (subResult === CharSetString) { result = CharSetString; }\n }\n};\n\n// https://tc39.es/ecma262/#prod-ClassSetRange\npp$1.regexp_eatClassSetRange = function(state) {\n var start = state.pos;\n if (this.regexp_eatClassSetCharacter(state)) {\n var left = state.lastIntValue;\n if (state.eat(0x2D /* - */) && this.regexp_eatClassSetCharacter(state)) {\n var right = state.lastIntValue;\n if (left !== -1 && right !== -1 && left > right) {\n state.raise(\"Range out of order in character class\");\n }\n return true\n }\n state.pos = start;\n }\n return false\n};\n\n// https://tc39.es/ecma262/#prod-ClassSetOperand\npp$1.regexp_eatClassSetOperand = function(state) {\n if (this.regexp_eatClassSetCharacter(state)) { return CharSetOk }\n return this.regexp_eatClassStringDisjunction(state) || this.regexp_eatNestedClass(state)\n};\n\n// https://tc39.es/ecma262/#prod-NestedClass\npp$1.regexp_eatNestedClass = function(state) {\n var start = state.pos;\n if (state.eat(0x5B /* [ */)) {\n var negate = state.eat(0x5E /* ^ */);\n var result = this.regexp_classContents(state);\n if (state.eat(0x5D /* ] */)) {\n if (negate && result === CharSetString) {\n state.raise(\"Negated character class may contain strings\");\n }\n return result\n }\n state.pos = start;\n }\n if (state.eat(0x5C /* \\ */)) {\n var result$1 = this.regexp_eatCharacterClassEscape(state);\n if (result$1) {\n return result$1\n }\n state.pos = start;\n }\n return null\n};\n\n// https://tc39.es/ecma262/#prod-ClassStringDisjunction\npp$1.regexp_eatClassStringDisjunction = function(state) {\n var start = state.pos;\n if (state.eatChars([0x5C, 0x71] /* \\q */)) {\n if (state.eat(0x7B /* { */)) {\n var result = this.regexp_classStringDisjunctionContents(state);\n if (state.eat(0x7D /* } */)) {\n return result\n }\n } else {\n // Make the same message as V8.\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n return null\n};\n\n// https://tc39.es/ecma262/#prod-ClassStringDisjunctionContents\npp$1.regexp_classStringDisjunctionContents = function(state) {\n var result = this.regexp_classString(state);\n while (state.eat(0x7C /* | */)) {\n if (this.regexp_classString(state) === CharSetString) { result = CharSetString; }\n }\n return result\n};\n\n// https://tc39.es/ecma262/#prod-ClassString\n// https://tc39.es/ecma262/#prod-NonEmptyClassString\npp$1.regexp_classString = function(state) {\n var count = 0;\n while (this.regexp_eatClassSetCharacter(state)) { count++; }\n return count === 1 ? CharSetOk : CharSetString\n};\n\n// https://tc39.es/ecma262/#prod-ClassSetCharacter\npp$1.regexp_eatClassSetCharacter = function(state) {\n var start = state.pos;\n if (state.eat(0x5C /* \\ */)) {\n if (\n this.regexp_eatCharacterEscape(state) ||\n this.regexp_eatClassSetReservedPunctuator(state)\n ) {\n return true\n }\n if (state.eat(0x62 /* b */)) {\n state.lastIntValue = 0x08; /* <BS> */\n return true\n }\n state.pos = start;\n return false\n }\n var ch = state.current();\n if (ch < 0 || ch === state.lookahead() && isClassSetReservedDoublePunctuatorCharacter(ch)) { return false }\n if (isClassSetSyntaxCharacter(ch)) { return false }\n state.advance();\n state.lastIntValue = ch;\n return true\n};\n\n// https://tc39.es/ecma262/#prod-ClassSetReservedDoublePunctuator\nfunction isClassSetReservedDoublePunctuatorCharacter(ch) {\n return (\n ch === 0x21 /* ! */ ||\n ch >= 0x23 /* # */ && ch <= 0x26 /* & */ ||\n ch >= 0x2A /* * */ && ch <= 0x2C /* , */ ||\n ch === 0x2E /* . */ ||\n ch >= 0x3A /* : */ && ch <= 0x40 /* @ */ ||\n ch === 0x5E /* ^ */ ||\n ch === 0x60 /* ` */ ||\n ch === 0x7E /* ~ */\n )\n}\n\n// https://tc39.es/ecma262/#prod-ClassSetSyntaxCharacter\nfunction isClassSetSyntaxCharacter(ch) {\n return (\n ch === 0x28 /* ( */ ||\n ch === 0x29 /* ) */ ||\n ch === 0x2D /* - */ ||\n ch === 0x2F /* / */ ||\n ch >= 0x5B /* [ */ && ch <= 0x5D /* ] */ ||\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\n )\n}\n\n// https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator\npp$1.regexp_eatClassSetReservedPunctuator = function(state) {\n var ch = state.current();\n if (isClassSetReservedPunctuator(ch)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n return false\n};\n\n// https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator\nfunction isClassSetReservedPunctuator(ch) {\n return (\n ch === 0x21 /* ! */ ||\n ch === 0x23 /* # */ ||\n ch === 0x25 /* % */ ||\n ch === 0x26 /* & */ ||\n ch === 0x2C /* , */ ||\n ch === 0x2D /* - */ ||\n ch >= 0x3A /* : */ && ch <= 0x3E /* > */ ||\n ch === 0x40 /* @ */ ||\n ch === 0x60 /* ` */ ||\n ch === 0x7E /* ~ */\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter\npp$1.regexp_eatClassControlLetter = function(state) {\n var ch = state.current();\n if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$1.regexp_eatHexEscapeSequence = function(state) {\n var start = state.pos;\n if (state.eat(0x78 /* x */)) {\n if (this.regexp_eatFixedHexDigits(state, 2)) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\npp$1.regexp_eatDecimalDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isDecimalDigit(ch = state.current())) {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isDecimalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\npp$1.regexp_eatHexDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isHexDigit(ch = state.current())) {\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isHexDigit(ch) {\n return (\n (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||\n (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||\n (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)\n )\n}\nfunction hexToInt(ch) {\n if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {\n return 10 + (ch - 0x41 /* A */)\n }\n if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {\n return 10 + (ch - 0x61 /* a */)\n }\n return ch - 0x30 /* 0 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence\n// Allows only 0-377(octal) i.e. 0-255(decimal).\npp$1.regexp_eatLegacyOctalEscapeSequence = function(state) {\n if (this.regexp_eatOctalDigit(state)) {\n var n1 = state.lastIntValue;\n if (this.regexp_eatOctalDigit(state)) {\n var n2 = state.lastIntValue;\n if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {\n state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;\n } else {\n state.lastIntValue = n1 * 8 + n2;\n }\n } else {\n state.lastIntValue = n1;\n }\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\npp$1.regexp_eatOctalDigit = function(state) {\n var ch = state.current();\n if (isOctalDigit(ch)) {\n state.lastIntValue = ch - 0x30; /* 0 */\n state.advance();\n return true\n }\n state.lastIntValue = 0;\n return false\n};\nfunction isOctalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\n// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$1.regexp_eatFixedHexDigits = function(state, length) {\n var start = state.pos;\n state.lastIntValue = 0;\n for (var i = 0; i < length; ++i) {\n var ch = state.current();\n if (!isHexDigit(ch)) {\n state.pos = start;\n return false\n }\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return true\n};\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nvar Token = function Token(p) {\n this.type = p.type;\n this.value = p.value;\n this.start = p.start;\n this.end = p.end;\n if (p.options.locations)\n { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); }\n if (p.options.ranges)\n { this.range = [p.start, p.end]; }\n};\n\n// ## Tokenizer\n\nvar pp = Parser.prototype;\n\n// Move to the next token\n\npp.next = function(ignoreEscapeSequenceInKeyword) {\n if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc)\n { this.raiseRecoverable(this.start, \"Escape sequence in keyword \" + this.type.keyword); }\n if (this.options.onToken)\n { this.options.onToken(new Token(this)); }\n\n this.lastTokEnd = this.end;\n this.lastTokStart = this.start;\n this.lastTokEndLoc = this.endLoc;\n this.lastTokStartLoc = this.startLoc;\n this.nextToken();\n};\n\npp.getToken = function() {\n this.next();\n return new Token(this)\n};\n\n// If we're in an ES6 environment, make parsers iterable\nif (typeof Symbol !== \"undefined\")\n { pp[Symbol.iterator] = function() {\n var this$1$1 = this;\n\n return {\n next: function () {\n var token = this$1$1.getToken();\n return {\n done: token.type === types$1.eof,\n value: token\n }\n }\n }\n }; }\n\n// Toggle strict mode. Re-reads the next number or string to please\n// pedantic tests (`\"use strict\"; 010;` should fail).\n\n// Read a single token, updating the parser object's token-related\n// properties.\n\npp.nextToken = function() {\n var curContext = this.curContext();\n if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }\n\n this.start = this.pos;\n if (this.options.locations) { this.startLoc = this.curPosition(); }\n if (this.pos >= this.input.length) { return this.finishToken(types$1.eof) }\n\n if (curContext.override) { return curContext.override(this) }\n else { this.readToken(this.fullCharCodeAtPos()); }\n};\n\npp.readToken = function(code) {\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\n // identifiers, so '\\' also dispatches to that.\n if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\\' */)\n { return this.readWord() }\n\n return this.getTokenFromCode(code)\n};\n\npp.fullCharCodeAt = function(pos) {\n var code = this.input.charCodeAt(pos);\n if (code <= 0xd7ff || code >= 0xdc00) { return code }\n var next = this.input.charCodeAt(pos + 1);\n return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00\n};\n\npp.fullCharCodeAtPos = function() {\n return this.fullCharCodeAt(this.pos)\n};\n\npp.skipBlockComment = function() {\n var startLoc = this.options.onComment && this.curPosition();\n var start = this.pos, end = this.input.indexOf(\"*/\", this.pos += 2);\n if (end === -1) { this.raise(this.pos - 2, \"Unterminated comment\"); }\n this.pos = end + 2;\n if (this.options.locations) {\n for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) {\n ++this.curLine;\n pos = this.lineStart = nextBreak;\n }\n }\n if (this.options.onComment)\n { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\npp.skipLineComment = function(startSkip) {\n var start = this.pos;\n var startLoc = this.options.onComment && this.curPosition();\n var ch = this.input.charCodeAt(this.pos += startSkip);\n while (this.pos < this.input.length && !isNewLine(ch)) {\n ch = this.input.charCodeAt(++this.pos);\n }\n if (this.options.onComment)\n { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\n// Called at the start of the parse and after every token. Skips\n// whitespace and comments, and.\n\npp.skipSpace = function() {\n loop: while (this.pos < this.input.length) {\n var ch = this.input.charCodeAt(this.pos);\n switch (ch) {\n case 32: case 160: // ' '\n ++this.pos;\n break\n case 13:\n if (this.input.charCodeAt(this.pos + 1) === 10) {\n ++this.pos;\n }\n case 10: case 8232: case 8233:\n ++this.pos;\n if (this.options.locations) {\n ++this.curLine;\n this.lineStart = this.pos;\n }\n break\n case 47: // '/'\n switch (this.input.charCodeAt(this.pos + 1)) {\n case 42: // '*'\n this.skipBlockComment();\n break\n case 47:\n this.skipLineComment(2);\n break\n default:\n break loop\n }\n break\n default:\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n ++this.pos;\n } else {\n break loop\n }\n }\n }\n};\n\n// Called at the end of every token. Sets `end`, `val`, and\n// maintains `context` and `exprAllowed`, and skips the space after\n// the token, so that the next one's `start` will point at the\n// right position.\n\npp.finishToken = function(type, val) {\n this.end = this.pos;\n if (this.options.locations) { this.endLoc = this.curPosition(); }\n var prevType = this.type;\n this.type = type;\n this.value = val;\n\n this.updateContext(prevType);\n};\n\n// ### Token reading\n\n// This is the function that is called to fetch the next token. It\n// is somewhat obscure, because it works in character codes rather\n// than characters, and because operator parsing has been inlined\n// into it.\n//\n// All in the name of speed.\n//\npp.readToken_dot = function() {\n var next = this.input.charCodeAt(this.pos + 1);\n if (next >= 48 && next <= 57) { return this.readNumber(true) }\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'\n this.pos += 3;\n return this.finishToken(types$1.ellipsis)\n } else {\n ++this.pos;\n return this.finishToken(types$1.dot)\n }\n};\n\npp.readToken_slash = function() { // '/'\n var next = this.input.charCodeAt(this.pos + 1);\n if (this.exprAllowed) { ++this.pos; return this.readRegexp() }\n if (next === 61) { return this.finishOp(types$1.assign, 2) }\n return this.finishOp(types$1.slash, 1)\n};\n\npp.readToken_mult_modulo_exp = function(code) { // '%*'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n var tokentype = code === 42 ? types$1.star : types$1.modulo;\n\n // exponentiation operator ** and **=\n if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {\n ++size;\n tokentype = types$1.starstar;\n next = this.input.charCodeAt(this.pos + 2);\n }\n\n if (next === 61) { return this.finishOp(types$1.assign, size + 1) }\n return this.finishOp(tokentype, size)\n};\n\npp.readToken_pipe_amp = function(code) { // '|&'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n if (this.options.ecmaVersion >= 12) {\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (next2 === 61) { return this.finishOp(types$1.assign, 3) }\n }\n return this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND, 2)\n }\n if (next === 61) { return this.finishOp(types$1.assign, 2) }\n return this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND, 1)\n};\n\npp.readToken_caret = function() { // '^'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 61) { return this.finishOp(types$1.assign, 2) }\n return this.finishOp(types$1.bitwiseXOR, 1)\n};\n\npp.readToken_plus_min = function(code) { // '+-'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&\n (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {\n // A `-->` line comment\n this.skipLineComment(3);\n this.skipSpace();\n return this.nextToken()\n }\n return this.finishOp(types$1.incDec, 2)\n }\n if (next === 61) { return this.finishOp(types$1.assign, 2) }\n return this.finishOp(types$1.plusMin, 1)\n};\n\npp.readToken_lt_gt = function(code) { // '<>'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;\n if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign, size + 1) }\n return this.finishOp(types$1.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `<!--`, an XML-style comment that should be interpreted as a line comment\n this.skipLineComment(4);\n this.skipSpace();\n return this.nextToken()\n }\n if (next === 61) { size = 2; }\n return this.finishOp(types$1.relational, size)\n};\n\npp.readToken_eq_excl = function(code) { // '=!'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 61) { return this.finishOp(types$1.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) }\n if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'\n this.pos += 2;\n return this.finishToken(types$1.arrow)\n }\n return this.finishOp(code === 61 ? types$1.eq : types$1.prefix, 1)\n};\n\npp.readToken_question = function() { // '?'\n var ecmaVersion = this.options.ecmaVersion;\n if (ecmaVersion >= 11) {\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 46) {\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (next2 < 48 || next2 > 57) { return this.finishOp(types$1.questionDot, 2) }\n }\n if (next === 63) {\n if (ecmaVersion >= 12) {\n var next2$1 = this.input.charCodeAt(this.pos + 2);\n if (next2$1 === 61) { return this.finishOp(types$1.assign, 3) }\n }\n return this.finishOp(types$1.coalesce, 2)\n }\n }\n return this.finishOp(types$1.question, 1)\n};\n\npp.readToken_numberSign = function() { // '#'\n var ecmaVersion = this.options.ecmaVersion;\n var code = 35; // '#'\n if (ecmaVersion >= 13) {\n ++this.pos;\n code = this.fullCharCodeAtPos();\n if (isIdentifierStart(code, true) || code === 92 /* '\\' */) {\n return this.finishToken(types$1.privateId, this.readWord1())\n }\n }\n\n this.raise(this.pos, \"Unexpected character '\" + codePointToString(code) + \"'\");\n};\n\npp.getTokenFromCode = function(code) {\n switch (code) {\n // The interpretation of a dot depends on whether it is followed\n // by a digit or another two dots.\n case 46: // '.'\n return this.readToken_dot()\n\n // Punctuation tokens.\n case 40: ++this.pos; return this.finishToken(types$1.parenL)\n case 41: ++this.pos; return this.finishToken(types$1.parenR)\n case 59: ++this.pos; return this.finishToken(types$1.semi)\n case 44: ++this.pos; return this.finishToken(types$1.comma)\n case 91: ++this.pos; return this.finishToken(types$1.bracketL)\n case 93: ++this.pos; return this.finishToken(types$1.bracketR)\n case 123: ++this.pos; return this.finishToken(types$1.braceL)\n case 125: ++this.pos; return this.finishToken(types$1.braceR)\n case 58: ++this.pos; return this.finishToken(types$1.colon)\n\n case 96: // '`'\n if (this.options.ecmaVersion < 6) { break }\n ++this.pos;\n return this.finishToken(types$1.backQuote)\n\n case 48: // '0'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 120 || next === 88) { return this.readRadixNumber(16) } // '0x', '0X' - hex number\n if (this.options.ecmaVersion >= 6) {\n if (next === 111 || next === 79) { return this.readRadixNumber(8) } // '0o', '0O' - octal number\n if (next === 98 || next === 66) { return this.readRadixNumber(2) } // '0b', '0B' - binary number\n }\n\n // Anything else beginning with a digit is an integer, octal\n // number, or float.\n case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9\n return this.readNumber(false)\n\n // Quotes produce strings.\n case 34: case 39: // '\"', \"'\"\n return this.readString(code)\n\n // Operators are parsed inline in tiny state machines. '=' (61) is\n // often referred to. `finishOp` simply skips the amount of\n // characters it is given as second argument, and returns a token\n // of the type given by its first argument.\n case 47: // '/'\n return this.readToken_slash()\n\n case 37: case 42: // '%*'\n return this.readToken_mult_modulo_exp(code)\n\n case 124: case 38: // '|&'\n return this.readToken_pipe_amp(code)\n\n case 94: // '^'\n return this.readToken_caret()\n\n case 43: case 45: // '+-'\n return this.readToken_plus_min(code)\n\n case 60: case 62: // '<>'\n return this.readToken_lt_gt(code)\n\n case 61: case 33: // '=!'\n return this.readToken_eq_excl(code)\n\n case 63: // '?'\n return this.readToken_question()\n\n case 126: // '~'\n return this.finishOp(types$1.prefix, 1)\n\n case 35: // '#'\n return this.readToken_numberSign()\n }\n\n this.raise(this.pos, \"Unexpected character '\" + codePointToString(code) + \"'\");\n};\n\npp.finishOp = function(type, size) {\n var str = this.input.slice(this.pos, this.pos + size);\n this.pos += size;\n return this.finishToken(type, str)\n};\n\npp.readRegexp = function() {\n var escaped, inClass, start = this.pos;\n for (;;) {\n if (this.pos >= this.input.length) { this.raise(start, \"Unterminated regular expression\"); }\n var ch = this.input.charAt(this.pos);\n if (lineBreak.test(ch)) { this.raise(start, \"Unterminated regular expression\"); }\n if (!escaped) {\n if (ch === \"[\") { inClass = true; }\n else if (ch === \"]\" && inClass) { inClass = false; }\n else if (ch === \"/\" && !inClass) { break }\n escaped = ch === \"\\\\\";\n } else { escaped = false; }\n ++this.pos;\n }\n var pattern = this.input.slice(start, this.pos);\n ++this.pos;\n var flagsStart = this.pos;\n var flags = this.readWord1();\n if (this.containsEsc) { this.unexpected(flagsStart); }\n\n // Validate pattern\n var state = this.regexpState || (this.regexpState = new RegExpValidationState(this));\n state.reset(start, pattern, flags);\n this.validateRegExpFlags(state);\n this.validateRegExpPattern(state);\n\n // Create Literal#value property value.\n var value = null;\n try {\n value = new RegExp(pattern, flags);\n } catch (e) {\n // ESTree requires null if it failed to instantiate RegExp object.\n // https://github.com/estree/estree/blob/a27003adf4fd7bfad44de9cef372a2eacd527b1c/es5.md#regexpliteral\n }\n\n return this.finishToken(types$1.regexp, {pattern: pattern, flags: flags, value: value})\n};\n\n// Read an integer in the given radix. Return null if zero digits\n// were read, the integer value otherwise. When `len` is given, this\n// will return `null` unless the integer has exactly `len` digits.\n\npp.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) {\n // `len` is used for character escape sequences. In that case, disallow separators.\n var allowSeparators = this.options.ecmaVersion >= 12 && len === undefined;\n\n // `maybeLegacyOctalNumericLiteral` is true if it doesn't have prefix (0x,0o,0b)\n // and isn't fraction part nor exponent part. In that case, if the first digit\n // is zero then disallow separators.\n var isLegacyOctalNumericLiteral = maybeLegacyOctalNumericLiteral && this.input.charCodeAt(this.pos) === 48;\n\n var start = this.pos, total = 0, lastCode = 0;\n for (var i = 0, e = len == null ? Infinity : len; i < e; ++i, ++this.pos) {\n var code = this.input.charCodeAt(this.pos), val = (void 0);\n\n if (allowSeparators && code === 95) {\n if (isLegacyOctalNumericLiteral) { this.raiseRecoverable(this.pos, \"Numeric separator is not allowed in legacy octal numeric literals\"); }\n if (lastCode === 95) { this.raiseRecoverable(this.pos, \"Numeric separator must be exactly one underscore\"); }\n if (i === 0) { this.raiseRecoverable(this.pos, \"Numeric separator is not allowed at the first of digits\"); }\n lastCode = code;\n continue\n }\n\n if (code >= 97) { val = code - 97 + 10; } // a\n else if (code >= 65) { val = code - 65 + 10; } // A\n else if (code >= 48 && code <= 57) { val = code - 48; } // 0-9\n else { val = Infinity; }\n if (val >= radix) { break }\n lastCode = code;\n total = total * radix + val;\n }\n\n if (allowSeparators && lastCode === 95) { this.raiseRecoverable(this.pos - 1, \"Numeric separator is not allowed at the last of digits\"); }\n if (this.pos === start || len != null && this.pos - start !== len) { return null }\n\n return total\n};\n\nfunction stringToNumber(str, isLegacyOctalNumericLiteral) {\n if (isLegacyOctalNumericLiteral) {\n return parseInt(str, 8)\n }\n\n // `parseFloat(value)` stops parsing at the first numeric separator then returns a wrong value.\n return parseFloat(str.replace(/_/g, \"\"))\n}\n\nfunction stringToBigInt(str) {\n if (typeof BigInt !== \"function\") {\n return null\n }\n\n // `BigInt(value)` throws syntax error if the string contains numeric separators.\n return BigInt(str.replace(/_/g, \"\"))\n}\n\npp.readRadixNumber = function(radix) {\n var start = this.pos;\n this.pos += 2; // 0x\n var val = this.readInt(radix);\n if (val == null) { this.raise(this.start + 2, \"Expected number in radix \" + radix); }\n if (this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110) {\n val = stringToBigInt(this.input.slice(start, this.pos));\n ++this.pos;\n } else if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, \"Identifier directly after number\"); }\n return this.finishToken(types$1.num, val)\n};\n\n// Read an integer, octal integer, or floating-point number.\n\npp.readNumber = function(startsWithDot) {\n var start = this.pos;\n if (!startsWithDot && this.readInt(10, undefined, true) === null) { this.raise(start, \"Invalid number\"); }\n var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48;\n if (octal && this.strict) { this.raise(start, \"Invalid number\"); }\n var next = this.input.charCodeAt(this.pos);\n if (!octal && !startsWithDot && this.options.ecmaVersion >= 11 && next === 110) {\n var val$1 = stringToBigInt(this.input.slice(start, this.pos));\n ++this.pos;\n if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, \"Identifier directly after number\"); }\n return this.finishToken(types$1.num, val$1)\n }\n if (octal && /[89]/.test(this.input.slice(start, this.pos))) { octal = false; }\n if (next === 46 && !octal) { // '.'\n ++this.pos;\n this.readInt(10);\n next = this.input.charCodeAt(this.pos);\n }\n if ((next === 69 || next === 101) && !octal) { // 'eE'\n next = this.input.charCodeAt(++this.pos);\n if (next === 43 || next === 45) { ++this.pos; } // '+-'\n if (this.readInt(10) === null) { this.raise(start, \"Invalid number\"); }\n }\n if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, \"Identifier directly after number\"); }\n\n var val = stringToNumber(this.input.slice(start, this.pos), octal);\n return this.finishToken(types$1.num, val)\n};\n\n// Read a string value, interpreting backslash-escapes.\n\npp.readCodePoint = function() {\n var ch = this.input.charCodeAt(this.pos), code;\n\n if (ch === 123) { // '{'\n if (this.options.ecmaVersion < 6) { this.unexpected(); }\n var codePos = ++this.pos;\n code = this.readHexChar(this.input.indexOf(\"}\", this.pos) - this.pos);\n ++this.pos;\n if (code > 0x10FFFF) { this.invalidStringToken(codePos, \"Code point out of bounds\"); }\n } else {\n code = this.readHexChar(4);\n }\n return code\n};\n\npp.readString = function(quote) {\n var out = \"\", chunkStart = ++this.pos;\n for (;;) {\n if (this.pos >= this.input.length) { this.raise(this.start, \"Unterminated string constant\"); }\n var ch = this.input.charCodeAt(this.pos);\n if (ch === quote) { break }\n if (ch === 92) { // '\\'\n out += this.input.slice(chunkStart, this.pos);\n out += this.readEscapedChar(false);\n chunkStart = this.pos;\n } else if (ch === 0x2028 || ch === 0x2029) {\n if (this.options.ecmaVersion < 10) { this.raise(this.start, \"Unterminated string constant\"); }\n ++this.pos;\n if (this.options.locations) {\n this.curLine++;\n this.lineStart = this.pos;\n }\n } else {\n if (isNewLine(ch)) { this.raise(this.start, \"Unterminated string constant\"); }\n ++this.pos;\n }\n }\n out += this.input.slice(chunkStart, this.pos++);\n return this.finishToken(types$1.string, out)\n};\n\n// Reads template string tokens.\n\nvar INVALID_TEMPLATE_ESCAPE_ERROR = {};\n\npp.tryReadTemplateToken = function() {\n this.inTemplateElement = true;\n try {\n this.readTmplToken();\n } catch (err) {\n if (err === INVALID_TEMPLATE_ESCAPE_ERROR) {\n this.readInvalidTemplateToken();\n } else {\n throw err\n }\n }\n\n this.inTemplateElement = false;\n};\n\npp.invalidStringToken = function(position, message) {\n if (this.inTemplateElement && this.options.ecmaVersion >= 9) {\n throw INVALID_TEMPLATE_ESCAPE_ERROR\n } else {\n this.raise(position, message);\n }\n};\n\npp.readTmplToken = function() {\n var out = \"\", chunkStart = this.pos;\n for (;;) {\n if (this.pos >= this.input.length) { this.raise(this.start, \"Unterminated template\"); }\n var ch = this.input.charCodeAt(this.pos);\n if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { // '`', '${'\n if (this.pos === this.start && (this.type === types$1.template || this.type === types$1.invalidTemplate)) {\n if (ch === 36) {\n this.pos += 2;\n return this.finishToken(types$1.dollarBraceL)\n } else {\n ++this.pos;\n return this.finishToken(types$1.backQuote)\n }\n }\n out += this.input.slice(chunkStart, this.pos);\n return this.finishToken(types$1.template, out)\n }\n if (ch === 92) { // '\\'\n out += this.input.slice(chunkStart, this.pos);\n out += this.readEscapedChar(true);\n chunkStart = this.pos;\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.pos);\n ++this.pos;\n switch (ch) {\n case 13:\n if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; }\n case 10:\n out += \"\\n\";\n break\n default:\n out += String.fromCharCode(ch);\n break\n }\n if (this.options.locations) {\n ++this.curLine;\n this.lineStart = this.pos;\n }\n chunkStart = this.pos;\n } else {\n ++this.pos;\n }\n }\n};\n\n// Reads a template token to search for the end, without validating any escape sequences\npp.readInvalidTemplateToken = function() {\n for (; this.pos < this.input.length; this.pos++) {\n switch (this.input[this.pos]) {\n case \"\\\\\":\n ++this.pos;\n break\n\n case \"$\":\n if (this.input[this.pos + 1] !== \"{\") { break }\n // fall through\n case \"`\":\n return this.finishToken(types$1.invalidTemplate, this.input.slice(this.start, this.pos))\n\n case \"\\r\":\n if (this.input[this.pos + 1] === \"\\n\") { ++this.pos; }\n // fall through\n case \"\\n\": case \"\\u2028\": case \"\\u2029\":\n ++this.curLine;\n this.lineStart = this.pos + 1;\n break\n }\n }\n this.raise(this.start, \"Unterminated template\");\n};\n\n// Used to read escaped characters\n\npp.readEscapedChar = function(inTemplate) {\n var ch = this.input.charCodeAt(++this.pos);\n ++this.pos;\n switch (ch) {\n case 110: return \"\\n\" // 'n' -> '\\n'\n case 114: return \"\\r\" // 'r' -> '\\r'\n case 120: return String.fromCharCode(this.readHexChar(2)) // 'x'\n case 117: return codePointToString(this.readCodePoint()) // 'u'\n case 116: return \"\\t\" // 't' -> '\\t'\n case 98: return \"\\b\" // 'b' -> '\\b'\n case 118: return \"\\u000b\" // 'v' -> '\\u000b'\n case 102: return \"\\f\" // 'f' -> '\\f'\n case 13: if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; } // '\\r\\n'\n case 10: // ' \\n'\n if (this.options.locations) { this.lineStart = this.pos; ++this.curLine; }\n return \"\"\n case 56:\n case 57:\n if (this.strict) {\n this.invalidStringToken(\n this.pos - 1,\n \"Invalid escape sequence\"\n );\n }\n if (inTemplate) {\n var codePos = this.pos - 1;\n\n this.invalidStringToken(\n codePos,\n \"Invalid escape sequence in template string\"\n );\n }\n default:\n if (ch >= 48 && ch <= 55) {\n var octalStr = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0];\n var octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n this.pos += octalStr.length - 1;\n ch = this.input.charCodeAt(this.pos);\n if ((octalStr !== \"0\" || ch === 56 || ch === 57) && (this.strict || inTemplate)) {\n this.invalidStringToken(\n this.pos - 1 - octalStr.length,\n inTemplate\n ? \"Octal literal in template string\"\n : \"Octal literal in strict mode\"\n );\n }\n return String.fromCharCode(octal)\n }\n if (isNewLine(ch)) {\n // Unicode new line characters after \\ get removed from output in both\n // template literals and strings\n if (this.options.locations) { this.lineStart = this.pos; ++this.curLine; }\n return \"\"\n }\n return String.fromCharCode(ch)\n }\n};\n\n// Used to read character escape sequences ('\\x', '\\u', '\\U').\n\npp.readHexChar = function(len) {\n var codePos = this.pos;\n var n = this.readInt(16, len);\n if (n === null) { this.invalidStringToken(codePos, \"Bad character escape sequence\"); }\n return n\n};\n\n// Read an identifier, and return it as a string. Sets `this.containsEsc`\n// to whether the word contained a '\\u' escape.\n//\n// Incrementally adds only escaped chars, adding other chunks as-is\n// as a micro-optimization.\n\npp.readWord1 = function() {\n this.containsEsc = false;\n var word = \"\", first = true, chunkStart = this.pos;\n var astral = this.options.ecmaVersion >= 6;\n while (this.pos < this.input.length) {\n var ch = this.fullCharCodeAtPos();\n if (isIdentifierChar(ch, astral)) {\n this.pos += ch <= 0xffff ? 1 : 2;\n } else if (ch === 92) { // \"\\\"\n this.containsEsc = true;\n word += this.input.slice(chunkStart, this.pos);\n var escStart = this.pos;\n if (this.input.charCodeAt(++this.pos) !== 117) // \"u\"\n { this.invalidStringToken(this.pos, \"Expecting Unicode escape sequence \\\\uXXXX\"); }\n ++this.pos;\n var esc = this.readCodePoint();\n if (!(first ? isIdentifierStart : isIdentifierChar)(esc, astral))\n { this.invalidStringToken(escStart, \"Invalid Unicode escape\"); }\n word += codePointToString(esc);\n chunkStart = this.pos;\n } else {\n break\n }\n first = false;\n }\n return word + this.input.slice(chunkStart, this.pos)\n};\n\n// Read an identifier or keyword token. Will check for reserved\n// words when necessary.\n\npp.readWord = function() {\n var word = this.readWord1();\n var type = types$1.name;\n if (this.keywords.test(word)) {\n type = keywords[word];\n }\n return this.finishToken(type, word)\n};\n\n// Acorn is a tiny, fast JavaScript parser written in JavaScript.\n//\n// Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and\n// various contributors and released under an MIT license.\n//\n// Git repositories for Acorn are available at\n//\n// http://marijnhaverbeke.nl/git/acorn\n// https://github.com/acornjs/acorn.git\n//\n// Please use the [github bug tracker][ghbt] to report issues.\n//\n// [ghbt]: https://github.com/acornjs/acorn/issues\n\n\nvar version = \"8.16.0\";\n\nParser.acorn = {\n Parser: Parser,\n version: version,\n defaultOptions: defaultOptions,\n Position: Position,\n SourceLocation: SourceLocation,\n getLineInfo: getLineInfo,\n Node: Node,\n TokenType: TokenType,\n tokTypes: types$1,\n keywordTypes: keywords,\n TokContext: TokContext,\n tokContexts: types,\n isIdentifierChar: isIdentifierChar,\n isIdentifierStart: isIdentifierStart,\n Token: Token,\n isNewLine: isNewLine,\n lineBreak: lineBreak,\n lineBreakG: lineBreakG,\n nonASCIIwhitespace: nonASCIIwhitespace\n};\n\n// The main exported interface (under `self.acorn` when in the\n// browser) is a `parse` function that takes a code string and returns\n// an abstract syntax tree as specified by the [ESTree spec][estree].\n//\n// [estree]: https://github.com/estree/estree\n\nfunction parse(input, options) {\n return Parser.parse(input, options)\n}\n\n// This function tries to parse a single expression at a given\n// offset in a string. Useful for parsing mixed-language formats\n// that embed JavaScript expressions.\n\nfunction parseExpressionAt(input, pos, options) {\n return Parser.parseExpressionAt(input, pos, options)\n}\n\n// Acorn is organized as a tokenizer and a recursive-descent parser.\n// The `tokenizer` export provides an interface to the tokenizer.\n\nfunction tokenizer(input, options) {\n return Parser.tokenizer(input, options)\n}\n\nexport { Node, Parser, Position, SourceLocation, TokContext, Token, TokenType, defaultOptions, getLineInfo, isIdentifierChar, isIdentifierStart, isNewLine, keywords as keywordTypes, lineBreak, lineBreakG, nonASCIIwhitespace, parse, parseExpressionAt, types as tokContexts, types$1 as tokTypes, tokenizer, version };\n","import { z } from \"zod\";\nimport { Buffer } from \"buffer\";\nimport { PDFName } from \"@pdfme/pdf-lib\";\nimport * as acorn from \"acorn\";\n//#region src/version.ts\nvar PDFME_VERSION = \"6.1.8\";\n//#endregion\n//#region src/pageSize.ts\nvar PAGE_SIZE_PRESETS = {\n\tA3: {\n\t\twidth: 297,\n\t\theight: 420\n\t},\n\tA4: {\n\t\twidth: 210,\n\t\theight: 297\n\t},\n\tA5: {\n\t\twidth: 148,\n\t\theight: 210\n\t},\n\tA6: {\n\t\twidth: 105,\n\t\theight: 148\n\t},\n\tB4: {\n\t\twidth: 250,\n\t\theight: 353\n\t},\n\tB5: {\n\t\twidth: 176,\n\t\theight: 250\n\t},\n\tB6: {\n\t\twidth: 125,\n\t\theight: 176\n\t},\n\tLetter: {\n\t\twidth: 215.9,\n\t\theight: 279.4\n\t},\n\tLegal: {\n\t\twidth: 215.9,\n\t\theight: 355.6\n\t},\n\tTabloid: {\n\t\twidth: 279.4,\n\t\theight: 431.8\n\t}\n};\nvar resolvePageSize = (size = \"A4\", orientation = \"portrait\") => {\n\tconst resolved = typeof size === \"string\" ? PAGE_SIZE_PRESETS[size] : {\n\t\twidth: size.width,\n\t\theight: size.height\n\t};\n\tif (!resolved) throw new Error(`@pdfme/common: unknown page size preset \"${String(size)}\"`);\n\tif (orientation === \"landscape\") return {\n\t\twidth: resolved.height,\n\t\theight: resolved.width\n\t};\n\treturn {\n\t\twidth: resolved.width,\n\t\theight: resolved.height\n\t};\n};\nvar detectPaperSize = (width, height, tolerance = 2) => {\n\tconst entries = Object.entries(PAGE_SIZE_PRESETS);\n\tfor (const [name, size] of entries) if (Math.abs(width - size.width) <= tolerance && Math.abs(height - size.height) <= tolerance || Math.abs(width - size.height) <= tolerance && Math.abs(height - size.width) <= tolerance) return `${name} ${width < height ? \"portrait\" : \"landscape\"}`;\n\treturn null;\n};\n//#endregion\n//#region src/constants.ts\nvar PT_TO_PX_RATIO = 1.333;\nvar PT_TO_MM_RATIO = .3528;\nvar MM_TO_PT_RATIO = 2.8346;\nvar ZOOM = 3.7795275591;\n/**\n* Blank A4 PDF size.\n*/\nvar BLANK_A4_PDF = {\n\t...PAGE_SIZE_PRESETS.A4,\n\tpadding: [\n\t\t10,\n\t\t10,\n\t\t10,\n\t\t10\n\t]\n};\n/**\n* Base64 encoded PDF with custom A4 size.\n* PDF content: A4 page withouth any content.\n*/\nvar CUSTOM_A4_PDF = \"data:application/pdf;base64,JVBERi0xLjcKJeLjz9MKNSAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDM4Cj4+CnN0cmVhbQp4nCvkMlAwUDC1NNUzMVGwMDHUszRSKErlCtfiyuMK5AIAXQ8GCgplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL01lZGlhQm94IFswIDAgNTk1LjQ0IDg0MS45Ml0KL1Jlc291cmNlcyA8PAo+PgovQ29udGVudHMgNSAwIFIKL1BhcmVudCAyIDAgUgo+PgplbmRvYmoKMiAwIG9iago8PAovVHlwZSAvUGFnZXMKL0tpZHMgWzQgMCBSXQovQ291bnQgMQo+PgplbmRvYmoKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL3RyYXBwZWQgKGZhbHNlKQovQ3JlYXRvciAoU2VyaWYgQWZmaW5pdHkgRGVzaWduZXIgMS4xMC40KQovVGl0bGUgKFVudGl0bGVkLnBkZikKL0NyZWF0aW9uRGF0ZSAoRDoyMDIyMDEwNjE0MDg1OCswOScwMCcpCi9Qcm9kdWNlciAoaUxvdmVQREYpCi9Nb2REYXRlIChEOjIwMjIwMTA2MDUwOTA5WikKPj4KZW5kb2JqCjYgMCBvYmoKPDwKL1NpemUgNwovUm9vdCAxIDAgUgovSW5mbyAzIDAgUgovSUQgWzwyODhCM0VENTAyOEU0MDcyNERBNzNCOUE0Nzk4OUEwQT4gPEY1RkJGNjg4NkVERDZBQUNBNDRCNEZDRjBBRDUxRDlDPl0KL1R5cGUgL1hSZWYKL1cgWzEgMiAyXQovRmlsdGVyIC9GbGF0ZURlY29kZQovSW5kZXggWzAgN10KL0xlbmd0aCAzNgo+PgpzdHJlYW0KeJxjYGD4/5+RUZmBgZHhFZBgDAGxakAEP5BgEmFgAABlRwQJCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjUzMgolJUVPRgo=\";\n/**\n* @deprecated BLANK_PDF will be removed in a future version. Use BLANK_A4_PDF or CUSTOM_A4_PDF instead.\n*/\nvar BLANK_PDF = CUSTOM_A4_PDF;\nvar DEFAULT_FONT_NAME = \"Roboto\";\nvar DEFAULT_FONT_VALUE = \"data:font/ttf;base64,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G7EDGj5ZsCfcMDEA//8Aev/sBNwHGQImACsAAAEHAKIBpQFXABQAsABFWLALLxuxCx4+WbEnBPQwMf//AGD+VgPyBcICJgBLAAABBwCiATIAAAAUALAARViwAy8bsQMaPlmxLAH0MDH//wB6/fYE3AXEAiYAKwAAAAcBugHa/pf//wBg/lYD8gaTAiYASwAAAQcBzwErAFgAEwCwAEVYsAMvG7EDGj5ZsCrcMDEA//8AqQAABQgHQgImACwAAAEHAJ4A8QFCABQAsABFWLAHLxuxBx4+WbEQBvQwMf//AIwAAAPfB0ECJgBMAAABBwCeAB0BQQAJALARL7AU3DAxAP///7cAAAJ6By4CJgAtAAABBwCl/zwBRgAUALAARViwAy8bsQMePlmxBwT0MDH///+dAAACYAXqAiYAjQAAAQcApf8iAAIAFACwAEVYsAMvG7EDGj5ZsQcB9DAx////zAAAAmwG7wImAC0AAAEHAHD/PgFKABMAsABFWLACLxuxAh4+WbAF3DAxAP///7IAAAJSBasCJgCNAAABBwBw/yQABgATALAARViwAi8bsQIaPlmwBdwwMQD////sAAACQwcaAiYALQAAAQcAof9rAUMAEwCwAEVYsAIvG7ECHj5ZsAfcMDEA////0gAAAikF1wImAI0AAAEHAKH/UQAAABMAsABFWLACLxuxAho+WbAH3DAxAP//ABj+WAF4BbACJgAtAAAABgCk5gn////7/k8BaAXEAiYATQAAAAYApMkA//8AqQAAAYQHBAImAC0AAAEHAKIAHAFCABQAsABFWLACLxuxAh4+WbELBPQwMf//ALf/7AX5BbAAJgAtAAAABwAuAi0AAP//AI3+SwNKBcQAJgBNAAAABwBOAfEAAP//ADX/7ASCBzUCJgAuAAABBwCeAXwBNQAUALAARViwAC8bsQAePlmxFAb0MDH///+0/ksCOQXYAiYAnAAAAQcAnv8z/9gAFACwAEVYsA0vG7ENGj5ZsRIE9DAx//8Aqf5YBQUFsAImAC8AAAAHAboBlP75//8Ajf5FBAwGAAImAE8AAAAHAboBEf7m//8AoQAABBwHMQImADAAAAEHAHUAJgExABQAsABFWLAFLxuxBR4+WbEICPQwMf//AJMAAAI0B5YCJgBQAAABBwB1ABgBlgAUALAARViwAy8bsQMgPlmxBgn0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AHUBhwE2ABQAsABFWLAHLxuxBx4+WbEMCPQwMf//AFgAAAOzBgACJgBeAAABBwB1ASEAAAAUALAARViwBy8bsQcaPlmxDAn0MDH//wBWAAAEegb4AiYAPgAAAQcAogFuATYAFACwAEVYsAcvG7EHHj5ZsREE9DAx//8AWAAAA7MFwgImAF4AAAEHAKIBCAAAABQAsABFWLAHLxuxBxo+WbERAfQwMf//AFYAAAR6BzYCJgA+AAABBwCfAKYBNwAUALAARViwBy8bsQcePlmxDwb0MDH//wBYAAADswYAAiYAXgAAAQYAn0ABABQAsABFWLAHLxuxBxo+WbEPAfQwMf////IAAAdXB0ICJgCBAAABBwB1AskBQgAUALAARViwBi8bsQYePlmxFQj0MDH//wBO/+wGfAYBAiYAhgAAAQcAdQJ6AAEAFACwAEVYsB0vG7EdGj5ZsUAJ9DAx//8Adv+jBR0HgAImAIMAAAEHAHUB6QGAABQAsABFWLAQLxuxEB4+WbEsCPQwMf//AFv/egQ0BgACJgCJAAABBwB1ATcAAAAUALAARViwBC8bsQQaPlmxKQn0MDH//wAcAAAFHQY/AiYAJQAAAAYArgQA////KQAABEYGPwImACkAAAAHAK7+cgAA////NwAABQgGQQImACwAAAAHAK7+gAAC////PQAAAXcGQAImAC0AAAAHAK7+hgAB////5v/sBR0GPwAmADMUAAAHAK7/LwAA////FAAABR8GPwAmAD1kAAAHAK7+XQAA////6QAABN8GPwAmALoUAAAHAK7/MgAA////m//0Aq0GdAImAMMAAAEHAK//Kv/sAB0AsABFWLAMLxuxDBo+WbEYAfSwD9CwGBCwIdAwMQD//wAcAAAFHQWwAgYAJQAA//8AqQAABIgFsAIGACYAAP//AKkAAARGBbACBgApAAD//wBWAAAEegWwAgYAPgAA//8AqQAABQgFsAIGACwAAP//ALcAAAF3BbACBgAtAAD//wCpAAAFBQWwAgYALwAA//8AqQAABlIFsAIGADEAAP//AKkAAAUIBbACBgAyAAD//wB2/+wFCQXEAgYAMwAA//8AqQAABMAFsAIGADQAAP//ADEAAASXBbACBgA4AAD//wAPAAAEuwWwAgYAPQAA//8AOQAABM4FsAIGADwAAP///9UAAAJeBwcCJgAt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BH4AZAHwAIYBsQApBBEASARkAJgELgCGA8cASwcvAGoFOAAcBPsAqQU1AHcFPwCpBIwAqQRsAKkFcwB6BbQAqQItALcEagA1BQQAqQROAKkG/ACpBbQAqQWAAHYFDACpBYAAbQTtAKgEvwBQBMYAMQUwAIwFFwAcBxkAPQUEADkEzgAPBMoAVgIfAJIDSAAoAh8ACQNYAEADnAAEAnkAOQRaAG0EfQCMBDAAXASDAF8EPQBdAscAPAR9AGAEaACMAfEAjQHp/78EDgCNAfEAnAcDAIsEagCMBJAAWwR9AIwEjABfArUAjAQgAF8CnQAJBGkAiAPgACEGAwArA/cAKQPJABYD9wBYArUAQAHzAK8CtQATBXEAgwHzAIsEYABpBKYAWwW0AGkEMwAPAesAkwToAFoDWABlBkkAWwOTAJMDwQBmBG4AfwZKAFoDqgCOAv0AggRGAGEC7wBCAu8APgKCAHsEiACaA+kAQwIWAJMB+wB0Au8AegOjAHoDwABmBdwAVQY1AFAGOQBvA8kARAd6//IERABZBYAAdgS6AKYEwgCLBsEATgSwAH4EkQBHBIgAWwScAJUExwBfBZoAHQH6AJsEcwCaBE8AIgIpACIFiwCiBIgAkQehAGgHRABhAfwAoAWHAF0Cuf/kBX4AZQSSAFsFkACMBPMAiAID/7QENwBiA8QAqQONAI0DqwCOA2oAgQHxAI0CrQB5AioAMgPGAHsC/ABeAloAfgAA/KcAAP1vAAD8iwAA/V4AAPwnAAD9OAINALcECwBxAhcAkwRzALEFpAAfBXEAZwU+ADIEkQB4BbUAsgSRAEUFuwBNBYkAWgVSAHEEhQBkBL0AoAQCAC4EiABgBFAAYwQlAG0EiACRBI4AegKXAMMEbgAlA+wAZQTEACkEiACRBE0AZQSIAGAELABRBF0AjwWjAFcFmgBfBpcAegShAHkEQv/aBkgASgX/ACoFZAB7CJEAMQikALEGggA+BbQAsAULAKIGBAAyB0MAGwS/AFAFtACxBakALwUHAE0GLABTBdkArwV6AJYHhwCwB8AAsAYSABAG6wCyBQUAowVkAJMHJwC3BRgAWQRsAGEEkgCdA1sAmgTUAC4GIAAVBBAAWASeAJwEUgCcBKAALAXvAJ0EnQCcBJ4AnAPYACgFzQBkBL0AnARZAGcGeACcBp4AkQT3AB4GNgCdBFgAnQRNAGQGhwCdBGQALwRo/+gETQBnBskAJwbkAJwEif/9BJ4AnAcIAJwGKwCBBFb/3AcrALcF+ACZBNIAKARGAA8HCwDJBgsAvAbRAJMF4QCWCQQAtgfRAJsEIwBQA9sATAVxAGcEiwBbBQoAFgQDAC4FcQBnBIgAWwcBAJwGJAB+BwgAnAYrAIEFMgB1BEcAZAT9AHQAAPxnAAD8cQAA/WYAAP2kAAD6GwAA+iwGCQCxBO0AnARW/9wFGwCoBIkAjARjAKIDkACRBNsAsQQFAJEHogAbBmEAFQWaALIEuACcBQkAowR+AJoGjABEBYMAPgX/AKkE2QCcB88AqAW0AJEIMQCwBvQAkQXuAHEE0wBtBRgAOQQqACkHLAA0BVwAHwW8AJYElgBnBW8AlgRqAIMFbwCJBi8APwS9/94FCQCjBFoAmgX+AC8E7wAsBbIAsQSIAJEGEgCpBOwAnAdPAKkGPgCdBYcAXQSoAGgEqABpBLcAOgOrADsFLgA5BEAAKQT2AFcGlABZBuQAZAZWADYFKwAxBEkAUgQHAHkHwQBEBnUAPwf7AKkGoQCQBPYAdgQdAGUFrQAjBSAARgVkAJYGAgAvBPIALAMgAG8EFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAAQAAAADRAAAAAAAAAjQAJQI0ACUFQACiBj8AkAOlAA0BmQBgAZkAMAGXACQBmQBPAtQAaALbADwCwQAkBGkARgSPAFcCsgCKA8QAlAVaAJQBfgBSB6oARAJmAGwCZgBZA6MAOwLvADYDYAB6BKYAWwZVAB8GkACnCHYAqAXrAB8GKwCMBH4AXwXaAB8EIgAqBHQAIAVIAF0FTwAfBecAegPOAGgIOgCiBQEAZwUXAJgGJgBUBtcAZAbPAGMGagBZBI8AagWOAKkErwBFBJIAqATFAD8IOgBiAgz/sASCAGUEZACYBBEAPgQvAIUECAArAkwAtQKPAG4CAwBcBG4AHwSLADwG1AA8BtQAPAAAAAAIMwBbCDUAXALvAEIC7wB6Au8AUALvAD4C7wA2Au8AWwLvAFYC7wA6Au8ATwLvAEkDlgCPArUAngUkALIB/QCfA6QAgQAA/KQD7wBuA/P/XgQOAGkD9ABpA58AgQOeAIEC7wBQAu8ANgLvAFsC7wBWAu8AOgLvAE8C7wBJA6QAgwGRAGcB/P+2BH8AfgR/AHACBv+0AgT/tAH7AJsB+//6AfsAmwQgADsDeQBXAfsAAAI1ACUFXQAHBV0ABwSG/+IExgAxAp3/9AU4ABwFOAAcBTgAHAU4ABwFOAAcBTgAHAU4ABwFNQB3BIwAqQSMAKkEjACpBIwAqQIt/+ACLQCwAi3/6QIt/9UFtACpBYAAdgWAAHYFgAB2BYAAdgWAAHYFMACMBTAAjAUwAIwFMACMBM4ADwRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EMABcBD0AXQQ9AF0EPQBdBD0AXQH6/8YB+gCWAfr/zwH6/7sEagCMBJAAWwSQAFsEkABbBJAAWwSQAFsEaQCIBGkAiARpAIgEaQCIA8kAFgPJABYFOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FNQB3BDAAXAU1AHcEMABcBTUAdwQwAFwFNQB3BDAAXAU/AKkFGQBfBIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQVzAHoEfQBgBXMAegR9AGAFcwB6BH0AYAVzAHoEfQBgBbQAqQRoAIwCLf+3Afr/nQIt/8wB+v+yAi3/7AH6/9ICLQAYAfH/+wItAKkGlwC3A9oAjQRqADUCA/+0BQQAqQQOAI0ETgChAfEAkwROAKkB8QBXBE4AqQKHAJwETgCpAs0AnAW0AKkEagCMBbQAqQRqAIwFtACpBGoAjARq/7wFgAB2BJAAWwWAAHYEkABbBYAAdgSQAFsE7QCoArUAjATtAKgCtQBTBO0AqAK1AGMEvwBQBCAAXwS/AFAEIABfBL8AUAQgAF8EvwBQBCAAXwS/AFAEIABfBMYAMQKdAAkExgAxAp0ACQTGADECxQAJBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBxkAPQYDACsEzgAPA8kAFgTOAA8EygBWA/cAWATKAFYD9wBYBMoAVgP3AFgHev/yBsEATgWAAHYEiABbBTgAHASM/ykFtP83Ai3/PQWU/+YFMv8UBWb/6QKX/5sFOAAcBPsAqQSMAKkEygBWBbQAqQItALcFBACpBvwAqQW0AKkFgAB2BQwAqQTGADEEzgAPBQQAOQIt/9UEzgAPBIUAZARQAGMEiACRApcAwwRdAI8EcwCaBJAAWwSIAJoD4AAhA/cAKQKX/+UEXQCPBJAAWwRdAI8GlwB6BIwAqQRzALEEvwBQAi0AtwIt/9UEagA1BSQAsgUEAKkFBwBNBTgAHAT7AKkEcwCxBIwAqQW0ALEG/ACpBbQAqQWAAHYFtQCyBQwAqQU1AHcExgAxBQQAOQRaAG0EPQBdBJ4AnASQAFsEfQCMBDAAXAPJABYD9wApBD0AXQNbAJoEIABfAfEAjQH6/7sB6f+/BFIAnAPJABYHGQA9BgMAKwcZAD0GAwArBxkAPQYDACsEzgAPA8kAFgFlAGcCjwCIBB4AoAID/7QBmQAwBvwAqQcDAIsFOAAcBFoAbQSMAKkFtACxBD0AXQSeAJwFiQBaBZoAXwUKABYEA//7CFkAWwlJAHYEvwBQBBAAWAU1AHcEMABcBM4ADwQCAC4CLQC3B0MAGwYgABUCLQC3BTgAHARaAG0FOAAcBFoAbQd6//IGwQBOBIwAqQQ9AF0FhwBdBDcAYgQ3AGIHQwAbBiAAFQS/AFAEEABYBbQAsQSeAJwFtACxBJ4AnAWAAHYEkABbBXEAZwSLAFsFcQBnBIsAWwVkAJMETQBkBQcATQPJABYFBwBNA8kAFgUHAE0DyQAWBXoAlgRZAGcG6wCyBjYAnQSDAF8FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFr/ygU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQSM//AEPf+6BIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdAi0AtwH6AJsCLQCjAfEAhQWAAHYEkABbBYAAdgSQAFsFgAB2BJAAWwWAAEcEkP/EBYAAdgSQAFsFgAB2BJAAWwWAAHYEkABbBX4AZQSSAFsFfgBlBJIAWwV+AGUEkgBbBX4AZQSSAFsFfgBlBJIAWwUwAIwEaQCIBTAAjARpAIgFkACMBPMAiAWQAIwE8wCIBZAAjATzAIgFkACMBPMAiAWQAIwE8wCIBM4ADwPJABYEzgAPA8kAFgTOAA8DyQAWBKEAXwTGADED2AAoBXoAlgRZAGcEcwCxA1sAmgYvAD8Evf/eBGgAjAUF/9QFBf/UBHMAAwNb//wFOP/3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AYcBiQCJAe0B7gCMAfAB8ACOAfICBwCPAgwCEwClAhUCGACtAh0CIgCxAicCLwC3AjECMQDAAjMCMwDBAjUCNQDCAjcCNwDDAjkCQgDEAksCTQDOAk8CTwDRAlECUQDSAlMCUwDTAlUCVQDUAloCWgDVAlwCXADWAl4CXgDXAmACYADYAmICYgDZAmQCcADaAnICcgDnAnQCdADoAnYCdgDpAoECgQDqAoMCgwDrAoUChQDsApMCkwDtApUCmADuApoCmgDyApwCnADzAqICpwD0AqoCuQD6ArwCvAEKAsACwAELAsICwgEMAsYCxgENAskCygEOAswCzQEQAs8C1QESAtcC2QEZAtsC4AEcAuIC4wEiAuUC6AEkAu4C7wEoAvEC8QEqAvMC8wErAvUC+AEsAvsDAAEwAwIDAgE2AwYDBwE3AwwDDAE5Aw4DFwE6AxoDGwFEAx0DIAFGAycDKAFKAywDLAFMAy4DNAFNAzoDYgFUA2QDZAF9A2YDcwF+A3sDewGMA4wDkQGNA5MDkwGTA5cDmAGUA5sDmwGWA50DngGXA6ADoAGZA6IDogGaA7MDtwGbA7kDuQGgA7sDvAGhA74DvgGjA8IDxAGkA8YDxgGnA8gDygGoA8wDzAGrA84DzgGsA9AD1gGtA9gD2AG0A9sD2wG1A94D4gG2A+QD5AG7A+YD5gG8AAsAOP/YANL/2ADW/9gBOf/YAUX/2AKB/9gCg//YAoX/2ALd/9gDk//YA9v/2AAYADoAFAA7ABIAPQAWARkAFAIMABYCkwASApUAFgKXABYCpwAWArYAFgK5ABYC7wASAvEAEgLzABIC9QAWAwYAFAMOABYDjAAWA44AFgOQABYDogAWA94AFAPgABQD4gASAAEAE/8gANcAEP8WABL/FgAl/1YALv74ADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAJT/6wCZ/+sAm//qALL/VgC0/1YAu//rAL3/6ADI/+sAyf/rAMv/6gDSABQA1gAUAPf/6wED/+sBDf9WARj/6wEa/+gBHv/rASL/6wE5ABQBQv/rAUUAFAFg/+sBYf/rAWv/6wGG/xYBiv8WAY7/FgGP/xYB8v9WAfP/VgH0/1YB9f9WAfb/VgH3/1YB+P9WAg3/3gIO/94CD//eAhD/3gIR/94CEv/eAhP/3gIU/+sCFf/rAhb/6wIX/+sCGP/rAh7/6wIf/+sCIP/rAiH/6wIi/+sCI//qAiT/6gIl/+oCJv/qAif/6AIo/+gCKf9WAir/3gIr/1YCLP/eAi3/VgIu/94CMP/rAjL/6wI0/+sCNv/rAjj/6wI6/+sCPP/rAj7/6wJA/+sCQv/rAkT/6wJG/+sCSP/rAkr/6wJY/vgCbP/rAm7/6wJw/+sCgQAUAoMAFAKFABQCiP/qAor/6gKM/+oCjv/qApD/6gKS/+oClv/oAqL/VgKq/1YCuv/rAr7/6gLA/+sCwv/oAsX/6gLG/+sCx//qAs7++ALS/1YC3QAUAt//3gLg/+sC4v/rAuT/6wLl/+gC5//rAu7/6AL2/+gC/v9WAv//3gMC/+sDB//oAwj/6wMN/+sDD//oAxT/VgMV/94DFv9WAxf/3gMb/+sDHf/rAx7/6wMo/+sDKv/rAyz/6wMw/+gDMv/oAzT/6AM5/+sDOv9WAzv/3gM8/1YDPf/eAz7/VgM//94DQP9WA0H/3gNC/1YDQ//eA0T/VgNF/94DRv9WA0f/3gNI/1YDSf/eA0r/VgNL/94DTP9WA03/3gNO/1YDT//eA1D/VgNR/94DU//rA1X/6wNX/+sDWf/rA1v/6wNd/+sDX//rA2H/6wNn/+sDaf/rA2v/6wNt/+sDb//rA3H/6wNz/+sDdf/rA3f/6wN5/+sDe//rA33/6wN//+oDgf/qA4P/6gOF/+oDh//qA4n/6gOL/+oDjf/oA4//6AOR/+gDkwAUA7X/VgO2/94DuP/rA7z/6wPA/+oDxf/rA8f/6wPbABQD3//oA+H/6AAjADj/1QA6/+QAO//sAD3/3QDS/9UA1v/VARn/5AE5/9UBRf/VAgz/3QKB/9UCg//VAoX/1QKT/+wClf/dApf/3QKn/90Ctv/dArn/3QLd/9UC7//sAvH/7ALz/+wC9f/dAwb/5AMO/90DjP/dA47/3QOQ/90Dk//VA6L/3QPb/9UD3v/kA+D/5APi/+wAHQA4/7AAOv/tAD3/0ADS/7AA1v+wARn/7QE5/7ABRf+wAgz/0AKB/7ACg/+wAoX/sAKV/9ACl//QAqf/0AK2/9ACuf/QAt3/sAL1/9ADBv/tAw7/0AOM/9ADjv/QA5D/0AOT/7ADov/QA9v/sAPe/+0D4P/tABEALv/uADn/7gII/+4CCf/uAgr/7gIL/+4CWP/uAof/7gKJ/+4Ci//uAo3/7gKP/+4Ckf/uAs7/7gN+/+4DgP/uA93/7gBNAAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCU/+gAmf/oALv/6ADI/+gAyf/oAPf/6AED/+gBHv/oASL/6AFC/+gBYP/oAWH/6AFr/+gBhAAQAYUAEAGHABABiAAQAYkAEAIU/+gCFf/oAhb/6AIX/+gCGP/oAjD/6AIy/+gCNP/oAjb/6AI4/+gCOv/oAjz/6AI+/+gCQP/oAkL/6AJE/+gCRv/oAkj/6AJK/+gCuv/oAuD/6ALk/+gC5//oAvcAEAL4ABAC+wAQAwL/6AMI/+gDDf/oAxv/6AMd/+gDHv/oAyr/6AM5/+gDU//oA1X/6ANX/+gDWf/oA1v/6ANd/+gDX//oA2H/6AN1/+gDd//oA3n/6AN9/+gDuP/oA8X/6APH/+gAQABH/+wASP/sAEn/7ABL/+wAVf/sAJT/7ACZ/+wAu//sAMj/7ADJ/+wA9//sAQP/7AEe/+wBIv/sAUL/7AFg/+wBYf/sAWv/7AIU/+wCFf/sAhb/7AIX/+wCGP/sAjD/7AIy/+wCNP/sAjb/7AI4/+wCOv/sAjz/7AI+/+wCQP/sAkL/7AJE/+wCRv/sAkj/7AJK/+wCuv/sAuD/7ALk/+wC5//sAwL/7AMI/+wDDf/sAxv/7AMd/+wDHv/sAyr/7AM5/+wDU//sA1X/7ANX/+wDWf/sA1v/7ANd/+wDX//sA2H/7AN1/+wDd//sA3n/7AN9/+wDuP/sA8X/7APH/+wAGABT/+wBGP/sAh7/7AIf/+wCIP/sAiH/7AIi/+wCbP/sAm7/7AJw/+wCwP/sAsb/7ALi/+wDKP/sAyz/7ANn/+wDaf/sA2v/7ANt/+wDb//sA3H/7ANz/+wDe//sA7z/7AAGABD/hAAS/4QBhv+EAYr/hAGO/4QBj/+EABEALv/sADn/7AII/+wCCf/sAgr/7AIL/+wCWP/sAof/7AKJ/+wCi//sAo3/7AKP/+wCkf/sAs7/7AN+/+wDgP/sA93/7AAgAAb/8gAL//IAWv/zAF3/8wC9//MA9v/1ARr/8wGE//IBhf/yAYf/8gGI//IBif/yAif/8wIo//MClv/zAsL/8wLl//MC7v/zAvb/8wL3//IC+P/yAvv/8gMH//MDD//zAzD/8wMy//MDNP/zA43/8wOP//MDkf/zA9//8wPh//MAOwAn//MAK//zADP/8wA1//MAg//zAJP/8wCY//MAs//zAMQADQDT//MBCP/zARf/8wEb//MBHf/zAR//8wEh//MBQf/zAWr/8wH5//MCA//zAgT/8wIF//MCBv/zAgf/8wIv//MCMf/zAjP/8wI1//MCQ//zAkX/8wJH//MCSf/zAmv/8wJt//MCb//zAqD/8wKm//MCs//zAtn/8wLc//MDCf/zAwz/8wMn//MDKf/zAyv/8wNm//MDaP/zA2r/8wNs//MDbv/zA3D/8wNy//MDdP/zA3b/8wN4//MDev/zA3z/8wO7//MD1P/zADwAJ//mACv/5gAz/+YANf/mAIP/5gCT/+YAmP/mALP/5gC4/8IAxAAQANP/5gEI/+YBF//mARv/5gEd/+YBH//mASH/5gFB/+YBav/mAfn/5gID/+YCBP/mAgX/5gIG/+YCB//mAi//5gIx/+YCM//mAjX/5gJD/+YCRf/mAkf/5gJJ/+YCa//mAm3/5gJv/+YCoP/mAqb/5gKz/+YC2f/mAtz/5gMJ/+YDDP/mAyf/5gMp/+YDK//mA2b/5gNo/+YDav/mA2z/5gNu/+YDcP/mA3L/5gN0/+YDdv/mA3j/5gN6/+YDfP/mA7v/5gPU/+YAOAAl/+QAPP/SAD3/0wCy/+QAtP/kAMT/4gDa/9IBDf/kATP/0gFD/9IBXf/SAfL/5AHz/+QB9P/kAfX/5AH2/+QB9//kAfj/5AIM/9MCKf/kAiv/5AIt/+QClf/TApf/0wKi/+QCp//TAqr/5AK2/9MCt//SArn/0wLS/+QC3v/SAvX/0wL+/+QDDv/TAxH/0gMU/+QDFv/kAx//0gM6/+QDPP/kAz7/5ANA/+QDQv/kA0T/5ANG/+QDSP/kA0r/5ANM/+QDTv/kA1D/5AOM/9MDjv/TA5D/0wOi/9MDtf/kACgAEP8eABL/HgAl/80Asv/NALT/zQDH//IBDf/NAYb/HgGK/x4Bjv8eAY//HgHy/80B8//NAfT/zQH1/80B9v/NAff/zQH4/80CKf/NAiv/zQIt/80Cov/NAqr/zQLS/80C/v/NAxT/zQMW/80DOv/NAzz/zQM+/80DQP/NA0L/zQNE/80DRv/NA0j/zQNK/80DTP/NA07/zQNQ/80Dtf/NAAEAxAAOAAIAyv/tAPb/wAC6AEf/3ABI/9wASf/cAEv/3ABR//MAUv/zAFP/1gBU//MAVf/cAFn/3QBa/+EAXf/hAJT/3ACZ/9wAm//dALv/3AC9/+EAvv/uAL//5gDB//MAwv/rAMP/6QDF//AAxv/nAMj/3ADJ/9wAyv/jAMv/3QDM/84Azf/UAM7/2wDs//MA8P/zAPH/8wDz//MA9P/zAPX/8wD3/9wA+P/zAPr/8wD7//MA/v/zAQD/8wED/9wBBf/zARj/1gEa/+EBHv/cASL/3AEr//MBNv/zATz/8wE+//MBQv/cAVP/8wFV//MBV//zAVz/8wFg/9wBYf/cAWv/3AIU/9wCFf/cAhb/3AIX/9wCGP/cAh3/8wIe/9YCH//WAiD/1gIh/9YCIv/WAiP/3QIk/90CJf/dAib/3QIn/+ECKP/hAjD/3AIy/9wCNP/cAjb/3AI4/9wCOv/cAjz/3AI+/9wCQP/cAkL/3AJE/9wCRv/cAkj/3AJK/9wCZf/zAmf/8wJp//MCav/zAmz/1gJu/9YCcP/WAoj/3QKK/90CjP/dAo7/3QKQ/90Ckv/dApb/4QK6/9wCvP/zAr7/3QLA/9YCwv/hAsX/3QLG/9YCx//dAuD/3ALh//MC4v/WAuP/8wLk/9wC5f/hAuf/3ALo//MC7f/zAu7/4QL2/+EC/f/zAwL/3AMD//MDB//hAwj/3AMN/9wDD//hAxv/3AMd/9wDHv/cAyT/8wMm//MDKP/WAyr/3AMs/9YDMP/hAzL/4QM0/+EDOP/zAzn/3ANT/9wDVf/cA1f/3ANZ/9wDW//cA13/3ANf/9wDYf/cA2f/1gNp/9YDa//WA23/1gNv/9YDcf/WA3P/1gN1/9wDd//cA3n/3AN7/9YDff/cA3//3QOB/90Dg//dA4X/3QOH/90Dif/dA4v/3QON/+EDj//hA5H/4QOY//MDtP/zA7j/3AO8/9YDwP/dA8X/3APH/9wD0f/zA9P/8wPf/+ED4f/hAHwABv/aAAv/2gBH//AASP/wAEn/8ABL//AAVf/wAFn/7wBa/9wAXf/cAJT/8ACZ//AAm//vALv/8AC9/9wAwv/sAMQADwDG/+oAyP/wAMn/8ADK/8QAy//vAMz/5wD3//ABA//wARr/3AEe//ABIv/wAUL/8AFg//ABYf/wAWv/8AGE/9oBhf/aAYf/2gGI/9oBif/aAhT/8AIV//ACFv/wAhf/8AIY//ACI//vAiT/7wIl/+8CJv/vAif/3AIo/9wCMP/wAjL/8AI0//ACNv/wAjj/8AI6//ACPP/wAj7/8AJA//ACQv/wAkT/8AJG//ACSP/wAkr/8AKI/+8Civ/vAoz/7wKO/+8CkP/vApL/7wKW/9wCuv/wAr7/7wLC/9wCxf/vAsf/7wLg//AC5P/wAuX/3ALn//AC7v/cAvb/3AL3/9oC+P/aAvv/2gMC//ADB//cAwj/8AMN//ADD//cAxv/8AMd//ADHv/wAyr/8AMw/9wDMv/cAzT/3AM5//ADU//wA1X/8ANX//ADWf/wA1v/8ANd//ADX//wA2H/8AN1//ADd//wA3n/8AN9//ADf//vA4H/7wOD/+8Dhf/vA4f/7wOJ/+8Di//vA43/3AOP/9wDkf/cA7j/8APA/+8Dxf/wA8f/8APf/9wD4f/cADwABv+gAAv/oABK/+kAWf/xAFr/xQBd/8UAm//xAL3/xQDC/+4AxAAQAMb/7ADK/yAAy//xARr/xQGE/6ABhf+gAYf/oAGI/6ABif+gAiP/8QIk//ECJf/xAib/8QIn/8UCKP/FAoj/8QKK//ECjP/xAo7/8QKQ//ECkv/xApb/xQK+//ECwv/FAsX/8QLH//EC5f/FAu7/xQL2/8UC9/+gAvj/oAL7/6ADB//FAw//xQMw/8UDMv/FAzT/xQN///EDgf/xA4P/8QOF//EDh//xA4n/8QOL//EDjf/FA4//xQOR/8UDwP/xA9//xQPh/8UAQQBH/+cASP/nAEn/5wBL/+cAVf/nAJT/5wCZ/+cAu//nAMQADwDI/+cAyf/nAPf/5wED/+cBHv/nASL/5wFC/+cBYP/nAWH/5wFr/+cCFP/nAhX/5wIW/+cCF//nAhj/5wIw/+cCMv/nAjT/5wI2/+cCOP/nAjr/5wI8/+cCPv/nAkD/5wJC/+cCRP/nAkb/5wJI/+cCSv/nArr/5wLg/+cC5P/nAuf/5wMC/+cDCP/nAw3/5wMb/+cDHf/nAx7/5wMq/+cDOf/nA1P/5wNV/+cDV//nA1n/5wNb/+cDXf/nA1//5wNh/+cDdf/nA3f/5wN5/+cDff/nA7j/5wPF/+cDx//nAAUAyv/qAO3/7gD2/6sBOv/sAW3/7AABAPb/1QABAMoACwB7AAYADAALAAwAR//oAEj/6ABJ/+gASgAMAEv/6ABT/+oAVf/oAFoACwBdAAsAlP/oAJn/6AC7/+gAvQALAL7/7QDGAAsAyP/oAMn/6ADKAAwA9//oAQP/6AEY/+oBGgALAR7/6AEi/+gBQv/oAWD/6AFh/+gBa//oAYQADAGFAAwBhwAMAYgADAGJAAwCFP/oAhX/6AIW/+gCF//oAhj/6AIe/+oCH//qAiD/6gIh/+oCIv/qAicACwIoAAsCMP/oAjL/6AI0/+gCNv/oAjj/6AI6/+gCPP/oAj7/6AJA/+gCQv/oAkT/6AJG/+gCSP/oAkr/6AJs/+oCbv/qAnD/6gKWAAsCuv/oAsD/6gLCAAsCxv/qAuD/6ALi/+oC5P/oAuUACwLn/+gC7gALAvYACwL3AAwC+AAMAvsADAMC/+gDBwALAwj/6AMN/+gDDwALAxv/6AMd/+gDHv/oAyj/6gMq/+gDLP/qAzAACwMyAAsDNAALAzn/6ANT/+gDVf/oA1f/6ANZ/+gDW//oA13/6ANf/+gDYf/oA2f/6gNp/+oDa//qA23/6gNv/+oDcf/qA3P/6gN1/+gDd//oA3n/6AN7/+oDff/oA40ACwOPAAsDkQALA7j/6AO8/+oDxf/oA8f/6APfAAsD4QALAAEA9v/YAA4AXP/tAF7/7QDu/+0A9v+qATT/7QFE/+0BXv/tApn/7QKb/+0Cnf/tAub/7QMS/+0DIP/tA+X/7QANAFz/8gBe//IA7v/yATT/8gFE//IBXv/yApn/8gKb//ICnf/yAub/8gMS//IDIP/yA+X/8gAiAFr/9ABc//IAXf/0AF7/8wC9//QA7v/yARr/9AE0//IBRP/yAV7/8gIn//QCKP/0Apb/9AKZ//MCm//zAp3/8wLC//QC5f/0Aub/8gLu//QC9v/0Awf/9AMP//QDEv/yAyD/8gMw//QDMv/0AzT/9AON//QDj//0A5H/9APf//QD4f/0A+X/8wCMAAb/ygAL/8oAOP/SADr/1AA8//QAPf/TAFH/0QBS/9EAVP/RAFr/5gBc/+8AXf/mAL3/5gDB/9EA0v/SANb/0gDa//QA3v/tAOH/4QDm/9QA7P/RAO7/7wDw/9EA8f/RAPP/0QD0/9EA9f/RAPb/yQD4/9EA+v/RAPv/0QD+/9EBAP/RAQX/0QEJ/+UBGf/UARr/5gEg/+MBK//RATP/9AE0/+8BNv/RATn/0gE6/8QBPP/RAT7/0QFD//QBRP/vAUX/0gFH/+EBSf/hAVP/0QFV/9EBV//RAVz/0QFd//QBXv/vAWL/1AFj//UBZP/nAWz/0gFt/8kBhP/KAYX/ygGH/8oBiP/KAYn/ygIM/9MCHf/RAif/5gIo/+YCZf/RAmf/0QJp/9ECav/RAoH/0gKD/9IChf/SApX/0wKW/+YCl//TAqf/0wK2/9MCt//0Arn/0wK8/9ECwv/mAtH/7QLd/9IC3v/0AuH/0QLj/9EC5f/mAub/7wLo/9EC7f/RAu7/5gL1/9MC9v/mAvf/ygL4/8oC+//KAv3/0QMD/9EDBv/UAwf/5gMO/9MDD//mAxH/9AMS/+8DH//0AyD/7wMk/9EDJv/RAy//7QMw/+YDMf/tAzL/5gMz/+0DNP/mAzX/4QM4/9EDjP/TA43/5gOO/9MDj//mA5D/0wOR/+YDk//SA5X/4QOY/9EDov/TA7T/0QPR/9ED0//RA9v/0gPe/9QD3//mA+D/1APh/+YAKAA4/74AWv/vAF3/7wC9/+8A0v++ANb/vgDm/8kA9v/fAQn/7QEa/+8BIP/rATn/vgE6/98BRf++AUz/6QFj//UBbf/gAif/7wIo/+8Cgf++AoP/vgKF/74Clv/vAsL/7wLd/74C5f/vAu7/7wL2/+8DB//vAw//7wMw/+8DMv/vAzT/7wON/+8Dj//vA5H/7wOT/74D2/++A9//7wPh/+8APwA4/+YAOv/nADz/8gA9/+cAXP/xANL/5gDW/+YA2v/yAN7/7gDh/+gA5v/mAO7/8QD2/9ABGf/nATP/8gE0//EBOf/mATr/zgFD//IBRP/xAUX/5gFH/+gBSf/oAV3/8gFe//EBYv/nAWT/7QFs/+YBbf/QAgz/5wKB/+YCg//mAoX/5gKV/+cCl//nAqf/5wK2/+cCt//yArn/5wLR/+4C3f/mAt7/8gLm//EC9f/nAwb/5wMO/+cDEf/yAxL/8QMf//IDIP/xAy//7gMx/+4DM//uAzX/6AOM/+cDjv/nA5D/5wOT/+YDlf/oA6L/5wPb/+YD3v/nA+D/5wCUACUAEAAn/+gAK//oADP/6AA1/+gAOP/gADr/4AA9/98Ag//oAJP/6ACY/+gAsgAQALP/6AC0ABAA0v/gANP/6ADUABAA1v/gANkAFADdABAA4f/hAOb/4ADtABMA8gAQAPn/4AEEABABCP/oAQ0AEAEX/+gBGf/gARv/6AEd/+gBH//oASH/6AE5/+ABQf/oAUX/4AFH/+EBSP/gAUn/4QFK/+ABTf/hAVAAEAFRABABWP/pAWL/3wFk/94BZgAQAWr/6AFs/98Bbv/yAW8AEAFwABAB8gAQAfMAEAH0ABAB9QAQAfYAEAH3ABAB+AAQAfn/6AID/+gCBP/oAgX/6AIG/+gCB//oAgz/3wIpABACKwAQAi0AEAIv/+gCMf/oAjP/6AI1/+gCQ//oAkX/6AJH/+gCSf/oAmv/6AJt/+gCb//oAoH/4AKD/+AChf/gApX/3wKX/98CoP/oAqIAEAKm/+gCp//fAqoAEAKz/+gCtv/fArn/3wLSABAC2f/oAtz/6ALd/+AC9f/fAv4AEAMG/+ADCf/oAwz/6AMO/98DFAAQAxYAEAMn/+gDKf/oAyv/6AM1/+EDNv/gAzoAEAM8ABADPgAQA0AAEANCABADRAAQA0YAEANIABADSgAQA0wAEANOABADUAAQA2b/6ANo/+gDav/oA2z/6ANu/+gDcP/oA3L/6AN0/+gDdv/oA3j/6AN6/+gDfP/oA4z/3wOO/98DkP/fA5P/4AOV/+EDlv/gA6L/3wO1ABADu//oA9T/6APb/+AD3v/gA+D/4AA1ABv/8gA4//EAOv/0ADz/9AA9//AA0v/xANT/9QDW//EA2v/0AN3/9QDe//MA5v/xARn/9AEz//QBOf/xAUP/9AFF//EBUP/1AV3/9AFi//IBZP/yAWb/9QFs//IBb//1Agz/8AKB//ECg//xAoX/8QKV//ACl//wAqf/8AK2//ACt//0Arn/8ALR//MC3f/xAt7/9AL1//ADBv/0Aw7/8AMR//QDH//0Ay//8wMx//MDM//zA4z/8AOO//ADkP/wA5P/8QOi//AD2//xA97/9APg//QAagAlAA8AOP/mADr/5gA8AA4APf/mALIADwC0AA8A0v/mANQADgDW/+YA2QATANoADgDdAA4A3gALAOH/5QDm/+YA5//0AO0AEgDyAA8A9v/nAPn/6AEEAA8BDQAPARn/5gEzAA4BOf/mATr/5wFDAA4BRf/mAUf/5QFI/+gBSf/lAUr/6AFM/+QBUAAOAVEADwFdAA4BYv/mAWT/5gFmAA4BbP/mAW3/5wFvAA4BcAAPAfIADwHzAA8B9AAPAfUADwH2AA8B9wAPAfgADwIM/+YCKQAPAisADwItAA8Cgf/mAoP/5gKF/+YClf/mApf/5gKiAA8Cp//mAqoADwK2/+YCtwAOArn/5gLRAAsC0gAPAt3/5gLeAA4C9f/mAv4ADwMG/+YDDv/mAxEADgMUAA8DFgAPAx8ADgMvAAsDMQALAzMACwM1/+UDNv/oAzoADwM8AA8DPgAPA0AADwNCAA8DRAAPA0YADwNIAA8DSgAPA0wADwNOAA8DUAAPA4z/5gOO/+YDkP/mA5P/5gOV/+UDlv/oA6L/5gO1AA8D2//mA97/5gPg/+YAMQA4/+MAPP/lAD3/5ADS/+MA1P/lANb/4wDZ/+IA2v/lAN3/5QDe/+kA8v/qAQT/6gEz/+UBOf/jAUP/5QFF/+MBUP/lAVH/6gFd/+UBZv/lAWz/5AFv/+UBcP/qAgz/5AKB/+MCg//jAoX/4wKV/+QCl//kAqf/5AK2/+QCt//lArn/5ALR/+kC3f/jAt7/5QL1/+QDDv/kAxH/5QMf/+UDL//pAzH/6QMz/+kDjP/kA47/5AOQ/+QDk//jA6L/5APb/+MAJAA4/+IAPP/kANL/4gDU/+QA1v/iANn/4QDa/+QA3f/kAN7/6QDt/+QA8v/rAQT/6wEz/+QBOf/iAUP/5AFF/+IBUP/kAVH/6wFd/+QBZv/kAW//5AFw/+sCgf/iAoP/4gKF/+ICt//kAtH/6QLd/+IC3v/kAxH/5AMf/+QDL//pAzH/6QMz/+kDk//iA9v/4gAYADj/6wA9//MA0v/rANb/6wE5/+sBRf/rAgz/8wKB/+sCg//rAoX/6wKV//MCl//zAqf/8wK2//MCuf/zAt3/6wL1//MDDv/zA4z/8wOO//MDkP/zA5P/6wOi//MD2//rADkAUf/vAFL/7wBU/+8AXP/wAMH/7wDs/+8A7f/uAO7/8ADw/+8A8f/vAPP/7wD0/+8A9f/vAPb/7gD4/+8A+v/vAPv/7wD+/+8BAP/vAQX/7wEJ//QBIP/xASv/7wE0//ABNv/vATr/7wE8/+8BPv/vAUT/8AFT/+8BVf/vAVf/7wFc/+8BXv/wAW3/7wId/+8CZf/vAmf/7wJp/+8Cav/vArz/7wLh/+8C4//vAub/8ALo/+8C7f/vAv3/7wMD/+8DEv/wAyD/8AMk/+8DJv/vAzj/7wOY/+8DtP/vA9H/7wPT/+8AIwAG//IAC//yAFr/9QBd//UAvf/1APb/9AEJ//UBGv/1ATr/9QFt//UBhP/yAYX/8gGH//IBiP/yAYn/8gIn//UCKP/1Apb/9QLC//UC5f/1Au7/9QL2//UC9//yAvj/8gL7//IDB//1Aw//9QMw//UDMv/1AzT/9QON//UDj//1A5H/9QPf//UD4f/1AAoA7QAUAPb/7QD5/+0A/P/iATr/7QFI/+0BSv/tAW3/7QM2/+0Dlv/tAFkAR//wAEj/8ABJ//AAS//wAFP/6wBV//AAlP/wAJn/8AC7//AAyP/wAMn/8AD3//ABA//wARj/6wEc/+sBHv/wASL/8AFC//ABYP/wAWH/8AFr//ACFP/wAhX/8AIW//ACF//wAhj/8AIe/+sCH//rAiD/6wIh/+sCIv/rAjD/8AIy//ACNP/wAjb/8AI4//ACOv/wAjz/8AI+//ACQP/wAkL/8AJE//ACRv/wAkj/8AJK//ACbP/rAm7/6wJw/+sCuv/wAsD/6wLG/+sC4P/wAuL/6wLk//AC5//wAwL/8AMI//ADDf/wAxv/8AMd//ADHv/wAyj/6wMq//ADLP/rAzn/8ANT//ADVf/wA1f/8ANZ//ADW//wA13/8ANf//ADYf/wA2f/6wNp/+sDa//rA23/6wNv/+sDcf/rA3P/6wN1//ADd//wA3n/8AN7/+sDff/wA7j/8AO8/+sDxf/wA8f/8ACgAAYADQALAA0ARf/wAEf/sABI/7AASf+wAEoADQBL/7AAU//WAFX/sABaAAsAXQALAJT/sACZ/7AAu/+wAL0ACwC+/7AAx/+rAMj/wADJ/7AAzP/VAO3/qgDy/68A9/+wAQP/sAEE/68BGP/WARoACwEc/+IBHv+wASAADAEi/7ABQv+wAVH/rwFg/7ABYf+wAWMACwFlAAsBa/+wAXD/rwGEAA0BhQANAYcADQGIAA0BiQANAg3/8AIO//ACD//wAhD/8AIR//ACEv/wAhP/8AIU/7ACFf+wAhb/sAIX/7ACGP+wAh7/1gIf/9YCIP/WAiH/1gIi/9YCJwALAigACwIq//ACLP/wAi7/8AIw/7ACMv+wAjT/sAI2/7ACOP+wAjr/sAI8/7ACPv+wAkD/sAJC/7ACRP+wAkb/sAJI/7ACSv+wAmz/1gJu/9YCcP/WApYACwK6/7ACwP/WAsIACwLG/9YC3//wAuD/sALi/9YC5P+wAuUACwLn/7AC7gALAvYACwL3AA0C+AANAvsADQL///ADAv+wAwcACwMI/7ADDf+wAw8ACwMV//ADF//wAxv/sAMd/7ADHv+wAyj/1gMq/7ADLP/WAzAACwMyAAsDNAALAzn/sAM7//ADPf/wAz//8ANB//ADQ//wA0X/8ANH//ADSf/wA0v/8ANN//ADT//wA1H/8ANT/7ADVf+wA1f/sANZ/7ADW/+wA13/sANf/7ADYf+wA2f/1gNp/9YDa//WA23/1gNv/9YDcf/WA3P/1gN1/7ADd/+wA3n/sAN7/9YDff+wA40ACwOPAAsDkQALA7b/8AO4/7ADvP/WA8X/sAPH/7AD3wALA+EACwAOAO0AFADyABAA9v/wAPn/8AEBAAwBBAAQATr/8AFI//ABSv/mAVEAEAFt//ABcAAQAzb/8AOW//AATQBHAAwASAAMAEkADABLAAwAVQAMAJQADACZAAwAuwAMAMgADADJAAwA7QA6APIAGAD2/+MA9wAMAPn/9wEDAAwBBAAYAR4ADAEiAAwBOv/iAUIADAFI//cBSv/jAVEAGAFgAAwBYQAMAWsADAFt/+MBcAAYAhQADAIVAAwCFgAMAhcADAIYAAwCMAAMAjIADAI0AAwCNgAMAjgADAI6AAwCPAAMAj4ADAJAAAwCQgAMAkQADAJGAAwCSAAMAkoADAK6AAwC4AAMAuQADALnAAwDAgAMAwgADAMNAAwDGwAMAx0ADAMeAAwDKgAMAzb/9wM5AAwDUwAMA1UADANXAAwDWQAMA1sADANdAAwDXwAMA2EADAN1AAwDdwAMA3kADAN9AAwDlv/3A7gADAPFAAwDxwAMACIAWv/0AFz/8ABd//QAvf/0AO3/7wDu//AA8v/zAQT/8wEa//QBNP/wAUT/8AFR//MBXv/wAXD/8wIn//QCKP/0Apb/9ALC//QC5f/0Aub/8ALu//QC9v/0Awf/9AMP//QDEv/wAyD/8AMw//QDMv/0AzT/9AON//QDj//0A5H/9APf//QD4f/0AAoABv/WAAv/1gGE/9YBhf/WAYf/1gGI/9YBif/WAvf/1gL4/9YC+//WAAgA9v+6AQn/zwEg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AAAAHAAAABwABwAAAAAAAAAAABwAHAAAAAAAAAAAABwAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAADABsACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAHwAYAAAAAAAQABIACwAAAAsAAAALAAAAAAAAAAAAAAAAAAAAAAAAABAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAGAAQABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXABcAHgAXABcAFwAeAAAAAAAAAB4AHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAANAAAAAgACAAIAAgACAAIAAgARAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQAKAAoACgAKAAwABgAGAAYABgAGAAYABgAVAAgACAAIAAgAAAAAAAAAAAAEAAMAAwADAAMAAwAAAAAAAAAAAAkACQACAAYAAgAGAAIABgARABUAEQAVABEAFQARABUAAQAAAAUACAAFAAgABQAIAAUACAAFAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAWAAAAFgAAABYAAAAWAAAAAAAEAAAABAAAAAQABAABAAMAAQADAAEAAwAAABMAAAATAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAANAAAADQAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAABkAAAAMAAkADAAPAA4ADwAOAA8ADgAAAAAAAAAAAAIABQAAAAAAAQAMAAAAAAACABoABQAPAAAAAAALAAAAAAABABQADQAMABAAAAAMAAAAAAAEAAAAAAAAAAMAAAAJAAAAAAAAAAMAAAAAAAUAHwAAAAAAAAAKAAsACwAgAAIAGgAfAAUAAAAAAAAAAQAAABQAEQANABAABgAIAAAAAwAHABUACQASAAgAGAAAAAAAAAAAAAAACQAZAAAAGQAAABkAAAAMAAkAFwAXAAAAAAAXAAAABAACAAYABQAAAAgAAAAAAAAAGwAJAAAAAAAAAAAAEQAVAAwACQAAABAAEgAAAAIABgACAAYAAAAAAAUACAAAAAgACAAQABIAAAAAAAAAAAAAAAAAAQADAAAAAAAAAAMAAAAHACAACQAgAAkAIAAJAAAAAAAAAAAAAAACAAYAAgAGAAIABgACAAYAAgAGAAIABgACAAYAAgAGAAIABgACAAYAAgAGAAIABgAFAAgABQAIAAUACAAFAAgABQAIAAUACAAFAAgABQAIAAAAAAAAAAAAAQADAAEAAwABAAMAAQADAAEAAwABAAMAAQADAAAAAAAAAAAAAAAAAAAAAwAAAAAACgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwACQAMAAkADAAJAAAADQAAAAAAAAAfABgAAAAAAAQAAAAdAB8AAAALAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACAAYABQAAAAAAAAABAAMAAAATAAAAAAAAABoABwABAAAAAQAAAAAABAALAAAACwAAABYAAAAAAAQAAAAEAAEAFAAHAAAAEwAAAAAADQAAAAoAGwAJABsACQAZAAAADwAOAAEAAQAGA+AAEQAAAAAAAAAAABEAAAAAAAAAAAAVABgAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAACAAAAAAAcAAAAAAAAAAAAAgAAAAIAAAAOAAoACQAXABMADwALABAAAAAAAAAAAAAAAAAABwAAAAEAAQABAAAAAQAAAAAAAAAAAAAAAwADAAQAAwABAAAADAAAAAUACAAAABIACAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABAAAAAAAAAAIAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAIABgAAAAAAAAAAAAAAAAABAAAACAAAAAAAAAADAAAAAAAAAAAAAAAAAAEAAQAAAAUAAAAAAAAAAAAAAAAACgACABQAAAAKAAAAAAAAAA8AAAAAABQAGwAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAASAAAAAwADABYAAwADAAMAAAABAAMAGgADAAMAAAAAAAMAAAADAAAAAAABABYAAwAAAAAAAgAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAgAEABcACAACAAAAAgABAAIAAAACAAEAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAPABIAAAADAAAAAAAKAAAAAAADAAAAAwAAAAAAAgABAA8AEgAKAAAAGQAaAAAAAAAAAAAAAAAAAAAAFAAWAAAAAwAAAAMAAAADAAAAAAAAAAAAAwAPABIAAAABAAEAAAAAAAAAAAAUAAAAAAAAAAIAAQAAAAAAAAAUABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAAAARABEAFQARABEAEQAVAAAAAAAAABUAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAABgAGAAYABgAGAAYABgACAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgAJAAkACQAJAAsABwAHAAcABwAHAAcABwABAAEAAQABAAEAAAAAAAAAAAADAAQABAAEAAQABAAFAAUABQAFAAgACAAGAAcABgAHAAYABwACAAEAAgABAAIAAQACAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAgABAAIAAQACAAEAAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAA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\";\nvar Lang = z.enum([\n\t\"en\",\n\t\"zh\",\n\t\"ja\",\n\t\"ko\",\n\t\"ar\",\n\t\"th\",\n\t\"pl\",\n\t\"it\",\n\t\"de\",\n\t\"es\",\n\t\"fr\"\n]);\nz.object({\n\tcancel: z.string(),\n\tclose: z.string(),\n\tset: z.string(),\n\tclear: z.string(),\n\tfield: z.string(),\n\tfieldName: z.string(),\n\talign: z.string(),\n\twidth: z.string(),\n\topacity: z.string(),\n\theight: z.string(),\n\trotate: z.string(),\n\tedit: z.string(),\n\trequired: z.string(),\n\teditable: z.string(),\n\tplsInputName: z.string(),\n\tfieldMustUniq: z.string(),\n\tnotUniq: z.string(),\n\tnoKeyName: z.string(),\n\tfieldsList: z.string(),\n\teditField: z.string(),\n\ttype: z.string(),\n\terrorOccurred: z.string(),\n\terrorBulkUpdateFieldName: z.string(),\n\tcommitBulkUpdateFieldName: z.string(),\n\tbulkUpdateFieldName: z.string(),\n\taddPageAfter: z.string(),\n\tremovePage: z.string(),\n\tremovePageConfirm: z.string(),\n\tzoomIn: z.string(),\n\tzoomOut: z.string(),\n\tfitWidth: z.string(),\n\tfitHeight: z.string(),\n\t\"validation.uniqueName\": z.string(),\n\t\"validation.hexColor\": z.string(),\n\t\"validation.dateTimeFormat\": z.string(),\n\t\"validation.outOfBounds\": z.string(),\n\t\"schemas.color\": z.string(),\n\t\"schemas.borderWidth\": z.string(),\n\t\"schemas.borderColor\": z.string(),\n\t\"schemas.backgroundColor\": z.string(),\n\t\"schemas.textColor\": z.string(),\n\t\"schemas.bgColor\": z.string(),\n\t\"schemas.horizontal\": z.string(),\n\t\"schemas.vertical\": z.string(),\n\t\"schemas.left\": z.string(),\n\t\"schemas.center\": z.string(),\n\t\"schemas.right\": z.string(),\n\t\"schemas.top\": z.string(),\n\t\"schemas.middle\": z.string(),\n\t\"schemas.bottom\": z.string(),\n\t\"schemas.padding\": z.string(),\n\t\"schemas.text.fontName\": z.string(),\n\t\"schemas.text.size\": z.string(),\n\t\"schemas.text.spacing\": z.string(),\n\t\"schemas.text.textAlign\": z.string(),\n\t\"schemas.text.verticalAlign\": z.string(),\n\t\"schemas.text.lineHeight\": z.string(),\n\t\"schemas.text.min\": z.string(),\n\t\"schemas.text.max\": z.string(),\n\t\"schemas.text.fit\": z.string(),\n\t\"schemas.text.dynamicFontSize\": z.string(),\n\t\"schemas.text.overflow\": z.string(),\n\t\"schemas.text.overflowVisible\": z.string(),\n\t\"schemas.text.overflowExpand\": z.string(),\n\t\"schemas.text.format\": z.string(),\n\t\"schemas.text.plain\": z.string(),\n\t\"schemas.text.inlineMarkdown\": z.string(),\n\t\"schemas.text.markdownFonts\": z.string(),\n\t\"schemas.text.boldFont\": z.string(),\n\t\"schemas.text.italicFont\": z.string(),\n\t\"schemas.text.boldItalicFont\": z.string(),\n\t\"schemas.text.codeFont\": z.string(),\n\t\"schemas.text.variantFallback\": z.string(),\n\t\"schemas.text.synthetic\": z.string(),\n\t\"schemas.text.error\": z.string(),\n\t\"schemas.radius\": z.string(),\n\t\"schemas.mvt.typingInstructions\": z.string(),\n\t\"schemas.mvt.sampleField\": z.string(),\n\t\"schemas.mvt.variablesSampleData\": z.string(),\n\t\"schemas.mvt.placeholderDynamicVariable\": z.string(),\n\t\"schemas.barcodes.barColor\": z.string(),\n\t\"schemas.barcodes.includetext\": z.string(),\n\t\"schemas.table.alternateBackgroundColor\": z.string(),\n\t\"schemas.table.tableStyle\": z.string(),\n\t\"schemas.table.showHead\": z.string(),\n\t\"schemas.table.repeatHead\": z.string(),\n\t\"schemas.table.headStyle\": z.string(),\n\t\"schemas.table.bodyStyle\": z.string(),\n\t\"schemas.table.columnStyle\": z.string(),\n\t\"schemas.date.format\": z.string(),\n\t\"schemas.date.locale\": z.string(),\n\t\"schemas.select.options\": z.string(),\n\t\"schemas.select.optionPlaceholder\": z.string(),\n\t\"schemas.radioGroup.groupName\": z.string(),\n\t\"schemas.list.listStyle\": z.string(),\n\t\"schemas.list.bullet\": z.string(),\n\t\"schemas.list.ordered\": z.string(),\n\t\"schemas.list.markerWidth\": z.string(),\n\t\"schemas.list.markerGap\": z.string(),\n\t\"schemas.list.indentSize\": z.string(),\n\t\"schemas.list.itemSpacing\": z.string(),\n\t\"schemas.list.addItem\": z.string(),\n\t\"schemas.list.removeItem\": z.string(),\n\t\"schemas.list.indentItem\": z.string(),\n\t\"schemas.list.outdentItem\": z.string()\n});\nz.enum([\n\t\"viewer\",\n\t\"form\",\n\t\"designer\"\n]);\nvar ColorType = z.enum([\"rgb\", \"cmyk\"]).optional();\nz.object({\n\theight: z.number(),\n\twidth: z.number()\n});\nvar DynamicLayoutSplitRange = z.object({\n\tunit: z.string().min(1),\n\tstart: z.number(),\n\tend: z.number().optional()\n});\nvar Schema = z.object({\n\tname: z.string(),\n\ttype: z.string(),\n\tcontent: z.string().optional(),\n\tposition: z.object({\n\t\tx: z.number(),\n\t\ty: z.number()\n\t}),\n\twidth: z.number(),\n\theight: z.number(),\n\trotate: z.number().optional(),\n\topacity: z.number().optional(),\n\treadOnly: z.boolean().optional(),\n\trequired: z.boolean().optional(),\n\t__splitRange: DynamicLayoutSplitRange.optional(),\n\t__isSplit: z.boolean().optional()\n}).passthrough();\nvar SchemaForUIAdditionalInfo = z.object({ id: z.string() });\nSchema.merge(SchemaForUIAdditionalInfo);\nvar ArrayBufferSchema = z.any().refine((v) => v instanceof ArrayBuffer);\nvar Uint8ArraySchema = z.any().refine((v) => v instanceof Uint8Array && v.buffer instanceof ArrayBuffer);\nvar BlankPdf = z.object({\n\twidth: z.number(),\n\theight: z.number(),\n\tpadding: z.tuple([\n\t\tz.number(),\n\t\tz.number(),\n\t\tz.number(),\n\t\tz.number()\n\t]),\n\tstaticSchema: z.array(Schema).optional()\n});\nvar CustomPdf = z.union([\n\tz.string(),\n\tArrayBufferSchema,\n\tUint8ArraySchema\n]);\nvar BasePdf = z.union([CustomPdf, BlankPdf]);\nz.array(z.record(z.string(), Schema));\nvar SchemaPageArray = z.array(z.array(Schema));\nvar Template = z.object({\n\tschemas: SchemaPageArray,\n\tbasePdf: BasePdf,\n\tpdfmeVersion: z.string().optional()\n}).passthrough();\nvar Inputs = z.array(z.record(z.string(), z.any())).min(1);\nvar Font = z.record(z.string(), z.object({\n\tdata: z.union([\n\t\tz.string(),\n\t\tArrayBufferSchema,\n\t\tUint8ArraySchema\n\t]),\n\tfallback: z.boolean().optional(),\n\tsubset: z.boolean().optional()\n}));\nvar Plugin = z.object({\n\tui: z.any(),\n\tpdf: z.any(),\n\tpropPanel: z.object({\n\t\tschema: z.unknown(),\n\t\twidgets: z.record(z.string(), z.any()).optional(),\n\t\tdefaultSchema: Schema\n\t}),\n\ticon: z.string().optional()\n}).passthrough();\nvar CommonOptions = z.object({ font: Font.optional() }).passthrough();\nvar CommonProps = z.object({\n\ttemplate: Template,\n\toptions: CommonOptions.optional(),\n\tplugins: z.record(z.string(), Plugin).optional()\n});\nvar GeneratorOptions = CommonOptions.extend({\n\tcolorType: ColorType,\n\tauthor: z.string().optional(),\n\tbasePdfPassword: z.string().optional(),\n\tcreationDate: z.date().optional(),\n\tcreator: z.string().optional(),\n\tkeywords: z.array(z.string()).optional(),\n\tlang: Lang.optional(),\n\tmodificationDate: z.date().optional(),\n\tproducer: z.string().optional(),\n\tsubject: z.string().optional(),\n\ttitle: z.string().optional()\n});\nvar GenerateProps = CommonProps.extend({\n\tinputs: Inputs,\n\toptions: GeneratorOptions.optional()\n}).strict();\nvar UIOptions = CommonOptions.extend({\n\tlang: Lang.optional(),\n\tlabels: z.record(z.string(), z.string()).optional(),\n\ttheme: z.record(z.string(), z.unknown()).optional(),\n\ticons: z.record(z.string(), z.string()).optional(),\n\trequiredByDefault: z.boolean().optional(),\n\tmaxZoom: z.number().optional(),\n\tsidebarOpen: z.boolean().optional(),\n\tzoomLevel: z.number().optional()\n});\nvar HTMLElementSchema = z.any().refine((v) => v instanceof HTMLElement);\nvar UIProps = CommonProps.extend({\n\tdomContainer: HTMLElementSchema,\n\toptions: UIOptions.optional()\n});\nvar PreviewProps = UIProps.extend({ inputs: Inputs }).strict();\nvar DesignerProps = UIProps.extend({}).strict();\n//#endregion\n//#region src/helper.ts\nvar cloneDeep = (value) => structuredClone(value);\nvar uniq = (array) => Array.from(new Set(array));\nvar getFallbackFontName = (font) => {\n\tconst initial = \"\";\n\tconst fallbackFontName = Object.entries(font).reduce((acc, cur) => {\n\t\tconst [fontName, fontValue] = cur;\n\t\treturn !acc && fontValue.fallback ? fontName : acc;\n\t}, initial);\n\tif (fallbackFontName === initial) throw Error(`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.`);\n\treturn fallbackFontName;\n};\nvar getDefaultFont = () => ({ [DEFAULT_FONT_NAME]: {\n\tdata: b64toUint8Array(DEFAULT_FONT_VALUE),\n\tfallback: true\n} });\nvar mm2pt = (mm) => {\n\treturn parseFloat(String(mm)) * MM_TO_PT_RATIO;\n};\nvar pt2mm = (pt) => {\n\treturn pt * PT_TO_MM_RATIO;\n};\nvar pt2px = (pt) => {\n\treturn pt * PT_TO_PX_RATIO;\n};\nvar px2mm = (px) => {\n\treturn parseFloat(String(px)) * .26458333333333;\n};\nvar blob2Base64Pdf = (blob) => {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onloadend = () => {\n\t\t\tif (reader.result.startsWith(\"data:application/pdf;\")) resolve(reader.result);\n\t\t\telse reject(Error(\"[@pdfme/common] template.basePdf must be pdf data.\"));\n\t\t};\n\t\treader.readAsDataURL(blob);\n\t});\n};\nvar isHexValid = (hex) => {\n\treturn /^#(?:[A-Fa-f0-9]{3,4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/i.test(hex);\n};\n/**\n* Migrate from legacy keyed object format to array format\n* @param template Template\n*/\nvar migrateTemplate = (template) => {\n\tif (!template.schemas) return;\n\tif (Array.isArray(template.schemas) && template.schemas.length > 0 && !Array.isArray(template.schemas[0])) template.schemas = template.schemas.map((page) => Object.entries(page).map(([key, value]) => ({\n\t\t...value,\n\t\tname: key\n\t})));\n};\nvar getInputFromTemplate = (template) => {\n\tmigrateTemplate(template);\n\tconst input = {};\n\ttemplate.schemas.forEach((page) => {\n\t\tpage.forEach((schema) => {\n\t\t\tif (!schema.readOnly) input[schema.name] = schema.content || \"\";\n\t\t});\n\t});\n\treturn [input];\n};\nvar isUrlSafeToFetch = (urlString) => {\n\tlet parsed;\n\ttry {\n\t\tparsed = new URL(urlString);\n\t} catch {\n\t\treturn false;\n\t}\n\tif (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") return false;\n\tconst hostname = parsed.hostname.toLowerCase();\n\tif (hostname === \"localhost\" || hostname === \"0.0.0.0\" || hostname === \"[::1]\" || hostname === \"::1\") return false;\n\tconst bare = hostname.replace(/^\\[|\\]$/g, \"\");\n\tif (/^fe80:/i.test(bare)) return false;\n\tif (/^f[cd]/i.test(bare)) return false;\n\tconst ipv4MappedMatch = bare.match(/^::ffff:(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/i);\n\tif (ipv4MappedMatch) {\n\t\tconst a = Number(ipv4MappedMatch[1]);\n\t\tconst b = Number(ipv4MappedMatch[2]);\n\t\tif (a === 0 || a === 10 || a === 127) return false;\n\t\tif (a === 169 && b === 254) return false;\n\t\tif (a === 172 && b >= 16 && b <= 31) return false;\n\t\tif (a === 192 && b === 168) return false;\n\t}\n\tconst ipv4Match = hostname.match(/^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/);\n\tif (ipv4Match) {\n\t\tconst a = Number(ipv4Match[1]);\n\t\tconst b = Number(ipv4Match[2]);\n\t\tif (a === 0) return false;\n\t\tif (a === 10) return false;\n\t\tif (a === 127) return false;\n\t\tif (a === 169 && b === 254) return false;\n\t\tif (a === 172 && b >= 16 && b <= 31) return false;\n\t\tif (a === 192 && b === 168) return false;\n\t}\n\treturn true;\n};\nvar SAFE_LINK_URI_PROTOCOLS = new Set([\n\t\"http:\",\n\t\"https:\",\n\t\"mailto:\"\n]);\nvar INTERNAL_LINK_CACHE_KEY = \"pdfme-internal-link-cache\";\nvar normalizeSafeLinkUri = (uri) => {\n\tconst trimmed = uri.trim();\n\tif (!trimmed) return void 0;\n\tlet parsed;\n\ttry {\n\t\tparsed = new URL(trimmed);\n\t} catch {\n\t\treturn;\n\t}\n\treturn SAFE_LINK_URI_PROTOCOLS.has(parsed.protocol.toLowerCase()) ? trimmed : void 0;\n};\nvar getInternalLinkTarget = (href) => {\n\tconst trimmed = href.trim();\n\tif (!trimmed.startsWith(\"#\") || trimmed.length === 1) return void 0;\n\tlet target = trimmed.slice(1);\n\ttry {\n\t\ttarget = decodeURIComponent(target);\n\t} catch {}\n\ttarget = target.trim();\n\tif (!target || Array.from(target).some((char) => {\n\t\tconst code = char.charCodeAt(0);\n\t\treturn code < 32 || code === 127;\n\t})) return;\n\treturn target;\n};\nvar normalizeInternalLinkHref = (href) => {\n\tconst target = getInternalLinkTarget(href);\n\treturn target ? `#${target}` : void 0;\n};\nvar normalizeLinkHref = (href) => normalizeSafeLinkUri(href) ?? normalizeInternalLinkHref(href);\nvar getInternalLinkCache = (_cache) => {\n\tlet cache = _cache.get(INTERNAL_LINK_CACHE_KEY);\n\tif (!cache) {\n\t\tcache = {\n\t\t\tanchors: /* @__PURE__ */ new Map(),\n\t\t\tannotations: []\n\t\t};\n\t\t_cache.set(INTERNAL_LINK_CACHE_KEY, cache);\n\t}\n\treturn cache;\n};\nvar resetInternalLinkAnnotations = (_cache) => {\n\t_cache.set(INTERNAL_LINK_CACHE_KEY, {\n\t\tanchors: /* @__PURE__ */ new Map(),\n\t\tannotations: []\n\t});\n};\nvar registerInternalLinkAnchor = (arg) => {\n\tconst { _cache, name, page, x, y } = arg;\n\tif (!name) return;\n\tconst cache = getInternalLinkCache(_cache);\n\tconst anchors = cache.anchors.get(name) ?? [];\n\tanchors.push({\n\t\tname,\n\t\tpage,\n\t\tx,\n\t\ty\n\t});\n\tcache.anchors.set(name, anchors);\n};\nvar registerInternalLinkAnnotation = (arg) => {\n\tconst { _cache, page, targetName, rect, borderWidth } = arg;\n\tif (!targetName || rect.width <= 0 || rect.height <= 0) return;\n\tgetInternalLinkCache(_cache).annotations.push({\n\t\tpage,\n\t\ttargetName,\n\t\trect,\n\t\tborderWidth\n\t});\n};\nvar addGoToLinkAnnotation = (arg) => {\n\tconst { pdfDoc, page, target, rect, borderWidth = 0 } = arg;\n\tif (rect.width <= 0 || rect.height <= 0) return;\n\tconst annotationRef = pdfDoc.context.register(pdfDoc.context.obj({\n\t\tType: PDFName.of(\"Annot\"),\n\t\tSubtype: PDFName.of(\"Link\"),\n\t\tRect: [\n\t\t\trect.x,\n\t\t\trect.y,\n\t\t\trect.x + rect.width,\n\t\t\trect.y + rect.height\n\t\t],\n\t\tBorder: [\n\t\t\t0,\n\t\t\t0,\n\t\t\tborderWidth\n\t\t],\n\t\tA: {\n\t\t\tType: PDFName.of(\"Action\"),\n\t\t\tS: PDFName.of(\"GoTo\"),\n\t\t\tD: [\n\t\t\t\ttarget.page.ref,\n\t\t\t\tPDFName.of(\"XYZ\"),\n\t\t\t\ttarget.x,\n\t\t\t\ttarget.y,\n\t\t\t\tnull\n\t\t\t]\n\t\t}\n\t}));\n\tpage.node.addAnnot(annotationRef);\n};\nvar applyInternalLinkAnnotations = (arg) => {\n\tconst { _cache, pdfDoc } = arg;\n\tconst cache = getInternalLinkCache(_cache);\n\tcache.annotations.forEach((annotation) => {\n\t\tconst anchors = cache.anchors.get(annotation.targetName) ?? [];\n\t\tif (anchors.length === 0) throw new Error(`[@pdfme/generator] Internal link target \"#${annotation.targetName}\" was not found.`);\n\t\tif (anchors.length > 1) throw new Error(`[@pdfme/generator] Internal link target \"#${annotation.targetName}\" is ambiguous because multiple schemas use that name.`);\n\t\taddGoToLinkAnnotation({\n\t\t\tpdfDoc,\n\t\t\tpage: annotation.page,\n\t\t\ttarget: anchors[0],\n\t\t\trect: annotation.rect,\n\t\t\tborderWidth: annotation.borderWidth\n\t\t});\n\t});\n\tresetInternalLinkAnnotations(_cache);\n};\nvar getB64BasePdf = async (customPdf) => {\n\tif (typeof customPdf === \"string\" && !customPdf.startsWith(\"data:application/pdf;\") && typeof window !== \"undefined\") {\n\t\tif (!isUrlSafeToFetch(customPdf)) throw Error(\"[@pdfme/common] Invalid or unsafe URL for basePdf. Only http: and https: URLs pointing to public hosts are allowed.\");\n\t\treturn blob2Base64Pdf(await (await fetch(customPdf)).blob());\n\t}\n\tif (typeof customPdf === \"string\") return customPdf;\n\tconst uint8Array = customPdf instanceof Uint8Array ? customPdf : new Uint8Array(customPdf);\n\treturn \"data:application/pdf;base64,\" + Buffer.from(uint8Array).toString(\"base64\");\n};\nvar isBlankPdf = (basePdf) => BlankPdf.safeParse(basePdf).success;\nvar getByteString = (base64) => Buffer.from(base64, \"base64\").toString(\"binary\");\nvar b64toUint8Array = (base64) => {\n\tconst byteString = getByteString(base64.split(\";base64,\")[1] ? base64.split(\";base64,\")[1] : base64);\n\tconst unit8arr = new Uint8Array(byteString.length);\n\tfor (let i = 0; i < byteString.length; i += 1) unit8arr[i] = byteString.charCodeAt(i);\n\treturn unit8arr;\n};\nvar getFontNamesInSchemas = (schemas) => uniq(schemas.map((p) => p.map((v) => v.fontName ?? \"\")).reduce((acc, cur) => acc.concat(cur), []).filter(Boolean));\nvar checkFont = (arg) => {\n\tconst { font, template: { schemas } } = arg;\n\tconst fallbackFontNum = Object.values(font).reduce((acc, cur) => cur.fallback ? acc + 1 : acc, 0);\n\tif (fallbackFontNum === 0) throw Error(`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.\nCheck this document: https://pdfme.com/docs/custom-fonts#about-font-type`);\n\tif (fallbackFontNum > 1) throw Error(`[@pdfme/common] ${fallbackFontNum} fallback flags found in font. true fallback flag must be only one.\nCheck this document: https://pdfme.com/docs/custom-fonts#about-font-type`);\n\tconst fontNamesInSchemas = getFontNamesInSchemas(schemas);\n\tconst fontNames = Object.keys(font);\n\tif (fontNamesInSchemas.some((f) => !fontNames.includes(f))) throw Error(`[@pdfme/common] ${fontNamesInSchemas.filter((f) => !fontNames.includes(f)).join()} of template.schemas is not found in font.\nCheck this document: https://pdfme.com/docs/custom-fonts`);\n};\nvar checkPlugins = (arg) => {\n\tconst { plugins, template: { schemas } } = arg;\n\tconst allSchemaTypes = uniq(schemas.map((p) => p.map((v) => v.type)).flat());\n\tconst pluginsSchemaTypes = Object.values(plugins).map((p) => p ? p.propPanel.defaultSchema.type : void 0);\n\tif (allSchemaTypes.some((s) => !pluginsSchemaTypes.includes(s))) throw Error(`[@pdfme/common] ${allSchemaTypes.filter((s) => !pluginsSchemaTypes.includes(s)).join()} of template.schemas is not found in plugins.`);\n};\nvar checkProps = (data, zodSchema) => {\n\ttry {\n\t\tzodSchema.parse(data);\n\t} catch (e) {\n\t\tif (e instanceof z.ZodError) {\n\t\t\tconst messages = e.issues.map((issue) => `ERROR POSITION: ${issue.path.join(\".\")}\nERROR MESSAGE: ${issue.message}\n--------------------------`);\n\t\t\tthrow Error(`[@pdfme/common] Invalid argument:\n--------------------------\n${messages.join(\"\\n\")}`);\n\t\t} else throw Error(`[@pdfme/common] Unexpected parsing error: ${e instanceof Error ? e.message : String(e)}`);\n\t}\n\tif (data && typeof data === \"object\" && \"template\" in data && \"options\" in data) {\n\t\tconst { template, options } = data;\n\t\tif (options && options.font) checkFont({\n\t\t\tfont: options.font,\n\t\t\ttemplate\n\t\t});\n\t}\n\tif (data && typeof data === \"object\" && \"template\" in data && \"plugins\" in data) {\n\t\tconst { template, plugins } = data;\n\t\tif (plugins) checkPlugins({\n\t\t\tplugins,\n\t\t\ttemplate\n\t\t});\n\t}\n};\nvar checkInputs = (data) => checkProps(data, Inputs);\nvar checkUIOptions = (data) => checkProps(data, UIOptions);\nvar checkPreviewProps = (data) => checkProps(data, PreviewProps);\nvar checkDesignerProps = (data) => checkProps(data, DesignerProps);\nvar checkUIProps = (data) => {\n\tif (typeof data === \"object\" && data !== null && \"template\" in data) migrateTemplate(data.template);\n\tcheckProps(data, UIProps);\n};\nvar checkTemplate = (template) => {\n\tmigrateTemplate(template);\n\tcheckProps(template, Template);\n};\nvar checkGenerateProps = (data) => {\n\tif (typeof data === \"object\" && data !== null && \"template\" in data) migrateTemplate(data.template);\n\tcheckProps(data, GenerateProps);\n};\n//#endregion\n//#region src/expression.ts\nvar expressionCache = /* @__PURE__ */ new Map();\n/**\n* Parse each string value in `data` as JSON, falling back to the original\n* string on failure. Previously memoized via a module-level `parseDataCache`\n* Map keyed by `JSON.stringify(data)`, but that was a severe memory leak:\n* - Cache was never evicted.\n* - Key was a multi-MB string whenever `data` included schema.content with\n* base64 (e.g. image schemas) or inputs containing base64 values. Every\n* unique inputs state pinned its own multi-MB key for the app lifetime.\n* Parsing is O(fields) and cheap; removing the cache is strictly a win.\n*/\nvar parseData = (data) => {\n\treturn Object.fromEntries(Object.entries(data).map(([key, value]) => {\n\t\tif (typeof value === \"string\") try {\n\t\t\treturn [key, JSON.parse(value)];\n\t\t} catch {\n\t\t\treturn [key, value];\n\t\t}\n\t\treturn [key, value];\n\t}));\n};\nvar padZero = (num) => String(num).padStart(2, \"0\");\nvar formatDate = (date) => `${date.getFullYear()}/${padZero(date.getMonth() + 1)}/${padZero(date.getDate())}`;\nvar formatDateTime = (date) => `${formatDate(date)} ${padZero(date.getHours())}:${padZero(date.getMinutes())}`;\nvar safeAssign = (target, ...sources) => {\n\tif (target == null) throw new TypeError(\"Cannot convert undefined or null to object\");\n\tconst to = { ...target };\n\tfor (const source of sources) if (source != null) for (const key in source) {\n\t\tif (key === \"__proto__\" || key === \"constructor\" || key === \"prototype\") continue;\n\t\tif (Object.prototype.hasOwnProperty.call(source, key)) to[key] = source[key];\n\t}\n\treturn to;\n};\nvar safeObject = {\n\tkeys: Object.keys,\n\tvalues: Object.values,\n\tentries: Object.entries,\n\tfromEntries: Object.fromEntries,\n\tis: Object.is,\n\thasOwnProperty: Object.hasOwnProperty,\n\tassign: safeAssign\n};\nvar allowedGlobals = {\n\tMath,\n\tString,\n\tNumber,\n\tBoolean,\n\tArray,\n\tObject: safeObject,\n\tDate,\n\tJSON,\n\tisNaN,\n\tparseFloat,\n\tparseInt,\n\tdecodeURI,\n\tdecodeURIComponent,\n\tencodeURI,\n\tencodeURIComponent\n};\nvar validateAST = (node) => {\n\tswitch (node.type) {\n\t\tcase \"Literal\":\n\t\tcase \"Identifier\": break;\n\t\tcase \"BinaryExpression\":\n\t\tcase \"LogicalExpression\": {\n\t\t\tconst binaryNode = node;\n\t\t\tvalidateAST(binaryNode.left);\n\t\t\tvalidateAST(binaryNode.right);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"UnaryExpression\":\n\t\t\tvalidateAST(node.argument);\n\t\t\tbreak;\n\t\tcase \"ConditionalExpression\": {\n\t\t\tconst condNode = node;\n\t\t\tvalidateAST(condNode.test);\n\t\t\tvalidateAST(condNode.consequent);\n\t\t\tvalidateAST(condNode.alternate);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"MemberExpression\": {\n\t\t\tconst memberNode = node;\n\t\t\tvalidateAST(memberNode.object);\n\t\t\tif (memberNode.computed) validateAST(memberNode.property);\n\t\t\telse {\n\t\t\t\tconst propName = memberNode.property.name;\n\t\t\t\tif ([\n\t\t\t\t\t\"constructor\",\n\t\t\t\t\t\"__proto__\",\n\t\t\t\t\t\"prototype\"\n\t\t\t\t].includes(propName)) throw new Error(\"Access to prohibited property\");\n\t\t\t\tif ([\n\t\t\t\t\t\"__defineGetter__\",\n\t\t\t\t\t\"__defineSetter__\",\n\t\t\t\t\t\"__lookupGetter__\",\n\t\t\t\t\t\"__lookupSetter__\"\n\t\t\t\t].includes(propName)) throw new Error(`Access to prohibited method: ${propName}`);\n\t\t\t\tif (typeof propName === \"string\" && [\"toLocaleString\", \"valueOf\"].includes(propName)) throw new Error(`Access to prohibited method: ${propName}`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase \"CallExpression\": {\n\t\t\tconst callNode = node;\n\t\t\tvalidateAST(callNode.callee);\n\t\t\tcallNode.arguments.forEach(validateAST);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"ArrayExpression\":\n\t\t\tnode.elements.forEach((elem) => {\n\t\t\t\tif (elem) validateAST(elem);\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"ObjectExpression\":\n\t\t\tnode.properties.forEach((prop) => {\n\t\t\t\tconst propNode = prop;\n\t\t\t\tvalidateAST(propNode.key);\n\t\t\t\tvalidateAST(propNode.value);\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"ArrowFunctionExpression\": {\n\t\t\tconst arrowFuncNode = node;\n\t\t\tarrowFuncNode.params.forEach((param) => {\n\t\t\t\tif (param.type !== \"Identifier\") throw new Error(\"Only identifier parameters are supported in arrow functions\");\n\t\t\t\tvalidateAST(param);\n\t\t\t});\n\t\t\tvalidateAST(arrowFuncNode.body);\n\t\t\tbreak;\n\t\t}\n\t\tdefault: throw new Error(`Unsupported syntax in placeholder: ${node.type}`);\n\t}\n};\nvar evaluateAST = (node, context) => {\n\tswitch (node.type) {\n\t\tcase \"Literal\": return node.value;\n\t\tcase \"Identifier\": {\n\t\t\tconst idNode = node;\n\t\t\tif (Object.prototype.hasOwnProperty.call(context, idNode.name)) return context[idNode.name];\n\t\t\telse if (Object.prototype.hasOwnProperty.call(allowedGlobals, idNode.name)) return allowedGlobals[idNode.name];\n\t\t\telse throw new Error(`Undefined variable: ${idNode.name}`);\n\t\t}\n\t\tcase \"BinaryExpression\": {\n\t\t\tconst binaryNode = node;\n\t\t\tconst left = evaluateAST(binaryNode.left, context);\n\t\t\tconst right = evaluateAST(binaryNode.right, context);\n\t\t\tswitch (binaryNode.operator) {\n\t\t\t\tcase \"+\": return left + right;\n\t\t\t\tcase \"-\": return left - right;\n\t\t\t\tcase \"*\": return left * right;\n\t\t\t\tcase \"/\": return left / right;\n\t\t\t\tcase \"%\": return left % right;\n\t\t\t\tcase \"**\": return left ** right;\n\t\t\t\tcase \"==\": return left == right;\n\t\t\t\tcase \"!=\": return left != right;\n\t\t\t\tcase \"===\": return left === right;\n\t\t\t\tcase \"!==\": return left !== right;\n\t\t\t\tcase \"<\": return left < right;\n\t\t\t\tcase \">\": return left > right;\n\t\t\t\tcase \"<=\": return left <= right;\n\t\t\t\tcase \">=\": return left >= right;\n\t\t\t\tdefault: throw new Error(`Unsupported operator: ${binaryNode.operator}`);\n\t\t\t}\n\t\t}\n\t\tcase \"LogicalExpression\": {\n\t\t\tconst logicalNode = node;\n\t\t\tconst leftLogical = evaluateAST(logicalNode.left, context);\n\t\t\tconst rightLogical = evaluateAST(logicalNode.right, context);\n\t\t\tswitch (logicalNode.operator) {\n\t\t\t\tcase \"&&\": return leftLogical && rightLogical;\n\t\t\t\tcase \"||\": return leftLogical || rightLogical;\n\t\t\t\tdefault: throw new Error(`Unsupported operator: ${logicalNode.operator}`);\n\t\t\t}\n\t\t}\n\t\tcase \"UnaryExpression\": {\n\t\t\tconst unaryNode = node;\n\t\t\tconst arg = evaluateAST(unaryNode.argument, context);\n\t\t\tswitch (unaryNode.operator) {\n\t\t\t\tcase \"+\": return +arg;\n\t\t\t\tcase \"-\": return -arg;\n\t\t\t\tcase \"!\": return !arg;\n\t\t\t\tdefault: throw new Error(`Unsupported operator: ${unaryNode.operator}`);\n\t\t\t}\n\t\t}\n\t\tcase \"ConditionalExpression\": {\n\t\t\tconst condNode = node;\n\t\t\treturn evaluateAST(condNode.test, context) ? evaluateAST(condNode.consequent, context) : evaluateAST(condNode.alternate, context);\n\t\t}\n\t\tcase \"MemberExpression\": {\n\t\t\tconst memberNode = node;\n\t\t\tconst obj = evaluateAST(memberNode.object, context);\n\t\t\tlet prop;\n\t\t\tif (memberNode.computed) prop = evaluateAST(memberNode.property, context);\n\t\t\telse prop = memberNode.property.name;\n\t\t\tif (typeof prop === \"string\" || typeof prop === \"number\") {\n\t\t\t\tif (typeof prop === \"string\" && [\n\t\t\t\t\t\"constructor\",\n\t\t\t\t\t\"__proto__\",\n\t\t\t\t\t\"prototype\"\n\t\t\t\t].includes(prop)) throw new Error(\"Access to prohibited property\");\n\t\t\t\tif (typeof prop === \"string\" && [\n\t\t\t\t\t\"__defineGetter__\",\n\t\t\t\t\t\"__defineSetter__\",\n\t\t\t\t\t\"__lookupGetter__\",\n\t\t\t\t\t\"__lookupSetter__\"\n\t\t\t\t].includes(prop)) throw new Error(`Access to prohibited method: ${prop}`);\n\t\t\t\treturn obj[prop];\n\t\t\t} else throw new Error(\"Invalid property access\");\n\t\t}\n\t\tcase \"CallExpression\": {\n\t\t\tconst callNode = node;\n\t\t\tconst callee = evaluateAST(callNode.callee, context);\n\t\t\tconst args = callNode.arguments.map((argNode) => evaluateAST(argNode, context));\n\t\t\tif (typeof callee === \"function\") if (callNode.callee.type === \"MemberExpression\") {\n\t\t\t\tconst memberExpr = callNode.callee;\n\t\t\t\tconst obj = evaluateAST(memberExpr.object, context);\n\t\t\t\tif (obj !== null && (typeof obj === \"object\" || typeof obj === \"number\" || typeof obj === \"string\" || typeof obj === \"boolean\")) return callee.call(obj, ...args);\n\t\t\t\telse throw new Error(\"Invalid object in member function call\");\n\t\t\t} else return callee(...args);\n\t\t\telse throw new Error(\"Attempted to call a non-function\");\n\t\t}\n\t\tcase \"ArrowFunctionExpression\": {\n\t\t\tconst arrowFuncNode = node;\n\t\t\tconst params = arrowFuncNode.params.map((param) => param.name);\n\t\t\tconst body = arrowFuncNode.body;\n\t\t\treturn (...args) => {\n\t\t\t\tconst newContext = { ...context };\n\t\t\t\tparams.forEach((param, index) => {\n\t\t\t\t\tnewContext[param] = args[index];\n\t\t\t\t});\n\t\t\t\treturn evaluateAST(body, newContext);\n\t\t\t};\n\t\t}\n\t\tcase \"ArrayExpression\": return node.elements.map((elem) => elem ? evaluateAST(elem, context) : null);\n\t\tcase \"ObjectExpression\": {\n\t\t\tconst objectNode = node;\n\t\t\tconst objResult = {};\n\t\t\tobjectNode.properties.forEach((prop) => {\n\t\t\t\tconst propNode = prop;\n\t\t\t\tlet key;\n\t\t\t\tif (propNode.key.type === \"Identifier\") key = propNode.key.name;\n\t\t\t\telse {\n\t\t\t\t\tconst evaluatedKey = evaluateAST(propNode.key, context);\n\t\t\t\t\tif (typeof evaluatedKey !== \"string\" && typeof evaluatedKey !== \"number\") throw new Error(\"Object property keys must be strings or numbers\");\n\t\t\t\t\tkey = String(evaluatedKey);\n\t\t\t\t}\n\t\t\t\tobjResult[key] = evaluateAST(propNode.value, context);\n\t\t\t});\n\t\t\treturn objResult;\n\t\t}\n\t\tdefault: throw new Error(`Unsupported syntax in placeholder: ${node.type}`);\n\t}\n};\nvar evaluatePlaceholders = (arg) => {\n\tconst { content, context } = arg;\n\tlet resultContent = \"\";\n\tlet index = 0;\n\twhile (index < content.length) {\n\t\tconst startIndex = content.indexOf(\"{\", index);\n\t\tif (startIndex === -1) {\n\t\t\tresultContent += content.slice(index);\n\t\t\tbreak;\n\t\t}\n\t\tresultContent += content.slice(index, startIndex);\n\t\tlet braceCount = 1;\n\t\tlet endIndex = startIndex + 1;\n\t\twhile (endIndex < content.length && braceCount > 0) {\n\t\t\tif (content[endIndex] === \"{\") braceCount++;\n\t\t\telse if (content[endIndex] === \"}\") braceCount--;\n\t\t\tendIndex++;\n\t\t}\n\t\tif (braceCount === 0) {\n\t\t\tconst code = content.slice(startIndex + 1, endIndex - 1).trim();\n\t\t\tif (expressionCache.has(code)) {\n\t\t\t\tconst evalFunc = expressionCache.get(code);\n\t\t\t\ttry {\n\t\t\t\t\tconst value = evalFunc(context);\n\t\t\t\t\tresultContent += String(value);\n\t\t\t\t} catch {\n\t\t\t\t\tresultContent += content.slice(startIndex, endIndex);\n\t\t\t\t}\n\t\t\t} else try {\n\t\t\t\tconst ast = acorn.parseExpressionAt(code, 0, { ecmaVersion: \"latest\" });\n\t\t\t\tvalidateAST(ast);\n\t\t\t\tconst evalFunc = (ctx) => evaluateAST(ast, ctx);\n\t\t\t\texpressionCache.set(code, evalFunc);\n\t\t\t\tconst value = evalFunc(context);\n\t\t\t\tresultContent += String(value);\n\t\t\t} catch {\n\t\t\t\tresultContent += content.slice(startIndex, endIndex);\n\t\t\t}\n\t\t\tindex = endIndex;\n\t\t} else throw new Error(\"Invalid placeholder\");\n\t}\n\treturn resultContent;\n};\nvar replacePlaceholders = (arg) => {\n\tconst { content, variables, schemas } = arg;\n\tif (!content || typeof content !== \"string\" || !content.includes(\"{\") || !content.includes(\"}\")) return content;\n\tconst date = /* @__PURE__ */ new Date();\n\tconst context = {\n\t\tdate: formatDate(date),\n\t\tdateTime: formatDateTime(date),\n\t\t...parseData({\n\t\t\t...Object.fromEntries(schemas.flat().map((schema) => [schema.name, schema.readOnly ? schema.content || \"\" : \"\"])),\n\t\t\t...variables\n\t\t})\n\t};\n\tObject.entries(context).forEach(([key, value]) => {\n\t\tif (typeof value === \"string\" && value.includes(\"{\") && value.includes(\"}\")) context[key] = evaluatePlaceholders({\n\t\t\tcontent: value,\n\t\t\tcontext\n\t\t});\n\t});\n\treturn evaluatePlaceholders({\n\t\tcontent,\n\t\tcontext\n\t});\n};\n//#endregion\n//#region src/dynamicTemplate.ts\n/** Floating point tolerance for comparisons */\nvar EPSILON = .01;\n/** Calculate the content height of a page (drawable area excluding padding) */\nvar getContentHeight = (basePdf) => basePdf.height - basePdf.padding[0] - basePdf.padding[2];\n/** Get the input value for a schema */\nvar getSchemaValue = (schema, input, schemas) => {\n\tif (!schema.readOnly) return input?.[schema.name] || \"\";\n\tif (schema.type !== \"text\" && schema.type !== \"multiVariableText\") return schema.content || \"\";\n\treturn replacePlaceholders({\n\t\tcontent: schema.content || \"\",\n\t\tvariables: input,\n\t\tschemas\n\t});\n};\n/**\n* Normalize schemas within a single page into layout items.\n* Returns items sorted by Y coordinate with their order preserved.\n*/\nfunction normalizePageSchemas(pageSchemas, paddingTop) {\n\tconst items = [];\n\tconst orderMap = /* @__PURE__ */ new Map();\n\tpageSchemas.forEach((schema, index) => {\n\t\tconst localY = Math.max(0, schema.position.y - paddingTop);\n\t\titems.push({\n\t\t\tschema: cloneDeep(schema),\n\t\t\tbaseY: localY,\n\t\t\theight: schema.height,\n\t\t\tdynamicLayout: { heights: [schema.height] }\n\t\t});\n\t\torderMap.set(schema.name, index);\n\t});\n\titems.sort((a, b) => {\n\t\tif (Math.abs(a.baseY - b.baseY) > EPSILON) return a.baseY - b.baseY;\n\t\treturn (orderMap.get(a.schema.name) ?? 0) - (orderMap.get(b.schema.name) ?? 0);\n\t});\n\treturn {\n\t\titems,\n\t\torderMap\n\t};\n}\n/**\n* Place height units on pages, splitting across pages as needed.\n* @returns The final global Y coordinate after placement\n*/\nfunction placeUnitsOnPages(schema, dynamicLayout, startGlobalY, contentHeight, paddingTop, pages) {\n\tconst dynamicHeights = dynamicLayout.heights;\n\tlet currentUnitIndex = 0;\n\tlet currentPageIndex = Math.floor(startGlobalY / contentHeight);\n\tlet currentYInPage = startGlobalY % contentHeight;\n\tif (currentYInPage < 0) currentYInPage = 0;\n\tlet actualGlobalEndY = 0;\n\tconst isSplittable = dynamicHeights.length > 1;\n\twhile (currentUnitIndex < dynamicHeights.length) {\n\t\twhile (pages.length <= currentPageIndex) pages.push([]);\n\t\tconst spaceLeft = contentHeight - currentYInPage;\n\t\tif (dynamicHeights[currentUnitIndex] > spaceLeft + EPSILON) {\n\t\t\tif (!(Math.abs(spaceLeft - contentHeight) <= EPSILON)) {\n\t\t\t\tcurrentPageIndex++;\n\t\t\t\tcurrentYInPage = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tlet chunkHeight = 0;\n\t\tconst startUnitIndex = currentUnitIndex;\n\t\twhile (currentUnitIndex < dynamicHeights.length) {\n\t\t\tconst h = dynamicHeights[currentUnitIndex];\n\t\t\tif (currentYInPage + chunkHeight + h <= contentHeight + EPSILON) {\n\t\t\t\tchunkHeight += h;\n\t\t\t\tcurrentUnitIndex++;\n\t\t\t} else break;\n\t\t}\n\t\tconst isAtPageTop = currentYInPage <= EPSILON;\n\t\tif (dynamicLayout.avoidFirstUnitOnly && isSplittable && startUnitIndex === 0 && currentUnitIndex === 1 && dynamicHeights.length > 1 && !isAtPageTop) {\n\t\t\tcurrentUnitIndex = 0;\n\t\t\tcurrentPageIndex++;\n\t\t\tcurrentYInPage = 0;\n\t\t\tcontinue;\n\t\t}\n\t\tif (currentUnitIndex === startUnitIndex) {\n\t\t\tchunkHeight += dynamicHeights[currentUnitIndex];\n\t\t\tcurrentUnitIndex++;\n\t\t}\n\t\tconst patch = dynamicLayout.patchSplitSchema?.({\n\t\t\tschema,\n\t\t\tstart: startUnitIndex,\n\t\t\tend: currentUnitIndex,\n\t\t\tisSplit: startUnitIndex > 0,\n\t\t\tchunkHeight\n\t\t}) ?? {};\n\t\tconst newSchema = {\n\t\t\t...schema,\n\t\t\t...patch,\n\t\t\theight: chunkHeight,\n\t\t\tposition: {\n\t\t\t\t...schema.position,\n\t\t\t\ty: currentYInPage + paddingTop\n\t\t\t}\n\t\t};\n\t\tpages[currentPageIndex].push(newSchema);\n\t\tcurrentYInPage += chunkHeight;\n\t\tif (currentYInPage >= contentHeight - EPSILON) {\n\t\t\tcurrentPageIndex++;\n\t\t\tcurrentYInPage = 0;\n\t\t}\n\t\tactualGlobalEndY = currentPageIndex * contentHeight + currentYInPage;\n\t}\n\treturn actualGlobalEndY;\n}\n/** Sort elements within each page by their original order */\nfunction sortPagesByOrder(pages, orderMap) {\n\tpages.forEach((page) => {\n\t\tpage.sort((a, b) => (orderMap.get(a.name) ?? 0) - (orderMap.get(b.name) ?? 0));\n\t});\n}\n/** Remove trailing empty pages */\nfunction removeTrailingEmptyPages(pages) {\n\twhile (pages.length > 1 && pages[pages.length - 1].length === 0) pages.pop();\n}\n/**\n* Process a single template page that has dynamic content.\n* Uses the same layout algorithm as the original implementation,\n* but scoped to a single page's schemas.\n*/\nfunction processDynamicPage(items, orderMap, contentHeight, paddingTop) {\n\tconst pages = [];\n\tlet totalYOffset = 0;\n\tfor (const item of items) {\n\t\tconst currentGlobalStartY = item.baseY + totalYOffset;\n\t\ttotalYOffset = placeUnitsOnPages(item.schema, item.dynamicLayout, currentGlobalStartY, contentHeight, paddingTop, pages) - (item.baseY + item.height);\n\t}\n\tsortPagesByOrder(pages, orderMap);\n\tremoveTrailingEmptyPages(pages);\n\treturn pages;\n}\nvar normalizeDynamicLayoutResult = (result) => {\n\tconst dynamicLayout = Array.isArray(result) ? { heights: result } : result;\n\treturn {\n\t\t...dynamicLayout,\n\t\theights: dynamicLayout.heights.length === 0 ? [0] : dynamicLayout.heights\n\t};\n};\n/**\n* Process a template containing tables with dynamic heights\n* and generate a new template with proper page breaks.\n*\n* Processing is done page-by-page:\n* - Pages with height changes are processed with full layout calculations\n* - Pages without height changes are copied as-is (no offset propagation between pages)\n*\n* This reduces computation cost by:\n* 1. Limiting layout calculations to pages that need them\n* 2. Avoiding cross-page offset propagation for static pages\n*/\nvar getDynamicTemplate = async (arg) => {\n\tconst { template, input, options, _cache, getDynamicHeights } = arg;\n\tconst basePdf = template.basePdf;\n\tif (!isBlankPdf(basePdf)) return template;\n\tconst contentHeight = getContentHeight(basePdf);\n\tconst paddingTop = basePdf.padding[0];\n\tconst resultPages = [];\n\tconst PARALLEL_LIMIT = 10;\n\tfor (let pageIndex = 0; pageIndex < template.schemas.length; pageIndex++) {\n\t\tconst pageSchemas = template.schemas[pageIndex];\n\t\tif (pageSchemas.length === 0) {\n\t\t\tresultPages.push([]);\n\t\t\tcontinue;\n\t\t}\n\t\tconst { items, orderMap } = normalizePageSchemas(pageSchemas, paddingTop);\n\t\tfor (let i = 0; i < items.length; i += PARALLEL_LIMIT) {\n\t\t\tconst chunk = items.slice(i, i + PARALLEL_LIMIT);\n\t\t\tconst chunkResults = await Promise.all(chunk.map((item) => {\n\t\t\t\treturn getDynamicHeights(getSchemaValue(item.schema, input, template.schemas), {\n\t\t\t\t\tschema: item.schema,\n\t\t\t\t\tbasePdf,\n\t\t\t\t\toptions,\n\t\t\t\t\t_cache\n\t\t\t\t}).then(normalizeDynamicLayoutResult);\n\t\t\t}));\n\t\t\tfor (let j = 0; j < chunkResults.length; j++) items[i + j].dynamicLayout = chunkResults[j];\n\t\t}\n\t\tconst processedPages = processDynamicPage(items, orderMap, contentHeight, paddingTop);\n\t\tresultPages.push(...processedPages);\n\t}\n\tif (resultPages.length === template.schemas.length) {\n\t\tlet unchanged = true;\n\t\tfor (let i = 0; i < resultPages.length && unchanged; i++) {\n\t\t\tif (resultPages[i].length !== template.schemas[i].length) {\n\t\t\t\tunchanged = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tfor (let j = 0; j < resultPages[i].length && unchanged; j++) {\n\t\t\t\tconst orig = template.schemas[i][j];\n\t\t\t\tconst result = resultPages[i][j];\n\t\t\t\tif (Math.abs(orig.height - result.height) > EPSILON || Math.abs(orig.position.y - result.position.y) > EPSILON) unchanged = false;\n\t\t\t}\n\t\t}\n\t\tif (unchanged) return template;\n\t}\n\treturn {\n\t\tbasePdf,\n\t\tschemas: resultPages\n\t};\n};\n//#endregion\n//#region src/splitRange.ts\nvar createDynamicLayoutSplitRange = (unit, start, end) => ({\n\tunit,\n\tstart,\n\t...end === void 0 ? {} : { end }\n});\nvar getDynamicLayoutSplitRange = (schema, unit) => {\n\tconst range = schema.__splitRange;\n\tif (range?.unit !== unit) return void 0;\n\treturn {\n\t\tstart: range.start,\n\t\t...range.end === void 0 ? {} : { end: range.end }\n\t};\n};\n//#endregion\n//#region src/pluginRegistry.ts\n/**\n* Wraps plugins collection with utility methods\n*/\nvar pluginRegistry = (plugins) => {\n\treturn {\n\t\tplugins,\n\t\tentries: () => Object.entries(plugins),\n\t\tvalues: () => Object.values(plugins),\n\t\texists: () => Object.values(plugins).length > 0,\n\t\tfindWithLabelByType(type) {\n\t\t\tfor (const [label, plugin] of Object.entries(this.plugins)) {\n\t\t\t\tif (!plugin || typeof plugin !== \"object\") continue;\n\t\t\t\tif (!plugin.propPanel || typeof plugin.propPanel !== \"object\") continue;\n\t\t\t\tconst defaultSchema = plugin.propPanel.defaultSchema;\n\t\t\t\tif (defaultSchema && \"type\" in defaultSchema && defaultSchema.type === type) return [label, plugin];\n\t\t\t}\n\t\t\treturn [\"\", void 0];\n\t\t},\n\t\tfindByType(type) {\n\t\t\tconst [, plugin] = this.findWithLabelByType(type);\n\t\t\treturn plugin;\n\t\t}\n\t};\n};\n//#endregion\nexport { BLANK_A4_PDF, BLANK_PDF, CUSTOM_A4_PDF, DEFAULT_FONT_NAME, MM_TO_PT_RATIO, PAGE_SIZE_PRESETS, PDFME_VERSION, PT_TO_MM_RATIO, PT_TO_PX_RATIO, ZOOM, applyInternalLinkAnnotations, b64toUint8Array, checkDesignerProps, checkFont, checkGenerateProps, checkInputs, checkPreviewProps, checkTemplate, checkUIOptions, checkUIProps, cloneDeep, createDynamicLayoutSplitRange, detectPaperSize, getB64BasePdf, getDefaultFont, getDynamicLayoutSplitRange, getDynamicTemplate, getFallbackFontName, getInputFromTemplate, getInternalLinkTarget, isBlankPdf, isHexValid, isUrlSafeToFetch, mm2pt, normalizeInternalLinkHref, normalizeLinkHref, normalizeSafeLinkUri, pluginRegistry, pt2mm, pt2px, px2mm, registerInternalLinkAnchor, registerInternalLinkAnnotation, replacePlaceholders, resetInternalLinkAnnotations, resolvePageSize };\n\n//# sourceMappingURL=index.js.map","import { Size, pt2mm } from '@pdfme/common';\n\ninterface Environment {\n openDocument: (pdf: ArrayBuffer | Uint8Array) => Promise<PdfDocument>;\n}\n\ninterface PdfDocument {\n readonly pageCount: number;\n page: (pageNumber: number) => PdfPage;\n destroy?: () => Promise<void> | void;\n}\n\ninterface PdfPage {\n readonly width: number;\n readonly height: number;\n}\n\nexport interface Pdf2SizeOptions {\n scale?: number;\n}\n\nexport async function pdf2size(\n pdf: ArrayBuffer | Uint8Array,\n options: Pdf2SizeOptions = {},\n env: Environment,\n): Promise<Size[]> {\n const { scale = 1 } = options;\n const { openDocument } = env;\n const pdfDoc = await openDocument(pdf);\n\n try {\n return Array.from({ length: pdfDoc.pageCount }, (_, i) => {\n const page = pdfDoc.page(i + 1);\n return { height: pt2mm(page.height * scale), width: pt2mm(page.width * scale) };\n });\n } finally {\n await pdfDoc.destroy?.();\n }\n}\n","import { createEngine, type PdfDocument, type PdfEngine } from 'clawpdf/browser';\nimport { pdf2img, type Pdf2ImgOptions } from './pdf2img.js';\nimport { pdf2size, type Pdf2SizeOptions } from './pdf2size.js';\n\ntype WorkerScope = {\n addEventListener: (\n type: 'message',\n listener: (event: MessageEvent<WorkerRequest>) => void,\n ) => void;\n postMessage: (message: unknown, transfer?: Transferable[]) => void;\n};\n\ntype WorkerRequest =\n | {\n id: number;\n type: 'pdf2img';\n pdf: ArrayBuffer;\n options?: Pdf2ImgOptions;\n }\n | {\n id: number;\n type: 'pdf2size';\n pdf: ArrayBuffer;\n options?: Pdf2SizeOptions;\n };\n\nconst clonePdfData = (pdf: ArrayBuffer | Uint8Array) =>\n new Uint8Array(pdf instanceof Uint8Array ? pdf : new Uint8Array(pdf));\n\nlet enginePromise: Promise<PdfEngine> | undefined;\n\nconst getEngine = () => {\n enginePromise ??= createEngine();\n return enginePromise;\n};\n\nconst openDocument = async (pdf: ArrayBuffer | Uint8Array): Promise<PdfDocument> =>\n (await getEngine()).open(clonePdfData(pdf));\n\nconst workerScope = self as unknown as WorkerScope;\n\nworkerScope.addEventListener('message', (event) => {\n void handleRequest(event.data);\n});\n\nconst handleRequest = async (request: WorkerRequest) => {\n try {\n if (request.type === 'pdf2img') {\n const result = await pdf2img(request.pdf, request.options, { openDocument });\n workerScope.postMessage({ id: request.id, ok: true, result }, result);\n return;\n }\n\n const result = await pdf2size(request.pdf, request.options, { openDocument });\n workerScope.postMessage({ id: request.id, ok: true, result });\n } catch (error) {\n workerScope.postMessage({\n id: request.id,\n ok: false,\n error: {\n name: error instanceof Error ? error.name : undefined,\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n },\n });\n }\n};\n"],"x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}