blink 1.1.22 → 1.1.23
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.
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import{__commonJSMin,__esmMin,__export as __export$5,__require as __require$1,__toCommonJS as __toCommonJS$4,__toDynamicImportESM,__toESM}from"./chunk-D9KrCrVq.js";import{import_websocket}from"./wrapper-B0SBsJWP.js";import{findNearestEntry,migrateDataToBlink,require_main as require_main$1,resolveConfig}from"./util-k3x8m_i5.js";import{Client as Client$2}from"./dist-Ceoe3h7v.js";import{deleteAuthToken,getAuthToken,setAuthToken}from"./auth-DbpOUCTO.js";import{openUrl,open_default,source_default}from"./util-CUfifM0g.js";import{require_ignore}from"./ignore-NA4V6Pjc.js";import{createDevhookID,createSlackApp,createSlackAppSchema,getDevhookID,hasDevhook}from"./create-slack-app-CyVPwWsG.js";import{DiagConsoleLogger,DiagLogLevel,SpanStatusCode,ValueType,diag,esm_exports as esm_exports$11,init_esm as init_esm$10,metrics,trace as trace$11}from"./esm-C_RXU0lI.js";import{require_token_error}from"./token-error-COQY18OP.js";import{require_undici as require_undici$1}from"./undici-CRntNDHY.js";import{APICallError,APIServerURLEnvironmentVariable,ChatManager,Client as Client$3,CustomChatResponseError,EmptyResponseBodyError,EventSourceParserStream,InvalidArgumentError,JSONParseError,NoSuchModelError,TypeValidationError,checkOptionalParameter,completeAssign,convertMessage,createAnthropic,createCustomAbortControllerSignal,createDiskStore,createOpenAI,createParser,decodeURIComponent_,ensureDisposableStackRegisteredForTerminateEvents,fakePromise,getLockInfo,getPath as getPath$1,getPathNoStrict,getPattern,getQueryParam,getQueryParams,handleAbortSignalAndPromiseResponse,handleErrorFromRequestHandler,handleMaybePromise,hc,isFetchEvent,isNodeRequest,isPromise as isPromise$1,isRequestInit,isServerResponse,isStoredMessageMetadata,isToolApprovalOutput,isolateObject,iterateAsync,lastUIOptions,lock,mergePath,normalizeNodeRequest,parse as parse$17,sendNodeResponse,splitPath,splitRoutingPath,tools as tools$1,tryDecode,unfakePromise}from"./chat-manager-GWR_v50X.js";import{templates}from"./init-templates-By3gx42M.js";import{errorMonitor}from"events";import*as https$5 from"https";import*as http$7 from"http";import http,{createServer}from"http";import crypto$1 from"crypto";import{Readable}from"stream";import*as zlib$2 from"zlib";import EventEmitter,{EventEmitter as EventEmitter$1,addAbortListener,on,once,setMaxListeners}from"node:events";import{ChildProcess,exec,execFile,execSync,spawn,spawnSync}from"node:child_process";import*as path$2 from"node:path";import path,{basename,dirname,join,posix,win32}from"node:path";import*as fs$4 from"node:fs";import fs,{appendFileSync,createReadStream,createWriteStream,promises,readFileSync,statSync,writeFileSync}from"node:fs";import*as process$1 from"node:process";import y,{cwd,env,execArgv,execPath,hrtime,platform}from"node:process";import path$1,{basename as basename$1,dirname as dirname$1,join as join$1,normalize,relative as relative$1,resolve as resolve$1,sep}from"path";import*as nativeFs from"fs";import fs$1,{createWriteStream as createWriteStream$1,existsSync as existsSync$1,lstatSync,mkdirSync as mkdirSync$1,readFileSync as readFileSync$1,readdir,readdirSync,readlinkSync,realpathSync,watch,writeFile,writeFileSync as writeFileSync$1}from"fs";import{createRequire}from"module";import*as fs$37 from"fs/promises";import{readFile,writeFile as writeFile$1}from"fs/promises";import{z}from"zod";import*as z4 from"zod/v4";import{z as z$2}from"zod/v4";import{ZodFirstPartyTypeKind}from"zod/v3";import*as fs$3 from"node:fs/promises";import fs$2,{lstat,readdir as readdir$2,readlink,realpath}from"node:fs/promises";import os from"os";import*as os$2 from"node:os";import os$1,{EOL,constants as constants$1,platform as platform$1}from"node:os";import tty from"node:tty";import util,{TextDecoder as TextDecoder$1,aborted,callbackify,debuglog,inspect,promisify,stripVTControlCharacters}from"node:util";import*as readline from"node:readline";import O from"node:readline";import Stream,{Duplex,PassThrough,Readable as Readable$1,Stream as Stream$1,Transform,Writable,getDefaultHighWaterMark}from"node:stream";import{Buffer as Buffer$1}from"node:buffer";import url,{URL as URL$1,fileURLToPath,pathToFileURL}from"node:url";import{spawn as spawn$1}from"child_process";import{inspect as inspect$1,types}from"util";import*as net$2 from"node:net";import net from"node:net";import*as http$5 from"node:http";import http$1,{ServerResponse}from"node:http";import{checkServerIdentity}from"node:tls";import*as crypto$3 from"node:crypto";import crypto$2,{createHash,randomUUID as randomUUID$1}from"node:crypto";import{AsyncLocalStorage}from"node:async_hooks";import{ADDRCONFIG,ALL,V4MAPPED,lookup,promises as promises$1}from"node:dns";import{convertToModelMessages,getToolOrDynamicToolName,isToolOrDynamicToolUIPart,readUIMessageStream,streamText,tool}from"ai";import React,{PureComponent,createContext,forwardRef,memo,useCallback,useContext,useEffect,useLayoutEffect,useMemo,useReducer,useRef,useState}from"react";import{finished,pipeline}from"node:stream/promises";import https from"node:https";import"@blink-sdk/compute-protocol/client";import{createInMemoryClientServer}from"@blink-sdk/compute-protocol/transport";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{StringDecoder}from"node:string_decoder";import{scheduler,setImmediate as setImmediate$1,setTimeout as setTimeout$1}from"node:timers/promises";import{serialize}from"node:v8";function debounce$1(func,debounceMs,{signal,edges}={}){let pendingThis,pendingArgs=null,leading=edges!=null&&edges.includes(`leading`),trailing=edges==null||edges.includes(`trailing`),invoke=()=>{pendingArgs!==null&&(func.apply(pendingThis,pendingArgs),pendingThis=void 0,pendingArgs=null)},onTimerEnd=()=>{trailing&&invoke(),cancel()},timeoutId=null,schedule=()=>{timeoutId!=null&&clearTimeout(timeoutId),timeoutId=setTimeout(()=>{timeoutId=null,onTimerEnd()},debounceMs)},cancelTimer=()=>{timeoutId!==null&&(clearTimeout(timeoutId),timeoutId=null)},cancel=()=>{cancelTimer(),pendingThis=void 0,pendingArgs=null},flush=()=>{invoke()},debounced=function(...args){if(signal?.aborted)return;pendingThis=this,pendingArgs=args;let isFirstCall=timeoutId==null;schedule(),leading&&isFirstCall&&invoke()};return debounced.schedule=schedule,debounced.cancel=cancel,debounced.flush=flush,signal?.addEventListener(`abort`,cancel,{once:!0}),debounced}function debounce(func,debounceMs=0,options$1={}){typeof options$1!=`object`&&(options$1={});let{leading=!1,trailing=!0,maxWait}=options$1,edges=[,,];leading&&(edges[0]=`leading`),trailing&&(edges[1]=`trailing`);let result,pendingAt=null,_debounced=debounce$1(function(...args){result=func.apply(this,args),pendingAt=null},debounceMs,{edges}),debounced=function(...args){return maxWait!=null&&(pendingAt===null&&(pendingAt=Date.now()),Date.now()-pendingAt>=maxWait)?(result=func.apply(this,args),pendingAt=Date.now(),_debounced.cancel(),_debounced.schedule(),result):(_debounced.apply(this,args),result)};return debounced.cancel=_debounced.cancel,debounced.flush=()=>(_debounced.flush(),result),debounced}function throttle(func,throttleMs=0,options$1={}){let{leading=!0,trailing=!0}=options$1;return debounce(func,throttleMs,{leading,maxWait:throttleMs,trailing})}const isBrowser=globalThis.window?.document!==void 0,isNode$1=globalThis.process?.versions?.node!==void 0,isBun=globalThis.process?.versions?.bun!==void 0,isDeno=globalThis.Deno?.version?.deno!==void 0,isElectron$1=globalThis.process?.versions?.electron!==void 0,isJsDom=globalThis.navigator?.userAgent?.includes(`jsdom`)===!0,isWebWorker=typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope,isDedicatedWorker=typeof DedicatedWorkerGlobalScope<`u`&&globalThis instanceof DedicatedWorkerGlobalScope,isSharedWorker=typeof SharedWorkerGlobalScope<`u`&&globalThis instanceof SharedWorkerGlobalScope,isServiceWorker=typeof ServiceWorkerGlobalScope<`u`&&globalThis instanceof ServiceWorkerGlobalScope,platform$3=globalThis.navigator?.userAgentData?.platform,isMacOs=platform$3===`macOS`||globalThis.navigator?.platform===`MacIntel`||globalThis.navigator?.userAgent?.includes(` Mac `)===!0||globalThis.process?.platform===`darwin`,isWindows$3=platform$3===`Windows`||globalThis.navigator?.platform===`Win32`||globalThis.process?.platform===`win32`,isLinux=platform$3===`Linux`||globalThis.navigator?.platform?.startsWith(`Linux`)===!0||globalThis.navigator?.userAgent?.includes(` Linux `)===!0||globalThis.process?.platform===`linux`,isIos=platform$3===`iOS`||globalThis.navigator?.platform===`MacIntel`&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),isAndroid=platform$3===`Android`||globalThis.navigator?.platform===`Android`||globalThis.navigator?.userAgent?.includes(` Android `)===!0||globalThis.process?.platform===`android`,ESC$1=`\x1B[`,OSC=`\x1B]`,BEL=`\x07`,SEP=`;`,isTerminalApp=!isBrowser&&y.env.TERM_PROGRAM===`Apple_Terminal`,isWindows$2=!isBrowser&&y.platform===`win32`,cwdFunction=isBrowser?()=>{throw Error("`process.cwd()` only works in Node.js, not the browser.")}:y.cwd,cursorUp=(count$1=1)=>`\x1B[`+count$1+`A`,cursorLeft=`\x1B[G`,cursorSavePosition=isTerminalApp?`\x1B7`:`\x1B[s`,cursorRestorePosition=isTerminalApp?`\x1B8`:`\x1B[u`,cursorGetPosition=`\x1B[6n`,cursorNextLine=`\x1B[E`,cursorPrevLine=`\x1B[F`,cursorHide=`\x1B[?25l`,cursorShow=`\x1B[?25h`,eraseLines=count$1=>{let clear$1=``;for(let i$7=0;i$7<count$1;i$7++)clear$1+=eraseLine+(i$7<count$1-1?cursorUp():``);return count$1&&(clear$1+=`\x1B[G`),clear$1},eraseEndLine=`\x1B[K`,eraseStartLine=`\x1B[1K`,eraseLine=`\x1B[2K`,eraseDown=`\x1B[J`,eraseUp=`\x1B[1J`,eraseScreen=`\x1B[2J`,scrollUp=`\x1B[S`,scrollDown=`\x1B[T`,clearViewport=`${eraseScreen}[H`,clearTerminal=isWindows$2?`${eraseScreen}[0f`:`${eraseScreen}[3J[H`,enterAlternativeScreen=`\x1B[?1049h`,exitAlternativeScreen=`\x1B[?1049l`,link$3=(text,url$3)=>[`\x1B]`,`8`,`;`,`;`,url$3,`\x07`,text,`\x1B]`,`8`,`;`,`;`,`\x07`].join(``),check$1=key$1=>key$1 in env&&env[key$1]!==`0`&&env[key$1]!==`false`;var is_in_ci_default=check$1(`CI`)||check$1(`CONTINUOUS_INTEGRATION`);const getAllProperties=object=>{let properties$1=new Set;do for(let key$1 of Reflect.ownKeys(object))properties$1.add([object,key$1]);while((object=Reflect.getPrototypeOf(object))&&object!==Object.prototype);return properties$1};function autoBind(self$1,{include,exclude}={}){let filter$3=key$1=>{let match$1=pattern=>typeof pattern==`string`?key$1===pattern:pattern.test(key$1);return include?include.some(match$1):exclude?!exclude.some(match$1):!0};for(let[object,key$1]of getAllProperties(self$1.constructor.prototype)){if(key$1===`constructor`||!filter$3(key$1))continue;let descriptor$1=Reflect.getOwnPropertyDescriptor(object,key$1);descriptor$1&&typeof descriptor$1.value==`function`&&(self$1[key$1]=self$1[key$1].bind(self$1))}return self$1}var require_signals=__commonJSMin(((exports,module)=>{module.exports=[`SIGABRT`,`SIGALRM`,`SIGHUP`,`SIGINT`,`SIGTERM`],process.platform!==`win32`&&module.exports.push(`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&module.exports.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`,`SIGUNUSED`)})),require_signal_exit=__commonJSMin(((exports,module)=>{var process$13=global.process;let processOk$1=function(process$14){return process$14&&typeof process$14==`object`&&typeof process$14.removeListener==`function`&&typeof process$14.emit==`function`&&typeof process$14.reallyExit==`function`&&typeof process$14.listeners==`function`&&typeof process$14.kill==`function`&&typeof process$14.pid==`number`&&typeof process$14.on==`function`};if(!processOk$1(process$13))module.exports=function(){return function(){}};else{var assert$2=__require$1(`assert`),signals$1=require_signals(),isWin$2=/^win/i.test(process$13.platform),EE=__require$1(`events`);typeof EE!=`function`&&(EE=EE.EventEmitter);var emitter;process$13.__signal_exit_emitter__?emitter=process$13.__signal_exit_emitter__:(emitter=process$13.__signal_exit_emitter__=new EE,emitter.count=0,emitter.emitted={}),emitter.infinite||=(emitter.setMaxListeners(1/0),!0),module.exports=function(cb,opts){if(!processOk$1(global.process))return function(){};assert$2.equal(typeof cb,`function`,`a callback must be provided for exit handler`),loaded===!1&&load$6();var ev=`exit`;return opts&&opts.alwaysLast&&(ev=`afterexit`),emitter.on(ev,cb),function(){emitter.removeListener(ev,cb),emitter.listeners(`exit`).length===0&&emitter.listeners(`afterexit`).length===0&&unload$1()}};var unload$1=function(){!loaded||!processOk$1(global.process)||(loaded=!1,signals$1.forEach(function(sig){try{process$13.removeListener(sig,sigListeners[sig])}catch{}}),process$13.emit=originalProcessEmit,process$13.reallyExit=originalProcessReallyExit,--emitter.count)};module.exports.unload=unload$1;var emit=function(event,code$1,signal){emitter.emitted[event]||(emitter.emitted[event]=!0,emitter.emit(event,code$1,signal))},sigListeners={};signals$1.forEach(function(sig){sigListeners[sig]=function(){processOk$1(global.process)&&process$13.listeners(sig).length===emitter.count&&(unload$1(),emit(`exit`,null,sig),emit(`afterexit`,null,sig),isWin$2&&sig===`SIGHUP`&&(sig=`SIGINT`),process$13.kill(process$13.pid,sig))}}),module.exports.signals=function(){return signals$1};var loaded=!1,load$6=function(){loaded||!processOk$1(global.process)||(loaded=!0,emitter.count+=1,signals$1=signals$1.filter(function(sig){try{return process$13.on(sig,sigListeners[sig]),!0}catch{return!1}}),process$13.emit=processEmit,process$13.reallyExit=processReallyExit)};module.exports.load=load$6;var originalProcessReallyExit=process$13.reallyExit,processReallyExit=function(code$1){processOk$1(global.process)&&(process$13.exitCode=code$1||0,emit(`exit`,process$13.exitCode,null),emit(`afterexit`,process$13.exitCode,null),originalProcessReallyExit.call(process$13,process$13.exitCode))},originalProcessEmit=process$13.emit,processEmit=function(ev,arg){if(ev===`exit`&&processOk$1(global.process)){arg!==void 0&&(process$13.exitCode=arg);var ret=originalProcessEmit.apply(this,arguments);return emit(`exit`,process$13.exitCode,null),emit(`afterexit`,process$13.exitCode,null),ret}else return originalProcessEmit.apply(this,arguments)}}})),import_signal_exit$1=__toESM(require_signal_exit(),1);const consoleMethods=[`assert`,`count`,`countReset`,`debug`,`dir`,`dirxml`,`error`,`group`,`groupCollapsed`,`groupEnd`,`info`,`log`,`table`,`time`,`timeEnd`,`timeLog`,`trace`,`warn`];let originalMethods={};var dist_default$1=callback$1=>{let stdout$1=new PassThrough,stderr=new PassThrough;stdout$1.write=data$2=>{callback$1(`stdout`,data$2)},stderr.write=data$2=>{callback$1(`stderr`,data$2)};let internalConsole=new console.Console(stdout$1,stderr);for(let method of consoleMethods)originalMethods[method]=console[method],console[method]=internalConsole[method];return()=>{for(let method of consoleMethods)console[method]=originalMethods[method];originalMethods={}}},require_react_reconciler_constants_production=__commonJSMin((exports=>{exports.DefaultEventPriority=32,exports.LegacyRoot=0,exports.NoEventPriority=0})),require_react_reconciler_constants_development=__commonJSMin((exports=>{process.env.NODE_ENV!==`production`&&(exports.ConcurrentRoot=1,exports.ContinuousEventPriority=8,exports.DefaultEventPriority=32,exports.DiscreteEventPriority=2,exports.IdleEventPriority=268435456,exports.LegacyRoot=0,exports.NoEventPriority=0)})),require_constants$13=__commonJSMin(((exports,module)=>{process.env.NODE_ENV===`production`?module.exports=require_react_reconciler_constants_production():module.exports=require_react_reconciler_constants_development()})),import_constants$1=__toESM(require_constants$13(),1),yoga_wasm_base64_esm_default=(()=>{var _scriptDir=import.meta.url;return(function(loadYoga$1){loadYoga$1||={};var h$3;h$3||=loadYoga$1===void 0?{}:loadYoga$1;var aa,ca;h$3.ready=new Promise(function(a$2,b$2){aa=a$2,ca=b$2});var da=Object.assign({},h$3),q$3=``;typeof document<`u`&&document.currentScript&&(q$3=document.currentScript.src),_scriptDir&&(q$3=_scriptDir),q$3=q$3.indexOf(`blob:`)===0?``:q$3.substr(0,q$3.replace(/[?#].*/,``).lastIndexOf(`/`)+1);var ea=h$3.print||console.log.bind(console),v$1=h$3.printErr||console.warn.bind(console);Object.assign(h$3,da),da=null;var w$3;h$3.wasmBinary&&(w$3=h$3.wasmBinary),h$3.noExitRuntime,typeof WebAssembly!=`object`&&x$1(`no native wasm support detected`);var fa,ha=!1;function z$5(a$2,b$2,c$3){c$3=b$2+c$3;for(var d$3=``;!(b$2>=c$3);){var e$1=a$2[b$2++];if(!e$1)break;if(e$1&128){var f=a$2[b$2++]&63;if((e$1&224)==192)d$3+=String.fromCharCode((e$1&31)<<6|f);else{var g=a$2[b$2++]&63;e$1=(e$1&240)==224?(e$1&15)<<12|f<<6|g:(e$1&7)<<18|f<<12|g<<6|a$2[b$2++]&63,65536>e$1?d$3+=String.fromCharCode(e$1):(e$1-=65536,d$3+=String.fromCharCode(55296|e$1>>10,56320|e$1&1023))}}else d$3+=String.fromCharCode(e$1)}return d$3}var ia,ja,A,C$2,ka,D$1,E$2,la,ma;function na(){var a$2=fa.buffer;ia=a$2,h$3.HEAP8=ja=new Int8Array(a$2),h$3.HEAP16=C$2=new Int16Array(a$2),h$3.HEAP32=D$1=new Int32Array(a$2),h$3.HEAPU8=A=new Uint8Array(a$2),h$3.HEAPU16=ka=new Uint16Array(a$2),h$3.HEAPU32=E$2=new Uint32Array(a$2),h$3.HEAPF32=la=new Float32Array(a$2),h$3.HEAPF64=ma=new Float64Array(a$2)}var oa,pa=[],qa=[],ra=[];function sa(){var a$2=h$3.preRun.shift();pa.unshift(a$2)}var F$2=0,ta=null,G$2=null;function x$1(a$2){throw h$3.onAbort&&h$3.onAbort(a$2),a$2=`Aborted(`+a$2+`)`,v$1(a$2),ha=!0,a$2=new WebAssembly.RuntimeError(a$2+`. Build with -sASSERTIONS for more info.`),ca(a$2),a$2}function ua(a$2){return a$2.startsWith(`data:application/octet-stream;base64,`)}var H=`data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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`;if(!ua(H)){var va=H;H=h$3.locateFile?h$3.locateFile(va,q$3):q$3+va}function wa(){var a$2=H;try{if(a$2==H&&w$3)return new Uint8Array(w$3);if(ua(a$2))try{var b$2=xa(a$2.slice(37)),c$3=new Uint8Array(b$2.length);for(a$2=0;a$2<b$2.length;++a$2)c$3[a$2]=b$2.charCodeAt(a$2);var d$3=c$3}catch{throw Error(`Converting base64 string to bytes failed.`)}else d$3=void 0;var e$1=d$3;if(e$1)return e$1;throw`both async and sync fetching of the wasm failed`}catch(f){x$1(f)}}function ya(){return w$3||typeof fetch!=`function`?Promise.resolve().then(function(){return wa()}):fetch(H,{credentials:`same-origin`}).then(function(a$2){if(!a$2.ok)throw`failed to load wasm binary file at '`+H+`'`;return a$2.arrayBuffer()}).catch(function(){return wa()})}function za(a$2){for(;0<a$2.length;)a$2.shift()(h$3)}function Aa(a$2){if(a$2===void 0)return`_unknown`;a$2=a$2.replace(/[^a-zA-Z0-9_]/g,`$`);var b$2=a$2.charCodeAt(0);return 48<=b$2&&57>=b$2?`_`+a$2:a$2}function Ba(a$2,b$2){return a$2=Aa(a$2),function(){return b$2.apply(this,arguments)}}var J$2=[{},{value:void 0},{value:null},{value:!0},{value:!1}],Ca=[];function Da(a$2){var b$2=Error,c$3=Ba(a$2,function(d$3){this.name=a$2,this.message=d$3,d$3=Error(d$3).stack,d$3!==void 0&&(this.stack=this.toString()+`
|
|
2
|
-
`+d$3.replace(/^Error(:[^\n]*)?\n/,``))});return c$3.prototype=Object.create(b$2.prototype),c$3.prototype.constructor=c$3,c$3.prototype.toString=function(){return this.message===void 0?this.name:this.name+`: `+this.message},c$3}var K$2=void 0;function L$2(a$2){throw new K$2(a$2)}var M$2=a$2=>(a$2||L$2(`Cannot use deleted val. handle = `+a$2),J$2[a$2].value),Ea=a$2=>{switch(a$2){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var b$2=Ca.length?Ca.pop():J$2.length;return J$2[b$2]={ga:1,value:a$2},b$2}},Fa=void 0,Ga=void 0;function N$1(a$2){for(var b$2=``;A[a$2];)b$2+=Ga[A[a$2++]];return b$2}var O$3=[];function Ha(){for(;O$3.length;){var a$2=O$3.pop();a$2.M.$=!1,a$2.delete()}}var P$2=void 0,Q$2={};function Ia(a$2,b$2){for(b$2===void 0&&L$2(`ptr should not be undefined`);a$2.R;)b$2=a$2.ba(b$2),a$2=a$2.R;return b$2}var R$2={};function Ja(a$2){a$2=Ka(a$2);var b$2=N$1(a$2);return S$1(a$2),b$2}function La(a$2,b$2){var c$3=R$2[a$2];return c$3===void 0&&L$2(b$2+` has unknown type `+Ja(a$2)),c$3}function Ma(){}var Na=!1;function Oa(a$2){--a$2.count.value,a$2.count.value===0&&(a$2.T?a$2.U.W(a$2.T):a$2.P.N.W(a$2.O))}function Pa(a$2,b$2,c$3){return b$2===c$3?a$2:c$3.R===void 0?null:(a$2=Pa(a$2,b$2,c$3.R),a$2===null?null:c$3.na(a$2))}var Qa={};function Ra(a$2,b$2){return b$2=Ia(a$2,b$2),Q$2[b$2]}var Sa=void 0;function Ta(a$2){throw new Sa(a$2)}function Ua(a$2,b$2){return b$2.P&&b$2.O||Ta(`makeClassHandle requires ptr and ptrType`),!!b$2.U!=!!b$2.T&&Ta(`Both smartPtrType and smartPtr must be specified`),b$2.count={value:1},T$1(Object.create(a$2,{M:{value:b$2}}))}function T$1(a$2){return typeof FinalizationRegistry>`u`?(T$1=b$2=>b$2,a$2):(Na=new FinalizationRegistry(b$2=>{Oa(b$2.M)}),T$1=b$2=>{var c$3=b$2.M;return c$3.T&&Na.register(b$2,{M:c$3},b$2),b$2},Ma=b$2=>{Na.unregister(b$2)},T$1(a$2))}var Va={};function Wa(a$2){for(;a$2.length;){var b$2=a$2.pop();a$2.pop()(b$2)}}function Xa(a$2){return this.fromWireType(D$1[a$2>>2])}var U$2={},Ya={};function V$3(a$2,b$2,c$3){function d$3(k){k=c$3(k),k.length!==a$2.length&&Ta(`Mismatched type converter count`);for(var m$2=0;m$2<a$2.length;++m$2)W$2(a$2[m$2],k[m$2])}a$2.forEach(function(k){Ya[k]=b$2});var e$1=Array(b$2.length),f=[],g=0;b$2.forEach((k,m$2)=>{R$2.hasOwnProperty(k)?e$1[m$2]=R$2[k]:(f.push(k),U$2.hasOwnProperty(k)||(U$2[k]=[]),U$2[k].push(()=>{e$1[m$2]=R$2[k],++g,g===f.length&&d$3(e$1)}))}),f.length===0&&d$3(e$1)}function Za(a$2){switch(a$2){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError(`Unknown type size: `+a$2)}}function W$2(a$2,b$2,c$3={}){if(!(`argPackAdvance`in b$2))throw TypeError(`registerType registeredInstance requires argPackAdvance`);var d$3=b$2.name;if(a$2||L$2(`type "`+d$3+`" must have a positive integer typeid pointer`),R$2.hasOwnProperty(a$2)){if(c$3.ua)return;L$2(`Cannot register type '`+d$3+`' twice`)}R$2[a$2]=b$2,delete Ya[a$2],U$2.hasOwnProperty(a$2)&&(b$2=U$2[a$2],delete U$2[a$2],b$2.forEach(e$1=>e$1()))}function $a(a$2){L$2(a$2.M.P.N.name+` instance already deleted`)}function X$2(){}function ab$1(a$2,b$2,c$3){if(a$2[b$2].S===void 0){var d$3=a$2[b$2];a$2[b$2]=function(){return a$2[b$2].S.hasOwnProperty(arguments.length)||L$2(`Function '`+c$3+`' called with an invalid number of arguments (`+arguments.length+`) - expects one of (`+a$2[b$2].S+`)!`),a$2[b$2].S[arguments.length].apply(this,arguments)},a$2[b$2].S=[],a$2[b$2].S[d$3.Z]=d$3}}function bb(a$2,b$2){h$3.hasOwnProperty(a$2)?(L$2(`Cannot register public name '`+a$2+`' twice`),ab$1(h$3,a$2,a$2),h$3.hasOwnProperty(void 0)&&L$2(`Cannot register multiple overloads of a function with the same number of arguments (undefined)!`),h$3[a$2].S[void 0]=b$2):h$3[a$2]=b$2}function cb(a$2,b$2,c$3,d$3,e$1,f,g,k){this.name=a$2,this.constructor=b$2,this.X=c$3,this.W=d$3,this.R=e$1,this.pa=f,this.ba=g,this.na=k,this.ja=[]}function db(a$2,b$2,c$3){for(;b$2!==c$3;)b$2.ba||L$2(`Expected null or instance of `+c$3.name+`, got an instance of `+b$2.name),a$2=b$2.ba(a$2),b$2=b$2.R;return a$2}function eb(a$2,b$2){return b$2===null?(this.ea&&L$2(`null is not a valid `+this.name),0):(b$2.M||L$2(`Cannot pass "`+fb(b$2)+`" as a `+this.name),b$2.M.O||L$2(`Cannot pass deleted object as a pointer of type `+this.name),db(b$2.M.O,b$2.M.P.N,this.N))}function gb(a$2,b$2){if(b$2===null){if(this.ea&&L$2(`null is not a valid `+this.name),this.da){var c$3=this.fa();return a$2!==null&&a$2.push(this.W,c$3),c$3}return 0}if(b$2.M||L$2(`Cannot pass "`+fb(b$2)+`" as a `+this.name),b$2.M.O||L$2(`Cannot pass deleted object as a pointer of type `+this.name),!this.ca&&b$2.M.P.ca&&L$2(`Cannot convert argument of type `+(b$2.M.U?b$2.M.U.name:b$2.M.P.name)+` to parameter type `+this.name),c$3=db(b$2.M.O,b$2.M.P.N,this.N),this.da)switch(b$2.M.T===void 0&&L$2(`Passing raw pointer to smart pointer is illegal`),this.Ba){case 0:b$2.M.U===this?c$3=b$2.M.T:L$2(`Cannot convert argument of type `+(b$2.M.U?b$2.M.U.name:b$2.M.P.name)+` to parameter type `+this.name);break;case 1:c$3=b$2.M.T;break;case 2:if(b$2.M.U===this)c$3=b$2.M.T;else{var d$3=b$2.clone();c$3=this.xa(c$3,Ea(function(){d$3.delete()})),a$2!==null&&a$2.push(this.W,c$3)}break;default:L$2(`Unsupporting sharing policy`)}return c$3}function hb(a$2,b$2){return b$2===null?(this.ea&&L$2(`null is not a valid `+this.name),0):(b$2.M||L$2(`Cannot pass "`+fb(b$2)+`" as a `+this.name),b$2.M.O||L$2(`Cannot pass deleted object as a pointer of type `+this.name),b$2.M.P.ca&&L$2(`Cannot convert argument of type `+b$2.M.P.name+` to parameter type `+this.name),db(b$2.M.O,b$2.M.P.N,this.N))}function Y$1(a$2,b$2,c$3,d$3){this.name=a$2,this.N=b$2,this.ea=c$3,this.ca=d$3,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,b$2.R===void 0?(this.toWireType=d$3?eb:hb,this.V=null):this.toWireType=gb}function ib(a$2,b$2){h$3.hasOwnProperty(a$2)||Ta(`Replacing nonexistant public symbol`),h$3[a$2]=b$2,h$3[a$2].Z=void 0}function jb(a$2,b$2){var c$3=[];return function(){if(c$3.length=0,Object.assign(c$3,arguments),a$2.includes(`j`)){var d$3=h$3[`dynCall_`+a$2];d$3=c$3&&c$3.length?d$3.apply(null,[b$2].concat(c$3)):d$3.call(null,b$2)}else d$3=oa.get(b$2).apply(null,c$3);return d$3}}function Z(a$2,b$2){a$2=N$1(a$2);var c$3=a$2.includes(`j`)?jb(a$2,b$2):oa.get(b$2);return typeof c$3!=`function`&&L$2(`unknown function pointer with signature `+a$2+`: `+b$2),c$3}var mb=void 0;function nb(a$2,b$2){function c$3(f){e$1[f]||R$2[f]||(Ya[f]?Ya[f].forEach(c$3):(d$3.push(f),e$1[f]=!0))}var d$3=[],e$1={};throw b$2.forEach(c$3),new mb(a$2+`: `+d$3.map(Ja).join([`, `]))}function ob(a$2,b$2,c$3,d$3,e$1){var f=b$2.length;2>f&&L$2(`argTypes array size mismatch! Must at least get return value and 'this' types!`);var g=b$2[1]!==null&&c$3!==null,k=!1;for(c$3=1;c$3<b$2.length;++c$3)if(b$2[c$3]!==null&&b$2[c$3].V===void 0){k=!0;break}var m$2=b$2[0].name!==`void`,l$1=f-2,n$2=Array(l$1),p=[],r$2=[];return function(){if(arguments.length!==l$1&&L$2(`function `+a$2+` called with `+arguments.length+` arguments, expected `+l$1+` args!`),r$2.length=0,p.length=g?2:1,p[0]=e$1,g){var u$17=b$2[1].toWireType(r$2,this);p[1]=u$17}for(var t$1=0;t$1<l$1;++t$1)n$2[t$1]=b$2[t$1+2].toWireType(r$2,arguments[t$1]),p.push(n$2[t$1]);if(t$1=d$3.apply(null,p),k)Wa(r$2);else for(var y$3=g?1:2;y$3<b$2.length;y$3++){var B$1=y$3===1?u$17:n$2[y$3-2];b$2[y$3].V!==null&&b$2[y$3].V(B$1)}return u$17=m$2?b$2[0].fromWireType(t$1):void 0,u$17}}function pb(a$2,b$2){for(var c$3=[],d$3=0;d$3<a$2;d$3++)c$3.push(E$2[b$2+4*d$3>>2]);return c$3}function qb(a$2){4<a$2&&--J$2[a$2].ga===0&&(J$2[a$2]=void 0,Ca.push(a$2))}function fb(a$2){if(a$2===null)return`null`;var b$2=typeof a$2;return b$2===`object`||b$2===`array`||b$2===`function`?a$2.toString():``+a$2}function rb(a$2,b$2){switch(b$2){case 2:return function(c$3){return this.fromWireType(la[c$3>>2])};case 3:return function(c$3){return this.fromWireType(ma[c$3>>3])};default:throw TypeError(`Unknown float type: `+a$2)}}function sb(a$2,b$2,c$3){switch(b$2){case 0:return c$3?function(d$3){return ja[d$3]}:function(d$3){return A[d$3]};case 1:return c$3?function(d$3){return C$2[d$3>>1]}:function(d$3){return ka[d$3>>1]};case 2:return c$3?function(d$3){return D$1[d$3>>2]}:function(d$3){return E$2[d$3>>2]};default:throw TypeError(`Unknown integer type: `+a$2)}}function tb(a$2,b$2){for(var c$3=``,d$3=0;!(d$3>=b$2/2);++d$3){var e$1=C$2[a$2+2*d$3>>1];if(e$1==0)break;c$3+=String.fromCharCode(e$1)}return c$3}function ub(a$2,b$2,c$3){if(c$3===void 0&&(c$3=2147483647),2>c$3)return 0;c$3-=2;var d$3=b$2;c$3=c$3<2*a$2.length?c$3/2:a$2.length;for(var e$1=0;e$1<c$3;++e$1)C$2[b$2>>1]=a$2.charCodeAt(e$1),b$2+=2;return C$2[b$2>>1]=0,b$2-d$3}function vb(a$2){return 2*a$2.length}function wb(a$2,b$2){for(var c$3=0,d$3=``;!(c$3>=b$2/4);){var e$1=D$1[a$2+4*c$3>>2];if(e$1==0)break;++c$3,65536<=e$1?(e$1-=65536,d$3+=String.fromCharCode(55296|e$1>>10,56320|e$1&1023)):d$3+=String.fromCharCode(e$1)}return d$3}function xb(a$2,b$2,c$3){if(c$3===void 0&&(c$3=2147483647),4>c$3)return 0;var d$3=b$2;c$3=d$3+c$3-4;for(var e$1=0;e$1<a$2.length;++e$1){var f=a$2.charCodeAt(e$1);if(55296<=f&&57343>=f){var g=a$2.charCodeAt(++e$1);f=65536+((f&1023)<<10)|g&1023}if(D$1[b$2>>2]=f,b$2+=4,b$2+4>c$3)break}return D$1[b$2>>2]=0,b$2-d$3}function yb(a$2){for(var b$2=0,c$3=0;c$3<a$2.length;++c$3){var d$3=a$2.charCodeAt(c$3);55296<=d$3&&57343>=d$3&&++c$3,b$2+=4}return b$2}var zb={};function Ab(a$2){var b$2=zb[a$2];return b$2===void 0?N$1(a$2):b$2}var Bb=[];function Cb(a$2){var b$2=Bb.length;return Bb.push(a$2),b$2}function Db(a$2,b$2){for(var c$3=Array(a$2),d$3=0;d$3<a$2;++d$3)c$3[d$3]=La(E$2[b$2+4*d$3>>2],`parameter `+d$3);return c$3}var Eb=[],Fb=[null,[],[]];K$2=h$3.BindingError=Da(`BindingError`),h$3.count_emval_handles=function(){for(var a$2=0,b$2=5;b$2<J$2.length;++b$2)J$2[b$2]!==void 0&&++a$2;return a$2},h$3.get_first_emval=function(){for(var a$2=5;a$2<J$2.length;++a$2)if(J$2[a$2]!==void 0)return J$2[a$2];return null},Fa=h$3.PureVirtualError=Da(`PureVirtualError`);for(var Gb=Array(256),Hb=0;256>Hb;++Hb)Gb[Hb]=String.fromCharCode(Hb);Ga=Gb,h$3.getInheritedInstanceCount=function(){return Object.keys(Q$2).length},h$3.getLiveInheritedInstances=function(){var a$2=[],b$2;for(b$2 in Q$2)Q$2.hasOwnProperty(b$2)&&a$2.push(Q$2[b$2]);return a$2},h$3.flushPendingDeletes=Ha,h$3.setDelayFunction=function(a$2){P$2=a$2,O$3.length&&P$2&&P$2(Ha)},Sa=h$3.InternalError=Da(`InternalError`),X$2.prototype.isAliasOf=function(a$2){if(!(this instanceof X$2&&a$2 instanceof X$2))return!1;var b$2=this.M.P.N,c$3=this.M.O,d$3=a$2.M.P.N;for(a$2=a$2.M.O;b$2.R;)c$3=b$2.ba(c$3),b$2=b$2.R;for(;d$3.R;)a$2=d$3.ba(a$2),d$3=d$3.R;return b$2===d$3&&c$3===a$2},X$2.prototype.clone=function(){if(this.M.O||$a(this),this.M.aa)return this.M.count.value+=1,this;var a$2=T$1,b$2=Object,c$3=b$2.create,d$3=Object.getPrototypeOf(this),e$1=this.M;return a$2=a$2(c$3.call(b$2,d$3,{M:{value:{count:e$1.count,$:e$1.$,aa:e$1.aa,O:e$1.O,P:e$1.P,T:e$1.T,U:e$1.U}}})),a$2.M.count.value+=1,a$2.M.$=!1,a$2},X$2.prototype.delete=function(){this.M.O||$a(this),this.M.$&&!this.M.aa&&L$2(`Object already scheduled for deletion`),Ma(this),Oa(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},X$2.prototype.isDeleted=function(){return!this.M.O},X$2.prototype.deleteLater=function(){return this.M.O||$a(this),this.M.$&&!this.M.aa&&L$2(`Object already scheduled for deletion`),O$3.push(this),O$3.length===1&&P$2&&P$2(Ha),this.M.$=!0,this},Y$1.prototype.qa=function(a$2){return this.ka&&(a$2=this.ka(a$2)),a$2},Y$1.prototype.ha=function(a$2){this.W&&this.W(a$2)},Y$1.prototype.argPackAdvance=8,Y$1.prototype.readValueFromPointer=Xa,Y$1.prototype.deleteObject=function(a$2){a$2!==null&&a$2.delete()},Y$1.prototype.fromWireType=function(a$2){function b$2(){return this.da?Ua(this.N.X,{P:this.wa,O:c$3,U:this,T:a$2}):Ua(this.N.X,{P:this,O:a$2})}var c$3=this.qa(a$2);if(!c$3)return this.ha(a$2),null;var d$3=Ra(this.N,c$3);if(d$3!==void 0)return d$3.M.count.value===0?(d$3.M.O=c$3,d$3.M.T=a$2,d$3.clone()):(d$3=d$3.clone(),this.ha(a$2),d$3);if(d$3=this.N.pa(c$3),d$3=Qa[d$3],!d$3)return b$2.call(this);d$3=this.ca?d$3.la:d$3.pointerType;var e$1=Pa(c$3,this.N,d$3.N);return e$1===null?b$2.call(this):this.da?Ua(d$3.N.X,{P:d$3,O:e$1,U:this,T:a$2}):Ua(d$3.N.X,{P:d$3,O:e$1})},mb=h$3.UnboundTypeError=Da(`UnboundTypeError`);var xa=typeof atob==`function`?atob:function(a$2){var b$2=``,c$3=0;a$2=a$2.replace(/[^A-Za-z0-9\+\/=]/g,``);do{var d$3=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++)),e$1=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++)),f=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++)),g=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++));d$3=d$3<<2|e$1>>4,e$1=(e$1&15)<<4|f>>2;var k=(f&3)<<6|g;b$2+=String.fromCharCode(d$3),f!==64&&(b$2+=String.fromCharCode(e$1)),g!==64&&(b$2+=String.fromCharCode(k))}while(c$3<a$2.length);return b$2},Jb={l:function(a$2,b$2,c$3,d$3){x$1(`Assertion failed: `+(a$2?z$5(A,a$2):``)+`, at: `+[b$2?b$2?z$5(A,b$2):``:`unknown filename`,c$3,d$3?d$3?z$5(A,d$3):``:`unknown function`])},q:function(a$2,b$2,c$3){a$2=N$1(a$2),b$2=La(b$2,`wrapper`),c$3=M$2(c$3);var d$3=[].slice,e$1=b$2.N,f=e$1.X,g=e$1.R.X,k=e$1.R.constructor;for(var m$2 in a$2=Ba(a$2,function(){e$1.R.ja.forEach(function(l$1){if(this[l$1]===g[l$1])throw new Fa(`Pure virtual function `+l$1+` must be implemented in JavaScript`)}.bind(this)),Object.defineProperty(this,`__parent`,{value:f}),this.__construct.apply(this,d$3.call(arguments))}),f.__construct=function(){this===f&&L$2(`Pass correct 'this' to __construct`);var l$1=k.implement.apply(void 0,[this].concat(d$3.call(arguments)));Ma(l$1);var n$2=l$1.M;l$1.notifyOnDestruction(),n$2.aa=!0,Object.defineProperties(this,{M:{value:n$2}}),T$1(this),l$1=n$2.O,l$1=Ia(e$1,l$1),Q$2.hasOwnProperty(l$1)?L$2(`Tried to register registered instance: `+l$1):Q$2[l$1]=this},f.__destruct=function(){this===f&&L$2(`Pass correct 'this' to __destruct`),Ma(this);var l$1=this.M.O;l$1=Ia(e$1,l$1),Q$2.hasOwnProperty(l$1)?delete Q$2[l$1]:L$2(`Tried to unregister unregistered instance: `+l$1)},a$2.prototype=Object.create(f),c$3)a$2.prototype[m$2]=c$3[m$2];return Ea(a$2)},j:function(a$2){var b$2=Va[a$2];delete Va[a$2];var c$3=b$2.fa,d$3=b$2.W,e$1=b$2.ia,f=e$1.map(g=>g.ta).concat(e$1.map(g=>g.za));V$3([a$2],f,g=>{var k={};return e$1.forEach((m$2,l$1)=>{var n$2=g[l$1],p=m$2.ra,r$2=m$2.sa,u$17=g[l$1+e$1.length],t$1=m$2.ya,y$3=m$2.Aa;k[m$2.oa]={read:B$1=>n$2.fromWireType(p(r$2,B$1)),write:(B$1,ba)=>{var I$3=[];t$1(y$3,B$1,u$17.toWireType(I$3,ba)),Wa(I$3)}}}),[{name:b$2.name,fromWireType:function(m$2){var l$1={},n$2;for(n$2 in k)l$1[n$2]=k[n$2].read(m$2);return d$3(m$2),l$1},toWireType:function(m$2,l$1){for(var n$2 in k)if(!(n$2 in l$1))throw TypeError(`Missing field: "`+n$2+`"`);var p=c$3();for(n$2 in k)k[n$2].write(p,l$1[n$2]);return m$2!==null&&m$2.push(d$3,p),p},argPackAdvance:8,readValueFromPointer:Xa,V:d$3}]})},v:function(){},B:function(a$2,b$2,c$3,d$3,e$1){var f=Za(c$3);b$2=N$1(b$2),W$2(a$2,{name:b$2,fromWireType:function(g){return!!g},toWireType:function(g,k){return k?d$3:e$1},argPackAdvance:8,readValueFromPointer:function(g){if(c$3===1)var k=ja;else if(c$3===2)k=C$2;else if(c$3===4)k=D$1;else throw TypeError(`Unknown boolean type size: `+b$2);return this.fromWireType(k[g>>f])},V:null})},f:function(a$2,b$2,c$3,d$3,e$1,f,g,k,m$2,l$1,n$2,p,r$2){n$2=N$1(n$2),f=Z(e$1,f),k&&=Z(g,k),l$1&&=Z(m$2,l$1),r$2=Z(p,r$2);var u$17=Aa(n$2);bb(u$17,function(){nb(`Cannot construct `+n$2+` due to unbound types`,[d$3])}),V$3([a$2,b$2,c$3],d$3?[d$3]:[],function(t$1){if(t$1=t$1[0],d$3)var y$3=t$1.N,B$1=y$3.X;else B$1=X$2.prototype;t$1=Ba(u$17,function(){if(Object.getPrototypeOf(this)!==ba)throw new K$2(`Use 'new' to construct `+n$2);if(I$3.Y===void 0)throw new K$2(n$2+` has no accessible constructor`);var kb=I$3.Y[arguments.length];if(kb===void 0)throw new K$2(`Tried to invoke ctor of `+n$2+` with invalid number of parameters (`+arguments.length+`) - expected (`+Object.keys(I$3.Y).toString()+`) parameters instead!`);return kb.apply(this,arguments)});var ba=Object.create(B$1,{constructor:{value:t$1}});t$1.prototype=ba;var I$3=new cb(n$2,t$1,ba,r$2,y$3,f,k,l$1);y$3=new Y$1(n$2,I$3,!0,!1),B$1=new Y$1(n$2+`*`,I$3,!1,!1);var lb=new Y$1(n$2+` const*`,I$3,!1,!0);return Qa[a$2]={pointerType:B$1,la:lb},ib(u$17,t$1),[y$3,B$1,lb]})},d:function(a$2,b$2,c$3,d$3,e$1,f,g){var k=pb(c$3,d$3);b$2=N$1(b$2),f=Z(e$1,f),V$3([],[a$2],function(m$2){function l$1(){nb(`Cannot call `+n$2+` due to unbound types`,k)}m$2=m$2[0];var n$2=m$2.name+`.`+b$2;b$2.startsWith(`@@`)&&(b$2=Symbol[b$2.substring(2)]);var p=m$2.N.constructor;return p[b$2]===void 0?(l$1.Z=c$3-1,p[b$2]=l$1):(ab$1(p,b$2,n$2),p[b$2].S[c$3-1]=l$1),V$3([],k,function(r$2){return r$2=ob(n$2,[r$2[0],null].concat(r$2.slice(1)),null,f,g),p[b$2].S===void 0?(r$2.Z=c$3-1,p[b$2]=r$2):p[b$2].S[c$3-1]=r$2,[]}),[]})},p:function(a$2,b$2,c$3,d$3,e$1,f){0<b$2||x$1();var g=pb(b$2,c$3);e$1=Z(d$3,e$1),V$3([],[a$2],function(k){k=k[0];var m$2=`constructor `+k.name;if(k.N.Y===void 0&&(k.N.Y=[]),k.N.Y[b$2-1]!==void 0)throw new K$2(`Cannot register multiple constructors with identical number of parameters (`+(b$2-1)+`) for class '`+k.name+`'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return k.N.Y[b$2-1]=()=>{nb(`Cannot construct `+k.name+` due to unbound types`,g)},V$3([],g,function(l$1){return l$1.splice(1,0,null),k.N.Y[b$2-1]=ob(m$2,l$1,null,e$1,f),[]}),[]})},a:function(a$2,b$2,c$3,d$3,e$1,f,g,k){var m$2=pb(c$3,d$3);b$2=N$1(b$2),f=Z(e$1,f),V$3([],[a$2],function(l$1){function n$2(){nb(`Cannot call `+p+` due to unbound types`,m$2)}l$1=l$1[0];var p=l$1.name+`.`+b$2;b$2.startsWith(`@@`)&&(b$2=Symbol[b$2.substring(2)]),k&&l$1.N.ja.push(b$2);var r$2=l$1.N.X,u$17=r$2[b$2];return u$17===void 0||u$17.S===void 0&&u$17.className!==l$1.name&&u$17.Z===c$3-2?(n$2.Z=c$3-2,n$2.className=l$1.name,r$2[b$2]=n$2):(ab$1(r$2,b$2,p),r$2[b$2].S[c$3-2]=n$2),V$3([],m$2,function(t$1){return t$1=ob(p,t$1,l$1,f,g),r$2[b$2].S===void 0?(t$1.Z=c$3-2,r$2[b$2]=t$1):r$2[b$2].S[c$3-2]=t$1,[]}),[]})},A:function(a$2,b$2){b$2=N$1(b$2),W$2(a$2,{name:b$2,fromWireType:function(c$3){var d$3=M$2(c$3);return qb(c$3),d$3},toWireType:function(c$3,d$3){return Ea(d$3)},argPackAdvance:8,readValueFromPointer:Xa,V:null})},n:function(a$2,b$2,c$3){c$3=Za(c$3),b$2=N$1(b$2),W$2(a$2,{name:b$2,fromWireType:function(d$3){return d$3},toWireType:function(d$3,e$1){return e$1},argPackAdvance:8,readValueFromPointer:rb(b$2,c$3),V:null})},e:function(a$2,b$2,c$3,d$3,e$1){b$2=N$1(b$2),e$1===-1&&(e$1=4294967295),e$1=Za(c$3);var f=k=>k;if(d$3===0){var g=32-8*c$3;f=k=>k<<g>>>g}c$3=b$2.includes(`unsigned`)?function(k,m$2){return m$2>>>0}:function(k,m$2){return m$2},W$2(a$2,{name:b$2,fromWireType:f,toWireType:c$3,argPackAdvance:8,readValueFromPointer:sb(b$2,e$1,d$3!==0),V:null})},b:function(a$2,b$2,c$3){function d$3(f){f>>=2;var g=E$2;return new e$1(ia,g[f+1],g[f])}var e$1=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b$2];c$3=N$1(c$3),W$2(a$2,{name:c$3,fromWireType:d$3,argPackAdvance:8,readValueFromPointer:d$3},{ua:!0})},o:function(a$2,b$2){b$2=N$1(b$2);var c$3=b$2===`std::string`;W$2(a$2,{name:b$2,fromWireType:function(d$3){var e$1=E$2[d$3>>2],f=d$3+4;if(c$3)for(var g=f,k=0;k<=e$1;++k){var m$2=f+k;if(k==e$1||A[m$2]==0){if(g=g?z$5(A,g,m$2-g):``,l$1===void 0)var l$1=g;else l$1+=`\0`,l$1+=g;g=m$2+1}}else{for(l$1=Array(e$1),k=0;k<e$1;++k)l$1[k]=String.fromCharCode(A[f+k]);l$1=l$1.join(``)}return S$1(d$3),l$1},toWireType:function(d$3,e$1){e$1 instanceof ArrayBuffer&&(e$1=new Uint8Array(e$1));var f,g=typeof e$1==`string`;if(g||e$1 instanceof Uint8Array||e$1 instanceof Uint8ClampedArray||e$1 instanceof Int8Array||L$2(`Cannot pass non-string to std::string`),c$3&&g){var k=0;for(f=0;f<e$1.length;++f){var m$2=e$1.charCodeAt(f);127>=m$2?k++:2047>=m$2?k+=2:55296<=m$2&&57343>=m$2?(k+=4,++f):k+=3}f=k}else f=e$1.length;if(k=Ib(4+f+1),m$2=k+4,E$2[k>>2]=f,c$3&&g){if(g=m$2,m$2=f+1,f=A,0<m$2){m$2=g+m$2-1;for(var l$1=0;l$1<e$1.length;++l$1){var n$2=e$1.charCodeAt(l$1);if(55296<=n$2&&57343>=n$2){var p=e$1.charCodeAt(++l$1);n$2=65536+((n$2&1023)<<10)|p&1023}if(127>=n$2){if(g>=m$2)break;f[g++]=n$2}else{if(2047>=n$2){if(g+1>=m$2)break;f[g++]=192|n$2>>6}else{if(65535>=n$2){if(g+2>=m$2)break;f[g++]=224|n$2>>12}else{if(g+3>=m$2)break;f[g++]=240|n$2>>18,f[g++]=128|n$2>>12&63}f[g++]=128|n$2>>6&63}f[g++]=128|n$2&63}}f[g]=0}}else if(g)for(g=0;g<f;++g)l$1=e$1.charCodeAt(g),255<l$1&&(S$1(m$2),L$2(`String has UTF-16 code units that do not fit in 8 bits`)),A[m$2+g]=l$1;else for(g=0;g<f;++g)A[m$2+g]=e$1[g];return d$3!==null&&d$3.push(S$1,k),k},argPackAdvance:8,readValueFromPointer:Xa,V:function(d$3){S$1(d$3)}})},i:function(a$2,b$2,c$3){if(c$3=N$1(c$3),b$2===2)var d$3=tb,e$1=ub,f=vb,g=()=>ka,k=1;else b$2===4&&(d$3=wb,e$1=xb,f=yb,g=()=>E$2,k=2);W$2(a$2,{name:c$3,fromWireType:function(m$2){for(var l$1=E$2[m$2>>2],n$2=g(),p,r$2=m$2+4,u$17=0;u$17<=l$1;++u$17){var t$1=m$2+4+u$17*b$2;(u$17==l$1||n$2[t$1>>k]==0)&&(r$2=d$3(r$2,t$1-r$2),p===void 0?p=r$2:(p+=`\0`,p+=r$2),r$2=t$1+b$2)}return S$1(m$2),p},toWireType:function(m$2,l$1){typeof l$1!=`string`&&L$2(`Cannot pass non-string to C++ string type `+c$3);var n$2=f(l$1),p=Ib(4+n$2+b$2);return E$2[p>>2]=n$2>>k,e$1(l$1,p+4,n$2+b$2),m$2!==null&&m$2.push(S$1,p),p},argPackAdvance:8,readValueFromPointer:Xa,V:function(m$2){S$1(m$2)}})},k:function(a$2,b$2,c$3,d$3,e$1,f){Va[a$2]={name:N$1(b$2),fa:Z(c$3,d$3),W:Z(e$1,f),ia:[]}},h:function(a$2,b$2,c$3,d$3,e$1,f,g,k,m$2,l$1){Va[a$2].ia.push({oa:N$1(b$2),ta:c$3,ra:Z(d$3,e$1),sa:f,za:g,ya:Z(k,m$2),Aa:l$1})},C:function(a$2,b$2){b$2=N$1(b$2),W$2(a$2,{va:!0,name:b$2,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(a$2,b$2,c$3,d$3,e$1){a$2=Bb[a$2],b$2=M$2(b$2),c$3=Ab(c$3);var f=[];return E$2[d$3>>2]=Ea(f),a$2(b$2,c$3,f,e$1)},t:function(a$2,b$2,c$3,d$3){a$2=Bb[a$2],b$2=M$2(b$2),c$3=Ab(c$3),a$2(b$2,c$3,null,d$3)},g:qb,m:function(a$2,b$2){var c$3=Db(a$2,b$2),d$3=c$3[0];b$2=d$3.name+`_$`+c$3.slice(1).map(function(g){return g.name}).join(`_`)+`$`;var e$1=Eb[b$2];if(e$1!==void 0)return e$1;var f=Array(a$2-1);return e$1=Cb((g,k,m$2,l$1)=>{for(var n$2=0,p=0;p<a$2-1;++p)f[p]=c$3[p+1].readValueFromPointer(l$1+n$2),n$2+=c$3[p+1].argPackAdvance;for(g=g[k].apply(g,f),p=0;p<a$2-1;++p)c$3[p+1].ma&&c$3[p+1].ma(f[p]);if(!d$3.va)return d$3.toWireType(m$2,g)}),Eb[b$2]=e$1},D:function(a$2){4<a$2&&(J$2[a$2].ga+=1)},r:function(a$2){var b$2=M$2(a$2);Wa(b$2),qb(a$2)},c:function(){x$1(``)},x:function(a$2,b$2,c$3){A.copyWithin(a$2,b$2,b$2+c$3)},w:function(a$2){var b$2=A.length;if(a$2>>>=0,2147483648<a$2)return!1;for(var c$3=1;4>=c$3;c$3*=2){var d$3=b$2*(1+.2/c$3);d$3=Math.min(d$3,a$2+100663296);var e$1=Math;d$3=Math.max(a$2,d$3),e$1=e$1.min.call(e$1,2147483648,d$3+(65536-d$3%65536)%65536);a:{try{fa.grow(e$1-ia.byteLength+65535>>>16),na();var f=1;break a}catch{}f=void 0}if(f)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(a$2,b$2,c$3,d$3){for(var e$1=0,f=0;f<c$3;f++){var g=E$2[b$2>>2],k=E$2[b$2+4>>2];b$2+=8;for(var m$2=0;m$2<k;m$2++){var l$1=A[g+m$2],n$2=Fb[a$2];l$1===0||l$1===10?((a$2===1?ea:v$1)(z$5(n$2,0)),n$2.length=0):n$2.push(l$1)}e$1+=k}return E$2[d$3>>2]=e$1,0}};(function(){function a$2(e$1){h$3.asm=e$1.exports,fa=h$3.asm.E,na(),oa=h$3.asm.J,qa.unshift(h$3.asm.F),F$2--,h$3.monitorRunDependencies&&h$3.monitorRunDependencies(F$2),F$2==0&&(ta!==null&&(clearInterval(ta),ta=null),G$2&&(e$1=G$2,G$2=null,e$1()))}function b$2(e$1){a$2(e$1.instance)}function c$3(e$1){return ya().then(function(f){return WebAssembly.instantiate(f,d$3)}).then(function(f){return f}).then(e$1,function(f){v$1(`failed to asynchronously prepare wasm: `+f),x$1(f)})}var d$3={a:Jb};if(F$2++,h$3.monitorRunDependencies&&h$3.monitorRunDependencies(F$2),h$3.instantiateWasm)try{return h$3.instantiateWasm(d$3,a$2)}catch(e$1){v$1(`Module.instantiateWasm callback failed with error: `+e$1),ca(e$1)}return(function(){return w$3||typeof WebAssembly.instantiateStreaming!=`function`||ua(H)||typeof fetch!=`function`?c$3(b$2):fetch(H,{credentials:`same-origin`}).then(function(e$1){return WebAssembly.instantiateStreaming(e$1,d$3).then(b$2,function(f){return v$1(`wasm streaming compile failed: `+f),v$1(`falling back to ArrayBuffer instantiation`),c$3(b$2)})})})().catch(ca),{}})(),h$3.___wasm_call_ctors=function(){return(h$3.___wasm_call_ctors=h$3.asm.F).apply(null,arguments)};var Ka=h$3.___getTypeName=function(){return(Ka=h$3.___getTypeName=h$3.asm.G).apply(null,arguments)};h$3.__embind_initialize_bindings=function(){return(h$3.__embind_initialize_bindings=h$3.asm.H).apply(null,arguments)};var Ib=h$3._malloc=function(){return(Ib=h$3._malloc=h$3.asm.I).apply(null,arguments)},S$1=h$3._free=function(){return(S$1=h$3._free=h$3.asm.K).apply(null,arguments)};h$3.dynCall_jiji=function(){return(h$3.dynCall_jiji=h$3.asm.L).apply(null,arguments)};var Kb;G$2=function Lb(){Kb||Mb(),Kb||(G$2=Lb)};function Mb(){function a$2(){if(!Kb&&(Kb=!0,h$3.calledRun=!0,!ha)){if(za(qa),aa(h$3),h$3.onRuntimeInitialized&&h$3.onRuntimeInitialized(),h$3.postRun)for(typeof h$3.postRun==`function`&&(h$3.postRun=[h$3.postRun]);h$3.postRun.length;){var b$2=h$3.postRun.shift();ra.unshift(b$2)}za(ra)}}if(!(0<F$2)){if(h$3.preRun)for(typeof h$3.preRun==`function`&&(h$3.preRun=[h$3.preRun]);h$3.preRun.length;)sa();za(pa),0<F$2||(h$3.setStatus?(h$3.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){h$3.setStatus(``)},1),a$2()},1)):a$2())}}if(h$3.preInit)for(typeof h$3.preInit==`function`&&(h$3.preInit=[h$3.preInit]);0<h$3.preInit.length;)h$3.preInit.pop()();return Mb(),loadYoga$1.ready})})();let Align=function(Align$1){return Align$1[Align$1.Auto=0]=`Auto`,Align$1[Align$1.FlexStart=1]=`FlexStart`,Align$1[Align$1.Center=2]=`Center`,Align$1[Align$1.FlexEnd=3]=`FlexEnd`,Align$1[Align$1.Stretch=4]=`Stretch`,Align$1[Align$1.Baseline=5]=`Baseline`,Align$1[Align$1.SpaceBetween=6]=`SpaceBetween`,Align$1[Align$1.SpaceAround=7]=`SpaceAround`,Align$1[Align$1.SpaceEvenly=8]=`SpaceEvenly`,Align$1}({}),BoxSizing=function(BoxSizing$1){return BoxSizing$1[BoxSizing$1.BorderBox=0]=`BorderBox`,BoxSizing$1[BoxSizing$1.ContentBox=1]=`ContentBox`,BoxSizing$1}({}),Dimension=function(Dimension$1){return Dimension$1[Dimension$1.Width=0]=`Width`,Dimension$1[Dimension$1.Height=1]=`Height`,Dimension$1}({}),Direction=function(Direction$1){return Direction$1[Direction$1.Inherit=0]=`Inherit`,Direction$1[Direction$1.LTR=1]=`LTR`,Direction$1[Direction$1.RTL=2]=`RTL`,Direction$1}({}),Display=function(Display$1){return Display$1[Display$1.Flex=0]=`Flex`,Display$1[Display$1.None=1]=`None`,Display$1[Display$1.Contents=2]=`Contents`,Display$1}({}),Edge=function(Edge$1){return Edge$1[Edge$1.Left=0]=`Left`,Edge$1[Edge$1.Top=1]=`Top`,Edge$1[Edge$1.Right=2]=`Right`,Edge$1[Edge$1.Bottom=3]=`Bottom`,Edge$1[Edge$1.Start=4]=`Start`,Edge$1[Edge$1.End=5]=`End`,Edge$1[Edge$1.Horizontal=6]=`Horizontal`,Edge$1[Edge$1.Vertical=7]=`Vertical`,Edge$1[Edge$1.All=8]=`All`,Edge$1}({}),Errata=function(Errata$1){return Errata$1[Errata$1.None=0]=`None`,Errata$1[Errata$1.StretchFlexBasis=1]=`StretchFlexBasis`,Errata$1[Errata$1.AbsolutePositionWithoutInsetsExcludesPadding=2]=`AbsolutePositionWithoutInsetsExcludesPadding`,Errata$1[Errata$1.AbsolutePercentAgainstInnerSize=4]=`AbsolutePercentAgainstInnerSize`,Errata$1[Errata$1.All=2147483647]=`All`,Errata$1[Errata$1.Classic=2147483646]=`Classic`,Errata$1}({}),ExperimentalFeature=function(ExperimentalFeature$1){return ExperimentalFeature$1[ExperimentalFeature$1.WebFlexBasis=0]=`WebFlexBasis`,ExperimentalFeature$1}({}),FlexDirection=function(FlexDirection$1){return FlexDirection$1[FlexDirection$1.Column=0]=`Column`,FlexDirection$1[FlexDirection$1.ColumnReverse=1]=`ColumnReverse`,FlexDirection$1[FlexDirection$1.Row=2]=`Row`,FlexDirection$1[FlexDirection$1.RowReverse=3]=`RowReverse`,FlexDirection$1}({}),Gutter=function(Gutter$1){return Gutter$1[Gutter$1.Column=0]=`Column`,Gutter$1[Gutter$1.Row=1]=`Row`,Gutter$1[Gutter$1.All=2]=`All`,Gutter$1}({}),Justify=function(Justify$1){return Justify$1[Justify$1.FlexStart=0]=`FlexStart`,Justify$1[Justify$1.Center=1]=`Center`,Justify$1[Justify$1.FlexEnd=2]=`FlexEnd`,Justify$1[Justify$1.SpaceBetween=3]=`SpaceBetween`,Justify$1[Justify$1.SpaceAround=4]=`SpaceAround`,Justify$1[Justify$1.SpaceEvenly=5]=`SpaceEvenly`,Justify$1}({}),LogLevel=function(LogLevel$1){return LogLevel$1[LogLevel$1.Error=0]=`Error`,LogLevel$1[LogLevel$1.Warn=1]=`Warn`,LogLevel$1[LogLevel$1.Info=2]=`Info`,LogLevel$1[LogLevel$1.Debug=3]=`Debug`,LogLevel$1[LogLevel$1.Verbose=4]=`Verbose`,LogLevel$1[LogLevel$1.Fatal=5]=`Fatal`,LogLevel$1}({}),MeasureMode=function(MeasureMode$1){return MeasureMode$1[MeasureMode$1.Undefined=0]=`Undefined`,MeasureMode$1[MeasureMode$1.Exactly=1]=`Exactly`,MeasureMode$1[MeasureMode$1.AtMost=2]=`AtMost`,MeasureMode$1}({}),NodeType=function(NodeType$1){return NodeType$1[NodeType$1.Default=0]=`Default`,NodeType$1[NodeType$1.Text=1]=`Text`,NodeType$1}({}),Overflow=function(Overflow$1){return Overflow$1[Overflow$1.Visible=0]=`Visible`,Overflow$1[Overflow$1.Hidden=1]=`Hidden`,Overflow$1[Overflow$1.Scroll=2]=`Scroll`,Overflow$1}({}),PositionType=function(PositionType$1){return PositionType$1[PositionType$1.Static=0]=`Static`,PositionType$1[PositionType$1.Relative=1]=`Relative`,PositionType$1[PositionType$1.Absolute=2]=`Absolute`,PositionType$1}({}),Unit=function(Unit$1){return Unit$1[Unit$1.Undefined=0]=`Undefined`,Unit$1[Unit$1.Point=1]=`Point`,Unit$1[Unit$1.Percent=2]=`Percent`,Unit$1[Unit$1.Auto=3]=`Auto`,Unit$1}({}),Wrap=function(Wrap$1){return Wrap$1[Wrap$1.NoWrap=0]=`NoWrap`,Wrap$1[Wrap$1.Wrap=1]=`Wrap`,Wrap$1[Wrap$1.WrapReverse=2]=`WrapReverse`,Wrap$1}({});var YGEnums_default={ALIGN_AUTO:Align.Auto,ALIGN_FLEX_START:Align.FlexStart,ALIGN_CENTER:Align.Center,ALIGN_FLEX_END:Align.FlexEnd,ALIGN_STRETCH:Align.Stretch,ALIGN_BASELINE:Align.Baseline,ALIGN_SPACE_BETWEEN:Align.SpaceBetween,ALIGN_SPACE_AROUND:Align.SpaceAround,ALIGN_SPACE_EVENLY:Align.SpaceEvenly,BOX_SIZING_BORDER_BOX:BoxSizing.BorderBox,BOX_SIZING_CONTENT_BOX:BoxSizing.ContentBox,DIMENSION_WIDTH:Dimension.Width,DIMENSION_HEIGHT:Dimension.Height,DIRECTION_INHERIT:Direction.Inherit,DIRECTION_LTR:Direction.LTR,DIRECTION_RTL:Direction.RTL,DISPLAY_FLEX:Display.Flex,DISPLAY_NONE:Display.None,DISPLAY_CONTENTS:Display.Contents,EDGE_LEFT:Edge.Left,EDGE_TOP:Edge.Top,EDGE_RIGHT:Edge.Right,EDGE_BOTTOM:Edge.Bottom,EDGE_START:Edge.Start,EDGE_END:Edge.End,EDGE_HORIZONTAL:Edge.Horizontal,EDGE_VERTICAL:Edge.Vertical,EDGE_ALL:Edge.All,ERRATA_NONE:Errata.None,ERRATA_STRETCH_FLEX_BASIS:Errata.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:Errata.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:Errata.AbsolutePercentAgainstInnerSize,ERRATA_ALL:Errata.All,ERRATA_CLASSIC:Errata.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:ExperimentalFeature.WebFlexBasis,FLEX_DIRECTION_COLUMN:FlexDirection.Column,FLEX_DIRECTION_COLUMN_REVERSE:FlexDirection.ColumnReverse,FLEX_DIRECTION_ROW:FlexDirection.Row,FLEX_DIRECTION_ROW_REVERSE:FlexDirection.RowReverse,GUTTER_COLUMN:Gutter.Column,GUTTER_ROW:Gutter.Row,GUTTER_ALL:Gutter.All,JUSTIFY_FLEX_START:Justify.FlexStart,JUSTIFY_CENTER:Justify.Center,JUSTIFY_FLEX_END:Justify.FlexEnd,JUSTIFY_SPACE_BETWEEN:Justify.SpaceBetween,JUSTIFY_SPACE_AROUND:Justify.SpaceAround,JUSTIFY_SPACE_EVENLY:Justify.SpaceEvenly,LOG_LEVEL_ERROR:LogLevel.Error,LOG_LEVEL_WARN:LogLevel.Warn,LOG_LEVEL_INFO:LogLevel.Info,LOG_LEVEL_DEBUG:LogLevel.Debug,LOG_LEVEL_VERBOSE:LogLevel.Verbose,LOG_LEVEL_FATAL:LogLevel.Fatal,MEASURE_MODE_UNDEFINED:MeasureMode.Undefined,MEASURE_MODE_EXACTLY:MeasureMode.Exactly,MEASURE_MODE_AT_MOST:MeasureMode.AtMost,NODE_TYPE_DEFAULT:NodeType.Default,NODE_TYPE_TEXT:NodeType.Text,OVERFLOW_VISIBLE:Overflow.Visible,OVERFLOW_HIDDEN:Overflow.Hidden,OVERFLOW_SCROLL:Overflow.Scroll,POSITION_TYPE_STATIC:PositionType.Static,POSITION_TYPE_RELATIVE:PositionType.Relative,POSITION_TYPE_ABSOLUTE:PositionType.Absolute,UNIT_UNDEFINED:Unit.Undefined,UNIT_POINT:Unit.Point,UNIT_PERCENT:Unit.Percent,UNIT_AUTO:Unit.Auto,WRAP_NO_WRAP:Wrap.NoWrap,WRAP_WRAP:Wrap.Wrap,WRAP_WRAP_REVERSE:Wrap.WrapReverse};function wrapAssembly(lib){function patch$2(prototype,name$2,fn){let original=prototype[name$2];prototype[name$2]=function(){var args=[...arguments];return fn.call(this,original,...args)}}for(let fnName of[`setPosition`,`setMargin`,`setFlexBasis`,`setWidth`,`setHeight`,`setMinWidth`,`setMinHeight`,`setMaxWidth`,`setMaxHeight`,`setPadding`,`setGap`]){let methods={[Unit.Point]:lib.Node.prototype[fnName],[Unit.Percent]:lib.Node.prototype[`${fnName}Percent`],[Unit.Auto]:lib.Node.prototype[`${fnName}Auto`]};patch$2(lib.Node.prototype,fnName,function(original){var args=[...arguments].slice(1);let value=args.pop(),unit,asNumber$1;if(value===`auto`)unit=Unit.Auto,asNumber$1=void 0;else if(typeof value==`object`)unit=value.unit,asNumber$1=value.valueOf();else if(unit=typeof value==`string`&&value.endsWith(`%`)?Unit.Percent:Unit.Point,asNumber$1=parseFloat(value),value!==void 0&&!Number.isNaN(value)&&Number.isNaN(asNumber$1))throw Error(`Invalid value ${value} for ${fnName}`);if(!methods[unit])throw Error(`Failed to execute "${fnName}": Unsupported unit '${value}'`);return asNumber$1===void 0?methods[unit].call(this,...args):methods[unit].call(this,...args,asNumber$1)})}function wrapMeasureFunction(measureFunction){return lib.MeasureCallback.implement({measure:function(){let{width,height}=measureFunction(...arguments);return{width:width??NaN,height:height??NaN}}})}patch$2(lib.Node.prototype,`setMeasureFunc`,function(original,measureFunc){return measureFunc?original.call(this,wrapMeasureFunction(measureFunc)):this.unsetMeasureFunc()});function wrapDirtiedFunc(dirtiedFunction){return lib.DirtiedCallback.implement({dirtied:dirtiedFunction})}return patch$2(lib.Node.prototype,`setDirtiedFunc`,function(original,dirtiedFunc){original.call(this,wrapDirtiedFunc(dirtiedFunc))}),patch$2(lib.Config.prototype,`free`,function(){lib.Config.destroy(this)}),patch$2(lib.Node,`create`,(_$3,config)=>config?lib.Node.createWithConfig(config):lib.Node.createDefault()),patch$2(lib.Node.prototype,`free`,function(){lib.Node.destroy(this)}),patch$2(lib.Node.prototype,`freeRecursive`,function(){for(let t$1=0,T$1=this.getChildCount();t$1<T$1;++t$1)this.getChild(0).freeRecursive();this.free()}),patch$2(lib.Node.prototype,`calculateLayout`,function(original){let width=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,height=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,direction=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Direction.LTR;return original.call(this,width,height,direction)}),{Config:lib.Config,Node:lib.Node,...YGEnums_default}}var src_default=wrapAssembly(await yoga_wasm_base64_esm_default());function ansiRegex({onlyFirst=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,onlyFirst?void 0:`g`)}const regex$2=ansiRegex();function stripAnsi(string){if(typeof string!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof string}\``);return string.replace(regex$2,``)}function isAmbiguous(x$1){return x$1===161||x$1===164||x$1===167||x$1===168||x$1===170||x$1===173||x$1===174||x$1>=176&&x$1<=180||x$1>=182&&x$1<=186||x$1>=188&&x$1<=191||x$1===198||x$1===208||x$1===215||x$1===216||x$1>=222&&x$1<=225||x$1===230||x$1>=232&&x$1<=234||x$1===236||x$1===237||x$1===240||x$1===242||x$1===243||x$1>=247&&x$1<=250||x$1===252||x$1===254||x$1===257||x$1===273||x$1===275||x$1===283||x$1===294||x$1===295||x$1===299||x$1>=305&&x$1<=307||x$1===312||x$1>=319&&x$1<=322||x$1===324||x$1>=328&&x$1<=331||x$1===333||x$1===338||x$1===339||x$1===358||x$1===359||x$1===363||x$1===462||x$1===464||x$1===466||x$1===468||x$1===470||x$1===472||x$1===474||x$1===476||x$1===593||x$1===609||x$1===708||x$1===711||x$1>=713&&x$1<=715||x$1===717||x$1===720||x$1>=728&&x$1<=731||x$1===733||x$1===735||x$1>=768&&x$1<=879||x$1>=913&&x$1<=929||x$1>=931&&x$1<=937||x$1>=945&&x$1<=961||x$1>=963&&x$1<=969||x$1===1025||x$1>=1040&&x$1<=1103||x$1===1105||x$1===8208||x$1>=8211&&x$1<=8214||x$1===8216||x$1===8217||x$1===8220||x$1===8221||x$1>=8224&&x$1<=8226||x$1>=8228&&x$1<=8231||x$1===8240||x$1===8242||x$1===8243||x$1===8245||x$1===8251||x$1===8254||x$1===8308||x$1===8319||x$1>=8321&&x$1<=8324||x$1===8364||x$1===8451||x$1===8453||x$1===8457||x$1===8467||x$1===8470||x$1===8481||x$1===8482||x$1===8486||x$1===8491||x$1===8531||x$1===8532||x$1>=8539&&x$1<=8542||x$1>=8544&&x$1<=8555||x$1>=8560&&x$1<=8569||x$1===8585||x$1>=8592&&x$1<=8601||x$1===8632||x$1===8633||x$1===8658||x$1===8660||x$1===8679||x$1===8704||x$1===8706||x$1===8707||x$1===8711||x$1===8712||x$1===8715||x$1===8719||x$1===8721||x$1===8725||x$1===8730||x$1>=8733&&x$1<=8736||x$1===8739||x$1===8741||x$1>=8743&&x$1<=8748||x$1===8750||x$1>=8756&&x$1<=8759||x$1===8764||x$1===8765||x$1===8776||x$1===8780||x$1===8786||x$1===8800||x$1===8801||x$1>=8804&&x$1<=8807||x$1===8810||x$1===8811||x$1===8814||x$1===8815||x$1===8834||x$1===8835||x$1===8838||x$1===8839||x$1===8853||x$1===8857||x$1===8869||x$1===8895||x$1===8978||x$1>=9312&&x$1<=9449||x$1>=9451&&x$1<=9547||x$1>=9552&&x$1<=9587||x$1>=9600&&x$1<=9615||x$1>=9618&&x$1<=9621||x$1===9632||x$1===9633||x$1>=9635&&x$1<=9641||x$1===9650||x$1===9651||x$1===9654||x$1===9655||x$1===9660||x$1===9661||x$1===9664||x$1===9665||x$1>=9670&&x$1<=9672||x$1===9675||x$1>=9678&&x$1<=9681||x$1>=9698&&x$1<=9701||x$1===9711||x$1===9733||x$1===9734||x$1===9737||x$1===9742||x$1===9743||x$1===9756||x$1===9758||x$1===9792||x$1===9794||x$1===9824||x$1===9825||x$1>=9827&&x$1<=9829||x$1>=9831&&x$1<=9834||x$1===9836||x$1===9837||x$1===9839||x$1===9886||x$1===9887||x$1===9919||x$1>=9926&&x$1<=9933||x$1>=9935&&x$1<=9939||x$1>=9941&&x$1<=9953||x$1===9955||x$1===9960||x$1===9961||x$1>=9963&&x$1<=9969||x$1===9972||x$1>=9974&&x$1<=9977||x$1===9979||x$1===9980||x$1===9982||x$1===9983||x$1===10045||x$1>=10102&&x$1<=10111||x$1>=11094&&x$1<=11097||x$1>=12872&&x$1<=12879||x$1>=57344&&x$1<=63743||x$1>=65024&&x$1<=65039||x$1===65533||x$1>=127232&&x$1<=127242||x$1>=127248&&x$1<=127277||x$1>=127280&&x$1<=127337||x$1>=127344&&x$1<=127373||x$1===127375||x$1===127376||x$1>=127387&&x$1<=127404||x$1>=917760&&x$1<=917999||x$1>=983040&&x$1<=1048573||x$1>=1048576&&x$1<=1114109}function isFullWidth(x$1){return x$1===12288||x$1>=65281&&x$1<=65376||x$1>=65504&&x$1<=65510}function isWide(x$1){return x$1>=4352&&x$1<=4447||x$1===8986||x$1===8987||x$1===9001||x$1===9002||x$1>=9193&&x$1<=9196||x$1===9200||x$1===9203||x$1===9725||x$1===9726||x$1===9748||x$1===9749||x$1>=9776&&x$1<=9783||x$1>=9800&&x$1<=9811||x$1===9855||x$1>=9866&&x$1<=9871||x$1===9875||x$1===9889||x$1===9898||x$1===9899||x$1===9917||x$1===9918||x$1===9924||x$1===9925||x$1===9934||x$1===9940||x$1===9962||x$1===9970||x$1===9971||x$1===9973||x$1===9978||x$1===9981||x$1===9989||x$1===9994||x$1===9995||x$1===10024||x$1===10060||x$1===10062||x$1>=10067&&x$1<=10069||x$1===10071||x$1>=10133&&x$1<=10135||x$1===10160||x$1===10175||x$1===11035||x$1===11036||x$1===11088||x$1===11093||x$1>=11904&&x$1<=11929||x$1>=11931&&x$1<=12019||x$1>=12032&&x$1<=12245||x$1>=12272&&x$1<=12287||x$1>=12289&&x$1<=12350||x$1>=12353&&x$1<=12438||x$1>=12441&&x$1<=12543||x$1>=12549&&x$1<=12591||x$1>=12593&&x$1<=12686||x$1>=12688&&x$1<=12773||x$1>=12783&&x$1<=12830||x$1>=12832&&x$1<=12871||x$1>=12880&&x$1<=42124||x$1>=42128&&x$1<=42182||x$1>=43360&&x$1<=43388||x$1>=44032&&x$1<=55203||x$1>=63744&&x$1<=64255||x$1>=65040&&x$1<=65049||x$1>=65072&&x$1<=65106||x$1>=65108&&x$1<=65126||x$1>=65128&&x$1<=65131||x$1>=94176&&x$1<=94180||x$1>=94192&&x$1<=94198||x$1>=94208&&x$1<=101589||x$1>=101631&&x$1<=101662||x$1>=101760&&x$1<=101874||x$1>=110576&&x$1<=110579||x$1>=110581&&x$1<=110587||x$1===110589||x$1===110590||x$1>=110592&&x$1<=110882||x$1===110898||x$1>=110928&&x$1<=110930||x$1===110933||x$1>=110948&&x$1<=110951||x$1>=110960&&x$1<=111355||x$1>=119552&&x$1<=119638||x$1>=119648&&x$1<=119670||x$1===126980||x$1===127183||x$1===127374||x$1>=127377&&x$1<=127386||x$1>=127488&&x$1<=127490||x$1>=127504&&x$1<=127547||x$1>=127552&&x$1<=127560||x$1===127568||x$1===127569||x$1>=127584&&x$1<=127589||x$1>=127744&&x$1<=127776||x$1>=127789&&x$1<=127797||x$1>=127799&&x$1<=127868||x$1>=127870&&x$1<=127891||x$1>=127904&&x$1<=127946||x$1>=127951&&x$1<=127955||x$1>=127968&&x$1<=127984||x$1===127988||x$1>=127992&&x$1<=128062||x$1===128064||x$1>=128066&&x$1<=128252||x$1>=128255&&x$1<=128317||x$1>=128331&&x$1<=128334||x$1>=128336&&x$1<=128359||x$1===128378||x$1===128405||x$1===128406||x$1===128420||x$1>=128507&&x$1<=128591||x$1>=128640&&x$1<=128709||x$1===128716||x$1>=128720&&x$1<=128722||x$1>=128725&&x$1<=128728||x$1>=128732&&x$1<=128735||x$1===128747||x$1===128748||x$1>=128756&&x$1<=128764||x$1>=128992&&x$1<=129003||x$1===129008||x$1>=129292&&x$1<=129338||x$1>=129340&&x$1<=129349||x$1>=129351&&x$1<=129535||x$1>=129648&&x$1<=129660||x$1>=129664&&x$1<=129674||x$1>=129678&&x$1<=129734||x$1===129736||x$1>=129741&&x$1<=129756||x$1>=129759&&x$1<=129770||x$1>=129775&&x$1<=129784||x$1>=131072&&x$1<=196605||x$1>=196608&&x$1<=262141}function validate$6(codePoint){if(!Number.isSafeInteger(codePoint))throw TypeError(`Expected a code point, got \`${typeof codePoint}\`.`)}function eastAsianWidth(codePoint,{ambiguousAsWide=!1}={}){return validate$6(codePoint),isFullWidth(codePoint)||isWide(codePoint)||ambiguousAsWide&&isAmbiguous(codePoint)?2:1}var import_emoji_regex=__toESM(__commonJSMin(((exports,module)=>{module.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}))(),1);const segmenter=new Intl.Segmenter,defaultIgnorableCodePointRegex=/^\p{Default_Ignorable_Code_Point}$/u;function stringWidth(string,options$1={}){if(typeof string!=`string`||string.length===0)return 0;let{ambiguousIsNarrow=!0,countAnsiEscapeCodes=!1}=options$1;if(countAnsiEscapeCodes||(string=stripAnsi(string)),string.length===0)return 0;let width=0,eastAsianWidthOptions={ambiguousAsWide:!ambiguousIsNarrow};for(let{segment:character}of segmenter.segment(string)){let codePoint=character.codePointAt(0);if(!(codePoint<=31||codePoint>=127&&codePoint<=159)&&!(codePoint>=8203&&codePoint<=8207||codePoint===65279)&&!(codePoint>=768&&codePoint<=879||codePoint>=6832&&codePoint<=6911||codePoint>=7616&&codePoint<=7679||codePoint>=8400&&codePoint<=8447||codePoint>=65056&&codePoint<=65071)&&!(codePoint>=55296&&codePoint<=57343)&&!(codePoint>=65024&&codePoint<=65039)&&!defaultIgnorableCodePointRegex.test(character)){if((0,import_emoji_regex.default)().test(character)){width+=2;continue}width+=eastAsianWidth(codePoint,eastAsianWidthOptions)}}return width}const ANSI_BACKGROUND_OFFSET$2=10,wrapAnsi16$3=(offset=0)=>code$1=>`\u001B[${code$1+offset}m`,wrapAnsi256$3=(offset=0)=>code$1=>`\u001B[${38+offset};5;${code$1}m`,wrapAnsi16m$3=(offset=0)=>(red$1,green$1,blue$1)=>`\u001B[${38+offset};2;${red$1};${green$1};${blue$1}m`,styles$8={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},modifierNames$2=Object.keys(styles$8.modifier),foregroundColorNames$2=Object.keys(styles$8.color),backgroundColorNames$2=Object.keys(styles$8.bgColor),colorNames$2=[...foregroundColorNames$2,...backgroundColorNames$2];function assembleStyles$3(){let codes$1=new Map;for(let[groupName,group]of Object.entries(styles$8)){for(let[styleName,style]of Object.entries(group))styles$8[styleName]={open:`\u001B[${style[0]}m`,close:`\u001B[${style[1]}m`},group[styleName]=styles$8[styleName],codes$1.set(style[0],style[1]);Object.defineProperty(styles$8,groupName,{value:group,enumerable:!1})}return Object.defineProperty(styles$8,`codes`,{value:codes$1,enumerable:!1}),styles$8.color.close=`\x1B[39m`,styles$8.bgColor.close=`\x1B[49m`,styles$8.color.ansi=wrapAnsi16$3(),styles$8.color.ansi256=wrapAnsi256$3(),styles$8.color.ansi16m=wrapAnsi16m$3(),styles$8.bgColor.ansi=wrapAnsi16$3(10),styles$8.bgColor.ansi256=wrapAnsi256$3(10),styles$8.bgColor.ansi16m=wrapAnsi16m$3(10),Object.defineProperties(styles$8,{rgbToAnsi256:{value(red$1,green$1,blue$1){return red$1===green$1&&green$1===blue$1?red$1<8?16:red$1>248?231:Math.round((red$1-8)/247*24)+232:16+36*Math.round(red$1/255*5)+6*Math.round(green$1/255*5)+Math.round(blue$1/255*5)},enumerable:!1},hexToRgb:{value(hex){let matches=/[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));if(!matches)return[0,0,0];let[colorString]=matches;colorString.length===3&&(colorString=[...colorString].map(character=>character+character).join(``));let integer=Number.parseInt(colorString,16);return[integer>>16&255,integer>>8&255,integer&255]},enumerable:!1},hexToAnsi256:{value:hex=>styles$8.rgbToAnsi256(...styles$8.hexToRgb(hex)),enumerable:!1},ansi256ToAnsi:{value(code$1){if(code$1<8)return 30+code$1;if(code$1<16)return 90+(code$1-8);let red$1,green$1,blue$1;if(code$1>=232)red$1=((code$1-232)*10+8)/255,green$1=red$1,blue$1=red$1;else{code$1-=16;let remainder=code$1%36;red$1=Math.floor(code$1/36)/5,green$1=Math.floor(remainder/6)/5,blue$1=remainder%6/5}let value=Math.max(red$1,green$1,blue$1)*2;if(value===0)return 30;let result=30+(Math.round(blue$1)<<2|Math.round(green$1)<<1|Math.round(red$1));return value===2&&(result+=60),result},enumerable:!1},rgbToAnsi:{value:(red$1,green$1,blue$1)=>styles$8.ansi256ToAnsi(styles$8.rgbToAnsi256(red$1,green$1,blue$1)),enumerable:!1},hexToAnsi:{value:hex=>styles$8.ansi256ToAnsi(styles$8.hexToAnsi256(hex)),enumerable:!1}}),styles$8}var ansi_styles_default$1=assembleStyles$3();const ESCAPES$4=new Set([`\x1B`,``]),END_CODE=39,ANSI_ESCAPE_BELL=`\x07`,ANSI_CSI=`[`,ANSI_OSC=`]`,ANSI_SGR_TERMINATOR=`m`,ANSI_ESCAPE_LINK=`]8;;`,wrapAnsiCode=code$1=>`${ESCAPES$4.values().next().value}[${code$1}m`,wrapAnsiHyperlink=url$3=>`${ESCAPES$4.values().next().value}${ANSI_ESCAPE_LINK}${url$3}`,wordLengths=string=>string.split(` `).map(character=>stringWidth(character)),wrapWord=(rows,word,columns)=>{let characters=[...word],isInsideEscape=!1,isInsideLinkEscape=!1,visible=stringWidth(stripAnsi(rows.at(-1)));for(let[index,character]of characters.entries()){let characterLength=stringWidth(character);if(visible+characterLength<=columns?rows[rows.length-1]+=character:(rows.push(character),visible=0),ESCAPES$4.has(character)&&(isInsideEscape=!0,isInsideLinkEscape=characters.slice(index+1,index+1+4).join(``)===ANSI_ESCAPE_LINK),isInsideEscape){isInsideLinkEscape?character===`\x07`&&(isInsideEscape=!1,isInsideLinkEscape=!1):character===`m`&&(isInsideEscape=!1);continue}visible+=characterLength,visible===columns&&index<characters.length-1&&(rows.push(``),visible=0)}!visible&&rows.at(-1).length>0&&rows.length>1&&(rows[rows.length-2]+=rows.pop())},stringVisibleTrimSpacesRight=string=>{let words$1=string.split(` `),last$1=words$1.length;for(;last$1>0&&!(stringWidth(words$1[last$1-1])>0);)last$1--;return last$1===words$1.length?string:words$1.slice(0,last$1).join(` `)+words$1.slice(last$1).join(``)},exec$1=(string,columns,options$1={})=>{if(options$1.trim!==!1&&string.trim()===``)return``;let returnValue=``,escapeCode,escapeUrl,lengths=wordLengths(string),rows=[``];for(let[index,word]of string.split(` `).entries()){options$1.trim!==!1&&(rows[rows.length-1]=rows.at(-1).trimStart());let rowLength=stringWidth(rows.at(-1));if(index!==0&&(rowLength>=columns&&(options$1.wordWrap===!1||options$1.trim===!1)&&(rows.push(``),rowLength=0),(rowLength>0||options$1.trim===!1)&&(rows[rows.length-1]+=` `,rowLength++)),options$1.hard&&lengths[index]>columns){let remainingColumns=columns-rowLength,breaksStartingThisLine=1+Math.floor((lengths[index]-remainingColumns-1)/columns);Math.floor((lengths[index]-1)/columns)<breaksStartingThisLine&&rows.push(``),wrapWord(rows,word,columns);continue}if(rowLength+lengths[index]>columns&&rowLength>0&&lengths[index]>0){if(options$1.wordWrap===!1&&rowLength<columns){wrapWord(rows,word,columns);continue}rows.push(``)}if(rowLength+lengths[index]>columns&&options$1.wordWrap===!1){wrapWord(rows,word,columns);continue}rows[rows.length-1]+=word}options$1.trim!==!1&&(rows=rows.map(row=>stringVisibleTrimSpacesRight(row)));let preString=rows.join(`
|
|
2
|
+
`+d$3.replace(/^Error(:[^\n]*)?\n/,``))});return c$3.prototype=Object.create(b$2.prototype),c$3.prototype.constructor=c$3,c$3.prototype.toString=function(){return this.message===void 0?this.name:this.name+`: `+this.message},c$3}var K$2=void 0;function L$2(a$2){throw new K$2(a$2)}var M$2=a$2=>(a$2||L$2(`Cannot use deleted val. handle = `+a$2),J$2[a$2].value),Ea=a$2=>{switch(a$2){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var b$2=Ca.length?Ca.pop():J$2.length;return J$2[b$2]={ga:1,value:a$2},b$2}},Fa=void 0,Ga=void 0;function N$1(a$2){for(var b$2=``;A[a$2];)b$2+=Ga[A[a$2++]];return b$2}var O$3=[];function Ha(){for(;O$3.length;){var a$2=O$3.pop();a$2.M.$=!1,a$2.delete()}}var P$2=void 0,Q$2={};function Ia(a$2,b$2){for(b$2===void 0&&L$2(`ptr should not be undefined`);a$2.R;)b$2=a$2.ba(b$2),a$2=a$2.R;return b$2}var R$2={};function Ja(a$2){a$2=Ka(a$2);var b$2=N$1(a$2);return S$1(a$2),b$2}function La(a$2,b$2){var c$3=R$2[a$2];return c$3===void 0&&L$2(b$2+` has unknown type `+Ja(a$2)),c$3}function Ma(){}var Na=!1;function Oa(a$2){--a$2.count.value,a$2.count.value===0&&(a$2.T?a$2.U.W(a$2.T):a$2.P.N.W(a$2.O))}function Pa(a$2,b$2,c$3){return b$2===c$3?a$2:c$3.R===void 0?null:(a$2=Pa(a$2,b$2,c$3.R),a$2===null?null:c$3.na(a$2))}var Qa={};function Ra(a$2,b$2){return b$2=Ia(a$2,b$2),Q$2[b$2]}var Sa=void 0;function Ta(a$2){throw new Sa(a$2)}function Ua(a$2,b$2){return b$2.P&&b$2.O||Ta(`makeClassHandle requires ptr and ptrType`),!!b$2.U!=!!b$2.T&&Ta(`Both smartPtrType and smartPtr must be specified`),b$2.count={value:1},T$1(Object.create(a$2,{M:{value:b$2}}))}function T$1(a$2){return typeof FinalizationRegistry>`u`?(T$1=b$2=>b$2,a$2):(Na=new FinalizationRegistry(b$2=>{Oa(b$2.M)}),T$1=b$2=>{var c$3=b$2.M;return c$3.T&&Na.register(b$2,{M:c$3},b$2),b$2},Ma=b$2=>{Na.unregister(b$2)},T$1(a$2))}var Va={};function Wa(a$2){for(;a$2.length;){var b$2=a$2.pop();a$2.pop()(b$2)}}function Xa(a$2){return this.fromWireType(D$1[a$2>>2])}var U$2={},Ya={};function V$3(a$2,b$2,c$3){function d$3(k){k=c$3(k),k.length!==a$2.length&&Ta(`Mismatched type converter count`);for(var m$2=0;m$2<a$2.length;++m$2)W$2(a$2[m$2],k[m$2])}a$2.forEach(function(k){Ya[k]=b$2});var e$1=Array(b$2.length),f=[],g=0;b$2.forEach((k,m$2)=>{R$2.hasOwnProperty(k)?e$1[m$2]=R$2[k]:(f.push(k),U$2.hasOwnProperty(k)||(U$2[k]=[]),U$2[k].push(()=>{e$1[m$2]=R$2[k],++g,g===f.length&&d$3(e$1)}))}),f.length===0&&d$3(e$1)}function Za(a$2){switch(a$2){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError(`Unknown type size: `+a$2)}}function W$2(a$2,b$2,c$3={}){if(!(`argPackAdvance`in b$2))throw TypeError(`registerType registeredInstance requires argPackAdvance`);var d$3=b$2.name;if(a$2||L$2(`type "`+d$3+`" must have a positive integer typeid pointer`),R$2.hasOwnProperty(a$2)){if(c$3.ua)return;L$2(`Cannot register type '`+d$3+`' twice`)}R$2[a$2]=b$2,delete Ya[a$2],U$2.hasOwnProperty(a$2)&&(b$2=U$2[a$2],delete U$2[a$2],b$2.forEach(e$1=>e$1()))}function $a(a$2){L$2(a$2.M.P.N.name+` instance already deleted`)}function X$2(){}function ab$1(a$2,b$2,c$3){if(a$2[b$2].S===void 0){var d$3=a$2[b$2];a$2[b$2]=function(){return a$2[b$2].S.hasOwnProperty(arguments.length)||L$2(`Function '`+c$3+`' called with an invalid number of arguments (`+arguments.length+`) - expects one of (`+a$2[b$2].S+`)!`),a$2[b$2].S[arguments.length].apply(this,arguments)},a$2[b$2].S=[],a$2[b$2].S[d$3.Z]=d$3}}function bb(a$2,b$2){h$3.hasOwnProperty(a$2)?(L$2(`Cannot register public name '`+a$2+`' twice`),ab$1(h$3,a$2,a$2),h$3.hasOwnProperty(void 0)&&L$2(`Cannot register multiple overloads of a function with the same number of arguments (undefined)!`),h$3[a$2].S[void 0]=b$2):h$3[a$2]=b$2}function cb(a$2,b$2,c$3,d$3,e$1,f,g,k){this.name=a$2,this.constructor=b$2,this.X=c$3,this.W=d$3,this.R=e$1,this.pa=f,this.ba=g,this.na=k,this.ja=[]}function db(a$2,b$2,c$3){for(;b$2!==c$3;)b$2.ba||L$2(`Expected null or instance of `+c$3.name+`, got an instance of `+b$2.name),a$2=b$2.ba(a$2),b$2=b$2.R;return a$2}function eb(a$2,b$2){return b$2===null?(this.ea&&L$2(`null is not a valid `+this.name),0):(b$2.M||L$2(`Cannot pass "`+fb(b$2)+`" as a `+this.name),b$2.M.O||L$2(`Cannot pass deleted object as a pointer of type `+this.name),db(b$2.M.O,b$2.M.P.N,this.N))}function gb(a$2,b$2){if(b$2===null){if(this.ea&&L$2(`null is not a valid `+this.name),this.da){var c$3=this.fa();return a$2!==null&&a$2.push(this.W,c$3),c$3}return 0}if(b$2.M||L$2(`Cannot pass "`+fb(b$2)+`" as a `+this.name),b$2.M.O||L$2(`Cannot pass deleted object as a pointer of type `+this.name),!this.ca&&b$2.M.P.ca&&L$2(`Cannot convert argument of type `+(b$2.M.U?b$2.M.U.name:b$2.M.P.name)+` to parameter type `+this.name),c$3=db(b$2.M.O,b$2.M.P.N,this.N),this.da)switch(b$2.M.T===void 0&&L$2(`Passing raw pointer to smart pointer is illegal`),this.Ba){case 0:b$2.M.U===this?c$3=b$2.M.T:L$2(`Cannot convert argument of type `+(b$2.M.U?b$2.M.U.name:b$2.M.P.name)+` to parameter type `+this.name);break;case 1:c$3=b$2.M.T;break;case 2:if(b$2.M.U===this)c$3=b$2.M.T;else{var d$3=b$2.clone();c$3=this.xa(c$3,Ea(function(){d$3.delete()})),a$2!==null&&a$2.push(this.W,c$3)}break;default:L$2(`Unsupporting sharing policy`)}return c$3}function hb(a$2,b$2){return b$2===null?(this.ea&&L$2(`null is not a valid `+this.name),0):(b$2.M||L$2(`Cannot pass "`+fb(b$2)+`" as a `+this.name),b$2.M.O||L$2(`Cannot pass deleted object as a pointer of type `+this.name),b$2.M.P.ca&&L$2(`Cannot convert argument of type `+b$2.M.P.name+` to parameter type `+this.name),db(b$2.M.O,b$2.M.P.N,this.N))}function Y$1(a$2,b$2,c$3,d$3){this.name=a$2,this.N=b$2,this.ea=c$3,this.ca=d$3,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,b$2.R===void 0?(this.toWireType=d$3?eb:hb,this.V=null):this.toWireType=gb}function ib(a$2,b$2){h$3.hasOwnProperty(a$2)||Ta(`Replacing nonexistant public symbol`),h$3[a$2]=b$2,h$3[a$2].Z=void 0}function jb(a$2,b$2){var c$3=[];return function(){if(c$3.length=0,Object.assign(c$3,arguments),a$2.includes(`j`)){var d$3=h$3[`dynCall_`+a$2];d$3=c$3&&c$3.length?d$3.apply(null,[b$2].concat(c$3)):d$3.call(null,b$2)}else d$3=oa.get(b$2).apply(null,c$3);return d$3}}function Z(a$2,b$2){a$2=N$1(a$2);var c$3=a$2.includes(`j`)?jb(a$2,b$2):oa.get(b$2);return typeof c$3!=`function`&&L$2(`unknown function pointer with signature `+a$2+`: `+b$2),c$3}var mb=void 0;function nb(a$2,b$2){function c$3(f){e$1[f]||R$2[f]||(Ya[f]?Ya[f].forEach(c$3):(d$3.push(f),e$1[f]=!0))}var d$3=[],e$1={};throw b$2.forEach(c$3),new mb(a$2+`: `+d$3.map(Ja).join([`, `]))}function ob(a$2,b$2,c$3,d$3,e$1){var f=b$2.length;2>f&&L$2(`argTypes array size mismatch! Must at least get return value and 'this' types!`);var g=b$2[1]!==null&&c$3!==null,k=!1;for(c$3=1;c$3<b$2.length;++c$3)if(b$2[c$3]!==null&&b$2[c$3].V===void 0){k=!0;break}var m$2=b$2[0].name!==`void`,l$1=f-2,n$2=Array(l$1),p=[],r$2=[];return function(){if(arguments.length!==l$1&&L$2(`function `+a$2+` called with `+arguments.length+` arguments, expected `+l$1+` args!`),r$2.length=0,p.length=g?2:1,p[0]=e$1,g){var u$17=b$2[1].toWireType(r$2,this);p[1]=u$17}for(var t$1=0;t$1<l$1;++t$1)n$2[t$1]=b$2[t$1+2].toWireType(r$2,arguments[t$1]),p.push(n$2[t$1]);if(t$1=d$3.apply(null,p),k)Wa(r$2);else for(var y$3=g?1:2;y$3<b$2.length;y$3++){var B$1=y$3===1?u$17:n$2[y$3-2];b$2[y$3].V!==null&&b$2[y$3].V(B$1)}return u$17=m$2?b$2[0].fromWireType(t$1):void 0,u$17}}function pb(a$2,b$2){for(var c$3=[],d$3=0;d$3<a$2;d$3++)c$3.push(E$2[b$2+4*d$3>>2]);return c$3}function qb(a$2){4<a$2&&--J$2[a$2].ga===0&&(J$2[a$2]=void 0,Ca.push(a$2))}function fb(a$2){if(a$2===null)return`null`;var b$2=typeof a$2;return b$2===`object`||b$2===`array`||b$2===`function`?a$2.toString():``+a$2}function rb(a$2,b$2){switch(b$2){case 2:return function(c$3){return this.fromWireType(la[c$3>>2])};case 3:return function(c$3){return this.fromWireType(ma[c$3>>3])};default:throw TypeError(`Unknown float type: `+a$2)}}function sb(a$2,b$2,c$3){switch(b$2){case 0:return c$3?function(d$3){return ja[d$3]}:function(d$3){return A[d$3]};case 1:return c$3?function(d$3){return C$2[d$3>>1]}:function(d$3){return ka[d$3>>1]};case 2:return c$3?function(d$3){return D$1[d$3>>2]}:function(d$3){return E$2[d$3>>2]};default:throw TypeError(`Unknown integer type: `+a$2)}}function tb(a$2,b$2){for(var c$3=``,d$3=0;!(d$3>=b$2/2);++d$3){var e$1=C$2[a$2+2*d$3>>1];if(e$1==0)break;c$3+=String.fromCharCode(e$1)}return c$3}function ub(a$2,b$2,c$3){if(c$3===void 0&&(c$3=2147483647),2>c$3)return 0;c$3-=2;var d$3=b$2;c$3=c$3<2*a$2.length?c$3/2:a$2.length;for(var e$1=0;e$1<c$3;++e$1)C$2[b$2>>1]=a$2.charCodeAt(e$1),b$2+=2;return C$2[b$2>>1]=0,b$2-d$3}function vb(a$2){return 2*a$2.length}function wb(a$2,b$2){for(var c$3=0,d$3=``;!(c$3>=b$2/4);){var e$1=D$1[a$2+4*c$3>>2];if(e$1==0)break;++c$3,65536<=e$1?(e$1-=65536,d$3+=String.fromCharCode(55296|e$1>>10,56320|e$1&1023)):d$3+=String.fromCharCode(e$1)}return d$3}function xb(a$2,b$2,c$3){if(c$3===void 0&&(c$3=2147483647),4>c$3)return 0;var d$3=b$2;c$3=d$3+c$3-4;for(var e$1=0;e$1<a$2.length;++e$1){var f=a$2.charCodeAt(e$1);if(55296<=f&&57343>=f){var g=a$2.charCodeAt(++e$1);f=65536+((f&1023)<<10)|g&1023}if(D$1[b$2>>2]=f,b$2+=4,b$2+4>c$3)break}return D$1[b$2>>2]=0,b$2-d$3}function yb(a$2){for(var b$2=0,c$3=0;c$3<a$2.length;++c$3){var d$3=a$2.charCodeAt(c$3);55296<=d$3&&57343>=d$3&&++c$3,b$2+=4}return b$2}var zb={};function Ab(a$2){var b$2=zb[a$2];return b$2===void 0?N$1(a$2):b$2}var Bb=[];function Cb(a$2){var b$2=Bb.length;return Bb.push(a$2),b$2}function Db(a$2,b$2){for(var c$3=Array(a$2),d$3=0;d$3<a$2;++d$3)c$3[d$3]=La(E$2[b$2+4*d$3>>2],`parameter `+d$3);return c$3}var Eb=[],Fb=[null,[],[]];K$2=h$3.BindingError=Da(`BindingError`),h$3.count_emval_handles=function(){for(var a$2=0,b$2=5;b$2<J$2.length;++b$2)J$2[b$2]!==void 0&&++a$2;return a$2},h$3.get_first_emval=function(){for(var a$2=5;a$2<J$2.length;++a$2)if(J$2[a$2]!==void 0)return J$2[a$2];return null},Fa=h$3.PureVirtualError=Da(`PureVirtualError`);for(var Gb=Array(256),Hb=0;256>Hb;++Hb)Gb[Hb]=String.fromCharCode(Hb);Ga=Gb,h$3.getInheritedInstanceCount=function(){return Object.keys(Q$2).length},h$3.getLiveInheritedInstances=function(){var a$2=[],b$2;for(b$2 in Q$2)Q$2.hasOwnProperty(b$2)&&a$2.push(Q$2[b$2]);return a$2},h$3.flushPendingDeletes=Ha,h$3.setDelayFunction=function(a$2){P$2=a$2,O$3.length&&P$2&&P$2(Ha)},Sa=h$3.InternalError=Da(`InternalError`),X$2.prototype.isAliasOf=function(a$2){if(!(this instanceof X$2&&a$2 instanceof X$2))return!1;var b$2=this.M.P.N,c$3=this.M.O,d$3=a$2.M.P.N;for(a$2=a$2.M.O;b$2.R;)c$3=b$2.ba(c$3),b$2=b$2.R;for(;d$3.R;)a$2=d$3.ba(a$2),d$3=d$3.R;return b$2===d$3&&c$3===a$2},X$2.prototype.clone=function(){if(this.M.O||$a(this),this.M.aa)return this.M.count.value+=1,this;var a$2=T$1,b$2=Object,c$3=b$2.create,d$3=Object.getPrototypeOf(this),e$1=this.M;return a$2=a$2(c$3.call(b$2,d$3,{M:{value:{count:e$1.count,$:e$1.$,aa:e$1.aa,O:e$1.O,P:e$1.P,T:e$1.T,U:e$1.U}}})),a$2.M.count.value+=1,a$2.M.$=!1,a$2},X$2.prototype.delete=function(){this.M.O||$a(this),this.M.$&&!this.M.aa&&L$2(`Object already scheduled for deletion`),Ma(this),Oa(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},X$2.prototype.isDeleted=function(){return!this.M.O},X$2.prototype.deleteLater=function(){return this.M.O||$a(this),this.M.$&&!this.M.aa&&L$2(`Object already scheduled for deletion`),O$3.push(this),O$3.length===1&&P$2&&P$2(Ha),this.M.$=!0,this},Y$1.prototype.qa=function(a$2){return this.ka&&(a$2=this.ka(a$2)),a$2},Y$1.prototype.ha=function(a$2){this.W&&this.W(a$2)},Y$1.prototype.argPackAdvance=8,Y$1.prototype.readValueFromPointer=Xa,Y$1.prototype.deleteObject=function(a$2){a$2!==null&&a$2.delete()},Y$1.prototype.fromWireType=function(a$2){function b$2(){return this.da?Ua(this.N.X,{P:this.wa,O:c$3,U:this,T:a$2}):Ua(this.N.X,{P:this,O:a$2})}var c$3=this.qa(a$2);if(!c$3)return this.ha(a$2),null;var d$3=Ra(this.N,c$3);if(d$3!==void 0)return d$3.M.count.value===0?(d$3.M.O=c$3,d$3.M.T=a$2,d$3.clone()):(d$3=d$3.clone(),this.ha(a$2),d$3);if(d$3=this.N.pa(c$3),d$3=Qa[d$3],!d$3)return b$2.call(this);d$3=this.ca?d$3.la:d$3.pointerType;var e$1=Pa(c$3,this.N,d$3.N);return e$1===null?b$2.call(this):this.da?Ua(d$3.N.X,{P:d$3,O:e$1,U:this,T:a$2}):Ua(d$3.N.X,{P:d$3,O:e$1})},mb=h$3.UnboundTypeError=Da(`UnboundTypeError`);var xa=typeof atob==`function`?atob:function(a$2){var b$2=``,c$3=0;a$2=a$2.replace(/[^A-Za-z0-9\+\/=]/g,``);do{var d$3=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++)),e$1=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++)),f=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++)),g=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$2.charAt(c$3++));d$3=d$3<<2|e$1>>4,e$1=(e$1&15)<<4|f>>2;var k=(f&3)<<6|g;b$2+=String.fromCharCode(d$3),f!==64&&(b$2+=String.fromCharCode(e$1)),g!==64&&(b$2+=String.fromCharCode(k))}while(c$3<a$2.length);return b$2},Jb={l:function(a$2,b$2,c$3,d$3){x$1(`Assertion failed: `+(a$2?z$5(A,a$2):``)+`, at: `+[b$2?b$2?z$5(A,b$2):``:`unknown filename`,c$3,d$3?d$3?z$5(A,d$3):``:`unknown function`])},q:function(a$2,b$2,c$3){a$2=N$1(a$2),b$2=La(b$2,`wrapper`),c$3=M$2(c$3);var d$3=[].slice,e$1=b$2.N,f=e$1.X,g=e$1.R.X,k=e$1.R.constructor;for(var m$2 in a$2=Ba(a$2,function(){e$1.R.ja.forEach(function(l$1){if(this[l$1]===g[l$1])throw new Fa(`Pure virtual function `+l$1+` must be implemented in JavaScript`)}.bind(this)),Object.defineProperty(this,`__parent`,{value:f}),this.__construct.apply(this,d$3.call(arguments))}),f.__construct=function(){this===f&&L$2(`Pass correct 'this' to __construct`);var l$1=k.implement.apply(void 0,[this].concat(d$3.call(arguments)));Ma(l$1);var n$2=l$1.M;l$1.notifyOnDestruction(),n$2.aa=!0,Object.defineProperties(this,{M:{value:n$2}}),T$1(this),l$1=n$2.O,l$1=Ia(e$1,l$1),Q$2.hasOwnProperty(l$1)?L$2(`Tried to register registered instance: `+l$1):Q$2[l$1]=this},f.__destruct=function(){this===f&&L$2(`Pass correct 'this' to __destruct`),Ma(this);var l$1=this.M.O;l$1=Ia(e$1,l$1),Q$2.hasOwnProperty(l$1)?delete Q$2[l$1]:L$2(`Tried to unregister unregistered instance: `+l$1)},a$2.prototype=Object.create(f),c$3)a$2.prototype[m$2]=c$3[m$2];return Ea(a$2)},j:function(a$2){var b$2=Va[a$2];delete Va[a$2];var c$3=b$2.fa,d$3=b$2.W,e$1=b$2.ia,f=e$1.map(g=>g.ta).concat(e$1.map(g=>g.za));V$3([a$2],f,g=>{var k={};return e$1.forEach((m$2,l$1)=>{var n$2=g[l$1],p=m$2.ra,r$2=m$2.sa,u$17=g[l$1+e$1.length],t$1=m$2.ya,y$3=m$2.Aa;k[m$2.oa]={read:B$1=>n$2.fromWireType(p(r$2,B$1)),write:(B$1,ba)=>{var I$3=[];t$1(y$3,B$1,u$17.toWireType(I$3,ba)),Wa(I$3)}}}),[{name:b$2.name,fromWireType:function(m$2){var l$1={},n$2;for(n$2 in k)l$1[n$2]=k[n$2].read(m$2);return d$3(m$2),l$1},toWireType:function(m$2,l$1){for(var n$2 in k)if(!(n$2 in l$1))throw TypeError(`Missing field: "`+n$2+`"`);var p=c$3();for(n$2 in k)k[n$2].write(p,l$1[n$2]);return m$2!==null&&m$2.push(d$3,p),p},argPackAdvance:8,readValueFromPointer:Xa,V:d$3}]})},v:function(){},B:function(a$2,b$2,c$3,d$3,e$1){var f=Za(c$3);b$2=N$1(b$2),W$2(a$2,{name:b$2,fromWireType:function(g){return!!g},toWireType:function(g,k){return k?d$3:e$1},argPackAdvance:8,readValueFromPointer:function(g){if(c$3===1)var k=ja;else if(c$3===2)k=C$2;else if(c$3===4)k=D$1;else throw TypeError(`Unknown boolean type size: `+b$2);return this.fromWireType(k[g>>f])},V:null})},f:function(a$2,b$2,c$3,d$3,e$1,f,g,k,m$2,l$1,n$2,p,r$2){n$2=N$1(n$2),f=Z(e$1,f),k&&=Z(g,k),l$1&&=Z(m$2,l$1),r$2=Z(p,r$2);var u$17=Aa(n$2);bb(u$17,function(){nb(`Cannot construct `+n$2+` due to unbound types`,[d$3])}),V$3([a$2,b$2,c$3],d$3?[d$3]:[],function(t$1){if(t$1=t$1[0],d$3)var y$3=t$1.N,B$1=y$3.X;else B$1=X$2.prototype;t$1=Ba(u$17,function(){if(Object.getPrototypeOf(this)!==ba)throw new K$2(`Use 'new' to construct `+n$2);if(I$3.Y===void 0)throw new K$2(n$2+` has no accessible constructor`);var kb=I$3.Y[arguments.length];if(kb===void 0)throw new K$2(`Tried to invoke ctor of `+n$2+` with invalid number of parameters (`+arguments.length+`) - expected (`+Object.keys(I$3.Y).toString()+`) parameters instead!`);return kb.apply(this,arguments)});var ba=Object.create(B$1,{constructor:{value:t$1}});t$1.prototype=ba;var I$3=new cb(n$2,t$1,ba,r$2,y$3,f,k,l$1);y$3=new Y$1(n$2,I$3,!0,!1),B$1=new Y$1(n$2+`*`,I$3,!1,!1);var lb=new Y$1(n$2+` const*`,I$3,!1,!0);return Qa[a$2]={pointerType:B$1,la:lb},ib(u$17,t$1),[y$3,B$1,lb]})},d:function(a$2,b$2,c$3,d$3,e$1,f,g){var k=pb(c$3,d$3);b$2=N$1(b$2),f=Z(e$1,f),V$3([],[a$2],function(m$2){function l$1(){nb(`Cannot call `+n$2+` due to unbound types`,k)}m$2=m$2[0];var n$2=m$2.name+`.`+b$2;b$2.startsWith(`@@`)&&(b$2=Symbol[b$2.substring(2)]);var p=m$2.N.constructor;return p[b$2]===void 0?(l$1.Z=c$3-1,p[b$2]=l$1):(ab$1(p,b$2,n$2),p[b$2].S[c$3-1]=l$1),V$3([],k,function(r$2){return r$2=ob(n$2,[r$2[0],null].concat(r$2.slice(1)),null,f,g),p[b$2].S===void 0?(r$2.Z=c$3-1,p[b$2]=r$2):p[b$2].S[c$3-1]=r$2,[]}),[]})},p:function(a$2,b$2,c$3,d$3,e$1,f){0<b$2||x$1();var g=pb(b$2,c$3);e$1=Z(d$3,e$1),V$3([],[a$2],function(k){k=k[0];var m$2=`constructor `+k.name;if(k.N.Y===void 0&&(k.N.Y=[]),k.N.Y[b$2-1]!==void 0)throw new K$2(`Cannot register multiple constructors with identical number of parameters (`+(b$2-1)+`) for class '`+k.name+`'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return k.N.Y[b$2-1]=()=>{nb(`Cannot construct `+k.name+` due to unbound types`,g)},V$3([],g,function(l$1){return l$1.splice(1,0,null),k.N.Y[b$2-1]=ob(m$2,l$1,null,e$1,f),[]}),[]})},a:function(a$2,b$2,c$3,d$3,e$1,f,g,k){var m$2=pb(c$3,d$3);b$2=N$1(b$2),f=Z(e$1,f),V$3([],[a$2],function(l$1){function n$2(){nb(`Cannot call `+p+` due to unbound types`,m$2)}l$1=l$1[0];var p=l$1.name+`.`+b$2;b$2.startsWith(`@@`)&&(b$2=Symbol[b$2.substring(2)]),k&&l$1.N.ja.push(b$2);var r$2=l$1.N.X,u$17=r$2[b$2];return u$17===void 0||u$17.S===void 0&&u$17.className!==l$1.name&&u$17.Z===c$3-2?(n$2.Z=c$3-2,n$2.className=l$1.name,r$2[b$2]=n$2):(ab$1(r$2,b$2,p),r$2[b$2].S[c$3-2]=n$2),V$3([],m$2,function(t$1){return t$1=ob(p,t$1,l$1,f,g),r$2[b$2].S===void 0?(t$1.Z=c$3-2,r$2[b$2]=t$1):r$2[b$2].S[c$3-2]=t$1,[]}),[]})},A:function(a$2,b$2){b$2=N$1(b$2),W$2(a$2,{name:b$2,fromWireType:function(c$3){var d$3=M$2(c$3);return qb(c$3),d$3},toWireType:function(c$3,d$3){return Ea(d$3)},argPackAdvance:8,readValueFromPointer:Xa,V:null})},n:function(a$2,b$2,c$3){c$3=Za(c$3),b$2=N$1(b$2),W$2(a$2,{name:b$2,fromWireType:function(d$3){return d$3},toWireType:function(d$3,e$1){return e$1},argPackAdvance:8,readValueFromPointer:rb(b$2,c$3),V:null})},e:function(a$2,b$2,c$3,d$3,e$1){b$2=N$1(b$2),e$1===-1&&(e$1=4294967295),e$1=Za(c$3);var f=k=>k;if(d$3===0){var g=32-8*c$3;f=k=>k<<g>>>g}c$3=b$2.includes(`unsigned`)?function(k,m$2){return m$2>>>0}:function(k,m$2){return m$2},W$2(a$2,{name:b$2,fromWireType:f,toWireType:c$3,argPackAdvance:8,readValueFromPointer:sb(b$2,e$1,d$3!==0),V:null})},b:function(a$2,b$2,c$3){function d$3(f){f>>=2;var g=E$2;return new e$1(ia,g[f+1],g[f])}var e$1=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b$2];c$3=N$1(c$3),W$2(a$2,{name:c$3,fromWireType:d$3,argPackAdvance:8,readValueFromPointer:d$3},{ua:!0})},o:function(a$2,b$2){b$2=N$1(b$2);var c$3=b$2===`std::string`;W$2(a$2,{name:b$2,fromWireType:function(d$3){var e$1=E$2[d$3>>2],f=d$3+4;if(c$3)for(var g=f,k=0;k<=e$1;++k){var m$2=f+k;if(k==e$1||A[m$2]==0){if(g=g?z$5(A,g,m$2-g):``,l$1===void 0)var l$1=g;else l$1+=`\0`,l$1+=g;g=m$2+1}}else{for(l$1=Array(e$1),k=0;k<e$1;++k)l$1[k]=String.fromCharCode(A[f+k]);l$1=l$1.join(``)}return S$1(d$3),l$1},toWireType:function(d$3,e$1){e$1 instanceof ArrayBuffer&&(e$1=new Uint8Array(e$1));var f,g=typeof e$1==`string`;if(g||e$1 instanceof Uint8Array||e$1 instanceof Uint8ClampedArray||e$1 instanceof Int8Array||L$2(`Cannot pass non-string to std::string`),c$3&&g){var k=0;for(f=0;f<e$1.length;++f){var m$2=e$1.charCodeAt(f);127>=m$2?k++:2047>=m$2?k+=2:55296<=m$2&&57343>=m$2?(k+=4,++f):k+=3}f=k}else f=e$1.length;if(k=Ib(4+f+1),m$2=k+4,E$2[k>>2]=f,c$3&&g){if(g=m$2,m$2=f+1,f=A,0<m$2){m$2=g+m$2-1;for(var l$1=0;l$1<e$1.length;++l$1){var n$2=e$1.charCodeAt(l$1);if(55296<=n$2&&57343>=n$2){var p=e$1.charCodeAt(++l$1);n$2=65536+((n$2&1023)<<10)|p&1023}if(127>=n$2){if(g>=m$2)break;f[g++]=n$2}else{if(2047>=n$2){if(g+1>=m$2)break;f[g++]=192|n$2>>6}else{if(65535>=n$2){if(g+2>=m$2)break;f[g++]=224|n$2>>12}else{if(g+3>=m$2)break;f[g++]=240|n$2>>18,f[g++]=128|n$2>>12&63}f[g++]=128|n$2>>6&63}f[g++]=128|n$2&63}}f[g]=0}}else if(g)for(g=0;g<f;++g)l$1=e$1.charCodeAt(g),255<l$1&&(S$1(m$2),L$2(`String has UTF-16 code units that do not fit in 8 bits`)),A[m$2+g]=l$1;else for(g=0;g<f;++g)A[m$2+g]=e$1[g];return d$3!==null&&d$3.push(S$1,k),k},argPackAdvance:8,readValueFromPointer:Xa,V:function(d$3){S$1(d$3)}})},i:function(a$2,b$2,c$3){if(c$3=N$1(c$3),b$2===2)var d$3=tb,e$1=ub,f=vb,g=()=>ka,k=1;else b$2===4&&(d$3=wb,e$1=xb,f=yb,g=()=>E$2,k=2);W$2(a$2,{name:c$3,fromWireType:function(m$2){for(var l$1=E$2[m$2>>2],n$2=g(),p,r$2=m$2+4,u$17=0;u$17<=l$1;++u$17){var t$1=m$2+4+u$17*b$2;(u$17==l$1||n$2[t$1>>k]==0)&&(r$2=d$3(r$2,t$1-r$2),p===void 0?p=r$2:(p+=`\0`,p+=r$2),r$2=t$1+b$2)}return S$1(m$2),p},toWireType:function(m$2,l$1){typeof l$1!=`string`&&L$2(`Cannot pass non-string to C++ string type `+c$3);var n$2=f(l$1),p=Ib(4+n$2+b$2);return E$2[p>>2]=n$2>>k,e$1(l$1,p+4,n$2+b$2),m$2!==null&&m$2.push(S$1,p),p},argPackAdvance:8,readValueFromPointer:Xa,V:function(m$2){S$1(m$2)}})},k:function(a$2,b$2,c$3,d$3,e$1,f){Va[a$2]={name:N$1(b$2),fa:Z(c$3,d$3),W:Z(e$1,f),ia:[]}},h:function(a$2,b$2,c$3,d$3,e$1,f,g,k,m$2,l$1){Va[a$2].ia.push({oa:N$1(b$2),ta:c$3,ra:Z(d$3,e$1),sa:f,za:g,ya:Z(k,m$2),Aa:l$1})},C:function(a$2,b$2){b$2=N$1(b$2),W$2(a$2,{va:!0,name:b$2,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(a$2,b$2,c$3,d$3,e$1){a$2=Bb[a$2],b$2=M$2(b$2),c$3=Ab(c$3);var f=[];return E$2[d$3>>2]=Ea(f),a$2(b$2,c$3,f,e$1)},t:function(a$2,b$2,c$3,d$3){a$2=Bb[a$2],b$2=M$2(b$2),c$3=Ab(c$3),a$2(b$2,c$3,null,d$3)},g:qb,m:function(a$2,b$2){var c$3=Db(a$2,b$2),d$3=c$3[0];b$2=d$3.name+`_$`+c$3.slice(1).map(function(g){return g.name}).join(`_`)+`$`;var e$1=Eb[b$2];if(e$1!==void 0)return e$1;var f=Array(a$2-1);return e$1=Cb((g,k,m$2,l$1)=>{for(var n$2=0,p=0;p<a$2-1;++p)f[p]=c$3[p+1].readValueFromPointer(l$1+n$2),n$2+=c$3[p+1].argPackAdvance;for(g=g[k].apply(g,f),p=0;p<a$2-1;++p)c$3[p+1].ma&&c$3[p+1].ma(f[p]);if(!d$3.va)return d$3.toWireType(m$2,g)}),Eb[b$2]=e$1},D:function(a$2){4<a$2&&(J$2[a$2].ga+=1)},r:function(a$2){var b$2=M$2(a$2);Wa(b$2),qb(a$2)},c:function(){x$1(``)},x:function(a$2,b$2,c$3){A.copyWithin(a$2,b$2,b$2+c$3)},w:function(a$2){var b$2=A.length;if(a$2>>>=0,2147483648<a$2)return!1;for(var c$3=1;4>=c$3;c$3*=2){var d$3=b$2*(1+.2/c$3);d$3=Math.min(d$3,a$2+100663296);var e$1=Math;d$3=Math.max(a$2,d$3),e$1=e$1.min.call(e$1,2147483648,d$3+(65536-d$3%65536)%65536);a:{try{fa.grow(e$1-ia.byteLength+65535>>>16),na();var f=1;break a}catch{}f=void 0}if(f)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(a$2,b$2,c$3,d$3){for(var e$1=0,f=0;f<c$3;f++){var g=E$2[b$2>>2],k=E$2[b$2+4>>2];b$2+=8;for(var m$2=0;m$2<k;m$2++){var l$1=A[g+m$2],n$2=Fb[a$2];l$1===0||l$1===10?((a$2===1?ea:v$1)(z$5(n$2,0)),n$2.length=0):n$2.push(l$1)}e$1+=k}return E$2[d$3>>2]=e$1,0}};(function(){function a$2(e$1){h$3.asm=e$1.exports,fa=h$3.asm.E,na(),oa=h$3.asm.J,qa.unshift(h$3.asm.F),F$2--,h$3.monitorRunDependencies&&h$3.monitorRunDependencies(F$2),F$2==0&&(ta!==null&&(clearInterval(ta),ta=null),G$2&&(e$1=G$2,G$2=null,e$1()))}function b$2(e$1){a$2(e$1.instance)}function c$3(e$1){return ya().then(function(f){return WebAssembly.instantiate(f,d$3)}).then(function(f){return f}).then(e$1,function(f){v$1(`failed to asynchronously prepare wasm: `+f),x$1(f)})}var d$3={a:Jb};if(F$2++,h$3.monitorRunDependencies&&h$3.monitorRunDependencies(F$2),h$3.instantiateWasm)try{return h$3.instantiateWasm(d$3,a$2)}catch(e$1){v$1(`Module.instantiateWasm callback failed with error: `+e$1),ca(e$1)}return(function(){return w$3||typeof WebAssembly.instantiateStreaming!=`function`||ua(H)||typeof fetch!=`function`?c$3(b$2):fetch(H,{credentials:`same-origin`}).then(function(e$1){return WebAssembly.instantiateStreaming(e$1,d$3).then(b$2,function(f){return v$1(`wasm streaming compile failed: `+f),v$1(`falling back to ArrayBuffer instantiation`),c$3(b$2)})})})().catch(ca),{}})(),h$3.___wasm_call_ctors=function(){return(h$3.___wasm_call_ctors=h$3.asm.F).apply(null,arguments)};var Ka=h$3.___getTypeName=function(){return(Ka=h$3.___getTypeName=h$3.asm.G).apply(null,arguments)};h$3.__embind_initialize_bindings=function(){return(h$3.__embind_initialize_bindings=h$3.asm.H).apply(null,arguments)};var Ib=h$3._malloc=function(){return(Ib=h$3._malloc=h$3.asm.I).apply(null,arguments)},S$1=h$3._free=function(){return(S$1=h$3._free=h$3.asm.K).apply(null,arguments)};h$3.dynCall_jiji=function(){return(h$3.dynCall_jiji=h$3.asm.L).apply(null,arguments)};var Kb;G$2=function Lb(){Kb||Mb(),Kb||(G$2=Lb)};function Mb(){function a$2(){if(!Kb&&(Kb=!0,h$3.calledRun=!0,!ha)){if(za(qa),aa(h$3),h$3.onRuntimeInitialized&&h$3.onRuntimeInitialized(),h$3.postRun)for(typeof h$3.postRun==`function`&&(h$3.postRun=[h$3.postRun]);h$3.postRun.length;){var b$2=h$3.postRun.shift();ra.unshift(b$2)}za(ra)}}if(!(0<F$2)){if(h$3.preRun)for(typeof h$3.preRun==`function`&&(h$3.preRun=[h$3.preRun]);h$3.preRun.length;)sa();za(pa),0<F$2||(h$3.setStatus?(h$3.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){h$3.setStatus(``)},1),a$2()},1)):a$2())}}if(h$3.preInit)for(typeof h$3.preInit==`function`&&(h$3.preInit=[h$3.preInit]);0<h$3.preInit.length;)h$3.preInit.pop()();return Mb(),loadYoga$1.ready})})();let Align=function(Align$1){return Align$1[Align$1.Auto=0]=`Auto`,Align$1[Align$1.FlexStart=1]=`FlexStart`,Align$1[Align$1.Center=2]=`Center`,Align$1[Align$1.FlexEnd=3]=`FlexEnd`,Align$1[Align$1.Stretch=4]=`Stretch`,Align$1[Align$1.Baseline=5]=`Baseline`,Align$1[Align$1.SpaceBetween=6]=`SpaceBetween`,Align$1[Align$1.SpaceAround=7]=`SpaceAround`,Align$1[Align$1.SpaceEvenly=8]=`SpaceEvenly`,Align$1}({}),BoxSizing=function(BoxSizing$1){return BoxSizing$1[BoxSizing$1.BorderBox=0]=`BorderBox`,BoxSizing$1[BoxSizing$1.ContentBox=1]=`ContentBox`,BoxSizing$1}({}),Dimension=function(Dimension$1){return Dimension$1[Dimension$1.Width=0]=`Width`,Dimension$1[Dimension$1.Height=1]=`Height`,Dimension$1}({}),Direction=function(Direction$1){return Direction$1[Direction$1.Inherit=0]=`Inherit`,Direction$1[Direction$1.LTR=1]=`LTR`,Direction$1[Direction$1.RTL=2]=`RTL`,Direction$1}({}),Display=function(Display$1){return Display$1[Display$1.Flex=0]=`Flex`,Display$1[Display$1.None=1]=`None`,Display$1[Display$1.Contents=2]=`Contents`,Display$1}({}),Edge=function(Edge$1){return Edge$1[Edge$1.Left=0]=`Left`,Edge$1[Edge$1.Top=1]=`Top`,Edge$1[Edge$1.Right=2]=`Right`,Edge$1[Edge$1.Bottom=3]=`Bottom`,Edge$1[Edge$1.Start=4]=`Start`,Edge$1[Edge$1.End=5]=`End`,Edge$1[Edge$1.Horizontal=6]=`Horizontal`,Edge$1[Edge$1.Vertical=7]=`Vertical`,Edge$1[Edge$1.All=8]=`All`,Edge$1}({}),Errata=function(Errata$1){return Errata$1[Errata$1.None=0]=`None`,Errata$1[Errata$1.StretchFlexBasis=1]=`StretchFlexBasis`,Errata$1[Errata$1.AbsolutePositionWithoutInsetsExcludesPadding=2]=`AbsolutePositionWithoutInsetsExcludesPadding`,Errata$1[Errata$1.AbsolutePercentAgainstInnerSize=4]=`AbsolutePercentAgainstInnerSize`,Errata$1[Errata$1.All=2147483647]=`All`,Errata$1[Errata$1.Classic=2147483646]=`Classic`,Errata$1}({}),ExperimentalFeature=function(ExperimentalFeature$1){return ExperimentalFeature$1[ExperimentalFeature$1.WebFlexBasis=0]=`WebFlexBasis`,ExperimentalFeature$1}({}),FlexDirection=function(FlexDirection$1){return FlexDirection$1[FlexDirection$1.Column=0]=`Column`,FlexDirection$1[FlexDirection$1.ColumnReverse=1]=`ColumnReverse`,FlexDirection$1[FlexDirection$1.Row=2]=`Row`,FlexDirection$1[FlexDirection$1.RowReverse=3]=`RowReverse`,FlexDirection$1}({}),Gutter=function(Gutter$1){return Gutter$1[Gutter$1.Column=0]=`Column`,Gutter$1[Gutter$1.Row=1]=`Row`,Gutter$1[Gutter$1.All=2]=`All`,Gutter$1}({}),Justify=function(Justify$1){return Justify$1[Justify$1.FlexStart=0]=`FlexStart`,Justify$1[Justify$1.Center=1]=`Center`,Justify$1[Justify$1.FlexEnd=2]=`FlexEnd`,Justify$1[Justify$1.SpaceBetween=3]=`SpaceBetween`,Justify$1[Justify$1.SpaceAround=4]=`SpaceAround`,Justify$1[Justify$1.SpaceEvenly=5]=`SpaceEvenly`,Justify$1}({}),LogLevel=function(LogLevel$1){return LogLevel$1[LogLevel$1.Error=0]=`Error`,LogLevel$1[LogLevel$1.Warn=1]=`Warn`,LogLevel$1[LogLevel$1.Info=2]=`Info`,LogLevel$1[LogLevel$1.Debug=3]=`Debug`,LogLevel$1[LogLevel$1.Verbose=4]=`Verbose`,LogLevel$1[LogLevel$1.Fatal=5]=`Fatal`,LogLevel$1}({}),MeasureMode=function(MeasureMode$1){return MeasureMode$1[MeasureMode$1.Undefined=0]=`Undefined`,MeasureMode$1[MeasureMode$1.Exactly=1]=`Exactly`,MeasureMode$1[MeasureMode$1.AtMost=2]=`AtMost`,MeasureMode$1}({}),NodeType=function(NodeType$1){return NodeType$1[NodeType$1.Default=0]=`Default`,NodeType$1[NodeType$1.Text=1]=`Text`,NodeType$1}({}),Overflow=function(Overflow$1){return Overflow$1[Overflow$1.Visible=0]=`Visible`,Overflow$1[Overflow$1.Hidden=1]=`Hidden`,Overflow$1[Overflow$1.Scroll=2]=`Scroll`,Overflow$1}({}),PositionType=function(PositionType$1){return PositionType$1[PositionType$1.Static=0]=`Static`,PositionType$1[PositionType$1.Relative=1]=`Relative`,PositionType$1[PositionType$1.Absolute=2]=`Absolute`,PositionType$1}({}),Unit=function(Unit$1){return Unit$1[Unit$1.Undefined=0]=`Undefined`,Unit$1[Unit$1.Point=1]=`Point`,Unit$1[Unit$1.Percent=2]=`Percent`,Unit$1[Unit$1.Auto=3]=`Auto`,Unit$1}({}),Wrap=function(Wrap$1){return Wrap$1[Wrap$1.NoWrap=0]=`NoWrap`,Wrap$1[Wrap$1.Wrap=1]=`Wrap`,Wrap$1[Wrap$1.WrapReverse=2]=`WrapReverse`,Wrap$1}({});var YGEnums_default={ALIGN_AUTO:Align.Auto,ALIGN_FLEX_START:Align.FlexStart,ALIGN_CENTER:Align.Center,ALIGN_FLEX_END:Align.FlexEnd,ALIGN_STRETCH:Align.Stretch,ALIGN_BASELINE:Align.Baseline,ALIGN_SPACE_BETWEEN:Align.SpaceBetween,ALIGN_SPACE_AROUND:Align.SpaceAround,ALIGN_SPACE_EVENLY:Align.SpaceEvenly,BOX_SIZING_BORDER_BOX:BoxSizing.BorderBox,BOX_SIZING_CONTENT_BOX:BoxSizing.ContentBox,DIMENSION_WIDTH:Dimension.Width,DIMENSION_HEIGHT:Dimension.Height,DIRECTION_INHERIT:Direction.Inherit,DIRECTION_LTR:Direction.LTR,DIRECTION_RTL:Direction.RTL,DISPLAY_FLEX:Display.Flex,DISPLAY_NONE:Display.None,DISPLAY_CONTENTS:Display.Contents,EDGE_LEFT:Edge.Left,EDGE_TOP:Edge.Top,EDGE_RIGHT:Edge.Right,EDGE_BOTTOM:Edge.Bottom,EDGE_START:Edge.Start,EDGE_END:Edge.End,EDGE_HORIZONTAL:Edge.Horizontal,EDGE_VERTICAL:Edge.Vertical,EDGE_ALL:Edge.All,ERRATA_NONE:Errata.None,ERRATA_STRETCH_FLEX_BASIS:Errata.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:Errata.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:Errata.AbsolutePercentAgainstInnerSize,ERRATA_ALL:Errata.All,ERRATA_CLASSIC:Errata.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:ExperimentalFeature.WebFlexBasis,FLEX_DIRECTION_COLUMN:FlexDirection.Column,FLEX_DIRECTION_COLUMN_REVERSE:FlexDirection.ColumnReverse,FLEX_DIRECTION_ROW:FlexDirection.Row,FLEX_DIRECTION_ROW_REVERSE:FlexDirection.RowReverse,GUTTER_COLUMN:Gutter.Column,GUTTER_ROW:Gutter.Row,GUTTER_ALL:Gutter.All,JUSTIFY_FLEX_START:Justify.FlexStart,JUSTIFY_CENTER:Justify.Center,JUSTIFY_FLEX_END:Justify.FlexEnd,JUSTIFY_SPACE_BETWEEN:Justify.SpaceBetween,JUSTIFY_SPACE_AROUND:Justify.SpaceAround,JUSTIFY_SPACE_EVENLY:Justify.SpaceEvenly,LOG_LEVEL_ERROR:LogLevel.Error,LOG_LEVEL_WARN:LogLevel.Warn,LOG_LEVEL_INFO:LogLevel.Info,LOG_LEVEL_DEBUG:LogLevel.Debug,LOG_LEVEL_VERBOSE:LogLevel.Verbose,LOG_LEVEL_FATAL:LogLevel.Fatal,MEASURE_MODE_UNDEFINED:MeasureMode.Undefined,MEASURE_MODE_EXACTLY:MeasureMode.Exactly,MEASURE_MODE_AT_MOST:MeasureMode.AtMost,NODE_TYPE_DEFAULT:NodeType.Default,NODE_TYPE_TEXT:NodeType.Text,OVERFLOW_VISIBLE:Overflow.Visible,OVERFLOW_HIDDEN:Overflow.Hidden,OVERFLOW_SCROLL:Overflow.Scroll,POSITION_TYPE_STATIC:PositionType.Static,POSITION_TYPE_RELATIVE:PositionType.Relative,POSITION_TYPE_ABSOLUTE:PositionType.Absolute,UNIT_UNDEFINED:Unit.Undefined,UNIT_POINT:Unit.Point,UNIT_PERCENT:Unit.Percent,UNIT_AUTO:Unit.Auto,WRAP_NO_WRAP:Wrap.NoWrap,WRAP_WRAP:Wrap.Wrap,WRAP_WRAP_REVERSE:Wrap.WrapReverse};function wrapAssembly(lib){function patch$2(prototype,name$2,fn){let original=prototype[name$2];prototype[name$2]=function(){var args=[...arguments];return fn.call(this,original,...args)}}for(let fnName of[`setPosition`,`setMargin`,`setFlexBasis`,`setWidth`,`setHeight`,`setMinWidth`,`setMinHeight`,`setMaxWidth`,`setMaxHeight`,`setPadding`,`setGap`]){let methods={[Unit.Point]:lib.Node.prototype[fnName],[Unit.Percent]:lib.Node.prototype[`${fnName}Percent`],[Unit.Auto]:lib.Node.prototype[`${fnName}Auto`]};patch$2(lib.Node.prototype,fnName,function(original){var args=[...arguments].slice(1);let value=args.pop(),unit,asNumber$1;if(value===`auto`)unit=Unit.Auto,asNumber$1=void 0;else if(typeof value==`object`)unit=value.unit,asNumber$1=value.valueOf();else if(unit=typeof value==`string`&&value.endsWith(`%`)?Unit.Percent:Unit.Point,asNumber$1=parseFloat(value),value!==void 0&&!Number.isNaN(value)&&Number.isNaN(asNumber$1))throw Error(`Invalid value ${value} for ${fnName}`);if(!methods[unit])throw Error(`Failed to execute "${fnName}": Unsupported unit '${value}'`);return asNumber$1===void 0?methods[unit].call(this,...args):methods[unit].call(this,...args,asNumber$1)})}function wrapMeasureFunction(measureFunction){return lib.MeasureCallback.implement({measure:function(){let{width,height}=measureFunction(...arguments);return{width:width??NaN,height:height??NaN}}})}patch$2(lib.Node.prototype,`setMeasureFunc`,function(original,measureFunc){return measureFunc?original.call(this,wrapMeasureFunction(measureFunc)):this.unsetMeasureFunc()});function wrapDirtiedFunc(dirtiedFunction){return lib.DirtiedCallback.implement({dirtied:dirtiedFunction})}return patch$2(lib.Node.prototype,`setDirtiedFunc`,function(original,dirtiedFunc){original.call(this,wrapDirtiedFunc(dirtiedFunc))}),patch$2(lib.Config.prototype,`free`,function(){lib.Config.destroy(this)}),patch$2(lib.Node,`create`,(_$3,config)=>config?lib.Node.createWithConfig(config):lib.Node.createDefault()),patch$2(lib.Node.prototype,`free`,function(){lib.Node.destroy(this)}),patch$2(lib.Node.prototype,`freeRecursive`,function(){for(let t$1=0,T$1=this.getChildCount();t$1<T$1;++t$1)this.getChild(0).freeRecursive();this.free()}),patch$2(lib.Node.prototype,`calculateLayout`,function(original){let width=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,height=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,direction=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Direction.LTR;return original.call(this,width,height,direction)}),{Config:lib.Config,Node:lib.Node,...YGEnums_default}}var src_default=wrapAssembly(await yoga_wasm_base64_esm_default());function ansiRegex({onlyFirst=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,onlyFirst?void 0:`g`)}const regex$2=ansiRegex();function stripAnsi(string){if(typeof string!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof string}\``);return string.replace(regex$2,``)}function isAmbiguous(x$1){return x$1===161||x$1===164||x$1===167||x$1===168||x$1===170||x$1===173||x$1===174||x$1>=176&&x$1<=180||x$1>=182&&x$1<=186||x$1>=188&&x$1<=191||x$1===198||x$1===208||x$1===215||x$1===216||x$1>=222&&x$1<=225||x$1===230||x$1>=232&&x$1<=234||x$1===236||x$1===237||x$1===240||x$1===242||x$1===243||x$1>=247&&x$1<=250||x$1===252||x$1===254||x$1===257||x$1===273||x$1===275||x$1===283||x$1===294||x$1===295||x$1===299||x$1>=305&&x$1<=307||x$1===312||x$1>=319&&x$1<=322||x$1===324||x$1>=328&&x$1<=331||x$1===333||x$1===338||x$1===339||x$1===358||x$1===359||x$1===363||x$1===462||x$1===464||x$1===466||x$1===468||x$1===470||x$1===472||x$1===474||x$1===476||x$1===593||x$1===609||x$1===708||x$1===711||x$1>=713&&x$1<=715||x$1===717||x$1===720||x$1>=728&&x$1<=731||x$1===733||x$1===735||x$1>=768&&x$1<=879||x$1>=913&&x$1<=929||x$1>=931&&x$1<=937||x$1>=945&&x$1<=961||x$1>=963&&x$1<=969||x$1===1025||x$1>=1040&&x$1<=1103||x$1===1105||x$1===8208||x$1>=8211&&x$1<=8214||x$1===8216||x$1===8217||x$1===8220||x$1===8221||x$1>=8224&&x$1<=8226||x$1>=8228&&x$1<=8231||x$1===8240||x$1===8242||x$1===8243||x$1===8245||x$1===8251||x$1===8254||x$1===8308||x$1===8319||x$1>=8321&&x$1<=8324||x$1===8364||x$1===8451||x$1===8453||x$1===8457||x$1===8467||x$1===8470||x$1===8481||x$1===8482||x$1===8486||x$1===8491||x$1===8531||x$1===8532||x$1>=8539&&x$1<=8542||x$1>=8544&&x$1<=8555||x$1>=8560&&x$1<=8569||x$1===8585||x$1>=8592&&x$1<=8601||x$1===8632||x$1===8633||x$1===8658||x$1===8660||x$1===8679||x$1===8704||x$1===8706||x$1===8707||x$1===8711||x$1===8712||x$1===8715||x$1===8719||x$1===8721||x$1===8725||x$1===8730||x$1>=8733&&x$1<=8736||x$1===8739||x$1===8741||x$1>=8743&&x$1<=8748||x$1===8750||x$1>=8756&&x$1<=8759||x$1===8764||x$1===8765||x$1===8776||x$1===8780||x$1===8786||x$1===8800||x$1===8801||x$1>=8804&&x$1<=8807||x$1===8810||x$1===8811||x$1===8814||x$1===8815||x$1===8834||x$1===8835||x$1===8838||x$1===8839||x$1===8853||x$1===8857||x$1===8869||x$1===8895||x$1===8978||x$1>=9312&&x$1<=9449||x$1>=9451&&x$1<=9547||x$1>=9552&&x$1<=9587||x$1>=9600&&x$1<=9615||x$1>=9618&&x$1<=9621||x$1===9632||x$1===9633||x$1>=9635&&x$1<=9641||x$1===9650||x$1===9651||x$1===9654||x$1===9655||x$1===9660||x$1===9661||x$1===9664||x$1===9665||x$1>=9670&&x$1<=9672||x$1===9675||x$1>=9678&&x$1<=9681||x$1>=9698&&x$1<=9701||x$1===9711||x$1===9733||x$1===9734||x$1===9737||x$1===9742||x$1===9743||x$1===9756||x$1===9758||x$1===9792||x$1===9794||x$1===9824||x$1===9825||x$1>=9827&&x$1<=9829||x$1>=9831&&x$1<=9834||x$1===9836||x$1===9837||x$1===9839||x$1===9886||x$1===9887||x$1===9919||x$1>=9926&&x$1<=9933||x$1>=9935&&x$1<=9939||x$1>=9941&&x$1<=9953||x$1===9955||x$1===9960||x$1===9961||x$1>=9963&&x$1<=9969||x$1===9972||x$1>=9974&&x$1<=9977||x$1===9979||x$1===9980||x$1===9982||x$1===9983||x$1===10045||x$1>=10102&&x$1<=10111||x$1>=11094&&x$1<=11097||x$1>=12872&&x$1<=12879||x$1>=57344&&x$1<=63743||x$1>=65024&&x$1<=65039||x$1===65533||x$1>=127232&&x$1<=127242||x$1>=127248&&x$1<=127277||x$1>=127280&&x$1<=127337||x$1>=127344&&x$1<=127373||x$1===127375||x$1===127376||x$1>=127387&&x$1<=127404||x$1>=917760&&x$1<=917999||x$1>=983040&&x$1<=1048573||x$1>=1048576&&x$1<=1114109}function isFullWidth(x$1){return x$1===12288||x$1>=65281&&x$1<=65376||x$1>=65504&&x$1<=65510}function isWide(x$1){return x$1>=4352&&x$1<=4447||x$1===8986||x$1===8987||x$1===9001||x$1===9002||x$1>=9193&&x$1<=9196||x$1===9200||x$1===9203||x$1===9725||x$1===9726||x$1===9748||x$1===9749||x$1>=9776&&x$1<=9783||x$1>=9800&&x$1<=9811||x$1===9855||x$1>=9866&&x$1<=9871||x$1===9875||x$1===9889||x$1===9898||x$1===9899||x$1===9917||x$1===9918||x$1===9924||x$1===9925||x$1===9934||x$1===9940||x$1===9962||x$1===9970||x$1===9971||x$1===9973||x$1===9978||x$1===9981||x$1===9989||x$1===9994||x$1===9995||x$1===10024||x$1===10060||x$1===10062||x$1>=10067&&x$1<=10069||x$1===10071||x$1>=10133&&x$1<=10135||x$1===10160||x$1===10175||x$1===11035||x$1===11036||x$1===11088||x$1===11093||x$1>=11904&&x$1<=11929||x$1>=11931&&x$1<=12019||x$1>=12032&&x$1<=12245||x$1>=12272&&x$1<=12287||x$1>=12289&&x$1<=12350||x$1>=12353&&x$1<=12438||x$1>=12441&&x$1<=12543||x$1>=12549&&x$1<=12591||x$1>=12593&&x$1<=12686||x$1>=12688&&x$1<=12773||x$1>=12783&&x$1<=12830||x$1>=12832&&x$1<=12871||x$1>=12880&&x$1<=42124||x$1>=42128&&x$1<=42182||x$1>=43360&&x$1<=43388||x$1>=44032&&x$1<=55203||x$1>=63744&&x$1<=64255||x$1>=65040&&x$1<=65049||x$1>=65072&&x$1<=65106||x$1>=65108&&x$1<=65126||x$1>=65128&&x$1<=65131||x$1>=94176&&x$1<=94180||x$1>=94192&&x$1<=94198||x$1>=94208&&x$1<=101589||x$1>=101631&&x$1<=101662||x$1>=101760&&x$1<=101874||x$1>=110576&&x$1<=110579||x$1>=110581&&x$1<=110587||x$1===110589||x$1===110590||x$1>=110592&&x$1<=110882||x$1===110898||x$1>=110928&&x$1<=110930||x$1===110933||x$1>=110948&&x$1<=110951||x$1>=110960&&x$1<=111355||x$1>=119552&&x$1<=119638||x$1>=119648&&x$1<=119670||x$1===126980||x$1===127183||x$1===127374||x$1>=127377&&x$1<=127386||x$1>=127488&&x$1<=127490||x$1>=127504&&x$1<=127547||x$1>=127552&&x$1<=127560||x$1===127568||x$1===127569||x$1>=127584&&x$1<=127589||x$1>=127744&&x$1<=127776||x$1>=127789&&x$1<=127797||x$1>=127799&&x$1<=127868||x$1>=127870&&x$1<=127891||x$1>=127904&&x$1<=127946||x$1>=127951&&x$1<=127955||x$1>=127968&&x$1<=127984||x$1===127988||x$1>=127992&&x$1<=128062||x$1===128064||x$1>=128066&&x$1<=128252||x$1>=128255&&x$1<=128317||x$1>=128331&&x$1<=128334||x$1>=128336&&x$1<=128359||x$1===128378||x$1===128405||x$1===128406||x$1===128420||x$1>=128507&&x$1<=128591||x$1>=128640&&x$1<=128709||x$1===128716||x$1>=128720&&x$1<=128722||x$1>=128725&&x$1<=128728||x$1>=128732&&x$1<=128735||x$1===128747||x$1===128748||x$1>=128756&&x$1<=128764||x$1>=128992&&x$1<=129003||x$1===129008||x$1>=129292&&x$1<=129338||x$1>=129340&&x$1<=129349||x$1>=129351&&x$1<=129535||x$1>=129648&&x$1<=129660||x$1>=129664&&x$1<=129674||x$1>=129678&&x$1<=129734||x$1===129736||x$1>=129741&&x$1<=129756||x$1>=129759&&x$1<=129770||x$1>=129775&&x$1<=129784||x$1>=131072&&x$1<=196605||x$1>=196608&&x$1<=262141}function validate$6(codePoint){if(!Number.isSafeInteger(codePoint))throw TypeError(`Expected a code point, got \`${typeof codePoint}\`.`)}function eastAsianWidth(codePoint,{ambiguousAsWide=!1}={}){return validate$6(codePoint),isFullWidth(codePoint)||isWide(codePoint)||ambiguousAsWide&&isAmbiguous(codePoint)?2:1}var import_emoji_regex=__toESM(__commonJSMin(((exports,module)=>{module.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}))(),1);const segmenter=new Intl.Segmenter,defaultIgnorableCodePointRegex=/^\p{Default_Ignorable_Code_Point}$/u;function stringWidth(string,options$1={}){if(typeof string!=`string`||string.length===0)return 0;let{ambiguousIsNarrow=!0,countAnsiEscapeCodes=!1}=options$1;if(countAnsiEscapeCodes||(string=stripAnsi(string)),string.length===0)return 0;let width=0,eastAsianWidthOptions={ambiguousAsWide:!ambiguousIsNarrow};for(let{segment:character}of segmenter.segment(string)){let codePoint=character.codePointAt(0);if(!(codePoint<=31||codePoint>=127&&codePoint<=159)&&!(codePoint>=8203&&codePoint<=8207||codePoint===65279)&&!(codePoint>=768&&codePoint<=879||codePoint>=6832&&codePoint<=6911||codePoint>=7616&&codePoint<=7679||codePoint>=8400&&codePoint<=8447||codePoint>=65056&&codePoint<=65071)&&!(codePoint>=55296&&codePoint<=57343)&&!(codePoint>=65024&&codePoint<=65039)&&!defaultIgnorableCodePointRegex.test(character)){if((0,import_emoji_regex.default)().test(character)){width+=2;continue}width+=eastAsianWidth(codePoint,eastAsianWidthOptions)}}return width}const ANSI_BACKGROUND_OFFSET$2=10,wrapAnsi16$3=(offset=0)=>code$1=>`\u001B[${code$1+offset}m`,wrapAnsi256$3=(offset=0)=>code$1=>`\u001B[${38+offset};5;${code$1}m`,wrapAnsi16m$3=(offset=0)=>(red$1,green$1,blue$1)=>`\u001B[${38+offset};2;${red$1};${green$1};${blue$1}m`,styles$8={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},modifierNames$2=Object.keys(styles$8.modifier),foregroundColorNames$2=Object.keys(styles$8.color),backgroundColorNames$2=Object.keys(styles$8.bgColor),colorNames$2=[...foregroundColorNames$2,...backgroundColorNames$2];function assembleStyles$3(){let codes$1=new Map;for(let[groupName,group]of Object.entries(styles$8)){for(let[styleName,style]of Object.entries(group))styles$8[styleName]={open:`\u001B[${style[0]}m`,close:`\u001B[${style[1]}m`},group[styleName]=styles$8[styleName],codes$1.set(style[0],style[1]);Object.defineProperty(styles$8,groupName,{value:group,enumerable:!1})}return Object.defineProperty(styles$8,`codes`,{value:codes$1,enumerable:!1}),styles$8.color.close=`\x1B[39m`,styles$8.bgColor.close=`\x1B[49m`,styles$8.color.ansi=wrapAnsi16$3(),styles$8.color.ansi256=wrapAnsi256$3(),styles$8.color.ansi16m=wrapAnsi16m$3(),styles$8.bgColor.ansi=wrapAnsi16$3(10),styles$8.bgColor.ansi256=wrapAnsi256$3(10),styles$8.bgColor.ansi16m=wrapAnsi16m$3(10),Object.defineProperties(styles$8,{rgbToAnsi256:{value(red$1,green$1,blue$1){return red$1===green$1&&green$1===blue$1?red$1<8?16:red$1>248?231:Math.round((red$1-8)/247*24)+232:16+36*Math.round(red$1/255*5)+6*Math.round(green$1/255*5)+Math.round(blue$1/255*5)},enumerable:!1},hexToRgb:{value(hex){let matches=/[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));if(!matches)return[0,0,0];let[colorString]=matches;colorString.length===3&&(colorString=[...colorString].map(character=>character+character).join(``));let integer=Number.parseInt(colorString,16);return[integer>>16&255,integer>>8&255,integer&255]},enumerable:!1},hexToAnsi256:{value:hex=>styles$8.rgbToAnsi256(...styles$8.hexToRgb(hex)),enumerable:!1},ansi256ToAnsi:{value(code$1){if(code$1<8)return 30+code$1;if(code$1<16)return 90+(code$1-8);let red$1,green$1,blue$1;if(code$1>=232)red$1=((code$1-232)*10+8)/255,green$1=red$1,blue$1=red$1;else{code$1-=16;let remainder=code$1%36;red$1=Math.floor(code$1/36)/5,green$1=Math.floor(remainder/6)/5,blue$1=remainder%6/5}let value=Math.max(red$1,green$1,blue$1)*2;if(value===0)return 30;let result=30+(Math.round(blue$1)<<2|Math.round(green$1)<<1|Math.round(red$1));return value===2&&(result+=60),result},enumerable:!1},rgbToAnsi:{value:(red$1,green$1,blue$1)=>styles$8.ansi256ToAnsi(styles$8.rgbToAnsi256(red$1,green$1,blue$1)),enumerable:!1},hexToAnsi:{value:hex=>styles$8.ansi256ToAnsi(styles$8.hexToAnsi256(hex)),enumerable:!1}}),styles$8}var ansi_styles_default$1=assembleStyles$3();const ESCAPES$4=new Set([`\x1B`,``]),END_CODE=39,ANSI_ESCAPE_BELL=`\x07`,ANSI_CSI=`[`,ANSI_OSC=`]`,ANSI_SGR_TERMINATOR=`m`,ANSI_ESCAPE_LINK=`]8;;`,wrapAnsiCode=code$1=>`${ESCAPES$4.values().next().value}[${code$1}m`,wrapAnsiHyperlink=url$3=>`${ESCAPES$4.values().next().value}${ANSI_ESCAPE_LINK}${url$3}`,wordLengths=string=>string.split(` `).map(character=>stringWidth(character)),wrapWord=(rows,word,columns)=>{let characters=[...word],isInsideEscape=!1,isInsideLinkEscape=!1,visible=stringWidth(stripAnsi(rows.at(-1)));for(let[index,character]of characters.entries()){let characterLength=stringWidth(character);if(visible+characterLength<=columns?rows[rows.length-1]+=character:(rows.push(character),visible=0),ESCAPES$4.has(character)&&(isInsideEscape=!0,isInsideLinkEscape=characters.slice(index+1,index+1+4).join(``)===ANSI_ESCAPE_LINK),isInsideEscape){isInsideLinkEscape?character===`\x07`&&(isInsideEscape=!1,isInsideLinkEscape=!1):character===`m`&&(isInsideEscape=!1);continue}visible+=characterLength,visible===columns&&index<characters.length-1&&(rows.push(``),visible=0)}!visible&&rows.at(-1).length>0&&rows.length>1&&(rows[rows.length-2]+=rows.pop())},stringVisibleTrimSpacesRight=string=>{let words$1=string.split(` `),last$1=words$1.length;for(;last$1>0&&!(stringWidth(words$1[last$1-1])>0);)last$1--;return last$1===words$1.length?string:words$1.slice(0,last$1).join(` `)+words$1.slice(last$1).join(``)},exec$2=(string,columns,options$1={})=>{if(options$1.trim!==!1&&string.trim()===``)return``;let returnValue=``,escapeCode,escapeUrl,lengths=wordLengths(string),rows=[``];for(let[index,word]of string.split(` `).entries()){options$1.trim!==!1&&(rows[rows.length-1]=rows.at(-1).trimStart());let rowLength=stringWidth(rows.at(-1));if(index!==0&&(rowLength>=columns&&(options$1.wordWrap===!1||options$1.trim===!1)&&(rows.push(``),rowLength=0),(rowLength>0||options$1.trim===!1)&&(rows[rows.length-1]+=` `,rowLength++)),options$1.hard&&lengths[index]>columns){let remainingColumns=columns-rowLength,breaksStartingThisLine=1+Math.floor((lengths[index]-remainingColumns-1)/columns);Math.floor((lengths[index]-1)/columns)<breaksStartingThisLine&&rows.push(``),wrapWord(rows,word,columns);continue}if(rowLength+lengths[index]>columns&&rowLength>0&&lengths[index]>0){if(options$1.wordWrap===!1&&rowLength<columns){wrapWord(rows,word,columns);continue}rows.push(``)}if(rowLength+lengths[index]>columns&&options$1.wordWrap===!1){wrapWord(rows,word,columns);continue}rows[rows.length-1]+=word}options$1.trim!==!1&&(rows=rows.map(row=>stringVisibleTrimSpacesRight(row)));let preString=rows.join(`
|
|
3
3
|
`),pre=[...preString],preStringIndex=0;for(let[index,character]of pre.entries()){if(returnValue+=character,ESCAPES$4.has(character)){let{groups}=RegExp(`(?:\\[(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*))`).exec(preString.slice(preStringIndex))||{groups:{}};if(groups.code!==void 0){let code$2=Number.parseFloat(groups.code);escapeCode=code$2===39?void 0:code$2}else groups.uri!==void 0&&(escapeUrl=groups.uri.length===0?void 0:groups.uri)}let code$1=ansi_styles_default$1.codes.get(Number(escapeCode));pre[index+1]===`
|
|
4
4
|
`?(escapeUrl&&(returnValue+=wrapAnsiHyperlink(``)),escapeCode&&code$1&&(returnValue+=wrapAnsiCode(code$1))):character===`
|
|
5
5
|
`&&(escapeCode&&code$1&&(returnValue+=wrapAnsiCode(escapeCode)),escapeUrl&&(returnValue+=wrapAnsiHyperlink(escapeUrl))),preStringIndex+=character.length}return returnValue};function wrapAnsi(string,columns,options$1){return String(string).normalize().replaceAll(`\r
|
|
6
6
|
`,`
|
|
7
7
|
`).split(`
|
|
8
|
-
`).map(line$1=>exec$
|
|
8
|
+
`).map(line$1=>exec$2(line$1,columns,options$1)).join(`
|
|
9
9
|
`)}var require_scheduler_production=__commonJSMin((exports=>{function push$1(heap,node){var index=heap.length;heap.push(node);a:for(;0<index;){var parentIndex=index-1>>>1,parent$1=heap[parentIndex];if(0<compare$1(parent$1,node))heap[parentIndex]=node,heap[index]=parent$1,index=parentIndex;else break a}}function peek(heap){return heap.length===0?null:heap[0]}function pop$1(heap){if(heap.length===0)return null;var first$1=heap[0],last$1=heap.pop();if(last$1!==first$1){heap[0]=last$1;a:for(var index=0,length=heap.length,halfLength=length>>>1;index<halfLength;){var leftIndex=2*(index+1)-1,left$2=heap[leftIndex],rightIndex=leftIndex+1,right$2=heap[rightIndex];if(0>compare$1(left$2,last$1))rightIndex<length&&0>compare$1(right$2,left$2)?(heap[index]=right$2,heap[rightIndex]=last$1,index=rightIndex):(heap[index]=left$2,heap[leftIndex]=last$1,index=leftIndex);else if(rightIndex<length&&0>compare$1(right$2,last$1))heap[index]=right$2,heap[rightIndex]=last$1,index=rightIndex;else break a}}return first$1}function compare$1(a$2,b$2){var diff$2=a$2.sortIndex-b$2.sortIndex;return diff$2===0?a$2.id-b$2.id:diff$2}if(exports.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var localPerformance=performance;exports.unstable_now=function(){return localPerformance.now()}}else{var localDate=Date,initialTime=localDate.now();exports.unstable_now=function(){return localDate.now()-initialTime}}var taskQueue=[],timerQueue=[],taskIdCounter=1,currentTask=null,currentPriorityLevel=3,isPerformingWork=!1,isHostCallbackScheduled=!1,isHostTimeoutScheduled=!1,needsPaint=!1,localSetTimeout=typeof setTimeout==`function`?setTimeout:null,localClearTimeout=typeof clearTimeout==`function`?clearTimeout:null,localSetImmediate=typeof setImmediate<`u`?setImmediate:null;function advanceTimers(currentTime){for(var timer$1=peek(timerQueue);timer$1!==null;){if(timer$1.callback===null)pop$1(timerQueue);else if(timer$1.startTime<=currentTime)pop$1(timerQueue),timer$1.sortIndex=timer$1.expirationTime,push$1(taskQueue,timer$1);else break;timer$1=peek(timerQueue)}}function handleTimeout(currentTime){if(isHostTimeoutScheduled=!1,advanceTimers(currentTime),!isHostCallbackScheduled)if(peek(taskQueue)!==null)isHostCallbackScheduled=!0,isMessageLoopRunning||(isMessageLoopRunning=!0,schedulePerformWorkUntilDeadline());else{var firstTimer=peek(timerQueue);firstTimer!==null&&requestHostTimeout(handleTimeout,firstTimer.startTime-currentTime)}}var isMessageLoopRunning=!1,taskTimeoutID=-1,frameInterval=5,startTime=-1;function shouldYieldToHost(){return needsPaint?!0:!(exports.unstable_now()-startTime<frameInterval)}function performWorkUntilDeadline(){if(needsPaint=!1,isMessageLoopRunning){var currentTime=exports.unstable_now();startTime=currentTime;var hasMoreWork=!0;try{a:{isHostCallbackScheduled=!1,isHostTimeoutScheduled&&(isHostTimeoutScheduled=!1,localClearTimeout(taskTimeoutID),taskTimeoutID=-1),isPerformingWork=!0;var previousPriorityLevel=currentPriorityLevel;try{b:{for(advanceTimers(currentTime),currentTask=peek(taskQueue);currentTask!==null&&!(currentTask.expirationTime>currentTime&&shouldYieldToHost());){var callback$1=currentTask.callback;if(typeof callback$1==`function`){currentTask.callback=null,currentPriorityLevel=currentTask.priorityLevel;var continuationCallback=callback$1(currentTask.expirationTime<=currentTime);if(currentTime=exports.unstable_now(),typeof continuationCallback==`function`){currentTask.callback=continuationCallback,advanceTimers(currentTime),hasMoreWork=!0;break b}currentTask===peek(taskQueue)&&pop$1(taskQueue),advanceTimers(currentTime)}else pop$1(taskQueue);currentTask=peek(taskQueue)}if(currentTask!==null)hasMoreWork=!0;else{var firstTimer=peek(timerQueue);firstTimer!==null&&requestHostTimeout(handleTimeout,firstTimer.startTime-currentTime),hasMoreWork=!1}}break a}finally{currentTask=null,currentPriorityLevel=previousPriorityLevel,isPerformingWork=!1}hasMoreWork=void 0}}finally{hasMoreWork?schedulePerformWorkUntilDeadline():isMessageLoopRunning=!1}}}var schedulePerformWorkUntilDeadline;if(typeof localSetImmediate==`function`)schedulePerformWorkUntilDeadline=function(){localSetImmediate(performWorkUntilDeadline)};else if(typeof MessageChannel<`u`){var channel=new MessageChannel,port=channel.port2;channel.port1.onmessage=performWorkUntilDeadline,schedulePerformWorkUntilDeadline=function(){port.postMessage(null)}}else schedulePerformWorkUntilDeadline=function(){localSetTimeout(performWorkUntilDeadline,0)};function requestHostTimeout(callback$1,ms){taskTimeoutID=localSetTimeout(function(){callback$1(exports.unstable_now())},ms)}exports.unstable_IdlePriority=5,exports.unstable_ImmediatePriority=1,exports.unstable_LowPriority=4,exports.unstable_NormalPriority=3,exports.unstable_Profiling=null,exports.unstable_UserBlockingPriority=2,exports.unstable_cancelCallback=function(task){task.callback=null},exports.unstable_forceFrameRate=function(fps){0>fps||125<fps?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):frameInterval=0<fps?Math.floor(1e3/fps):5},exports.unstable_getCurrentPriorityLevel=function(){return currentPriorityLevel},exports.unstable_next=function(eventHandler){switch(currentPriorityLevel){case 1:case 2:case 3:var priorityLevel=3;break;default:priorityLevel=currentPriorityLevel}var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel=previousPriorityLevel}},exports.unstable_requestPaint=function(){needsPaint=!0},exports.unstable_runWithPriority=function(priorityLevel,eventHandler){switch(priorityLevel){case 1:case 2:case 3:case 4:case 5:break;default:priorityLevel=3}var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel=previousPriorityLevel}},exports.unstable_scheduleCallback=function(priorityLevel,callback$1,options$1){var currentTime=exports.unstable_now();switch(typeof options$1==`object`&&options$1?(options$1=options$1.delay,options$1=typeof options$1==`number`&&0<options$1?currentTime+options$1:currentTime):options$1=currentTime,priorityLevel){case 1:var timeout=-1;break;case 2:timeout=250;break;case 5:timeout=1073741823;break;case 4:timeout=1e4;break;default:timeout=5e3}return timeout=options$1+timeout,priorityLevel={id:taskIdCounter++,callback:callback$1,priorityLevel,startTime:options$1,expirationTime:timeout,sortIndex:-1},options$1>currentTime?(priorityLevel.sortIndex=options$1,push$1(timerQueue,priorityLevel),peek(taskQueue)===null&&priorityLevel===peek(timerQueue)&&(isHostTimeoutScheduled?(localClearTimeout(taskTimeoutID),taskTimeoutID=-1):isHostTimeoutScheduled=!0,requestHostTimeout(handleTimeout,options$1-currentTime))):(priorityLevel.sortIndex=timeout,push$1(taskQueue,priorityLevel),isHostCallbackScheduled||isPerformingWork||(isHostCallbackScheduled=!0,isMessageLoopRunning||(isMessageLoopRunning=!0,schedulePerformWorkUntilDeadline()))),priorityLevel},exports.unstable_shouldYield=shouldYieldToHost,exports.unstable_wrapCallback=function(callback$1){var parentPriorityLevel=currentPriorityLevel;return function(){var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=parentPriorityLevel;try{return callback$1.apply(this,arguments)}finally{currentPriorityLevel=previousPriorityLevel}}}})),require_scheduler_development=__commonJSMin((exports=>{process.env.NODE_ENV!==`production`&&(function(){function performWorkUntilDeadline$1(){if(needsPaint$1=!1,isMessageLoopRunning$1){var currentTime=exports.unstable_now();startTime$1=currentTime;var hasMoreWork=!0;try{a:{isHostCallbackScheduled$1=!1,isHostTimeoutScheduled$1&&(isHostTimeoutScheduled$1=!1,localClearTimeout$1(taskTimeoutID$1),taskTimeoutID$1=-1),isPerformingWork$1=!0;var previousPriorityLevel=currentPriorityLevel$1;try{b:{for(advanceTimers$1(currentTime),currentTask$1=peek$1(taskQueue$1);currentTask$1!==null&&!(currentTask$1.expirationTime>currentTime&&shouldYieldToHost$1());){var callback$1=currentTask$1.callback;if(typeof callback$1==`function`){currentTask$1.callback=null,currentPriorityLevel$1=currentTask$1.priorityLevel;var continuationCallback=callback$1(currentTask$1.expirationTime<=currentTime);if(currentTime=exports.unstable_now(),typeof continuationCallback==`function`){currentTask$1.callback=continuationCallback,advanceTimers$1(currentTime),hasMoreWork=!0;break b}currentTask$1===peek$1(taskQueue$1)&&pop$2(taskQueue$1),advanceTimers$1(currentTime)}else pop$2(taskQueue$1);currentTask$1=peek$1(taskQueue$1)}if(currentTask$1!==null)hasMoreWork=!0;else{var firstTimer=peek$1(timerQueue$1);firstTimer!==null&&requestHostTimeout$1(handleTimeout$1,firstTimer.startTime-currentTime),hasMoreWork=!1}}break a}finally{currentTask$1=null,currentPriorityLevel$1=previousPriorityLevel,isPerformingWork$1=!1}hasMoreWork=void 0}}finally{hasMoreWork?schedulePerformWorkUntilDeadline$1():isMessageLoopRunning$1=!1}}}function push$2(heap,node){var index=heap.length;heap.push(node);a:for(;0<index;){var parentIndex=index-1>>>1,parent$1=heap[parentIndex];if(0<compare$2(parent$1,node))heap[parentIndex]=node,heap[index]=parent$1,index=parentIndex;else break a}}function peek$1(heap){return heap.length===0?null:heap[0]}function pop$2(heap){if(heap.length===0)return null;var first$1=heap[0],last$1=heap.pop();if(last$1!==first$1){heap[0]=last$1;a:for(var index=0,length=heap.length,halfLength=length>>>1;index<halfLength;){var leftIndex=2*(index+1)-1,left$2=heap[leftIndex],rightIndex=leftIndex+1,right$2=heap[rightIndex];if(0>compare$2(left$2,last$1))rightIndex<length&&0>compare$2(right$2,left$2)?(heap[index]=right$2,heap[rightIndex]=last$1,index=rightIndex):(heap[index]=left$2,heap[leftIndex]=last$1,index=leftIndex);else if(rightIndex<length&&0>compare$2(right$2,last$1))heap[index]=right$2,heap[rightIndex]=last$1,index=rightIndex;else break a}}return first$1}function compare$2(a$2,b$2){var diff$2=a$2.sortIndex-b$2.sortIndex;return diff$2===0?a$2.id-b$2.id:diff$2}function advanceTimers$1(currentTime){for(var timer$1=peek$1(timerQueue$1);timer$1!==null;){if(timer$1.callback===null)pop$2(timerQueue$1);else if(timer$1.startTime<=currentTime)pop$2(timerQueue$1),timer$1.sortIndex=timer$1.expirationTime,push$2(taskQueue$1,timer$1);else break;timer$1=peek$1(timerQueue$1)}}function handleTimeout$1(currentTime){if(isHostTimeoutScheduled$1=!1,advanceTimers$1(currentTime),!isHostCallbackScheduled$1)if(peek$1(taskQueue$1)!==null)isHostCallbackScheduled$1=!0,isMessageLoopRunning$1||(isMessageLoopRunning$1=!0,schedulePerformWorkUntilDeadline$1());else{var firstTimer=peek$1(timerQueue$1);firstTimer!==null&&requestHostTimeout$1(handleTimeout$1,firstTimer.startTime-currentTime)}}function shouldYieldToHost$1(){return needsPaint$1?!0:!(exports.unstable_now()-startTime$1<frameInterval$1)}function requestHostTimeout$1(callback$1,ms){taskTimeoutID$1=localSetTimeout$1(function(){callback$1(exports.unstable_now())},ms)}if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()),exports.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var localPerformance$1=performance;exports.unstable_now=function(){return localPerformance$1.now()}}else{var localDate$1=Date,initialTime$1=localDate$1.now();exports.unstable_now=function(){return localDate$1.now()-initialTime$1}}var taskQueue$1=[],timerQueue$1=[],taskIdCounter$1=1,currentTask$1=null,currentPriorityLevel$1=3,isPerformingWork$1=!1,isHostCallbackScheduled$1=!1,isHostTimeoutScheduled$1=!1,needsPaint$1=!1,localSetTimeout$1=typeof setTimeout==`function`?setTimeout:null,localClearTimeout$1=typeof clearTimeout==`function`?clearTimeout:null,localSetImmediate$1=typeof setImmediate<`u`?setImmediate:null,isMessageLoopRunning$1=!1,taskTimeoutID$1=-1,frameInterval$1=5,startTime$1=-1;if(typeof localSetImmediate$1==`function`)var schedulePerformWorkUntilDeadline$1=function(){localSetImmediate$1(performWorkUntilDeadline$1)};else if(typeof MessageChannel<`u`){var channel$1=new MessageChannel,port$1=channel$1.port2;channel$1.port1.onmessage=performWorkUntilDeadline$1,schedulePerformWorkUntilDeadline$1=function(){port$1.postMessage(null)}}else schedulePerformWorkUntilDeadline$1=function(){localSetTimeout$1(performWorkUntilDeadline$1,0)};exports.unstable_IdlePriority=5,exports.unstable_ImmediatePriority=1,exports.unstable_LowPriority=4,exports.unstable_NormalPriority=3,exports.unstable_Profiling=null,exports.unstable_UserBlockingPriority=2,exports.unstable_cancelCallback=function(task){task.callback=null},exports.unstable_forceFrameRate=function(fps){0>fps||125<fps?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):frameInterval$1=0<fps?Math.floor(1e3/fps):5},exports.unstable_getCurrentPriorityLevel=function(){return currentPriorityLevel$1},exports.unstable_next=function(eventHandler){switch(currentPriorityLevel$1){case 1:case 2:case 3:var priorityLevel=3;break;default:priorityLevel=currentPriorityLevel$1}var previousPriorityLevel=currentPriorityLevel$1;currentPriorityLevel$1=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel$1=previousPriorityLevel}},exports.unstable_requestPaint=function(){needsPaint$1=!0},exports.unstable_runWithPriority=function(priorityLevel,eventHandler){switch(priorityLevel){case 1:case 2:case 3:case 4:case 5:break;default:priorityLevel=3}var previousPriorityLevel=currentPriorityLevel$1;currentPriorityLevel$1=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel$1=previousPriorityLevel}},exports.unstable_scheduleCallback=function(priorityLevel,callback$1,options$1){var currentTime=exports.unstable_now();switch(typeof options$1==`object`&&options$1?(options$1=options$1.delay,options$1=typeof options$1==`number`&&0<options$1?currentTime+options$1:currentTime):options$1=currentTime,priorityLevel){case 1:var timeout=-1;break;case 2:timeout=250;break;case 5:timeout=1073741823;break;case 4:timeout=1e4;break;default:timeout=5e3}return timeout=options$1+timeout,priorityLevel={id:taskIdCounter$1++,callback:callback$1,priorityLevel,startTime:options$1,expirationTime:timeout,sortIndex:-1},options$1>currentTime?(priorityLevel.sortIndex=options$1,push$2(timerQueue$1,priorityLevel),peek$1(taskQueue$1)===null&&priorityLevel===peek$1(timerQueue$1)&&(isHostTimeoutScheduled$1?(localClearTimeout$1(taskTimeoutID$1),taskTimeoutID$1=-1):isHostTimeoutScheduled$1=!0,requestHostTimeout$1(handleTimeout$1,options$1-currentTime))):(priorityLevel.sortIndex=timeout,push$2(taskQueue$1,priorityLevel),isHostCallbackScheduled$1||isPerformingWork$1||(isHostCallbackScheduled$1=!0,isMessageLoopRunning$1||(isMessageLoopRunning$1=!0,schedulePerformWorkUntilDeadline$1()))),priorityLevel},exports.unstable_shouldYield=shouldYieldToHost$1,exports.unstable_wrapCallback=function(callback$1){var parentPriorityLevel=currentPriorityLevel$1;return function(){var previousPriorityLevel=currentPriorityLevel$1;currentPriorityLevel$1=parentPriorityLevel;try{return callback$1.apply(this,arguments)}finally{currentPriorityLevel$1=previousPriorityLevel}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),require_scheduler=__commonJSMin(((exports,module)=>{process.env.NODE_ENV===`production`?module.exports=require_scheduler_production():module.exports=require_scheduler_development()})),require_react_reconciler_production=__commonJSMin(((exports,module)=>{module.exports=function($$$config){function createFiber(tag$2,pendingProps,key$1,mode){return new FiberNode(tag$2,pendingProps,key$1,mode)}function noop$12(){}function formatProdErrorMessage(code$1){var url$3=`https://react.dev/errors/`+code$1;if(1<arguments.length){url$3+=`?args[]=`+encodeURIComponent(arguments[1]);for(var i$7=2;i$7<arguments.length;i$7++)url$3+=`&args[]=`+encodeURIComponent(arguments[i$7])}return`Minified React error #`+code$1+`; visit `+url$3+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function getNearestMountedFiber(fiber){var node=fiber,nearestMounted=fiber;if(fiber.alternate)for(;node.return;)node=node.return;else{fiber=node;do node=fiber,node.flags&4098&&(nearestMounted=node.return),fiber=node.return;while(fiber)}return node.tag===3?nearestMounted:null}function assertIsMounted(fiber){if(getNearestMountedFiber(fiber)!==fiber)throw Error(formatProdErrorMessage(188))}function findCurrentFiberUsingSlowPath(fiber){var alternate=fiber.alternate;if(!alternate){if(alternate=getNearestMountedFiber(fiber),alternate===null)throw Error(formatProdErrorMessage(188));return alternate===fiber?fiber:null}for(var a$2=fiber,b$2=alternate;;){var parentA=a$2.return;if(parentA===null)break;var parentB=parentA.alternate;if(parentB===null){if(b$2=parentA.return,b$2!==null){a$2=b$2;continue}break}if(parentA.child===parentB.child){for(parentB=parentA.child;parentB;){if(parentB===a$2)return assertIsMounted(parentA),fiber;if(parentB===b$2)return assertIsMounted(parentA),alternate;parentB=parentB.sibling}throw Error(formatProdErrorMessage(188))}if(a$2.return!==b$2.return)a$2=parentA,b$2=parentB;else{for(var didFindChild=!1,child$0=parentA.child;child$0;){if(child$0===a$2){didFindChild=!0,a$2=parentA,b$2=parentB;break}if(child$0===b$2){didFindChild=!0,b$2=parentA,a$2=parentB;break}child$0=child$0.sibling}if(!didFindChild){for(child$0=parentB.child;child$0;){if(child$0===a$2){didFindChild=!0,a$2=parentB,b$2=parentA;break}if(child$0===b$2){didFindChild=!0,b$2=parentB,a$2=parentA;break}child$0=child$0.sibling}if(!didFindChild)throw Error(formatProdErrorMessage(189))}}if(a$2.alternate!==b$2)throw Error(formatProdErrorMessage(190))}if(a$2.tag!==3)throw Error(formatProdErrorMessage(188));return a$2.stateNode.current===a$2?fiber:alternate}function findCurrentHostFiberImpl(node){var tag$2=node.tag;if(tag$2===5||tag$2===26||tag$2===27||tag$2===6)return node;for(node=node.child;node!==null;){if(tag$2=findCurrentHostFiberImpl(node),tag$2!==null)return tag$2;node=node.sibling}return null}function findCurrentHostFiberWithNoPortalsImpl(node){var tag$2=node.tag;if(tag$2===5||tag$2===26||tag$2===27||tag$2===6)return node;for(node=node.child;node!==null;){if(node.tag!==4&&(tag$2=findCurrentHostFiberWithNoPortalsImpl(node),tag$2!==null))return tag$2;node=node.sibling}return null}function getIteratorFn(maybeIterable){return typeof maybeIterable!=`object`||!maybeIterable?null:(maybeIterable=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable[`@@iterator`],typeof maybeIterable==`function`?maybeIterable:null)}function getComponentNameFromType(type){if(type==null)return null;if(typeof type==`function`)return type.$$typeof===REACT_CLIENT_REFERENCE?null:type.displayName||type.name||null;if(typeof type==`string`)return type;switch(type){case REACT_FRAGMENT_TYPE:return`Fragment`;case REACT_PROFILER_TYPE:return`Profiler`;case REACT_STRICT_MODE_TYPE:return`StrictMode`;case REACT_SUSPENSE_TYPE:return`Suspense`;case REACT_SUSPENSE_LIST_TYPE:return`SuspenseList`;case REACT_ACTIVITY_TYPE:return`Activity`}if(typeof type==`object`)switch(type.$$typeof){case REACT_PORTAL_TYPE:return`Portal`;case REACT_CONTEXT_TYPE:return(type.displayName||`Context`)+`.Provider`;case REACT_CONSUMER_TYPE:return(type._context.displayName||`Context`)+`.Consumer`;case REACT_FORWARD_REF_TYPE:var innerType=type.render;return type=type.displayName,type||=(type=innerType.displayName||innerType.name||``,type===``?`ForwardRef`:`ForwardRef(`+type+`)`),type;case REACT_MEMO_TYPE:return innerType=type.displayName||null,innerType===null?getComponentNameFromType(type.type)||`Memo`:innerType;case REACT_LAZY_TYPE:innerType=type._payload,type=type._init;try{return getComponentNameFromType(type(innerType))}catch{}}return null}function createCursor(defaultValue){return{current:defaultValue}}function pop$2(cursor){0>index$jscomp$0||(cursor.current=valueStack[index$jscomp$0],valueStack[index$jscomp$0]=null,index$jscomp$0--)}function push$2(cursor,value){index$jscomp$0++,valueStack[index$jscomp$0]=cursor.current,cursor.current=value}function clz32Fallback(x$1){return x$1>>>=0,x$1===0?32:31-(log$1$1(x$1)/LN2|0)|0}function getHighestPriorityLanes(lanes){var pendingSyncLanes=lanes&42;if(pendingSyncLanes!==0)return pendingSyncLanes;switch(lanes&-lanes){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return lanes&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return lanes&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return lanes}}function getNextLanes(root$31,wipLanes,rootHasPendingCommit){var pendingLanes=root$31.pendingLanes;if(pendingLanes===0)return 0;var nextLanes=0,suspendedLanes=root$31.suspendedLanes,pingedLanes=root$31.pingedLanes;root$31=root$31.warmLanes;var nonIdlePendingLanes=pendingLanes&134217727;return nonIdlePendingLanes===0?(nonIdlePendingLanes=pendingLanes&~suspendedLanes,nonIdlePendingLanes===0?pingedLanes===0?rootHasPendingCommit||(rootHasPendingCommit=pendingLanes&~root$31,rootHasPendingCommit!==0&&(nextLanes=getHighestPriorityLanes(rootHasPendingCommit))):nextLanes=getHighestPriorityLanes(pingedLanes):nextLanes=getHighestPriorityLanes(nonIdlePendingLanes)):(pendingLanes=nonIdlePendingLanes&~suspendedLanes,pendingLanes===0?(pingedLanes&=nonIdlePendingLanes,pingedLanes===0?rootHasPendingCommit||(rootHasPendingCommit=nonIdlePendingLanes&~root$31,rootHasPendingCommit!==0&&(nextLanes=getHighestPriorityLanes(rootHasPendingCommit))):nextLanes=getHighestPriorityLanes(pingedLanes)):nextLanes=getHighestPriorityLanes(pendingLanes)),nextLanes===0?0:wipLanes!==0&&wipLanes!==nextLanes&&(wipLanes&suspendedLanes)===0&&(suspendedLanes=nextLanes&-nextLanes,rootHasPendingCommit=wipLanes&-wipLanes,suspendedLanes>=rootHasPendingCommit||suspendedLanes===32&&rootHasPendingCommit&4194048)?wipLanes:nextLanes}function checkIfRootIsPrerendering(root$31,renderLanes$1){return(root$31.pendingLanes&~(root$31.suspendedLanes&~root$31.pingedLanes)&renderLanes$1)===0}function computeExpirationTime(lane,currentTime){switch(lane){case 1:case 2:case 4:case 8:case 64:return currentTime+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return currentTime+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function claimNextTransitionLane(){var lane=nextTransitionLane;return nextTransitionLane<<=1,!(nextTransitionLane&4194048)&&(nextTransitionLane=256),lane}function claimNextRetryLane(){var lane=nextRetryLane;return nextRetryLane<<=1,!(nextRetryLane&62914560)&&(nextRetryLane=4194304),lane}function createLaneMap(initial){for(var laneMap=[],i$7=0;31>i$7;i$7++)laneMap.push(initial);return laneMap}function markRootUpdated$1(root$31,updateLane){root$31.pendingLanes|=updateLane,updateLane!==268435456&&(root$31.suspendedLanes=0,root$31.pingedLanes=0,root$31.warmLanes=0)}function markRootFinished(root$31,finishedLanes,remainingLanes,spawnedLane,updatedLanes,suspendedRetryLanes){var previouslyPendingLanes=root$31.pendingLanes;root$31.pendingLanes=remainingLanes,root$31.suspendedLanes=0,root$31.pingedLanes=0,root$31.warmLanes=0,root$31.expiredLanes&=remainingLanes,root$31.entangledLanes&=remainingLanes,root$31.errorRecoveryDisabledLanes&=remainingLanes,root$31.shellSuspendCounter=0;var entanglements=root$31.entanglements,expirationTimes=root$31.expirationTimes,hiddenUpdates=root$31.hiddenUpdates;for(remainingLanes=previouslyPendingLanes&~remainingLanes;0<remainingLanes;){var index$5=31-clz32(remainingLanes),lane=1<<index$5;entanglements[index$5]=0,expirationTimes[index$5]=-1;var hiddenUpdatesForLane=hiddenUpdates[index$5];if(hiddenUpdatesForLane!==null)for(hiddenUpdates[index$5]=null,index$5=0;index$5<hiddenUpdatesForLane.length;index$5++){var update=hiddenUpdatesForLane[index$5];update!==null&&(update.lane&=-536870913)}remainingLanes&=~lane}spawnedLane!==0&&markSpawnedDeferredLane(root$31,spawnedLane,0),suspendedRetryLanes!==0&&updatedLanes===0&&root$31.tag!==0&&(root$31.suspendedLanes|=suspendedRetryLanes&~(previouslyPendingLanes&~finishedLanes))}function markSpawnedDeferredLane(root$31,spawnedLane,entangledLanes){root$31.pendingLanes|=spawnedLane,root$31.suspendedLanes&=~spawnedLane;var spawnedLaneIndex=31-clz32(spawnedLane);root$31.entangledLanes|=spawnedLane,root$31.entanglements[spawnedLaneIndex]=root$31.entanglements[spawnedLaneIndex]|1073741824|entangledLanes&4194090}function markRootEntangled(root$31,entangledLanes){var rootEntangledLanes=root$31.entangledLanes|=entangledLanes;for(root$31=root$31.entanglements;rootEntangledLanes;){var index$6=31-clz32(rootEntangledLanes),lane=1<<index$6;lane&entangledLanes|root$31[index$6]&entangledLanes&&(root$31[index$6]|=entangledLanes),rootEntangledLanes&=~lane}}function getBumpedLaneForHydrationByLane(lane){switch(lane){case 2:lane=1;break;case 8:lane=4;break;case 32:lane=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:lane=128;break;case 268435456:lane=134217728;break;default:lane=0}return lane}function lanesToEventPriority(lanes){return lanes&=-lanes,2<lanes?8<lanes?lanes&134217727?32:268435456:8:2}function setIsStrictModeForDevtools(newIsStrictMode){if(typeof log$5==`function`&&unstable_setDisableYieldValue(newIsStrictMode),injectedHook&&typeof injectedHook.setStrictMode==`function`)try{injectedHook.setStrictMode(rendererID,newIsStrictMode)}catch{}}function describeBuiltInComponentFrame(name$2){if(prefix===void 0)try{throw Error()}catch(x$1){var match$1=x$1.stack.trim().match(/\n( *(at )?)/);prefix=match$1&&match$1[1]||``,suffix=-1<x$1.stack.indexOf(`
|
|
10
10
|
at`)?` (<anonymous>)`:-1<x$1.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
11
11
|
`+prefix+name$2+suffix}function describeNativeComponentFrame(fn,construct){if(!fn||reentry$1)return``;reentry$1=!0;var previousPrepareStackTrace=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var RunInRootFrame={DetermineComponentFrameRoot:function(){try{if(construct){var Fake=function(){throw Error()};if(Object.defineProperty(Fake.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(Fake,[])}catch(x$1){var control=x$1}Reflect.construct(fn,[],Fake)}else{try{Fake.call()}catch(x$8){control=x$8}fn.call(Fake.prototype)}}else{try{throw Error()}catch(x$9){control=x$9}(Fake=fn())&&typeof Fake.catch==`function`&&Fake.catch(function(){})}}catch(sample){if(sample&&control&&typeof sample.stack==`string`)return[sample.stack,control.stack]}return[null,null]}};RunInRootFrame.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var namePropDescriptor=Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot,`name`);namePropDescriptor&&namePropDescriptor.configurable&&Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var _RunInRootFrame$Deter=RunInRootFrame.DetermineComponentFrameRoot(),sampleStack=_RunInRootFrame$Deter[0],controlStack=_RunInRootFrame$Deter[1];if(sampleStack&&controlStack){var sampleLines=sampleStack.split(`
|
|
@@ -269,7 +269,7 @@ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
|
269
269
|
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
270
270
|
|
|
271
271
|
Option 2 - OIDC token:
|
|
272
|
-
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new _GatewayAuthenticationError({message:contextualMessage,statusCode,cause})}},name2=`GatewayInvalidRequestError`,marker3=`vercel.ai.gateway.error.${name2}`,symbol3=Symbol.for(marker3),_a3,_b3,GatewayInvalidRequestError=class extends (_b3=GatewayError,_a3=symbol3,_b3){constructor({message=`Invalid request`,statusCode=400,cause}={}){super({message,statusCode,cause}),this[_a3]=!0,this.name=name2,this.type=`invalid_request_error`}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol3 in error$3}},name3=`GatewayRateLimitError`,marker4=`vercel.ai.gateway.error.${name3}`,symbol4=Symbol.for(marker4),_a4,_b4,GatewayRateLimitError=class extends (_b4=GatewayError,_a4=symbol4,_b4){constructor({message=`Rate limit exceeded`,statusCode=429,cause}={}){super({message,statusCode,cause}),this[_a4]=!0,this.name=name3,this.type=`rate_limit_exceeded`}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol4 in error$3}},name4=`GatewayModelNotFoundError`,marker5=`vercel.ai.gateway.error.${name4}`,symbol5=Symbol.for(marker5),modelNotFoundParamSchema=lazyValidator(()=>zodSchema(z$2.object({modelId:z$2.string()}))),_a5,_b5,GatewayModelNotFoundError=class extends (_b5=GatewayError,_a5=symbol5,_b5){constructor({message=`Model not found`,statusCode=404,modelId,cause}={}){super({message,statusCode,cause}),this[_a5]=!0,this.name=name4,this.type=`model_not_found`,this.modelId=modelId}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol5 in error$3}},name5=`GatewayInternalServerError`,marker6=`vercel.ai.gateway.error.${name5}`,symbol6=Symbol.for(marker6),_a6,_b6,GatewayInternalServerError=class extends (_b6=GatewayError,_a6=symbol6,_b6){constructor({message=`Internal server error`,statusCode=500,cause}={}){super({message,statusCode,cause}),this[_a6]=!0,this.name=name5,this.type=`internal_server_error`}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol6 in error$3}},name6=`GatewayResponseError`,marker7=`vercel.ai.gateway.error.${name6}`,symbol7=Symbol.for(marker7),_a7,_b7,GatewayResponseError=class extends (_b7=GatewayError,_a7=symbol7,_b7){constructor({message=`Invalid response from Gateway`,statusCode=502,response,validationError,cause}={}){super({message,statusCode,cause}),this[_a7]=!0,this.name=name6,this.type=`response_error`,this.response=response,this.validationError=validationError}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol7 in error$3}};async function createGatewayErrorFromResponse({response,statusCode,defaultMessage=`Gateway request failed`,cause,authMethod}){let parseResult=await safeValidateTypes({value:response,schema:gatewayErrorResponseSchema});if(!parseResult.success)return new GatewayResponseError({message:`Invalid error response format: ${defaultMessage}`,statusCode,response,validationError:parseResult.error,cause});let validatedResponse=parseResult.value,errorType=validatedResponse.error.type,message=validatedResponse.error.message;switch(errorType){case`authentication_error`:return GatewayAuthenticationError.createContextualError({apiKeyProvided:authMethod===`api-key`,oidcTokenProvided:authMethod===`oidc`,statusCode,cause});case`invalid_request_error`:return new GatewayInvalidRequestError({message,statusCode,cause});case`rate_limit_exceeded`:return new GatewayRateLimitError({message,statusCode,cause});case`model_not_found`:{let modelResult=await safeValidateTypes({value:validatedResponse.error.param,schema:modelNotFoundParamSchema});return new GatewayModelNotFoundError({message,statusCode,modelId:modelResult.success?modelResult.value.modelId:void 0,cause})}case`internal_server_error`:return new GatewayInternalServerError({message,statusCode,cause});default:return new GatewayInternalServerError({message,statusCode,cause})}}var gatewayErrorResponseSchema=lazyValidator(()=>zodSchema(z$2.object({error:z$2.object({message:z$2.string(),type:z$2.string().nullish(),param:z$2.unknown().nullish(),code:z$2.union([z$2.string(),z$2.number()]).nullish()})})));function asGatewayError(error$3,authMethod){var _a8;return GatewayError.isInstance(error$3)?error$3:APICallError.isInstance(error$3)?createGatewayErrorFromResponse({response:extractApiCallResponse(error$3),statusCode:error$3.statusCode??500,defaultMessage:`Gateway request failed`,cause:error$3,authMethod}):createGatewayErrorFromResponse({response:{},statusCode:500,defaultMessage:error$3 instanceof Error?`Gateway request failed: ${error$3.message}`:`Unknown Gateway error`,cause:error$3,authMethod})}function extractApiCallResponse(error$3){if(error$3.data!==void 0)return error$3.data;if(error$3.responseBody!=null)try{return JSON.parse(error$3.responseBody)}catch{return error$3.responseBody}return{}}var GATEWAY_AUTH_METHOD_HEADER=`ai-gateway-auth-method`;async function parseAuthMethod(headers){let result=await safeValidateTypes({value:headers[GATEWAY_AUTH_METHOD_HEADER],schema:gatewayAuthMethodSchema});return result.success?result.value:void 0}var gatewayAuthMethodSchema=lazyValidator(()=>zodSchema(z$2.union([z$2.literal(`api-key`),z$2.literal(`oidc`)]))),GatewayFetchMetadata=class{constructor(config){this.config=config}async getAvailableModels(){try{let{value}=await getFromApi({url:`${this.config.baseURL}/config`,headers:await resolve$10(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayAvailableModelsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),fetch:this.config.fetch});return value}catch(error$3){throw await asGatewayError(error$3)}}async getCredits(){try{let baseUrl=new URL(this.config.baseURL),{value}=await getFromApi({url:`${baseUrl.origin}/v1/credits`,headers:await resolve$10(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayCreditsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),fetch:this.config.fetch});return value}catch(error$3){throw await asGatewayError(error$3)}}},gatewayAvailableModelsResponseSchema=lazyValidator(()=>zodSchema(z$2.object({models:z$2.array(z$2.object({id:z$2.string(),name:z$2.string(),description:z$2.string().nullish(),pricing:z$2.object({input:z$2.string(),output:z$2.string(),input_cache_read:z$2.string().nullish(),input_cache_write:z$2.string().nullish()}).transform(({input,output,input_cache_read,input_cache_write})=>({input,output,...input_cache_read?{cachedInputTokens:input_cache_read}:{},...input_cache_write?{cacheCreationInputTokens:input_cache_write}:{}})).nullish(),specification:z$2.object({specificationVersion:z$2.literal(`v2`),provider:z$2.string(),modelId:z$2.string()}),modelType:z$2.enum([`language`,`embedding`,`image`]).nullish()}))}))),gatewayCreditsResponseSchema=lazyValidator(()=>zodSchema(z$2.object({balance:z$2.string(),total_used:z$2.string()}).transform(({balance,total_used})=>({balance,totalUsed:total_used})))),GatewayLanguageModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(options$1){let{abortSignal:_abortSignal,...optionsWithoutSignal}=options$1;return{args:this.maybeEncodeFileParts(optionsWithoutSignal),warnings:[]}}async doGenerate(options$1){let{args,warnings}=await this.getArgs(options$1),{abortSignal}=options$1,resolvedHeaders=await resolve$10(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue:rawResponse}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options$1.headers,this.getModelConfigHeaders(this.modelId,!1),await resolve$10(this.config.o11yHeaders)),body:args,successfulResponseHandler:createJsonResponseHandler(z$2.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{...responseBody,request:{body:args},response:{headers:responseHeaders,body:rawResponse},warnings}}catch(error$3){throw await asGatewayError(error$3,await parseAuthMethod(resolvedHeaders))}}async doStream(options$1){let{args,warnings}=await this.getArgs(options$1),{abortSignal}=options$1,resolvedHeaders=await resolve$10(this.config.headers());try{let{value:response,responseHeaders}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options$1.headers,this.getModelConfigHeaders(this.modelId,!0),await resolve$10(this.config.o11yHeaders)),body:args,successfulResponseHandler:createEventSourceResponseHandler(z$2.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{stream:response.pipeThrough(new TransformStream({start(controller){warnings.length>0&&controller.enqueue({type:`stream-start`,warnings})},transform(chunk$1,controller){if(chunk$1.success){let streamPart=chunk$1.value;if(streamPart.type===`raw`&&!options$1.includeRawChunks)return;streamPart.type===`response-metadata`&&streamPart.timestamp&&typeof streamPart.timestamp==`string`&&(streamPart.timestamp=new Date(streamPart.timestamp)),controller.enqueue(streamPart)}else controller.error(chunk$1.error)}})),request:{body:args},response:{headers:responseHeaders}}}catch(error$3){throw await asGatewayError(error$3,await parseAuthMethod(resolvedHeaders))}}isFilePart(part){return part&&typeof part==`object`&&`type`in part&&part.type===`file`}maybeEncodeFileParts(options$1){for(let message of options$1.prompt)for(let part of message.content)if(this.isFilePart(part)){let filePart=part;if(filePart.data instanceof Uint8Array){let buffer$2=Uint8Array.from(filePart.data),base64Data=Buffer.from(buffer$2).toString(`base64`);filePart.data=new URL(`data:${filePart.mediaType||`application/octet-stream`};base64,${base64Data}`)}}return options$1}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(modelId,streaming){return{"ai-language-model-specification-version":`2`,"ai-language-model-id":modelId,"ai-language-model-streaming":String(streaming)}}},GatewayEmbeddingModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values,headers,abortSignal,providerOptions}){var _a8;let resolvedHeaders=await resolve$10(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,headers??{},this.getModelConfigHeaders(),await resolve$10(this.config.o11yHeaders)),body:{input:values.length===1?values[0]:values,...providerOptions?{providerOptions}:{}},successfulResponseHandler:createJsonResponseHandler(gatewayEmbeddingResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{embeddings:responseBody.embeddings,usage:responseBody.usage??void 0,providerMetadata:responseBody.providerMetadata,response:{headers:responseHeaders,body:rawValue}}}catch(error$3){throw await asGatewayError(error$3,await parseAuthMethod(resolvedHeaders))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":`2`,"ai-model-id":this.modelId}}},gatewayEmbeddingResponseSchema=lazyValidator(()=>zodSchema(z$2.object({embeddings:z$2.array(z$2.array(z$2.number())),usage:z$2.object({tokens:z$2.number()}).nullish(),providerMetadata:z$2.record(z$2.string(),z$2.record(z$2.string(),z$2.unknown())).optional()})));async function getVercelRequestId(){var _a8;return(0,import_dist$7.getContext)().headers?.[`x-vercel-id`]}var VERSION$11=`2.0.0`,AI_GATEWAY_PROTOCOL_VERSION=`0.0.1`;function createGatewayProvider(options$1={}){var _a8,_b8;let pendingMetadata=null,metadataCache=null,cacheRefreshMillis=options$1.metadataCacheRefreshMillis??1e3*60*5,lastFetchTime=0,baseURL=withoutTrailingSlash(options$1.baseURL)??`https://ai-gateway.vercel.sh/v1/ai`,getHeaders$1=async()=>{let auth$2=await getGatewayAuthToken(options$1);if(auth$2)return withUserAgentSuffix({Authorization:`Bearer ${auth$2.token}`,"ai-gateway-protocol-version":AI_GATEWAY_PROTOCOL_VERSION,[GATEWAY_AUTH_METHOD_HEADER]:auth$2.authMethod,...options$1.headers},`ai-sdk/gateway/${VERSION$11}`);throw GatewayAuthenticationError.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},createO11yHeaders=()=>{let deploymentId=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_DEPLOYMENT_ID`}),environment=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_ENV`}),region=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_REGION`});return async()=>{let requestId=await getVercelRequestId();return{...deploymentId&&{"ai-o11y-deployment-id":deploymentId},...environment&&{"ai-o11y-environment":environment},...region&&{"ai-o11y-region":region},...requestId&&{"ai-o11y-request-id":requestId}}}},createLanguageModel=modelId=>new GatewayLanguageModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders$1,fetch:options$1.fetch,o11yHeaders:createO11yHeaders()}),getAvailableModels=async()=>{var _a9,_b9,_c$2;let now=((_a9=options$1._internal)?.currentDate)?.call(_a9).getTime()??Date.now();return(!pendingMetadata||now-lastFetchTime>cacheRefreshMillis)&&(lastFetchTime=now,pendingMetadata=new GatewayFetchMetadata({baseURL,headers:getHeaders$1,fetch:options$1.fetch}).getAvailableModels().then(metadata=>(metadataCache=metadata,metadata)).catch(async error$3=>{throw await asGatewayError(error$3,await parseAuthMethod(await getHeaders$1()))})),metadataCache?Promise.resolve(metadataCache):pendingMetadata},getCredits=async()=>new GatewayFetchMetadata({baseURL,headers:getHeaders$1,fetch:options$1.fetch}).getCredits().catch(async error$3=>{throw await asGatewayError(error$3,await parseAuthMethod(await getHeaders$1()))}),provider=function(modelId){if(new.target)throw Error(`The Gateway Provider model function cannot be called with the new keyword.`);return createLanguageModel(modelId)};return provider.getAvailableModels=getAvailableModels,provider.getCredits=getCredits,provider.imageModel=modelId=>{throw new NoSuchModelError({modelId,modelType:`imageModel`})},provider.languageModel=createLanguageModel,provider.textEmbeddingModel=modelId=>new GatewayEmbeddingModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders$1,fetch:options$1.fetch,o11yHeaders:createO11yHeaders()}),provider}var gateway=createGatewayProvider();async function getGatewayAuthToken(options$1){let apiKey=loadOptionalSetting({settingValue:options$1.apiKey,environmentVariableName:`AI_GATEWAY_API_KEY`});if(apiKey)return{token:apiKey,authMethod:`api-key`};try{return{token:await(0,import_dist$8.getVercelOidcToken)(),authMethod:`oidc`}}catch{return null}}var Diff$1=class{diff(oldStr,newStr,options$1={}){let callback$1;typeof options$1==`function`?(callback$1=options$1,options$1={}):`callback`in options$1&&(callback$1=options$1.callback);let oldString=this.castInput(oldStr,options$1),newString=this.castInput(newStr,options$1),oldTokens=this.removeEmpty(this.tokenize(oldString,options$1)),newTokens=this.removeEmpty(this.tokenize(newString,options$1));return this.diffWithOptionsObj(oldTokens,newTokens,options$1,callback$1)}diffWithOptionsObj(oldTokens,newTokens,options$1,callback$1){var _a$10;let done=value=>{if(value=this.postProcess(value,options$1),callback$1){setTimeout(function(){callback$1(value)},0);return}else return value},newLen=newTokens.length,oldLen=oldTokens.length,editLength=1,maxEditLength=newLen+oldLen;options$1.maxEditLength!=null&&(maxEditLength=Math.min(maxEditLength,options$1.maxEditLength));let maxExecutionTime=options$1.timeout??1/0,abortAfterTimestamp=Date.now()+maxExecutionTime,bestPath=[{oldPos:-1,lastComponent:void 0}],newPos=this.extractCommon(bestPath[0],newTokens,oldTokens,0,options$1);if(bestPath[0].oldPos+1>=oldLen&&newPos+1>=newLen)return done(this.buildValues(bestPath[0].lastComponent,newTokens,oldTokens));let minDiagonalToConsider=-1/0,maxDiagonalToConsider=1/0,execEditLength=()=>{for(let diagonalPath=Math.max(minDiagonalToConsider,-editLength);diagonalPath<=Math.min(maxDiagonalToConsider,editLength);diagonalPath+=2){let basePath,removePath=bestPath[diagonalPath-1],addPath=bestPath[diagonalPath+1];removePath&&(bestPath[diagonalPath-1]=void 0);let canAdd=!1;if(addPath){let addPathNewPos=addPath.oldPos-diagonalPath;canAdd=addPath&&0<=addPathNewPos&&addPathNewPos<newLen}let canRemove=removePath&&removePath.oldPos+1<oldLen;if(!canAdd&&!canRemove){bestPath[diagonalPath]=void 0;continue}if(basePath=!canRemove||canAdd&&removePath.oldPos<addPath.oldPos?this.addToPath(addPath,!0,!1,0,options$1):this.addToPath(removePath,!1,!0,1,options$1),newPos=this.extractCommon(basePath,newTokens,oldTokens,diagonalPath,options$1),basePath.oldPos+1>=oldLen&&newPos+1>=newLen)return done(this.buildValues(basePath.lastComponent,newTokens,oldTokens))||!0;bestPath[diagonalPath]=basePath,basePath.oldPos+1>=oldLen&&(maxDiagonalToConsider=Math.min(maxDiagonalToConsider,diagonalPath-1)),newPos+1>=newLen&&(minDiagonalToConsider=Math.max(minDiagonalToConsider,diagonalPath+1))}editLength++};if(callback$1)(function exec$2(){setTimeout(function(){if(editLength>maxEditLength||Date.now()>abortAfterTimestamp)return callback$1(void 0);execEditLength()||exec$2()},0)})();else for(;editLength<=maxEditLength&&Date.now()<=abortAfterTimestamp;){let ret=execEditLength();if(ret)return ret}}addToPath(path$38,added,removed,oldPosInc,options$1){let last$1=path$38.lastComponent;return last$1&&!options$1.oneChangePerToken&&last$1.added===added&&last$1.removed===removed?{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:last$1.count+1,added,removed,previousComponent:last$1.previousComponent}}:{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:1,added,removed,previousComponent:last$1}}}extractCommon(basePath,newTokens,oldTokens,diagonalPath,options$1){let newLen=newTokens.length,oldLen=oldTokens.length,oldPos=basePath.oldPos,newPos=oldPos-diagonalPath,commonCount=0;for(;newPos+1<newLen&&oldPos+1<oldLen&&this.equals(oldTokens[oldPos+1],newTokens[newPos+1],options$1);)newPos++,oldPos++,commonCount++,options$1.oneChangePerToken&&(basePath.lastComponent={count:1,previousComponent:basePath.lastComponent,added:!1,removed:!1});return commonCount&&!options$1.oneChangePerToken&&(basePath.lastComponent={count:commonCount,previousComponent:basePath.lastComponent,added:!1,removed:!1}),basePath.oldPos=oldPos,newPos}equals(left$2,right$2,options$1){return options$1.comparator?options$1.comparator(left$2,right$2):left$2===right$2||!!options$1.ignoreCase&&left$2.toLowerCase()===right$2.toLowerCase()}removeEmpty(array){let ret=[];for(let i$7=0;i$7<array.length;i$7++)array[i$7]&&ret.push(array[i$7]);return ret}castInput(value,options$1){return value}tokenize(value,options$1){return Array.from(value)}join(chars){return chars.join(``)}postProcess(changeObjects,options$1){return changeObjects}get useLongestToken(){return!1}buildValues(lastComponent,newTokens,oldTokens){let components=[],nextComponent;for(;lastComponent;)components.push(lastComponent),nextComponent=lastComponent.previousComponent,delete lastComponent.previousComponent,lastComponent=nextComponent;components.reverse();let componentLen=components.length,componentPos=0,newPos=0,oldPos=0;for(;componentPos<componentLen;componentPos++){let component=components[componentPos];if(component.removed)component.value=this.join(oldTokens.slice(oldPos,oldPos+component.count)),oldPos+=component.count;else{if(!component.added&&this.useLongestToken){let value=newTokens.slice(newPos,newPos+component.count);value=value.map(function(value$1,i$7){let oldValue=oldTokens[oldPos+i$7];return oldValue.length>value$1.length?oldValue:value$1}),component.value=this.join(value)}else component.value=this.join(newTokens.slice(newPos,newPos+component.count));newPos+=component.count,component.added||(oldPos+=component.count)}}return components}};new class extends Diff$1{};function longestCommonPrefix$1(str1,str2){let i$7;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[i$7]!=str2[i$7])return str1.slice(0,i$7);return str1.slice(0,i$7)}function longestCommonSuffix$1(str1,str2){let i$7;if(!str1||!str2||str1[str1.length-1]!=str2[str2.length-1])return``;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[str1.length-(i$7+1)]!=str2[str2.length-(i$7+1)])return str1.slice(-i$7);return str1.slice(-i$7)}function replacePrefix$1(string,oldPrefix,newPrefix){if(string.slice(0,oldPrefix.length)!=oldPrefix)throw Error(`string ${JSON.stringify(string)} doesn't start with prefix ${JSON.stringify(oldPrefix)}; this is a bug`);return newPrefix+string.slice(oldPrefix.length)}function replaceSuffix$1(string,oldSuffix,newSuffix){if(!oldSuffix)return string+newSuffix;if(string.slice(-oldSuffix.length)!=oldSuffix)throw Error(`string ${JSON.stringify(string)} doesn't end with suffix ${JSON.stringify(oldSuffix)}; this is a bug`);return string.slice(0,-oldSuffix.length)+newSuffix}function removePrefix$1(string,oldPrefix){return replacePrefix$1(string,oldPrefix,``)}function removeSuffix$1(string,oldSuffix){return replaceSuffix$1(string,oldSuffix,``)}function maximumOverlap$1(string1$1,string2$1){return string2$1.slice(0,overlapCount$1(string1$1,string2$1))}function overlapCount$1(a$2,b$2){let startA=0;a$2.length>b$2.length&&(startA=a$2.length-b$2.length);let endB=b$2.length;a$2.length<b$2.length&&(endB=a$2.length);let map$2=Array(endB),k=0;map$2[0]=0;for(let j$2=1;j$2<endB;j$2++){for(b$2[j$2]==b$2[k]?map$2[j$2]=map$2[k]:map$2[j$2]=k;k>0&&b$2[j$2]!=b$2[k];)k=map$2[k];b$2[j$2]==b$2[k]&&k++}k=0;for(let i$7=startA;i$7<a$2.length;i$7++){for(;k>0&&a$2[i$7]!=b$2[k];)k=map$2[k];a$2[i$7]==b$2[k]&&k++}return k}function trailingWs(string){let i$7;for(i$7=string.length-1;i$7>=0&&string[i$7].match(/\s/);i$7--);return string.substring(i$7+1)}function leadingWs(string){let match$1=string.match(/^\s*/);return match$1?match$1[0]:``}const extendedWordChars$1=`a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,tokenizeIncludingWhitespace$1=RegExp(`[${extendedWordChars$1}]+|\\s+|[^${extendedWordChars$1}]`,`ug`);new class extends Diff$1{equals(left$2,right$2,options$1){return options$1.ignoreCase&&(left$2=left$2.toLowerCase(),right$2=right$2.toLowerCase()),left$2.trim()===right$2.trim()}tokenize(value,options$1={}){let parts;if(options$1.intlSegmenter){let segmenter$1=options$1.intlSegmenter;if(segmenter$1.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);parts=Array.from(segmenter$1.segment(value),segment=>segment.segment)}else parts=value.match(tokenizeIncludingWhitespace$1)||[];let tokens=[],prevPart=null;return parts.forEach(part=>{/\s/.test(part)?prevPart==null?tokens.push(part):tokens.push(tokens.pop()+part):prevPart!=null&&/\s/.test(prevPart)?tokens[tokens.length-1]==prevPart?tokens.push(tokens.pop()+part):tokens.push(prevPart+part):tokens.push(part),prevPart=part}),tokens}join(tokens){return tokens.map((token$1,i$7)=>i$7==0?token$1:token$1.replace(/^\s+/,``)).join(``)}postProcess(changes,options$1){if(!changes||options$1.oneChangePerToken)return changes;let lastKeep=null,insertion=null,deletion=null;return changes.forEach(change=>{change.added?insertion=change:change.removed?deletion=change:((insertion||deletion)&&dedupeWhitespaceInChangeObjects$1(lastKeep,deletion,insertion,change),lastKeep=change,insertion=null,deletion=null)}),(insertion||deletion)&&dedupeWhitespaceInChangeObjects$1(lastKeep,deletion,insertion,null),changes}};function dedupeWhitespaceInChangeObjects$1(startKeep,deletion,insertion,endKeep){if(deletion&&insertion){let oldWsPrefix=leadingWs(deletion.value),oldWsSuffix=trailingWs(deletion.value),newWsPrefix=leadingWs(insertion.value),newWsSuffix=trailingWs(insertion.value);if(startKeep){let commonWsPrefix=longestCommonPrefix$1(oldWsPrefix,newWsPrefix);startKeep.value=replaceSuffix$1(startKeep.value,newWsPrefix,commonWsPrefix),deletion.value=removePrefix$1(deletion.value,commonWsPrefix),insertion.value=removePrefix$1(insertion.value,commonWsPrefix)}if(endKeep){let commonWsSuffix=longestCommonSuffix$1(oldWsSuffix,newWsSuffix);endKeep.value=replacePrefix$1(endKeep.value,newWsSuffix,commonWsSuffix),deletion.value=removeSuffix$1(deletion.value,commonWsSuffix),insertion.value=removeSuffix$1(insertion.value,commonWsSuffix)}}else if(insertion){if(startKeep){let ws$2=leadingWs(insertion.value);insertion.value=insertion.value.substring(ws$2.length)}if(endKeep){let ws$2=leadingWs(endKeep.value);endKeep.value=endKeep.value.substring(ws$2.length)}}else if(startKeep&&endKeep){let newWsFull=leadingWs(endKeep.value),delWsStart=leadingWs(deletion.value),delWsEnd=trailingWs(deletion.value),newWsStart=longestCommonPrefix$1(newWsFull,delWsStart);deletion.value=removePrefix$1(deletion.value,newWsStart);let newWsEnd=longestCommonSuffix$1(removePrefix$1(newWsFull,newWsStart),delWsEnd);deletion.value=removeSuffix$1(deletion.value,newWsEnd),endKeep.value=replacePrefix$1(endKeep.value,newWsFull,newWsEnd),startKeep.value=replaceSuffix$1(startKeep.value,newWsFull,newWsFull.slice(0,newWsFull.length-newWsEnd.length))}else if(endKeep){let endKeepWsPrefix=leadingWs(endKeep.value),deletionWsSuffix=trailingWs(deletion.value),overlap=maximumOverlap$1(deletionWsSuffix,endKeepWsPrefix);deletion.value=removeSuffix$1(deletion.value,overlap)}else if(startKeep){let startKeepWsSuffix=trailingWs(startKeep.value),deletionWsPrefix=leadingWs(deletion.value),overlap=maximumOverlap$1(startKeepWsSuffix,deletionWsPrefix);deletion.value=removePrefix$1(deletion.value,overlap)}}new class extends Diff$1{tokenize(value){let regex$3=RegExp(`(\\r?\\n)|[${extendedWordChars$1}]+|[^\\S\\n\\r]+|[^${extendedWordChars$1}]`,`ug`);return value.match(regex$3)||[]}};const lineDiff$1=new class extends Diff$1{constructor(){super(...arguments),this.tokenize=tokenize$2}equals(left$2,right$2,options$1){return options$1.ignoreWhitespace?((!options$1.newlineIsToken||!left$2.includes(`
|
|
272
|
+
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new _GatewayAuthenticationError({message:contextualMessage,statusCode,cause})}},name2=`GatewayInvalidRequestError`,marker3=`vercel.ai.gateway.error.${name2}`,symbol3=Symbol.for(marker3),_a3,_b3,GatewayInvalidRequestError=class extends (_b3=GatewayError,_a3=symbol3,_b3){constructor({message=`Invalid request`,statusCode=400,cause}={}){super({message,statusCode,cause}),this[_a3]=!0,this.name=name2,this.type=`invalid_request_error`}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol3 in error$3}},name3=`GatewayRateLimitError`,marker4=`vercel.ai.gateway.error.${name3}`,symbol4=Symbol.for(marker4),_a4,_b4,GatewayRateLimitError=class extends (_b4=GatewayError,_a4=symbol4,_b4){constructor({message=`Rate limit exceeded`,statusCode=429,cause}={}){super({message,statusCode,cause}),this[_a4]=!0,this.name=name3,this.type=`rate_limit_exceeded`}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol4 in error$3}},name4=`GatewayModelNotFoundError`,marker5=`vercel.ai.gateway.error.${name4}`,symbol5=Symbol.for(marker5),modelNotFoundParamSchema=lazyValidator(()=>zodSchema(z$2.object({modelId:z$2.string()}))),_a5,_b5,GatewayModelNotFoundError=class extends (_b5=GatewayError,_a5=symbol5,_b5){constructor({message=`Model not found`,statusCode=404,modelId,cause}={}){super({message,statusCode,cause}),this[_a5]=!0,this.name=name4,this.type=`model_not_found`,this.modelId=modelId}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol5 in error$3}},name5=`GatewayInternalServerError`,marker6=`vercel.ai.gateway.error.${name5}`,symbol6=Symbol.for(marker6),_a6,_b6,GatewayInternalServerError=class extends (_b6=GatewayError,_a6=symbol6,_b6){constructor({message=`Internal server error`,statusCode=500,cause}={}){super({message,statusCode,cause}),this[_a6]=!0,this.name=name5,this.type=`internal_server_error`}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol6 in error$3}},name6=`GatewayResponseError`,marker7=`vercel.ai.gateway.error.${name6}`,symbol7=Symbol.for(marker7),_a7,_b7,GatewayResponseError=class extends (_b7=GatewayError,_a7=symbol7,_b7){constructor({message=`Invalid response from Gateway`,statusCode=502,response,validationError,cause}={}){super({message,statusCode,cause}),this[_a7]=!0,this.name=name6,this.type=`response_error`,this.response=response,this.validationError=validationError}static isInstance(error$3){return GatewayError.hasMarker(error$3)&&symbol7 in error$3}};async function createGatewayErrorFromResponse({response,statusCode,defaultMessage=`Gateway request failed`,cause,authMethod}){let parseResult=await safeValidateTypes({value:response,schema:gatewayErrorResponseSchema});if(!parseResult.success)return new GatewayResponseError({message:`Invalid error response format: ${defaultMessage}`,statusCode,response,validationError:parseResult.error,cause});let validatedResponse=parseResult.value,errorType=validatedResponse.error.type,message=validatedResponse.error.message;switch(errorType){case`authentication_error`:return GatewayAuthenticationError.createContextualError({apiKeyProvided:authMethod===`api-key`,oidcTokenProvided:authMethod===`oidc`,statusCode,cause});case`invalid_request_error`:return new GatewayInvalidRequestError({message,statusCode,cause});case`rate_limit_exceeded`:return new GatewayRateLimitError({message,statusCode,cause});case`model_not_found`:{let modelResult=await safeValidateTypes({value:validatedResponse.error.param,schema:modelNotFoundParamSchema});return new GatewayModelNotFoundError({message,statusCode,modelId:modelResult.success?modelResult.value.modelId:void 0,cause})}case`internal_server_error`:return new GatewayInternalServerError({message,statusCode,cause});default:return new GatewayInternalServerError({message,statusCode,cause})}}var gatewayErrorResponseSchema=lazyValidator(()=>zodSchema(z$2.object({error:z$2.object({message:z$2.string(),type:z$2.string().nullish(),param:z$2.unknown().nullish(),code:z$2.union([z$2.string(),z$2.number()]).nullish()})})));function asGatewayError(error$3,authMethod){var _a8;return GatewayError.isInstance(error$3)?error$3:APICallError.isInstance(error$3)?createGatewayErrorFromResponse({response:extractApiCallResponse(error$3),statusCode:error$3.statusCode??500,defaultMessage:`Gateway request failed`,cause:error$3,authMethod}):createGatewayErrorFromResponse({response:{},statusCode:500,defaultMessage:error$3 instanceof Error?`Gateway request failed: ${error$3.message}`:`Unknown Gateway error`,cause:error$3,authMethod})}function extractApiCallResponse(error$3){if(error$3.data!==void 0)return error$3.data;if(error$3.responseBody!=null)try{return JSON.parse(error$3.responseBody)}catch{return error$3.responseBody}return{}}var GATEWAY_AUTH_METHOD_HEADER=`ai-gateway-auth-method`;async function parseAuthMethod(headers){let result=await safeValidateTypes({value:headers[GATEWAY_AUTH_METHOD_HEADER],schema:gatewayAuthMethodSchema});return result.success?result.value:void 0}var gatewayAuthMethodSchema=lazyValidator(()=>zodSchema(z$2.union([z$2.literal(`api-key`),z$2.literal(`oidc`)]))),GatewayFetchMetadata=class{constructor(config){this.config=config}async getAvailableModels(){try{let{value}=await getFromApi({url:`${this.config.baseURL}/config`,headers:await resolve$10(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayAvailableModelsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),fetch:this.config.fetch});return value}catch(error$3){throw await asGatewayError(error$3)}}async getCredits(){try{let baseUrl=new URL(this.config.baseURL),{value}=await getFromApi({url:`${baseUrl.origin}/v1/credits`,headers:await resolve$10(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayCreditsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),fetch:this.config.fetch});return value}catch(error$3){throw await asGatewayError(error$3)}}},gatewayAvailableModelsResponseSchema=lazyValidator(()=>zodSchema(z$2.object({models:z$2.array(z$2.object({id:z$2.string(),name:z$2.string(),description:z$2.string().nullish(),pricing:z$2.object({input:z$2.string(),output:z$2.string(),input_cache_read:z$2.string().nullish(),input_cache_write:z$2.string().nullish()}).transform(({input,output,input_cache_read,input_cache_write})=>({input,output,...input_cache_read?{cachedInputTokens:input_cache_read}:{},...input_cache_write?{cacheCreationInputTokens:input_cache_write}:{}})).nullish(),specification:z$2.object({specificationVersion:z$2.literal(`v2`),provider:z$2.string(),modelId:z$2.string()}),modelType:z$2.enum([`language`,`embedding`,`image`]).nullish()}))}))),gatewayCreditsResponseSchema=lazyValidator(()=>zodSchema(z$2.object({balance:z$2.string(),total_used:z$2.string()}).transform(({balance,total_used})=>({balance,totalUsed:total_used})))),GatewayLanguageModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(options$1){let{abortSignal:_abortSignal,...optionsWithoutSignal}=options$1;return{args:this.maybeEncodeFileParts(optionsWithoutSignal),warnings:[]}}async doGenerate(options$1){let{args,warnings}=await this.getArgs(options$1),{abortSignal}=options$1,resolvedHeaders=await resolve$10(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue:rawResponse}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options$1.headers,this.getModelConfigHeaders(this.modelId,!1),await resolve$10(this.config.o11yHeaders)),body:args,successfulResponseHandler:createJsonResponseHandler(z$2.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{...responseBody,request:{body:args},response:{headers:responseHeaders,body:rawResponse},warnings}}catch(error$3){throw await asGatewayError(error$3,await parseAuthMethod(resolvedHeaders))}}async doStream(options$1){let{args,warnings}=await this.getArgs(options$1),{abortSignal}=options$1,resolvedHeaders=await resolve$10(this.config.headers());try{let{value:response,responseHeaders}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options$1.headers,this.getModelConfigHeaders(this.modelId,!0),await resolve$10(this.config.o11yHeaders)),body:args,successfulResponseHandler:createEventSourceResponseHandler(z$2.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{stream:response.pipeThrough(new TransformStream({start(controller){warnings.length>0&&controller.enqueue({type:`stream-start`,warnings})},transform(chunk$1,controller){if(chunk$1.success){let streamPart=chunk$1.value;if(streamPart.type===`raw`&&!options$1.includeRawChunks)return;streamPart.type===`response-metadata`&&streamPart.timestamp&&typeof streamPart.timestamp==`string`&&(streamPart.timestamp=new Date(streamPart.timestamp)),controller.enqueue(streamPart)}else controller.error(chunk$1.error)}})),request:{body:args},response:{headers:responseHeaders}}}catch(error$3){throw await asGatewayError(error$3,await parseAuthMethod(resolvedHeaders))}}isFilePart(part){return part&&typeof part==`object`&&`type`in part&&part.type===`file`}maybeEncodeFileParts(options$1){for(let message of options$1.prompt)for(let part of message.content)if(this.isFilePart(part)){let filePart=part;if(filePart.data instanceof Uint8Array){let buffer$2=Uint8Array.from(filePart.data),base64Data=Buffer.from(buffer$2).toString(`base64`);filePart.data=new URL(`data:${filePart.mediaType||`application/octet-stream`};base64,${base64Data}`)}}return options$1}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(modelId,streaming){return{"ai-language-model-specification-version":`2`,"ai-language-model-id":modelId,"ai-language-model-streaming":String(streaming)}}},GatewayEmbeddingModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values,headers,abortSignal,providerOptions}){var _a8;let resolvedHeaders=await resolve$10(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,headers??{},this.getModelConfigHeaders(),await resolve$10(this.config.o11yHeaders)),body:{input:values.length===1?values[0]:values,...providerOptions?{providerOptions}:{}},successfulResponseHandler:createJsonResponseHandler(gatewayEmbeddingResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z$2.any(),errorToMessage:data$2=>data$2}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{embeddings:responseBody.embeddings,usage:responseBody.usage??void 0,providerMetadata:responseBody.providerMetadata,response:{headers:responseHeaders,body:rawValue}}}catch(error$3){throw await asGatewayError(error$3,await parseAuthMethod(resolvedHeaders))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":`2`,"ai-model-id":this.modelId}}},gatewayEmbeddingResponseSchema=lazyValidator(()=>zodSchema(z$2.object({embeddings:z$2.array(z$2.array(z$2.number())),usage:z$2.object({tokens:z$2.number()}).nullish(),providerMetadata:z$2.record(z$2.string(),z$2.record(z$2.string(),z$2.unknown())).optional()})));async function getVercelRequestId(){var _a8;return(0,import_dist$7.getContext)().headers?.[`x-vercel-id`]}var VERSION$11=`2.0.0`,AI_GATEWAY_PROTOCOL_VERSION=`0.0.1`;function createGatewayProvider(options$1={}){var _a8,_b8;let pendingMetadata=null,metadataCache=null,cacheRefreshMillis=options$1.metadataCacheRefreshMillis??1e3*60*5,lastFetchTime=0,baseURL=withoutTrailingSlash(options$1.baseURL)??`https://ai-gateway.vercel.sh/v1/ai`,getHeaders$1=async()=>{let auth$2=await getGatewayAuthToken(options$1);if(auth$2)return withUserAgentSuffix({Authorization:`Bearer ${auth$2.token}`,"ai-gateway-protocol-version":AI_GATEWAY_PROTOCOL_VERSION,[GATEWAY_AUTH_METHOD_HEADER]:auth$2.authMethod,...options$1.headers},`ai-sdk/gateway/${VERSION$11}`);throw GatewayAuthenticationError.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},createO11yHeaders=()=>{let deploymentId=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_DEPLOYMENT_ID`}),environment=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_ENV`}),region=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_REGION`});return async()=>{let requestId=await getVercelRequestId();return{...deploymentId&&{"ai-o11y-deployment-id":deploymentId},...environment&&{"ai-o11y-environment":environment},...region&&{"ai-o11y-region":region},...requestId&&{"ai-o11y-request-id":requestId}}}},createLanguageModel=modelId=>new GatewayLanguageModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders$1,fetch:options$1.fetch,o11yHeaders:createO11yHeaders()}),getAvailableModels=async()=>{var _a9,_b9,_c$2;let now=((_a9=options$1._internal)?.currentDate)?.call(_a9).getTime()??Date.now();return(!pendingMetadata||now-lastFetchTime>cacheRefreshMillis)&&(lastFetchTime=now,pendingMetadata=new GatewayFetchMetadata({baseURL,headers:getHeaders$1,fetch:options$1.fetch}).getAvailableModels().then(metadata=>(metadataCache=metadata,metadata)).catch(async error$3=>{throw await asGatewayError(error$3,await parseAuthMethod(await getHeaders$1()))})),metadataCache?Promise.resolve(metadataCache):pendingMetadata},getCredits=async()=>new GatewayFetchMetadata({baseURL,headers:getHeaders$1,fetch:options$1.fetch}).getCredits().catch(async error$3=>{throw await asGatewayError(error$3,await parseAuthMethod(await getHeaders$1()))}),provider=function(modelId){if(new.target)throw Error(`The Gateway Provider model function cannot be called with the new keyword.`);return createLanguageModel(modelId)};return provider.getAvailableModels=getAvailableModels,provider.getCredits=getCredits,provider.imageModel=modelId=>{throw new NoSuchModelError({modelId,modelType:`imageModel`})},provider.languageModel=createLanguageModel,provider.textEmbeddingModel=modelId=>new GatewayEmbeddingModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders$1,fetch:options$1.fetch,o11yHeaders:createO11yHeaders()}),provider}var gateway=createGatewayProvider();async function getGatewayAuthToken(options$1){let apiKey=loadOptionalSetting({settingValue:options$1.apiKey,environmentVariableName:`AI_GATEWAY_API_KEY`});if(apiKey)return{token:apiKey,authMethod:`api-key`};try{return{token:await(0,import_dist$8.getVercelOidcToken)(),authMethod:`oidc`}}catch{return null}}var Diff$1=class{diff(oldStr,newStr,options$1={}){let callback$1;typeof options$1==`function`?(callback$1=options$1,options$1={}):`callback`in options$1&&(callback$1=options$1.callback);let oldString=this.castInput(oldStr,options$1),newString=this.castInput(newStr,options$1),oldTokens=this.removeEmpty(this.tokenize(oldString,options$1)),newTokens=this.removeEmpty(this.tokenize(newString,options$1));return this.diffWithOptionsObj(oldTokens,newTokens,options$1,callback$1)}diffWithOptionsObj(oldTokens,newTokens,options$1,callback$1){var _a$10;let done=value=>{if(value=this.postProcess(value,options$1),callback$1){setTimeout(function(){callback$1(value)},0);return}else return value},newLen=newTokens.length,oldLen=oldTokens.length,editLength=1,maxEditLength=newLen+oldLen;options$1.maxEditLength!=null&&(maxEditLength=Math.min(maxEditLength,options$1.maxEditLength));let maxExecutionTime=options$1.timeout??1/0,abortAfterTimestamp=Date.now()+maxExecutionTime,bestPath=[{oldPos:-1,lastComponent:void 0}],newPos=this.extractCommon(bestPath[0],newTokens,oldTokens,0,options$1);if(bestPath[0].oldPos+1>=oldLen&&newPos+1>=newLen)return done(this.buildValues(bestPath[0].lastComponent,newTokens,oldTokens));let minDiagonalToConsider=-1/0,maxDiagonalToConsider=1/0,execEditLength=()=>{for(let diagonalPath=Math.max(minDiagonalToConsider,-editLength);diagonalPath<=Math.min(maxDiagonalToConsider,editLength);diagonalPath+=2){let basePath,removePath=bestPath[diagonalPath-1],addPath=bestPath[diagonalPath+1];removePath&&(bestPath[diagonalPath-1]=void 0);let canAdd=!1;if(addPath){let addPathNewPos=addPath.oldPos-diagonalPath;canAdd=addPath&&0<=addPathNewPos&&addPathNewPos<newLen}let canRemove=removePath&&removePath.oldPos+1<oldLen;if(!canAdd&&!canRemove){bestPath[diagonalPath]=void 0;continue}if(basePath=!canRemove||canAdd&&removePath.oldPos<addPath.oldPos?this.addToPath(addPath,!0,!1,0,options$1):this.addToPath(removePath,!1,!0,1,options$1),newPos=this.extractCommon(basePath,newTokens,oldTokens,diagonalPath,options$1),basePath.oldPos+1>=oldLen&&newPos+1>=newLen)return done(this.buildValues(basePath.lastComponent,newTokens,oldTokens))||!0;bestPath[diagonalPath]=basePath,basePath.oldPos+1>=oldLen&&(maxDiagonalToConsider=Math.min(maxDiagonalToConsider,diagonalPath-1)),newPos+1>=newLen&&(minDiagonalToConsider=Math.max(minDiagonalToConsider,diagonalPath+1))}editLength++};if(callback$1)(function exec$3(){setTimeout(function(){if(editLength>maxEditLength||Date.now()>abortAfterTimestamp)return callback$1(void 0);execEditLength()||exec$3()},0)})();else for(;editLength<=maxEditLength&&Date.now()<=abortAfterTimestamp;){let ret=execEditLength();if(ret)return ret}}addToPath(path$38,added,removed,oldPosInc,options$1){let last$1=path$38.lastComponent;return last$1&&!options$1.oneChangePerToken&&last$1.added===added&&last$1.removed===removed?{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:last$1.count+1,added,removed,previousComponent:last$1.previousComponent}}:{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:1,added,removed,previousComponent:last$1}}}extractCommon(basePath,newTokens,oldTokens,diagonalPath,options$1){let newLen=newTokens.length,oldLen=oldTokens.length,oldPos=basePath.oldPos,newPos=oldPos-diagonalPath,commonCount=0;for(;newPos+1<newLen&&oldPos+1<oldLen&&this.equals(oldTokens[oldPos+1],newTokens[newPos+1],options$1);)newPos++,oldPos++,commonCount++,options$1.oneChangePerToken&&(basePath.lastComponent={count:1,previousComponent:basePath.lastComponent,added:!1,removed:!1});return commonCount&&!options$1.oneChangePerToken&&(basePath.lastComponent={count:commonCount,previousComponent:basePath.lastComponent,added:!1,removed:!1}),basePath.oldPos=oldPos,newPos}equals(left$2,right$2,options$1){return options$1.comparator?options$1.comparator(left$2,right$2):left$2===right$2||!!options$1.ignoreCase&&left$2.toLowerCase()===right$2.toLowerCase()}removeEmpty(array){let ret=[];for(let i$7=0;i$7<array.length;i$7++)array[i$7]&&ret.push(array[i$7]);return ret}castInput(value,options$1){return value}tokenize(value,options$1){return Array.from(value)}join(chars){return chars.join(``)}postProcess(changeObjects,options$1){return changeObjects}get useLongestToken(){return!1}buildValues(lastComponent,newTokens,oldTokens){let components=[],nextComponent;for(;lastComponent;)components.push(lastComponent),nextComponent=lastComponent.previousComponent,delete lastComponent.previousComponent,lastComponent=nextComponent;components.reverse();let componentLen=components.length,componentPos=0,newPos=0,oldPos=0;for(;componentPos<componentLen;componentPos++){let component=components[componentPos];if(component.removed)component.value=this.join(oldTokens.slice(oldPos,oldPos+component.count)),oldPos+=component.count;else{if(!component.added&&this.useLongestToken){let value=newTokens.slice(newPos,newPos+component.count);value=value.map(function(value$1,i$7){let oldValue=oldTokens[oldPos+i$7];return oldValue.length>value$1.length?oldValue:value$1}),component.value=this.join(value)}else component.value=this.join(newTokens.slice(newPos,newPos+component.count));newPos+=component.count,component.added||(oldPos+=component.count)}}return components}};new class extends Diff$1{};function longestCommonPrefix$1(str1,str2){let i$7;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[i$7]!=str2[i$7])return str1.slice(0,i$7);return str1.slice(0,i$7)}function longestCommonSuffix$1(str1,str2){let i$7;if(!str1||!str2||str1[str1.length-1]!=str2[str2.length-1])return``;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[str1.length-(i$7+1)]!=str2[str2.length-(i$7+1)])return str1.slice(-i$7);return str1.slice(-i$7)}function replacePrefix$1(string,oldPrefix,newPrefix){if(string.slice(0,oldPrefix.length)!=oldPrefix)throw Error(`string ${JSON.stringify(string)} doesn't start with prefix ${JSON.stringify(oldPrefix)}; this is a bug`);return newPrefix+string.slice(oldPrefix.length)}function replaceSuffix$1(string,oldSuffix,newSuffix){if(!oldSuffix)return string+newSuffix;if(string.slice(-oldSuffix.length)!=oldSuffix)throw Error(`string ${JSON.stringify(string)} doesn't end with suffix ${JSON.stringify(oldSuffix)}; this is a bug`);return string.slice(0,-oldSuffix.length)+newSuffix}function removePrefix$1(string,oldPrefix){return replacePrefix$1(string,oldPrefix,``)}function removeSuffix$1(string,oldSuffix){return replaceSuffix$1(string,oldSuffix,``)}function maximumOverlap$1(string1$1,string2$1){return string2$1.slice(0,overlapCount$1(string1$1,string2$1))}function overlapCount$1(a$2,b$2){let startA=0;a$2.length>b$2.length&&(startA=a$2.length-b$2.length);let endB=b$2.length;a$2.length<b$2.length&&(endB=a$2.length);let map$2=Array(endB),k=0;map$2[0]=0;for(let j$2=1;j$2<endB;j$2++){for(b$2[j$2]==b$2[k]?map$2[j$2]=map$2[k]:map$2[j$2]=k;k>0&&b$2[j$2]!=b$2[k];)k=map$2[k];b$2[j$2]==b$2[k]&&k++}k=0;for(let i$7=startA;i$7<a$2.length;i$7++){for(;k>0&&a$2[i$7]!=b$2[k];)k=map$2[k];a$2[i$7]==b$2[k]&&k++}return k}function trailingWs(string){let i$7;for(i$7=string.length-1;i$7>=0&&string[i$7].match(/\s/);i$7--);return string.substring(i$7+1)}function leadingWs(string){let match$1=string.match(/^\s*/);return match$1?match$1[0]:``}const extendedWordChars$1=`a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,tokenizeIncludingWhitespace$1=RegExp(`[${extendedWordChars$1}]+|\\s+|[^${extendedWordChars$1}]`,`ug`);new class extends Diff$1{equals(left$2,right$2,options$1){return options$1.ignoreCase&&(left$2=left$2.toLowerCase(),right$2=right$2.toLowerCase()),left$2.trim()===right$2.trim()}tokenize(value,options$1={}){let parts;if(options$1.intlSegmenter){let segmenter$1=options$1.intlSegmenter;if(segmenter$1.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);parts=Array.from(segmenter$1.segment(value),segment=>segment.segment)}else parts=value.match(tokenizeIncludingWhitespace$1)||[];let tokens=[],prevPart=null;return parts.forEach(part=>{/\s/.test(part)?prevPart==null?tokens.push(part):tokens.push(tokens.pop()+part):prevPart!=null&&/\s/.test(prevPart)?tokens[tokens.length-1]==prevPart?tokens.push(tokens.pop()+part):tokens.push(prevPart+part):tokens.push(part),prevPart=part}),tokens}join(tokens){return tokens.map((token$1,i$7)=>i$7==0?token$1:token$1.replace(/^\s+/,``)).join(``)}postProcess(changes,options$1){if(!changes||options$1.oneChangePerToken)return changes;let lastKeep=null,insertion=null,deletion=null;return changes.forEach(change=>{change.added?insertion=change:change.removed?deletion=change:((insertion||deletion)&&dedupeWhitespaceInChangeObjects$1(lastKeep,deletion,insertion,change),lastKeep=change,insertion=null,deletion=null)}),(insertion||deletion)&&dedupeWhitespaceInChangeObjects$1(lastKeep,deletion,insertion,null),changes}};function dedupeWhitespaceInChangeObjects$1(startKeep,deletion,insertion,endKeep){if(deletion&&insertion){let oldWsPrefix=leadingWs(deletion.value),oldWsSuffix=trailingWs(deletion.value),newWsPrefix=leadingWs(insertion.value),newWsSuffix=trailingWs(insertion.value);if(startKeep){let commonWsPrefix=longestCommonPrefix$1(oldWsPrefix,newWsPrefix);startKeep.value=replaceSuffix$1(startKeep.value,newWsPrefix,commonWsPrefix),deletion.value=removePrefix$1(deletion.value,commonWsPrefix),insertion.value=removePrefix$1(insertion.value,commonWsPrefix)}if(endKeep){let commonWsSuffix=longestCommonSuffix$1(oldWsSuffix,newWsSuffix);endKeep.value=replacePrefix$1(endKeep.value,newWsSuffix,commonWsSuffix),deletion.value=removeSuffix$1(deletion.value,commonWsSuffix),insertion.value=removeSuffix$1(insertion.value,commonWsSuffix)}}else if(insertion){if(startKeep){let ws$2=leadingWs(insertion.value);insertion.value=insertion.value.substring(ws$2.length)}if(endKeep){let ws$2=leadingWs(endKeep.value);endKeep.value=endKeep.value.substring(ws$2.length)}}else if(startKeep&&endKeep){let newWsFull=leadingWs(endKeep.value),delWsStart=leadingWs(deletion.value),delWsEnd=trailingWs(deletion.value),newWsStart=longestCommonPrefix$1(newWsFull,delWsStart);deletion.value=removePrefix$1(deletion.value,newWsStart);let newWsEnd=longestCommonSuffix$1(removePrefix$1(newWsFull,newWsStart),delWsEnd);deletion.value=removeSuffix$1(deletion.value,newWsEnd),endKeep.value=replacePrefix$1(endKeep.value,newWsFull,newWsEnd),startKeep.value=replaceSuffix$1(startKeep.value,newWsFull,newWsFull.slice(0,newWsFull.length-newWsEnd.length))}else if(endKeep){let endKeepWsPrefix=leadingWs(endKeep.value),deletionWsSuffix=trailingWs(deletion.value),overlap=maximumOverlap$1(deletionWsSuffix,endKeepWsPrefix);deletion.value=removeSuffix$1(deletion.value,overlap)}else if(startKeep){let startKeepWsSuffix=trailingWs(startKeep.value),deletionWsPrefix=leadingWs(deletion.value),overlap=maximumOverlap$1(startKeepWsSuffix,deletionWsPrefix);deletion.value=removePrefix$1(deletion.value,overlap)}}new class extends Diff$1{tokenize(value){let regex$3=RegExp(`(\\r?\\n)|[${extendedWordChars$1}]+|[^\\S\\n\\r]+|[^${extendedWordChars$1}]`,`ug`);return value.match(regex$3)||[]}};const lineDiff$1=new class extends Diff$1{constructor(){super(...arguments),this.tokenize=tokenize$2}equals(left$2,right$2,options$1){return options$1.ignoreWhitespace?((!options$1.newlineIsToken||!left$2.includes(`
|
|
273
273
|
`))&&(left$2=left$2.trim()),(!options$1.newlineIsToken||!right$2.includes(`
|
|
274
274
|
`))&&(right$2=right$2.trim())):options$1.ignoreNewlineAtEof&&!options$1.newlineIsToken&&(left$2.endsWith(`
|
|
275
275
|
`)&&(left$2=left$2.slice(0,-1)),right$2.endsWith(`
|
|
@@ -1029,7 +1029,7 @@ Error: Error or \`(none)\` if no error was reported for the subprocess.
|
|
|
1029
1029
|
Exit Code: Exit code or \`(none)\` if terminated by signal.
|
|
1030
1030
|
Signal: Signal number or \`(none)\` if no signal was received.
|
|
1031
1031
|
`,super(name$2,name$2,description,Kind.Other,parameterSchema,!1,!1),this.config=config,this.description=description,this.parameterSchema=parameterSchema}createInvocation(params){return new DiscoveredToolInvocation(this.config,this.name,params)}},ToolRegistry=class{tools=new Map;config;mcpClientManager;constructor(config,eventEmitter){this.config=config,this.mcpClientManager=new McpClientManager(this.config.getMcpServers()??{},this.config.getMcpServerCommand(),this,this.config.getPromptRegistry(),this.config.getDebugMode(),this.config.getWorkspaceContext(),eventEmitter)}registerTool(tool$1){this.tools.has(tool$1.name)&&(tool$1 instanceof DiscoveredMCPTool?tool$1=tool$1.asFullyQualifiedTool():console.warn(`Tool with name "${tool$1.name}" is already registered. Overwriting.`)),this.tools.set(tool$1.name,tool$1)}removeDiscoveredTools(){for(let tool$1 of this.tools.values())(tool$1 instanceof DiscoveredTool||tool$1 instanceof DiscoveredMCPTool)&&this.tools.delete(tool$1.name)}removeMcpToolsByServer(serverName){for(let[name$2,tool$1]of this.tools.entries())tool$1 instanceof DiscoveredMCPTool&&tool$1.serverName===serverName&&this.tools.delete(name$2)}async discoverAllTools(){this.removeDiscoveredTools(),this.config.getPromptRegistry().clear(),await this.discoverAndRegisterToolsFromCommand(),await this.mcpClientManager.discoverAllMcpTools(this.config)}async discoverMcpTools(){this.removeDiscoveredTools(),this.config.getPromptRegistry().clear(),await this.mcpClientManager.discoverAllMcpTools(this.config)}async restartMcpServers(){await this.discoverMcpTools()}async discoverToolsForServer(serverName){for(let[name$2,tool$1]of this.tools.entries())tool$1 instanceof DiscoveredMCPTool&&tool$1.serverName===serverName&&this.tools.delete(name$2);this.config.getPromptRegistry().removePromptsByServer(serverName);let serverConfig=(this.config.getMcpServers()??{})[serverName];serverConfig&&await connectAndDiscover(serverName,serverConfig,this,this.config.getPromptRegistry(),this.config.getDebugMode(),this.config.getWorkspaceContext(),this.config)}async discoverAndRegisterToolsFromCommand(){let discoveryCmd=this.config.getToolDiscoveryCommand();if(discoveryCmd)try{let cmdParts=(0,import_shell_quote$1.parse)(discoveryCmd);if(cmdParts.length===0)throw Error(`Tool discovery command is empty or contains only whitespace.`);let proc$1=spawn(cmdParts[0],cmdParts.slice(1)),stdout$1=``,stdoutDecoder=new StringDecoder(`utf8`),stderr=``,stderrDecoder=new StringDecoder(`utf8`),sizeLimitExceeded=!1,MAX_STDOUT_SIZE=10*1024*1024,MAX_STDERR_SIZE=10*1024*1024,stdoutByteLength=0,stderrByteLength=0;proc$1.stdout.on(`data`,data$2=>{if(!sizeLimitExceeded){if(stdoutByteLength+data$2.length>MAX_STDOUT_SIZE){sizeLimitExceeded=!0,proc$1.kill();return}stdoutByteLength+=data$2.length,stdout$1+=stdoutDecoder.write(data$2)}}),proc$1.stderr.on(`data`,data$2=>{if(!sizeLimitExceeded){if(stderrByteLength+data$2.length>10485760){sizeLimitExceeded=!0,proc$1.kill();return}stderrByteLength+=data$2.length,stderr+=stderrDecoder.write(data$2)}}),await new Promise((resolve$11,reject)=>{proc$1.on(`error`,reject),proc$1.on(`close`,code$1=>{if(stdout$1+=stdoutDecoder.end(),stderr+=stderrDecoder.end(),sizeLimitExceeded)return reject(Error(`Tool discovery command output exceeded size limit of ${MAX_STDOUT_SIZE} bytes.`));if(code$1!==0)return console.error(`Command failed with code ${code$1}`),console.error(stderr),reject(Error(`Tool discovery command failed with exit code ${code$1}`));resolve$11()})});let functions=[],discoveredItems=JSON.parse(stdout$1.trim());if(!discoveredItems||!Array.isArray(discoveredItems))throw Error(`Tool discovery command did not return a JSON array of tools.`);for(let tool$1 of discoveredItems)tool$1&&typeof tool$1==`object`&&(Array.isArray(tool$1.function_declarations)?functions.push(...tool$1.function_declarations):Array.isArray(tool$1.functionDeclarations)?functions.push(...tool$1.functionDeclarations):tool$1.name&&functions.push(tool$1));for(let func of functions){if(!func.name){console.warn(`Discovered a tool with no name. Skipping.`);continue}let parameters=func.parametersJsonSchema&&typeof func.parametersJsonSchema==`object`&&!Array.isArray(func.parametersJsonSchema)?func.parametersJsonSchema:{};this.registerTool(new DiscoveredTool(this.config,func.name,func.description??``,parameters))}}catch(e$1){throw console.error(`Tool discovery command "${discoveryCmd}" failed:`,e$1),e$1}}getFunctionDeclarations(){let declarations=[];return this.tools.forEach(tool$1=>{declarations.push(tool$1.schema)}),declarations}getFunctionDeclarationsFiltered(toolNames){let declarations=[];for(let name$2 of toolNames){let tool$1=this.tools.get(name$2);tool$1&&declarations.push(tool$1.schema)}return declarations}getAllToolNames(){return Array.from(this.tools.keys())}getAllTools(){return Array.from(this.tools.values()).sort((a$2,b$2)=>a$2.displayName.localeCompare(b$2.displayName))}getToolsByServer(serverName){let serverTools=[];for(let tool$1 of this.tools.values())tool$1?.serverName===serverName&&serverTools.push(tool$1);return serverTools.sort((a$2,b$2)=>a$2.name.localeCompare(b$2.name))}getTool(name$2){return this.tools.get(name$2)}};const SHELL_SPECIAL_CHARS=/[ \t()[\]{};|*?$`'"#&<>!~]/;function tildeifyPath(path$38){let homeDir=os$1.homedir();return path$38.startsWith(homeDir)?path$38.replace(homeDir,`~`):path$38}function shortenPath(filePath,maxLen=35){if(filePath.length<=maxLen)return filePath;let root$31=path.parse(filePath).root,separator=path.sep,segments=filePath.substring(root$31.length).split(separator).filter(s$3=>s$3!==``);if(segments.length<=1){let keepLen=Math.floor((maxLen-3)/2);if(keepLen<=0)return filePath.substring(0,maxLen-3)+`...`;let start=filePath.substring(0,keepLen),end=filePath.substring(filePath.length-keepLen);return`${start}...${end}`}let firstDir=segments[0],lastSegment=segments[segments.length-1],startComponent=root$31+firstDir,endPartSegments=[],currentLength=separator.length+lastSegment.length;for(let i$7=segments.length-2;i$7>=0;i$7--){let segment=segments[i$7],lengthWithSegment=currentLength+separator.length+segment.length;if(lengthWithSegment<=maxLen)endPartSegments.unshift(segment),currentLength=lengthWithSegment;else break}let result=endPartSegments.join(separator)+separator+lastSegment;return currentLength>maxLen?result:(result=startComponent+separator+result,result.length>maxLen?`...`+result.substring(result.length-maxLen-3):result)}function makeRelative(targetPath,rootDirectory){let resolvedTargetPath=path.resolve(targetPath),resolvedRootDirectory=path.resolve(rootDirectory);return path.relative(resolvedRootDirectory,resolvedTargetPath)||`.`}function escapePath(filePath){let result=``;for(let i$7=0;i$7<filePath.length;i$7++){let char=filePath[i$7],backslashCount=0;for(let j$2=i$7-1;j$2>=0&&filePath[j$2]===`\\`;j$2--)backslashCount++;backslashCount%2!=1&&SHELL_SPECIAL_CHARS.test(char)?result+=`\\`+char:result+=char}return result}function unescapePath(filePath){return filePath.replace(RegExp(`\\\\([${SHELL_SPECIAL_CHARS.source.slice(1,-1)}])`,`g`),`$1`)}function getProjectHash(projectRoot){return crypto$3.createHash(`sha256`).update(projectRoot).digest(`hex`)}function isSubpath(parentPath,childPath){let pathModule=os$1.platform()===`win32`?path.win32:path,relative$2=pathModule.relative(parentPath,childPath);return!relative$2.startsWith(`..${pathModule.sep}`)&&relative$2!==`..`&&!pathModule.isAbsolute(relative$2)}var LSToolInvocation=class extends BaseToolInvocation{config;constructor(config,params){super(params),this.config=config}shouldIgnore(filename,patterns){if(!patterns||patterns.length===0)return!1;for(let pattern of patterns){let regexPattern=pattern.replace(/[.+^${}()|[\]\\]/g,`\\$&`).replace(/\*/g,`.*`).replace(/\?/g,`.`);if(RegExp(`^${regexPattern}$`).test(filename))return!0}return!1}getDescription(){let relativePath=makeRelative(this.params.path,this.config.getTargetDir());return shortenPath(relativePath)}errorResult(llmContent,returnDisplay,type){return{llmContent,returnDisplay:`Error: ${returnDisplay}`,error:{message:llmContent,type}}}async execute(_signal){try{let stats=await fs$2.stat(this.params.path);if(!stats)return this.errorResult(`Error: Directory not found or inaccessible: ${this.params.path}`,`Directory not found or inaccessible.`,ToolErrorType.FILE_NOT_FOUND);if(!stats.isDirectory())return this.errorResult(`Error: Path is not a directory: ${this.params.path}`,`Path is not a directory.`,ToolErrorType.PATH_IS_NOT_A_DIRECTORY);let files=await fs$2.readdir(this.params.path);if(files.length===0)return{llmContent:`Directory ${this.params.path} is empty.`,returnDisplay:`Directory is empty.`};let relativePaths=files.map(file=>path.relative(this.config.getTargetDir(),path.join(this.params.path,file))),{filteredPaths,gitIgnoredCount,geminiIgnoredCount}=this.config.getFileService().filterFilesWithReport(relativePaths,{respectGitIgnore:this.params.file_filtering_options?.respect_git_ignore??this.config.getFileFilteringOptions().respectGitIgnore??DEFAULT_FILE_FILTERING_OPTIONS.respectGitIgnore,respectGeminiIgnore:this.params.file_filtering_options?.respect_gemini_ignore??this.config.getFileFilteringOptions().respectGeminiIgnore??DEFAULT_FILE_FILTERING_OPTIONS.respectGeminiIgnore}),entries$1=[];for(let relativePath of filteredPaths){let fullPath=path.resolve(this.config.getTargetDir(),relativePath);if(!this.shouldIgnore(path.basename(fullPath),this.params.ignore))try{let stats$1=await fs$2.stat(fullPath),isDir=stats$1.isDirectory();entries$1.push({name:path.basename(fullPath),path:fullPath,isDirectory:isDir,size:isDir?0:stats$1.size,modifiedTime:stats$1.mtime})}catch(error$3){console.error(`Error accessing ${fullPath}: ${error$3}`)}}entries$1.sort((a$2,b$2)=>a$2.isDirectory&&!b$2.isDirectory?-1:!a$2.isDirectory&&b$2.isDirectory?1:a$2.name.localeCompare(b$2.name));let directoryContent=entries$1.map(entry=>`${entry.isDirectory?`[DIR] `:``}${entry.name}`).join(`
|
|
1032
|
-
`),resultMessage=`Directory listing for ${this.params.path}:\n${directoryContent}`,ignoredMessages=[];gitIgnoredCount>0&&ignoredMessages.push(`${gitIgnoredCount} git-ignored`),geminiIgnoredCount>0&&ignoredMessages.push(`${geminiIgnoredCount} gemini-ignored`),ignoredMessages.length>0&&(resultMessage+=`\n\n(${ignoredMessages.join(`, `)})`);let displayMessage=`Listed ${entries$1.length} item(s).`;return ignoredMessages.length>0&&(displayMessage+=` (${ignoredMessages.join(`, `)})`),{llmContent:resultMessage,returnDisplay:displayMessage}}catch(error$3){let errorMsg=`Error listing directory: ${error$3 instanceof Error?error$3.message:String(error$3)}`;return this.errorResult(errorMsg,`Failed to list directory.`,ToolErrorType.LS_EXECUTION_ERROR)}}},LSTool=class LSTool extends BaseDeclarativeTool{config;static Name=`list_directory`;constructor(config){super(LSTool.Name,`ReadFolder`,`Lists the names of files and subdirectories directly within a specified directory path. Can optionally ignore entries matching provided glob patterns.`,Kind.Search,{properties:{path:{description:`The absolute path to the directory to list (must be absolute, not relative)`,type:`string`},ignore:{description:`List of glob patterns to ignore`,items:{type:`string`},type:`array`},file_filtering_options:{description:`Optional: Whether to respect ignore patterns from .gitignore or .geminiignore`,type:`object`,properties:{respect_git_ignore:{description:`Optional: Whether to respect .gitignore patterns when listing files. Only available in git repositories. Defaults to true.`,type:`boolean`},respect_gemini_ignore:{description:`Optional: Whether to respect .geminiignore patterns when listing files. Defaults to true.`,type:`boolean`}}}},required:[`path`],type:`object`}),this.config=config}validateToolParamValues(params){if(!path.isAbsolute(params.path))return`Path must be absolute: ${params.path}`;let workspaceContext=this.config.getWorkspaceContext();return workspaceContext.isPathWithinWorkspace(params.path)?null:`Path must be within one of the workspace directories: ${workspaceContext.getDirectories().join(`, `)}`}createInvocation(params){return new LSToolInvocation(this.config,params)}};const types$2={"application/andrew-inset":[`ez`],"application/appinstaller":[`appinstaller`],"application/applixware":[`aw`],"application/appx":[`appx`],"application/appxbundle":[`appxbundle`],"application/atom+xml":[`atom`],"application/atomcat+xml":[`atomcat`],"application/atomdeleted+xml":[`atomdeleted`],"application/atomsvc+xml":[`atomsvc`],"application/atsc-dwd+xml":[`dwd`],"application/atsc-held+xml":[`held`],"application/atsc-rsat+xml":[`rsat`],"application/automationml-aml+xml":[`aml`],"application/automationml-amlx+zip":[`amlx`],"application/bdoc":[`bdoc`],"application/calendar+xml":[`xcs`],"application/ccxml+xml":[`ccxml`],"application/cdfx+xml":[`cdfx`],"application/cdmi-capability":[`cdmia`],"application/cdmi-container":[`cdmic`],"application/cdmi-domain":[`cdmid`],"application/cdmi-object":[`cdmio`],"application/cdmi-queue":[`cdmiq`],"application/cpl+xml":[`cpl`],"application/cu-seeme":[`cu`],"application/cwl":[`cwl`],"application/dash+xml":[`mpd`],"application/dash-patch+xml":[`mpp`],"application/davmount+xml":[`davmount`],"application/dicom":[`dcm`],"application/docbook+xml":[`dbk`],"application/dssc+der":[`dssc`],"application/dssc+xml":[`xdssc`],"application/ecmascript":[`ecma`],"application/emma+xml":[`emma`],"application/emotionml+xml":[`emotionml`],"application/epub+zip":[`epub`],"application/exi":[`exi`],"application/express":[`exp`],"application/fdf":[`fdf`],"application/fdt+xml":[`fdt`],"application/font-tdpfr":[`pfr`],"application/geo+json":[`geojson`],"application/gml+xml":[`gml`],"application/gpx+xml":[`gpx`],"application/gxf":[`gxf`],"application/gzip":[`gz`],"application/hjson":[`hjson`],"application/hyperstudio":[`stk`],"application/inkml+xml":[`ink`,`inkml`],"application/ipfix":[`ipfix`],"application/its+xml":[`its`],"application/java-archive":[`jar`,`war`,`ear`],"application/java-serialized-object":[`ser`],"application/java-vm":[`class`],"application/javascript":[`*js`],"application/json":[`json`,`map`],"application/json5":[`json5`],"application/jsonml+json":[`jsonml`],"application/ld+json":[`jsonld`],"application/lgr+xml":[`lgr`],"application/lost+xml":[`lostxml`],"application/mac-binhex40":[`hqx`],"application/mac-compactpro":[`cpt`],"application/mads+xml":[`mads`],"application/manifest+json":[`webmanifest`],"application/marc":[`mrc`],"application/marcxml+xml":[`mrcx`],"application/mathematica":[`ma`,`nb`,`mb`],"application/mathml+xml":[`mathml`],"application/mbox":[`mbox`],"application/media-policy-dataset+xml":[`mpf`],"application/mediaservercontrol+xml":[`mscml`],"application/metalink+xml":[`metalink`],"application/metalink4+xml":[`meta4`],"application/mets+xml":[`mets`],"application/mmt-aei+xml":[`maei`],"application/mmt-usd+xml":[`musd`],"application/mods+xml":[`mods`],"application/mp21":[`m21`,`mp21`],"application/mp4":[`*mp4`,`*mpg4`,`mp4s`,`m4p`],"application/msix":[`msix`],"application/msixbundle":[`msixbundle`],"application/msword":[`doc`,`dot`],"application/mxf":[`mxf`],"application/n-quads":[`nq`],"application/n-triples":[`nt`],"application/node":[`cjs`],"application/octet-stream":[`bin`,`dms`,`lrf`,`mar`,`so`,`dist`,`distz`,`pkg`,`bpk`,`dump`,`elc`,`deploy`,`exe`,`dll`,`deb`,`dmg`,`iso`,`img`,`msi`,`msp`,`msm`,`buffer`],"application/oda":[`oda`],"application/oebps-package+xml":[`opf`],"application/ogg":[`ogx`],"application/omdoc+xml":[`omdoc`],"application/onenote":[`onetoc`,`onetoc2`,`onetmp`,`onepkg`,`one`,`onea`],"application/oxps":[`oxps`],"application/p2p-overlay+xml":[`relo`],"application/patch-ops-error+xml":[`xer`],"application/pdf":[`pdf`],"application/pgp-encrypted":[`pgp`],"application/pgp-keys":[`asc`],"application/pgp-signature":[`sig`,`*asc`],"application/pics-rules":[`prf`],"application/pkcs10":[`p10`],"application/pkcs7-mime":[`p7m`,`p7c`],"application/pkcs7-signature":[`p7s`],"application/pkcs8":[`p8`],"application/pkix-attr-cert":[`ac`],"application/pkix-cert":[`cer`],"application/pkix-crl":[`crl`],"application/pkix-pkipath":[`pkipath`],"application/pkixcmp":[`pki`],"application/pls+xml":[`pls`],"application/postscript":[`ai`,`eps`,`ps`],"application/provenance+xml":[`provx`],"application/pskc+xml":[`pskcxml`],"application/raml+yaml":[`raml`],"application/rdf+xml":[`rdf`,`owl`],"application/reginfo+xml":[`rif`],"application/relax-ng-compact-syntax":[`rnc`],"application/resource-lists+xml":[`rl`],"application/resource-lists-diff+xml":[`rld`],"application/rls-services+xml":[`rs`],"application/route-apd+xml":[`rapd`],"application/route-s-tsid+xml":[`sls`],"application/route-usd+xml":[`rusd`],"application/rpki-ghostbusters":[`gbr`],"application/rpki-manifest":[`mft`],"application/rpki-roa":[`roa`],"application/rsd+xml":[`rsd`],"application/rss+xml":[`rss`],"application/rtf":[`rtf`],"application/sbml+xml":[`sbml`],"application/scvp-cv-request":[`scq`],"application/scvp-cv-response":[`scs`],"application/scvp-vp-request":[`spq`],"application/scvp-vp-response":[`spp`],"application/sdp":[`sdp`],"application/senml+xml":[`senmlx`],"application/sensml+xml":[`sensmlx`],"application/set-payment-initiation":[`setpay`],"application/set-registration-initiation":[`setreg`],"application/shf+xml":[`shf`],"application/sieve":[`siv`,`sieve`],"application/smil+xml":[`smi`,`smil`],"application/sparql-query":[`rq`],"application/sparql-results+xml":[`srx`],"application/sql":[`sql`],"application/srgs":[`gram`],"application/srgs+xml":[`grxml`],"application/sru+xml":[`sru`],"application/ssdl+xml":[`ssdl`],"application/ssml+xml":[`ssml`],"application/swid+xml":[`swidtag`],"application/tei+xml":[`tei`,`teicorpus`],"application/thraud+xml":[`tfi`],"application/timestamped-data":[`tsd`],"application/toml":[`toml`],"application/trig":[`trig`],"application/ttml+xml":[`ttml`],"application/ubjson":[`ubj`],"application/urc-ressheet+xml":[`rsheet`],"application/urc-targetdesc+xml":[`td`],"application/voicexml+xml":[`vxml`],"application/wasm":[`wasm`],"application/watcherinfo+xml":[`wif`],"application/widget":[`wgt`],"application/winhlp":[`hlp`],"application/wsdl+xml":[`wsdl`],"application/wspolicy+xml":[`wspolicy`],"application/xaml+xml":[`xaml`],"application/xcap-att+xml":[`xav`],"application/xcap-caps+xml":[`xca`],"application/xcap-diff+xml":[`xdf`],"application/xcap-el+xml":[`xel`],"application/xcap-ns+xml":[`xns`],"application/xenc+xml":[`xenc`],"application/xfdf":[`xfdf`],"application/xhtml+xml":[`xhtml`,`xht`],"application/xliff+xml":[`xlf`],"application/xml":[`xml`,`xsl`,`xsd`,`rng`],"application/xml-dtd":[`dtd`],"application/xop+xml":[`xop`],"application/xproc+xml":[`xpl`],"application/xslt+xml":[`*xsl`,`xslt`],"application/xspf+xml":[`xspf`],"application/xv+xml":[`mxml`,`xhvml`,`xvml`,`xvm`],"application/yang":[`yang`],"application/yin+xml":[`yin`],"application/zip":[`zip`],"application/zip+dotlottie":[`lottie`],"audio/3gpp":[`*3gpp`],"audio/aac":[`adts`,`aac`],"audio/adpcm":[`adp`],"audio/amr":[`amr`],"audio/basic":[`au`,`snd`],"audio/midi":[`mid`,`midi`,`kar`,`rmi`],"audio/mobile-xmf":[`mxmf`],"audio/mp3":[`*mp3`],"audio/mp4":[`m4a`,`mp4a`,`m4b`],"audio/mpeg":[`mpga`,`mp2`,`mp2a`,`mp3`,`m2a`,`m3a`],"audio/ogg":[`oga`,`ogg`,`spx`,`opus`],"audio/s3m":[`s3m`],"audio/silk":[`sil`],"audio/wav":[`wav`],"audio/wave":[`*wav`],"audio/webm":[`weba`],"audio/xm":[`xm`],"font/collection":[`ttc`],"font/otf":[`otf`],"font/ttf":[`ttf`],"font/woff":[`woff`],"font/woff2":[`woff2`],"image/aces":[`exr`],"image/apng":[`apng`],"image/avci":[`avci`],"image/avcs":[`avcs`],"image/avif":[`avif`],"image/bmp":[`bmp`,`dib`],"image/cgm":[`cgm`],"image/dicom-rle":[`drle`],"image/dpx":[`dpx`],"image/emf":[`emf`],"image/fits":[`fits`],"image/g3fax":[`g3`],"image/gif":[`gif`],"image/heic":[`heic`],"image/heic-sequence":[`heics`],"image/heif":[`heif`],"image/heif-sequence":[`heifs`],"image/hej2k":[`hej2`],"image/ief":[`ief`],"image/jaii":[`jaii`],"image/jais":[`jais`],"image/jls":[`jls`],"image/jp2":[`jp2`,`jpg2`],"image/jpeg":[`jpg`,`jpeg`,`jpe`],"image/jph":[`jph`],"image/jphc":[`jhc`],"image/jpm":[`jpm`,`jpgm`],"image/jpx":[`jpx`,`jpf`],"image/jxl":[`jxl`],"image/jxr":[`jxr`],"image/jxra":[`jxra`],"image/jxrs":[`jxrs`],"image/jxs":[`jxs`],"image/jxsc":[`jxsc`],"image/jxsi":[`jxsi`],"image/jxss":[`jxss`],"image/ktx":[`ktx`],"image/ktx2":[`ktx2`],"image/pjpeg":[`jfif`],"image/png":[`png`],"image/sgi":[`sgi`],"image/svg+xml":[`svg`,`svgz`],"image/t38":[`t38`],"image/tiff":[`tif`,`tiff`],"image/tiff-fx":[`tfx`],"image/webp":[`webp`],"image/wmf":[`wmf`],"message/disposition-notification":[`disposition-notification`],"message/global":[`u8msg`],"message/global-delivery-status":[`u8dsn`],"message/global-disposition-notification":[`u8mdn`],"message/global-headers":[`u8hdr`],"message/rfc822":[`eml`,`mime`,`mht`,`mhtml`],"model/3mf":[`3mf`],"model/gltf+json":[`gltf`],"model/gltf-binary":[`glb`],"model/iges":[`igs`,`iges`],"model/jt":[`jt`],"model/mesh":[`msh`,`mesh`,`silo`],"model/mtl":[`mtl`],"model/obj":[`obj`],"model/prc":[`prc`],"model/step":[`step`,`stp`,`stpnc`,`p21`,`210`],"model/step+xml":[`stpx`],"model/step+zip":[`stpz`],"model/step-xml+zip":[`stpxz`],"model/stl":[`stl`],"model/u3d":[`u3d`],"model/vrml":[`wrl`,`vrml`],"model/x3d+binary":[`*x3db`,`x3dbz`],"model/x3d+fastinfoset":[`x3db`],"model/x3d+vrml":[`*x3dv`,`x3dvz`],"model/x3d+xml":[`x3d`,`x3dz`],"model/x3d-vrml":[`x3dv`],"text/cache-manifest":[`appcache`,`manifest`],"text/calendar":[`ics`,`ifb`],"text/coffeescript":[`coffee`,`litcoffee`],"text/css":[`css`],"text/csv":[`csv`],"text/html":[`html`,`htm`,`shtml`],"text/jade":[`jade`],"text/javascript":[`js`,`mjs`],"text/jsx":[`jsx`],"text/less":[`less`],"text/markdown":[`md`,`markdown`],"text/mathml":[`mml`],"text/mdx":[`mdx`],"text/n3":[`n3`],"text/plain":[`txt`,`text`,`conf`,`def`,`list`,`log`,`in`,`ini`],"text/richtext":[`rtx`],"text/rtf":[`*rtf`],"text/sgml":[`sgml`,`sgm`],"text/shex":[`shex`],"text/slim":[`slim`,`slm`],"text/spdx":[`spdx`],"text/stylus":[`stylus`,`styl`],"text/tab-separated-values":[`tsv`],"text/troff":[`t`,`tr`,`roff`,`man`,`me`,`ms`],"text/turtle":[`ttl`],"text/uri-list":[`uri`,`uris`,`urls`],"text/vcard":[`vcard`],"text/vtt":[`vtt`],"text/wgsl":[`wgsl`],"text/xml":[`*xml`],"text/yaml":[`yaml`,`yml`],"video/3gpp":[`3gp`,`3gpp`],"video/3gpp2":[`3g2`],"video/h261":[`h261`],"video/h263":[`h263`],"video/h264":[`h264`],"video/iso.segment":[`m4s`],"video/jpeg":[`jpgv`],"video/jpm":[`*jpm`,`*jpgm`],"video/mj2":[`mj2`,`mjp2`],"video/mp2t":[`ts`,`m2t`,`m2ts`,`mts`],"video/mp4":[`mp4`,`mp4v`,`mpg4`],"video/mpeg":[`mpeg`,`mpg`,`mpe`,`m1v`,`m2v`],"video/ogg":[`ogv`],"video/quicktime":[`qt`,`mov`],"video/webm":[`webm`]};Object.freeze(types$2);var standard_default=types$2,__classPrivateFieldGet=function(receiver,state,kind,f){if(kind===`a`&&!f)throw TypeError(`Private accessor was defined without a getter`);if(typeof state==`function`?receiver!==state||!f:!state.has(receiver))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return kind===`m`?f:kind===`a`?f.call(receiver):f?f.value:state.get(receiver)},_Mime_extensionToType,_Mime_typeToExtension,_Mime_typeToExtensions,Mime=class{constructor(...args){_Mime_extensionToType.set(this,new Map),_Mime_typeToExtension.set(this,new Map),_Mime_typeToExtensions.set(this,new Map);for(let arg of args)this.define(arg)}define(typeMap,force=!1){for(let[type,extensions]of Object.entries(typeMap)){type=type.toLowerCase(),extensions=extensions.map(ext$1=>ext$1.toLowerCase()),__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).has(type)||__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).set(type,new Set);let allExtensions=__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).get(type),first$1=!0;for(let extension of extensions){let starred=extension.startsWith(`*`);if(extension=starred?extension.slice(1):extension,allExtensions?.add(extension),first$1&&__classPrivateFieldGet(this,_Mime_typeToExtension,`f`).set(type,extension),first$1=!1,starred)continue;let currentType=__classPrivateFieldGet(this,_Mime_extensionToType,`f`).get(extension);if(currentType&¤tType!=type&&!force)throw Error(`"${type} -> ${extension}" conflicts with "${currentType} -> ${extension}". Pass \`force=true\` to override this definition.`);__classPrivateFieldGet(this,_Mime_extensionToType,`f`).set(extension,type)}}return this}getType(path$38){if(typeof path$38!=`string`)return null;let last$1=path$38.replace(/^.*[/\\]/s,``).toLowerCase(),ext$1=last$1.replace(/^.*\./s,``).toLowerCase(),hasPath=last$1.length<path$38.length;return!(ext$1.length<last$1.length-1)&&hasPath?null:__classPrivateFieldGet(this,_Mime_extensionToType,`f`).get(ext$1)??null}getExtension(type){return typeof type==`string`?(type=type?.split?.(`;`)[0],(type&&__classPrivateFieldGet(this,_Mime_typeToExtension,`f`).get(type.trim().toLowerCase()))??null):null}getAllExtensions(type){return typeof type==`string`?__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).get(type.toLowerCase())??null:null}_freeze(){this.define=()=>{throw Error(`define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances`)},Object.freeze(this);for(let extensions of __classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).values())Object.freeze(extensions);return this}_getTestState(){return{types:__classPrivateFieldGet(this,_Mime_extensionToType,`f`),extensions:__classPrivateFieldGet(this,_Mime_typeToExtension,`f`)}}};_Mime_extensionToType=new WeakMap,_Mime_typeToExtension=new WeakMap,_Mime_typeToExtensions=new WeakMap;var index_lite_default=new Mime(standard_default)._freeze();function Diff(){}Diff.prototype={diff:function(oldString,newString){var _options$timeout,options$1=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},callback$1=options$1.callback;typeof options$1==`function`&&(callback$1=options$1,options$1={});var self$1=this;function done(value){return value=self$1.postProcess(value,options$1),callback$1?(setTimeout(function(){callback$1(value)},0),!0):value}oldString=this.castInput(oldString,options$1),newString=this.castInput(newString,options$1),oldString=this.removeEmpty(this.tokenize(oldString,options$1)),newString=this.removeEmpty(this.tokenize(newString,options$1));var newLen=newString.length,oldLen=oldString.length,editLength=1,maxEditLength=newLen+oldLen;options$1.maxEditLength!=null&&(maxEditLength=Math.min(maxEditLength,options$1.maxEditLength));var maxExecutionTime=options$1.timeout??1/0,abortAfterTimestamp=Date.now()+maxExecutionTime,bestPath=[{oldPos:-1,lastComponent:void 0}],newPos=this.extractCommon(bestPath[0],newString,oldString,0,options$1);if(bestPath[0].oldPos+1>=oldLen&&newPos+1>=newLen)return done(buildValues(self$1,bestPath[0].lastComponent,newString,oldString,self$1.useLongestToken));var minDiagonalToConsider=-1/0,maxDiagonalToConsider=1/0;function execEditLength(){for(var diagonalPath=Math.max(minDiagonalToConsider,-editLength);diagonalPath<=Math.min(maxDiagonalToConsider,editLength);diagonalPath+=2){var basePath=void 0,removePath=bestPath[diagonalPath-1],addPath=bestPath[diagonalPath+1];removePath&&(bestPath[diagonalPath-1]=void 0);var canAdd=!1;if(addPath){var addPathNewPos=addPath.oldPos-diagonalPath;canAdd=addPath&&0<=addPathNewPos&&addPathNewPos<newLen}var canRemove=removePath&&removePath.oldPos+1<oldLen;if(!canAdd&&!canRemove){bestPath[diagonalPath]=void 0;continue}if(basePath=!canRemove||canAdd&&removePath.oldPos<addPath.oldPos?self$1.addToPath(addPath,!0,!1,0,options$1):self$1.addToPath(removePath,!1,!0,1,options$1),newPos=self$1.extractCommon(basePath,newString,oldString,diagonalPath,options$1),basePath.oldPos+1>=oldLen&&newPos+1>=newLen)return done(buildValues(self$1,basePath.lastComponent,newString,oldString,self$1.useLongestToken));bestPath[diagonalPath]=basePath,basePath.oldPos+1>=oldLen&&(maxDiagonalToConsider=Math.min(maxDiagonalToConsider,diagonalPath-1)),newPos+1>=newLen&&(minDiagonalToConsider=Math.max(minDiagonalToConsider,diagonalPath+1))}editLength++}if(callback$1)(function exec$2(){setTimeout(function(){if(editLength>maxEditLength||Date.now()>abortAfterTimestamp)return callback$1();execEditLength()||exec$2()},0)})();else for(;editLength<=maxEditLength&&Date.now()<=abortAfterTimestamp;){var ret=execEditLength();if(ret)return ret}},addToPath:function(path$38,added,removed,oldPosInc,options$1){var last$1=path$38.lastComponent;return last$1&&!options$1.oneChangePerToken&&last$1.added===added&&last$1.removed===removed?{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:last$1.count+1,added,removed,previousComponent:last$1.previousComponent}}:{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:1,added,removed,previousComponent:last$1}}},extractCommon:function(basePath,newString,oldString,diagonalPath,options$1){for(var newLen=newString.length,oldLen=oldString.length,oldPos=basePath.oldPos,newPos=oldPos-diagonalPath,commonCount=0;newPos+1<newLen&&oldPos+1<oldLen&&this.equals(oldString[oldPos+1],newString[newPos+1],options$1);)newPos++,oldPos++,commonCount++,options$1.oneChangePerToken&&(basePath.lastComponent={count:1,previousComponent:basePath.lastComponent,added:!1,removed:!1});return commonCount&&!options$1.oneChangePerToken&&(basePath.lastComponent={count:commonCount,previousComponent:basePath.lastComponent,added:!1,removed:!1}),basePath.oldPos=oldPos,newPos},equals:function(left$2,right$2,options$1){return options$1.comparator?options$1.comparator(left$2,right$2):left$2===right$2||options$1.ignoreCase&&left$2.toLowerCase()===right$2.toLowerCase()},removeEmpty:function(array){for(var ret=[],i$7=0;i$7<array.length;i$7++)array[i$7]&&ret.push(array[i$7]);return ret},castInput:function(value){return value},tokenize:function(value){return Array.from(value)},join:function(chars){return chars.join(``)},postProcess:function(changeObjects){return changeObjects}};function buildValues(diff$2,lastComponent,newString,oldString,useLongestToken){for(var components=[],nextComponent;lastComponent;)components.push(lastComponent),nextComponent=lastComponent.previousComponent,delete lastComponent.previousComponent,lastComponent=nextComponent;components.reverse();for(var componentPos=0,componentLen=components.length,newPos=0,oldPos=0;componentPos<componentLen;componentPos++){var component=components[componentPos];if(component.removed)component.value=diff$2.join(oldString.slice(oldPos,oldPos+component.count)),oldPos+=component.count;else{if(!component.added&&useLongestToken){var value=newString.slice(newPos,newPos+component.count);value=value.map(function(value$1,i$7){var oldValue=oldString[oldPos+i$7];return oldValue.length>value$1.length?oldValue:value$1}),component.value=diff$2.join(value)}else component.value=diff$2.join(newString.slice(newPos,newPos+component.count));newPos+=component.count,component.added||(oldPos+=component.count)}}return components}var characterDiff=new Diff;function longestCommonPrefix(str1,str2){var i$7;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[i$7]!=str2[i$7])return str1.slice(0,i$7);return str1.slice(0,i$7)}function longestCommonSuffix(str1,str2){var i$7;if(!str1||!str2||str1[str1.length-1]!=str2[str2.length-1])return``;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[str1.length-(i$7+1)]!=str2[str2.length-(i$7+1)])return str1.slice(-i$7);return str1.slice(-i$7)}function replacePrefix(string,oldPrefix,newPrefix){if(string.slice(0,oldPrefix.length)!=oldPrefix)throw Error(`string ${JSON.stringify(string)} doesn't start with prefix ${JSON.stringify(oldPrefix)}; this is a bug`);return newPrefix+string.slice(oldPrefix.length)}function replaceSuffix(string,oldSuffix,newSuffix){if(!oldSuffix)return string+newSuffix;if(string.slice(-oldSuffix.length)!=oldSuffix)throw Error(`string ${JSON.stringify(string)} doesn't end with suffix ${JSON.stringify(oldSuffix)}; this is a bug`);return string.slice(0,-oldSuffix.length)+newSuffix}function removePrefix(string,oldPrefix){return replacePrefix(string,oldPrefix,``)}function removeSuffix(string,oldSuffix){return replaceSuffix(string,oldSuffix,``)}function maximumOverlap(string1$1,string2$1){return string2$1.slice(0,overlapCount(string1$1,string2$1))}function overlapCount(a$2,b$2){var startA=0;a$2.length>b$2.length&&(startA=a$2.length-b$2.length);var endB=b$2.length;a$2.length<b$2.length&&(endB=a$2.length);var map$2=Array(endB),k=0;map$2[0]=0;for(var j$2=1;j$2<endB;j$2++){for(b$2[j$2]==b$2[k]?map$2[j$2]=map$2[k]:map$2[j$2]=k;k>0&&b$2[j$2]!=b$2[k];)k=map$2[k];b$2[j$2]==b$2[k]&&k++}k=0;for(var i$7=startA;i$7<a$2.length;i$7++){for(;k>0&&a$2[i$7]!=b$2[k];)k=map$2[k];a$2[i$7]==b$2[k]&&k++}return k}var extendedWordChars=`a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,tokenizeIncludingWhitespace=RegExp(`[${extendedWordChars}]+|\\s+|[^${extendedWordChars}]`,`ug`),wordDiff=new Diff;wordDiff.equals=function(left$2,right$2,options$1){return options$1.ignoreCase&&(left$2=left$2.toLowerCase(),right$2=right$2.toLowerCase()),left$2.trim()===right$2.trim()},wordDiff.tokenize=function(value){var options$1=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},parts;if(options$1.intlSegmenter){if(options$1.intlSegmenter.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);parts=Array.from(options$1.intlSegmenter.segment(value),function(segment){return segment.segment})}else parts=value.match(tokenizeIncludingWhitespace)||[];var tokens=[],prevPart=null;return parts.forEach(function(part){/\s/.test(part)?prevPart==null?tokens.push(part):tokens.push(tokens.pop()+part):/\s/.test(prevPart)?tokens[tokens.length-1]==prevPart?tokens.push(tokens.pop()+part):tokens.push(prevPart+part):tokens.push(part),prevPart=part}),tokens},wordDiff.join=function(tokens){return tokens.map(function(token$1,i$7){return i$7==0?token$1:token$1.replace(/^\s+/,``)}).join(``)},wordDiff.postProcess=function(changes,options$1){if(!changes||options$1.oneChangePerToken)return changes;var lastKeep=null,insertion=null,deletion=null;return changes.forEach(function(change){change.added?insertion=change:change.removed?deletion=change:((insertion||deletion)&&dedupeWhitespaceInChangeObjects(lastKeep,deletion,insertion,change),lastKeep=change,insertion=null,deletion=null)}),(insertion||deletion)&&dedupeWhitespaceInChangeObjects(lastKeep,deletion,insertion,null),changes};function dedupeWhitespaceInChangeObjects(startKeep,deletion,insertion,endKeep){if(deletion&&insertion){var oldWsPrefix=deletion.value.match(/^\s*/)[0],oldWsSuffix=deletion.value.match(/\s*$/)[0],newWsPrefix=insertion.value.match(/^\s*/)[0],newWsSuffix=insertion.value.match(/\s*$/)[0];if(startKeep){var commonWsPrefix=longestCommonPrefix(oldWsPrefix,newWsPrefix);startKeep.value=replaceSuffix(startKeep.value,newWsPrefix,commonWsPrefix),deletion.value=removePrefix(deletion.value,commonWsPrefix),insertion.value=removePrefix(insertion.value,commonWsPrefix)}if(endKeep){var commonWsSuffix=longestCommonSuffix(oldWsSuffix,newWsSuffix);endKeep.value=replacePrefix(endKeep.value,newWsSuffix,commonWsSuffix),deletion.value=removeSuffix(deletion.value,commonWsSuffix),insertion.value=removeSuffix(insertion.value,commonWsSuffix)}}else if(insertion)startKeep&&(insertion.value=insertion.value.replace(/^\s*/,``)),endKeep&&(endKeep.value=endKeep.value.replace(/^\s*/,``));else if(startKeep&&endKeep){var newWsFull=endKeep.value.match(/^\s*/)[0],delWsStart=deletion.value.match(/^\s*/)[0],delWsEnd=deletion.value.match(/\s*$/)[0],newWsStart=longestCommonPrefix(newWsFull,delWsStart);deletion.value=removePrefix(deletion.value,newWsStart);var newWsEnd=longestCommonSuffix(removePrefix(newWsFull,newWsStart),delWsEnd);deletion.value=removeSuffix(deletion.value,newWsEnd),endKeep.value=replacePrefix(endKeep.value,newWsFull,newWsEnd),startKeep.value=replaceSuffix(startKeep.value,newWsFull,newWsFull.slice(0,newWsFull.length-newWsEnd.length))}else if(endKeep){var endKeepWsPrefix=endKeep.value.match(/^\s*/)[0],deletionWsSuffix=deletion.value.match(/\s*$/)[0],overlap=maximumOverlap(deletionWsSuffix,endKeepWsPrefix);deletion.value=removeSuffix(deletion.value,overlap)}else if(startKeep){var startKeepWsSuffix=startKeep.value.match(/\s*$/)[0],deletionWsPrefix=deletion.value.match(/^\s*/)[0],_overlap=maximumOverlap(startKeepWsSuffix,deletionWsPrefix);deletion.value=removePrefix(deletion.value,_overlap)}}var wordWithSpaceDiff=new Diff;wordWithSpaceDiff.tokenize=function(value){var regex$3=RegExp(`(\\r?\\n)|[${extendedWordChars}]+|[^\\S\\n\\r]+|[^${extendedWordChars}]`,`ug`);return value.match(regex$3)||[]};var lineDiff=new Diff;lineDiff.tokenize=function(value,options$1){options$1.stripTrailingCr&&(value=value.replace(/\r\n/g,`
|
|
1032
|
+
`),resultMessage=`Directory listing for ${this.params.path}:\n${directoryContent}`,ignoredMessages=[];gitIgnoredCount>0&&ignoredMessages.push(`${gitIgnoredCount} git-ignored`),geminiIgnoredCount>0&&ignoredMessages.push(`${geminiIgnoredCount} gemini-ignored`),ignoredMessages.length>0&&(resultMessage+=`\n\n(${ignoredMessages.join(`, `)})`);let displayMessage=`Listed ${entries$1.length} item(s).`;return ignoredMessages.length>0&&(displayMessage+=` (${ignoredMessages.join(`, `)})`),{llmContent:resultMessage,returnDisplay:displayMessage}}catch(error$3){let errorMsg=`Error listing directory: ${error$3 instanceof Error?error$3.message:String(error$3)}`;return this.errorResult(errorMsg,`Failed to list directory.`,ToolErrorType.LS_EXECUTION_ERROR)}}},LSTool=class LSTool extends BaseDeclarativeTool{config;static Name=`list_directory`;constructor(config){super(LSTool.Name,`ReadFolder`,`Lists the names of files and subdirectories directly within a specified directory path. Can optionally ignore entries matching provided glob patterns.`,Kind.Search,{properties:{path:{description:`The absolute path to the directory to list (must be absolute, not relative)`,type:`string`},ignore:{description:`List of glob patterns to ignore`,items:{type:`string`},type:`array`},file_filtering_options:{description:`Optional: Whether to respect ignore patterns from .gitignore or .geminiignore`,type:`object`,properties:{respect_git_ignore:{description:`Optional: Whether to respect .gitignore patterns when listing files. Only available in git repositories. Defaults to true.`,type:`boolean`},respect_gemini_ignore:{description:`Optional: Whether to respect .geminiignore patterns when listing files. Defaults to true.`,type:`boolean`}}}},required:[`path`],type:`object`}),this.config=config}validateToolParamValues(params){if(!path.isAbsolute(params.path))return`Path must be absolute: ${params.path}`;let workspaceContext=this.config.getWorkspaceContext();return workspaceContext.isPathWithinWorkspace(params.path)?null:`Path must be within one of the workspace directories: ${workspaceContext.getDirectories().join(`, `)}`}createInvocation(params){return new LSToolInvocation(this.config,params)}};const types$2={"application/andrew-inset":[`ez`],"application/appinstaller":[`appinstaller`],"application/applixware":[`aw`],"application/appx":[`appx`],"application/appxbundle":[`appxbundle`],"application/atom+xml":[`atom`],"application/atomcat+xml":[`atomcat`],"application/atomdeleted+xml":[`atomdeleted`],"application/atomsvc+xml":[`atomsvc`],"application/atsc-dwd+xml":[`dwd`],"application/atsc-held+xml":[`held`],"application/atsc-rsat+xml":[`rsat`],"application/automationml-aml+xml":[`aml`],"application/automationml-amlx+zip":[`amlx`],"application/bdoc":[`bdoc`],"application/calendar+xml":[`xcs`],"application/ccxml+xml":[`ccxml`],"application/cdfx+xml":[`cdfx`],"application/cdmi-capability":[`cdmia`],"application/cdmi-container":[`cdmic`],"application/cdmi-domain":[`cdmid`],"application/cdmi-object":[`cdmio`],"application/cdmi-queue":[`cdmiq`],"application/cpl+xml":[`cpl`],"application/cu-seeme":[`cu`],"application/cwl":[`cwl`],"application/dash+xml":[`mpd`],"application/dash-patch+xml":[`mpp`],"application/davmount+xml":[`davmount`],"application/dicom":[`dcm`],"application/docbook+xml":[`dbk`],"application/dssc+der":[`dssc`],"application/dssc+xml":[`xdssc`],"application/ecmascript":[`ecma`],"application/emma+xml":[`emma`],"application/emotionml+xml":[`emotionml`],"application/epub+zip":[`epub`],"application/exi":[`exi`],"application/express":[`exp`],"application/fdf":[`fdf`],"application/fdt+xml":[`fdt`],"application/font-tdpfr":[`pfr`],"application/geo+json":[`geojson`],"application/gml+xml":[`gml`],"application/gpx+xml":[`gpx`],"application/gxf":[`gxf`],"application/gzip":[`gz`],"application/hjson":[`hjson`],"application/hyperstudio":[`stk`],"application/inkml+xml":[`ink`,`inkml`],"application/ipfix":[`ipfix`],"application/its+xml":[`its`],"application/java-archive":[`jar`,`war`,`ear`],"application/java-serialized-object":[`ser`],"application/java-vm":[`class`],"application/javascript":[`*js`],"application/json":[`json`,`map`],"application/json5":[`json5`],"application/jsonml+json":[`jsonml`],"application/ld+json":[`jsonld`],"application/lgr+xml":[`lgr`],"application/lost+xml":[`lostxml`],"application/mac-binhex40":[`hqx`],"application/mac-compactpro":[`cpt`],"application/mads+xml":[`mads`],"application/manifest+json":[`webmanifest`],"application/marc":[`mrc`],"application/marcxml+xml":[`mrcx`],"application/mathematica":[`ma`,`nb`,`mb`],"application/mathml+xml":[`mathml`],"application/mbox":[`mbox`],"application/media-policy-dataset+xml":[`mpf`],"application/mediaservercontrol+xml":[`mscml`],"application/metalink+xml":[`metalink`],"application/metalink4+xml":[`meta4`],"application/mets+xml":[`mets`],"application/mmt-aei+xml":[`maei`],"application/mmt-usd+xml":[`musd`],"application/mods+xml":[`mods`],"application/mp21":[`m21`,`mp21`],"application/mp4":[`*mp4`,`*mpg4`,`mp4s`,`m4p`],"application/msix":[`msix`],"application/msixbundle":[`msixbundle`],"application/msword":[`doc`,`dot`],"application/mxf":[`mxf`],"application/n-quads":[`nq`],"application/n-triples":[`nt`],"application/node":[`cjs`],"application/octet-stream":[`bin`,`dms`,`lrf`,`mar`,`so`,`dist`,`distz`,`pkg`,`bpk`,`dump`,`elc`,`deploy`,`exe`,`dll`,`deb`,`dmg`,`iso`,`img`,`msi`,`msp`,`msm`,`buffer`],"application/oda":[`oda`],"application/oebps-package+xml":[`opf`],"application/ogg":[`ogx`],"application/omdoc+xml":[`omdoc`],"application/onenote":[`onetoc`,`onetoc2`,`onetmp`,`onepkg`,`one`,`onea`],"application/oxps":[`oxps`],"application/p2p-overlay+xml":[`relo`],"application/patch-ops-error+xml":[`xer`],"application/pdf":[`pdf`],"application/pgp-encrypted":[`pgp`],"application/pgp-keys":[`asc`],"application/pgp-signature":[`sig`,`*asc`],"application/pics-rules":[`prf`],"application/pkcs10":[`p10`],"application/pkcs7-mime":[`p7m`,`p7c`],"application/pkcs7-signature":[`p7s`],"application/pkcs8":[`p8`],"application/pkix-attr-cert":[`ac`],"application/pkix-cert":[`cer`],"application/pkix-crl":[`crl`],"application/pkix-pkipath":[`pkipath`],"application/pkixcmp":[`pki`],"application/pls+xml":[`pls`],"application/postscript":[`ai`,`eps`,`ps`],"application/provenance+xml":[`provx`],"application/pskc+xml":[`pskcxml`],"application/raml+yaml":[`raml`],"application/rdf+xml":[`rdf`,`owl`],"application/reginfo+xml":[`rif`],"application/relax-ng-compact-syntax":[`rnc`],"application/resource-lists+xml":[`rl`],"application/resource-lists-diff+xml":[`rld`],"application/rls-services+xml":[`rs`],"application/route-apd+xml":[`rapd`],"application/route-s-tsid+xml":[`sls`],"application/route-usd+xml":[`rusd`],"application/rpki-ghostbusters":[`gbr`],"application/rpki-manifest":[`mft`],"application/rpki-roa":[`roa`],"application/rsd+xml":[`rsd`],"application/rss+xml":[`rss`],"application/rtf":[`rtf`],"application/sbml+xml":[`sbml`],"application/scvp-cv-request":[`scq`],"application/scvp-cv-response":[`scs`],"application/scvp-vp-request":[`spq`],"application/scvp-vp-response":[`spp`],"application/sdp":[`sdp`],"application/senml+xml":[`senmlx`],"application/sensml+xml":[`sensmlx`],"application/set-payment-initiation":[`setpay`],"application/set-registration-initiation":[`setreg`],"application/shf+xml":[`shf`],"application/sieve":[`siv`,`sieve`],"application/smil+xml":[`smi`,`smil`],"application/sparql-query":[`rq`],"application/sparql-results+xml":[`srx`],"application/sql":[`sql`],"application/srgs":[`gram`],"application/srgs+xml":[`grxml`],"application/sru+xml":[`sru`],"application/ssdl+xml":[`ssdl`],"application/ssml+xml":[`ssml`],"application/swid+xml":[`swidtag`],"application/tei+xml":[`tei`,`teicorpus`],"application/thraud+xml":[`tfi`],"application/timestamped-data":[`tsd`],"application/toml":[`toml`],"application/trig":[`trig`],"application/ttml+xml":[`ttml`],"application/ubjson":[`ubj`],"application/urc-ressheet+xml":[`rsheet`],"application/urc-targetdesc+xml":[`td`],"application/voicexml+xml":[`vxml`],"application/wasm":[`wasm`],"application/watcherinfo+xml":[`wif`],"application/widget":[`wgt`],"application/winhlp":[`hlp`],"application/wsdl+xml":[`wsdl`],"application/wspolicy+xml":[`wspolicy`],"application/xaml+xml":[`xaml`],"application/xcap-att+xml":[`xav`],"application/xcap-caps+xml":[`xca`],"application/xcap-diff+xml":[`xdf`],"application/xcap-el+xml":[`xel`],"application/xcap-ns+xml":[`xns`],"application/xenc+xml":[`xenc`],"application/xfdf":[`xfdf`],"application/xhtml+xml":[`xhtml`,`xht`],"application/xliff+xml":[`xlf`],"application/xml":[`xml`,`xsl`,`xsd`,`rng`],"application/xml-dtd":[`dtd`],"application/xop+xml":[`xop`],"application/xproc+xml":[`xpl`],"application/xslt+xml":[`*xsl`,`xslt`],"application/xspf+xml":[`xspf`],"application/xv+xml":[`mxml`,`xhvml`,`xvml`,`xvm`],"application/yang":[`yang`],"application/yin+xml":[`yin`],"application/zip":[`zip`],"application/zip+dotlottie":[`lottie`],"audio/3gpp":[`*3gpp`],"audio/aac":[`adts`,`aac`],"audio/adpcm":[`adp`],"audio/amr":[`amr`],"audio/basic":[`au`,`snd`],"audio/midi":[`mid`,`midi`,`kar`,`rmi`],"audio/mobile-xmf":[`mxmf`],"audio/mp3":[`*mp3`],"audio/mp4":[`m4a`,`mp4a`,`m4b`],"audio/mpeg":[`mpga`,`mp2`,`mp2a`,`mp3`,`m2a`,`m3a`],"audio/ogg":[`oga`,`ogg`,`spx`,`opus`],"audio/s3m":[`s3m`],"audio/silk":[`sil`],"audio/wav":[`wav`],"audio/wave":[`*wav`],"audio/webm":[`weba`],"audio/xm":[`xm`],"font/collection":[`ttc`],"font/otf":[`otf`],"font/ttf":[`ttf`],"font/woff":[`woff`],"font/woff2":[`woff2`],"image/aces":[`exr`],"image/apng":[`apng`],"image/avci":[`avci`],"image/avcs":[`avcs`],"image/avif":[`avif`],"image/bmp":[`bmp`,`dib`],"image/cgm":[`cgm`],"image/dicom-rle":[`drle`],"image/dpx":[`dpx`],"image/emf":[`emf`],"image/fits":[`fits`],"image/g3fax":[`g3`],"image/gif":[`gif`],"image/heic":[`heic`],"image/heic-sequence":[`heics`],"image/heif":[`heif`],"image/heif-sequence":[`heifs`],"image/hej2k":[`hej2`],"image/ief":[`ief`],"image/jaii":[`jaii`],"image/jais":[`jais`],"image/jls":[`jls`],"image/jp2":[`jp2`,`jpg2`],"image/jpeg":[`jpg`,`jpeg`,`jpe`],"image/jph":[`jph`],"image/jphc":[`jhc`],"image/jpm":[`jpm`,`jpgm`],"image/jpx":[`jpx`,`jpf`],"image/jxl":[`jxl`],"image/jxr":[`jxr`],"image/jxra":[`jxra`],"image/jxrs":[`jxrs`],"image/jxs":[`jxs`],"image/jxsc":[`jxsc`],"image/jxsi":[`jxsi`],"image/jxss":[`jxss`],"image/ktx":[`ktx`],"image/ktx2":[`ktx2`],"image/pjpeg":[`jfif`],"image/png":[`png`],"image/sgi":[`sgi`],"image/svg+xml":[`svg`,`svgz`],"image/t38":[`t38`],"image/tiff":[`tif`,`tiff`],"image/tiff-fx":[`tfx`],"image/webp":[`webp`],"image/wmf":[`wmf`],"message/disposition-notification":[`disposition-notification`],"message/global":[`u8msg`],"message/global-delivery-status":[`u8dsn`],"message/global-disposition-notification":[`u8mdn`],"message/global-headers":[`u8hdr`],"message/rfc822":[`eml`,`mime`,`mht`,`mhtml`],"model/3mf":[`3mf`],"model/gltf+json":[`gltf`],"model/gltf-binary":[`glb`],"model/iges":[`igs`,`iges`],"model/jt":[`jt`],"model/mesh":[`msh`,`mesh`,`silo`],"model/mtl":[`mtl`],"model/obj":[`obj`],"model/prc":[`prc`],"model/step":[`step`,`stp`,`stpnc`,`p21`,`210`],"model/step+xml":[`stpx`],"model/step+zip":[`stpz`],"model/step-xml+zip":[`stpxz`],"model/stl":[`stl`],"model/u3d":[`u3d`],"model/vrml":[`wrl`,`vrml`],"model/x3d+binary":[`*x3db`,`x3dbz`],"model/x3d+fastinfoset":[`x3db`],"model/x3d+vrml":[`*x3dv`,`x3dvz`],"model/x3d+xml":[`x3d`,`x3dz`],"model/x3d-vrml":[`x3dv`],"text/cache-manifest":[`appcache`,`manifest`],"text/calendar":[`ics`,`ifb`],"text/coffeescript":[`coffee`,`litcoffee`],"text/css":[`css`],"text/csv":[`csv`],"text/html":[`html`,`htm`,`shtml`],"text/jade":[`jade`],"text/javascript":[`js`,`mjs`],"text/jsx":[`jsx`],"text/less":[`less`],"text/markdown":[`md`,`markdown`],"text/mathml":[`mml`],"text/mdx":[`mdx`],"text/n3":[`n3`],"text/plain":[`txt`,`text`,`conf`,`def`,`list`,`log`,`in`,`ini`],"text/richtext":[`rtx`],"text/rtf":[`*rtf`],"text/sgml":[`sgml`,`sgm`],"text/shex":[`shex`],"text/slim":[`slim`,`slm`],"text/spdx":[`spdx`],"text/stylus":[`stylus`,`styl`],"text/tab-separated-values":[`tsv`],"text/troff":[`t`,`tr`,`roff`,`man`,`me`,`ms`],"text/turtle":[`ttl`],"text/uri-list":[`uri`,`uris`,`urls`],"text/vcard":[`vcard`],"text/vtt":[`vtt`],"text/wgsl":[`wgsl`],"text/xml":[`*xml`],"text/yaml":[`yaml`,`yml`],"video/3gpp":[`3gp`,`3gpp`],"video/3gpp2":[`3g2`],"video/h261":[`h261`],"video/h263":[`h263`],"video/h264":[`h264`],"video/iso.segment":[`m4s`],"video/jpeg":[`jpgv`],"video/jpm":[`*jpm`,`*jpgm`],"video/mj2":[`mj2`,`mjp2`],"video/mp2t":[`ts`,`m2t`,`m2ts`,`mts`],"video/mp4":[`mp4`,`mp4v`,`mpg4`],"video/mpeg":[`mpeg`,`mpg`,`mpe`,`m1v`,`m2v`],"video/ogg":[`ogv`],"video/quicktime":[`qt`,`mov`],"video/webm":[`webm`]};Object.freeze(types$2);var standard_default=types$2,__classPrivateFieldGet=function(receiver,state,kind,f){if(kind===`a`&&!f)throw TypeError(`Private accessor was defined without a getter`);if(typeof state==`function`?receiver!==state||!f:!state.has(receiver))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return kind===`m`?f:kind===`a`?f.call(receiver):f?f.value:state.get(receiver)},_Mime_extensionToType,_Mime_typeToExtension,_Mime_typeToExtensions,Mime=class{constructor(...args){_Mime_extensionToType.set(this,new Map),_Mime_typeToExtension.set(this,new Map),_Mime_typeToExtensions.set(this,new Map);for(let arg of args)this.define(arg)}define(typeMap,force=!1){for(let[type,extensions]of Object.entries(typeMap)){type=type.toLowerCase(),extensions=extensions.map(ext$1=>ext$1.toLowerCase()),__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).has(type)||__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).set(type,new Set);let allExtensions=__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).get(type),first$1=!0;for(let extension of extensions){let starred=extension.startsWith(`*`);if(extension=starred?extension.slice(1):extension,allExtensions?.add(extension),first$1&&__classPrivateFieldGet(this,_Mime_typeToExtension,`f`).set(type,extension),first$1=!1,starred)continue;let currentType=__classPrivateFieldGet(this,_Mime_extensionToType,`f`).get(extension);if(currentType&¤tType!=type&&!force)throw Error(`"${type} -> ${extension}" conflicts with "${currentType} -> ${extension}". Pass \`force=true\` to override this definition.`);__classPrivateFieldGet(this,_Mime_extensionToType,`f`).set(extension,type)}}return this}getType(path$38){if(typeof path$38!=`string`)return null;let last$1=path$38.replace(/^.*[/\\]/s,``).toLowerCase(),ext$1=last$1.replace(/^.*\./s,``).toLowerCase(),hasPath=last$1.length<path$38.length;return!(ext$1.length<last$1.length-1)&&hasPath?null:__classPrivateFieldGet(this,_Mime_extensionToType,`f`).get(ext$1)??null}getExtension(type){return typeof type==`string`?(type=type?.split?.(`;`)[0],(type&&__classPrivateFieldGet(this,_Mime_typeToExtension,`f`).get(type.trim().toLowerCase()))??null):null}getAllExtensions(type){return typeof type==`string`?__classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).get(type.toLowerCase())??null:null}_freeze(){this.define=()=>{throw Error(`define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances`)},Object.freeze(this);for(let extensions of __classPrivateFieldGet(this,_Mime_typeToExtensions,`f`).values())Object.freeze(extensions);return this}_getTestState(){return{types:__classPrivateFieldGet(this,_Mime_extensionToType,`f`),extensions:__classPrivateFieldGet(this,_Mime_typeToExtension,`f`)}}};_Mime_extensionToType=new WeakMap,_Mime_typeToExtension=new WeakMap,_Mime_typeToExtensions=new WeakMap;var index_lite_default=new Mime(standard_default)._freeze();function Diff(){}Diff.prototype={diff:function(oldString,newString){var _options$timeout,options$1=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},callback$1=options$1.callback;typeof options$1==`function`&&(callback$1=options$1,options$1={});var self$1=this;function done(value){return value=self$1.postProcess(value,options$1),callback$1?(setTimeout(function(){callback$1(value)},0),!0):value}oldString=this.castInput(oldString,options$1),newString=this.castInput(newString,options$1),oldString=this.removeEmpty(this.tokenize(oldString,options$1)),newString=this.removeEmpty(this.tokenize(newString,options$1));var newLen=newString.length,oldLen=oldString.length,editLength=1,maxEditLength=newLen+oldLen;options$1.maxEditLength!=null&&(maxEditLength=Math.min(maxEditLength,options$1.maxEditLength));var maxExecutionTime=options$1.timeout??1/0,abortAfterTimestamp=Date.now()+maxExecutionTime,bestPath=[{oldPos:-1,lastComponent:void 0}],newPos=this.extractCommon(bestPath[0],newString,oldString,0,options$1);if(bestPath[0].oldPos+1>=oldLen&&newPos+1>=newLen)return done(buildValues(self$1,bestPath[0].lastComponent,newString,oldString,self$1.useLongestToken));var minDiagonalToConsider=-1/0,maxDiagonalToConsider=1/0;function execEditLength(){for(var diagonalPath=Math.max(minDiagonalToConsider,-editLength);diagonalPath<=Math.min(maxDiagonalToConsider,editLength);diagonalPath+=2){var basePath=void 0,removePath=bestPath[diagonalPath-1],addPath=bestPath[diagonalPath+1];removePath&&(bestPath[diagonalPath-1]=void 0);var canAdd=!1;if(addPath){var addPathNewPos=addPath.oldPos-diagonalPath;canAdd=addPath&&0<=addPathNewPos&&addPathNewPos<newLen}var canRemove=removePath&&removePath.oldPos+1<oldLen;if(!canAdd&&!canRemove){bestPath[diagonalPath]=void 0;continue}if(basePath=!canRemove||canAdd&&removePath.oldPos<addPath.oldPos?self$1.addToPath(addPath,!0,!1,0,options$1):self$1.addToPath(removePath,!1,!0,1,options$1),newPos=self$1.extractCommon(basePath,newString,oldString,diagonalPath,options$1),basePath.oldPos+1>=oldLen&&newPos+1>=newLen)return done(buildValues(self$1,basePath.lastComponent,newString,oldString,self$1.useLongestToken));bestPath[diagonalPath]=basePath,basePath.oldPos+1>=oldLen&&(maxDiagonalToConsider=Math.min(maxDiagonalToConsider,diagonalPath-1)),newPos+1>=newLen&&(minDiagonalToConsider=Math.max(minDiagonalToConsider,diagonalPath+1))}editLength++}if(callback$1)(function exec$3(){setTimeout(function(){if(editLength>maxEditLength||Date.now()>abortAfterTimestamp)return callback$1();execEditLength()||exec$3()},0)})();else for(;editLength<=maxEditLength&&Date.now()<=abortAfterTimestamp;){var ret=execEditLength();if(ret)return ret}},addToPath:function(path$38,added,removed,oldPosInc,options$1){var last$1=path$38.lastComponent;return last$1&&!options$1.oneChangePerToken&&last$1.added===added&&last$1.removed===removed?{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:last$1.count+1,added,removed,previousComponent:last$1.previousComponent}}:{oldPos:path$38.oldPos+oldPosInc,lastComponent:{count:1,added,removed,previousComponent:last$1}}},extractCommon:function(basePath,newString,oldString,diagonalPath,options$1){for(var newLen=newString.length,oldLen=oldString.length,oldPos=basePath.oldPos,newPos=oldPos-diagonalPath,commonCount=0;newPos+1<newLen&&oldPos+1<oldLen&&this.equals(oldString[oldPos+1],newString[newPos+1],options$1);)newPos++,oldPos++,commonCount++,options$1.oneChangePerToken&&(basePath.lastComponent={count:1,previousComponent:basePath.lastComponent,added:!1,removed:!1});return commonCount&&!options$1.oneChangePerToken&&(basePath.lastComponent={count:commonCount,previousComponent:basePath.lastComponent,added:!1,removed:!1}),basePath.oldPos=oldPos,newPos},equals:function(left$2,right$2,options$1){return options$1.comparator?options$1.comparator(left$2,right$2):left$2===right$2||options$1.ignoreCase&&left$2.toLowerCase()===right$2.toLowerCase()},removeEmpty:function(array){for(var ret=[],i$7=0;i$7<array.length;i$7++)array[i$7]&&ret.push(array[i$7]);return ret},castInput:function(value){return value},tokenize:function(value){return Array.from(value)},join:function(chars){return chars.join(``)},postProcess:function(changeObjects){return changeObjects}};function buildValues(diff$2,lastComponent,newString,oldString,useLongestToken){for(var components=[],nextComponent;lastComponent;)components.push(lastComponent),nextComponent=lastComponent.previousComponent,delete lastComponent.previousComponent,lastComponent=nextComponent;components.reverse();for(var componentPos=0,componentLen=components.length,newPos=0,oldPos=0;componentPos<componentLen;componentPos++){var component=components[componentPos];if(component.removed)component.value=diff$2.join(oldString.slice(oldPos,oldPos+component.count)),oldPos+=component.count;else{if(!component.added&&useLongestToken){var value=newString.slice(newPos,newPos+component.count);value=value.map(function(value$1,i$7){var oldValue=oldString[oldPos+i$7];return oldValue.length>value$1.length?oldValue:value$1}),component.value=diff$2.join(value)}else component.value=diff$2.join(newString.slice(newPos,newPos+component.count));newPos+=component.count,component.added||(oldPos+=component.count)}}return components}var characterDiff=new Diff;function longestCommonPrefix(str1,str2){var i$7;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[i$7]!=str2[i$7])return str1.slice(0,i$7);return str1.slice(0,i$7)}function longestCommonSuffix(str1,str2){var i$7;if(!str1||!str2||str1[str1.length-1]!=str2[str2.length-1])return``;for(i$7=0;i$7<str1.length&&i$7<str2.length;i$7++)if(str1[str1.length-(i$7+1)]!=str2[str2.length-(i$7+1)])return str1.slice(-i$7);return str1.slice(-i$7)}function replacePrefix(string,oldPrefix,newPrefix){if(string.slice(0,oldPrefix.length)!=oldPrefix)throw Error(`string ${JSON.stringify(string)} doesn't start with prefix ${JSON.stringify(oldPrefix)}; this is a bug`);return newPrefix+string.slice(oldPrefix.length)}function replaceSuffix(string,oldSuffix,newSuffix){if(!oldSuffix)return string+newSuffix;if(string.slice(-oldSuffix.length)!=oldSuffix)throw Error(`string ${JSON.stringify(string)} doesn't end with suffix ${JSON.stringify(oldSuffix)}; this is a bug`);return string.slice(0,-oldSuffix.length)+newSuffix}function removePrefix(string,oldPrefix){return replacePrefix(string,oldPrefix,``)}function removeSuffix(string,oldSuffix){return replaceSuffix(string,oldSuffix,``)}function maximumOverlap(string1$1,string2$1){return string2$1.slice(0,overlapCount(string1$1,string2$1))}function overlapCount(a$2,b$2){var startA=0;a$2.length>b$2.length&&(startA=a$2.length-b$2.length);var endB=b$2.length;a$2.length<b$2.length&&(endB=a$2.length);var map$2=Array(endB),k=0;map$2[0]=0;for(var j$2=1;j$2<endB;j$2++){for(b$2[j$2]==b$2[k]?map$2[j$2]=map$2[k]:map$2[j$2]=k;k>0&&b$2[j$2]!=b$2[k];)k=map$2[k];b$2[j$2]==b$2[k]&&k++}k=0;for(var i$7=startA;i$7<a$2.length;i$7++){for(;k>0&&a$2[i$7]!=b$2[k];)k=map$2[k];a$2[i$7]==b$2[k]&&k++}return k}var extendedWordChars=`a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,tokenizeIncludingWhitespace=RegExp(`[${extendedWordChars}]+|\\s+|[^${extendedWordChars}]`,`ug`),wordDiff=new Diff;wordDiff.equals=function(left$2,right$2,options$1){return options$1.ignoreCase&&(left$2=left$2.toLowerCase(),right$2=right$2.toLowerCase()),left$2.trim()===right$2.trim()},wordDiff.tokenize=function(value){var options$1=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},parts;if(options$1.intlSegmenter){if(options$1.intlSegmenter.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);parts=Array.from(options$1.intlSegmenter.segment(value),function(segment){return segment.segment})}else parts=value.match(tokenizeIncludingWhitespace)||[];var tokens=[],prevPart=null;return parts.forEach(function(part){/\s/.test(part)?prevPart==null?tokens.push(part):tokens.push(tokens.pop()+part):/\s/.test(prevPart)?tokens[tokens.length-1]==prevPart?tokens.push(tokens.pop()+part):tokens.push(prevPart+part):tokens.push(part),prevPart=part}),tokens},wordDiff.join=function(tokens){return tokens.map(function(token$1,i$7){return i$7==0?token$1:token$1.replace(/^\s+/,``)}).join(``)},wordDiff.postProcess=function(changes,options$1){if(!changes||options$1.oneChangePerToken)return changes;var lastKeep=null,insertion=null,deletion=null;return changes.forEach(function(change){change.added?insertion=change:change.removed?deletion=change:((insertion||deletion)&&dedupeWhitespaceInChangeObjects(lastKeep,deletion,insertion,change),lastKeep=change,insertion=null,deletion=null)}),(insertion||deletion)&&dedupeWhitespaceInChangeObjects(lastKeep,deletion,insertion,null),changes};function dedupeWhitespaceInChangeObjects(startKeep,deletion,insertion,endKeep){if(deletion&&insertion){var oldWsPrefix=deletion.value.match(/^\s*/)[0],oldWsSuffix=deletion.value.match(/\s*$/)[0],newWsPrefix=insertion.value.match(/^\s*/)[0],newWsSuffix=insertion.value.match(/\s*$/)[0];if(startKeep){var commonWsPrefix=longestCommonPrefix(oldWsPrefix,newWsPrefix);startKeep.value=replaceSuffix(startKeep.value,newWsPrefix,commonWsPrefix),deletion.value=removePrefix(deletion.value,commonWsPrefix),insertion.value=removePrefix(insertion.value,commonWsPrefix)}if(endKeep){var commonWsSuffix=longestCommonSuffix(oldWsSuffix,newWsSuffix);endKeep.value=replacePrefix(endKeep.value,newWsSuffix,commonWsSuffix),deletion.value=removeSuffix(deletion.value,commonWsSuffix),insertion.value=removeSuffix(insertion.value,commonWsSuffix)}}else if(insertion)startKeep&&(insertion.value=insertion.value.replace(/^\s*/,``)),endKeep&&(endKeep.value=endKeep.value.replace(/^\s*/,``));else if(startKeep&&endKeep){var newWsFull=endKeep.value.match(/^\s*/)[0],delWsStart=deletion.value.match(/^\s*/)[0],delWsEnd=deletion.value.match(/\s*$/)[0],newWsStart=longestCommonPrefix(newWsFull,delWsStart);deletion.value=removePrefix(deletion.value,newWsStart);var newWsEnd=longestCommonSuffix(removePrefix(newWsFull,newWsStart),delWsEnd);deletion.value=removeSuffix(deletion.value,newWsEnd),endKeep.value=replacePrefix(endKeep.value,newWsFull,newWsEnd),startKeep.value=replaceSuffix(startKeep.value,newWsFull,newWsFull.slice(0,newWsFull.length-newWsEnd.length))}else if(endKeep){var endKeepWsPrefix=endKeep.value.match(/^\s*/)[0],deletionWsSuffix=deletion.value.match(/\s*$/)[0],overlap=maximumOverlap(deletionWsSuffix,endKeepWsPrefix);deletion.value=removeSuffix(deletion.value,overlap)}else if(startKeep){var startKeepWsSuffix=startKeep.value.match(/\s*$/)[0],deletionWsPrefix=deletion.value.match(/^\s*/)[0],_overlap=maximumOverlap(startKeepWsSuffix,deletionWsPrefix);deletion.value=removePrefix(deletion.value,_overlap)}}var wordWithSpaceDiff=new Diff;wordWithSpaceDiff.tokenize=function(value){var regex$3=RegExp(`(\\r?\\n)|[${extendedWordChars}]+|[^\\S\\n\\r]+|[^${extendedWordChars}]`,`ug`);return value.match(regex$3)||[]};var lineDiff=new Diff;lineDiff.tokenize=function(value,options$1){options$1.stripTrailingCr&&(value=value.replace(/\r\n/g,`
|
|
1033
1033
|
`));var retLines=[],linesAndNewlines=value.split(/(\n|\r\n)/);linesAndNewlines[linesAndNewlines.length-1]||linesAndNewlines.pop();for(var i$7=0;i$7<linesAndNewlines.length;i$7++){var line$1=linesAndNewlines[i$7];i$7%2&&!options$1.newlineIsToken?retLines[retLines.length-1]+=line$1:retLines.push(line$1)}return retLines},lineDiff.equals=function(left$2,right$2,options$1){return options$1.ignoreWhitespace?((!options$1.newlineIsToken||!left$2.includes(`
|
|
1034
1034
|
`))&&(left$2=left$2.trim()),(!options$1.newlineIsToken||!right$2.includes(`
|
|
1035
1035
|
`))&&(right$2=right$2.trim())):options$1.ignoreNewlineAtEof&&!options$1.newlineIsToken&&(left$2.endsWith(`
|
|
@@ -1740,7 +1740,13 @@ The structure MUST be as follows:
|
|
|
1740
1740
|
**Decision Rules (apply in order):**
|
|
1741
1741
|
1. **Model Continues:** If your last response explicitly states an immediate next action *you* intend to take (e.g., "Next, I will...", "Now I'll process...", "Moving on to analyze...", indicates an intended tool call that didn't execute), OR if the response seems clearly incomplete (cut off mid-thought without a natural conclusion), then the **'model'** should speak next.
|
|
1742
1742
|
2. **Question to User:** If your last response ends with a direct question specifically addressed *to the user*, then the **'user'** should speak next.
|
|
1743
|
-
3. **Waiting for User:** If your last response completed a thought, statement, or task *and* does not meet the criteria for Rule 1 (Model Continues) or Rule 2 (Question to User), it implies a pause expecting user input or reaction. In this case, the **'user'** should speak next.`}]}];try{let parsedResponse=await geminiClient.generateJson(contents,RESPONSE_SCHEMA,abortSignal,DEFAULT_GEMINI_FLASH_MODEL);return parsedResponse&&parsedResponse.next_speaker&&[`user`,`model`].includes(parsedResponse.next_speaker)?parsedResponse:null}catch(error$3){return console.warn(`Failed to talk to Gemini endpoint when seeing if conversation should continue.`,error$3),null}}var import_levenshtein=__toESM(__commonJSMin(((exports,module)=>{(function(){var collator;try{collator=typeof Intl<`u`&&Intl.Collator!==void 0?Intl.Collator(`generic`,{sensitivity:`base`}):null}catch{console.log(`Collator could not be initialized and wouldn't be used`)}var prevRow=[],str2Char=[],Levenshtein={get:function(str1,str2,options$1){var useCollator=options$1&&collator&&options$1.useCollator,str1Len=str1.length,str2Len=str2.length;if(str1Len===0)return str2Len;if(str2Len===0)return str1Len;var curCol,nextCol,i$7,j$2,tmp;for(i$7=0;i$7<str2Len;++i$7)prevRow[i$7]=i$7,str2Char[i$7]=str2.charCodeAt(i$7);prevRow[str2Len]=str2Len;var strCmp;if(useCollator)for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$2=0;j$2<str2Len;++j$2)curCol=nextCol,strCmp=collator.compare(str1.charAt(i$7),String.fromCharCode(str2Char[j$2]))===0,nextCol=prevRow[j$2]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$2+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$2]=curCol;prevRow[j$2]=nextCol}else for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$2=0;j$2<str2Len;++j$2)curCol=nextCol,strCmp=str1.charCodeAt(i$7)===str2Char[j$2],nextCol=prevRow[j$2]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$2+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$2]=curCol;prevRow[j$2]=nextCol}return nextCol}};typeof define<`u`&&define!==null&&define.amd?define(function(){return Levenshtein}):module!=null&&exports!==void 0&&module.exports===exports?module.exports=Levenshtein:typeof self<`u`&&typeof self.postMessage==`function`&&typeof self.importScripts==`function`?self.Levenshtein=Levenshtein:typeof window<`u`&&window!==null&&(window.Levenshtein=Levenshtein)})()}))(),1),ChatRecordingService=class{conversationFile=null;cachedLastConvData=null;sessionId;projectHash;queuedThoughts=[];queuedTokens=null;config;constructor(config){this.config=config,this.sessionId=config.getSessionId(),this.projectHash=getProjectHash(config.getProjectRoot())}initialize(resumedSessionData){try{if(resumedSessionData)this.conversationFile=resumedSessionData.filePath,this.sessionId=resumedSessionData.conversation.sessionId,this.updateConversation(conversation=>{conversation.sessionId=this.sessionId}),this.cachedLastConvData=null;else{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`);fs.mkdirSync(chatsDir,{recursive:!0});let filename=`session-${new Date().toISOString().slice(0,16).replace(/:/g,`-`)}-${this.sessionId.slice(0,8)}.json`;this.conversationFile=path.join(chatsDir,filename),this.writeConversation({sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]})}this.queuedThoughts=[],this.queuedTokens=null}catch(error$3){throw console.error(`Error initializing chat recording service:`,error$3),error$3}}getLastMessage(conversation){return conversation.messages.at(-1)}newMessage(type,content){return{id:randomUUID$1(),timestamp:new Date().toISOString(),type,content}}recordMessage(message){if(this.conversationFile)try{this.updateConversation(conversation=>{let msg=this.newMessage(message.type,message.content);msg.type===`gemini`?(conversation.messages.push({...msg,thoughts:this.queuedThoughts,tokens:this.queuedTokens,model:this.config.getModel()}),this.queuedThoughts=[],this.queuedTokens=null):conversation.messages.push(msg)})}catch(error$3){throw console.error(`Error saving message:`,error$3),error$3}}recordThought(thought){if(this.conversationFile)try{this.queuedThoughts.push({...thought,timestamp:new Date().toISOString()})}catch(error$3){throw console.error(`Error saving thought:`,error$3),error$3}}recordMessageTokens(respUsageMetadata){if(this.conversationFile)try{let tokens={input:respUsageMetadata.promptTokenCount??0,output:respUsageMetadata.candidatesTokenCount??0,cached:respUsageMetadata.cachedContentTokenCount??0,thoughts:respUsageMetadata.thoughtsTokenCount??0,tool:respUsageMetadata.toolUsePromptTokenCount??0,total:respUsageMetadata.totalTokenCount??0};this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);lastMsg&&lastMsg.type===`gemini`&&!lastMsg.tokens?(lastMsg.tokens=tokens,this.queuedTokens=null):this.queuedTokens=tokens})}catch(error$3){throw console.error(`Error updating message tokens:`,error$3),error$3}}recordToolCalls(toolCalls){if(!this.conversationFile)return;let toolRegistry=this.config.getToolRegistry(),enrichedToolCalls=toolCalls.map(toolCall=>{let toolInstance=toolRegistry.getTool(toolCall.name);return{...toolCall,displayName:toolInstance?.displayName||toolCall.name,description:toolInstance?.description||``,renderOutputAsMarkdown:toolInstance?.isOutputMarkdown||!1}});try{this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);if(!lastMsg||lastMsg.type!==`gemini`||this.queuedThoughts.length>0){let newMsg={...this.newMessage(`gemini`,``),type:`gemini`,toolCalls:enrichedToolCalls,thoughts:this.queuedThoughts,model:this.config.getModel()};this.queuedThoughts.length>0&&(newMsg.thoughts=this.queuedThoughts,this.queuedThoughts=[]),this.queuedTokens&&=(newMsg.tokens=this.queuedTokens,null),conversation.messages.push(newMsg)}else{lastMsg.toolCalls||=[],lastMsg.toolCalls=lastMsg.toolCalls.map(toolCall=>{let incomingToolCall=toolCalls.find(tc=>tc.id===toolCall.id);return incomingToolCall?{...toolCall,...incomingToolCall}:toolCall});for(let toolCall of enrichedToolCalls)lastMsg.toolCalls.find(tc=>tc.id===toolCall.id)||lastMsg.toolCalls.push(toolCall)}})}catch(error$3){throw console.error(`Error adding tool call to message:`,error$3),error$3}}readConversation(){try{return this.cachedLastConvData=fs.readFileSync(this.conversationFile,`utf8`),JSON.parse(this.cachedLastConvData)}catch(error$3){if(error$3.code!==`ENOENT`)throw console.error(`Error reading conversation file:`,error$3),error$3;return{sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]}}}writeConversation(conversation){try{if(!this.conversationFile||conversation.messages.length===0)return;if(this.cachedLastConvData!==JSON.stringify(conversation,null,2)){conversation.lastUpdated=new Date().toISOString();let newContent=JSON.stringify(conversation,null,2);this.cachedLastConvData=newContent,fs.writeFileSync(this.conversationFile,newContent)}}catch(error$3){throw console.error(`Error writing conversation file:`,error$3),error$3}}updateConversation(updateFn){let conversation=this.readConversation();updateFn(conversation),this.writeConversation(conversation)}deleteSession(sessionId$1){try{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`),sessionPath=path.join(chatsDir,`${sessionId$1}.json`);fs.unlinkSync(sessionPath)}catch(error$3){throw console.error(`Error deleting session:`,error$3),error$3}}},TelemetryTarget;(function(TelemetryTarget$1){TelemetryTarget$1.GCP=`gcp`,TelemetryTarget$1.LOCAL=`local`})(TelemetryTarget||={});const DEFAULT_TELEMETRY_TARGET=TelemetryTarget.LOCAL,DEFAULT_OTLP_ENDPOINT=`http://localhost:4317`;async function handleFallback(config,failedModel,authType,error$3){if(authType!==AuthType.LOGIN_WITH_GOOGLE)return null;let fallbackModel=DEFAULT_GEMINI_FLASH_MODEL;if(failedModel===fallbackModel)return null;let fallbackModelHandler=config.fallbackModelHandler;if(typeof fallbackModelHandler!=`function`)return null;try{let intent=await fallbackModelHandler(failedModel,fallbackModel,error$3);switch(intent){case`retry`:return activateFallbackMode(config,authType),!0;case`stop`:return activateFallbackMode(config,authType),!1;case`auth`:return!1;default:throw Error(`Unexpected fallback intent received from fallbackModelHandler: "${intent}"`)}}catch(handlerError){return console.error(`Fallback UI handler failed:`,handlerError),null}}function activateFallbackMode(config,authType){config.isInFallbackMode()||(config.setFallbackMode(!0),authType&&logFlashFallback(config,new FlashFallbackEvent(authType)))}function partListUnionToString(value){return partToString(value,{verbose:!0})}var StreamEventType;(function(StreamEventType$1){StreamEventType$1.CHUNK=`chunk`,StreamEventType$1.RETRY=`retry`})(StreamEventType||={});const INVALID_CONTENT_RETRY_OPTIONS={maxAttempts:3,initialDelayMs:500};function isValidResponse(response){if(response.candidates===void 0||response.candidates.length===0)return!1;let content=response.candidates[0]?.content;return content===void 0?!1:isValidContent(content)}function isValidContent(content){if(content.parts===void 0||content.parts.length===0)return!1;for(let part of content.parts)if(part===void 0||Object.keys(part).length===0||!part.thought&&part.text!==void 0&&part.text===``)return!1;return!0}function validateHistory(history){for(let content of history)if(content.role!==`user`&&content.role!==`model`)throw Error(`Role must be user or model, but got ${content.role}.`)}function extractCuratedHistory(comprehensiveHistory){if(comprehensiveHistory===void 0||comprehensiveHistory.length===0)return[];let curatedHistory=[],length=comprehensiveHistory.length,i$7=0;for(;i$7<length;)if(comprehensiveHistory[i$7].role===`user`)curatedHistory.push(comprehensiveHistory[i$7]),i$7++;else{let modelOutput=[],isValid=!0;for(;i$7<length&&comprehensiveHistory[i$7].role===`model`;)modelOutput.push(comprehensiveHistory[i$7]),isValid&&!isValidContent(comprehensiveHistory[i$7])&&(isValid=!1),i$7++;isValid&&curatedHistory.push(...modelOutput)}return curatedHistory}var EmptyStreamError=class extends Error{constructor(message){super(message),this.name=`EmptyStreamError`}},GeminiChat=class{config;generationConfig;history;sendPromise=Promise.resolve();chatRecordingService;constructor(config,generationConfig={},history=[]){this.config=config,this.generationConfig=generationConfig,this.history=history,validateHistory(history),this.chatRecordingService=new ChatRecordingService(config),this.chatRecordingService.initialize()}setSystemInstruction(sysInstr){this.generationConfig.systemInstruction=sysInstr}async sendMessageStream(params,prompt_id){await this.sendPromise;let streamDoneResolver;this.sendPromise=new Promise(resolve$11=>{streamDoneResolver=resolve$11});let userContent=createUserContent(params.message);if(!isFunctionResponse(userContent)){let userMessage=Array.isArray(params.message)?params.message:[params.message],userMessageContent=partListUnionToString(toParts(userMessage));this.chatRecordingService.recordMessage({type:`user`,content:userMessageContent})}this.history.push(userContent);let requestContents=this.getHistory(!0),self$1=this;return(async function*(){try{let lastError=Error(`Request failed after all retries.`);for(let attempt=0;attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts;attempt++)try{attempt>0&&(yield{type:StreamEventType.RETRY});let stream$8=await self$1.makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent);for await(let chunk$1 of stream$8)yield{type:StreamEventType.CHUNK,value:chunk$1};lastError=null;break}catch(error$3){if(lastError=error$3,error$3 instanceof EmptyStreamError&&attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts-1){logContentRetry(self$1.config,new ContentRetryEvent(attempt,`EmptyStreamError`,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs)),await new Promise(res=>setTimeout(res,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs*(attempt+1)));continue}break}if(lastError)throw lastError instanceof EmptyStreamError&&logContentRetryFailure(self$1.config,new ContentRetryFailureEvent(INVALID_CONTENT_RETRY_OPTIONS.maxAttempts,`EmptyStreamError`)),self$1.history[self$1.history.length-1]===userContent&&self$1.history.pop(),lastError}finally{streamDoneResolver()}})()}async makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent){let currentAttemptModel,streamResponse=await retryWithBackoff(()=>{let modelToUse=this.config.isInFallbackMode()?DEFAULT_GEMINI_FLASH_MODEL:this.config.getModel();if(currentAttemptModel=modelToUse,this.config.getQuotaErrorOccurred()&&modelToUse===DEFAULT_GEMINI_FLASH_MODEL)throw Error(`Please submit a new query to continue with the Flash model.`);return this.config.getContentGenerator().generateContentStream({model:modelToUse,contents:requestContents,config:{...this.generationConfig,...params.config}},prompt_id)},{shouldRetry:error$3=>{if(error$3 instanceof Error&&error$3.message){if(isSchemaDepthError(error$3.message))return!1;if(error$3.message.includes(`429`)||error$3.message.match(/5\d{2}/))return!0}return!1},onPersistent429:async(authType,error$3)=>currentAttemptModel?await handleFallback(this.config,currentAttemptModel,authType,error$3):null,authType:this.config.getContentGeneratorConfig()?.authType});return this.processStreamResponse(streamResponse,userContent)}getHistory(curated=!1){let history=curated?extractCuratedHistory(this.history):this.history;return structuredClone(history)}clearHistory(){this.history=[]}addHistory(content){this.history.push(content)}setHistory(history){this.history=history}stripThoughtsFromHistory(){this.history=this.history.map(content=>{let newContent={...content};return newContent.parts&&=newContent.parts.map(part=>{if(part&&typeof part==`object`&&`thoughtSignature`in part){let newPart={...part};return delete newPart.thoughtSignature,newPart}return part}),newContent})}setTools(tools$2){this.generationConfig.tools=tools$2}async maybeIncludeSchemaDepthContext(error$3){if(isSchemaDepthError(error$3.message)||isInvalidArgumentError(error$3.message)){let tools$2=this.config.getToolRegistry().getAllTools(),cyclicSchemaTools=[];for(let tool$1 of tools$2)(tool$1.schema.parametersJsonSchema&&hasCycleInSchema(tool$1.schema.parametersJsonSchema)||tool$1.schema.parameters&&hasCycleInSchema(tool$1.schema.parameters))&&cyclicSchemaTools.push(tool$1.displayName);if(cyclicSchemaTools.length>0){let extraDetails=`
|
|
1743
|
+
3. **Waiting for User:** If your last response completed a thought, statement, or task *and* does not meet the criteria for Rule 1 (Model Continues) or Rule 2 (Question to User), it implies a pause expecting user input or reaction. In this case, the **'user'** should speak next.`}]}];try{let parsedResponse=await geminiClient.generateJson(contents,RESPONSE_SCHEMA,abortSignal,DEFAULT_GEMINI_FLASH_MODEL);return parsedResponse&&parsedResponse.next_speaker&&[`user`,`model`].includes(parsedResponse.next_speaker)?parsedResponse:null}catch(error$3){return console.warn(`Failed to talk to Gemini endpoint when seeing if conversation should continue.`,error$3),null}}var import_levenshtein=__toESM(__commonJSMin(((exports,module)=>{(function(){var collator;try{collator=typeof Intl<`u`&&Intl.Collator!==void 0?Intl.Collator(`generic`,{sensitivity:`base`}):null}catch{console.log(`Collator could not be initialized and wouldn't be used`)}var prevRow=[],str2Char=[],Levenshtein={get:function(str1,str2,options$1){var useCollator=options$1&&collator&&options$1.useCollator,str1Len=str1.length,str2Len=str2.length;if(str1Len===0)return str2Len;if(str2Len===0)return str1Len;var curCol,nextCol,i$7,j$2,tmp;for(i$7=0;i$7<str2Len;++i$7)prevRow[i$7]=i$7,str2Char[i$7]=str2.charCodeAt(i$7);prevRow[str2Len]=str2Len;var strCmp;if(useCollator)for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$2=0;j$2<str2Len;++j$2)curCol=nextCol,strCmp=collator.compare(str1.charAt(i$7),String.fromCharCode(str2Char[j$2]))===0,nextCol=prevRow[j$2]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$2+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$2]=curCol;prevRow[j$2]=nextCol}else for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$2=0;j$2<str2Len;++j$2)curCol=nextCol,strCmp=str1.charCodeAt(i$7)===str2Char[j$2],nextCol=prevRow[j$2]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$2+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$2]=curCol;prevRow[j$2]=nextCol}return nextCol}};typeof define<`u`&&define!==null&&define.amd?define(function(){return Levenshtein}):module!=null&&exports!==void 0&&module.exports===exports?module.exports=Levenshtein:typeof self<`u`&&typeof self.postMessage==`function`&&typeof self.importScripts==`function`?self.Levenshtein=Levenshtein:typeof window<`u`&&window!==null&&(window.Levenshtein=Levenshtein)})()}))(),1),ChatRecordingService=class{conversationFile=null;cachedLastConvData=null;sessionId;projectHash;queuedThoughts=[];queuedTokens=null;config;constructor(config){this.config=config,this.sessionId=config.getSessionId(),this.projectHash=getProjectHash(config.getProjectRoot())}initialize(resumedSessionData){try{if(resumedSessionData)this.conversationFile=resumedSessionData.filePath,this.sessionId=resumedSessionData.conversation.sessionId,this.updateConversation(conversation=>{conversation.sessionId=this.sessionId}),this.cachedLastConvData=null;else{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`);fs.mkdirSync(chatsDir,{recursive:!0});let filename=`session-${new Date().toISOString().slice(0,16).replace(/:/g,`-`)}-${this.sessionId.slice(0,8)}.json`;this.conversationFile=path.join(chatsDir,filename),this.writeConversation({sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]})}this.queuedThoughts=[],this.queuedTokens=null}catch(error$3){throw console.error(`Error initializing chat recording service:`,error$3),error$3}}getLastMessage(conversation){return conversation.messages.at(-1)}newMessage(type,content){return{id:randomUUID$1(),timestamp:new Date().toISOString(),type,content}}recordMessage(message){if(this.conversationFile)try{this.updateConversation(conversation=>{let msg=this.newMessage(message.type,message.content);msg.type===`gemini`?(conversation.messages.push({...msg,thoughts:this.queuedThoughts,tokens:this.queuedTokens,model:this.config.getModel()}),this.queuedThoughts=[],this.queuedTokens=null):conversation.messages.push(msg)})}catch(error$3){throw console.error(`Error saving message:`,error$3),error$3}}recordThought(thought){if(this.conversationFile)try{this.queuedThoughts.push({...thought,timestamp:new Date().toISOString()})}catch(error$3){throw console.error(`Error saving thought:`,error$3),error$3}}recordMessageTokens(respUsageMetadata){if(this.conversationFile)try{let tokens={input:respUsageMetadata.promptTokenCount??0,output:respUsageMetadata.candidatesTokenCount??0,cached:respUsageMetadata.cachedContentTokenCount??0,thoughts:respUsageMetadata.thoughtsTokenCount??0,tool:respUsageMetadata.toolUsePromptTokenCount??0,total:respUsageMetadata.totalTokenCount??0};this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);lastMsg&&lastMsg.type===`gemini`&&!lastMsg.tokens?(lastMsg.tokens=tokens,this.queuedTokens=null):this.queuedTokens=tokens})}catch(error$3){throw console.error(`Error updating message tokens:`,error$3),error$3}}recordToolCalls(toolCalls){if(!this.conversationFile)return;let toolRegistry=this.config.getToolRegistry(),enrichedToolCalls=toolCalls.map(toolCall=>{let toolInstance=toolRegistry.getTool(toolCall.name);return{...toolCall,displayName:toolInstance?.displayName||toolCall.name,description:toolInstance?.description||``,renderOutputAsMarkdown:toolInstance?.isOutputMarkdown||!1}});try{this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);if(!lastMsg||lastMsg.type!==`gemini`||this.queuedThoughts.length>0){let newMsg={...this.newMessage(`gemini`,``),type:`gemini`,toolCalls:enrichedToolCalls,thoughts:this.queuedThoughts,model:this.config.getModel()};this.queuedThoughts.length>0&&(newMsg.thoughts=this.queuedThoughts,this.queuedThoughts=[]),this.queuedTokens&&=(newMsg.tokens=this.queuedTokens,null),conversation.messages.push(newMsg)}else{lastMsg.toolCalls||=[],lastMsg.toolCalls=lastMsg.toolCalls.map(toolCall=>{let incomingToolCall=toolCalls.find(tc=>tc.id===toolCall.id);return incomingToolCall?{...toolCall,...incomingToolCall}:toolCall});for(let toolCall of enrichedToolCalls)lastMsg.toolCalls.find(tc=>tc.id===toolCall.id)||lastMsg.toolCalls.push(toolCall)}})}catch(error$3){throw console.error(`Error adding tool call to message:`,error$3),error$3}}readConversation(){try{return this.cachedLastConvData=fs.readFileSync(this.conversationFile,`utf8`),JSON.parse(this.cachedLastConvData)}catch(error$3){if(error$3.code!==`ENOENT`)throw console.error(`Error reading conversation file:`,error$3),error$3;return{sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]}}}writeConversation(conversation){try{if(!this.conversationFile||conversation.messages.length===0)return;if(this.cachedLastConvData!==JSON.stringify(conversation,null,2)){conversation.lastUpdated=new Date().toISOString();let newContent=JSON.stringify(conversation,null,2);this.cachedLastConvData=newContent,fs.writeFileSync(this.conversationFile,newContent)}}catch(error$3){throw console.error(`Error writing conversation file:`,error$3),error$3}}updateConversation(updateFn){let conversation=this.readConversation();updateFn(conversation),this.writeConversation(conversation)}deleteSession(sessionId$1){try{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`),sessionPath=path.join(chatsDir,`${sessionId$1}.json`);fs.unlinkSync(sessionPath)}catch(error$3){throw console.error(`Error deleting session:`,error$3),error$3}}};init_esm$9();
|
|
1744
|
+
/**
|
|
1745
|
+
* @license
|
|
1746
|
+
* Copyright 2025 Google LLC
|
|
1747
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
1748
|
+
*/
|
|
1749
|
+
var TelemetryTarget;(function(TelemetryTarget$1){TelemetryTarget$1.GCP=`gcp`,TelemetryTarget$1.LOCAL=`local`})(TelemetryTarget||={});const DEFAULT_TELEMETRY_TARGET=TelemetryTarget.LOCAL,DEFAULT_OTLP_ENDPOINT=`http://localhost:4317`;async function handleFallback(config,failedModel,authType,error$3){if(authType!==AuthType.LOGIN_WITH_GOOGLE)return null;let fallbackModel=DEFAULT_GEMINI_FLASH_MODEL;if(failedModel===fallbackModel)return null;let fallbackModelHandler=config.fallbackModelHandler;if(typeof fallbackModelHandler!=`function`)return null;try{let intent=await fallbackModelHandler(failedModel,fallbackModel,error$3);switch(intent){case`retry`:return activateFallbackMode(config,authType),!0;case`stop`:return activateFallbackMode(config,authType),!1;case`auth`:return!1;default:throw Error(`Unexpected fallback intent received from fallbackModelHandler: "${intent}"`)}}catch(handlerError){return console.error(`Fallback UI handler failed:`,handlerError),null}}function activateFallbackMode(config,authType){config.isInFallbackMode()||(config.setFallbackMode(!0),authType&&logFlashFallback(config,new FlashFallbackEvent(authType)))}function partListUnionToString(value){return partToString(value,{verbose:!0})}var StreamEventType;(function(StreamEventType$1){StreamEventType$1.CHUNK=`chunk`,StreamEventType$1.RETRY=`retry`})(StreamEventType||={});const INVALID_CONTENT_RETRY_OPTIONS={maxAttempts:3,initialDelayMs:500};function isValidResponse(response){if(response.candidates===void 0||response.candidates.length===0)return!1;let content=response.candidates[0]?.content;return content===void 0?!1:isValidContent(content)}function isValidContent(content){if(content.parts===void 0||content.parts.length===0)return!1;for(let part of content.parts)if(part===void 0||Object.keys(part).length===0||!part.thought&&part.text!==void 0&&part.text===``)return!1;return!0}function validateHistory(history){for(let content of history)if(content.role!==`user`&&content.role!==`model`)throw Error(`Role must be user or model, but got ${content.role}.`)}function extractCuratedHistory(comprehensiveHistory){if(comprehensiveHistory===void 0||comprehensiveHistory.length===0)return[];let curatedHistory=[],length=comprehensiveHistory.length,i$7=0;for(;i$7<length;)if(comprehensiveHistory[i$7].role===`user`)curatedHistory.push(comprehensiveHistory[i$7]),i$7++;else{let modelOutput=[],isValid=!0;for(;i$7<length&&comprehensiveHistory[i$7].role===`model`;)modelOutput.push(comprehensiveHistory[i$7]),isValid&&!isValidContent(comprehensiveHistory[i$7])&&(isValid=!1),i$7++;isValid&&curatedHistory.push(...modelOutput)}return curatedHistory}var EmptyStreamError=class extends Error{constructor(message){super(message),this.name=`EmptyStreamError`}},GeminiChat=class{config;generationConfig;history;sendPromise=Promise.resolve();chatRecordingService;constructor(config,generationConfig={},history=[]){this.config=config,this.generationConfig=generationConfig,this.history=history,validateHistory(history),this.chatRecordingService=new ChatRecordingService(config),this.chatRecordingService.initialize()}setSystemInstruction(sysInstr){this.generationConfig.systemInstruction=sysInstr}async sendMessageStream(params,prompt_id){await this.sendPromise;let streamDoneResolver;this.sendPromise=new Promise(resolve$11=>{streamDoneResolver=resolve$11});let userContent=createUserContent(params.message);if(!isFunctionResponse(userContent)){let userMessage=Array.isArray(params.message)?params.message:[params.message],userMessageContent=partListUnionToString(toParts(userMessage));this.chatRecordingService.recordMessage({type:`user`,content:userMessageContent})}this.history.push(userContent);let requestContents=this.getHistory(!0),self$1=this;return(async function*(){try{let lastError=Error(`Request failed after all retries.`);for(let attempt=0;attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts;attempt++)try{attempt>0&&(yield{type:StreamEventType.RETRY});let stream$8=await self$1.makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent);for await(let chunk$1 of stream$8)yield{type:StreamEventType.CHUNK,value:chunk$1};lastError=null;break}catch(error$3){if(lastError=error$3,error$3 instanceof EmptyStreamError&&attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts-1){logContentRetry(self$1.config,new ContentRetryEvent(attempt,`EmptyStreamError`,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs)),await new Promise(res=>setTimeout(res,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs*(attempt+1)));continue}break}if(lastError)throw lastError instanceof EmptyStreamError&&logContentRetryFailure(self$1.config,new ContentRetryFailureEvent(INVALID_CONTENT_RETRY_OPTIONS.maxAttempts,`EmptyStreamError`)),self$1.history[self$1.history.length-1]===userContent&&self$1.history.pop(),lastError}finally{streamDoneResolver()}})()}async makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent){let currentAttemptModel,streamResponse=await retryWithBackoff(()=>{let modelToUse=this.config.isInFallbackMode()?DEFAULT_GEMINI_FLASH_MODEL:this.config.getModel();if(currentAttemptModel=modelToUse,this.config.getQuotaErrorOccurred()&&modelToUse===DEFAULT_GEMINI_FLASH_MODEL)throw Error(`Please submit a new query to continue with the Flash model.`);return this.config.getContentGenerator().generateContentStream({model:modelToUse,contents:requestContents,config:{...this.generationConfig,...params.config}},prompt_id)},{shouldRetry:error$3=>{if(error$3 instanceof Error&&error$3.message){if(isSchemaDepthError(error$3.message))return!1;if(error$3.message.includes(`429`)||error$3.message.match(/5\d{2}/))return!0}return!1},onPersistent429:async(authType,error$3)=>currentAttemptModel?await handleFallback(this.config,currentAttemptModel,authType,error$3):null,authType:this.config.getContentGeneratorConfig()?.authType});return this.processStreamResponse(streamResponse,userContent)}getHistory(curated=!1){let history=curated?extractCuratedHistory(this.history):this.history;return structuredClone(history)}clearHistory(){this.history=[]}addHistory(content){this.history.push(content)}setHistory(history){this.history=history}stripThoughtsFromHistory(){this.history=this.history.map(content=>{let newContent={...content};return newContent.parts&&=newContent.parts.map(part=>{if(part&&typeof part==`object`&&`thoughtSignature`in part){let newPart={...part};return delete newPart.thoughtSignature,newPart}return part}),newContent})}setTools(tools$2){this.generationConfig.tools=tools$2}async maybeIncludeSchemaDepthContext(error$3){if(isSchemaDepthError(error$3.message)||isInvalidArgumentError(error$3.message)){let tools$2=this.config.getToolRegistry().getAllTools(),cyclicSchemaTools=[];for(let tool$1 of tools$2)(tool$1.schema.parametersJsonSchema&&hasCycleInSchema(tool$1.schema.parametersJsonSchema)||tool$1.schema.parameters&&hasCycleInSchema(tool$1.schema.parameters))&&cyclicSchemaTools.push(tool$1.displayName);if(cyclicSchemaTools.length>0){let extraDetails=`
|
|
1744
1750
|
|
|
1745
1751
|
This error was probably caused by cyclic schema references in one of the following tools, try disabling them with excludeTools:
|
|
1746
1752
|
|
|
@@ -1911,6 +1917,6 @@ const SCREEN_READER_USER_PREFIX=`User: `,InputPrompt=({buffer:buffer$2,onSubmit,
|
|
|
1911
1917
|
`)&&(textToInsert+=` `),buffer$2.replaceRangeByOffset(offset,offset,textToInsert)}}}catch(error$3){console.error(`Error handling clipboard image:`,error$3)}},[buffer$2,config]),handleInput=useCallback(key$1=>{if(!(!focus&&!key$1.paste)){if(key$1.paste){setRecentPasteTime(Date.now()),pasteTimeoutRef.current&&clearTimeout(pasteTimeoutRef.current),pasteTimeoutRef.current=setTimeout(()=>{setRecentPasteTime(null),pasteTimeoutRef.current=null},500),buffer$2.handleInput(key$1);return}if(!(vimHandleInput&&vimHandleInput(key$1))){if(key$1.name!==`escape`&&(escPressCount>0||showEscapePrompt)&&resetEscapeState(),key$1.sequence===`!`&&buffer$2.text===``&&!completion.showSuggestions){setShellModeActive(!shellModeActive),buffer$2.setText(``);return}if(keyMatchers[Command.ESCAPE](key$1)){if(reverseSearchActive){setReverseSearchActive(!1),reverseSearchCompletion.resetCompletionState(),buffer$2.setText(textBeforeReverseSearch);let offset=logicalPosToOffset(buffer$2.lines,cursorPosition[0],cursorPosition[1]);buffer$2.moveToOffset(offset);return}if(shellModeActive){setShellModeActive(!1),resetEscapeState();return}if(completion.showSuggestions){completion.resetCompletionState(),resetEscapeState();return}if(escPressCount===0){if(buffer$2.text===``)return;setEscPressCount(1),setShowEscapePrompt(!0),escapeTimerRef.current&&clearTimeout(escapeTimerRef.current),escapeTimerRef.current=setTimeout(()=>{resetEscapeState()},500)}else buffer$2.setText(``),resetCompletionState(),resetEscapeState();return}if(shellModeActive&&keyMatchers[Command.REVERSE_SEARCH](key$1)){setReverseSearchActive(!0),setTextBeforeReverseSearch(buffer$2.text),setCursorPosition(buffer$2.cursor);return}if(keyMatchers[Command.CLEAR_SCREEN](key$1)){onClearScreen();return}if(reverseSearchActive){let{activeSuggestionIndex,navigateUp,navigateDown,showSuggestions,suggestions}=reverseSearchCompletion;if(showSuggestions){if(keyMatchers[Command.NAVIGATION_UP](key$1)){navigateUp();return}if(keyMatchers[Command.NAVIGATION_DOWN](key$1)){navigateDown();return}if(keyMatchers[Command.ACCEPT_SUGGESTION_REVERSE_SEARCH](key$1)){reverseSearchCompletion.handleAutocomplete(activeSuggestionIndex),reverseSearchCompletion.resetCompletionState(),setReverseSearchActive(!1);return}}if(keyMatchers[Command.SUBMIT_REVERSE_SEARCH](key$1)){let textToSubmit=showSuggestions&&activeSuggestionIndex>-1?suggestions[activeSuggestionIndex].value:buffer$2.text;handleSubmitAndClear(textToSubmit),reverseSearchCompletion.resetCompletionState(),setReverseSearchActive(!1);return}if(keyMatchers[Command.NAVIGATION_UP](key$1)||keyMatchers[Command.NAVIGATION_DOWN](key$1))return}if(completion.isPerfectMatch&&keyMatchers[Command.RETURN](key$1)){handleSubmitAndClear(buffer$2.text);return}if(completion.showSuggestions){if(completion.suggestions.length>1){if(keyMatchers[Command.COMPLETION_UP](key$1)){completion.navigateUp();return}if(keyMatchers[Command.COMPLETION_DOWN](key$1)){completion.navigateDown();return}}if(keyMatchers[Command.ACCEPT_SUGGESTION](key$1)){if(completion.suggestions.length>0){let targetIndex=completion.activeSuggestionIndex===-1?0:completion.activeSuggestionIndex;targetIndex<completion.suggestions.length&&completion.handleAutocomplete(targetIndex)}return}}if(key$1.name===`tab`&&!completion.showSuggestions&&completion.promptCompletion.text){completion.promptCompletion.accept();return}if(shellModeActive){if(keyMatchers[Command.NAVIGATION_UP](key$1)){let prevCommand=shellHistory.getPreviousCommand();prevCommand!==null&&buffer$2.setText(prevCommand);return}if(keyMatchers[Command.NAVIGATION_DOWN](key$1)){let nextCommand=shellHistory.getNextCommand();nextCommand!==null&&buffer$2.setText(nextCommand);return}}else{if(keyMatchers[Command.HISTORY_UP](key$1)){inputHistory.navigateUp();return}if(keyMatchers[Command.HISTORY_DOWN](key$1)){inputHistory.navigateDown();return}if(keyMatchers[Command.NAVIGATION_UP](key$1)&&(buffer$2.allVisualLines.length===1||buffer$2.visualCursor[0]===0&&buffer$2.visualScrollRow===0)){inputHistory.navigateUp();return}if(keyMatchers[Command.NAVIGATION_DOWN](key$1)&&(buffer$2.allVisualLines.length===1||buffer$2.visualCursor[0]===buffer$2.allVisualLines.length-1)){inputHistory.navigateDown();return}}if(keyMatchers[Command.SUBMIT](key$1)){if(buffer$2.text.trim()){if(recentPasteTime!==null)return;let[row,col]=buffer$2.cursor,line$1=buffer$2.lines[row];(col>0?cpSlice(line$1,col-1,col):``)===`\\`?(buffer$2.backspace(),buffer$2.newline()):handleSubmitAndClear(buffer$2.text)}return}if(keyMatchers[Command.NEWLINE](key$1)){buffer$2.newline();return}if(keyMatchers[Command.HOME](key$1)){buffer$2.move(`home`);return}if(keyMatchers[Command.END](key$1)){buffer$2.move(`end`);return}if(keyMatchers[Command.CLEAR_INPUT](key$1)){buffer$2.text.length>0&&(buffer$2.setText(``),resetCompletionState());return}if(keyMatchers[Command.KILL_LINE_RIGHT](key$1)){buffer$2.killLineRight();return}if(keyMatchers[Command.KILL_LINE_LEFT](key$1)){buffer$2.killLineLeft();return}if(keyMatchers[Command.DELETE_WORD_BACKWARD](key$1)){buffer$2.deleteWordLeft();return}if(keyMatchers[Command.OPEN_EXTERNAL_EDITOR](key$1)){buffer$2.openInExternalEditor();return}if(keyMatchers[Command.PASTE_CLIPBOARD_IMAGE](key$1)){handleClipboardImage();return}buffer$2.handleInput(key$1),completion.promptCompletion.text&&key$1.sequence&&key$1.sequence.length===1&&!key$1.ctrl&&!key$1.meta&&completion.promptCompletion.clear()}}},[focus,buffer$2,completion,shellModeActive,setShellModeActive,onClearScreen,inputHistory,handleSubmitAndClear,shellHistory,reverseSearchCompletion,handleClipboardImage,resetCompletionState,escPressCount,showEscapePrompt,resetEscapeState,vimHandleInput,reverseSearchActive,textBeforeReverseSearch,cursorPosition,recentPasteTime]);useKeypress(handleInput,{isActive:!0});let linesToRender=buffer$2.viewportVisualLines,[cursorVisualRowAbsolute,cursorVisualColAbsolute]=buffer$2.visualCursor,scrollVisualRow=buffer$2.visualScrollRow,{inlineGhost,additionalLines}=useCallback(()=>{if(!completion.promptCompletion.text||!buffer$2.text||!completion.promptCompletion.text.startsWith(buffer$2.text))return{inlineGhost:``,additionalLines:[]};let ghostSuffix=completion.promptCompletion.text.slice(buffer$2.text.length);if(!ghostSuffix)return{inlineGhost:``,additionalLines:[]};let currentLogicalLine=buffer$2.lines[buffer$2.cursor[0]]||``,cursorCol=buffer$2.cursor[1],textBeforeCursor=cpSlice(currentLogicalLine,0,cursorCol),usedWidth=stringWidth(textBeforeCursor),remainingWidth=Math.max(0,inputWidth-usedWidth),ghostTextLinesRaw=ghostSuffix.split(`
|
|
1912
1918
|
`),firstLineRaw=ghostTextLinesRaw.shift()||``,inlineGhost$1=``,remainingFirstLine=``;if(stringWidth(firstLineRaw)<=remainingWidth)inlineGhost$1=firstLineRaw;else{let words$1=firstLineRaw.split(` `),currentLine=``,wordIdx=0;for(let word of words$1){let prospectiveLine=currentLine?`${currentLine} ${word}`:word;if(stringWidth(prospectiveLine)>remainingWidth)break;currentLine=prospectiveLine,wordIdx++}inlineGhost$1=currentLine,words$1.length>wordIdx&&(remainingFirstLine=words$1.slice(wordIdx).join(` `))}let linesToWrap=[];remainingFirstLine&&linesToWrap.push(remainingFirstLine),linesToWrap.push(...ghostTextLinesRaw);let remainingGhostText=linesToWrap.join(`
|
|
1913
1919
|
`),additionalLines$1=[];if(remainingGhostText){let textLines=remainingGhostText.split(`
|
|
1914
|
-
`);for(let textLine of textLines){let words$1=textLine.split(` `),currentLine=``;for(let word of words$1){let prospectiveLine=currentLine?`${currentLine} ${word}`:word;if(stringWidth(prospectiveLine)>inputWidth){currentLine&&additionalLines$1.push(currentLine);let wordToProcess=word;for(;stringWidth(wordToProcess)>inputWidth;){let part=``,wordCP=toCodePoints(wordToProcess),partWidth=0,splitIndex=0;for(let i$7=0;i$7<wordCP.length;i$7++){let char=wordCP[i$7],charWidth=stringWidth(char);if(partWidth+charWidth>inputWidth)break;part+=char,partWidth+=charWidth,splitIndex=i$7+1}additionalLines$1.push(part),wordToProcess=cpSlice(wordToProcess,splitIndex)}currentLine=wordToProcess}else currentLine=prospectiveLine}currentLine&&additionalLines$1.push(currentLine)}}return{inlineGhost:inlineGhost$1,additionalLines:additionalLines$1}},[completion.promptCompletion.text,buffer$2.text,buffer$2.lines,buffer$2.cursor,inputWidth])();return jsxs(Fragment,{children:[jsxs(Box_default,{borderStyle:`round`,borderColor:borderColor??(shellModeActive?theme.status.warning:focus?theme.border.focused:theme.border.default),paddingX:1,children:[jsx(Text,{color:shellModeActive?theme.status.warning:theme.text.accent,children:shellModeActive?reverseSearchActive?jsxs(Text,{color:theme.text.link,"aria-label":`User: `,children:[`(r:)`,` `]}):`! `:`> `}),jsx(Box_default,{flexGrow:1,flexDirection:`column`,children:buffer$2.text.length===0&&placeholder?focus?jsxs(Text,{children:[source_default.inverse(placeholder.slice(0,1)),jsx(Text,{color:theme.text.secondary,children:placeholder.slice(1)})]}):jsx(Text,{color:theme.text.secondary,children:placeholder}):linesToRender.map((lineText,visualIdxInRenderedSet)=>{let tokens=parseInputForHighlighting(lineText,visualIdxInRenderedSet),cursorVisualRow=cursorVisualRowAbsolute-scrollVisualRow,isOnCursorLine=focus&&visualIdxInRenderedSet===cursorVisualRow,renderedLine=[],charCount=0;tokens.forEach((token$1,tokenIdx)=>{let display=token$1.text;if(isOnCursorLine){let relativeVisualColForHighlight=cursorVisualColAbsolute,tokenStart=charCount,tokenEnd=tokenStart+cpLen(token$1.text);if(relativeVisualColForHighlight>=tokenStart&&relativeVisualColForHighlight<tokenEnd){let charToHighlight=cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart,relativeVisualColForHighlight-tokenStart+1),highlighted=source_default.inverse(charToHighlight);display=cpSlice(token$1.text,0,relativeVisualColForHighlight-tokenStart)+highlighted+cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart+1)}charCount=tokenEnd}let color=token$1.type===`command`||token$1.type===`file`?theme.text.accent:theme.text.primary;renderedLine.push(jsx(Text,{color,children:display},`token-${tokenIdx}`))});let currentLineGhost=isOnCursorLine?inlineGhost:``;isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&&(currentLineGhost||renderedLine.push(jsx(Text,{children:source_default.inverse(` `)},`cursor-end-${cursorVisualColAbsolute}`)));let showCursorBeforeGhost=focus&&isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&¤tLineGhost;return jsx(Box_default,{height:1,children:jsxs(Text,{children:[renderedLine,showCursorBeforeGhost&&source_default.inverse(` `),currentLineGhost&&jsx(Text,{color:theme.text.secondary,children:currentLineGhost})]})},`line-${visualIdxInRenderedSet}`)}).concat(additionalLines.map((ghostLine,index)=>{let padding=Math.max(0,inputWidth-stringWidth(ghostLine));return jsxs(Text,{color:theme.text.secondary,children:[ghostLine,` `.repeat(padding)]},`ghost-line-${index}`)}))})]}),completion.showSuggestions&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:completion.suggestions,activeIndex:completion.activeSuggestionIndex,isLoading:completion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:completion.visibleStartIndex,userInput:buffer$2.text})}),reverseSearchActive&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:reverseSearchCompletion.suggestions,activeIndex:reverseSearchCompletion.activeSuggestionIndex,isLoading:reverseSearchCompletion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:reverseSearchCompletion.visibleStartIndex,userInput:buffer$2.text})})]})};function createMinimalConfig(){return new Config({sessionId:`blink`,targetDir:process.cwd(),cwd:process.cwd(),debugMode:!1,model:`gemini-1.5-flash`,telemetry:{enabled:!1}})}const convertToCommands=slashCommands=>slashCommands.map(cmd=>({name:cmd.name,altNames:cmd.altNames,description:cmd.description,kind:`built-in`,completion:async(context,partialArg)=>cmd.completion?.(partialArg)??[],subCommands:cmd.subcommands?convertToCommands(cmd.subcommands):void 0}));function TextInput({onSubmit,placeholder,slashCommands,onLayoutChange,borderColor}){let config=useMemo(()=>createMinimalConfig(),[]),[userMessages,setUserMessages]=useState([]),{stdout:stdout$1}=use_stdout_default(),[isSlashOpen,setIsSlashOpen]=useState(!1),inputWidth=stdout$1.columns,buffer$2=useTextBuffer({viewport:{width:inputWidth-6,height:stdout$1.rows-15},isValidPath:filePath=>fs$1.existsSync(filePath),onChange:value=>{value.startsWith(`/`)?setIsSlashOpen(!0):setIsSlashOpen(prev=>(prev&&onLayoutChange?.(),!1))}}),commands=useMemo(()=>convertToCommands(slashCommands??[]),[slashCommands]);return jsx(Box_default,{marginBottom:isSlashOpen?1:0,flexDirection:`column`,children:jsx(InputPrompt,{borderColor,buffer:buffer$2,onSubmit:value=>{let args=value.trim().split(` `),first$1=args[0];if(first$1&&first$1.startsWith(`/`)){let commandName=first$1.slice(1),commandIndex=slashCommands?.findIndex(c$3=>c$3.name===commandName||(c$3.altNames?c$3.altNames.includes(commandName):!1))??-1;if(commandIndex!==-1&&slashCommands){let root$31=slashCommands[commandIndex],rest=args.slice(1),execute=(cmd,remaining)=>{if(remaining.length>0&&cmd.subcommands&&cmd.subcommands.length>0){let subName=remaining[0],next=cmd.subcommands.find(sc=>sc.name===subName||(sc.altNames?sc.altNames.includes(subName):!1));if(next)return execute(next,remaining.slice(1))}cmd.action(remaining.join(` `))};execute(root$31,rest);return}}setUserMessages(prev=>[value,...prev]),onSubmit(value)},placeholder,userMessages,onClearScreen:()=>{},config,slashCommands:commands,commandContext:{services:{config,settings:{},git:void 0,logger:console},ui:{addItem:()=>{},clear:()=>{},setDebugMessage:()=>{},pendingItem:null,setPendingItem:()=>{},loadHistory:()=>{},toggleCorgiMode:()=>{},toggleVimEnabled:async()=>!1,setGeminiMdFileCount:()=>{},reloadCommands:()=>{}},session:{stats:{},sessionShellAllowlist:new Set}},inputWidth:inputWidth-2,suggestionsWidth:inputWidth-2,shellModeActive:!1,setShellModeActive:()=>{}})})}function KeypressProvider({children}){let config=useMemo(()=>createMinimalConfig(),[]);return jsx(KeypressProvider$1,{kittyProtocolEnabled:!0,config,children})}var text_input_default=TextInput;function useTerminalSize(){let{stdout:stdout$1}=use_stdout_default(),[size,setSize]=useState({columns:process.stdout.columns,rows:process.stdout.rows});return useEffect(()=>{if(!stdout$1||!stdout$1.isTTY)return;let handleResize=()=>{setSize({columns:stdout$1.columns,rows:stdout$1.rows})};return process.stdout.on(`resize`,handleResize),()=>{process.stdout.off(`resize`,handleResize)}},[stdout$1]),{columns:size.columns,rows:size.rows?size.rows-1:void 0}}function checkAndMarkFirstRun(directory){let storagePath=join$1(directory,`.blink`,`.first-run`);return mkdirSync$1(dirname$1(storagePath),{recursive:!0}),existsSync$1(storagePath)?!1:(writeFileSync$1(storagePath,new Date().toISOString()),!0)}const colors={run:`#1f86ed`,edit:`#e8900e`};async function startDev({directory}){await render_default(jsx(KeypressProvider,{children:jsx(Root,{directory})}),{exitOnCtrlC:!1}).waitUntilExit()}const Root=({directory})=>{let size=useTerminalSize(),[isFirstRun]=useState(()=>checkAndMarkFirstRun(directory)),dev$1=useDevMode({directory,onBuildStart:()=>{console.log(source_default.gray(`⚙ Compiling...`))},onBuildSuccess:result=>{console.log(source_default.green(`⚙ Compiled in ${Math.round(result.duration)}ms`))},onBuildError:error$3=>{console.log(source_default.red(`⚙ ${error$3.message}${error$3.file
|
|
1920
|
+
`);for(let textLine of textLines){let words$1=textLine.split(` `),currentLine=``;for(let word of words$1){let prospectiveLine=currentLine?`${currentLine} ${word}`:word;if(stringWidth(prospectiveLine)>inputWidth){currentLine&&additionalLines$1.push(currentLine);let wordToProcess=word;for(;stringWidth(wordToProcess)>inputWidth;){let part=``,wordCP=toCodePoints(wordToProcess),partWidth=0,splitIndex=0;for(let i$7=0;i$7<wordCP.length;i$7++){let char=wordCP[i$7],charWidth=stringWidth(char);if(partWidth+charWidth>inputWidth)break;part+=char,partWidth+=charWidth,splitIndex=i$7+1}additionalLines$1.push(part),wordToProcess=cpSlice(wordToProcess,splitIndex)}currentLine=wordToProcess}else currentLine=prospectiveLine}currentLine&&additionalLines$1.push(currentLine)}}return{inlineGhost:inlineGhost$1,additionalLines:additionalLines$1}},[completion.promptCompletion.text,buffer$2.text,buffer$2.lines,buffer$2.cursor,inputWidth])();return jsxs(Fragment,{children:[jsxs(Box_default,{borderStyle:`round`,borderColor:borderColor??(shellModeActive?theme.status.warning:focus?theme.border.focused:theme.border.default),paddingX:1,children:[jsx(Text,{color:shellModeActive?theme.status.warning:theme.text.accent,children:shellModeActive?reverseSearchActive?jsxs(Text,{color:theme.text.link,"aria-label":`User: `,children:[`(r:)`,` `]}):`! `:`> `}),jsx(Box_default,{flexGrow:1,flexDirection:`column`,children:buffer$2.text.length===0&&placeholder?focus?jsxs(Text,{children:[source_default.inverse(placeholder.slice(0,1)),jsx(Text,{color:theme.text.secondary,children:placeholder.slice(1)})]}):jsx(Text,{color:theme.text.secondary,children:placeholder}):linesToRender.map((lineText,visualIdxInRenderedSet)=>{let tokens=parseInputForHighlighting(lineText,visualIdxInRenderedSet),cursorVisualRow=cursorVisualRowAbsolute-scrollVisualRow,isOnCursorLine=focus&&visualIdxInRenderedSet===cursorVisualRow,renderedLine=[],charCount=0;tokens.forEach((token$1,tokenIdx)=>{let display=token$1.text;if(isOnCursorLine){let relativeVisualColForHighlight=cursorVisualColAbsolute,tokenStart=charCount,tokenEnd=tokenStart+cpLen(token$1.text);if(relativeVisualColForHighlight>=tokenStart&&relativeVisualColForHighlight<tokenEnd){let charToHighlight=cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart,relativeVisualColForHighlight-tokenStart+1),highlighted=source_default.inverse(charToHighlight);display=cpSlice(token$1.text,0,relativeVisualColForHighlight-tokenStart)+highlighted+cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart+1)}charCount=tokenEnd}let color=token$1.type===`command`||token$1.type===`file`?theme.text.accent:theme.text.primary;renderedLine.push(jsx(Text,{color,children:display},`token-${tokenIdx}`))});let currentLineGhost=isOnCursorLine?inlineGhost:``;isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&&(currentLineGhost||renderedLine.push(jsx(Text,{children:source_default.inverse(` `)},`cursor-end-${cursorVisualColAbsolute}`)));let showCursorBeforeGhost=focus&&isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&¤tLineGhost;return jsx(Box_default,{height:1,children:jsxs(Text,{children:[renderedLine,showCursorBeforeGhost&&source_default.inverse(` `),currentLineGhost&&jsx(Text,{color:theme.text.secondary,children:currentLineGhost})]})},`line-${visualIdxInRenderedSet}`)}).concat(additionalLines.map((ghostLine,index)=>{let padding=Math.max(0,inputWidth-stringWidth(ghostLine));return jsxs(Text,{color:theme.text.secondary,children:[ghostLine,` `.repeat(padding)]},`ghost-line-${index}`)}))})]}),completion.showSuggestions&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:completion.suggestions,activeIndex:completion.activeSuggestionIndex,isLoading:completion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:completion.visibleStartIndex,userInput:buffer$2.text})}),reverseSearchActive&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:reverseSearchCompletion.suggestions,activeIndex:reverseSearchCompletion.activeSuggestionIndex,isLoading:reverseSearchCompletion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:reverseSearchCompletion.visibleStartIndex,userInput:buffer$2.text})})]})};function createMinimalConfig(){return new Config({sessionId:`blink`,targetDir:process.cwd(),cwd:process.cwd(),debugMode:!1,model:`gemini-1.5-flash`,telemetry:{enabled:!1}})}const convertToCommands=slashCommands=>slashCommands.map(cmd=>({name:cmd.name,altNames:cmd.altNames,description:cmd.description,kind:`built-in`,completion:async(context,partialArg)=>cmd.completion?.(partialArg)??[],subCommands:cmd.subcommands?convertToCommands(cmd.subcommands):void 0}));function TextInput({onSubmit,placeholder,slashCommands,onLayoutChange,borderColor}){let config=useMemo(()=>createMinimalConfig(),[]),[userMessages,setUserMessages]=useState([]),{stdout:stdout$1}=use_stdout_default(),[isSlashOpen,setIsSlashOpen]=useState(!1),inputWidth=stdout$1.columns,buffer$2=useTextBuffer({viewport:{width:inputWidth-6,height:stdout$1.rows-15},isValidPath:filePath=>fs$1.existsSync(filePath),onChange:value=>{value.startsWith(`/`)?setIsSlashOpen(!0):setIsSlashOpen(prev=>(prev&&onLayoutChange?.(),!1))}}),commands=useMemo(()=>convertToCommands(slashCommands??[]),[slashCommands]);return jsx(Box_default,{marginBottom:isSlashOpen?1:0,flexDirection:`column`,children:jsx(InputPrompt,{borderColor,buffer:buffer$2,onSubmit:value=>{let args=value.trim().split(` `),first$1=args[0];if(first$1&&first$1.startsWith(`/`)){let commandName=first$1.slice(1),commandIndex=slashCommands?.findIndex(c$3=>c$3.name===commandName||(c$3.altNames?c$3.altNames.includes(commandName):!1))??-1;if(commandIndex!==-1&&slashCommands){let root$31=slashCommands[commandIndex],rest=args.slice(1),execute=(cmd,remaining)=>{if(remaining.length>0&&cmd.subcommands&&cmd.subcommands.length>0){let subName=remaining[0],next=cmd.subcommands.find(sc=>sc.name===subName||(sc.altNames?sc.altNames.includes(subName):!1));if(next)return execute(next,remaining.slice(1))}cmd.action(remaining.join(` `))};execute(root$31,rest);return}}setUserMessages(prev=>[value,...prev]),onSubmit(value)},placeholder,userMessages,onClearScreen:()=>{},config,slashCommands:commands,commandContext:{services:{config,settings:{},git:void 0,logger:console},ui:{addItem:()=>{},clear:()=>{},setDebugMessage:()=>{},pendingItem:null,setPendingItem:()=>{},loadHistory:()=>{},toggleCorgiMode:()=>{},toggleVimEnabled:async()=>!1,setGeminiMdFileCount:()=>{},reloadCommands:()=>{}},session:{stats:{},sessionShellAllowlist:new Set}},inputWidth:inputWidth-2,suggestionsWidth:inputWidth-2,shellModeActive:!1,setShellModeActive:()=>{}})})}function KeypressProvider({children}){let config=useMemo(()=>createMinimalConfig(),[]);return jsx(KeypressProvider$1,{kittyProtocolEnabled:!0,config,children})}var text_input_default=TextInput;function useTerminalSize(){let{stdout:stdout$1}=use_stdout_default(),[size,setSize]=useState({columns:process.stdout.columns,rows:process.stdout.rows});return useEffect(()=>{if(!stdout$1||!stdout$1.isTTY)return;let handleResize=()=>{setSize({columns:stdout$1.columns,rows:stdout$1.rows})};return process.stdout.on(`resize`,handleResize),()=>{process.stdout.off(`resize`,handleResize)}},[stdout$1]),{columns:size.columns,rows:size.rows?size.rows-1:void 0}}function checkAndMarkFirstRun(directory){let storagePath=join$1(directory,`.blink`,`.first-run`);return mkdirSync$1(dirname$1(storagePath),{recursive:!0}),existsSync$1(storagePath)?!1:(writeFileSync$1(storagePath,new Date().toISOString()),!0)}const colors={run:`#1f86ed`,edit:`#e8900e`};async function startDev({directory}){await render_default(jsx(KeypressProvider,{children:jsx(Root,{directory})}),{exitOnCtrlC:!1}).waitUntilExit()}const Root=({directory})=>{let size=useTerminalSize(),[isFirstRun]=useState(()=>checkAndMarkFirstRun(directory)),dev$1=useDevMode({directory,onBuildStart:()=>{console.log(source_default.gray(`⚙ Compiling...`))},onBuildSuccess:result=>{console.log(source_default.green(`⚙ Compiled in ${Math.round(result.duration)}ms`))},onBuildError:error$3=>{console.log(`${source_default.red(`⚙ [Build Error]`)} ${source_default.gray(error$3.message)}${error$3.file?source_default.bold(` (${error$3.file})`):``}`)},onEnvLoaded:keys=>{let keysText=keys.map(key$1=>source_default.dim(key$1)).join(`, `);keysText.length===0&&(keysText=source_default.dim(`(none)`)),console.log(source_default.gray(`⚙ Loaded .env.local:`),keysText)},onDevhookConnected:url$3=>{console.log(source_default.gray(`⚙ Send webhooks from anywhere: ${url$3}`))},onAgentLog:log$5=>{let logColor=log$5.level===`error`?`red`:`white`,logPrefix=log$5.level===`error`?`⚙ [Agent Error]`:`⚙ [Agent Log]`;console.log(`${source_default[logColor](logPrefix)} ${source_default.gray(log$5.message)}`)},onDevhookRequest:request$2=>{console.log(source_default.blue(`↩ `)+source_default.gray(`method=${request$2.method} path=${request$2.path} status=${request$2.status}`))},onError:error$3=>{console.log(error$3)},onModeChange:mode=>{switch(mode){case`edit`:console.log(source_default.hex(colors.edit).bold(`✎ entering edit mode`)+`
|
|
1915
1921
|
`);break;case`run`:console.log(source_default.hex(colors.run).bold(`⟳ entering run mode`)+`
|
|
1916
1922
|
`);break}}}),{exit}=use_app_default(),[exitArmed,setExitArmed]=useState(!1),exitTimerRef=useRef(void 0);useEffect(()=>()=>{exitTimerRef.current&&clearTimeout(exitTimerRef.current)},[]),use_input_default(async(input,key$1)=>{if(key$1.ctrl&&input.toLowerCase()===`c`){if(exitArmed){exit();return}setExitArmed(!0),exitTimerRef.current&&clearTimeout(exitTimerRef.current),exitTimerRef.current=setTimeout(()=>setExitArmed(!1),2e3)}key$1.ctrl&&input===`r`&&(await dev$1.chat.resetChat(),resetTerminal()),key$1.ctrl&&input===`t`&&dev$1.toggleMode(),key$1.ctrl&&input===`n`&&dev$1.newChat(),key$1.escape&&dev$1.chat.stopStreaming()});let keymaps=useMemo(()=>({"⏎":`send`,"Ctrl+T":`toggle mode`,"Ctrl+N":`new chat`,"Ctrl+C":`quit`}),[]),keybindSuggestion=useMemo(()=>{if(exitArmed)return`Ctrl+C again to quit`;if(dev$1.chat.queuedMessages.length>0)return`${dev$1.chat.queuedMessages.length} message(s) queued - Press [Escape] to stop and process queue`;if(dev$1.chat.status===`streaming`)return`Press [Escape] to stop the agent!`},[exitArmed,dev$1.chat.status,dev$1.chat.queuedMessages.length]),{write:write$1}=use_stdout_default(),[epoch,setEpoch]=useState(0),resetTerminal=useCallback(()=>{write$1(`\x1Bc`),write$1(`\x1B[?25l`),setEpoch(prev=>prev+1)},[write$1]),initialSizeRef=useRef(size);useEffect(()=>{(initialSizeRef.current.columns!==size.columns||initialSizeRef.current.rows!==size.rows)&&(resetTerminal(),initialSizeRef.current=size)},[size.columns,size.rows,resetTerminal]),useEffect(()=>{resetTerminal()},[dev$1.chat.id,resetTerminal]);let optionCommand=useMemo(()=>{if(dev$1.options.schema)return{name:`option`,description:`Adjust your agent's options.`,action:()=>{},completion:async()=>Object.keys(dev$1.options.schema),subcommands:Object.entries(dev$1.options.schema).map(([key$1,value])=>({name:key$1,description:value.label??``,action:args=>{dev$1.options.setOption(key$1,args)},completion:async partialArg=>value.values.map(v$1=>v$1.id)}))}},[dev$1.options]),lastMessageWithApproval=useMemo(()=>{if(dev$1.chat.messages.length===0)return null;let lastMsg=dev$1.chat.messages[dev$1.chat.messages.length-1];return lastMsg.parts.some(part=>isToolOrDynamicToolUIPart(part)&&isToolApprovalOutput(part.output))?lastMsg:null},[dev$1.chat.messages]),staticMessages=useMemo(()=>lastMessageWithApproval?dev$1.chat.messages.slice(0,-1):dev$1.chat.messages,[dev$1.chat.messages,lastMessageWithApproval]);return dev$1.chat.loading?null:jsxs(Fragment,{children:[dev$1.mode===`edit`&&dev$1.editModeMissingApiKey?jsx(MissingApiKeyMessage,{}):null,jsxs(Box_default,{flexDirection:`column`,children:[jsx(Static,{items:[{},...staticMessages],children:(message,index)=>index===0?jsxs(Box_default,{flexDirection:`column`,marginBottom:1,children:[jsxs(Box_default,{children:[jsx(Text,{bold:!0,children:`blink■`}),jsx(Text,{color:`gray`,children:` agent development`})]}),isFirstRun&&jsx(OnboardingMessage,{}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsxs(Text,{color:`gray`,children:[`Edit `,dev$1.build.entrypoint,` to hot-reload your agent.`]}),jsxs(Text,{color:`gray`,children:[`Run `,jsx(Text,{color:`blue`,children:`blink deploy`}),` to use your agent in the cloud.`]}),jsxs(Text,{color:`gray`,children:[`Type`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/help`}),` `,`to see the full guide on how to build, test, and deploy your agent.`]})]})]},`banner`):jsx(Message,{message,previousMessage:index>1?staticMessages.at(index-2):void 0,nextMessage:index<staticMessages.length-2?staticMessages.at(index+2):void 0,maxWidth:size.columns-2},message.id)},`messages-${dev$1.chat.id}-${epoch}`),lastMessageWithApproval?jsx(Message,{message:lastMessageWithApproval,previousMessage:staticMessages.length>0?staticMessages[staticMessages.length-1]:void 0,nextMessage:void 0,maxWidth:size.columns-2},lastMessageWithApproval.id):null,dev$1.chat.streamingMessage?jsx(Message,{message:dev$1.chat.streamingMessage,nextMessage:void 0,previousMessage:dev$1.chat.messages.length>0?dev$1.chat.messages.at(dev$1.chat.messages.length-1):void 0,streaming:!0,maxWidth:size.columns-2},dev$1.chat.streamingMessage.id):null,dev$1.showWaitingPlaceholder?jsx(AssistantWaitingPlaceholder,{maxWidth:size.columns-2}):null]}),jsx(Box_default,{flexDirection:`column`,marginTop:1,children:dev$1.approval?jsx(ApprovalInput,{onConfirm:async(approved,autoApprove)=>{approved?await dev$1.approval?.approve(autoApprove):await dev$1.approval?.reject()},onCancel:()=>{},autoApproveEnabled:dev$1.approval.autoApproveEnabled}):jsx(text_input_default,{borderColor:colors[dev$1.mode],slashCommands:[{name:`help`,description:`Show help information`,action:()=>{getHelpText(dev$1.build.entrypoint).forEach(line$1=>console.log(line$1))}},{name:`reset`,altNames:[`clear`],description:`Reset the chat`,action:async()=>{await dev$1.chat.resetChat(),resetTerminal()}},{name:`switch`,description:`Switch to a different chat`,action:args=>{dev$1.switchChat(args)},completion:async partialArg=>dev$1.chats.filter(id=>id.startsWith(partialArg))},{name:`new`,description:`Create a new chat`,action:args=>{dev$1.switchChat(args)}},{name:`edit`,description:`Switch to Edit mode (AI helps build your agent)`,action:()=>{dev$1.chat.stopStreaming(),dev$1.setMode(`edit`)}},{name:`run`,description:`Switch to Run mode (use your agent)`,action:()=>{dev$1.chat.stopStreaming(),dev$1.setMode(`run`)}},...optionCommand?[optionCommand]:[]],onSubmit:value=>(dev$1.chat.sendMessage({id:crypto.randomUUID(),role:`user`,parts:[{type:`text`,text:value}],created_at:new Date().toISOString(),metadata:void 0,mode:dev$1.mode}),!0),onLayoutChange:()=>{}})}),jsxs(Box_default,{children:[jsxs(Box_default,{marginLeft:2,gap:3,children:[jsxs(Text,{color:`gray`,children:[`mode: `,jsx(Text,{color:colors[dev$1.mode],children:dev$1.mode})]}),jsxs(Text,{color:`gray`,children:[`chat: `,jsx(Text,{children:dev$1.chat.id})]})]}),jsx(Spacer,{}),keybindSuggestion?jsx(Text,{color:`yellow`,children:keybindSuggestion+` `}):jsx(Box_default,{gap:3,marginRight:2,children:Object.entries(keymaps).map(([key$1,value])=>jsx(Text,{children:source_default.gray.dim(key$1+` `+value)},key$1))})]}),dev$1.tokenUsage||dev$1.options.schema&&dev$1.options.selected?jsxs(Box_default,{marginLeft:2,gap:3,children:[dev$1.tokenUsage?jsxs(Box_default,{gap:1,children:[jsx(Text,{color:`gray`,children:`tokens:`}),jsx(Text,{color:`cyan`,children:formatTokenCount(dev$1.tokenUsage.inputTokens)}),jsx(Text,{color:`gray`,children:`→`}),jsx(Text,{color:`green`,children:formatTokenCount(dev$1.tokenUsage.outputTokens)}),dev$1.tokenUsage.cachedInputTokens!==void 0&&dev$1.tokenUsage.cachedInputTokens>0?jsxs(Text,{children:[jsx(Text,{color:`gray`,children:`(`}),jsx(Text,{color:`blue`,children:formatTokenCount(dev$1.tokenUsage.cachedInputTokens)}),jsx(Text,{color:`gray`,children:` cached)`})]}):null]}):null,dev$1.options.schema&&dev$1.options.selected?jsxs(Box_default,{gap:1,children:[jsx(Text,{color:`gray`,children:`options:`}),Object.entries(dev$1.options.selected).map(([key$1,value])=>dev$1.options.schema[key$1]?jsxs(Box_default,{gap:0,children:[jsxs(Text,{color:`gray`,children:[key$1,`=`]}),jsx(Text,{color:`gray`,children:value})]},key$1):null)]}):null]}):null]})},ApprovalInput=({onConfirm,onCancel,autoApproveEnabled})=>{let[selected,setSelected]=useState(`yes`),[processing$2,setProcessing]=useState(!1),processingRef=useRef(!1),handleConfirm=React.useCallback(async(approved,autoApprove)=>{if(!processingRef.current){processingRef.current=!0,setProcessing(!0);try{await onConfirm(approved,autoApprove)}catch(err){console.error(`Error processing approval:`,err)}finally{processingRef.current=!1,setProcessing(!1)}}},[onConfirm]),handleCancel=React.useCallback(()=>{processingRef.current||onCancel()},[onCancel]);return use_input_default((input,key$1)=>{let lower=input.toLowerCase();if(key$1.escape){handleCancel();return}if(lower===`y`){handleConfirm(!0);return}if(lower===`a`){handleConfirm(!0,!0);return}if(lower===`n`){handleConfirm(!1);return}if(key$1.leftArrow){setSelected(prev=>prev===`yes`?`no`:prev===`no`?`auto`:`yes`);return}if(key$1.rightArrow||key$1.tab){setSelected(prev=>prev===`yes`?`auto`:prev===`auto`?`no`:`yes`);return}key$1.return&&(selected===`yes`?handleConfirm(!0):selected===`auto`?handleConfirm(!0,!0):handleConfirm(!1))}),jsxs(Box_default,{gap:2,flexDirection:`row`,children:[jsx(Text,{children:processing$2?`Processing...`:autoApproveEnabled?`(auto-approved)`:`Approve?`}),!processing$2&&!autoApproveEnabled&&jsxs(Fragment,{children:[jsx(Box_default,{children:jsxs(Text,{children:[`[`,jsx(Text,{color:selected===`yes`?`green`:`gray`,bold:selected===`yes`,children:`Yes`}),`/`,jsx(Text,{color:selected===`auto`?`cyan`:`gray`,bold:selected===`auto`,children:`Auto`}),`/`,jsx(Text,{color:selected===`no`?`red`:`gray`,bold:selected===`no`,children:`No`}),`]`]})}),jsx(Text,{color:`gray`,children:`(y/a/n, ←/→ then ⏎)`})]})]})},Message=React.memo(({message,previousMessage,maxWidth,streaming})=>{let prefix,contentColor,marginTop=previousMessage?1:0;switch(message.role){case`system`:prefix=jsx(Text,{children:`t `}),contentColor=`gray`;break;case`user`:prefix=jsx(Text,{color:`magenta`,bold:!0,children:`▎`}),contentColor=`gray`;break;case`assistant`:let isEditMode=message.mode===`edit`;prefix=jsx(Text,{color:isEditMode?colors.edit:colors.run,children:`> `}),contentColor=`white`;break}let content=jsx(Box_default,{gap:1,flexDirection:`column`,width:maxWidth,children:message.parts.map((part,index)=>{if(part.type===`text`)return jsx(markdown_default,{id:message.id,maxWidth,streaming,children:part.text},index);if(part.type===`reasoning`)return jsxs(Text,{color:`gray`,children:[`Reasoning: `,part.text]},index);if(isToolOrDynamicToolUIPart(part))return jsx(ToolCall,{part,maxWidth,streaming},index)}).filter(Boolean)});return jsxs(Box_default,{marginTop,flexDirection:`row`,children:[jsx(Box_default,{children:jsx(Text,{color:contentColor,children:prefix})}),content]})},(prev,next)=>prev.maxWidth===next.maxWidth?!!(prev.nextMessage&&next.nextMessage&&prev.nextMessage.id===next.nextMessage.id):!1),AssistantWaitingPlaceholder=({maxWidth})=>jsxs(Box_default,{marginTop:1,flexDirection:`row`,children:[jsx(Box_default,{children:jsx(Text,{color:`white`,children:null})}),jsx(Box_default,{width:maxWidth,children:jsxs(Text,{color:`gray`,children:[jsx(build_default,{}),` Waiting for response...`]})})]}),ToolCall=({part,maxWidth,streaming})=>{let name$2=getToolOrDynamicToolName(part),input=useMemo(()=>{let labels={};return typeof part.input!=`object`||part.input===null||Object.entries(part.input).forEach(([key$1,value])=>{labels[key$1]=JSON.stringify(value)}),labels},[part]),state=useMemo(()=>{switch(part.state){case`input-available`:case`input-streaming`:return streaming?`streaming`:`error`;case`output-available`:return isToolApprovalOutput(part.output)&&part.output.outcome===`pending`?`pending-approval`:`done`;case`output-error`:return`error`}},[part,streaming]),output=useMemo(()=>{if(isToolApprovalOutput(part.output))return{state:part.output.outcome};if(!part.output)return;if(typeof part.output==`string`)return part.output;let labels={};return Array.isArray(part.output)?part.output.forEach((item,index)=>{labels[`${index}`]=JSON.stringify(item)}):typeof part.output==`object`&&Object.entries(part.output).forEach(([key$1,value])=>{labels[key$1]=JSON.stringify(value)}),labels},[part,state]),error$3=useMemo(()=>{if(part.state===`output-error`)return part.errorText},[part]),icon=useMemo(()=>{switch(state){case`done`:case`error`:return`⚒`;case`pending-approval`:return`⧗`}return jsx(build_default,{type:`dots`})},[state]);return jsxs(Box_default,{flexDirection:`column`,children:[jsxs(Box_default,{gap:1,children:[jsx(Text,{color:state===`error`?`red`:`gray`,bold:!0,children:icon}),jsx(Text,{children:name$2})]}),jsxs(Box_default,{marginLeft:2,flexDirection:`column`,overflowX:`hidden`,width:maxWidth?maxWidth-4:void 0,gap:0,children:[jsx(Text,{color:`gray`,bold:!0,children:`Input:`}),Object.entries(input).map(([key$1,value])=>jsxs(Box_default,{marginLeft:2,children:[jsx(Text,{color:`gray`,children:key$1}),jsx(Text,{color:`blackBright`,children:`=`}),jsx(Box_default,{width:maxWidth?maxWidth-6-1-2-key$1.length:void 0,children:jsx(Text,{wrap:`truncate-middle`,children:value})})]},key$1)),output&&jsxs(Fragment,{children:[jsx(Text,{color:`gray`,bold:!0,children:`Output:`}),typeof output==`string`?jsx(Box_default,{marginLeft:2,children:jsx(Text,{children:output})}):isToolApprovalOutput(part.output)?jsx(Box_default,{marginLeft:2,children:jsx(Text,{color:part.output.outcome===`approved`?`green`:part.output.outcome===`rejected`?`red`:`yellow`,bold:!0,children:part.output.outcome===`approved`?`✓ Approved`:part.output.outcome===`rejected`?`✗ Rejected`:`⧗ Pending approval`})}):jsx(Box_default,{flexDirection:`column`,children:Object.entries(output).map(([key$1,value])=>jsxs(Box_default,{marginLeft:2,children:[jsx(Text,{color:`gray`,children:key$1}),jsx(Text,{color:`blackBright`,children:`=`}),jsx(Box_default,{width:maxWidth?maxWidth-6-1-key$1.length:void 0,children:jsx(Text,{wrap:`truncate-middle`,children:value})})]},key$1))})]}),error$3&&jsxs(Fragment,{children:[jsx(Text,{color:`gray`,bold:!0,children:`Error:`}),jsx(Text,{color:`red`,children:error$3})]})]})]})},OnboardingMessage=()=>jsxs(Box_default,{flexDirection:`column`,marginTop:1,marginBottom:1,borderStyle:`round`,borderColor:`gray`,paddingX:1,paddingY:0,children:[jsx(Box_default,{children:jsx(Text,{bold:!0,children:`Quick Start: Building Your Agent`})}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsx(Text,{children:`Blink has two modes:`}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,marginLeft:2,children:[jsxs(Text,{children:[jsx(Text,{bold:!0,color:colors.edit,children:`• Edit`}),jsx(Text,{children:` mode helps you build your agent`})]}),jsxs(Text,{children:[jsx(Text,{bold:!0,color:colors.run,children:`• Run`}),jsx(Text,{children:` mode lets you interact with it`})]})]}),jsx(Box_default,{marginTop:1,children:jsxs(Text,{children:[`Switch between them with`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`Ctrl+T`}),` `,`or`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/edit`}),` `,`and`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/run`}),`.`]})})]})]}),MissingApiKeyMessage=()=>jsxs(Box_default,{flexDirection:`column`,marginTop:1,marginBottom:1,borderStyle:`round`,borderColor:`yellow`,paddingX:1,paddingY:0,children:[jsx(Box_default,{children:jsx(Text,{bold:!0,color:`yellow`,children:`⚠ Edit Mode Requires API Key`})}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsxs(Text,{children:[`Add one of these to your `,jsx(Text,{bold:!0,children:`.env.local`}),` file:`]}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,marginLeft:2,children:[jsxs(Text,{children:[`ANTHROPIC_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]}),jsxs(Text,{children:[`OPENAI_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]}),jsxs(Text,{children:[`AI_GATEWAY_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]})]}),jsx(Box_default,{marginTop:1,children:jsx(Text,{children:`The file will auto-reload when you add a key.`})})]})]});function getHelpText(entrypoint){return[``,source_default.bold(`How to Build Your Agent`),``,`Blink has two modes that work together to help you build and test agents:`,``,source_default.hex(colors.edit).bold(` Edit Mode`)+` - AI helps you build your agent`,` • Describe the agent you want to build`,` • The AI will modify your agent code based on your instructions`,` • Changes are written to ${relative$1(process.cwd(),entrypoint)} and auto-reload`,``,source_default.blue.bold(` Run Mode`)+` - Use your agent`,` • Chat with your agent to see how it behaves`,` • Discover what works and what needs improvement`,``,source_default.bold(`The Development Loop:`),` 1. Start in `+source_default.hex(colors.edit)(`Edit mode`)+` (Ctrl+T or /edit) and describe what your agent should do`,` Example: "Add a tool that can search the web"`,``,` 2. Switch to `+source_default.blue(`Run mode`)+` (Ctrl+T or /run) to use your agent`,` Try it out and see if it does what you expect`,``,` 3. Toggle back to `+source_default.hex(colors.edit)(`Edit mode`)+` to refine based on what you learned`,` The edit AI can see the entire chat history, including your conversations!`,` Example: "The search tool failed when I asked about X"`,``,` 4. Repeat until your agent works perfectly`,``,` 5. Deploy with `+source_default.bold(`blink deploy`)+` when ready`,``,source_default.dim(`Tip: Use /reset to start fresh, /new to create separate test chats`)]}function formatTokenCount(count$1){return count$1>=1e6?`${(count$1/1e6).toFixed(1)}M`:count$1>=1e3?`${(count$1/1e3).toFixed(1)}K`:count$1.toString()}async function dev(directory){if(!directory){let cwd$3=process.cwd();try{resolveConfig(cwd$3),directory=cwd$3}catch{let dotBlinkPath=await findNearestEntry(cwd$3,`.blink`);dotBlinkPath&&existsSync$1(join$1(dotBlinkPath,`build`))&&(dotBlinkPath=void 0),directory=dotBlinkPath||cwd$3}}await migrateDataToBlink(directory);let exitWithDump=error$3=>{writeFileSync$1(`error.dump`,inspect$1(error$3,{depth:null})),process.exit(1)};process.addListener(`uncaughtException`,error$3=>{exitWithDump(error$3)}),process.addListener(`unhandledRejection`,error$3=>{exitWithDump(error$3)});try{await startDev({directory})}catch(err){console.error(err),process.exit(1)}finally{process.exit(0)}}export{dev as default};
|