@bibobonking/opensol 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/README.md +2 -2
- package/desktop/src-tauri/Cargo.toml +1 -1
- package/dist/assets/index-CeN54A2N.css +1 -0
- package/dist/assets/index-fhIO9a7_.js +318 -0
- package/dist/index.html +4 -4
- package/index.html +2 -2
- package/package.json +1 -1
- package/server/README.md +2 -2
- package/server/daemon.mjs +74 -0
- package/server/lib/mcp-oauth.mjs +219 -0
- package/server/lib/mcp-oauth.test.mjs +175 -0
- package/server/lib/mcp.mjs +404 -37
- package/src/App.tsx +2 -0
- package/src/components/CommandPalette.tsx +14 -1
- package/src/components/Logo.tsx +1 -1
- package/src/components/McpPanel.tsx +687 -0
- package/src/components/ModelDeck.tsx +12 -3
- package/src/components/SettingsModal.tsx +43 -5
- package/src/components/Sidebar.tsx +2 -1
- package/src/components/Splash.tsx +1 -1
- package/src/data/providers.ts +1 -1
- package/src/lib/daemon.ts +10 -1
- package/src/lib/mcp-config.test.mjs +47 -0
- package/src/lib/mcp-config.ts +203 -0
- package/src/store/mcp.ts +28 -1
- package/src/store/settings.ts +1 -1
- package/src/store/ui.ts +4 -0
- package/src/types.ts +14 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/assets/index-DdI1_iPD.css +0 -1
- package/dist/assets/index-egG5Bgfo.js +0 -312
- package/src/components/McpTab.tsx +0 -337
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const u of o)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function a(o){const u={};return o.integrity&&(u.integrity=o.integrity),o.referrerPolicy&&(u.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?u.credentials="include":o.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(o){if(o.ep)return;o.ep=!0;const u=a(o);fetch(o.href,u)}})();function td(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Qp={exports:{}},lo={};var C0;function gS(){if(C0)return lo;C0=1;var e=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function a(r,o,u){var d=null;if(u!==void 0&&(d=""+u),o.key!==void 0&&(d=""+o.key),"key"in o){u={};for(var p in o)p!=="key"&&(u[p]=o[p])}else u=o;return o=u.ref,{$$typeof:e,type:r,key:d,ref:o!==void 0?o:null,props:u}}return lo.Fragment=i,lo.jsx=a,lo.jsxs=a,lo}var A0;function xS(){return A0||(A0=1,Qp.exports=gS()),Qp.exports}var c=xS(),Wp={exports:{}},Xe={};var O0;function bS(){if(O0)return Xe;O0=1;var e=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),d=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),v=Symbol.for("react.view_transition"),y=Symbol.iterator;function k(D){return D===null||typeof D!="object"?null:(D=y&&D[y]||D["@@iterator"],typeof D=="function"?D:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,T={};function A(D,ie,me){this.props=D,this.context=ie,this.refs=T,this.updater=me||N}A.prototype.isReactComponent={},A.prototype.setState=function(D,ie){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,ie,"setState")},A.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function S(){}S.prototype=A.prototype;function U(D,ie,me){this.props=D,this.context=ie,this.refs=T,this.updater=me||N}var B=U.prototype=new S;B.constructor=U,_(B,A.prototype),B.isPureReactComponent=!0;var M=Array.isArray;function C(){}var I={H:null,A:null,T:null,S:null},X=Object.prototype.hasOwnProperty;function z(D,ie,me){var ke=me.ref;return{$$typeof:e,type:D,key:ie,ref:ke!==void 0?ke:null,props:me}}function H(D,ie){return z(D.type,ie,D.props)}function J(D){return typeof D=="object"&&D!==null&&D.$$typeof===e}function de(D){var ie={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function(me){return ie[me]})}var ue=/\/+/g;function te(D,ie){return typeof D=="object"&&D!==null&&D.key!=null?de(""+D.key):ie.toString(36)}function G(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(C,C):(D.status="pending",D.then(function(ie){D.status==="pending"&&(D.status="fulfilled",D.value=ie)},function(ie){D.status==="pending"&&(D.status="rejected",D.reason=ie)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function ae(D,ie,me,ke,Re){var He=typeof D;(He==="undefined"||He==="boolean")&&(D=null);var $e=!1;if(D===null)$e=!0;else switch(He){case"bigint":case"string":case"number":$e=!0;break;case"object":switch(D.$$typeof){case e:case i:$e=!0;break;case x:return $e=D._init,ae($e(D._payload),ie,me,ke,Re)}}if($e)return Re=Re(D),$e=ke===""?"."+te(D,0):ke,M(Re)?(me="",$e!=null&&(me=$e.replace(ue,"$&/")+"/"),ae(Re,ie,me,"",function(De){return De})):Re!=null&&(J(Re)&&(Re=H(Re,me+(Re.key==null||D&&D.key===Re.key?"":(""+Re.key).replace(ue,"$&/")+"/")+$e)),ie.push(Re)),1;$e=0;var R=ke===""?".":ke+":";if(M(D))for(var fe=0;fe<D.length;fe++)ke=D[fe],He=R+te(ke,fe),$e+=ae(ke,ie,me,He,Re);else if(fe=k(D),typeof fe=="function")for(D=fe.call(D),fe=0;!(ke=D.next()).done;)ke=ke.value,He=R+te(ke,fe++),$e+=ae(ke,ie,me,He,Re);else if(He==="object"){if(typeof D.then=="function")return ae(G(D),ie,me,ke,Re);throw ie=String(D),Error("Objects are not valid as a React child (found: "+(ie==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":ie)+"). If you meant to render a collection of children, use an array instead.")}return $e}function P(D,ie,me){if(D==null)return D;var ke=[],Re=0;return ae(D,ke,"","",function(He){return ie.call(me,He,Re++)}),ke}function re(D){if(D._status===-1){var ie=D._result,me=ie();me.then(function(ke){(D._status===0||D._status===-1)&&(D._status=1,D._result=ke,me.status===void 0&&(me.status="fulfilled",me.value=ke))},function(ke){(D._status===0||D._status===-1)&&(D._status=2,D._result=ke,me.status===void 0&&(me.status="rejected",me.reason=ke))}),D._status===-1&&(D._status=0,D._result=me)}if(D._status===1)return D._result.default;throw D._result}var j=typeof reportError=="function"?reportError:function(D){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var ie=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof D=="object"&&D!==null&&typeof D.message=="string"?String(D.message):String(D),error:D});if(!window.dispatchEvent(ie))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",D);return}console.error(D)};function Le(D){var ie=I.T,me={};me.types=ie!==null?ie.types:null,I.T=me;try{var ke=D(),Re=I.S;Re!==null&&Re(me,ke),typeof ke=="object"&&ke!==null&&typeof ke.then=="function"&&ke.then(C,j)}catch(He){j(He)}finally{ie!==null&&me.types!==null&&(ie.types=me.types),I.T=ie}}function pe(D){var ie=I.T;if(ie!==null){var me=ie.types;me===null?ie.types=[D]:me.indexOf(D)===-1&&me.push(D)}else Le(pe.bind(null,D))}var O={map:P,forEach:function(D,ie,me){P(D,function(){ie.apply(this,arguments)},me)},count:function(D){var ie=0;return P(D,function(){ie++}),ie},toArray:function(D){return P(D,function(ie){return ie})||[]},only:function(D){if(!J(D))throw Error("React.Children.only expected to receive a single React element child.");return D}};return Xe.Activity=b,Xe.Children=O,Xe.Component=A,Xe.Fragment=a,Xe.Profiler=o,Xe.PureComponent=U,Xe.StrictMode=r,Xe.Suspense=g,Xe.ViewTransition=v,Xe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=I,Xe.__COMPILER_RUNTIME={__proto__:null,c:function(D){return I.H.useMemoCache(D)}},Xe.addTransitionType=pe,Xe.cache=function(D){return function(){return D.apply(null,arguments)}},Xe.cacheSignal=function(){return null},Xe.cloneElement=function(D,ie,me){if(D==null)throw Error("The argument must be a React element, but you passed "+D+".");var ke=_({},D.props),Re=D.key;if(ie!=null)for(He in ie.key!==void 0&&(Re=""+ie.key),ie)!X.call(ie,He)||He==="key"||He==="__self"||He==="__source"||He==="ref"&&ie.ref===void 0||(ke[He]=ie[He]);var He=arguments.length-2;if(He===1)ke.children=me;else if(1<He){for(var $e=Array(He),R=0;R<He;R++)$e[R]=arguments[R+2];ke.children=$e}return z(D.type,Re,ke)},Xe.createContext=function(D){return D={$$typeof:d,_currentValue:D,_currentValue2:D,_threadCount:0,Provider:null,Consumer:null},D.Provider=D,D.Consumer={$$typeof:u,_context:D},D},Xe.createElement=function(D,ie,me){var ke,Re={},He=null;if(ie!=null)for(ke in ie.key!==void 0&&(He=""+ie.key),ie)X.call(ie,ke)&&ke!=="key"&&ke!=="__self"&&ke!=="__source"&&(Re[ke]=ie[ke]);var $e=arguments.length-2;if($e===1)Re.children=me;else if(1<$e){for(var R=Array($e),fe=0;fe<$e;fe++)R[fe]=arguments[fe+2];Re.children=R}if(D&&D.defaultProps)for(ke in $e=D.defaultProps,$e)Re[ke]===void 0&&(Re[ke]=$e[ke]);return z(D,He,Re)},Xe.createRef=function(){return{current:null}},Xe.forwardRef=function(D){return{$$typeof:p,render:D}},Xe.isValidElement=J,Xe.lazy=function(D){return{$$typeof:x,_payload:{_status:-1,_result:D},_init:re}},Xe.memo=function(D,ie){return{$$typeof:h,type:D,compare:ie===void 0?null:ie}},Xe.startTransition=Le,Xe.unstable_useCacheRefresh=function(){return I.H.useCacheRefresh()},Xe.use=function(D){return I.H.use(D)},Xe.useActionState=function(D,ie,me){return I.H.useActionState(D,ie,me)},Xe.useCallback=function(D,ie){return I.H.useCallback(D,ie)},Xe.useContext=function(D){return I.H.useContext(D)},Xe.useDebugValue=function(){},Xe.useDeferredValue=function(D,ie){return I.H.useDeferredValue(D,ie)},Xe.useEffect=function(D,ie){return I.H.useEffect(D,ie)},Xe.useEffectEvent=function(D){return I.H.useEffectEvent(D)},Xe.useId=function(){return I.H.useId()},Xe.useImperativeHandle=function(D,ie,me){return I.H.useImperativeHandle(D,ie,me)},Xe.useInsertionEffect=function(D,ie){return I.H.useInsertionEffect(D,ie)},Xe.useLayoutEffect=function(D,ie){return I.H.useLayoutEffect(D,ie)},Xe.useMemo=function(D,ie){return I.H.useMemo(D,ie)},Xe.useOptimistic=function(D,ie){return I.H.useOptimistic(D,ie)},Xe.useReducer=function(D,ie,me){return I.H.useReducer(D,ie,me)},Xe.useRef=function(D){return I.H.useRef(D)},Xe.useState=function(D){return I.H.useState(D)},Xe.useSyncExternalStore=function(D,ie,me){return I.H.useSyncExternalStore(D,ie,me)},Xe.useTransition=function(){return I.H.useTransition()},Xe.version="19.3.1",Xe}var j0;function Mh(){return j0||(j0=1,Wp.exports=bS()),Wp.exports}var F=Mh();const Jp=td(F);var em={exports:{}},oo={},tm={exports:{}},nm={};var M0;function yS(){return M0||(M0=1,(function(e){function i(G,ae){var P=G.length;G.push(ae);e:for(;0<P;){var re=P-1>>>1,j=G[re];if(0<o(j,ae))G[re]=ae,G[P]=j,P=re;else break e}}function a(G){return G.length===0?null:G[0]}function r(G){if(G.length===0)return null;var ae=G[0],P=G.pop();if(P!==ae){G[0]=P;e:for(var re=0,j=G.length,Le=j>>>1;re<Le;){var pe=2*(re+1)-1,O=G[pe],D=pe+1,ie=G[D];if(0>o(O,P))D<j&&0>o(ie,O)?(G[re]=ie,G[D]=P,re=D):(G[re]=O,G[pe]=P,re=pe);else if(D<j&&0>o(ie,P))G[re]=ie,G[D]=P,re=D;else break e}}return ae}function o(G,ae){var P=G.sortIndex-ae.sortIndex;return P!==0?P:G.id-ae.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var d=Date,p=d.now();e.unstable_now=function(){return d.now()-p}}var g=[],h=[],x=1,b=null,v=3,y=!1,k=!1,N=!1,_=!1,T=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function U(G){for(var ae=a(h);ae!==null;){if(ae.callback===null)r(h);else if(ae.startTime<=G)r(h),ae.sortIndex=ae.expirationTime,i(g,ae);else break;ae=a(h)}}function B(G){if(N=!1,U(G),!k)if(a(g)!==null)k=!0,M||(M=!0,J());else{var ae=a(h);ae!==null&&te(B,ae.startTime-G)}}var M=!1,C=-1,I=5,X=-1;function z(){return _?!0:!(e.unstable_now()-X<I)}function H(){if(_=!1,M){var G=e.unstable_now();X=G;var ae=!0;try{e:{k=!1,N&&(N=!1,A(C),C=-1),y=!0;var P=v;try{t:{for(U(G),b=a(g);b!==null&&!(b.expirationTime>G&&z());){var re=b.callback;if(typeof re=="function"){b.callback=null,v=b.priorityLevel;var j=re(b.expirationTime<=G);if(G=e.unstable_now(),typeof j=="function"){b.callback=j,U(G),ae=!0;break t}b===a(g)&&r(g),U(G)}else r(g);b=a(g)}if(b!==null)ae=!0;else{var Le=a(h);Le!==null&&te(B,Le.startTime-G),ae=!1}}break e}finally{b=null,v=P,y=!1}ae=void 0}}finally{ae?J():M=!1}}}var J;if(typeof S=="function")J=function(){S(H)};else if(typeof MessageChannel<"u"){var de=new MessageChannel,ue=de.port2;de.port1.onmessage=H,J=function(){ue.postMessage(null)}}else J=function(){T(H,0)};function te(G,ae){C=T(function(){G(e.unstable_now())},ae)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(G){G.callback=null},e.unstable_forceFrameRate=function(G){0>G||125<G?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):I=0<G?Math.floor(1e3/G):5},e.unstable_getCurrentPriorityLevel=function(){return v},e.unstable_next=function(G){switch(v){case 1:case 2:case 3:var ae=3;break;default:ae=v}var P=v;v=ae;try{return G()}finally{v=P}},e.unstable_requestPaint=function(){_=!0},e.unstable_runWithPriority=function(G,ae){switch(G){case 1:case 2:case 3:case 4:case 5:break;default:G=3}var P=v;v=G;try{return ae()}finally{v=P}},e.unstable_scheduleCallback=function(G,ae,P){var re=e.unstable_now();switch(typeof P=="object"&&P!==null?(P=P.delay,P=typeof P=="number"&&0<P?re+P:re):P=re,G){case 1:var j=-1;break;case 2:j=250;break;case 5:j=1073741823;break;case 4:j=1e4;break;default:j=5e3}return j=P+j,G={id:x++,callback:ae,priorityLevel:G,startTime:P,expirationTime:j,sortIndex:-1},P>re?(G.sortIndex=P,i(h,G),a(g)===null&&G===a(h)&&(N?(A(C),C=-1):N=!0,te(B,P-re))):(G.sortIndex=j,i(g,G),k||y||(k=!0,M||(M=!0,J()))),G},e.unstable_shouldYield=z,e.unstable_wrapCallback=function(G){var ae=v;return function(){var P=v;v=ae;try{return G.apply(this,arguments)}finally{v=P}}}})(nm)),nm}var R0;function vS(){return R0||(R0=1,tm.exports=yS()),tm.exports}var im={exports:{}},Nn={};var D0;function wS(){if(D0)return Nn;D0=1;var e=Mh();function i(x){var b="https://react.dev/errors/"+x;if(1<arguments.length){b+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)b+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+x+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(){}var r={d:{f:a,r:function(){throw Error(i(522))},D:a,C:a,L:a,m:a,X:a,S:a,M:a},p:0,findDOMNode:null},o=Symbol.for("react.portal"),u=Symbol.for("react.recoverable"),d=Symbol.for("react.optimistic_key");function p(x,b,v){var y=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:y==null?null:y===d?d:""+y,children:x,containerInfo:b,implementation:v}}var g=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(x,b){if(x==="font")return"";if(typeof b=="string")return b==="use-credentials"?b:""}return Nn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Nn.browser=function(x){return{$$typeof:u,_reason:x}},Nn.createPortal=function(x,b){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!b||b.nodeType!==1&&b.nodeType!==9&&b.nodeType!==11)throw Error(i(299));return p(x,b,null,v)},Nn.flushSync=function(x){var b=g.T,v=r.p;try{if(g.T=null,r.p=2,x)return x()}finally{g.T=b,r.p=v,r.d.f()}},Nn.preconnect=function(x,b){typeof x=="string"&&(b?(b=b.crossOrigin,b=typeof b=="string"?b==="use-credentials"?b:"":void 0):b=null,r.d.C(x,b))},Nn.prefetchDNS=function(x){typeof x=="string"&&r.d.D(x)},Nn.preinit=function(x,b){if(typeof x=="string"&&b&&typeof b.as=="string"){var v=b.as,y=h(v,b.crossOrigin),k=typeof b.integrity=="string"?b.integrity:void 0,N=typeof b.fetchPriority=="string"?b.fetchPriority:void 0;v==="style"?r.d.S(x,typeof b.precedence=="string"?b.precedence:void 0,{crossOrigin:y,integrity:k,fetchPriority:N}):v==="script"&&r.d.X(x,{crossOrigin:y,integrity:k,fetchPriority:N,nonce:typeof b.nonce=="string"?b.nonce:void 0})}},Nn.preinitModule=function(x,b){if(typeof x=="string")if(typeof b=="object"&&b!==null){if(b.as==null||b.as==="script"){var v=h(b.as,b.crossOrigin);r.d.M(x,{crossOrigin:v,integrity:typeof b.integrity=="string"?b.integrity:void 0,nonce:typeof b.nonce=="string"?b.nonce:void 0,fetchPriority:typeof b.fetchPriority=="string"?b.fetchPriority:void 0})}}else b==null&&r.d.M(x)},Nn.preload=function(x,b){if(typeof x=="string"&&typeof b=="object"&&b!==null&&typeof b.as=="string"){var v=b.as,y=h(v,b.crossOrigin);r.d.L(x,v,{crossOrigin:y,integrity:typeof b.integrity=="string"?b.integrity:void 0,nonce:typeof b.nonce=="string"?b.nonce:void 0,type:typeof b.type=="string"?b.type:void 0,fetchPriority:typeof b.fetchPriority=="string"?b.fetchPriority:void 0,referrerPolicy:typeof b.referrerPolicy=="string"?b.referrerPolicy:void 0,imageSrcSet:typeof b.imageSrcSet=="string"?b.imageSrcSet:void 0,imageSizes:typeof b.imageSizes=="string"?b.imageSizes:void 0,media:typeof b.media=="string"?b.media:void 0})}},Nn.preloadModule=function(x,b){if(typeof x=="string")if(b){var v=h(b.as,b.crossOrigin);r.d.m(x,{as:typeof b.as=="string"&&b.as!=="script"?b.as:void 0,crossOrigin:v,integrity:typeof b.integrity=="string"?b.integrity:void 0,nonce:typeof b.nonce=="string"?b.nonce:void 0,fetchPriority:typeof b.fetchPriority=="string"?b.fetchPriority:void 0})}else r.d.m(x)},Nn.requestFormReset=function(x){r.d.r(x)},Nn.unstable_batchedUpdates=function(x,b){return x(b)},Nn.useFormState=function(x,b,v){return g.H.useFormState(x,b,v)},Nn.useFormStatus=function(){return g.H.useHostTransitionStatus()},Nn.version="19.3.1",Nn}var z0;function Sv(){if(z0)return im.exports;z0=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(i){console.error(i)}}return e(),im.exports=wS(),im.exports}var L0;function kS(){if(L0)return oo;L0=1;var e=vS(),i=Mh(),a=Sv();function r(t){var n="https://react.dev/errors/"+t;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)n+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+t+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function u(t){for(var n=t,s=n;s&&!s.alternate;)n=s,(n.flags&4098)!==0&&(t=n.return),s=n.return;for(;n.return;)n=n.return;return n.tag===3?t:null}function d(t){if(t.tag===13){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function p(t){if(t.tag===31){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function g(t){if(u(t)!==t)throw Error(r(188))}function h(t){var n=t.alternate;if(!n){if(n=u(t),n===null)throw Error(r(188));return n!==t?null:t}for(var s=t,l=n;;){var f=s.return;if(f===null)break;var m=f.alternate;if(m===null){if(l=f.return,l!==null){s=l;continue}break}if(f.child===m.child){for(m=f.child;m;){if(m===s)return g(f),t;if(m===l)return g(f),n;m=m.sibling}throw Error(r(188))}if(s.return!==l.return)s=f,l=m;else{for(var w=!1,E=f.child;E;){if(E===s){w=!0,s=f,l=m;break}if(E===l){w=!0,l=f,s=m;break}E=E.sibling}if(!w){for(E=m.child;E;){if(E===s){w=!0,s=m,l=f;break}if(E===l){w=!0,l=m,s=f;break}E=E.sibling}if(!w)throw Error(r(189))}}if(s.alternate!==l)throw Error(r(190))}if(s.tag!==3)throw Error(r(188));return s.stateNode.current===s?t:n}function x(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t;for(t=t.child;t!==null;){if(n=x(t),n!==null)return n;t=t.sibling}return null}function b(t,n,s,l,f,m){for(;t!==null;){if((t.tag===5||t.tag===27||t.tag===6)&&s(t,l,f,m)||(t.tag!==22||t.memoizedState===null)&&(n||t.tag!==5&&t.tag!==27)&&b(t.child,n,s,l,f,m))return!0;t=t.sibling}return!1}function v(t){for(t=t.return;t!==null;){if(t.tag===3||t.tag===5||t.tag===27)return t;t=t.return}return null}function y(t){var n=!1;for(t=t.return;t!==null&&(t.tag===4&&(n=!0),!(t.tag===3||t.tag===5||t.tag===27));)t=t.return;return n}function k(t){var n=[null,null],s=v(t);return s===null||N(n,t,s.child,{foundSelf:!1}),n}function N(t,n,s,l){for(;s!==null;){if(s===n)l.foundSelf=!0;else if(s.tag===5||s.tag===27||s.tag===6){if(l.foundSelf)return t[1]=s,!0;t[0]=s}else if((s.tag!==22||s.memoizedState===null)&&N(t,n,s.child,l))return!0;s=s.sibling}return!1}function _(t){switch(t.tag){case 5:case 27:case 6:return t.stateNode;case 3:return t.stateNode.containerInfo;default:throw Error(r(559))}}var T=null,A=null;function S(t,n,s){return t===s?!0:t===n?(T=t,!0):!1}function U(t,n,s){return t===s?(A=t,!1):t===n?(A!==null&&(T=t),!0):!1}function B(t){if(t===null)return null;do t=t===null?null:t.return;while(t&&t.tag!==5&&t.tag!==27&&t.tag!==3);return t||null}function M(t,n,s){for(var l=0,f=t;f;f=s(f))l++;f=0;for(var m=n;m;m=s(m))f++;for(;0<l-f;)t=s(t),l--;for(;0<f-l;)n=s(n),f--;for(;l--;){if(t===n||n!==null&&t===n.alternate)return t;t=s(t),n=s(n)}return null}var C=Object.assign,I=Symbol.for("react.element"),X=Symbol.for("react.transitional.element"),z=Symbol.for("react.portal"),H=Symbol.for("react.fragment"),J=Symbol.for("react.strict_mode"),de=Symbol.for("react.profiler"),ue=Symbol.for("react.consumer"),te=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),ae=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),Le=Symbol.for("react.activity"),pe=Symbol.for("react.legacy_hidden"),O=Symbol.for("react.memo_cache_sentinel"),D=Symbol.for("react.view_transition"),ie=Symbol.for("react.recoverable"),me=Symbol.iterator;function ke(t){return t===null||typeof t!="object"?null:(t=me&&t[me]||t["@@iterator"],typeof t=="function"?t:null)}var Re=Symbol.for("react.client.reference");function He(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Re?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case H:return"Fragment";case de:return"Profiler";case J:return"StrictMode";case ae:return"Suspense";case P:return"SuspenseList";case Le:return"Activity";case D:return"ViewTransition"}if(typeof t=="object")switch(t.$$typeof){case z:return"Portal";case te:return t.displayName||"Context";case ue:return(t._context.displayName||"Context")+".Consumer";case G:var n=t.render;return t=t.displayName,t||(t=n.displayName||n.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case re:return n=t.displayName||null,n!==null?n:He(t.type)||"Memo";case j:n=t._payload,t=t._init;try{return He(t(n))}catch{}}return null}var $e=Array.isArray,R=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,fe=a.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,De={pending:!1,data:null,method:null,action:null},Et=[],xt=-1;function Be(t){return{current:t}}function ht(t){0>xt||(t.current=Et[xt],Et[xt]=null,xt--)}function We(t,n){xt++,Et[xt]=t.current,t.current=n}var Kt=Be(null),Tn=Be(null),Rn=Be(null),ce=Be(null);function qe(t,n){switch(We(Rn,n),We(Tn,t),We(Kt,null),n.nodeType){case 9:case 11:t=(t=n.documentElement)&&(t=t.namespaceURI)?Iy(t):0;break;default:if(t=n.tagName,n=n.namespaceURI)n=Iy(n),t=Uy(n,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}ht(Kt),We(Kt,t)}function ft(){ht(Kt),ht(Tn),ht(Rn)}function mt(t){var n=t.memoizedState;n!==null&&(qs._currentValue=n.memoizedState,We(ce,t)),n=Kt.current;var s=Uy(n,t.type);n!==s&&(We(Tn,t),We(Kt,s))}function sn(t){Tn.current===t&&(ht(Kt),ht(Tn)),ce.current===t&&(ht(ce),qs._currentValue=De)}var ee,ye;function Ie(t){if(ee===void 0)try{throw Error()}catch(s){var n=s.stack.trim().match(/\n( *(at )?)/);ee=n&&n[1]||"",ye=-1<s.stack.indexOf(`
|
|
2
|
-
at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+ee+t+ye}var Ke=!1;function Vt(t,n){if(!t||Ke)return"";Ke=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(n){var le=function(){throw Error()};if(Object.defineProperty(le.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(le,[])}catch(we){var Y=we}Reflect.construct(t,[],le)}else{try{le.call()}catch(we){Y=we}le=!1;try{var Q=Object.getOwnPropertyDescriptor(t.prototype,"props");Object.defineProperty(t.prototype,"props",{configurable:!0,set:function(){throw Error()}}),le=!0,new t}finally{le&&(Q!==void 0?Object.defineProperty(t.prototype,"props",Q):delete t.prototype.props)}}}else{try{throw Error()}catch(we){Y=we}(le=t())&&typeof le.catch=="function"&&le.catch(function(){})}}catch(we){if(we&&Y&&typeof we.stack=="string")return[we.stack,Y.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var m=l.DetermineComponentFrameRoot(),w=m[0],E=m[1];if(w&&E){var L=w.split(`
|
|
4
|
-
`),V=E.split(`
|
|
5
|
-
`);for(f=l=0;l<L.length&&!L[l].includes("DetermineComponentFrameRoot");)l++;for(;f<V.length&&!V[f].includes("DetermineComponentFrameRoot");)f++;if(l===L.length||f===V.length)for(l=L.length-1,f=V.length-1;1<=l&&0<=f&&L[l]!==V[f];)f--;for(;1<=l&&0<=f;l--,f--)if(L[l]!==V[f]){if(l!==1||f!==1)do if(l--,f--,0>f||L[l]!==V[f]){var W=`
|
|
6
|
-
`+L[l].replace(" at new "," at ");return t.displayName&&W.includes("<anonymous>")&&(W=W.replace("<anonymous>",t.displayName)),W}while(1<=l&&0<=f);break}}}finally{Ke=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?Ie(s):""}function _t(t,n){switch(t.tag){case 26:case 27:case 5:return Ie(t.type);case 16:return Ie("Lazy");case 13:return t.child!==n&&n!==null?Ie("Suspense Fallback"):Ie("Suspense");case 19:return Ie("SuspenseList");case 0:case 15:return Vt(t.type,!1);case 11:return Vt(t.type.render,!1);case 1:return Vt(t.type,!0);case 31:return Ie("Activity");case 30:return Ie("ViewTransition");default:return""}}function ln(t){try{var n="",s=null;do n+=_t(t,s),s=t,t=t.return;while(t);return n}catch(l){return`
|
|
7
|
-
Error generating stack: `+l.message+`
|
|
8
|
-
`+l.stack}}var xn=Object.prototype.hasOwnProperty,wi=e.unstable_scheduleCallback,ki=e.unstable_cancelCallback,oa=e.unstable_shouldYield,La=e.unstable_requestPaint,Xt=e.unstable_now,dn=e.unstable_getCurrentPriorityLevel,Ei=e.unstable_ImmediatePriority,Dn=e.unstable_UserBlockingPriority,_i=e.unstable_NormalPriority,$=e.unstable_LowPriority,oe=e.unstable_IdlePriority,_e=e.log,Ve=e.unstable_setDisableYieldValue,Rt=null,ut=null;function Se(t){if(typeof _e=="function"&&Ve(t),ut&&typeof ut.setStrictMode=="function")try{ut.setStrictMode(Rt,t)}catch{}}var Ee=Math.clz32?Math.clz32:Ht,Ge=Math.log,Zt=Math.LN2;function Ht(t){return t>>>=0,t===0?32:31-(Ge(t)/Zt|0)|0}var Ui=256,Ia=262144,Ua=4194304;function ca(t){var n=t&42;if(n!==0)return n;switch(t&-t){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:return t&-t;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ba(t,n,s){var l=t.pendingLanes;if(l===0)return 0;var f=0,m=t.suspendedLanes,w=t.pingedLanes;t=t.warmLanes;var E=l&134217727;return E!==0?(l=E&~m,l!==0?f=ca(l):(w&=E,w!==0?f=ca(w):s||(s=E&~t,s!==0&&(f=ca(s))))):(E=l&~m,E!==0?f=ca(E):w!==0?f=ca(w):s||(s=l&~t,s!==0&&(f=ca(s)))),f===0?0:n!==0&&n!==f&&(n&m)===0&&(m=f&-f,s=n&-n,m>=s||m===32&&(s&4194048)!==0)?n:f}function _r(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function Po(t,n){(n&8)!==0&&(n|=n&32);var s=t.entangledLanes;if(s!==0)for(t=t.entanglements,s&=n;0<s;){var l=31-Ee(s),f=1<<l;n|=t[l],s&=~f}return n}function Td(t,n){switch(t){case 1:case 2:case 4:case 8:case 64:return n+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 n+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 hl(){var t=Ua;return Ua<<=1,(Ua&62914560)===0&&(Ua=4194304),t}function $a(t){for(var n=[],s=0;31>s;s++)n.push(t);return n}function Nr(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Cd(t,n,s,l,f,m){var w=t.pendingLanes;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=s,t.entangledLanes&=s,t.errorRecoveryDisabledLanes&=s,t.shellSuspendCounter=0;var E=t.entanglements,L=t.expirationTimes,V=t.hiddenUpdates;for(s=w&~s;0<s;){var W=31-Ee(s),le=1<<W;E[W]=0,L[W]=-1;var Y=V[W];if(Y!==null)for(V[W]=null,W=0;W<Y.length;W++){var Q=Y[W];Q!==null&&(Q.lane&=-536870913)}s&=~le}l!==0&&Fo(t,l,0),m!==0&&f===0&&t.tag!==0&&(t.suspendedLanes|=m&~(w&~n))}function Fo(t,n,s){t.pendingLanes|=n,t.suspendedLanes&=~n;var l=31-Ee(n);t.entangledLanes|=n,t.entanglements[l]=t.entanglements[l]|1073741824|s&261930}function Ni(t,n){var s=t.entangledLanes|=n;for(t=t.entanglements;s;){var l=31-Ee(s),f=1<<l;f&n|t[l]&n&&(t[l]|=n),s&=~f}}function gl(t,n){var s=n&-n;return s=(s&42)!==0?1:rs(s),(s&(t.suspendedLanes|n))!==0?0:s}function rs(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=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:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function xl(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function qo(){var t=fe.p;return t!==0?t:(t=window.event,t===void 0?32:w0(t.type))}function Go(t,n){var s=fe.p;try{return fe.p=t,n()}finally{fe.p=s}}var Hn=Math.random().toString(36).slice(2),on="__reactFiber$"+Hn,he="__reactProps$"+Hn,je="__reactContainer$"+Hn,rt="__reactEvents$"+Hn,At="__reactListeners$"+Hn,Gt="__reactHandles$"+Hn,Pn="__reactResources$"+Hn,Fn="__reactMarker$"+Hn,ua="__reactLoad$"+Hn;function fn(t){delete t[on],delete t[he],delete t[At],delete t[Gt]}function pn(t){var n;if(n=t[on])return n;for(var s=t.parentNode;s;){if(n=s[je]||s[on]){if(s=n.alternate,n.child!==null||s!==null&&s.child!==null)for(t=t0(t);t!==null;){if(s=t[on])return s;t=t0(t)}return n}t=s,s=t.parentNode}return null}function da(t){if(t=t[on]||t[je]){var n=t.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return t}return null}function Ha(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t.stateNode;throw Error(r(33))}function fa(t){var n=t[Pn];return n||(n=t[Pn]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function Qt(t){t[Fn]=!0}function Yo(t){t[ua]=void 0}var Ko=new Set,Vo={};function li(t,n){pa(t,n),pa(t+"Capture",n)}function pa(t,n){for(Vo[t]=n,t=0;t<n.length;t++)Ko.add(n[t])}var oi=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Xo={},ss={};function Ze(t){return xn.call(ss,t)?!0:xn.call(Xo,t)?!1:oi.test(t)?ss[t]=!0:(Xo[t]=!0,!1)}var dt=!1;function Wt(){var t=dt;return dt=!1,t}function bt(t,n,s){if(Ze(n))if(s===null)t.removeAttribute(n);else{switch(typeof s){case"undefined":case"function":case"symbol":t.removeAttribute(n);return;case"boolean":var l=n.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){t.removeAttribute(n);return}}t.setAttribute(n,s)}}function ma(t,n,s){if(s===null)t.removeAttribute(n);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttribute(n,s)}}function bn(t,n,s,l){if(l===null)t.removeAttribute(s);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttributeNS(n,s,l)}}function yn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function ls(t){var n=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Ne(t,n,s){var l=Object.getOwnPropertyDescriptor(t.constructor.prototype,n);if(!t.hasOwnProperty(n)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var f=l.get,m=l.set;return Object.defineProperty(t,n,{configurable:!0,get:function(){return f.call(this)},set:function(w){s=""+w,m.call(this,w)}}),Object.defineProperty(t,n,{enumerable:l.enumerable}),{getValue:function(){return s},setValue:function(w){s=""+w},stopTracking:function(){t._valueTracker=null,delete t[n]}}}}function Me(t){if(!t._valueTracker){var n=ls(t)?"checked":"value";t._valueTracker=Ne(t,n,""+t[n])}}function Je(t){if(!t)return!1;var n=t._valueTracker;if(!n)return!0;var s=n.getValue(),l="";return t&&(l=ls(t)?t.checked?"true":"false":t.value),t=l,t!==s?(n.setValue(t),!0):!1}var yt=/[\n"\\]/g;function Nt(t){return t.replace(yt,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Qn(t,n,s,l,f,m,w,E){t.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?t.type=w:t.removeAttribute("type"),n!=null?w==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+yn(n)):t.value!==""+yn(n)&&(t.value=""+yn(n)):w!=="submit"&&w!=="reset"||t.removeAttribute("value"),n!=null?w==="number"&&t.value==n?bl(t,yn(t.value)):bl(t,yn(n)):s!=null?bl(t,yn(s)):l!=null&&t.removeAttribute("value"),f==null&&m!=null&&(t.defaultChecked=!!m),f!=null&&(t.checked=f&&typeof f!="function"&&typeof f!="symbol"),E!=null&&typeof E!="function"&&typeof E!="symbol"&&typeof E!="boolean"?t.name=""+yn(E):t.removeAttribute("name")}function Zo(t,n,s,l,f,m,w,E){if(m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(t.type=m),n!=null||s!=null){if(!(m!=="submit"&&m!=="reset"||n!=null)){Me(t);return}s=s!=null?""+yn(s):"",n=n!=null?""+yn(n):s,E||n===t.value||(t.value=n),t.defaultValue=n}l=l??f,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=E?t.checked:!!l,t.defaultChecked=!!l,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(t.name=w),Me(t)}function bl(t,n){t.defaultValue!==""+n&&(t.defaultValue=""+n)}function os(t,n,s,l){if(t=t.options,n){n={};for(var f=0;f<s.length;f++)n["$"+s[f]]=!0;for(s=0;s<t.length;s++)f=n.hasOwnProperty("$"+t[s].value),t[s].selected!==f&&(t[s].selected=f),f&&l&&(t[s].defaultSelected=!0)}else{for(s=""+yn(s),n=null,f=0;f<t.length;f++){if(t[f].value===s){t[f].selected=!0,l&&(t[f].defaultSelected=!0);return}n!==null||t[f].disabled||(n=t[f])}n!==null&&(n.selected=!0)}}function Tg(t,n,s){if(n!=null&&(n=""+yn(n),n!==t.value&&(t.value=n),s==null)){t.defaultValue!==n&&(t.defaultValue=n);return}t.defaultValue=s!=null?""+yn(s):""}function Cg(t,n,s,l){if(n==null){if(l!=null){if(s!=null)throw Error(r(92));if($e(l)){if(1<l.length)throw Error(r(93));l=l[0]}s=l}s==null&&(s=""),n=s}s=yn(n),t.defaultValue=s,l=t.textContent,l===s&&l!==""&&l!==null&&(t.value=l),Me(t)}function cs(t,n){if(n){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=n;return}}t.textContent=n}var UE=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Ag(t,n,s){var l=n.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?l?t.setProperty(n,""):n==="float"?t.cssFloat="":t[n]="":l?t.setProperty(n,s):typeof s!="number"||s===0||UE.has(n)?n==="float"?t.cssFloat=s:t[n]=(""+s).trim():t[n]=s+"px"}function Og(t,n,s){if(n!=null&&typeof n!="object")throw Error(r(62));if(t=t.style,s!=null){for(var l in s)!s.hasOwnProperty(l)||n!=null&&n.hasOwnProperty(l)||(l.indexOf("--")===0?t.setProperty(l,""):l==="float"?t.cssFloat="":t[l]="",dt=!0);for(var f in n)l=n[f],n.hasOwnProperty(f)&&s[f]!==l&&(Ag(t,f,l),dt=!0)}else for(var m in n)n.hasOwnProperty(m)&&Ag(t,m,n[m])}function Ad(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var BE=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["maskType","mask-type"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),$E=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Qo(t){return $E.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Bi(){}var Od=null;function jd(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var us=null,ds=null;function jg(t){var n=da(t);if(n&&(t=n.stateNode)){var s=t[he]||null;e:switch(t=n.stateNode,n.type){case"input":if(Qn(t,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name),n=s.name,s.type==="radio"&&n!=null){for(s=t;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll('input[name="'+Nt(""+n)+'"][type="radio"]'),n=0;n<s.length;n++){var l=s[n];if(l!==t&&l.form===t.form){var f=l[he]||null;if(!f)throw Error(r(90));Qn(l,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(n=0;n<s.length;n++)l=s[n],l.form===t.form&&Je(l)}break e;case"textarea":Tg(t,s.value,s.defaultValue);break e;case"select":n=s.value,n!=null&&os(t,!!s.multiple,n,!1)}}}var Md=!1;function Mg(t,n,s){if(Md)return t(n,s);Md=!0;try{var l=t(n);return l}finally{if(Md=!1,(us!==null||ds!==null)&&(Qc(),us&&(n=us,t=ds,ds=us=null,jg(n),t)))for(n=0;n<t.length;n++)jg(t[n])}}function yl(t,n){var s=t.stateNode;if(s===null)return null;var l=s[he]||null;if(l===null)return null;s=l[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(t=t.type,l=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!l;break e;default:t=!1}if(t)return null;if(s&&typeof s!="function")throw Error(r(231,n,typeof s));return s}var ha=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Rd=!1;if(ha)try{var vl={};Object.defineProperty(vl,"passive",{get:function(){Rd=!0}}),window.addEventListener("test",vl,vl),window.removeEventListener("test",vl,vl)}catch{Rd=!1}var Pa=null,Dd=null,Wo=null;function Rg(){if(Wo)return Wo;var t,n=Dd,s=n.length,l,f="value"in Pa?Pa.value:Pa.textContent,m=f.length;for(t=0;t<s&&n[t]===f[t];t++);var w=s-t;for(l=1;l<=w&&n[s-l]===f[m-l];l++);return Wo=f.slice(t,1<l?1-l:void 0)}function Jo(t){var n=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&n===13&&(t=13)):t=n,t===10&&(t=13),32<=t||t===13?t:0}function ec(){return!0}function Dg(){return!1}function zn(t){function n(s,l,f,m,w){this._reactName=s,this._targetInst=f,this.type=l,this.nativeEvent=m,this.target=w,this.currentTarget=null;for(var E in t)t.hasOwnProperty(E)&&(s=t[E],this[E]=s?s(m):m[E]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?ec:Dg,this.isPropagationStopped=Dg,this}return C(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=ec)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=ec)},persist:function(){},isPersistent:ec}),n}var Fa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},tc=zn(Fa),wl=C({},Fa,{view:0,detail:0}),HE=zn(wl),zd,Ld,kl,nc=C({},wl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ud,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==kl&&(kl&&t.type==="mousemove"?(zd=t.screenX-kl.screenX,Ld=t.screenY-kl.screenY):Ld=zd=0,kl=t),zd)},movementY:function(t){return"movementY"in t?t.movementY:Ld}}),zg=zn(nc),PE=C({},nc,{dataTransfer:0}),FE=zn(PE),qE=C({},wl,{relatedTarget:0}),Id=zn(qE),GE=C({},Fa,{animationName:0,elapsedTime:0,pseudoElement:0}),YE=zn(GE),KE=C({},Fa,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),VE=zn(KE),XE=C({},Fa,{data:0}),Lg=zn(XE),ZE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},QE={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},WE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function JE(t){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(t):(t=WE[t])?!!n[t]:!1}function Ud(){return JE}var e_=C({},wl,{key:function(t){if(t.key){var n=ZE[t.key]||t.key;if(n!=="Unidentified")return n}return t.type==="keypress"?(t=Jo(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?QE[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ud,charCode:function(t){return t.type==="keypress"?Jo(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Jo(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),t_=zn(e_),n_=C({},nc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ig=zn(n_),i_=C({},Fa,{submitter:0}),a_=zn(i_),r_=C({},wl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ud}),s_=zn(r_),l_=C({},Fa,{propertyName:0,elapsedTime:0,pseudoElement:0}),o_=zn(l_),c_=C({},nc,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),u_=zn(c_),d_=C({},Fa,{newState:0,oldState:0,source:0}),f_=zn(d_),p_=[9,13,27,32],Bd=ha&&"CompositionEvent"in window,El=null;ha&&"documentMode"in document&&(El=document.documentMode);var m_=ha&&"TextEvent"in window&&!El,Ug=ha&&(!Bd||El&&8<El&&11>=El),Bg=" ",$g=!1;function Hg(t,n){switch(t){case"keyup":return p_.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Pg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var fs=!1;function h_(t,n){switch(t){case"compositionend":return Pg(n);case"keypress":return n.which!==32?null:($g=!0,Bg);case"textInput":return t=n.data,t===Bg&&$g?null:t;default:return null}}function g_(t,n){if(fs)return t==="compositionend"||!Bd&&Hg(t,n)?(t=Rg(),Wo=Dd=Pa=null,fs=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Ug&&n.locale!=="ko"?null:n.data;default:return null}}var x_={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Fg(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n==="input"?!!x_[t.type]:n==="textarea"}function qg(t,n,s,l){us?ds?ds.push(l):ds=[l]:us=l,n=iu(n,"onChange"),0<n.length&&(s=new tc("onChange","change",null,s,l),t.push({event:s,listeners:n}))}var _l=null,Nl=null;function b_(t){jy(t,0)}function ic(t){var n=Ha(t);if(Je(n))return t}function Gg(t,n){if(t==="change")return n}var Yg=!1;if(ha){var $d;if(ha){var Hd="oninput"in document;if(!Hd){var Kg=document.createElement("div");Kg.setAttribute("oninput","return;"),Hd=typeof Kg.oninput=="function"}$d=Hd}else $d=!1;Yg=$d&&(!document.documentMode||9<document.documentMode)}function Vg(){_l&&(_l.detachEvent("onpropertychange",Xg),Nl=_l=null)}function Xg(t){if(t.propertyName==="value"&&ic(Nl)){var n=[];qg(n,Nl,t,jd(t)),Mg(b_,n)}}function y_(t,n,s){t==="focusin"?(Vg(),_l=n,Nl=s,_l.attachEvent("onpropertychange",Xg)):t==="focusout"&&Vg()}function v_(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return ic(Nl)}function w_(t,n){if(t==="click")return ic(n)}function k_(t,n){if(t==="input"||t==="change")return ic(n)}function E_(t,n){return t===n&&(t!==0||1/t===1/n)||t!==t&&n!==n}var Wn=typeof Object.is=="function"?Object.is:E_;function Sl(t,n){if(Wn(t,n))return!0;if(typeof t!="object"||t===null||typeof n!="object"||n===null)return!1;var s=Object.keys(t),l=Object.keys(n);if(s.length!==l.length)return!1;for(l=0;l<s.length;l++){var f=s[l];if(!xn.call(n,f)||!Wn(t[f],n[f]))return!1}return!0}function Pd(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Zg(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Qg(t,n){var s=Zg(t);t=0;for(var l;s;){if(s.nodeType===3){if(l=t+s.textContent.length,t<=n&&l>=n)return{node:s,offset:n-t};t=l}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Zg(s)}}function Wg(t,n){return t&&n?t===n?!0:t&&t.nodeType===3?!1:n&&n.nodeType===3?Wg(t,n.parentNode):"contains"in t?t.contains(n):t.compareDocumentPosition?!!(t.compareDocumentPosition(n)&16):!1:!1}function Jg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var n=Pd(t.document);n instanceof t.HTMLIFrameElement;){try{var s=typeof n.contentWindow.location.href=="string"}catch{s=!1}if(s)t=n.contentWindow;else break;n=Pd(t.document)}return n}function Fd(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n&&(n==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||n==="textarea"||t.contentEditable==="true")}var __=ha&&"documentMode"in document&&11>=document.documentMode,ps=null,qd=null,Tl=null,Gd=!1;function ex(t,n,s){var l=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Gd||ps==null||ps!==Pd(l)||(l=ps,"selectionStart"in l&&Fd(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Tl&&Sl(Tl,l)||(Tl=l,l=iu(qd,"onSelect"),0<l.length&&(n=new tc("onSelect","select",null,n,s),t.push({event:n,listeners:l}),n.target=ps)))}function Sr(t,n){var s={};return s[t.toLowerCase()]=n.toLowerCase(),s["Webkit"+t]="webkit"+n,s["Moz"+t]="moz"+n,s}var ms={animationend:Sr("Animation","AnimationEnd"),animationiteration:Sr("Animation","AnimationIteration"),animationstart:Sr("Animation","AnimationStart"),transitionrun:Sr("Transition","TransitionRun"),transitionstart:Sr("Transition","TransitionStart"),transitioncancel:Sr("Transition","TransitionCancel"),transitionend:Sr("Transition","TransitionEnd")},Yd={},tx={};ha&&(tx=document.createElement("div").style,"AnimationEvent"in window||(delete ms.animationend.animation,delete ms.animationiteration.animation,delete ms.animationstart.animation),"TransitionEvent"in window||delete ms.transitionend.transition);function Tr(t){if(Yd[t])return Yd[t];if(!ms[t])return t;var n=ms[t],s;for(s in n)if(n.hasOwnProperty(s)&&s in tx)return Yd[t]=n[s];return t}var nx=Tr("animationend"),ix=Tr("animationiteration"),ax=Tr("animationstart"),N_=Tr("transitionrun"),S_=Tr("transitionstart"),T_=Tr("transitioncancel"),rx=Tr("transitionend"),sx=new Map,Kd="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Kd.push("scrollEnd");function Si(t,n){sx.set(t,n),li(n,[t])}var C_=0;function ga(t,n){if(t.name!=null&&t.name!=="auto")return t.name;if(n.autoName!==null)return n.autoName;t=Oi.identifierPrefix;var s=C_++;return t="_"+t+"t_"+s.toString(32)+"_",n.autoName=t}function lx(t){if(t==null||typeof t=="string")return t;var n=null,s=Ds;if(s!==null)for(var l=0;l<s.length;l++){var f=t[s[l]];if(f!=null){if(f==="none")return"none";n=n==null?f:n+(" "+f)}}return n??t.default}function xa(t,n){return t=lx(t),n=lx(n),n==null?t==="auto"?null:t:n==="auto"?null:n}var ac=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},ci=[],hs=0,Vd=0;function rc(){for(var t=hs,n=Vd=hs=0;n<t;){var s=ci[n];ci[n++]=null;var l=ci[n];ci[n++]=null;var f=ci[n];ci[n++]=null;var m=ci[n];if(ci[n++]=null,l!==null&&f!==null){var w=l.pending;w===null?f.next=f:(f.next=w.next,w.next=f),l.pending=f}m!==0&&ox(s,f,m)}}function sc(t,n,s,l){ci[hs++]=t,ci[hs++]=n,ci[hs++]=s,ci[hs++]=l,Vd|=l,t.lanes|=l,t=t.alternate,t!==null&&(t.lanes|=l)}function Xd(t,n,s,l){return sc(t,n,s,l),lc(t)}function Cr(t,n){return sc(t,null,null,n),lc(t)}function ox(t,n,s){t.lanes|=s;var l=t.alternate;l!==null&&(l.lanes|=s);for(var f=!1,m=t.return;m!==null;)m.childLanes|=s,l=m.alternate,l!==null&&(l.childLanes|=s),m.tag===22&&(t=m.stateNode,t===null||t._visibility&1||(f=!0)),t=m,m=m.return;return t.tag===3?(m=t.stateNode,f&&n!==null&&(f=31-Ee(s),t=m.hiddenUpdates,l=t[f],l===null?t[f]=[n]:l.push(n),n.lane=s|536870912),m):null}function lc(t){if(50<Xl)throw Xl=0,Zc=null,Error(r(185));for(var n=t.return;n!==null;)t=n,n=t.return;return t.tag===3?t.stateNode:null}var gs={};function A_(t,n,s,l){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qn(t,n,s,l){return new A_(t,n,s,l)}function Zd(t){return t=t.prototype,!(!t||!t.isReactComponent)}function ba(t,n){var s=t.alternate;return s===null?(s=qn(t.tag,n,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=n,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&1206910976,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,n=t.dependencies,s.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s.refCleanup=t.refCleanup,s}function cx(t,n){t.flags&=1206910978;var s=t.alternate;return s===null?(t.childLanes=0,t.lanes=n,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=s.childLanes,t.lanes=s.lanes,t.child=s.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=s.memoizedProps,t.memoizedState=s.memoizedState,t.updateQueue=s.updateQueue,t.type=s.type,n=s.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),t}function oc(t,n,s,l,f,m){var w=0;if(l=t,typeof l=="function")Zd(l)&&(w=1);else if(typeof l=="string")w=iS(t,s,Kt.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(l){case Le:return t=qn(31,s,n,f),t.elementType=Le,t.lanes=m,t;case H:return Ar(s.children,f,m,n);case J:w=8,f|=24;break;case de:return t=qn(12,s,n,f|2),t.elementType=de,t.lanes=m,t;case ae:return t=qn(13,s,n,f),t.elementType=ae,t.lanes=m,t;case P:return t=qn(19,s,n,f),t.elementType=P,t.lanes=m,t;case pe:case D:return t=f|32,t=qn(30,s,n,t),t.elementType=D,t.lanes=m,t.stateNode={autoName:null,paired:null,clones:null,ref:null},t;default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case te:w=10;break e;case ue:w=9;break e;case G:w=11;break e;case re:w=14;break e;case j:w=16,l=null;break e}w=29,s=Error(r(130,t===null?"null":typeof t,"")),l=null}return n=qn(w,s,n,f),n.elementType=t,n.type=l,n.lanes=m,n}function Ar(t,n,s,l){return t=qn(7,t,l,n),t.lanes=s,t}function Qd(t,n,s){return t=qn(6,t,null,n),t.lanes=s,t}function ux(t){var n=qn(18,null,null,0);return n.stateNode=t,n}function Wd(t,n,s){return n=qn(4,t.children!==null?t.children:[],t.key,n),n.lanes=s,n.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},n}var dx=new WeakMap;function ui(t,n){if(typeof t=="object"&&t!==null){var s=dx.get(t);return s!==void 0?s:(n={value:t,source:n,stack:ln(n)},dx.set(t,n),n)}return{value:t,source:n,stack:ln(n)}}var xs=[],bs=0,cc=null,Cl=0,di=[],fi=0,qa=null,$i=1,Hi="";function ya(t,n){xs[bs++]=Cl,xs[bs++]=cc,cc=t,Cl=n}function fx(t,n,s){di[fi++]=$i,di[fi++]=Hi,di[fi++]=qa,qa=t;var l=$i;t=Hi;var f=32-Ee(l)-1;l&=~(1<<f),s+=1;var m=32-Ee(n)+f;if(30<m){var w=f-f%5;m=(l&(1<<w)-1).toString(32),l>>=w,f-=w,$i=1<<32-Ee(n)+f|s<<f|l,Hi=m+t}else $i=1<<m|s<<f|l,Hi=t}function uc(t){t.return!==null&&(ya(t,1),fx(t,1,0))}function Jd(t){for(;t===cc;)cc=xs[--bs],xs[bs]=null,Cl=xs[--bs],xs[bs]=null;for(;t===qa;)qa=di[--fi],di[fi]=null,Hi=di[--fi],di[fi]=null,$i=di[--fi],di[fi]=null}function px(t,n){di[fi++]=$i,di[fi++]=Hi,di[fi++]=qa,$i=n.id,Hi=n.overflow,qa=t}var mn=null,It=null,nt=!1,Ga=null,pi=!1,ef=Error(r(519));function Ya(t){var n=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Al(ui(n,t)),ef}function mx(t){var n=t.stateNode,s=t.type,l=t.memoizedProps;switch(n[on]=t,n[he]=l,s){case"dialog":lt("cancel",n),lt("close",n);break;case"iframe":case"object":case"embed":lt("load",n);break;case"video":case"audio":for(s=0;s<Ql.length;s++)lt(Ql[s],n);break;case"source":lt("error",n);break;case"img":case"image":case"link":lt("error",n),lt("load",n);break;case"details":lt("toggle",n);break;case"input":lt("invalid",n),Zo(n,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":lt("invalid",n);break;case"textarea":lt("invalid",n),Cg(n,l.value,l.defaultValue,l.children)}s=l.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||n.textContent===""+s||l.suppressHydrationWarning===!0||zy(n.textContent,s)?(l.popover!=null&&(lt("beforetoggle",n),lt("toggle",n)),l.onScroll!=null&<("scroll",n),l.onScrollEnd!=null&<("scrollend",n),l.onClick!=null&&(n.onclick=Bi),n=!0):n=!1,n||Ya(t,!0)}function dc(t){for(mn=t.return;mn;)switch(mn.tag){case 5:case 31:case 13:pi=!1;return;case 27:case 3:pi=!0;return;default:mn=mn.return}}function ys(t){if(t!==mn)return!1;if(!nt)return dc(t),nt=!0,!1;var n=t.tag,s;if((s=n!==3&&n!==27)&&((s=n===5)&&(s=t.type,s=!(s!=="form"&&s!=="button")||jp(t.type,t.memoizedProps)),s=!s),s&&It&&Ya(t),dc(t),n===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));It=e0(t)}else if(n===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));It=e0(t)}else n===27?(n=It,or(t.type)?(t=$p,$p=null,It=t):It=n):It=mn?hi(t.stateNode.nextSibling):null;return!0}function Or(){It=mn=null,nt=!1}function tf(){var t=Ga;return t!==null&&(Kn===null?Kn=t:Kn.push.apply(Kn,t),Ga=null),t}function Al(t){Ga===null?Ga=[t]:Ga.push(t)}var nf=Be(null),jr=null,va=null;function Ka(t,n,s){We(nf,n._currentValue),n._currentValue=s}function wa(t){t._currentValue=nf.current,ht(nf)}function fc(t,n,s){for(;t!==null;){var l=t.alternate;if((t.childLanes&n)!==n?(t.childLanes|=n,l!==null&&(l.childLanes|=n)):l!==null&&(l.childLanes&n)!==n&&(l.childLanes|=n),t===s)break;t=t.return}}function af(t,n,s,l){var f=t.child;for(f!==null&&(f.return=t);f!==null;){var m=f.dependencies;if(m!==null){var w=f.child;m=m.firstContext;e:for(;m!==null;){var E=m;m=f;for(var L=0;L<n.length;L++)if(E.context===n[L]){m.lanes|=s,E=m.alternate,E!==null&&(E.lanes|=s),fc(m.return,s,t),l||(w=null);break e}m=E.next}}else if(f.tag===18){if(w=f.return,w===null)throw Error(r(341));w.lanes|=s,m=w.alternate,m!==null&&(m.lanes|=s),fc(w,s,t),w=null}else f.tag===13&&f.memoizedState!==null&&f.memoizedState.dehydrated===null?(f.lanes|=s,w=f.alternate,w!==null&&(w.lanes|=s),fc(f.return,s,t),w=f.child,w=w!==null?w.sibling:null):w=f.child;if(w!==null)w.return=f;else for(w=f;w!==null;){if(w===t){w=null;break}if(f=w.sibling,f!==null){f.return=w.return,w=f;break}w=w.return}f=w}}function Mr(t,n,s,l){t=null;for(var f=n,m=!1;f!==null;){if(!m){if((f.flags&524288)!==0)m=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var w=f.alternate;if(w===null)throw Error(r(387));if(w=w.memoizedProps,w!==null){var E=f.type;Wn(f.pendingProps.value,w.value)||(t!==null?t.push(E):t=[E])}}else if(f===ce.current){if(w=f.alternate,w===null)throw Error(r(387));w.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(t!==null?t.push(qs):t=[qs])}f=f.return}return t!==null&&af(n,t,s,l),n.flags|=262144,t!==null}function pc(t){for(t=t.firstContext;t!==null;){if(!Wn(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Rr(t){jr=t,va=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function vn(t){return hx(jr,t)}function mc(t,n){return jr===null&&Rr(t),hx(t,n)}function hx(t,n){var s=n._currentValue;if(n={context:n,memoizedValue:s,next:null},va===null){if(t===null)throw Error(r(308));va=n,t.dependencies={lanes:0,firstContext:n},t.flags|=524288}else va=va.next=n;return s}var O_=typeof AbortController<"u"?AbortController:function(){var t=[],n=this.signal={aborted:!1,addEventListener:function(s,l){t.push(l)}};this.abort=function(){n.aborted=!0,t.forEach(function(s){return s()})}},j_=e.unstable_scheduleCallback,M_=e.unstable_NormalPriority,Jt={$$typeof:te,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function rf(){return{controller:new O_,data:new Map,refCount:0}}function Ol(t){t.refCount--,t.refCount===0&&j_(M_,function(){t.controller.abort()})}function gx(t,n){if((t.pendingLanes&4194048)!==0){var s=t.transitionTypes;for(s===null&&(s=t.transitionTypes=[]),t=0;t<n.length;t++){var l=n[t];s.indexOf(l)===-1&&s.push(l)}}}var jl=null;function R_(t){var n=t.transitionTypes;return t.transitionTypes=null,n}var Ml=null,sf=0,Dr=0,vs=null;function D_(t,n){if(Ml===null){var s=Ml=[];sf=0,Dr=kp(),vs={status:"pending",value:void 0,then:function(l){s.push(l)}}}return sf++,n.then(xx,xx),n}function xx(){if(--sf===0&&(jl=null,Ml!==null)){vs!==null&&(vs.status="fulfilled");var t=Ml;Ml=null,Dr=0,vs=null;for(var n=0;n<t.length;n++)(0,t[n])()}}function z_(t,n){var s=[],l={status:"pending",value:null,reason:null,then:function(f){s.push(f)}};return t.then(function(){l.status="fulfilled",l.value=n;for(var f=0;f<s.length;f++)(0,s[f])(n)},function(f){for(l.status="rejected",l.reason=f,f=0;f<s.length;f++)(0,s[f])(void 0)}),l}var bx=R.S;R.S=function(t,n){if(uy=Xt(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&D_(t,n),jl!==null)for(var s=Us;s!==null;)gx(s,jl),s=s.next;if(s=t.types,s!==null){for(var l=Us;l!==null;)gx(l,s),l=l.next;if(Dr!==0){l=jl,l===null&&(l=jl=[]);for(var f=0;f<s.length;f++){var m=s[f];l.indexOf(m)===-1&&l.push(m)}}}bx!==null&&bx(t,n)};var zr=Be(null);function lf(){var t=zr.current;return t!==null?t:Dt.pooledCache}function hc(t,n){n===null?We(zr,zr.current):We(zr,n.pool)}function yx(){var t=lf();return t===null?null:{parent:Jt._currentValue,pool:t}}var ws=Error(r(460)),of=Error(r(474)),gc=Error(r(542)),xc={then:function(){}};function vx(t){return t=t.status,t==="fulfilled"||t==="rejected"}function wx(t,n,s){switch(s=t[s],s===void 0?t.push(n):s!==n&&(n.then(Bi,Bi),n=s),n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Ex(t),t===void 0&&!("reason"in n)?Error(r(600)):t;default:if(typeof n.status=="string")n.then(Bi,Bi);else{if(t=Dt,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=n,t.status="pending",t.then(function(l){if(n.status==="pending"){var f=n;f.status="fulfilled",f.value=l}},function(l){if(n.status==="pending"){var f=n;f.status="rejected",f.reason=l}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Ex(t),t}throw Ir=n,ws}}function Lr(t){try{var n=t._init;return n(t._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(Ir=s,ws):s}}var Ir=null;function kx(){if(Ir===null)throw Error(r(459));var t=Ir;return Ir=null,t}function Ex(t){if(t===ws||t===gc)throw Error(r(483))}var ks=null,Rl=0;function bc(t){var n=Rl;return Rl+=1,ks===null&&(ks=[]),wx(ks,t,n)}function Va(t,n){n=n.props.ref,t.ref=n!==void 0?n:null}function yc(t,n){throw n.$$typeof===I?Error(r(525)):(t=Object.prototype.toString.call(n),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":t)))}function _x(t){function n(K,q){if(t){var Z=K.deletions;Z===null?(K.deletions=[q],K.flags|=16):Z.push(q)}}function s(K,q){if(!t)return null;for(;q!==null;)n(K,q),q=q.sibling;return null}function l(K){for(var q=new Map;K!==null;)K.key===null?q.set(K.index,K):q.set(K.key,K),K=K.sibling;return q}function f(K,q){return K=ba(K,q),K.index=0,K.sibling=null,K}function m(K,q,Z){return K.index=Z,t?(Z=K.alternate,Z!==null?(Z=Z.index,Z<q?(K.flags|=2,q):Z):(K.flags|=134217730,q)):(K.flags|=1048576,q)}function w(K){return t&&K.alternate===null&&(K.flags|=134217730),K}function E(K,q,Z,se){return q===null||q.tag!==6?(q=Qd(Z,K.mode,se),q.return=K,q):(q=f(q,Z),q.return=K,q)}function L(K,q,Z,se){var Te=Z.type;return Te===H?(K=W(K,q,Z.props.children,se,Z.key),Va(K,Z),K):q!==null&&(q.elementType===Te||typeof Te=="object"&&Te!==null&&Te.$$typeof===j&&Lr(Te)===q.type)?(q=f(q,Z.props),Va(q,Z),q.return=K,q):(q=oc(Z.type,Z.key,Z.props,null,K.mode,se),Va(q,Z),q.return=K,q)}function V(K,q,Z,se){return q===null||q.tag!==4||q.stateNode.containerInfo!==Z.containerInfo||q.stateNode.implementation!==Z.implementation?(q=Wd(Z,K.mode,se),q.return=K,q):(q=f(q,Z.children||[]),q.return=K,q)}function W(K,q,Z,se,Te){return q===null||q.tag!==7?(q=Ar(Z,K.mode,se,Te),q.return=K,q):(q=f(q,Z),q.return=K,q)}function le(K,q,Z){if(typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint")return q=Qd(""+q,K.mode,Z),q.return=K,q;if(typeof q=="object"&&q!==null){switch(q.$$typeof){case X:return Z=oc(q.type,q.key,q.props,null,K.mode,Z),Va(Z,q),Z.return=K,Z;case z:return q=Wd(q,K.mode,Z),q.return=K,q;case j:return q=Lr(q),le(K,q,Z)}if($e(q)||ke(q))return q=Ar(q,K.mode,Z,null),q.return=K,q;if(typeof q.then=="function")return le(K,bc(q),Z);if(q.$$typeof===te)return le(K,mc(K,q),Z);yc(K,q)}return null}function Y(K,q,Z,se){var Te=q!==null?q.key:null;if(typeof Z=="string"&&Z!==""||typeof Z=="number"||typeof Z=="bigint")return Te!==null?null:E(K,q,""+Z,se);if(typeof Z=="object"&&Z!==null){switch(Z.$$typeof){case X:return Z.key===Te?L(K,q,Z,se):null;case z:return Z.key===Te?V(K,q,Z,se):null;case j:return Z=Lr(Z),Y(K,q,Z,se)}if($e(Z)||ke(Z))return Te!==null?null:W(K,q,Z,se,null);if(typeof Z.then=="function")return Y(K,q,bc(Z),se);if(Z.$$typeof===te)return Y(K,q,mc(K,Z),se);yc(K,Z)}return null}function Q(K,q,Z,se,Te){if(typeof se=="string"&&se!==""||typeof se=="number"||typeof se=="bigint")return K=K.get(Z)||null,E(q,K,""+se,Te);if(typeof se=="object"&&se!==null){switch(se.$$typeof){case X:return K=K.get(se.key===null?Z:se.key)||null,L(q,K,se,Te);case z:return K=K.get(se.key===null?Z:se.key)||null,V(q,K,se,Te);case j:return se=Lr(se),Q(K,q,Z,se,Te)}if($e(se)||ke(se))return K=K.get(Z)||null,W(q,K,se,Te,null);if(typeof se.then=="function")return Q(K,q,Z,bc(se),Te);if(se.$$typeof===te)return Q(K,q,Z,mc(q,se),Te);yc(q,se)}return null}function we(K,q,Z,se){for(var Te=null,ct=null,ze=q,Fe=q=0,nn=null;ze!==null&&Fe<Z.length;Fe++){ze.index>Fe?(nn=ze,ze=null):nn=ze.sibling;var pt=Y(K,ze,Z[Fe],se);if(pt===null){ze===null&&(ze=nn);break}t&&ze&&pt.alternate===null&&n(K,ze),q=m(pt,q,Fe),ct===null?Te=pt:ct.sibling=pt,ct=pt,ze=nn}if(Fe===Z.length)return s(K,ze),nt&&ya(K,Fe),Te;if(ze===null){for(;Fe<Z.length;Fe++)ze=le(K,Z[Fe],se),ze!==null&&(q=m(ze,q,Fe),ct===null?Te=ze:ct.sibling=ze,ct=ze);return nt&&ya(K,Fe),Te}for(ze=l(ze);Fe<Z.length;Fe++)nn=Q(ze,K,Fe,Z[Fe],se),nn!==null&&(t&&(pt=nn.alternate,pt!==null&&ze.delete(pt.key===null?Fe:pt.key)),q=m(nn,q,Fe),ct===null?Te=nn:ct.sibling=nn,ct=nn);return t&&ze.forEach(function(pr){return n(K,pr)}),nt&&ya(K,Fe),Te}function Oe(K,q,Z,se){if(Z==null)throw Error(r(151));for(var Te=null,ct=null,ze=q,Fe=q=0,nn=null,pt=Z.next();ze!==null&&!pt.done;Fe++,pt=Z.next()){ze.index>Fe?(nn=ze,ze=null):nn=ze.sibling;var pr=Y(K,ze,pt.value,se);if(pr===null){ze===null&&(ze=nn);break}t&&ze&&pr.alternate===null&&n(K,ze),q=m(pr,q,Fe),ct===null?Te=pr:ct.sibling=pr,ct=pr,ze=nn}if(pt.done)return s(K,ze),nt&&ya(K,Fe),Te;if(ze===null){for(;!pt.done;Fe++,pt=Z.next())pt=le(K,pt.value,se),pt!==null&&(q=m(pt,q,Fe),ct===null?Te=pt:ct.sibling=pt,ct=pt);return nt&&ya(K,Fe),Te}for(ze=l(ze);!pt.done;Fe++,pt=Z.next())pt=Q(ze,K,Fe,pt.value,se),pt!==null&&(t&&(nn=pt.alternate,nn!==null&&ze.delete(nn.key===null?Fe:nn.key)),q=m(pt,q,Fe),ct===null?Te=pt:ct.sibling=pt,ct=pt);return t&&ze.forEach(function(hS){return n(K,hS)}),nt&&ya(K,Fe),Te}function tt(K,q,Z,se){if(typeof Z=="object"&&Z!==null&&Z.type===H&&Z.key===null&&Z.props.ref===void 0&&(Z=Z.props.children),typeof Z=="object"&&Z!==null){switch(Z.$$typeof){case X:e:{for(var Te=Z.key;q!==null;){if(q.key===Te){if(Te=Z.type,Te===H){if(q.tag===7){s(K,q.sibling),se=f(q,Z.props.children),Va(se,Z),se.return=K,K=se;break e}}else if(q.elementType===Te||typeof Te=="object"&&Te!==null&&Te.$$typeof===j&&Lr(Te)===q.type){s(K,q.sibling),se=f(q,Z.props),Va(se,Z),se.return=K,K=se;break e}s(K,q);break}else n(K,q);q=q.sibling}Z.type===H?(se=Ar(Z.props.children,K.mode,se,Z.key),Va(se,Z),se.return=K,K=se):(se=oc(Z.type,Z.key,Z.props,null,K.mode,se),Va(se,Z),se.return=K,K=se)}return w(K);case z:e:{for(Te=Z.key;q!==null;){if(q.key===Te)if(q.tag===4&&q.stateNode.containerInfo===Z.containerInfo&&q.stateNode.implementation===Z.implementation){s(K,q.sibling),se=f(q,Z.children||[]),se.return=K,K=se;break e}else{s(K,q);break}else n(K,q);q=q.sibling}se=Wd(Z,K.mode,se),se.return=K,K=se}return w(K);case j:return Z=Lr(Z),tt(K,q,Z,se)}if($e(Z))return we(K,q,Z,se);if(ke(Z)){if(Te=ke(Z),typeof Te!="function")throw Error(r(150));return Z=Te.call(Z),Oe(K,q,Z,se)}if(typeof Z.then=="function")return tt(K,q,bc(Z),se);if(Z.$$typeof===te)return tt(K,q,mc(K,Z),se);yc(K,Z)}return typeof Z=="string"&&Z!==""||typeof Z=="number"||typeof Z=="bigint"?(Z=""+Z,q!==null&&q.tag===6?(s(K,q.sibling),se=f(q,Z),se.return=K,K=se):(s(K,q),se=Qd(Z,K.mode,se),se.return=K,K=se),w(K)):s(K,q)}return function(K,q,Z,se){try{Rl=0;var Te=tt(K,q,Z,se);return ks=null,Te}catch(ze){if(ze===ws||ze===gc)throw ze;var ct=qn(29,ze,null,K.mode);return ct.lanes=se,ct.return=K,ct}}}var Ur=_x(!0),Nx=_x(!1),Xa=!1;function cf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function uf(t,n){t=t.updateQueue,n.updateQueue===t&&(n.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Za(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Qa(t,n,s){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,(vt&2)!==0){var f=l.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),l.pending=n,n=lc(t),ox(t,null,s),n}return sc(t,l,n,s),lc(t)}function Dl(t,n,s){if(n=n.updateQueue,n!==null&&(n=n.shared,(s&4194048)!==0)){var l=n.lanes;l&=t.pendingLanes,s|=l,n.lanes=s,Ni(t,s)}}function df(t,n){var s=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,s===l)){var f=null,m=null;if(s=s.firstBaseUpdate,s!==null){do{var w={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};m===null?f=m=w:m=m.next=w,s=s.next}while(s!==null);m===null?f=m=n:m=m.next=n}else f=m=n;s={baseState:l.baseState,firstBaseUpdate:f,lastBaseUpdate:m,shared:l.shared,callbacks:l.callbacks},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=n:t.next=n,s.lastBaseUpdate=n}var ff=!1;function zl(){if(ff){var t=vs;if(t!==null)throw t}}function Ll(t,n,s,l){ff=!1;var f=t.updateQueue;Xa=!1;var m=f.firstBaseUpdate,w=f.lastBaseUpdate,E=f.shared.pending;if(E!==null){f.shared.pending=null;var L=E,V=L.next;L.next=null,w===null?m=V:w.next=V,w=L;var W=t.alternate;W!==null&&(W=W.updateQueue,E=W.lastBaseUpdate,E!==w&&(E===null?W.firstBaseUpdate=V:E.next=V,W.lastBaseUpdate=L))}if(m!==null){var le=f.baseState;w=0,W=V=L=null,E=m;do{var Y=E.lane&-536870913,Q=Y!==E.lane;if(Q?(ot&Y)===Y:(l&Y)===Y){Y!==0&&Y===Dr&&(ff=!0),W!==null&&(W=W.next={lane:0,tag:E.tag,payload:E.payload,callback:null,next:null});e:{var we=t,Oe=E;Y=n;var tt=s;switch(Oe.tag){case 1:if(we=Oe.payload,typeof we=="function"){le=we.call(tt,le,Y);break e}le=we;break e;case 3:we.flags=we.flags&-65537|128;case 0:if(we=Oe.payload,Y=typeof we=="function"?we.call(tt,le,Y):we,Y==null)break e;le=C({},le,Y);break e;case 2:Xa=!0}}Y=E.callback,Y!==null&&(t.flags|=64,Q&&(t.flags|=8192),Q=f.callbacks,Q===null?f.callbacks=[Y]:Q.push(Y))}else Q={lane:Y,tag:E.tag,payload:E.payload,callback:E.callback,next:null},W===null?(V=W=Q,L=le):W=W.next=Q,w|=Y;if(E=E.next,E===null){if(E=f.shared.pending,E===null)break;Q=E,E=Q.next,Q.next=null,f.lastBaseUpdate=Q,f.shared.pending=null}}while(!0);W===null&&(L=le),f.baseState=L,f.firstBaseUpdate=V,f.lastBaseUpdate=W,m===null&&(f.shared.lanes=0),ar|=w,t.lanes=w,t.memoizedState=le}}function Sx(t,n){if(typeof t!="function")throw Error(r(191,t));t.call(n)}function Tx(t,n){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;t<s.length;t++)Sx(s[t],n)}var Wa=Be(null),vc=Be(0);function Cx(t,n){t=Sa,We(vc,t),We(Wa,n),Sa=t|n.baseLanes}function pf(){We(vc,Sa),We(Wa,Wa.current)}function mf(){Sa=vc.current,ht(Wa),ht(vc)}var wn=Be(null),Cn=null;function Ja(t){var n=t.alternate;We(kn,kn.current&1),We(wn,t),Cn===null&&(n===null||Wa.current!==null||n.memoizedState!==null)&&(Cn=t)}function hf(t){We(kn,kn.current),We(wn,t),Cn===null&&(Cn=t)}function Ax(t){t.tag===22?(We(kn,kn.current),We(wn,t),Cn===null&&(Cn=t)):er()}function er(){We(kn,kn.current),We(wn,wn.current)}function Jn(t){ht(wn),Cn===t&&(Cn=null),ht(kn)}var kn=Be(0);function Il(t,n){We(wn,wn.current),We(kn,n)}function gf(t){ht(kn),ht(wn),Cn===t&&(Cn=null)}function wc(t){for(var n=t;n!==null;){if(n.tag===13){var s=n.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||Up(s)||Bp(s)))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!=="independent"){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var ka=0,et=null,Ot=null,en=null,kc=!1,Es=!1,Br=!1,Ec=0,Ul=0,_s=null,L_=0;function Pt(){throw Error(r(321))}function xf(t,n){if(n===null)return!1;for(var s=0;s<n.length&&s<t.length;s++)if(!Wn(t[s],n[s]))return!1;return!0}function bf(t,n,s,l,f,m){return ka=m,et=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,R.H=t===null||t.memoizedState===null?fb:pb,Br=!1,m=s(l,f),Br=!1,Es&&(m=jx(n,s,l,f)),Ox(t),m}function Ox(t){R.H=Oc;var n=Ot!==null&&Ot.next!==null;if(ka=0,en=Ot=et=null,kc=!1,Ul=0,_s=null,n)throw Error(r(300));t===null||tn||(t=t.dependencies,t!==null&&pc(t)&&(tn=!0))}function jx(t,n,s,l){et=t;var f=0;do{if(Es&&(_s=null),Ul=0,Es=!1,25<=f)throw Error(r(301));if(f+=1,en=Ot=null,t.updateQueue!=null){var m=t.updateQueue;m.lastEffect=null,m.events=null,m.stores=null,m.memoCache!=null&&(m.memoCache.index=0)}R.H=q_,m=n(s,l)}while(Es);return m}function I_(){var t=R.H,n=t.useState()[0];return n=typeof n.then=="function"?Bl(n):n,t=t.useState()[0],(Ot!==null?Ot.memoizedState:null)!==t&&(et.flags|=1024),n}function yf(){var t=Ec!==0;return Ec=0,t}function vf(t,n,s){n.updateQueue=t.updateQueue,n.flags&=-2053,t.lanes&=~s}function wf(t){if(kc){for(t=t.memoizedState;t!==null;){var n=t.queue;n!==null&&(n.pending=null),t=t.next}kc=!1}ka=0,en=Ot=et=null,Es=!1,Ul=Ec=0,_s=null}function Ln(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return en===null?et.memoizedState=en=t:en=en.next=t,en}function Yt(){if(Ot===null){var t=et.alternate;t=t!==null?t.memoizedState:null}else t=Ot.next;var n=en===null?et.memoizedState:en.next;if(n!==null)en=n,Ot=t;else{if(t===null)throw et.alternate===null?Error(r(467)):Error(r(310));Ot=t,t={memoizedState:Ot.memoizedState,baseState:Ot.baseState,baseQueue:Ot.baseQueue,queue:Ot.queue,next:null},en===null?et.memoizedState=en=t:en=en.next=t}return en}function _c(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Bl(t){var n=Ul;return Ul+=1,_s===null&&(_s=[]),t=wx(_s,t,n),n=et,(en===null?n.memoizedState:en.next)===null&&(n=n.alternate,R.H=n===null||n.memoizedState===null?fb:pb),t}function Nc(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Bl(t);if(t.$$typeof===ie)return;if(t.$$typeof===te)return vn(t)}throw Error(r(438,String(t)))}function kf(t){var n=null,s=et.updateQueue;if(s!==null&&(n=s.memoCache),n==null){var l=et.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(n={data:l.data.map(function(f){return f.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),s===null&&(s=_c(),et.updateQueue=s),s.memoCache=n,s=n.data[n.index],s===void 0)for(s=n.data[n.index]=Array(t),l=0;l<t;l++)s[l]=O;return n.index++,s}function Ea(t,n){return typeof n=="function"?n(t):n}function Sc(t){var n=Yt();return Ef(n,Ot,t)}function Ef(t,n,s){var l=t.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=s;var f=t.baseQueue,m=l.pending;if(m!==null){if(f!==null){var w=f.next;f.next=m.next,m.next=w}n.baseQueue=f=m,l.pending=null}if(m=t.baseState,f===null)t.memoizedState=m;else{n=f.next;var E=w=null,L=null,V=n,W=!1;do{var le=V.lane&-536870913;if(le!==V.lane?(ot&le)===le:(ka&le)===le){var Y=V.revertLane;if(Y===0)L!==null&&(L=L.next={lane:0,revertLane:0,gesture:null,action:V.action,hasEagerState:V.hasEagerState,eagerState:V.eagerState,next:null}),le===Dr&&(W=!0);else if((ka&Y)===Y){V=V.next,Y===Dr&&(W=!0);continue}else le={lane:0,revertLane:V.revertLane,gesture:null,action:V.action,hasEagerState:V.hasEagerState,eagerState:V.eagerState,next:null},L===null?(E=L=le,w=m):L=L.next=le,et.lanes|=Y,ar|=Y;le=V.action,Br&&s(m,le),m=V.hasEagerState?V.eagerState:s(m,le)}else Y={lane:le,revertLane:V.revertLane,gesture:V.gesture,action:V.action,hasEagerState:V.hasEagerState,eagerState:V.eagerState,next:null},L===null?(E=L=Y,w=m):L=L.next=Y,et.lanes|=le,ar|=le;V=V.next}while(V!==null&&V!==n);if(L===null?w=m:L.next=E,!Wn(m,t.memoizedState)&&(tn=!0,W&&(s=vs,s!==null)))throw s;t.memoizedState=m,t.baseState=w,t.baseQueue=L,l.lastRenderedState=m}return f===null&&(l.lanes=0),[t.memoizedState,l.dispatch]}function _f(t){var n=Yt(),s=n.queue;if(s===null)throw Error(r(311));s.lastRenderedReducer=t;var l=s.dispatch,f=s.pending,m=n.memoizedState;if(f!==null){s.pending=null;var w=f=f.next;do m=t(m,w.action),w=w.next;while(w!==f);Wn(m,n.memoizedState)||(tn=!0),n.memoizedState=m,n.baseQueue===null&&(n.baseState=m),s.lastRenderedState=m}return[m,l]}function Mx(t,n,s){var l=et,f=Yt(),m=nt;if(m){if(s===void 0)throw Error(r(407));s=s()}else s=n();var w=!Wn((Ot||f).memoizedState,s);if(w&&(f.memoizedState=s,tn=!0),f=f.queue,Tf(zx.bind(null,l,f,t),[t]),t=f.getSnapshot!==n||w||en!==null&&(en.memoizedState.tag&1)!==0,Ns(t?9:8,{destroy:void 0},Dx.bind(null,l,f,s,n),null),t){if(l.flags|=2048,Dt===null)throw Error(r(349));m||(ka&127)!==0||Rx(l,n,s)}return s}function Rx(t,n,s){t.flags|=16384,t={getSnapshot:n,value:s},n=et.updateQueue,n===null?(n=_c(),et.updateQueue=n,n.stores=[t]):(s=n.stores,s===null?n.stores=[t]:s.push(t))}function Dx(t,n,s,l){n.value=s,n.getSnapshot=l,Lx(n)&&Ix(t)}function zx(t,n,s){return s(function(){Lx(n)&&Ix(t)})}function Lx(t){var n=t.getSnapshot;t=t.value;try{var s=n();return!Wn(t,s)}catch{return!0}}function Ix(t){var n=Cr(t,2);n!==null&&Vn(n,t,2)}function Nf(t){var n=Ln();if(typeof t=="function"){var s=t;if(t=s(),Br){Se(!0);try{s()}finally{Se(!1)}}}return n.memoizedState=n.baseState=t,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ea,lastRenderedState:t},n}function Ux(t,n,s,l){return t.baseState=s,Ef(t,Ot,typeof l=="function"?l:Ea)}function U_(t,n,s,l,f){if(Ac(t))throw Error(r(485));if(t=n.action,t!==null){var m={payload:f,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(w){m.listeners.push(w)}};R.T!==null?s(!0):m.isTransition=!1,l(m),s=n.pending,s===null?(m.next=n.pending=m,Bx(n,m)):(m.next=s.next,n.pending=s.next=m)}}function Bx(t,n){var s=n.action,l=n.payload,f=t.state;if(n.isTransition){var m=R.T,w={};w.types=m!==null?m.types:null,R.T=w;try{var E=s(f,l),L=R.S;L!==null&&L(w,E),$x(t,n,E)}catch(V){Sf(t,n,V)}finally{m!==null&&w.types!==null&&(m.types=w.types),R.T=m}}else try{m=s(f,l),$x(t,n,m)}catch(V){Sf(t,n,V)}}function $x(t,n,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(l){Hx(t,n,l)},function(l){return Sf(t,n,l)}):Hx(t,n,s)}function Hx(t,n,s){n.status="fulfilled",n.value=s,Px(n),t.state=s,n=t.pending,n!==null&&(s=n.next,s===n?t.pending=null:(s=s.next,n.next=s,Bx(t,s)))}function Sf(t,n,s){var l=t.pending;if(t.pending=null,l!==null){l=l.next;do n.status="rejected",n.reason=s,Px(n),n=n.next;while(n!==l)}t.action=null}function Px(t){t=t.listeners;for(var n=0;n<t.length;n++)(0,t[n])()}function Fx(t,n){return n}function qx(t,n){if(nt){var s=Dt.formState;if(s!==null){e:{var l=et;if(nt){if(It){t:{for(var f=It,m=pi;f.nodeType!==8;){if(!m){f=null;break t}if(f=hi(f.nextSibling),f===null){f=null;break t}}m=f.data,f=m==="F!"||m==="F"?f:null}if(f){It=hi(f.nextSibling),l=f.data==="F!";break e}}Ya(l)}l=!1}l&&(n=s[0])}}return s=Ln(),s.memoizedState=s.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Fx,lastRenderedState:n},s.queue=l,s=cb.bind(null,et,l),l.dispatch=s,l=Nf(!1),m=Mf.bind(null,et,!1,l.queue),l=Ln(),f={state:n,dispatch:null,action:t,pending:null},l.queue=f,s=U_.bind(null,et,f,m,s),f.dispatch=s,l.memoizedState=t,[n,s,!1]}function Gx(t){var n=Yt();return Yx(n,Ot,t)}function Yx(t,n,s){if(n=Ef(t,n,Fx)[0],t=Sc(Ea)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var l=Bl(n)}catch(w){throw w===ws?gc:w}else l=n;n=Yt();var f=n.queue,m=f.dispatch;return s!==n.memoizedState&&(et.flags|=2048,Ns(9,{destroy:void 0},B_.bind(null,f,s),null)),[l,m,t]}function B_(t,n){t.action=n}function Kx(t){var n=Yt(),s=Ot;if(s!==null)return Yx(n,s,t);Yt(),n=n.memoizedState,s=Yt();var l=s.queue.dispatch;return s.memoizedState=t,[n,l,!1]}function Ns(t,n,s,l){return t={tag:t,create:s,deps:l,inst:n,next:null},n=et.updateQueue,n===null&&(n=_c(),et.updateQueue=n),s=n.lastEffect,s===null?n.lastEffect=t.next=t:(l=s.next,s.next=t,t.next=l,n.lastEffect=t),t}function Vx(){return Yt().memoizedState}function Tc(t,n,s,l){var f=Ln();et.flags|=t,f.memoizedState=Ns(1|n,{destroy:void 0},s,l===void 0?null:l)}function Cc(t,n,s,l){var f=Yt();l=l===void 0?null:l;var m=f.memoizedState.inst;Ot!==null&&l!==null&&xf(l,Ot.memoizedState.deps)?f.memoizedState=Ns(n,m,s,l):(et.flags|=t,f.memoizedState=Ns(1|n,m,s,l))}function Xx(t,n){Tc(8390656,8,t,n)}function Tf(t,n){Cc(2048,8,t,n)}function $_(t){et.flags|=4;var n=et.updateQueue;if(n===null)n=_c(),et.updateQueue=n,n.events=[t];else{var s=n.events;s===null?n.events=[t]:s.push(t)}}function Zx(t){var n=Yt().memoizedState;return $_({ref:n,nextImpl:t}),function(){if((vt&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}function Qx(t,n){return Cc(4,2,t,n)}function Wx(t,n){return Cc(4,4,t,n)}function Jx(t,n){if(typeof n=="function"){t=t();var s=n(t);return function(){typeof s=="function"?s():n(null)}}if(n!=null)return t=t(),n.current=t,function(){n.current=null}}function eb(t,n,s){s=s!=null?s.concat([t]):null,Cc(4,4,Jx.bind(null,n,t),s)}function Cf(){}function tb(t,n){var s=Yt();n=n===void 0?null:n;var l=s.memoizedState;return n!==null&&xf(n,l[1])?l[0]:(s.memoizedState=[t,n],t)}function nb(t,n){var s=Yt();n=n===void 0?null:n;var l=s.memoizedState;if(n!==null&&xf(n,l[1]))return l[0];if(l=t(),Br){Se(!0);try{t()}finally{Se(!1)}}return s.memoizedState=[l,n],l}function Af(t,n,s){return s===void 0||(ka&1073741824)!==0&&(ot&261930)===0?t.memoizedState=n:(t.memoizedState=s,t=fy(),et.lanes|=t,ar|=t,s)}function ib(t,n,s,l){return Wn(s,n)?s:Wa.current!==null?(t=Af(t,s,l),Wn(t,n)||(tn=!0),t):(ka&106)===0||(ka&1073741824)!==0&&(ot&261930)===0?(tn=!0,t.memoizedState=s):(t=fy(),et.lanes|=t,ar|=t,n)}function ab(t,n,s,l,f){var m=fe.p;fe.p=m!==0&&8>m?m:8;var w=R.T,E={};E.types=w!==null?w.types:null,R.T=E,Mf(t,!1,n,s);try{var L=f(),V=R.S;if(V!==null&&V(E,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var W=z_(L,l);$l(t,n,W,ii(t))}else $l(t,n,l,ii(t))}catch(le){$l(t,n,{then:function(){},status:"rejected",reason:le},ii())}finally{fe.p=m,w!==null&&E.types!==null&&(w.types=E.types),R.T=w}}function H_(){}function Of(t,n,s,l){if(t.tag!==5)throw Error(r(476));var f=rb(t).queue;ab(t,f,n,De,s===null?H_:function(){return sb(t),s(l)})}function rb(t){var n=t.memoizedState;if(n!==null)return n;n={memoizedState:De,baseState:De,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ea,lastRenderedState:De},next:null};var s={};return n.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ea,lastRenderedState:s},next:null},t.memoizedState=n,t=t.alternate,t!==null&&(t.memoizedState=n),n}function sb(t){var n=rb(t);n.next===null&&(n=t.alternate.memoizedState),$l(t,n.next.queue,{},ii())}function jf(){return vn(qs)}function lb(){return Yt().memoizedState}function ob(){return Yt().memoizedState}function P_(t){for(var n=t.return;n!==null;){switch(n.tag){case 24:case 3:var s=ii();t=Za(s);var l=Qa(n,t,s);l!==null&&(Vn(l,n,s),Dl(l,n,s)),n={cache:rf()},t.payload=n;return}n=n.return}}function F_(t,n,s){var l=ii();s={lane:l,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Ac(t)?ub(n,s):(s=Xd(t,n,s,l),s!==null&&(Vn(s,t,l),db(s,n,l)))}function cb(t,n,s){var l=ii();$l(t,n,s,l)}function $l(t,n,s,l){var f={lane:l,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(Ac(t))ub(n,f);else{var m=t.alternate;if(t.lanes===0&&(m===null||m.lanes===0)&&(m=n.lastRenderedReducer,m!==null))try{var w=n.lastRenderedState,E=m(w,s);if(f.hasEagerState=!0,f.eagerState=E,Wn(E,w))return sc(t,n,f,0),Dt===null&&rc(),!1}catch{}if(s=Xd(t,n,f,l),s!==null)return Vn(s,t,l),db(s,n,l),!0}return!1}function Mf(t,n,s,l){if(l={lane:2,revertLane:kp(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Ac(t)){if(n)throw Error(r(479))}else n=Xd(t,s,l,2),n!==null&&Vn(n,t,2)}function Ac(t){var n=t.alternate;return t===et||n!==null&&n===et}function ub(t,n){Es=kc=!0;var s=t.pending;s===null?n.next=n:(n.next=s.next,s.next=n),t.pending=n}function db(t,n,s){if((s&4194048)!==0){var l=n.lanes;l&=t.pendingLanes,s|=l,n.lanes=s,Ni(t,s)}}var Oc={readContext:vn,use:Nc,useCallback:Pt,useContext:Pt,useEffect:Pt,useImperativeHandle:Pt,useLayoutEffect:Pt,useInsertionEffect:Pt,useMemo:Pt,useReducer:Pt,useRef:Pt,useState:Pt,useDebugValue:Pt,useDeferredValue:Pt,useTransition:Pt,useSyncExternalStore:Pt,useId:Pt,useHostTransitionStatus:Pt,useFormState:Pt,useActionState:Pt,useOptimistic:Pt,useMemoCache:Pt,useCacheRefresh:Pt,useEffectEvent:Pt},fb={readContext:vn,use:Nc,useCallback:function(t,n){return Ln().memoizedState=[t,n===void 0?null:n],t},useContext:vn,useEffect:Xx,useImperativeHandle:function(t,n,s){s=s!=null?s.concat([t]):null,Tc(4194308,4,Jx.bind(null,n,t),s)},useLayoutEffect:function(t,n){return Tc(4194308,4,t,n)},useInsertionEffect:function(t,n){Tc(4,2,t,n)},useMemo:function(t,n){var s=Ln();n=n===void 0?null:n;var l=t();if(Br){Se(!0);try{t()}finally{Se(!1)}}return s.memoizedState=[l,n],l},useReducer:function(t,n,s){var l=Ln();if(s!==void 0){var f=s(n);if(Br){Se(!0);try{s(n)}finally{Se(!1)}}}else f=n;return l.memoizedState=l.baseState=f,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:f},l.queue=t,t=t.dispatch=F_.bind(null,et,t),[l.memoizedState,t]},useRef:function(t){var n=Ln();return t={current:t},n.memoizedState=t},useState:function(t){t=Nf(t);var n=t.queue,s=cb.bind(null,et,n);return n.dispatch=s,[t.memoizedState,s]},useDebugValue:Cf,useDeferredValue:function(t,n){var s=Ln();return Af(s,t,n)},useTransition:function(){var t=Nf(!1);return t=ab.bind(null,et,t.queue,!0,!1),Ln().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,n,s){var l=et,f=Ln();if(nt){if(s===void 0)throw Error(r(407));s=s()}else{if(s=n(),Dt===null)throw Error(r(349));(ot&127)!==0||Rx(l,n,s)}f.memoizedState=s;var m={value:s,getSnapshot:n};return f.queue=m,Xx(zx.bind(null,l,m,t),[t]),l.flags|=2048,Ns(9,{destroy:void 0},Dx.bind(null,l,m,s,n),null),s},useId:function(){var t=Ln(),n=Dt.identifierPrefix;if(nt){var s=Hi,l=$i;s=(l&~(1<<32-Ee(l)-1)).toString(32)+s,n="_"+n+"R_"+s,s=Ec++,0<s&&(n+="H"+s.toString(32)),n+="_"}else s=L_++,n="_"+n+"r_"+s.toString(32)+"_";return t.memoizedState=n},useHostTransitionStatus:jf,useFormState:qx,useActionState:qx,useOptimistic:function(t){var n=Ln();n.memoizedState=n.baseState=t;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=s,n=Mf.bind(null,et,!0,s),s.dispatch=n,[t,n]},useMemoCache:kf,useCacheRefresh:function(){return Ln().memoizedState=P_.bind(null,et)},useEffectEvent:function(t){var n=Ln(),s={impl:t};return n.memoizedState=s,function(){if((vt&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}},pb={readContext:vn,use:Nc,useCallback:tb,useContext:vn,useEffect:Tf,useImperativeHandle:eb,useInsertionEffect:Qx,useLayoutEffect:Wx,useMemo:nb,useReducer:Sc,useRef:Vx,useState:function(){return Sc(Ea)},useDebugValue:Cf,useDeferredValue:function(t,n){var s=Yt();return ib(s,Ot.memoizedState,t,n)},useTransition:function(){var t=Sc(Ea)[0],n=Yt().memoizedState;return[typeof t=="boolean"?t:Bl(t),n]},useSyncExternalStore:Mx,useId:lb,useHostTransitionStatus:jf,useFormState:Gx,useActionState:Gx,useOptimistic:function(t,n){var s=Yt();return Ux(s,Ot,t,n)},useMemoCache:kf,useCacheRefresh:ob,useEffectEvent:Zx},q_={readContext:vn,use:Nc,useCallback:tb,useContext:vn,useEffect:Tf,useImperativeHandle:eb,useInsertionEffect:Qx,useLayoutEffect:Wx,useMemo:nb,useReducer:_f,useRef:Vx,useState:function(){return _f(Ea)},useDebugValue:Cf,useDeferredValue:function(t,n){var s=Yt();return Ot===null?Af(s,t,n):ib(s,Ot.memoizedState,t,n)},useTransition:function(){var t=_f(Ea)[0],n=Yt().memoizedState;return[typeof t=="boolean"?t:Bl(t),n]},useSyncExternalStore:Mx,useId:lb,useHostTransitionStatus:jf,useFormState:Kx,useActionState:Kx,useOptimistic:function(t,n){var s=Yt();return Ot!==null?Ux(s,Ot,t,n):(s.baseState=t,[t,s.queue.dispatch])},useMemoCache:kf,useCacheRefresh:ob,useEffectEvent:Zx};function Rf(t,n,s,l){n=t.memoizedState,s=s(l,n),s=s==null?n:C({},n,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var Df={enqueueSetState:function(t,n,s){t=t._reactInternals;var l=ii(),f=Za(l);f.payload=n,s!=null&&(f.callback=s),n=Qa(t,f,l),n!==null&&(Vn(n,t,l),Dl(n,t,l))},enqueueReplaceState:function(t,n,s){t=t._reactInternals;var l=ii(),f=Za(l);f.tag=1,f.payload=n,s!=null&&(f.callback=s),n=Qa(t,f,l),n!==null&&(Vn(n,t,l),Dl(n,t,l))},enqueueForceUpdate:function(t,n){t=t._reactInternals;var s=ii(),l=Za(s);l.tag=2,n!=null&&(l.callback=n),n=Qa(t,l,s),n!==null&&(Vn(n,t,s),Dl(n,t,s))}};function mb(t,n,s,l,f,m,w){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,m,w):n.prototype&&n.prototype.isPureReactComponent?!Sl(s,l)||!Sl(f,m):!0}function hb(t,n,s,l){t=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(s,l),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(s,l),n.state!==t&&Df.enqueueReplaceState(n,n.state,null)}function $r(t,n){var s=n;if("ref"in n){s={};for(var l in n)l!=="ref"&&(s[l]=n[l])}if(t=t.defaultProps){s===n&&(s=C({},s));for(var f in t)s[f]===void 0&&(s[f]=t[f])}return s}function gb(t){ac(t)}function xb(t){console.error(t)}function bb(t){ac(t)}function jc(t,n){try{var s=t.onUncaughtError;s(n.value,{componentStack:n.stack})}catch(l){setTimeout(function(){throw l})}}function yb(t,n,s){try{var l=t.onCaughtError;l(s.value,{componentStack:s.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function zf(t,n,s){return s=Za(s),s.tag=3,s.payload={element:null},s.callback=function(){jc(t,n)},s}function vb(t){return t=Za(t),t.tag=3,t}function wb(t,n,s,l){var f=s.type.getDerivedStateFromError;if(typeof f=="function"){var m=l.value;t.payload=function(){return f(m)},t.callback=function(){yb(n,s,l)}}var w=s.stateNode;w!==null&&typeof w.componentDidCatch=="function"&&(t.callback=function(){yb(n,s,l),typeof f!="function"&&(rr===null?rr=new Set([this]):rr.add(this));var E=l.stack;this.componentDidCatch(l.value,{componentStack:E!==null?E:""})})}function G_(t,n,s,l,f){if(s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(n=s.alternate,n!==null&&Mr(n,s,f,!0),s=wn.current,s!==null){switch(s.tag){case 31:case 13:case 19:return Cn===null?Wc():s.alternate===null&&Ft===0&&(Ft=3),s.flags&=-257,s.flags|=65536,s.lanes=f,l===xc?s.flags|=16384:(n=s.updateQueue,n===null?s.updateQueue=new Set([l]):n.add(l),yp(t,l,f)),!1;case 22:return s.flags|=65536,l===xc?s.flags|=16384:(n=s.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([l])},s.updateQueue=n):(s=n.retryQueue,s===null?n.retryQueue=new Set([l]):s.add(l)),yp(t,l,f)),!1}throw Error(r(435,s.tag))}return yp(t,l,f),Wc(),!1}if(nt)return n=wn.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=f,l!==ef&&(t=Error(r(422),{cause:l}),Al(ui(t,s)))):(l!==ef&&(n=Error(r(423),{cause:l}),Al(ui(n,s))),t=t.current.alternate,t.flags|=65536,f&=-f,t.lanes|=f,l=ui(l,s),f=zf(t.stateNode,l,f),df(t,f),Ft!==4&&(Ft=2)),!1;var m=Error(r(520),{cause:l});if(m=ui(m,s),Vl===null?Vl=[m]:Vl.push(m),Ft!==4&&(Ft=2),n===null)return!0;l=ui(l,s),s=n;do{switch(s.tag){case 3:return s.flags|=65536,t=f&-f,s.lanes|=t,t=zf(s.stateNode,l,t),df(s,t),!1;case 1:if(n=s.type,m=s.stateNode,(s.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||m!==null&&typeof m.componentDidCatch=="function"&&(rr===null||!rr.has(m))))return s.flags|=65536,f&=-f,s.lanes|=f,f=vb(f),wb(f,t,s,l),df(s,f),!1;break;case 22:if(s.memoizedState!==null)return s.flags|=65536,!1}s=s.return}while(s!==null);return!1}var Lf=Error(r(461)),tn=!1;function cn(t,n,s,l){n.child=t===null?Nx(n,null,s,l):Ur(n,t.child,s,l)}function kb(t,n,s,l,f){s=s.render;var m=n.ref;if("ref"in l){var w={};for(var E in l)E!=="ref"&&(w[E]=l[E])}else w=l;return Rr(n),l=bf(t,n,s,w,m,f),E=yf(),t!==null&&!tn?(vf(t,n,f),_a(t,n,f)):(nt&&E&&uc(n),n.flags|=1,cn(t,n,l,f),n.child)}function Eb(t,n,s,l,f){if(t===null){var m=s.type;return typeof m=="function"&&!Zd(m)&&m.defaultProps===void 0&&s.compare===null?(n.tag=15,n.type=m,_b(t,n,m,l,f)):(t=oc(s.type,null,l,n,n.mode,f),t.ref=n.ref,t.return=n,n.child=t)}if(m=t.child,!qf(t,f)){var w=m.memoizedProps;if(s=s.compare,s=s!==null?s:Sl,s(w,l)&&t.ref===n.ref)return _a(t,n,f)}return n.flags|=1,t=ba(m,l),t.ref=n.ref,t.return=n,n.child=t}function _b(t,n,s,l,f){if(t!==null){var m=t.memoizedProps;if(Sl(m,l)&&t.ref===n.ref)if(tn=!1,n.pendingProps=l=m,qf(t,f))(t.flags&131072)!==0&&(tn=!0);else return n.lanes=t.lanes,_a(t,n,f)}return If(t,n,s,l,f)}function Nb(t,n,s,l){var f=l.children,m=t!==null?t.memoizedState:null;if(t===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((n.flags&128)!==0){if(m=m!==null?m.baseLanes|s:s,t!==null){for(l=n.child=t.child,f=0;l!==null;)f=f|l.lanes|l.childLanes,l=l.sibling;l=f&~m}else l=0,n.child=null;return Sb(t,n,m,s,l)}if((s&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},t!==null&&hc(n,m!==null?m.cachePool:null),m!==null?Cx(n,m):pf(),Ax(n);else return l=n.lanes=536870912,Sb(t,n,m!==null?m.baseLanes|s:s,s,l)}else m!==null?(hc(n,m.cachePool),Cx(n,m),er(),n.memoizedState=null):(t!==null&&hc(n,null),pf(),er());return cn(t,n,f,s),n.child}function Hl(t,n){return t!==null&&t.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Sb(t,n,s,l,f){var m=lf();return m=m===null?null:{parent:Jt._currentValue,pool:m},n.memoizedState={baseLanes:s,cachePool:m},t!==null&&hc(n,null),pf(),Ax(n),t!==null&&Mr(t,n,l,!0),n.childLanes=f,null}function Mc(t,n){return n=Rc({mode:n.mode,children:n.children},t.mode),n.ref=t.ref,t.child=n,n.return=t,n}function Tb(t,n,s){return Ur(n,t.child,null,s),t=Mc(n,n.pendingProps),t.flags|=2,Jn(n),n.memoizedState=null,t}function Y_(t,n,s){var l=n.pendingProps,f=(n.flags&128)!==0;if(n.flags&=-129,t===null){if(nt){if(l.mode==="hidden")return t=Mc(n,l),n.lanes=536870912,t.memoizedState={baseLanes:0,cachePool:null},Hl(null,t);if(hf(n),(t=It)?(t=Jy(t,pi),t=t!==null&&t.data==="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:qa!==null?{id:$i,overflow:Hi}:null,retryLane:536870912,hydrationErrors:null},s=ux(t),s.return=n,n.child=s,mn=n,It=null)):t=null,t===null)throw Ya(n);return n.lanes=536870912,null}return Mc(n,l)}var m=t.memoizedState;if(m!==null){var w=m.dehydrated;if(hf(n),f)if(n.flags&256)n.flags&=-257,n=Tb(t,n,s);else if(n.memoizedState!==null)n.child=t.child,n.flags|=128,n=null;else throw Error(r(558));else if(tn||Mr(t,n,s,!1),f=(s&t.childLanes)!==0,tn||f){if(Wa.current===null){if(l=Dt,l!==null&&(w=gl(l,s),w!==0&&w!==m.retryLane))throw m.retryLane=w,Cr(t,w),Vn(l,t,w),Lf;Wc()}n=Tb(t,n,s)}else t=m.treeContext,It=hi(w.nextSibling),mn=n,nt=!0,Ga=null,pi=!1,t!==null&&px(n,t),n=Mc(n,l),n.flags|=134221824;return n}return t=ba(t.child,{mode:l.mode,children:l.children}),t.ref=n.ref,n.child=t,t.return=n,t}function Ss(t,n){var s=n.ref;if(s===null)t!==null&&t.ref!==null&&(n.flags|=4194816);else{if(typeof s!="function"&&typeof s!="object")throw Error(r(284));(t===null||t.ref!==s)&&(n.flags|=4194816)}}function If(t,n,s,l,f){return Rr(n),s=bf(t,n,s,l,void 0,f),l=yf(),t!==null&&!tn?(vf(t,n,f),_a(t,n,f)):(nt&&l&&uc(n),n.flags|=1,cn(t,n,s,f),n.child)}function Cb(t,n,s,l,f,m){return Rr(n),n.updateQueue=null,s=jx(n,l,s,f),Ox(t),l=yf(),t!==null&&!tn?(vf(t,n,m),_a(t,n,m)):(nt&&l&&uc(n),n.flags|=1,cn(t,n,s,m),n.child)}function Ab(t,n,s,l,f){if(Rr(n),n.stateNode===null){var m=gs,w=s.contextType;typeof w=="object"&&w!==null&&(m=vn(w)),m=new s(l,m),n.memoizedState=m.state!==null&&m.state!==void 0?m.state:null,m.updater=Df,n.stateNode=m,m._reactInternals=n,m=n.stateNode,m.props=l,m.state=n.memoizedState,m.refs={},cf(n),w=s.contextType,m.context=typeof w=="object"&&w!==null?vn(w):gs,m.state=n.memoizedState,w=s.getDerivedStateFromProps,typeof w=="function"&&(Rf(n,s,w,l),m.state=n.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof m.getSnapshotBeforeUpdate=="function"||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(w=m.state,typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount(),w!==m.state&&Df.enqueueReplaceState(m,m.state,null),Ll(n,l,m,f),zl(),m.state=n.memoizedState),typeof m.componentDidMount=="function"&&(n.flags|=4194308),l=!0}else if(t===null){m=n.stateNode;var E=n.memoizedProps,L=$r(s,E);m.props=L;var V=m.context,W=s.contextType;w=gs,typeof W=="object"&&W!==null&&(w=vn(W));var le=s.getDerivedStateFromProps;W=typeof le=="function"||typeof m.getSnapshotBeforeUpdate=="function",E=n.pendingProps!==E,W||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(E||V!==w)&&hb(n,m,l,w),Xa=!1;var Y=n.memoizedState;m.state=Y,Ll(n,l,m,f),zl(),V=n.memoizedState,E||Y!==V||Xa?(typeof le=="function"&&(Rf(n,s,le,l),V=n.memoizedState),(L=Xa||mb(n,s,L,l,Y,V,w))?(W||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount()),typeof m.componentDidMount=="function"&&(n.flags|=4194308)):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=l,n.memoizedState=V),m.props=l,m.state=V,m.context=w,l=L):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),l=!1)}else{m=n.stateNode,uf(t,n),w=n.memoizedProps,W=$r(s,w),m.props=W,le=n.pendingProps,Y=m.context,V=s.contextType,L=gs,typeof V=="object"&&V!==null&&(L=vn(V)),E=s.getDerivedStateFromProps,(V=typeof E=="function"||typeof m.getSnapshotBeforeUpdate=="function")||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(w!==le||Y!==L)&&hb(n,m,l,L),Xa=!1,Y=n.memoizedState,m.state=Y,Ll(n,l,m,f),zl();var Q=n.memoizedState;w!==le||Y!==Q||Xa||t!==null&&t.dependencies!==null&&pc(t.dependencies)?(typeof E=="function"&&(Rf(n,s,E,l),Q=n.memoizedState),(W=Xa||mb(n,s,W,l,Y,Q,L)||t!==null&&t.dependencies!==null&&pc(t.dependencies))?(V||typeof m.UNSAFE_componentWillUpdate!="function"&&typeof m.componentWillUpdate!="function"||(typeof m.componentWillUpdate=="function"&&m.componentWillUpdate(l,Q,L),typeof m.UNSAFE_componentWillUpdate=="function"&&m.UNSAFE_componentWillUpdate(l,Q,L)),typeof m.componentDidUpdate=="function"&&(n.flags|=4),typeof m.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof m.componentDidUpdate!="function"||w===t.memoizedProps&&Y===t.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||w===t.memoizedProps&&Y===t.memoizedState||(n.flags|=1024),n.memoizedProps=l,n.memoizedState=Q),m.props=l,m.state=Q,m.context=L,l=W):(typeof m.componentDidUpdate!="function"||w===t.memoizedProps&&Y===t.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||w===t.memoizedProps&&Y===t.memoizedState||(n.flags|=1024),l=!1)}return m=l,Ss(t,n),l=(n.flags&128)!==0,m||l?(m=n.stateNode,s=l&&typeof s.getDerivedStateFromError!="function"?null:m.render(),n.flags|=1,t!==null&&l?(n.child=Ur(n,t.child,null,f),n.child=Ur(n,null,s,f)):cn(t,n,s,f),n.memoizedState=m.state,t=n.child):t=_a(t,n,f),t}function Ob(t,n,s,l){return Or(),n.flags|=256,cn(t,n,s,l),n.child}var Uf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Bf(t){return{baseLanes:t,cachePool:yx()}}function $f(t,n,s){return t=t!==null?t.childLanes&~s:0,n&&(t|=ni),t}function jb(t,n,s){var l=n.pendingProps,f=!1,m=(n.flags&128)!==0,w;if((w=m)||(w=t!==null&&t.memoizedState===null?!1:(kn.current&2)!==0),w&&(f=!0,n.flags&=-129),w=(n.flags&32)!==0,n.flags&=-33,t===null){if(nt){if(f?Ja(n):er(),(t=It)?(t=Jy(t,pi),t=t!==null&&t.data!=="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:qa!==null?{id:$i,overflow:Hi}:null,retryLane:536870912,hydrationErrors:null},s=ux(t),s.return=n,n.child=s,mn=n,It=null)):t=null,t===null)throw Ya(n);return Bp(t)?n.lanes=32:n.lanes=536870912,null}return m=l.children,l=l.fallback,f?(er(),f=n.mode,m=Rc({mode:"hidden",children:m},f),l=Ar(l,f,s,null),m.return=n,l.return=n,m.sibling=l,n.child=m,l=n.child,l.memoizedState=Bf(s),l.childLanes=$f(t,w,s),n.memoizedState=Uf,Hl(null,l)):(Ja(n),Hf(n,m))}var E=t.memoizedState;if(E!==null){var L=E.dehydrated;if(L!==null)return K_(t,n,m,w,l,L,E,s)}return f?(er(),f=l.fallback,m=n.mode,E=t.child,L=E.sibling,l=ba(E,{mode:"hidden",children:l.children}),l.subtreeFlags=E.subtreeFlags&1206910976,L!==null?f=ba(L,f):(f=Ar(f,m,s,null),f.flags|=2),f.return=n,l.return=n,l.sibling=f,n.child=l,Hl(null,l),l=n.child,f=t.child.memoizedState,f===null?f=Bf(s):(m=f.cachePool,m!==null?(E=Jt._currentValue,m=m.parent!==E?{parent:E,pool:E}:m):m=yx(),f={baseLanes:f.baseLanes|s,cachePool:m}),l.memoizedState=f,l.childLanes=$f(t,w,s),n.memoizedState=Uf,Hl(t.child,l)):(Ja(n),s=t.child,t=s.sibling,s=ba(s,{mode:"visible",children:l.children}),s.return=n,s.sibling=null,t!==null&&(w=n.deletions,w===null?(n.deletions=[t],n.flags|=16):w.push(t)),n.child=s,n.memoizedState=null,s)}function Hf(t,n){return n=Rc({mode:"visible",children:n},t.mode),n.return=t,t.child=n}function Rc(t,n){return t=qn(22,t,null,n),t.lanes=0,t}function Dc(t,n,s){return Ur(n,t.child,null,s),t=Hf(n,n.pendingProps.children),t.flags|=2,n.memoizedState=null,t}function K_(t,n,s,l,f,m,w,E){if(s)return n.flags&256?(Ja(n),n.flags&=-257,Dc(t,n,E)):n.memoizedState!==null?(er(),n.child=t.child,n.flags|=128,null):(er(),m=f.fallback,w=n.mode,f=Rc({mode:"visible",children:f.children},w),m=Ar(m,w,E,null),m.flags|=2,f.return=n,m.return=n,f.sibling=m,n.child=f,Ur(n,t.child,null,E),f=n.child,f.memoizedState=Bf(E),f.childLanes=$f(t,l,E),n.memoizedState=Uf,Hl(null,f));if(Ja(n),Bp(m)){if(l=m.nextSibling&&m.nextSibling.dataset,l)var L=l.dgst;return l=L,l!==""&&(f=Error(r(419)),f.stack="",f.digest=l,Al({value:f,source:null,stack:null})),Dc(t,n,E)}if(tn||Mr(t,n,E,!1),l=(E&t.childLanes)!==0,tn||l){if(Wa.current!==null)return Dc(t,n,E);if(l=Dt,l!==null&&(f=gl(l,E),f!==0&&f!==w.retryLane))throw w.retryLane=f,Cr(t,f),Vn(l,t,f),Lf;return Up(m)||Wc(),Dc(t,n,E)}return Up(m)?(n.flags|=192,n.child=t.child,null):(t=w.treeContext,It=hi(m.nextSibling),mn=n,nt=!0,Ga=null,pi=!1,t!==null&&px(n,t),n=Hf(n,f.children),n.flags|=134221824,n)}function Mb(t,n,s){t.lanes|=n;var l=t.alternate;l!==null&&(l.lanes|=n),fc(t.return,n,s)}function Rb(t){for(var n=null;t!==null;){var s=t.alternate;s!==null&&wc(s)===null&&(n=t),t=t.sibling}return n}function zc(t,n,s,l,f,m){var w=t.memoizedState;w===null?t.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:l,tail:s,tailMode:f,treeForkCount:m}:(w.isBackwards=n,w.rendering=null,w.renderingStartTime=0,w.last=l,w.tail=s,w.tailMode=f,w.treeForkCount=m)}function Pf(t){var n=t.child;for(t.child=null;n!==null;){var s=n.sibling;n.sibling=t.child,t.child=n,n=s}}function Ff(t,n,s){var l=n.pendingProps,f=l.revealOrder,m=l.tail;l=l.children;var w=kn.current;if(n.flags&128)return Il(n,w),null;var E=(w&2)!==0;if(E?(w=w&1|2,n.flags|=128):w&=1,Il(n,w),f==="backwards"&&t!==null?(Pf(t),cn(t,n,l,s),Pf(t)):cn(t,n,l,s),l=nt?Cl:0,!E&&t!==null&&(t.flags&128)!==0)e:for(t=n.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Mb(t,s,n);else if(t.tag===19)Mb(t,s,n);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break e;for(;t.sibling===null;){if(t.return===null||t.return===n)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(f){case"backwards":s=Rb(n.child),s===null?(f=n.child,n.child=null):(f=s.sibling,s.sibling=null,Pf(n)),zc(n,!0,f,null,m,l);break;case"unstable_legacy-backwards":for(s=null,f=n.child,n.child=null;f!==null;){if(t=f.alternate,t!==null&&wc(t)===null){n.child=f;break}t=f.sibling,f.sibling=s,s=f,f=t}zc(n,!0,s,null,m,l);break;case"together":zc(n,!1,null,null,void 0,l);break;case"independent":n.memoizedState=null;break;default:s=Rb(n.child),s===null?(f=n.child,n.child=null):(f=s.sibling,s.sibling=null),zc(n,!1,f,s,m,l)}return n.child}function Db(t,n,s){var l=n.pendingProps;return Ka(n,n.type,l.value),cn(t,n,l.children,s),n.child}function _a(t,n,s){if(t!==null&&(n.dependencies=t.dependencies),ar|=n.lanes,(s&n.childLanes)===0)if(t!==null){if(Mr(t,n,s,!1),(s&n.childLanes)===0)return null}else return null;if(t!==null&&n.child!==t.child)throw Error(r(153));if(n.child!==null){for(t=n.child,s=ba(t,t.pendingProps),n.child=s,s.return=n;t.sibling!==null;)t=t.sibling,s=s.sibling=ba(t,t.pendingProps),s.return=n;s.sibling=null}return n.child}function qf(t,n){return(t.lanes&n)!==0?!0:(t=t.dependencies,!!(t!==null&&pc(t)))}function V_(t,n,s){switch(n.tag){case 3:qe(n,n.stateNode.containerInfo),Ka(n,Jt,t.memoizedState.cache),Or();break;case 27:case 5:mt(n);break;case 4:qe(n,n.stateNode.containerInfo);break;case 10:Ka(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,hf(n),null;break;case 13:var l=n.memoizedState;if(l!==null){if(l.dehydrated!==null)return Ja(n),n.flags|=128,null;l=Mr(t,n,s,!1);var f=n.child.childLanes;return l||(s&f)!==0?jb(t,n,s):(Ja(n),t=_a(t,n,s),t!==null?t.sibling:null)}Ja(n);break;case 19:if(n.flags&128)return Ff(t,n,s);if(f=(t.flags&128)!==0,l=(s&n.childLanes)!==0,l||(Mr(t,n,s,!1),l=(s&n.childLanes)!==0),f){if(l)return Ff(t,n,s);n.flags|=128}if(f=n.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),Il(n,kn.current),l)break;return null;case 22:return n.lanes=0,Nb(t,n,s,n.pendingProps);case 24:Ka(n,Jt,t.memoizedState.cache)}return _a(t,n,s)}function zb(t,n,s){if(t!==null)if(t.memoizedProps!==n.pendingProps)tn=!0;else{if(!qf(t,s)&&(n.flags&128)===0)return tn=!1,V_(t,n,s);tn=(t.flags&131072)!==0}else tn=!1,nt&&(n.flags&1048576)!==0&&fx(n,Cl,n.index);switch(n.lanes=0,n.tag){case 16:e:{var l=n.pendingProps;if(t=Lr(n.elementType),n.type=t,typeof t=="function")Zd(t)?(l=$r(t,l),n.tag=1,n=Ab(null,n,t,l,s)):(n.tag=0,n=If(null,n,t,l,s));else{if(t!=null){var f=t.$$typeof;if(f===G){n.tag=11,n=kb(null,n,t,l,s);break e}else if(f===re){n.tag=14,n=Eb(null,n,t,l,s);break e}else if(f===te){n.tag=10,n.type=t,n=Db(null,n,s);break e}}throw n=He(t)||t,Error(r(306,n,""))}}return n;case 0:return If(t,n,n.type,n.pendingProps,s);case 1:return l=n.type,f=$r(l,n.pendingProps),Ab(t,n,l,f,s);case 3:e:{if(qe(n,n.stateNode.containerInfo),t===null)throw Error(r(387));l=n.pendingProps;var m=n.memoizedState;f=m.element,uf(t,n),Ll(n,l,null,s);var w=n.memoizedState;if(l=w.cache,Ka(n,Jt,l),l!==m.cache&&af(n,[Jt],s,!0),zl(),l=w.element,m.isDehydrated)if(m={element:l,isDehydrated:!1,cache:w.cache},n.updateQueue.baseState=m,n.memoizedState=m,n.flags&256){n=Ob(t,n,l,s);break e}else if(l!==f){f=ui(Error(r(424)),n),Al(f),n=Ob(t,n,l,s);break e}else for(t=n.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,It=hi(t.firstChild),mn=n,nt=!0,Ga=null,pi=!0,s=Nx(n,null,l,s),n.child=s;s;)s.flags=s.flags&-3|134221824,s=s.sibling;else{if(Or(),l===f){n=_a(t,n,s);break e}cn(t,n,l,s)}n=n.child}return n;case 26:return Ss(t,n),t===null?(s=s0(n.type,null,n.pendingProps,null))?n.memoizedState=s:nt||(n.stateNode=By(n.type,n.pendingProps,Rn.current,n)):n.memoizedState=s0(n.type,t.memoizedProps,n.pendingProps,t.memoizedState),null;case 27:return mt(n),t===null&&nt&&(l=n.stateNode=n0(n.type,n.pendingProps,Rn.current),mn=n,pi=!0,f=It,or(n.type)?($p=f,It=hi(l.firstChild)):It=f),cn(t,n,n.pendingProps.children,s),Ss(t,n),t===null&&(n.flags|=4194304),n.child;case 5:return t===null&&nt&&((f=l=It)&&(l=PN(l,n.type,n.pendingProps,pi),l!==null?(n.stateNode=l,mn=n,It=hi(l.firstChild),pi=!1,f=!0):f=!1),f||Ya(n)),mt(n),f=n.type,m=n.pendingProps,w=t!==null?t.memoizedProps:null,l=m.children,jp(f,m)?l=null:w!==null&&jp(f,w)&&(n.flags|=32),n.memoizedState!==null&&(f=bf(t,n,I_,null,null,s),qs._currentValue=f),Ss(t,n),cn(t,n,l,s),n.child;case 6:return t===null&&nt&&((t=s=It)&&(s=FN(s,n.pendingProps,pi),s!==null?(n.stateNode=s,mn=n,It=null,t=!0):t=!1),t||Ya(n)),null;case 13:return jb(t,n,s);case 4:return qe(n,n.stateNode.containerInfo),l=n.pendingProps,t===null?n.child=Ur(n,null,l,s):cn(t,n,l,s),n.child;case 11:return kb(t,n,n.type,n.pendingProps,s);case 7:return l=n.pendingProps,Ss(t,n),cn(t,n,l,s),n.child;case 8:return cn(t,n,n.pendingProps.children,s),n.child;case 12:return cn(t,n,n.pendingProps.children,s),n.child;case 10:return Db(t,n,s);case 9:return f=n.type._context,l=n.pendingProps.children,Rr(n),f=vn(f),l=l(f),n.flags|=1,cn(t,n,l,s),n.child;case 14:return Eb(t,n,n.type,n.pendingProps,s);case 15:return _b(t,n,n.type,n.pendingProps,s);case 19:return Ff(t,n,s);case 31:return Y_(t,n,s);case 22:return Nb(t,n,s,n.pendingProps);case 24:return Rr(n),l=vn(Jt),t===null?(f=lf(),f===null&&(f=Dt,m=rf(),f.pooledCache=m,m.refCount++,m!==null&&(f.pooledCacheLanes|=s),f=m),n.memoizedState={parent:l,cache:f},cf(n),Ka(n,Jt,f)):((t.lanes&s)!==0&&(uf(t,n),Ll(n,null,null,s),zl()),f=t.memoizedState,m=n.memoizedState,f.parent!==l?(f={parent:l,cache:l},n.memoizedState=f,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=f),Ka(n,Jt,l)):(l=m.cache,Ka(n,Jt,l),l!==f.cache&&af(n,[Jt],s,!0))),cn(t,n,n.pendingProps.children,s),n.child;case 30:return n.stateNode===null&&(n.stateNode={autoName:null,paired:null,clones:null,ref:null}),l=n.pendingProps,l.name!=null&&l.name!=="auto"?n.flags|=t===null?18882560:18874368:nt&&uc(n),t!==null&&t.memoizedProps.name!==l.name?n.flags|=4194816:Ss(t,n),cn(t,n,l.children,s),n.child;case 29:throw n.pendingProps}throw Error(r(156,n.tag))}function Na(t){t.flags|=4}function Gf(t,n,s,l,f){var m;if((m=(t.mode&32)!==0)&&(m=s===null?u0(n,l):u0(n,l)&&(l.src!==s.src||l.srcSet!==s.srcSet)),m){if(t.flags|=16777216,(f&335544128)===f)if(t.stateNode.complete)t.flags|=8192;else if(gy())t.flags|=8192;else throw Ir=xc,of}else t.flags&=-16777217}function Lb(t,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!d0(n))if(gy())t.flags|=8192;else throw Ir=xc,of}function Lc(t,n){n!==null&&(t.flags|=4),t.flags&16384&&(n=t.tag!==22?hl():536870912,t.lanes|=n,js|=n)}function Pl(t,n){if(!nt)switch(t.tailMode){case"visible":break;case"collapsed":for(var s=t.tail,l=null;s!==null;)s.alternate!==null&&(l=s),s=s.sibling;l===null?n||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null;break;default:for(n=t.tail,s=null;n!==null;)n.alternate!==null&&(s=n),n=n.sibling;s===null?t.tail=null:s.sibling=null}}function Ut(t){var n=t.alternate!==null&&t.alternate.child===t.child,s=0,l=0;if(n)for(var f=t.child;f!==null;)s|=f.lanes|f.childLanes,l|=f.subtreeFlags&1206910976,l|=f.flags&1206910976,f.return=t,f=f.sibling;else for(f=t.child;f!==null;)s|=f.lanes|f.childLanes,l|=f.subtreeFlags,l|=f.flags,f.return=t,f=f.sibling;return t.subtreeFlags|=l,t.childLanes=s,n}function X_(t,n,s){var l=n.pendingProps;switch(Jd(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ut(n),null;case 1:return Ut(n),null;case 3:return s=n.stateNode,l=null,t!==null&&(l=t.memoizedState.cache),n.memoizedState.cache!==l&&(n.flags|=2048),wa(Jt),ft(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(t===null||t.child===null)&&(ys(n)?Na(n):t===null||t.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,tf())),Ut(n),null;case 26:var f=n.type,m=n.memoizedState;return t===null?(Na(n),m!==null?(Ut(n),Lb(n,m)):(Ut(n),Gf(n,f,null,l,s))):m?m!==t.memoizedState?(Na(n),Ut(n),Lb(n,m)):(Ut(n),n.flags&=-16777217):(t=t.memoizedProps,t!==l&&Na(n),Ut(n),Gf(n,f,t,l,s)),null;case 27:if(sn(n),s=Rn.current,f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==l&&Na(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return Ut(n),n.subtreeFlags&=-33554433,null}t=Kt.current,ys(n)?mx(n):(t=n0(f,l,s),n.stateNode=t,Na(n))}return Ut(n),n.subtreeFlags&=-33554433,null;case 5:if(sn(n),f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==l&&Na(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return Ut(n),n.subtreeFlags&=-33554433,null}if(m=Kt.current,ys(n))mx(n);else{var w=Jl(Rn.current);switch(m){case 1:m=w.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:m=w.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":m=w.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":m=w.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":m=w.createElement("div"),m.innerHTML="<script><\/script>",m=m.removeChild(m.firstChild);break;case"select":m=typeof l.is=="string"?w.createElement("select",{is:l.is}):w.createElement("select"),l.multiple?m.multiple=!0:l.size&&(m.size=l.size);break;default:m=typeof l.is=="string"?w.createElement(f,{is:l.is}):w.createElement(f)}}m[on]=n,m[he]=l;e:for(w=n.child;w!==null;){if(w.tag===5||w.tag===6)m.appendChild(w.stateNode);else if(w.tag!==4&&w.tag!==27&&w.child!==null){w.child.return=w,w=w.child;continue}if(w===n)break e;for(;w.sibling===null;){if(w.return===null||w.return===n)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}n.stateNode=m;e:switch(_n(m,f,l),f){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Na(n)}}return Ut(n),n.subtreeFlags&=-33554433,Gf(n,n.type,t===null?null:t.memoizedProps,n.pendingProps,s),null;case 6:if(t&&n.stateNode!=null)t.memoizedProps!==l&&Na(n);else{if(typeof l!="string"&&n.stateNode===null)throw Error(r(166));if(t=Rn.current,ys(n)){if(t=n.stateNode,s=n.memoizedProps,l=null,f=mn,f!==null)switch(f.tag){case 27:case 5:l=f.memoizedProps}t[on]=n,t=!!(t.nodeValue===s||l!==null&&l.suppressHydrationWarning===!0||zy(t.nodeValue,s)),t||Ya(n,!0)}else t=Jl(t).createTextNode(l),t[on]=n,n.stateNode=t}return Ut(n),null;case 31:if(s=n.memoizedState,t===null||t.memoizedState!==null){if(l=ys(n),s!==null){if(t===null){if(!l)throw Error(r(318));if(t=n.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[on]=n}else Or(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ut(n),t=!1}else s=tf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return n.flags&256?(Jn(n),n):(Jn(n),null);if((n.flags&128)!==0)throw Error(r(558))}return Ut(n),null;case 13:if(l=n.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(f=ys(n),l!==null&&l.dehydrated!==null){if(t===null){if(!f)throw Error(r(318));if(f=n.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(r(317));f[on]=n}else Or(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ut(n),f=!1}else f=tf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=f),f=!0;if(!f)return n.flags&256?(Jn(n),n):(Jn(n),null)}return Jn(n),(n.flags&128)!==0?(n.lanes=s,n):(s=l!==null,t=t!==null&&t.memoizedState!==null,s&&(l=n.child,f=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(f=l.alternate.memoizedState.cachePool.pool),m=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(m=l.memoizedState.cachePool.pool),m!==f&&(l.flags|=2048)),s!==t&&s&&(n.child.flags|=8192),Lc(n,n.updateQueue),Ut(n),null);case 4:return ft(),t===null&&Sp(n.stateNode.containerInfo),n.flags|=67108864,Ut(n),null;case 10:return wa(n.type),Ut(n),null;case 19:if(gf(n),l=n.memoizedState,l===null)return Ut(n),null;if(f=(n.flags&128)!==0,m=l.rendering,m===null)if(f)Pl(l,!1);else{if(Ft!==0||t!==null&&(t.flags&128)!==0)for(t=n.child;t!==null;){if(m=wc(t),m!==null){for(n.flags|=128,Pl(l,!1),t=m.updateQueue,n.updateQueue=t,Lc(n,t),n.subtreeFlags=0,t=s,s=n.child;s!==null;)cx(s,t),s=s.sibling;return Il(n,kn.current&1|2),nt&&ya(n,l.treeForkCount),n.child}t=t.sibling}l.tail!==null&&Xt()>Vc&&(n.flags|=128,f=!0,Pl(l,!1),n.lanes=4194304)}else{if(!f)if(t=wc(m),t!==null){if(n.flags|=128,f=!0,t=t.updateQueue,n.updateQueue=t,Lc(n,t),Pl(l,!0),l.tail===null&&l.tailMode!=="collapsed"&&l.tailMode!=="visible"&&!m.alternate&&!nt)return Ut(n),null}else 2*Xt()-l.renderingStartTime>Vc&&s!==536870912&&(n.flags|=128,f=!0,Pl(l,!1),n.lanes=4194304);l.isBackwards?(m.sibling=n.child,n.child=m):(t=l.last,t!==null?t.sibling=m:n.child=m,l.last=m)}if(l.tail!==null){t=l.tail;e:{for(s=t;s!==null;){if(s.alternate!==null){s=!1;break e}s=s.sibling}s=!0}return l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Xt(),t.sibling=null,m=kn.current,m=f?m&1|2:m&1,l.tailMode==="visible"||l.tailMode==="collapsed"||!s||nt?Il(n,m):(s=m,We(wn,n),We(kn,s),Cn===null&&(Cn=n)),nt&&ya(n,l.treeForkCount),t}return Ut(n),null;case 22:case 23:return Jn(n),mf(),l=n.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(n.flags|=8192):l&&(n.flags|=8192),l?(s&536870912)!==0&&(n.flags&128)===0&&(Ut(n),n.subtreeFlags&6&&(n.flags|=8192)):Ut(n),s=n.updateQueue,s!==null&&Lc(n,s.retryQueue),s=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),l=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),l!==s&&(n.flags|=2048),t!==null&&ht(zr),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),n.memoizedState.cache!==s&&(n.flags|=2048),wa(Jt),Ut(n),null;case 25:return null;case 30:return n.flags|=33554432,Ut(n),null}throw Error(r(156,n.tag))}function Z_(t,n){switch(Jd(n),n.tag){case 1:return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 3:return wa(Jt),ft(),t=n.flags,(t&65536)!==0&&(t&128)===0?(n.flags=t&-65537|128,n):null;case 26:case 27:case 5:return sn(n),null;case 31:if(n.memoizedState!==null){if(Jn(n),n.alternate===null)throw Error(r(340));Or()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 13:if(Jn(n),t=n.memoizedState,t!==null&&t.dehydrated!==null){if(n.alternate===null)throw Error(r(340));Or()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 19:return gf(n),t=n.flags,t&65536?(n.flags=t&-65537|128,t=n.memoizedState,t!==null&&(t.rendering=null,t.tail=null),n.flags|=4,n):null;case 4:return ft(),null;case 10:return wa(n.type),null;case 22:case 23:return Jn(n),mf(),t!==null&&ht(zr),t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 24:return wa(Jt),null;case 25:return null;default:return null}}function Ib(t,n){switch(Jd(n),n.tag){case 3:wa(Jt),ft();break;case 26:case 27:case 5:sn(n);break;case 4:ft();break;case 31:n.memoizedState!==null&&Jn(n);break;case 13:Jn(n);break;case 19:gf(n);break;case 10:wa(n.type);break;case 22:case 23:Jn(n),mf(),t!==null&&ht(zr);break;case 24:wa(Jt)}}function Fl(t,n){try{var s=n.updateQueue,l=s!==null?s.lastEffect:null;if(l!==null){var f=l.next;s=f;do{if((s.tag&t)===t){l=void 0;var m=s.create,w=s.inst;l=m(),w.destroy=l}s=s.next}while(s!==f)}}catch(E){Tt(n,n.return,E)}}function tr(t,n,s){try{var l=n.updateQueue,f=l!==null?l.lastEffect:null;if(f!==null){var m=f.next;l=m;do{if((l.tag&t)===t){var w=l.inst,E=w.destroy;if(E!==void 0){w.destroy=void 0,f=n;var L=s,V=E;try{V()}catch(W){Tt(f,L,W)}}}l=l.next}while(l!==m)}}catch(W){Tt(n,n.return,W)}}function Ub(t){var n=t.updateQueue;if(n!==null){var s=t.stateNode;try{Tx(n,s)}catch(l){Tt(t,t.return,l)}}}function Bb(t,n,s){s.props=$r(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(l){Tt(t,n,l)}}function Pi(t,n){try{var s=t.ref;if(s!==null){switch(t.tag){case 26:case 27:case 5:var l=t.stateNode;break;case 30:var f=t.stateNode,m=ga(t.memoizedProps,f);(f.ref===null||f.ref.name!==m)&&(f.ref=Yy(m)),l=f.ref;break;case 7:if(t.stateNode===null){var w=new ai(t);b(t.child,!1,$N,w,void 0,void 0),t.stateNode=w}l=t.stateNode;break;default:l=t.stateNode}typeof s=="function"?t.refCleanup=s(l):s.current=l}}catch(E){Tt(t,n,E)}}function En(t,n){var s=t.ref,l=t.refCleanup;if(s!==null)if(typeof l=="function")try{l()}catch(f){Tt(t,n,f)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(f){Tt(t,n,f)}else s.current=null}function Ic(t,n){if((t.tag===5||t.tag===27||t.tag===6)&&t.alternate===null&&n!==null)for(var s=0;s<n.length;s++)Wy(t.stateNode,n[s])}function $b(t){for(var n=t.return;n!==null&&(Kf(n)&&Wy(t.stateNode,n.stateNode),!Yf(n));)n=n.return}function ql(t){for(var n=t.return;n!==null&&(Kf(n)&&HN(t.stateNode,n.stateNode),!Yf(n));)n=n.return}function Yf(t){return t.tag===5||t.tag===3||t.tag===27}function Kf(t){return t&&t.tag===7&&t.stateNode!==null}function Vf(t){var n=t.type,s=t.memoizedProps,l=t.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":s.autoFocus&&l.focus();break e;case"img":s.src?l.src=s.src:s.srcSet&&(l.srcset=s.srcSet)}}catch(f){Tt(t,t.return,f)}}function Xf(t,n,s){try{var l=t.stateNode;kN(l,t.type,s,n),l[he]=n}catch(f){Tt(t,t.return,f)}}function Hb(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&or(t.type)||t.tag===4}function Zf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Hb(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&or(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Qf(t,n,s,l){var f=t.tag;if(f===5||f===6)f=t.stateNode,n?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(f,n):(n=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,n.appendChild(f),s=s._reactRootContainer,s!=null||n.onclick!==null||(n.onclick=Bi)),Ic(t,l),dt=!0;else if(f!==4&&(f===27&&(Ic(t,l),l=null,or(t.type)&&(s=t.stateNode,n=null)),t=t.child,t!==null))for(Qf(t,n,s,l),t=t.sibling;t!==null;)Qf(t,n,s,l),t=t.sibling}function Uc(t,n,s,l){var f=t.tag;if(f===5||f===6)f=t.stateNode,n?s.insertBefore(f,n):s.appendChild(f),Ic(t,l),dt=!0;else if(f!==4&&(f===27&&(Ic(t,l),l=null,or(t.type)&&(s=t.stateNode)),t=t.child,t!==null))for(Uc(t,n,s,l),t=t.sibling;t!==null;)Uc(t,n,s,l),t=t.sibling}function Pb(t){var n=t.stateNode,s=t.memoizedProps;try{for(var l=t.type,f=n.attributes;f.length;)n.removeAttributeNode(f[0]);_n(n,l,s),n[on]=t,n[he]=s}catch(m){Tt(t,t.return,m)}}var Bc=!1,ei=null;function Fb(t){(t.tag===30||(t.subtreeFlags&33554432)!==0)&&(Bc=!0)}var Fi=null;function qb(){var t=Fi;return Fi=null,t}var Gn=0;function Ts(t,n,s,l,f){return Gn=0,Gb(t.child,n,s,l,f)}function Gb(t,n,s,l,f){for(var m=!1;t!==null;){if(t.tag===5){var w=t.stateNode;if(l!==null){var E=Dp(w);l.push(E),E.view&&(m=!0)}else m||Dp(w).view&&(m=!0);Bc=!0,qy(w,Gn===0?n:n+"_"+Gn,s),Gn++}else(t.tag!==22||t.memoizedState===null)&&(t.tag===30&&f||Gb(t.child,n,s,l,f)&&(m=!0));t=t.sibling}return m}function qi(t,n){for(;t!==null;)t.tag===5?Gy(t.stateNode,t.memoizedProps):(t.tag!==22||t.memoizedState===null)&&(t.tag===30&&n||qi(t.child,n)),t=t.sibling}function $c(t){if((t.subtreeFlags&18874368)!==0)for(t=t.child;t!==null;){if((t.tag!==22||t.memoizedState===null)&&($c(t),t.tag===30&&(t.flags&18874368)!==0&&t.stateNode.paired)){var n=t.memoizedProps;if(n.name==null||n.name==="auto")throw Error(r(544));var s=n.name;n=xa(n.default,n.share),n!=="none"&&(Ts(t,s,n,null,!1)||qi(t.child,!1))}t=t.sibling}}function Wf(t,n){if(t.tag===30){var s=t.stateNode,l=t.memoizedProps,f=ga(l,s),m=xa(l.default,s.paired?l.share:l.enter);m!=="none"?Ts(t,f,m,null,!1)?($c(t),s.paired||n||zs(t,l.onEnter)):qi(t.child,!1):$c(t)}else if((t.subtreeFlags&33554432)!==0)for(t=t.child;t!==null;)Wf(t,n),t=t.sibling;else $c(t)}function Jf(t){if(ei!==null&&ei.size!==0){var n=ei;if((t.subtreeFlags&18874368)!==0)for(t=t.child;t!==null;){if(t.tag!==22||t.memoizedState===null){if(t.tag===30&&(t.flags&18874368)!==0){var s=t.memoizedProps,l=s.name;if(l!=null&&l!=="auto"){var f=n.get(l);if(f!==void 0){var m=xa(s.default,s.share);if(m!=="none"&&(Ts(t,l,m,null,!1)?(m=t.stateNode,f.paired=m,m.paired=f,zs(t,s.onShare)):qi(t.child,!1)),n.delete(l),n.size===0)break}}}Jf(t)}t=t.sibling}}}function ep(t){if(t.tag===30){var n=t.memoizedProps,s=ga(n,t.stateNode),l=ei!==null?ei.get(s):void 0,f=xa(n.default,l!==void 0?n.share:n.exit);f!=="none"&&(Ts(t,s,f,null,!1)?l!==void 0?(f=t.stateNode,l.paired=f,f.paired=l,ei.delete(s),zs(t,n.onShare)):zs(t,n.onExit):qi(t.child,!1)),ei!==null&&Jf(t)}else if((t.subtreeFlags&33554432)!==0)for(t=t.child;t!==null;)ep(t),t=t.sibling;else ei!==null&&Jf(t)}function Yb(t){for(t=t.child;t!==null;){if(t.tag===30){var n=t.memoizedProps,s=ga(n,t.stateNode);n=xa(n.default,n.update),t.flags&=-5,n!=="none"&&Ts(t,s,n,t.memoizedState=[],!1)}else(t.subtreeFlags&33554432)!==0&&Yb(t);t=t.sibling}}function tp(t){if((t.subtreeFlags&18874368)!==0)for(t=t.child;t!==null;){if(t.tag!==22||t.memoizedState===null){if(t.tag===30&&(t.flags&18874368)!==0){var n=t.stateNode;n.paired!==null&&(n.paired=null,qi(t.child,!1))}tp(t)}t=t.sibling}}function Hc(t){if(t.tag===30)t.stateNode.paired=null,qi(t.child,!1),tp(t);else if((t.subtreeFlags&33554432)!==0)for(t=t.child;t!==null;)Hc(t),t=t.sibling;else tp(t)}function Kb(t){for(t=t.child;t!==null;)t.tag===30?qi(t.child,!1):(t.subtreeFlags&33554432)!==0&&Kb(t),t=t.sibling}function np(t,n,s,l,f,m,w){for(var E=!1;n!==null;){if(n.tag===5){var L=n.stateNode;if(m!==null&&Gn<m.length){var V=m[Gn],W=Dp(L);(V.view||W.view)&&(E=!0);var le;if(le=(t.flags&4)===0)if(W.clip)le=!0;else{le=V.rect;var Y=W.rect;le=le.y!==Y.y||le.x!==Y.x||le.height!==Y.height||le.width!==Y.width}le&&(t.flags|=4),W.abs?W=!V.abs:(V=V.rect,W=W.rect,W=V.height!==W.height||V.width!==W.width),W&&(t.flags|=32)}else t.flags|=32;(t.flags&4)!==0&&qy(L,Gn===0?s:s+"_"+Gn,f),E&&(t.flags&4)!==0||(Fi===null&&(Fi=[]),Fi.push(L,Gn===0?l:l+"_"+Gn,n.memoizedProps)),Gn++}else(n.tag!==22||n.memoizedState===null)&&(n.tag===30&&w?t.flags|=n.flags&32:np(t,n.child,s,l,f,m,w)&&(E=!0));n=n.sibling}return E}function Vb(t,n){for(t=t.child;t!==null;){if(t.tag===30){var s=t.memoizedProps,l=t.stateNode,f=ga(s,l),m=xa(s.default,s.update),w;w=t.memoizedState,t.memoizedState=null,l=t;var E=t.child;Gn=0,f=np(l,E,f,f,m,w,!1),(t.flags&4)!==0&&f&&zs(t,s.onUpdate)}else(t.subtreeFlags&33554432)!==0&&Vb(t);t=t.sibling}}var hn=!1,kt=!1,Gi=!1,ip=!1,Xb=typeof WeakSet=="function"?WeakSet:Set,gn=null,Yi=!1,Gl=!1,Pc=!1,ap=!1;function Q_(t,n,s){if(t=t.containerInfo,Ap=Gs,t=Jg(t),Fd(t)){if("selectionStart"in t)var l={start:t.selectionStart,end:t.selectionEnd};else e:{l=(l=t.ownerDocument)&&l.defaultView||window;var f=l.getSelection&&l.getSelection();if(f&&f.rangeCount!==0){l=f.anchorNode;var m=f.anchorOffset,w=f.focusNode;f=f.focusOffset;try{l.nodeType,w.nodeType}catch{l=null;break e}var E=0,L=-1,V=-1,W=0,le=0,Y=t,Q=null;t:for(;;){for(var we;Y!==l||m!==0&&Y.nodeType!==3||(L=E+m),Y!==w||f!==0&&Y.nodeType!==3||(V=E+f),Y.nodeType===3&&(E+=Y.nodeValue.length),(we=Y.firstChild)!==null;)Q=Y,Y=we;for(;;){if(Y===t)break t;if(Q===l&&++W===m&&(L=E),Q===w&&++le===f&&(V=E),(we=Y.nextSibling)!==null)break;Y=Q,Q=Y.parentNode}Y=we}l=L===-1||V===-1?null:{start:L,end:V}}else l=null}l=l||{start:0,end:0}}else l=null;for(Op={focusedElem:t,selectionRange:l},Gs=!1,s=(s&335544064)===s,gn=n,n=s?9270:1024;gn!==null;){if(t=gn,s&&(l=t.deletions,l!==null))for(m=0;m<l.length;m++)s&&ep(l[m]);if(t.alternate===null&&(t.flags&2)!==0)s&&Fb(t),Fc(s);else{if(t.tag===22){if(l=t.alternate,t.memoizedState!==null){l!==null&&l.memoizedState===null&&s&&ep(l),Fc(s);continue}else if(l!==null&&l.memoizedState!==null){s&&Fb(t),Fc(s);continue}}l=t.child,(t.subtreeFlags&n)!==0&&l!==null?(l.return=t,gn=l):(s&&Yb(t),Fc(s))}}ei=null}function Fc(t){for(;gn!==null;){var n=gn,s=t,l=n.alternate,f=n.flags;switch(n.tag){case 0:case 11:case 15:break;case 1:if((f&1024)!==0&&l!==null){s=void 0,f=l.memoizedProps,l=l.memoizedState;var m=n.stateNode;try{var w=$r(n.type,f);s=m.getSnapshotBeforeUpdate(w,l),m.__reactInternalSnapshotBeforeUpdate=s}catch(E){Tt(n,n.return,E)}}break;case 3:if((f&1024)!==0){if(l=n.stateNode.containerInfo,s=l.nodeType,s===9)Ip(l);else if(s===1)switch(l.nodeName){case"HEAD":case"HTML":case"BODY":Ip(l);break;default:l.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;case 30:s&&l!==null&&(s=ga(l.memoizedProps,l.stateNode),f=n.memoizedProps,f=xa(f.default,f.update),f!=="none"&&Ts(l,s,f,l.memoizedState=[],!0));break;default:if((f&1024)!==0)throw Error(r(163))}if(l=n.sibling,l!==null){l.return=n.return,gn=l;break}gn=n.return}}function Zb(t,n,s){var l=s.flags;switch(s.tag){case 0:case 11:case 15:Ki(t,s),l&4&&Fl(5,s);break;case 1:if(Ki(t,s),l&4)if(t=s.stateNode,n===null)try{t.componentDidMount()}catch(w){Tt(s,s.return,w)}else{var f=$r(s.type,n.memoizedProps);n=n.memoizedState;try{t.componentDidUpdate(f,n,t.__reactInternalSnapshotBeforeUpdate)}catch(w){Tt(s,s.return,w)}}l&64&&Ub(s),l&512&&Pi(s,s.return);break;case 3:if(Ki(t,s),l&64&&(t=s.updateQueue,t!==null)){if(n=null,s.child!==null)switch(s.child.tag){case 27:case 5:n=s.child.stateNode;break;case 1:n=s.child.stateNode}try{Tx(t,n)}catch(w){Tt(s,s.return,w)}}break;case 27:n===null&&l&4&&Pb(s);case 26:case 5:Ki(t,s),n===null&&l&4&&Vf(s),l&512&&Pi(s,s.return);break;case 12:Ki(t,s);break;case 31:Ki(t,s),l&4&&ey(t,s);break;case 13:Ki(t,s),l&4&&ty(t,s),l&64&&(t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(s=cN.bind(null,s),qN(t,s))));break;case 22:if(l=s.memoizedState!==null||hn,!l){var m=n!==null&&n.memoizedState!==null||kt;n=hn,f=kt,hn=l,(kt=m)&&!f?(l=2,(s.subtreeFlags&8772)!==0&&(l|=1),Ai(t,s,l)):Ki(t,s),hn=n,kt=f}break;case 30:Ki(t,s),l&512&&Pi(s,s.return);break;case 7:l&512&&Pi(s,s.return);default:Ki(t,s)}}function rp(t,n){for(t=t.child;t!==null;)Qb(t,n),t=t.sibling}function Qb(t,n){switch(t.tag){case 5:case 26:try{var s=t.stateNode;if(n){var l=s.style;typeof l.setProperty=="function"?l.setProperty("display","none","important"):l.display="none"}else{var f=t.stateNode,m=t.memoizedProps.style,w=m!=null&&m.hasOwnProperty("display")?m.display:null;f.style.display=w==null||typeof w=="boolean"?"":(""+w).trim()}}catch(L){Tt(t,t.return,L)}sp(t,n);break;case 6:try{t.stateNode.nodeValue=n?"":t.memoizedProps,dt=!0}catch(L){Tt(t,t.return,L)}break;case 18:try{var E=t.stateNode;n?Fy(E,!0):Fy(t.stateNode,!1)}catch(L){Tt(t,t.return,L)}break;case 22:case 23:t.memoizedState===null&&rp(t,n);break;default:rp(t,n)}}function sp(t,n){if(t.subtreeFlags&67108864)for(t=t.child;t!==null;){e:{var s=t,l=n;switch(s.tag){case 4:Qb(s,l);break e;case 22:s.memoizedState===null&&sp(s,l);break e;default:sp(s,l)}}t=t.sibling}}function Wb(t){var n=t.alternate;n!==null&&(t.alternate=null,Wb(n)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(n=t.stateNode,n!==null&&fn(n)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var Bt=null,Yn=!1;function Ti(t,n,s){for(s=s.child;s!==null;)Jb(t,n,s),s=s.sibling}function Jb(t,n,s){if(ut&&typeof ut.onCommitFiberUnmount=="function")try{ut.onCommitFiberUnmount(Rt,s)}catch{}switch(s.tag){case 26:kt||En(s,n),Ti(t,n,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&!kt&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:kt||En(s,n),ql(s);var l=Bt,f=Yn;or(s.type)&&(Bt=s.stateNode,Yn=!1),Ti(t,n,s),i0(s.stateNode,s.type,s.memoizedProps),Bt=l,Yn=f;break;case 5:kt||En(s,n),ql(s);case 6:if(s.tag===6&&ql(s),l=Bt,f=Yn,Bt=null,Ti(t,n,s),Bt=l,Yn=f,Bt!==null)if(Yn)try{(Bt.nodeType===9?Bt.body:Bt.nodeName==="HTML"?Bt.ownerDocument.body:Bt).removeChild(s.stateNode),dt=!0}catch(m){Tt(s,n,m)}else try{Bt.removeChild(s.stateNode),dt=!0}catch(m){Tt(s,n,m)}break;case 18:Bt!==null&&(Yn?(t=Bt,Py(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,s.stateNode),Ys(t)):Py(Bt,s.stateNode));break;case 4:l=Bt,f=Yn,Bt=s.stateNode.containerInfo,Yn=!0,Ti(t,n,s),Bt=l,Yn=f;break;case 0:case 11:case 14:case 15:tr(2,s,n),kt||tr(4,s,n),Ti(t,n,s);break;case 1:kt||(En(s,n),l=s.stateNode,typeof l.componentWillUnmount=="function"&&Bb(s,n,l)),Ti(t,n,s);break;case 21:Ti(t,n,s);break;case 22:kt=(l=kt)||s.memoizedState!==null,Ti(t,n,s),kt=l;break;case 30:En(s,n),Ti(t,n,s);break;case 7:kt||En(s,n),Ti(t,n,s);break;default:Ti(t,n,s)}}function ey(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Ys(t)}catch(s){Tt(n,n.return,s)}}}function ty(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Ys(t)}catch(s){Tt(n,n.return,s)}}function W_(t){switch(t.tag){case 31:case 13:case 19:var n=t.stateNode;return n===null&&(n=t.stateNode=new Xb),n;case 22:return t=t.stateNode,n=t._retryCache,n===null&&(n=t._retryCache=new Xb),n;default:throw Error(r(435,t.tag))}}function qc(t,n){var s=W_(t);n.forEach(function(l){if(!s.has(l)){s.add(l);var f=uN.bind(null,t,l);l.then(f,f)}})}function In(t,n,s){var l=n.deletions;if(l!==null)for(var f=0;f<l.length;f++){var m=l[f],w=t,E=n,L=E;e:for(;L!==null;){switch(L.tag){case 27:if(or(L.type)){Bt=L.stateNode,Yn=!1;break e}break;case 5:Bt=L.stateNode,Yn=!1;break e;case 3:case 4:Bt=L.stateNode.containerInfo,Yn=!0;break e}L=L.return}if(Bt===null)throw Error(r(160));Jb(w,E,m),Bt=null,Yn=!1,w=m.alternate,w!==null&&(w.return=null),m.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)ny(n,t,s),n=n.sibling}var Ci=null;function ny(t,n,s){var l=t.alternate,f=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(f&4&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(var m=0;m<l.length;m++){var w=l[m];w.ref.impl=w.nextImpl}In(n,t,s),Un(t),f&4&&(tr(3,t,t.return),Fl(3,t),tr(5,t,t.return));break;case 1:In(n,t,s),Un(t),f&512&&(kt||l===null||En(l,l.return)),f&64&&hn&&(t=t.updateQueue,t!==null&&(n=t.callbacks,n!==null&&(s=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=s===null?n:s.concat(n))));break;case 26:if(m=Ci,In(n,t,s),Un(t),f&512&&(kt||l===null||En(l,l.return)),f&4)if(f=l!==null?l.memoizedState:null,s=t.memoizedState,l===null)if(s===null)if(t.stateNode===null)if(hn)t.stateNode=By(t.type,t.memoizedProps,n.containerInfo,t);else{e:{n=t.type,s=t.memoizedProps,f=m.ownerDocument||m;t:switch(n){case"title":l=f.getElementsByTagName("title")[0],(!l||l[Fn]||l[on]||l.namespaceURI==="http://www.w3.org/2000/svg"||l.hasAttribute("itemprop"))&&(l=f.createElement(n),f.head.insertBefore(l,f.querySelector("head > title"))),_n(l,n,s),l[on]=t,Qt(l),n=l;break e;case"link":if(m=c0("link","href",f).get(n+(s.href||""))){for(w=0;w<m.length;w++)if(l=m[w],l.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&l.getAttribute("rel")===(s.rel==null?null:s.rel)&&l.getAttribute("title")===(s.title==null?null:s.title)&&l.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){m.splice(w,1);break t}}l=f.createElement(n),_n(l,n,s),f.head.appendChild(l);break;case"meta":if(m=c0("meta","content",f).get(n+(s.content||""))){for(w=0;w<m.length;w++)if(l=m[w],l.getAttribute("content")===(s.content==null?null:""+s.content)&&l.getAttribute("name")===(s.name==null?null:s.name)&&l.getAttribute("property")===(s.property==null?null:s.property)&&l.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&l.getAttribute("charset")===(s.charSet==null?null:s.charSet)){m.splice(w,1);break t}}l=f.createElement(n),_n(l,n,s),f.head.appendChild(l);break;default:throw Error(r(468,n))}l[on]=t,Qt(l),n=l}t.stateNode=n}else hn||qp(m,t.type,t.stateNode);else t.stateNode=o0(m,s,t.memoizedProps);else f!==s?(f===null?(n=l.stateNode,n===null||kt||n.parentNode.removeChild(n)):f.count--,s===null?hn||qp(m,t.type,t.stateNode):o0(m,s,t.memoizedProps)):s===null&&t.stateNode!==null&&Xf(t,t.memoizedProps,l.memoizedProps);break;case 27:In(n,t,s),Un(t),f&512&&(kt||l===null||En(l,l.return)),l!==null&&f&4&&Xf(t,t.memoizedProps,l.memoizedProps);break;case 5:if(m=Gi,Gi=!1,In(n,t,s),Gi=m,Un(t),f&512&&(kt||l===null||En(l,l.return)),t.flags&32){n=t.stateNode;try{cs(n,""),dt=!0}catch(W){Tt(t,t.return,W)}}f&4&&t.stateNode!=null&&(n=t.memoizedProps,Xf(t,n,l!==null?l.memoizedProps:n)),f&1024&&(ip=!0);break;case 6:if(In(n,t,s),Un(t),f&4){if(t.stateNode===null)throw Error(r(162));n=t.memoizedProps,s=t.stateNode;try{s.nodeValue=n,dt=!0}catch(W){Tt(t,t.return,W)}}break;case 3:if(dt=!1,ru=null,m=Ci,Ci=eo(n.containerInfo),In(n,t,s),Ci=m,Un(t),f&4&&l!==null&&l.memoizedState.isDehydrated)try{Ys(n.containerInfo)}catch(W){Tt(t,t.return,W)}ip&&(ip=!1,iy(t)),dt=!1;break;case 4:f=Gi,Gi=hn,l=Wt(),m=Ci,Ci=eo(t.stateNode.containerInfo),In(n,t,s),Un(t),Ci=m,dt&&Gl&&(Pc=!0),dt=l,Gi=f;break;case 12:In(n,t,s),Un(t);break;case 31:In(n,t,s),Un(t),f&4&&(n=t.updateQueue,n!==null&&(t.updateQueue=null,qc(t,n)));break;case 13:In(n,t,s),Un(t),t.child.flags&8192&&t.memoizedState!==null!=(l!==null&&l.memoizedState!==null)&&(Kc=Xt()),f&4&&(n=t.updateQueue,n!==null&&(t.updateQueue=null,qc(t,n)));break;case 22:m=t.memoizedState!==null,w=l!==null&&l.memoizedState!==null;var E=hn,L=kt,V=Gi;hn=E||m,Gi=V||m,kt=L||w,In(n,t,s),kt=L,Gi=V,hn=E,Un(t),f&8192&&(n=t.stateNode,n._visibility=m?n._visibility&-2:n._visibility|1,!m||l===null||w||hn||kt||(n=w||kt,s=hn,l=kt,hn=m||hn,kt=n,nr(t,2),hn=s,kt=l),!m&&Gi||rp(t,m)),f&4&&(n=t.updateQueue,n!==null&&(s=n.retryQueue,s!==null&&(n.retryQueue=null,qc(t,s))));break;case 19:In(n,t,s),Un(t),f&4&&(n=t.updateQueue,n!==null&&(t.updateQueue=null,qc(t,n)));break;case 30:f&512&&(kt||l===null||En(l,l.return)),f=Wt(),m=Gl,w=(s&335544064)===s,E=t.memoizedProps,Gl=w&&xa(E.default,E.update)!=="none",In(n,t,s),Un(t),w&&l!==null&&dt&&(t.flags|=4),Gl=m,dt=f;break;case 21:break;case 7:f&512&&(kt||l===null||En(l,l.return)),l&&l.stateNode!==null&&(l.stateNode._fragmentFiber=t);default:In(n,t,s),Un(t)}}function Un(t){var n=t.flags;if(n&2){try{for(var s,l=t.return;l!==null;){if(Hb(l)){s=l;break}l=l.return}l=null;for(var f=t.return;f!==null;){if(Kf(f)){var m=f.stateNode;l===null?l=[m]:l.push(m)}if(Yf(f))break;f=f.return}var w=l;if(s==null)throw Error(r(160));switch(s.tag){case 27:var E=s.stateNode,L=Zf(t);Uc(t,L,E,w);break;case 5:var V=s.stateNode;s.flags&32&&(cs(V,""),s.flags&=-33);var W=Zf(t);Uc(t,W,V,w);break;case 3:case 4:var le=s.stateNode.containerInfo,Y=Zf(t);Qf(t,Y,le,w);break;default:throw Error(r(161))}}catch(Q){Tt(t,t.return,Q)}t.flags&=-3}n&4096&&(t.flags&=-4097)}function iy(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var n=t;iy(n),n.tag===5&&n.flags&1024&&(n=n.stateNode,Gs=!0,n.reset(),Gs=!1),t=t.sibling}}function Cs(t,n){if(n.subtreeFlags&9270)for(n=n.child;n!==null;)ay(n,t),n=n.sibling;else Vb(n)}function ay(t,n){var s=t.alternate;if(s===null)Wf(t,!1);else switch(t.tag){case 3:if(ap=Yi=!1,qb(),Cs(n,t),!Yi&&!Pc){if(t=Fi,t!==null)for(var l=0;l<t.length;l+=3){s=t[l];var f=t[l+1];Gy(s,t[l+2]),s=s.ownerDocument.documentElement,s!==null&&s.animate({opacity:[0,0],pointerEvents:["none","none"]},{duration:0,fill:"forwards",pseudoElement:"::view-transition-group("+f+")"})}t=n.containerInfo,t=t.nodeType===9?t.documentElement:t.ownerDocument.documentElement,t!==null&&t.style.viewTransitionName===""&&(t.style.viewTransitionName="none",t.animate({opacity:[0,0],pointerEvents:["none","none"]},{duration:0,fill:"forwards",pseudoElement:"::view-transition-group(root)"}),t.animate({width:[0,0],height:[0,0]},{duration:0,fill:"forwards",pseudoElement:"::view-transition"})),ap=!0}Fi=null;break;case 5:Cs(n,t);break;case 4:l=Yi,Yi=!1,Cs(n,t),Yi&&(Pc=!0),Yi=l;break;case 22:t.memoizedState===null&&(s.memoizedState!==null?Wf(t,!1):Cs(n,t));break;case 30:l=Yi,f=qb(),Yi=!1,Cs(n,t),Yi&&(t.flags|=4);var m=t.memoizedProps,w=t.stateNode;n=ga(m,w),w=ga(s.memoizedProps,w);var E=xa(m.default,m.update);E==="none"?n=!1:(m=s.memoizedState,s.memoizedState=null,s=t.child,Gn=0,n=np(t,s,n,w,E,m,!0),Gn!==(m===null?0:m.length)&&(t.flags|=32)),(t.flags&4)!==0&&n?(zs(t,t.memoizedProps.onUpdate),Fi=f):f!==null&&(f.push.apply(f,Fi),Fi=f),Yi=(t.flags&32)!==0?!0:l;break;default:Cs(n,t)}}function Ki(t,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Zb(t,n.alternate,n),n=n.sibling}function nr(t,n){for(t=t.child;t!==null;){var s=t,l=n;switch(s.tag){case 0:case 11:case 14:case 15:tr(4,s,s.return),nr(s,l);break;case 1:En(s,s.return);var f=s.stateNode;typeof f.componentWillUnmount=="function"&&Bb(s,s.return,f),nr(s,l);break;case 27:(l&2)!==0&&i0(s.stateNode,s.type,s.memoizedProps);case 5:En(s,s.return),s.tag!==5&&s.tag!==27||ql(s),nr(s,l);break;case 6:ql(s);break;case 26:En(s,s.return),f=s.stateNode,s.memoizedState!==null||f===null||kt||f.parentNode.removeChild(f),nr(s,l);break;case 22:s.memoizedState===null&&nr(s,l);break;case 30:En(s,s.return),nr(s,l);break;case 7:En(s,s.return);default:nr(s,l)}t=t.sibling}}function Ai(t,n,s){for(s=(n.subtreeFlags&8772)!==0?s:s&-2,n=n.child;n!==null;){var l=n.alternate,f=t,m=n,w=m.flags,E=(s&1)!==0;switch(m.tag){case 0:case 11:case 15:Ai(f,m,s),Fl(4,m);break;case 1:if(Ai(f,m,s),l=m,f=l.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(W){Tt(l,l.return,W)}if(l=m,f=l.updateQueue,f!==null){var L=l.stateNode;try{var V=f.shared.hiddenCallbacks;if(V!==null)for(f.shared.hiddenCallbacks=null,f=0;f<V.length;f++)Sx(V[f],L)}catch(W){Tt(l,l.return,W)}}E&&w&64&&Ub(m),Pi(m,m.return);break;case 27:(s&2)!==0&&Pb(m);case 5:m.tag!==5&&m.tag!==27||$b(m),Ai(f,m,s),E&&l===null&&w&4&&Vf(m),Pi(m,m.return);break;case 6:$b(m);break;case 26:L=m.stateNode,m.memoizedState!==null||L===null||hn||qp(eo(L.ownerDocument),m.type,L),Ai(f,m,s),E&&l===null&&w&4&&Vf(m),Pi(m,m.return);break;case 12:Ai(f,m,s);break;case 31:Ai(f,m,s),E&&w&4&&ey(f,m);break;case 13:Ai(f,m,s),E&&w&4&&ty(f,m);break;case 22:m.memoizedState===null&&Ai(f,m,s),Pi(m,m.return);break;case 30:Ai(f,m,s),Pi(m,m.return);break;case 7:Pi(m,m.return);default:Ai(f,m,s)}n=n.sibling}}function lp(t,n){var s=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),t=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(t=n.memoizedState.cachePool.pool),t!==s&&(t!=null&&t.refCount++,s!=null&&Ol(s))}function op(t,n){t=null,n.alternate!==null&&(t=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==t&&(n.refCount++,t!=null&&Ol(t))}function mi(t,n,s,l){var f=(s&335544064)===s;if(n.subtreeFlags&(f?10262:10256))for(n=n.child;n!==null;)ry(t,n,s,l),n=n.sibling;else f&&Kb(n)}function ry(t,n,s,l){var f=(s&335544064)===s;f&&n.alternate===null&&n.return!==null&&n.return.alternate!==null&&Hc(n);var m=n.flags;switch(n.tag){case 0:case 11:case 15:mi(t,n,s,l),m&2048&&Fl(9,n);break;case 1:mi(t,n,s,l);break;case 3:mi(t,n,s,l),f&&ap&&(t=t.containerInfo,t=t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,t.style.viewTransitionName==="root"&&(t.style.viewTransitionName=""),t=t.ownerDocument.documentElement,t!==null&&t.style.viewTransitionName==="none"&&(t.style.viewTransitionName="")),m&2048&&(m=null,n.alternate!==null&&(m=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==m&&(n.refCount++,m!=null&&Ol(m)));break;case 12:if(m&2048){mi(t,n,s,l),m=n.stateNode;try{var w=n.memoizedProps,E=w.id,L=w.onPostCommit;typeof L=="function"&&L(E,n.alternate===null?"mount":"update",m.passiveEffectDuration,-0)}catch(V){Tt(n,n.return,V)}}else mi(t,n,s,l);break;case 31:mi(t,n,s,l);break;case 13:mi(t,n,s,l);break;case 23:break;case 22:w=n.stateNode,E=n.alternate,n.memoizedState!==null?(f&&E!==null&&E.memoizedState===null&&Hc(E),w._visibility&2?mi(t,n,s,l):Yl(t,n)):(f&&E!==null&&E.memoizedState!==null&&Hc(n),w._visibility&2?mi(t,n,s,l):(w._visibility|=2,As(t,n,s,l,(n.subtreeFlags&10256)!==0||!1))),m&2048&&lp(E,n);break;case 24:mi(t,n,s,l),m&2048&&op(n.alternate,n);break;case 30:f&&(m=n.alternate,m!==null&&(qi(m.child,!0),qi(n.child,!0))),mi(t,n,s,l);break;default:mi(t,n,s,l)}}function As(t,n,s,l,f){for(f=f&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var m=t,w=n,E=s,L=l,V=w.flags;switch(w.tag){case 0:case 11:case 15:As(m,w,E,L,f),Fl(8,w);break;case 23:break;case 22:var W=w.stateNode;w.memoizedState!==null?W._visibility&2?As(m,w,E,L,f):Yl(m,w):(W._visibility|=2,As(m,w,E,L,f)),f&&V&2048&&lp(w.alternate,w);break;case 24:As(m,w,E,L,f),f&&V&2048&&op(w.alternate,w);break;default:As(m,w,E,L,f)}n=n.sibling}}function Yl(t,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var s=t,l=n,f=l.flags;switch(l.tag){case 22:Yl(s,l),f&2048&&lp(l.alternate,l);break;case 24:Yl(s,l),f&2048&&op(l.alternate,l);break;default:Yl(s,l)}n=n.sibling}}var Hr=8192;function Pr(t,n,s){if(t.subtreeFlags&Hr)for(t=t.child;t!==null;)sy(t,n,s),t=t.sibling}function sy(t,n,s){switch(t.tag){case 26:Pr(t,n,s),t.flags&Hr&&(t.memoizedState!==null?aS(s,Ci,t.memoizedState,t.memoizedProps):(t=t.stateNode,(n&335544128)===n&&p0(s,t)));break;case 5:Pr(t,n,s),t.flags&Hr&&(t=t.stateNode,(n&335544128)===n&&p0(s,t));break;case 3:case 4:var l=Ci;Ci=eo(t.stateNode.containerInfo),Pr(t,n,s),Ci=l;break;case 22:t.memoizedState===null&&(l=t.alternate,l!==null&&l.memoizedState!==null?(l=Hr,Hr=16777216,Pr(t,n,s),Hr=l):Pr(t,n,s));break;case 30:if((t.flags&Hr)!==0&&(l=t.memoizedProps.name,l!=null&&l!=="auto")){var f=t.stateNode;f.paired=null,ei===null&&(ei=new Map),ei.set(l,f)}Pr(t,n,s);break;default:Pr(t,n,s)}}function ly(t){var n=t.alternate;if(n!==null&&(t=n.child,t!==null)){n.child=null;do n=t.sibling,t.sibling=null,t=n;while(t!==null)}}function Kl(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var s=0;s<n.length;s++){var l=n[s];gn=l,cy(l,t)}ly(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)oy(t),t=t.sibling}function oy(t){switch(t.tag){case 0:case 11:case 15:Kl(t),t.flags&2048&&tr(9,t,t.return);break;case 3:Kl(t);break;case 12:Kl(t);break;case 22:var n=t.stateNode;t.memoizedState!==null&&n._visibility&2&&(t.return===null||t.return.tag!==13)?(n._visibility&=-3,Gc(t)):Kl(t);break;default:Kl(t)}}function Gc(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var s=0;s<n.length;s++){var l=n[s];gn=l,cy(l,t)}ly(t)}for(t=t.child;t!==null;){switch(n=t,n.tag){case 0:case 11:case 15:tr(8,n,n.return),Gc(n);break;case 22:s=n.stateNode,s._visibility&2&&(s._visibility&=-3,Gc(n));break;default:Gc(n)}t=t.sibling}}function cy(t,n){for(;gn!==null;){var s=gn;switch(s.tag){case 0:case 11:case 15:tr(8,s,n);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var l=s.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Ol(s.memoizedState.cache)}if(l=s.child,l!==null)l.return=s,gn=l;else e:for(s=t;gn!==null;){l=gn;var f=l.sibling,m=l.return;if(Wb(l),l===s){gn=null;break e}if(f!==null){f.return=m,gn=f;break e}gn=m}}}var J_={getCacheForType:function(t){var n=vn(Jt),s=n.data.get(t);return s===void 0&&(s=t(),n.data.set(t,s)),s},cacheSignal:function(){return vn(Jt).controller.signal}},eN=typeof WeakMap=="function"?WeakMap:Map,vt=0,Dt=null,st=null,ot=0,St=0,ti=null,ir=!1,Os=!1,cp=!1,Sa=0,Ft=0,ar=0,Fr=0,Yc=0,ni=0,js=0,Vl=null,Kn=null,up=!1,Kc=0,uy=0,Vc=1/0,Xc=null,rr=null,$t=0,Oi=null,qr=null,Vi=0,dp=0,fp=null,dy=null,Ms=null,Rs=null,Ds=null,Xl=0,Zc=null;function ii(){return(vt&2)!==0&&ot!==0?ot&-ot:R.T!==null?kp():qo()}function fy(){if(ni===0)if((ot&536870912)===0||nt){var t=Ia;Ia<<=1,(Ia&3932160)===0&&(Ia=262144),ni=t}else ni=536870912;return t=wn.current,t!==null&&(t.flags|=32),ni}function zs(t,n){if(n!=null){var s=t.stateNode,l=s.ref;l===null&&(l=s.ref=Yy(ga(t.memoizedProps,s))),Rs===null&&(Rs=[]),Rs.push(n.bind(null,l))}}function Vn(t,n,s){(t===Dt&&(St===2||St===9)||t.cancelPendingCommit!==null)&&(Ls(t,0),sr(t,ot,ni,!1)),Nr(t,s),((vt&2)===0||t!==Dt)&&(t===Dt&&((vt&2)===0&&(Fr|=s),Ft===4&&sr(t,ot,ni,!1)),Xi(t))}function py(t,n,s){if((vt&6)!==0)throw Error(r(327));var l=!s&&(n&127)===0&&(n&t.expiredLanes)===0||_r(t,n),f=l?iN(t,n):mp(t,n,!0),m=l;do{if(f===0){Os&&!l&&sr(t,n,0,!1);break}else{if(s=t.current.alternate,m&&!tN(s)){f=mp(t,n,!1),m=!1;continue}if(f===2){if(m=n,t.errorRecoveryDisabledLanes&m)var w=0;else w=t.pendingLanes&-536870913,w=w!==0?w:w&536870912?536870912:0;if(w!==0){n=w;e:{var E=t;f=Vl;var L=E.current.memoizedState.isDehydrated;if(L&&(Ls(E,w).flags|=256),w=mp(E,w,!1),w!==2&&w!==6){if(cp&&!L){E.errorRecoveryDisabledLanes|=m,Fr|=m,f=4;break e}m=Kn,Kn=f,m!==null&&(Kn===null?Kn=m:Kn.push.apply(Kn,m))}f=w}if(m=!1,f!==2)continue}}if(f===1){Ls(t,0),sr(t,n,0,!0);break}e:{switch(l=t,m=f,m){case 0:case 1:throw Error(r(345));case 4:if((n&4194048)!==n&&(n&62914560)!==n)break;case 6:sr(l,n,ni,!ir);break e;case 2:Kn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((n&62914560)===n&&(f=Kc+300-Xt(),10<f)){if(sr(l,n,ni,!ir),Ba(l,0,!0)!==0)break e;Vi=n,l.timeoutHandle=Rp(my.bind(null,l,s,Kn,Xc,up,n,ni,Fr,js,ir,m,"Throttled",-0,0),f);break e}my(l,s,Kn,Xc,up,n,ni,Fr,js,ir,m,null,-0,0)}}break}while(!0);Xi(t)}function my(t,n,s,l,f,m,w,E,L,V,W,le,Y,Q){t.timeoutHandle=-1;var we=n.subtreeFlags,Oe=(m&335544064)===m;if(le=null,(Oe||we&8192||(we&16785408)===16785408)&&(le={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Bi},ei=null,sy(n,m,le),Oe&&(we=le,Oe=t.containerInfo,Oe=(Oe.nodeType===9?Oe:Oe.ownerDocument).__reactViewTransition,Oe!=null&&(we.count++,we.waitingForViewTransition=!0,we=io.bind(we),Oe.finished.then(we,we))),we=(m&62914560)===m?Kc-Xt():(m&4194048)===m?uy-Xt():0,we=rS(le,we),we!==null)){Vi=m,t.cancelPendingCommit=we(ky.bind(null,t,n,m,s,l,f,w,E,L,V,W,le,null,Y,Q)),sr(t,m,w,!V);return}ky(t,n,m,s,l,f,w,E,L,V,W,le)}function tN(t){for(var n=t;;){var s=n.tag;if((s===0||s===11||s===15)&&n.flags&16384&&(s=n.updateQueue,s!==null&&(s=s.stores,s!==null)))for(var l=0;l<s.length;l++){var f=s[l],m=f.getSnapshot;f=f.value;try{if(!Wn(m(),f))return!1}catch{return!1}}if(s=n.child,n.subtreeFlags&16384&&s!==null)s.return=n,n=s;else{if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function sr(t,n,s,l){n=Po(t,n),n&=~Yc,n&=~Fr,t.suspendedLanes|=n,t.pingedLanes&=~n,l&&(t.warmLanes|=n),l=t.expirationTimes;for(var f=n;0<f;){var m=31-Ee(f),w=1<<m;l[m]=-1,f&=~w}s!==0&&Fo(t,s,n)}function Qc(){return(vt&6)===0?(Zl(0),!1):!0}function pp(){if(st!==null){if(St===0)var t=st.return;else t=st,va=jr=null,wf(t),ks=null,Rl=0,t=st;for(;t!==null;)Ib(t.alternate,t),t=t.return;st=null}}function Ls(t,n){var s=t.timeoutHandle;return s!==-1&&(t.timeoutHandle=-1,NN(s)),s=t.cancelPendingCommit,s!==null&&(t.cancelPendingCommit=null,s()),Vi=0,pp(),Dt=t,st=s=ba(t.current,null),ot=n,St=0,ti=null,ir=!1,Os=_r(t,n),cp=!1,js=ni=Yc=Fr=ar=Ft=0,Kn=Vl=null,up=!1,Sa=Po(t,n),rc(),s}function hy(t,n){et=null,R.H=Oc,n===ws||n===gc?(n=kx(),St=3):n===of?(n=kx(),St=4):St=n===Lf?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,ti=n,st===null&&(Ft=1,jc(t,ui(n,t.current)))}function gy(){var t=wn.current;return t===null?!0:(ot&4194048)===ot?Cn===null:(ot&62914560)===ot||(ot&536870912)!==0?t===Cn:!1}function xy(){var t=R.H;return R.H=Oc,t===null?Oc:t}function by(){var t=R.A;return R.A=J_,t}function Wc(){Ft=4,ir||(ot&4194048)!==ot&&wn.current!==null||(Os=!0),(ar&134217727)===0&&(Fr&134217727)===0||Dt===null||sr(Dt,ot,ni,!1)}function mp(t,n,s){var l=vt;vt|=2;var f=xy(),m=by();(Dt!==t||ot!==n)&&(Xc=null,Ls(t,n)),n=!1;var w=Ft;e:do try{if(St!==0&&st!==null){var E=st,L=ti;switch(St){case 8:pp(),w=6;break e;case 3:case 2:case 9:case 6:wn.current===null&&(n=!0);var V=St;if(St=0,ti=null,Is(t,E,L,V),s&&Os){w=0;break e}break;default:V=St,St=0,ti=null,Is(t,E,L,V)}}nN(),w=Ft;break}catch(W){hy(t,W)}while(!0);return n&&t.shellSuspendCounter++,va=jr=null,vt=l,R.H=f,R.A=m,st===null&&(Dt=null,ot=0,rc()),w}function nN(){for(;st!==null;)yy(st)}function iN(t,n){var s=vt;vt|=2;var l=xy(),f=by();Dt!==t||ot!==n?(Xc=null,Vc=Xt()+500,Ls(t,n)):Os=_r(t,n);e:do try{if(St!==0&&st!==null){n=st;var m=ti;t:switch(St){case 1:St=0,ti=null,Is(t,n,m,1);break;case 2:case 9:if(vx(m)){St=0,ti=null,vy(n);break}n=function(){St!==2&&St!==9||Dt!==t||(St=7),Xi(t)},m.then(n,n);break e;case 3:St=7;break e;case 4:St=5;break e;case 7:vx(m)?(St=0,ti=null,vy(n)):(St=0,ti=null,Is(t,n,m,7));break;case 5:var w=null;switch(st.tag){case 26:w=st.memoizedState;case 5:case 27:var E=st;if(w?d0(w):E.stateNode.complete){St=0,ti=null;var L=E.sibling;if(L!==null)st=L;else{var V=E.return;V!==null?(st=V,Jc(V)):st=null}break t}}St=0,ti=null,Is(t,n,m,5);break;case 6:St=0,ti=null,Is(t,n,m,6);break;case 8:pp(),Ft=6;break e;default:throw Error(r(462))}}aN();break}catch(W){hy(t,W)}while(!0);return va=jr=null,R.H=l,R.A=f,vt=s,st!==null?0:(Dt=null,ot=0,rc(),Ft)}function aN(){for(;st!==null&&!oa();)yy(st)}function yy(t){var n=zb(t.alternate,t,Sa);t.memoizedProps=t.pendingProps,n===null?Jc(t):st=n}function vy(t){var n=t,s=n.alternate;switch(n.tag){case 15:case 0:n=Cb(s,n,n.pendingProps,n.type,void 0,ot);break;case 11:n=Cb(s,n,n.pendingProps,n.type.render,n.ref,ot);break;case 5:wf(n);var l=n;l===mn&&(nt?(dc(l),l.tag===5&&l.stateNode!=null&&(It=l.stateNode)):(dc(l),nt=!0));default:Ib(s,n),n=st=cx(n,Sa),n=zb(s,n,Sa)}t.memoizedProps=t.pendingProps,n===null?Jc(t):st=n}function Is(t,n,s,l){va=jr=null,wf(n),ks=null,Rl=0;var f=n.return;try{if(G_(t,f,n,s,ot)){Ft=1,jc(t,ui(s,t.current)),st=null;return}}catch(m){if(f!==null)throw st=f,m;Ft=1,jc(t,ui(s,t.current)),st=null;return}n.flags&32768?(nt||l===1?t=!0:Os||(ot&536870912)!==0?t=!1:(ir=t=!0,(l===2||l===9||l===3||l===6)&&(l=wn.current,l!==null&&l.tag===13&&(l.flags|=16384))),wy(n,t)):Jc(n)}function Jc(t){var n=t;do{if((n.flags&32768)!==0){wy(n,ir);return}t=n.return;var s=X_(n.alternate,n,Sa);if(s!==null){st=s;return}if(n=n.sibling,n!==null){st=n;return}st=n=t}while(n!==null);Ft===0&&(Ft=5)}function wy(t,n){do{var s=Z_(t.alternate,t);if(s!==null){s.flags&=32767,st=s;return}if(s=t.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!n&&(t=t.sibling,t!==null)){st=t;return}st=t=s}while(t!==null);Ft=6,st=null}function ky(t,n,s,l,f,m,w,E,L,V,W,le){t.cancelPendingCommit=null;do eu();while($t!==0);if((vt&6)!==0)throw Error(r(327));if(n!==null){if(n===t.current)throw Error(r(177));t===Dt&&(st=Dt=null,ot=0),qr=n,Oi=t,Vi=s,fp=f,dy=l,rN(t,n,s,w,E,L,le)}}function rN(t,n,s,l,f,m,w){var E=n.lanes|n.childLanes;if(dp=E,E|=Vd,Cd(t,s,E,l,f,m),Rs=null,(s&335544064)===s?(Ds=R_(t),l=10262):(Ds=null,l=10256),(n.subtreeFlags&l)!==0||(n.flags&l)!==0?(t.callbackNode=null,t.callbackPriority=0,dN(_i,function(){return bp(),null})):(t.callbackNode=null,t.callbackPriority=0),Bc=!1,l=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||l){l=R.T,R.T=null,f=fe.p,fe.p=2,m=vt,vt|=4;try{Q_(t,n,s)}finally{vt=m,fe.p=f,R.T=l}}$t=1,Bc?Ms=jN(w,t.containerInfo,Ds,hp,gp,lN,xp,bp,sN):(hp(),gp(),xp())}function sN(t){if($t!==0){var n=Oi.onRecoverableError;n(t,{componentStack:null})}}function lN(){$t===3&&($t=0,ay(qr,Oi),$t=4)}function hp(){if($t===1){$t=0;var t=Oi,n=qr,s=Vi,l=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||l){l=R.T,R.T=null;var f=fe.p;fe.p=2;var m=vt;vt|=4;try{Gl=Pc=!1,ny(n,t,s),s=Op;var w=Jg(t.containerInfo),E=s.focusedElem,L=s.selectionRange;if(w!==E&&E&&E.ownerDocument&&Wg(E.ownerDocument.documentElement,E)){if(L!==null&&Fd(E)){var V=L.start,W=L.end;if(W===void 0&&(W=V),"selectionStart"in E)E.selectionStart=V,E.selectionEnd=Math.min(W,E.value.length);else{var le=E.ownerDocument||document,Y=le&&le.defaultView||window;if(Y.getSelection){var Q=Y.getSelection(),we=E.textContent.length,Oe=Math.min(L.start,we),tt=L.end===void 0?Oe:Math.min(L.end,we);!Q.extend&&Oe>tt&&(w=tt,tt=Oe,Oe=w);var K=Qg(E,Oe),q=Qg(E,tt);if(K&&q&&(Q.rangeCount!==1||Q.anchorNode!==K.node||Q.anchorOffset!==K.offset||Q.focusNode!==q.node||Q.focusOffset!==q.offset)){var Z=le.createRange();Z.setStart(K.node,K.offset),Q.removeAllRanges(),Oe>tt?(Q.addRange(Z),Q.extend(q.node,q.offset)):(Z.setEnd(q.node,q.offset),Q.addRange(Z))}}}}for(le=[],Q=E;Q=Q.parentNode;)Q.nodeType===1&&le.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof E.focus=="function"&&E.focus(),E=0;E<le.length;E++){var se=le[E];se.element.scrollLeft=se.left,se.element.scrollTop=se.top}}Gs=!!Ap,Op=Ap=null}finally{vt=m,fe.p=f,R.T=l}}t.current=n,$t=2}}function gp(){if($t===2){$t=0;var t=Oi,n=qr,s=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||s){s=R.T,R.T=null;var l=fe.p;fe.p=2;var f=vt;vt|=4;try{Zb(t,n.alternate,n)}finally{vt=f,fe.p=l,R.T=s}}$t=3}}function xp(){if($t===4||$t===3){$t=0;var t=Ms;Ms=null,La();var n=Oi,s=qr,l=Vi,f=dy,m=(l&335544064)===l?10262:10256;if((s.subtreeFlags&m)!==0||(s.flags&m)!==0?$t=5:($t=0,qr=Oi=null,Ey(n,n.pendingLanes)),m=n.pendingLanes,m===0&&(rr=null),xl(l),s=s.stateNode,ut&&typeof ut.onCommitFiberRoot=="function")try{ut.onCommitFiberRoot(Rt,s,void 0,(s.current.flags&128)===128)}catch{}if(f!==null){s=R.T,m=fe.p,fe.p=2,R.T=null;try{for(var w=n.onRecoverableError,E=0;E<f.length;E++){var L=f[E];w(L.value,{componentStack:L.stack})}}finally{R.T=s,fe.p=m}}if(f=Rs,w=Ds,Ds=null,f!==null&&(Rs=null,w===null&&(w=[]),t!==null))for(L=0;L<f.length;L++)s=(0,f[L])(w),s!==void 0&&t.finished.finally(s);(Vi&3)!==0&&eu(),Xi(n),m=n.pendingLanes,(l&261930)!==0&&(m&42)!==0?n===Zc?Xl++:(Xl=0,Zc=n):(Xl=0,Zc=null),Zl(0)}}function Ey(t,n){(t.pooledCacheLanes&=n)===0&&(n=t.pooledCache,n!=null&&(t.pooledCache=null,Ol(n)))}function eu(){return Ms!==null&&(Ms.skipTransition(),Ms=null),hp(),gp(),xp(),bp()}function bp(){if($t!==5)return!1;var t=Oi,n=dp;dp=0;var s=xl(Vi),l=R.T,f=fe.p;try{fe.p=32>s?32:s,R.T=null,s=fp,fp=null;var m=Oi,w=Vi;if($t=0,qr=Oi=null,Vi=0,(vt&6)!==0)throw Error(r(331));var E=vt;if(vt|=4,oy(m.current),ry(m,m.current,w,s),vt=E,Zl(0,!1),ut&&typeof ut.onPostCommitFiberRoot=="function")try{ut.onPostCommitFiberRoot(Rt,m)}catch{}return!0}finally{fe.p=f,R.T=l,Ey(t,n)}}function _y(t,n,s){n=ui(s,n),n=zf(t.stateNode,n,2),t=Qa(t,n,2),t!==null&&(Nr(t,2),Xi(t))}function Tt(t,n,s){if(t.tag===3)_y(t,t,s);else for(;n!==null;){if(n.tag===3){_y(n,t,s);break}else if(n.tag===1){var l=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(rr===null||!rr.has(l))){t=ui(s,t),s=vb(2),l=Qa(n,s,2),l!==null&&(wb(s,l,n,t),Nr(l,2),Xi(l));break}}n=n.return}}function yp(t,n,s){var l=t.pingCache;if(l===null){l=t.pingCache=new eN;var f=new Set;l.set(n,f)}else f=l.get(n),f===void 0&&(f=new Set,l.set(n,f));f.has(s)||(cp=!0,f.add(s),t=oN.bind(null,t,n,s),n.then(t,t))}function oN(t,n,s){var l=t.pingCache;l!==null&&l.delete(n),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,Dt===t&&(ot&s)===s&&((Ft===4||Ft===3&&(ot&62914560)===ot&&300>Xt()-Kc)&&(vt&2)===0?Ls(t,0):Yc|=s,js===ot&&(js=0)),Xi(t)}function Ny(t,n){n===0&&(n=hl()),t=Cr(t,n),t!==null&&(Nr(t,n),Xi(t))}function cN(t){var n=t.memoizedState,s=0;n!==null&&(s=n.retryLane),Ny(t,s)}function uN(t,n){var s=0;switch(t.tag){case 31:case 13:var l=t.stateNode,f=t.memoizedState;f!==null&&(s=f.retryLane);break;case 19:l=t.stateNode;break;case 22:l=t.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(n),Ny(t,s)}function dN(t,n){return wi(t,n)}var Us=null,Bs=null,vp=!1,tu=!1,wp=!1,lr=0;function Xi(t){t!==Bs&&t.next===null&&(Bs===null?Us=Bs=t:Bs=Bs.next=t),tu=!0,vp||(vp=!0,pN())}function Zl(t,n){if(!wp&&tu){wp=!0;do for(var s=!1,l=Us;l!==null;){if(t!==0){var f=l.pendingLanes;if(f===0)var m=0;else{var w=l.suspendedLanes,E=l.pingedLanes;m=(1<<31-Ee(42|t)+1)-1,m&=f&~(w&~E),m=m&201326741?m&201326741|1:m?m|2:0}m!==0&&(s=!0,Ay(l,m))}else m=ot,m=Ba(l,l===Dt?m:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(m&3)===0||_r(l,m)||(s=!0,Ay(l,m));l=l.next}while(s);wp=!1}}function fN(){Sy()}function Sy(){tu=vp=!1;var t=0;lr!==0&&_N()&&(t=lr);for(var n=Xt(),s=null,l=Us;l!==null;){var f=l.next,m=Ty(l,n);m===0?(l.next=null,s===null?Us=f:s.next=f,f===null&&(Bs=s)):(s=l,(t!==0||(m&3)!==0)&&(tu=!0)),l=f}$t!==0&&$t!==5||Zl(t),lr!==0&&(lr=0)}function Ty(t,n){for(var s=t.suspendedLanes,l=t.pingedLanes,f=t.expirationTimes,m=t.pendingLanes&-62914561;0<m;){var w=31-Ee(m),E=1<<w,L=f[w];L===-1?((E&s)===0||(E&l)!==0)&&(f[w]=Td(E,n)):L<=n&&(t.expiredLanes|=E),m&=~E}if(n=Dt,s=ot,s=Ba(t,t===n?s:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l=t.callbackNode,s===0||t===n&&(St===2||St===9)||t.cancelPendingCommit!==null)return l!==null&&l!==null&&ki(l),t.callbackNode=null,t.callbackPriority=0;if((s&3)===0||_r(t,s)){if(n=s&-s,n===t.callbackPriority)return n;switch(l!==null&&ki(l),xl(s)){case 2:case 8:s=Dn;break;case 32:s=_i;break;case 268435456:s=oe;break;default:s=_i}return l=Cy.bind(null,t),s=wi(s,l),t.callbackPriority=n,t.callbackNode=s,n}return l!==null&&l!==null&&ki(l),t.callbackPriority=2,t.callbackNode=null,2}function Cy(t,n){if($t!==0&&$t!==5)return t.callbackNode=null,t.callbackPriority=0,null;var s=t.callbackNode;if(eu()&&t.callbackNode!==s)return null;var l=ot;return l=Ba(t,t===Dt?l:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l===0?null:(py(t,l,n),Ty(t,Xt()),t.callbackNode!=null&&t.callbackNode===s?Cy.bind(null,t):null)}function Ay(t,n){if(eu())return null;py(t,n,!0)}function pN(){SN(function(){(vt&6)!==0?wi(Ei,fN):Sy()})}function kp(){if(lr===0){var t=Dr;t===0&&(t=Ui,Ui<<=1,(Ui&261888)===0&&(Ui=256)),lr=t}return lr}function Oy(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Qo(t)}function mN(t,n,s,l,f){if(n==="submit"&&s&&s.stateNode===f){var m=Oy((f[he]||null).action),w=l.submitter;w&&(n=(n=w[he]||null)?Oy(n.formAction):w.getAttribute("formAction"),n!==null&&(m=n,w=null));var E=new tc("action","action",null,l,f);t.push({event:E,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(lr!==0){var L=new FormData(f,w);Of(s,{pending:!0,data:L,method:f.method,action:m},null,L)}}else typeof m=="function"&&(E.preventDefault(),L=new FormData(f,w),Of(s,{pending:!0,data:L,method:f.method,action:m},m,L))},currentTarget:f}]})}}for(var Ep=0;Ep<Kd.length;Ep++){var _p=Kd[Ep],hN=_p.toLowerCase(),gN=_p[0].toUpperCase()+_p.slice(1);Si(hN,"on"+gN)}Si(nx,"onAnimationEnd"),Si(ix,"onAnimationIteration"),Si(ax,"onAnimationStart"),Si("dblclick","onDoubleClick"),Si("focusin","onFocus"),Si("focusout","onBlur"),Si(N_,"onTransitionRun"),Si(S_,"onTransitionStart"),Si(T_,"onTransitionCancel"),Si(rx,"onTransitionEnd"),pa("onMouseEnter",["mouseout","mouseover"]),pa("onMouseLeave",["mouseout","mouseover"]),pa("onPointerEnter",["pointerout","pointerover"]),pa("onPointerLeave",["pointerout","pointerover"]),li("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),li("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),li("onBeforeInput",["compositionend","keypress","textInput","paste"]),li("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),li("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),li("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ql="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),xN=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ql));function jy(t,n){n=(n&4)!==0;for(var s=0;s<t.length;s++){var l=t[s],f=l.event;l=l.listeners;e:{var m=void 0;if(n)for(var w=l.length-1;0<=w;w--){var E=l[w],L=E.instance,V=E.currentTarget;if(E=E.listener,L!==m&&f.isPropagationStopped())break e;m=E,f.currentTarget=V;try{m(f)}catch(W){ac(W)}f.currentTarget=null,m=L}else for(w=0;w<l.length;w++){if(E=l[w],L=E.instance,V=E.currentTarget,E=E.listener,L!==m&&f.isPropagationStopped())break e;m=E,f.currentTarget=V;try{m(f)}catch(W){ac(W)}f.currentTarget=null,m=L}}}}function lt(t,n){var s=n[rt];s===void 0&&(s=n[rt]=new Set);var l=t+"__bubble";s.has(l)||(My(n,t,2,!1),s.add(l))}function Np(t,n,s){var l=0;n&&(l|=4),My(s,t,l,n)}var nu="_reactListening"+Math.random().toString(36).slice(2);function Sp(t){if(!t[nu]){t[nu]=!0,Ko.forEach(function(s){s!=="selectionchange"&&(xN.has(s)||Np(s,!1,t),Np(s,!0,t))});var n=t.nodeType===9?t:t.ownerDocument;n===null||n[nu]||(n[nu]=!0,Np("selectionchange",!1,n))}}function My(t,n,s,l){switch(w0(n)){case 2:var f=cS;break;case 8:f=uS;break;default:f=Yp}s=f.bind(null,n,s,t),f=void 0,!Rd||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(f=!0),l?f!==void 0?t.addEventListener(n,s,{capture:!0,passive:f}):t.addEventListener(n,s,!0):f!==void 0?t.addEventListener(n,s,{passive:f}):t.addEventListener(n,s,!1)}function Tp(t,n,s,l,f){var m=l;if((n&1)===0&&(n&2)===0&&l!==null)e:for(;;){if(l===null)return;var w=l.tag;if(w===3||w===4){var E=l.stateNode.containerInfo;if(E===f)break;if(w===4)for(w=l.return;w!==null;){var L=w.tag;if((L===3||L===4)&&w.stateNode.containerInfo===f)return;w=w.return}for(;E!==null;){if(w=pn(E),w===null)return;if(L=w.tag,L===5||L===6||L===26||L===27){l=m=w;continue e}E=E.parentNode}}l=l.return}Mg(function(){var V=m,W=jd(s),le=[];e:{var Y=sx.get(t);if(Y!==void 0){var Q=tc,we=t;switch(t){case"keypress":if(Jo(s)===0)break e;case"keydown":case"keyup":Q=t_;break;case"focusin":we="focus",Q=Id;break;case"focusout":we="blur",Q=Id;break;case"beforeblur":case"afterblur":Q=Id;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Q=zg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Q=FE;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Q=s_;break;case nx:case ix:case ax:Q=YE;break;case rx:Q=o_;break;case"scroll":case"scrollend":Q=HE;break;case"wheel":Q=u_;break;case"copy":case"cut":case"paste":Q=VE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Q=Ig;break;case"submit":Q=a_;break;case"toggle":case"beforetoggle":Q=f_}var Oe=(n&4)!==0,tt=!Oe&&(t==="scroll"||t==="scrollend"),K=Oe?Y!==null?Y+"Capture":null:Y;Oe=[];for(var q=V,Z;q!==null;){var se=q;if(Z=se.stateNode,se=se.tag,se!==5&&se!==26&&se!==27||Z===null||K===null||(se=yl(q,K),se!=null&&Oe.push(Wl(q,se,Z))),tt)break;q=q.return}0<Oe.length&&(Y=new Q(Y,we,null,s,W),le.push({event:Y,listeners:Oe}))}}if((n&7)===0){e:{if(Q=t==="mouseover"||t==="pointerover",Y=t==="mouseout"||t==="pointerout",Q&&s!==Od&&(we=s.relatedTarget||s.fromElement)&&(pn(we)||we[je]))break e;(Y||Q)&&(we=W.window===W?W:(Q=W.ownerDocument)?Q.defaultView||Q.parentWindow:window,Y?(Q=s.relatedTarget||s.toElement,Y=V,Q=Q?pn(Q):null,Q!==null&&(tt=u(Q),Oe=Q.tag,Q!==tt||Oe!==5&&Oe!==27&&Oe!==6)&&(Q=null)):(Y=null,Q=V),Y!==Q&&(Oe=zg,se="onMouseLeave",K="onMouseEnter",q="mouse",(t==="pointerout"||t==="pointerover")&&(Oe=Ig,se="onPointerLeave",K="onPointerEnter",q="pointer"),tt=Y==null?we:Ha(Y),Z=Q==null?we:Ha(Q),we=new Oe(se,q+"leave",Y,s,W),we.target=tt,we.relatedTarget=Z,se=null,pn(W)===V&&(Oe=new Oe(K,q+"enter",Q,s,W),Oe.target=Z,Oe.relatedTarget=tt,se=Oe),tt=se,Oe=Y&&Q?M(Y,Q,bN):null,Y!==null&&Ry(le,we,Y,Oe,!1),Q!==null&&tt!==null&&Ry(le,tt,Q,Oe,!0)))}e:{if(Y=V?Ha(V):window,Q=Y.nodeName&&Y.nodeName.toLowerCase(),Q==="select"||Q==="input"&&Y.type==="file")var Te=Gg;else if(Fg(Y))if(Yg)Te=k_;else{Te=v_;var ct=y_}else Q=Y.nodeName,!Q||Q.toLowerCase()!=="input"||Y.type!=="checkbox"&&Y.type!=="radio"?V&&Ad(V.elementType)&&(Te=Gg):Te=w_;if(Te&&(Te=Te(t,V))){qg(le,Te,s,W);break e}ct&&ct(t,Y,V)}switch(ct=V?Ha(V):window,t){case"focusin":(Fg(ct)||ct.contentEditable==="true")&&(ps=ct,qd=V,Tl=null);break;case"focusout":Tl=qd=ps=null;break;case"mousedown":Gd=!0;break;case"contextmenu":case"mouseup":case"dragend":Gd=!1,ex(le,s,W);break;case"selectionchange":if(__)break;case"keydown":case"keyup":ex(le,s,W)}var ze;if(Bd)e:{switch(t){case"compositionstart":var Fe="onCompositionStart";break e;case"compositionend":Fe="onCompositionEnd";break e;case"compositionupdate":Fe="onCompositionUpdate";break e}Fe=void 0}else fs?Hg(t,s)&&(Fe="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(Fe="onCompositionStart");Fe&&(Ug&&s.locale!=="ko"&&(fs||Fe!=="onCompositionStart"?Fe==="onCompositionEnd"&&fs&&(ze=Rg()):(Pa=W,Dd="value"in Pa?Pa.value:Pa.textContent,fs=!0)),ct=iu(V,Fe),0<ct.length&&(Fe=new Lg(Fe,t,null,s,W),le.push({event:Fe,listeners:ct}),ze?Fe.data=ze:(ze=Pg(s),ze!==null&&(Fe.data=ze)))),(ze=m_?h_(t,s):g_(t,s))&&(Fe=iu(V,"onBeforeInput"),0<Fe.length&&(ct=new Lg("onBeforeInput","beforeinput",null,s,W),le.push({event:ct,listeners:Fe}),ct.data=ze)),mN(le,t,V,s,W)}jy(le,n)})}function Wl(t,n,s){return{instance:t,listener:n,currentTarget:s}}function iu(t,n){for(var s=n+"Capture",l=[];t!==null;){var f=t,m=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||m===null||(f=yl(t,s),f!=null&&l.unshift(Wl(t,f,m)),f=yl(t,n),f!=null&&l.push(Wl(t,f,m))),t.tag===3)return l;t=t.return}return[]}function bN(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Ry(t,n,s,l,f){for(var m=n._reactName,w=[];s!==null&&s!==l;){var E=s,L=E.alternate,V=E.stateNode;if(E=E.tag,L!==null&&L===l)break;E!==5&&E!==26&&E!==27||V===null||(L=V,f?(V=yl(s,m),V!=null&&w.unshift(Wl(s,V,L))):f||(V=yl(s,m),V!=null&&w.push(Wl(s,V,L)))),s=s.return}w.length!==0&&t.push({event:n,listeners:w})}var yN=/\r\n?/g,vN=/\u0000|\uFFFD/g;function Dy(t){return(typeof t=="string"?t:""+t).replace(yN,`
|
|
9
|
-
`).replace(vN,"")}function zy(t,n){return n=Dy(n),Dy(t)===n}function Ct(t,n,s,l,f,m){switch(s){case"children":if(typeof l=="string")n==="body"||n==="textarea"&&l===""||cs(t,l);else if(typeof l=="number"||typeof l=="bigint")n!=="body"&&cs(t,""+l);else return;break;case"className":ma(t,"class",l);break;case"tabIndex":ma(t,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":ma(t,s,l);break;case"style":Og(t,l,m);return;case"data":if(n!=="object"){ma(t,"data",l);break}case"src":case"href":if(l===""&&(n!=="a"||s!=="href")){t.removeAttribute(s);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(s);break}l=Qo(l),t.setAttribute(s,l);break;case"action":case"formAction":if(typeof l=="function"){t.setAttribute(s,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof m=="function"&&(s==="formAction"?(n!=="input"&&Ct(t,n,"name",f.name,f,null),Ct(t,n,"formEncType",f.formEncType,f,null),Ct(t,n,"formMethod",f.formMethod,f,null),Ct(t,n,"formTarget",f.formTarget,f,null)):(Ct(t,n,"encType",f.encType,f,null),Ct(t,n,"method",f.method,f,null),Ct(t,n,"target",f.target,f,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(s);break}l=Qo(l),t.setAttribute(s,l);break;case"onClick":l!=null&&(t.onclick=Bi);return;case"onScroll":l!=null&<("scroll",t);return;case"onScrollEnd":l!=null&<("scrollend",t);return;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(s=l.__html,s!=null){if(f.children!=null)throw Error(r(60));m?.__html!==s&&(t.innerHTML=s)}}break;case"multiple":t.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":t.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){t.removeAttribute("xlink:href");break}s=Qo(l),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,l):t.removeAttribute(s);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"credentialless":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,""):t.removeAttribute(s);break;case"capture":case"download":l===!0?t.setAttribute(s,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,l):t.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?t.setAttribute(s,l):t.removeAttribute(s);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?t.removeAttribute(s):t.setAttribute(s,l);break;case"popover":lt("beforetoggle",t),lt("toggle",t),bt(t,"popover",l);break;case"xlinkActuate":bn(t,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":bn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":bn(t,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":bn(t,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":bn(t,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":bn(t,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":bn(t,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":bn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":bn(t,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":bt(t,"is",l);break;case"innerText":case"textContent":return;default:if(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")s=BE.get(s)||s,bt(t,s,l);else return}dt=!0}function Cp(t,n,s,l,f,m){switch(s){case"style":Og(t,l,m);return;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(s=l.__html,s!=null){if(f.children!=null)throw Error(r(60));m?.__html!==s&&(t.innerHTML=s)}}break;case"children":if(typeof l=="string")cs(t,l);else if(typeof l=="number"||typeof l=="bigint")cs(t,""+l);else return;break;case"onScroll":l!=null&<("scroll",t);return;case"onScrollEnd":l!=null&<("scrollend",t);return;case"onClick":l!=null&&(t.onclick=Bi);return;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":return;case"innerText":case"textContent":return;default:if(!Vo.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(f=s.endsWith("Capture"),m=s.slice(2,f?s.length-7:void 0),n=t[he]||null,n=n!=null?n[s]:null,typeof n=="function"&&t.removeEventListener(m,n,f),typeof l=="function")){typeof n!="function"&&n!==null&&(s in t?t[s]=null:t.hasAttribute(s)&&t.removeAttribute(s)),t.addEventListener(m,l,f);break e}dt=!0,s in t?t[s]=l:l===!0?t.setAttribute(s,""):bt(t,s,l)}return}dt=!0}function _n(t,n,s){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":lt("error",t),lt("load",t);var l=!1,f=!1,m;for(m in s)if(s.hasOwnProperty(m)){var w=s[m];if(w!=null)switch(m){case"src":l=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:Ct(t,n,m,w,s,null)}}f&&Ct(t,n,"srcSet",s.srcSet,s,null),l&&Ct(t,n,"src",s.src,s,null);return;case"input":lt("invalid",t);var E=m=w=f=null,L=null,V=null;for(l in s)if(s.hasOwnProperty(l)){var W=s[l];if(W!=null)switch(l){case"name":f=W;break;case"type":w=W;break;case"checked":L=W;break;case"defaultChecked":V=W;break;case"value":m=W;break;case"defaultValue":E=W;break;case"children":case"dangerouslySetInnerHTML":if(W!=null)throw Error(r(137,n));break;default:Ct(t,n,l,W,s,null)}}Zo(t,m,E,L,V,w,f,!1);return;case"select":lt("invalid",t),l=w=m=null;for(f in s)if(s.hasOwnProperty(f)&&(E=s[f],E!=null))switch(f){case"value":m=E;break;case"defaultValue":w=E;break;case"multiple":l=E;default:Ct(t,n,f,E,s,null)}n=m,s=w,t.multiple=!!l,n!=null?os(t,!!l,n,!1):s!=null&&os(t,!!l,s,!0);return;case"textarea":lt("invalid",t),m=f=l=null;for(w in s)if(s.hasOwnProperty(w)&&(E=s[w],E!=null))switch(w){case"value":l=E;break;case"defaultValue":f=E;break;case"children":m=E;break;case"dangerouslySetInnerHTML":if(E!=null)throw Error(r(91));break;default:Ct(t,n,w,E,s,null)}Cg(t,l,f,m);return;case"option":for(L in s)s.hasOwnProperty(L)&&(l=s[L],l!=null)&&(L==="selected"?t.selected=l&&typeof l!="function"&&typeof l!="symbol":Ct(t,n,L,l,s,null));return;case"dialog":lt("beforetoggle",t),lt("toggle",t),lt("cancel",t),lt("close",t);break;case"iframe":case"object":lt("load",t);break;case"video":case"audio":for(l=0;l<Ql.length;l++)lt(Ql[l],t);break;case"image":lt("error",t),lt("load",t);break;case"details":lt("toggle",t);break;case"embed":case"source":case"link":lt("error",t),lt("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(V in s)if(s.hasOwnProperty(V)&&(l=s[V],l!=null))switch(V){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:Ct(t,n,V,l,s,null)}return;default:if(Ad(n)){for(W in s)s.hasOwnProperty(W)&&(l=s[W],l!==void 0&&Cp(t,n,W,l,s,void 0));return}}for(E in s)s.hasOwnProperty(E)&&(l=s[E],l!=null&&Ct(t,n,E,l,s,null))}var wN={};function kN(t,n,s,l){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,m=null,w=null,E=null,L=null,V=null,W=null;for(Q in s){var le=s[Q];if(s.hasOwnProperty(Q)&&le!=null)switch(Q){case"checked":break;case"value":break;case"defaultValue":L=le;default:l.hasOwnProperty(Q)||Ct(t,n,Q,null,l,le)}}for(var Y in l){var Q=l[Y];if(le=s[Y],l.hasOwnProperty(Y)&&(Q!=null||le!=null))switch(Y){case"type":Q!==le&&(dt=!0),m=Q;break;case"name":Q!==le&&(dt=!0),f=Q;break;case"checked":Q!==le&&(dt=!0),V=Q;break;case"defaultChecked":Q!==le&&(dt=!0),W=Q;break;case"value":Q!==le&&(dt=!0),w=Q;break;case"defaultValue":Q!==le&&(dt=!0),E=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(r(137,n));break;default:Q!==le&&Ct(t,n,Y,Q,l,le)}}Qn(t,w,E,L,V,W,m,f);return;case"select":Q=w=E=Y=null;for(m in s)if(L=s[m],s.hasOwnProperty(m)&&L!=null)switch(m){case"value":break;case"multiple":Q=L;default:l.hasOwnProperty(m)||Ct(t,n,m,null,l,L)}for(f in l)if(m=l[f],L=s[f],l.hasOwnProperty(f)&&(m!=null||L!=null))switch(f){case"value":m!==L&&(dt=!0),Y=m;break;case"defaultValue":m!==L&&(dt=!0),E=m;break;case"multiple":m!==L&&(dt=!0),w=m;default:m!==L&&Ct(t,n,f,m,l,L)}n=E,s=w,l=Q,Y!=null?os(t,!!s,Y,!1):!!l!=!!s&&(n!=null?os(t,!!s,n,!0):os(t,!!s,s?[]:"",!1));return;case"textarea":Q=Y=null;for(E in s)if(f=s[E],s.hasOwnProperty(E)&&f!=null&&!l.hasOwnProperty(E))switch(E){case"value":break;case"children":break;default:Ct(t,n,E,null,l,f)}for(w in l)if(f=l[w],m=s[w],l.hasOwnProperty(w)&&(f!=null||m!=null))switch(w){case"value":f!==m&&(dt=!0),Y=f;break;case"defaultValue":f!==m&&(dt=!0),Q=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(r(91));break;default:f!==m&&Ct(t,n,w,f,l,m)}Tg(t,Y,Q);return;case"option":for(var we in s)Y=s[we],s.hasOwnProperty(we)&&Y!=null&&!l.hasOwnProperty(we)&&(we==="selected"?t.selected=!1:Ct(t,n,we,null,l,Y));for(L in l)Y=l[L],Q=s[L],l.hasOwnProperty(L)&&Y!==Q&&(Y!=null||Q!=null)&&(L==="selected"?(Y!==Q&&(dt=!0),t.selected=Y&&typeof Y!="function"&&typeof Y!="symbol"):Ct(t,n,L,Y,l,Q));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Oe in s)Y=s[Oe],s.hasOwnProperty(Oe)&&Y!=null&&!l.hasOwnProperty(Oe)&&Ct(t,n,Oe,null,l,Y);for(V in l)if(Y=l[V],Q=s[V],l.hasOwnProperty(V)&&Y!==Q&&(Y!=null||Q!=null))switch(V){case"children":case"dangerouslySetInnerHTML":if(Y!=null)throw Error(r(137,n));break;default:Ct(t,n,V,Y,l,Q)}return;default:if(Ad(n)){for(var tt in s)Y=s[tt],s.hasOwnProperty(tt)&&Y!==void 0&&!l.hasOwnProperty(tt)&&Cp(t,n,tt,void 0,l,Y);for(W in l)Y=l[W],Q=s[W],!l.hasOwnProperty(W)||Y===Q||Y===void 0&&Q===void 0||Cp(t,n,W,Y,l,Q);return}}for(var K in s)Y=s[K],s.hasOwnProperty(K)&&Y!=null&&!l.hasOwnProperty(K)&&Ct(t,n,K,null,l,Y);for(le in l)Y=l[le],Q=s[le],!l.hasOwnProperty(le)||Y===Q||Y==null&&Q==null||Ct(t,n,le,Y,l,Q)}function Ly(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function EN(){if(typeof performance.getEntriesByType=="function"){for(var t=0,n=0,s=performance.getEntriesByType("resource"),l=0;l<s.length;l++){var f=s[l],m=f.transferSize,w=f.initiatorType,E=f.duration;if(m&&E&&Ly(w)){for(w=0,E=f.responseEnd,l+=1;l<s.length;l++){var L=s[l],V=L.startTime;if(V>E)break;var W=L.transferSize,le=L.initiatorType;W&&Ly(le)&&(L=L.responseEnd,w+=W*(L<E?1:(E-V)/(L-V)))}if(--l,n+=8*(m+w)/(f.duration/1e3),t++,10<t)break}}if(0<t)return n/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Ap=null,Op=null;function Jl(t){return t.nodeType===9?t:t.ownerDocument}function Iy(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Uy(t,n){if(t===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&n==="foreignObject"?0:t}function By(t,n,s,l){return s=Jl(s).createElement(t),s[on]=l,s[he]=n,_n(s,t,n),Qt(s),s}function jp(t,n){return t==="textarea"||t==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Mp=null;function _N(){var t=window.event;return t&&t.type==="popstate"?t===Mp?!1:(Mp=t,!0):(Mp=null,!1)}var Rp=typeof setTimeout=="function"?setTimeout:void 0,NN=typeof clearTimeout=="function"?clearTimeout:void 0,$y=typeof Promise=="function"?Promise:void 0,Hy=typeof requestAnimationFrame=="function"?requestAnimationFrame:Rp,SN=typeof queueMicrotask=="function"?queueMicrotask:typeof $y<"u"?function(t){return $y.resolve(null).then(t).catch(TN)}:Rp;function TN(t){setTimeout(function(){throw t})}function or(t){return t==="head"}function Py(t,n){var s=n,l=0;do{var f=s.nextSibling;if(t.removeChild(s),f&&f.nodeType===8)if(s=f.data,s==="/$"||s==="/&"){if(l===0){t.removeChild(f),Ys(n);return}l--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")l++;else if(s==="html")Hp(t.ownerDocument.documentElement);else if(s==="head"){s=t.ownerDocument.head,Hp(s);for(var m=s.firstChild;m;){var w=m.nextSibling,E=m.nodeName;m[Fn]||E==="SCRIPT"||E==="STYLE"||E==="LINK"&&m.rel.toLowerCase()==="stylesheet"||s.removeChild(m),m=w}}else s==="body"&&Hp(t.ownerDocument.body);s=f}while(s);Ys(n)}function Fy(t,n){var s=t;t=0;do{var l=s.nextSibling;if(s.nodeType===1?n?(s._stashedDisplay=s.style.display,s.style.display="none"):(s.style.display=s._stashedDisplay||"",s.getAttribute("style")===""&&s.removeAttribute("style")):s.nodeType===3&&(n?(s._stashedText=s.nodeValue,s.nodeValue=""):s.nodeValue=s._stashedText||""),l&&l.nodeType===8)if(s=l.data,s==="/$"){if(t===0)break;t--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||t++;s=l}while(s)}function qy(t,n,s){if(n=CSS.escape(n)!==n?"r-"+btoa(n).replace(/=/g,""):n,t.style.viewTransitionName=n,s!=null&&(t.style.viewTransitionClass=s),s=getComputedStyle(t),s.display==="inline"){if(n=t.getClientRects(),n.length===1)var l=1;else for(var f=l=0;f<n.length;f++){var m=n[f];0<m.width&&0<m.height&&l++}l===1&&(t=t.style,t.display=n.length===1?"inline-block":"block",t.marginTop="-"+s.paddingTop,t.marginBottom="-"+s.paddingBottom)}}function Gy(t,n){t=t.style,n=n.style;var s=n!=null?n.hasOwnProperty("viewTransitionName")?n.viewTransitionName:n.hasOwnProperty("view-transition-name")?n["view-transition-name"]:null:null;t.viewTransitionName=s==null||typeof s=="boolean"?"":(""+s).trim(),s=n!=null?n.hasOwnProperty("viewTransitionClass")?n.viewTransitionClass:n.hasOwnProperty("view-transition-class")?n["view-transition-class"]:null:null,t.viewTransitionClass=s==null||typeof s=="boolean"?"":(""+s).trim(),t.display==="inline-block"&&(n==null?t.display=t.margin="":(s=n.display,t.display=s==null||typeof s=="boolean"?"":s,s=n.margin,s!=null?t.margin=s:(s=n.hasOwnProperty("marginTop")?n.marginTop:n["margin-top"],t.marginTop=s==null||typeof s=="boolean"?"":s,n=n.hasOwnProperty("marginBottom")?n.marginBottom:n["margin-bottom"],t.marginBottom=n==null||typeof n=="boolean"?"":n)))}function CN(t,n,s){return s=s.ownerDocument.defaultView,{rect:t,abs:n.position==="absolute"||n.position==="fixed",clip:n.clipPath!=="none"||n.overflow!=="visible"||n.filter!=="none"||n.mask!=="none"||n.mask!=="none"||n.borderRadius!=="0px",view:0<=t.bottom&&0<=t.right&&t.top<=s.innerHeight&&t.left<=s.innerWidth}}function Dp(t){var n=t.getBoundingClientRect(),s=getComputedStyle(t);return CN(n,s,t)}function AN(t){return t.documentElement.clientHeight}function ON(t){this.addEventListener("load",t),this.addEventListener("error",t)}function jN(t,n,s,l,f,m,w,E,L){var V=n.nodeType===9?n:n.ownerDocument;try{var W=V.startViewTransition({update:function(){var Y=V.defaultView,Q=Y.navigation&&Y.navigation.transition,we=V.fonts.status;l();var Oe=[];if(we==="loaded"&&(AN(V),V.fonts.status==="loading"&&Oe.push(V.fonts.ready)),we=Oe.length,t!==null)for(var tt=t.suspenseyImages,K=0,q=0;q<tt.length;q++){var Z=tt[q];if(!Z.complete){var se=Z.getBoundingClientRect();if(0<se.bottom&&0<se.right&&se.top<Y.innerHeight&&se.left<Y.innerWidth){if(K+=f0(Z),K>su){Oe.length=we;break}Z=new Promise(ON.bind(Z)),Oe.push(Z)}}}if(0<Oe.length)return Y=Promise.race([Promise.all(Oe),new Promise(function(Te){return setTimeout(Te,500)})]).then(f,f),(Q?Promise.allSettled([Q.finished,Y]):Y).then(m,m);if(f(),Q)return Q.finished.then(m,m);m()},types:s});V.__reactViewTransition=W;var le=[];return W.ready.then(function(){for(var Y=V.documentElement.getAnimations({subtree:!0}),Q=0;Q<Y.length;Q++){var we=Y[Q],Oe=we.effect,tt=Oe.pseudoElement;if(tt!=null&&tt.startsWith("::view-transition")){le.push(we),we=Oe.getKeyframes();for(var K=tt=void 0,q=!0,Z=0;Z<we.length;Z++){var se=we[Z],Te=se.width;if(tt===void 0)tt=Te;else if(tt!==Te){q=!1;break}if(Te=se.height,K===void 0)K=Te;else if(K!==Te){q=!1;break}delete se.width,delete se.height,se.transform==="none"&&delete se.transform}q&&tt!==void 0&&K!==void 0&&(Oe.setKeyframes(we),q=getComputedStyle(Oe.target,Oe.pseudoElement),q.width!==tt||q.height!==K)&&(q=we[0],q.width=tt,q.height=K,q=we[we.length-1],q.width=tt,q.height=K,Oe.setKeyframes(we))}}w()},function(Y){V.__reactViewTransition===W&&(V.__reactViewTransition=null);try{typeof Y=="object"&&Y!==null&&Y.name==="InvalidStateError"&&(Y.message==="View transition was skipped because document visibility state is hidden."||Y.message==="Skipping view transition because document visibility state has become hidden."||Y.message==="Skipping view transition because viewport size changed."||Y.message==="Transition was aborted because of invalid state")&&(Y=null),Y!==null&&L(Y)}finally{l(),f(),w()}}),W.finished.finally(function(){for(var Y=0;Y<le.length;Y++)le[Y].cancel();V.__reactViewTransition===W&&(V.__reactViewTransition=null),E()}),W}catch{return l(),f(),w(),null}}function Gr(t,n){this._scope=document.documentElement,this._selector="::view-transition-"+t+"("+n+")"}Gr.prototype.animate=function(t,n){return n=typeof n=="number"?{duration:n}:C({},n),n.pseudoElement=this._selector,this._scope.animate(t,n)},Gr.prototype.getAnimations=function(){for(var t=this._scope,n=this._selector,s=t.getAnimations({subtree:!0}),l=[],f=0;f<s.length;f++){var m=s[f].effect;m!==null&&m.target===t&&m.pseudoElement===n&&l.push(s[f])}return l},Gr.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)};function Yy(t){return{name:t,group:new Gr("group",t),imagePair:new Gr("image-pair",t),old:new Gr("old",t),new:new Gr("new",t)}}function ai(t){this._fragmentFiber=t,this._observers=this._eventListeners=null}ai.prototype.addEventListener=function(t,n,s){var l=null,f=null;if(!(s!=null&&typeof s!="boolean"&&(l=s.signal||null,l!==null&&l.aborted))){this._eventListeners===null&&(this._eventListeners=[]);var m=this._eventListeners;if(Vy(m,t,n,s)===-1){var w=this,E=n;s!=null&&typeof s!="boolean"&&s.once===!0&&(E=function(L){w.removeEventListener(t,n,s),typeof n=="function"?n.call(this,L):n.handleEvent(L)}),l!==null&&(f=w.removeEventListener.bind(w,t,n,s),l.addEventListener("abort",f,{once:!0}),f=l.removeEventListener.bind(l,"abort",f)),l=$s(s),m.push({type:t,listener:n,optionsOrUseCapture:s,attachedListener:E,cleanup:f}),b(this._fragmentFiber.child,!1,MN,t,E,l)}this._eventListeners=m}};function MN(t,n,s,l){return _(t).addEventListener(n,s,l),!1}ai.prototype.removeEventListener=function(t,n,s){var l=this._eventListeners;if(l!==null&&(n=Vy(l,t,n,s),n!==-1)){var f=l[n];s=f.attachedListener;var m=f.cleanup;f=$s(f.optionsOrUseCapture),b(this._fragmentFiber.child,!1,RN,t,s,f),l.splice(n,1),m!==null&&m()}};function RN(t,n,s,l){return _(t).removeEventListener(n,s,l),!1}function $s(t){return t!=null&&typeof t!="boolean"&&(t.once===!0||t.signal instanceof AbortSignal)?{capture:t.capture,passive:t.passive}:t}function Ky(t){return t==null?"c=0":typeof t=="boolean"?"c="+(t?"1":"0"):"c="+(t.capture?"1":"0")}function Vy(t,n,s,l){if(t.length===0)return-1;l=Ky(l);for(var f=0;f<t.length;f++){var m=t[f];if(m.type===n&&m.listener===s&&Ky(m.optionsOrUseCapture)===l)return f}return-1}ai.prototype.dispatchEvent=function(t){var n=v(this._fragmentFiber);if(n===null)return!0;n=_(n);var s=this._eventListeners;if(s!==null&&0<s.length||!t.bubbles){var l=n.nodeType===9?n.createComment(""):document.createTextNode("");if(s)for(var f=0;f<s.length;f++){var m=s[f];l.addEventListener(m.type,m.attachedListener,$s(m.optionsOrUseCapture))}if(n.appendChild(l),t=l.dispatchEvent(t),s)for(f=0;f<s.length;f++)m=s[f],l.removeEventListener(m.type,m.attachedListener,$s(m.optionsOrUseCapture));return n.removeChild(l),t}return n.dispatchEvent(t)},ai.prototype.focus=function(t){b(this._fragmentFiber.child,!0,Xy,t,void 0,void 0)};function Xy(t,n){return t.tag===6?!1:(t=_(t),GN(t,n))}ai.prototype.focusLast=function(t){var n=[];b(this._fragmentFiber.child,!0,zp,n,void 0,void 0);for(var s=n.length-1;0<=s&&!Xy(n[s],t);s--);};function zp(t,n){return n.push(t),!1}ai.prototype.blur=function(){var t=v(this._fragmentFiber);t!==null&&(t=_(t),t=Jl(t).activeElement,t!==null&&b(this._fragmentFiber.child,!1,DN,t,void 0,void 0))};function DN(t,n){return t.tag===6?!1:(t=_(t),t===n||t.contains(n)?(n.blur(),!0):!1)}ai.prototype.observeUsing=function(t){this._observers===null&&(this._observers=new Set),this._observers.add(t),b(this._fragmentFiber.child,!1,zN,t,void 0,void 0)};function zN(t,n){return t.tag===6||(t=_(t),n.observe(t)),!1}ai.prototype.unobserveUsing=function(t){var n=this._observers;if(n!==null&&n.has(t)){n.delete(t),b(this._fragmentFiber.child,!1,LN,t,void 0,void 0);for(var s=n=0;s<ji.length;s++){var l=ji[s];l.fragmentInstance===this&&l.observer===t?t.unobserve(l.instance):ji[n++]=l}ji.length=n}};function LN(t,n){return t.tag===6||(t=_(t),n.unobserve(t)),!1}var ji=[],Lp=!1;function IN(t,n,s){ji.push({fragmentInstance:t,observer:n,instance:s}),Lp||(Lp=!0,YN(function(){Lp=!1;var l=ji;ji=[];for(var f=0;f<l.length;f++){var m=l[f];m.observer.unobserve(m.instance)}}))}ai.prototype.getClientRects=function(){var t=[];return b(this._fragmentFiber.child,!1,UN,t,void 0,void 0),t};function UN(t,n){if(t.tag===6){t=t.stateNode;var s=t.ownerDocument.createRange();s.selectNodeContents(t),n.push.apply(n,s.getClientRects())}else t=_(t),n.push.apply(n,t.getClientRects());return!1}ai.prototype.getRootNode=function(t){var n=v(this._fragmentFiber);return n===null?this:_(n).getRootNode(t)},ai.prototype.compareDocumentPosition=function(t){var n=v(this._fragmentFiber);if(n===null)return Node.DOCUMENT_POSITION_DISCONNECTED;var s=[];b(this._fragmentFiber.child,!1,zp,s,void 0,void 0);var l=_(n);if(s.length===0){if(s=l,y(this._fragmentFiber)){e:{for(n=this._fragmentFiber.return;n!==null;){if(n.tag===4){n=n.stateNode.containerInfo;break e}if(n.tag===3||n.tag===5||n.tag===27)break;n=n.return}n=null}n!=null&&(s=n)}n=this._fragmentFiber;var f=l=s.compareDocumentPosition(t);return s===t?f=Node.DOCUMENT_POSITION_CONTAINS:l&Node.DOCUMENT_POSITION_CONTAINED_BY&&(s=k(n)[1],s===null?f=Node.DOCUMENT_POSITION_PRECEDING:(t=_(s).compareDocumentPosition(t),f=t===0||t&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING)),f|=Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}n=_(s[0]),f=_(s[s.length-1]);var m=y(this._fragmentFiber)?n.parentElement:l;if(m==null)return Node.DOCUMENT_POSITION_DISCONNECTED;l=m.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY,m=m.compareDocumentPosition(f)&Node.DOCUMENT_POSITION_CONTAINED_BY;var w=n.compareDocumentPosition(t),E=f.compareDocumentPosition(t),L=w&Node.DOCUMENT_POSITION_CONTAINED_BY||E&Node.DOCUMENT_POSITION_CONTAINED_BY;return E=l&&m&&w&Node.DOCUMENT_POSITION_FOLLOWING&&E&Node.DOCUMENT_POSITION_PRECEDING,n=l&&n===t||m&&f===t||L||E?Node.DOCUMENT_POSITION_CONTAINED_BY:!l&&n===t||!m&&f===t?Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:w,n&Node.DOCUMENT_POSITION_DISCONNECTED||n&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||BN(n,this._fragmentFiber,s[0],s[s.length-1],t)?n:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC};function BN(t,n,s,l,f){var m=pn(f);if(t&Node.DOCUMENT_POSITION_CONTAINED_BY){if(s=!!m)e:{for(;m!==null;){if(m.tag===7&&(m===n||m.alternate===n)){s=!0;break e}m=m.return}s=!1}return s}if(t&Node.DOCUMENT_POSITION_CONTAINS){if(m===null)return m=f.ownerDocument,f===m||f===m.documentElement||f===m.body;e:{for(m=n,n=v(n);m!==null;){if(!(m.tag!==5&&m.tag!==3&&m.tag!==27||m!==n&&m.alternate!==n)){m=!0;break e}m=m.return}m=!1}return m}return t&Node.DOCUMENT_POSITION_PRECEDING?((n=!!m)&&!(n=m===s)&&(n=M(s,m,B),n===null?n=!1:(b(n,!0,S,m,s),m=T,T=null,n=m!==null)),n):t&Node.DOCUMENT_POSITION_FOLLOWING?((n=!!m)&&!(n=m===l)&&(n=M(l,m,B),n===null?n=!1:(b(n,!0,U,m,l),m=T,A=T=null,n=m!==null)),n):!1}function Zy(t,n){var s=t.ownerDocument.createRange();s.selectNodeContents(t),t=s.getBoundingClientRect(),window.scrollTo(window.scrollX+t.left,n?window.scrollY+t.top:window.scrollY+t.bottom-window.innerHeight)}ai.prototype.scrollIntoView=function(t){if(typeof t=="object")throw Error(r(566));var n=[];b(this._fragmentFiber.child,!1,zp,n,void 0,void 0);var s=t!==!1;if(n.length===0){var l=k(this._fragmentFiber);if(l=s?l[1]||l[0]||v(this._fragmentFiber):l[0]||l[1],l===null)return;if(l.tag===6){t=_(l),Zy(t,s);return}if(l=_(l),l.nodeType!==9){if(l.nodeType===11){s="host"in l?l.host:null,s!==null&&s.scrollIntoView(t);return}l.scrollIntoView(t)}}for(l=s?n.length-1:0;l!==(s?-1:n.length);){var f=n[l];f.tag===6?(f=_(f),Zy(f,s)):_(f).scrollIntoView(t),l+=s?-1:1}};function $N(t,n){return t=_(t),Qy(t,n),!1}function Qy(t,n){t.reactFragments==null&&(t.reactFragments=new Set),t.reactFragments.add(n)}function Wy(t,n){var s=n._eventListeners;if(s!==null)for(var l=0;l<s.length;l++){var f=s[l];t.addEventListener(f.type,f.attachedListener,$s(f.optionsOrUseCapture))}t.nodeType!==3&&(s=n._observers,s!==null&&s.forEach(function(m){for(var w=0,E=0;E<ji.length;E++){var L=ji[E];(L.fragmentInstance!==n||L.observer!==m||L.instance!==t)&&(ji[w++]=L)}ji.length=w,m.observe(t)}),Qy(t,n))}function HN(t,n){var s=n._eventListeners;if(s!==null)for(var l=0;l<s.length;l++){var f=s[l];t.removeEventListener(f.type,f.attachedListener,$s(f.optionsOrUseCapture))}t.nodeType!==3&&(s=n._observers,s!==null&&s.forEach(function(m){typeof m.rootMargin=="string"?IN(n,m,t):m.unobserve(t)}),t.reactFragments!=null&&t.reactFragments.delete(n))}function Ip(t){var n=t.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var s=n;switch(n=n.nextSibling,s.nodeName){case"HTML":case"HEAD":case"BODY":Ip(s),fn(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}t.removeChild(s)}}function PN(t,n,s,l){for(;t.nodeType===1;){var f=s;if(t.nodeName.toLowerCase()!==n.toLowerCase()){if(!l&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(l){if(!t[Fn])switch(n){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(m=t.getAttribute("rel"),m==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(m!==f.rel||t.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||t.getAttribute("title")!==(f.title==null?null:f.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(m=t.getAttribute("src"),(m!==(f.src==null?null:f.src)||t.getAttribute("type")!==(f.type==null?null:f.type)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&m&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(n==="input"&&t.type==="hidden"){var m=f.name==null?null:""+f.name;if(f.type==="hidden"&&t.getAttribute("name")===m)return t}else return t;if(t=hi(t.nextSibling),t===null)break}return null}function FN(t,n,s){if(n==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=hi(t.nextSibling),t===null))return null;return t}function Jy(t,n){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=hi(t.nextSibling),t===null))return null;return t}function Up(t){return t.data==="$?"||t.data==="$~"}function Bp(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function qN(t,n){var s=t.ownerDocument;if(t.data==="$~")t._reactRetry=n;else if(t.data!=="$?"||s.readyState!=="loading")n();else{var l=function(){n(),s.removeEventListener("DOMContentLoaded",l)};s.addEventListener("DOMContentLoaded",l),t._reactRetry=l}}function hi(t){for(;t!=null;t=t.nextSibling){var n=t.nodeType;if(n===1||n===3)break;if(n===8){if(n=t.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return t}var $p=null;function e0(t){t=t.nextSibling;for(var n=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"||s==="/&"){if(n===0)return hi(t.nextSibling);n--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||n++}t=t.nextSibling}return null}function t0(t){t=t.previousSibling;for(var n=0;t;){if(t.nodeType===8){var s=t.data;if(s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"){if(n===0)return t;n--}else s!=="/$"&&s!=="/&"||n++}t=t.previousSibling}return null}function GN(t,n){function s(){l=!0}if(t.ownerDocument.activeElement===t)return!0;var l=!1;try{t.ownerDocument.addEventListener("focus",s,!0),(t.focus||HTMLElement.prototype.focus).call(t,n)}finally{t.ownerDocument.removeEventListener("focus",s,!0)}return l}function YN(t){Hy(function(){Hy(function(n){return t(n)})})}function n0(t,n,s){switch(n=Jl(s),t){case"html":if(t=n.documentElement,!t)throw Error(r(452));return t;case"head":if(t=n.head,!t)throw Error(r(453));return t;case"body":if(t=n.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function i0(t,n,s){for(var l in s){var f=s[l];s.hasOwnProperty(l)&&f!=null&&Ct(t,n,l,null,wN,f)}s.dangerouslySetInnerHTML!=null&&(t.textContent=""),t.onclick===Bi&&(t.onclick=null),fn(t)}function Hp(t){for(var n=t.attributes;n.length;)t.removeAttributeNode(n[0]);fn(t)}var gi=new Map,a0=new Set;function eo(t){if(typeof t.getRootNode=="function"){var n=t.getRootNode();if(n.nodeType===9||n.nodeType===11)return n}return t.nodeType===9?t:t.ownerDocument}var Ta=fe.d;fe.d={f:KN,r:VN,D:XN,C:ZN,L:QN,m:WN,X:eS,S:JN,M:tS};function KN(){var t=Ta.f(),n=Qc();return t||n}function VN(t){var n=da(t);n!==null&&n.tag===5&&n.type==="form"?sb(n):Ta.r(t)}var Hs=typeof document>"u"?null:document;function r0(t,n,s){var l=Hs;if(l&&typeof n=="string"&&n){var f=Nt(n);f='link[rel="'+t+'"][href="'+f+'"]',typeof s=="string"&&(f+='[crossorigin="'+s+'"]'),a0.has(f)||(a0.add(f),t={rel:t,crossOrigin:s,href:n},l.querySelector(f)===null&&(n=l.createElement("link"),_n(n,"link",t),Qt(n),l.head.appendChild(n)))}}function XN(t){Ta.D(t),r0("dns-prefetch",t,null)}function ZN(t,n){Ta.C(t,n),r0("preconnect",t,n)}function QN(t,n,s){Ta.L(t,n,s);var l=Hs;if(l&&t&&n){var f='link[rel="preload"][as="'+Nt(n)+'"]';n==="image"&&s&&s.imageSrcSet?(f+='[imagesrcset="'+Nt(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(f+='[imagesizes="'+Nt(s.imageSizes)+'"]')):f+='[href="'+Nt(t)+'"]';var m=f;switch(n){case"style":m=Ps(t);break;case"script":m=Fs(t)}if(!(gi.has(m)||(t=C({rel:"preload",href:n==="image"&&s&&s.imageSrcSet?void 0:t,as:n},s),gi.set(m,t),l.querySelector(f)!==null||n==="style"&&l.querySelector(to(m))||n==="script"&&l.querySelector(no(m))))){var w=l.createElement("link");_n(w,"link",t),n==="style"&&(w[ua]=!0,w.onload=w.onerror=function(){Yo(w)}),Qt(w),l.head.appendChild(w)}}}function WN(t,n){Ta.m(t,n);var s=Hs;if(s&&t){var l=n&&typeof n.as=="string"?n.as:"script",f='link[rel="modulepreload"][as="'+Nt(l)+'"][href="'+Nt(t)+'"]',m=f;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":m=Fs(t)}if(!gi.has(m)&&(t=C({rel:"modulepreload",href:t},n),gi.set(m,t),s.querySelector(f)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(no(m)))return}l=s.createElement("link"),_n(l,"link",t),Qt(l),s.head.appendChild(l)}}}function JN(t,n,s){Ta.S(t,n,s);var l=Hs;if(l&&t){var f=fa(l).hoistableStyles,m=Ps(t);n=n||"default";var w=f.get(m);if(!w){var E={loading:0,preload:null};if(w=l.querySelector(to(m)))E.loading=5;else{t=C({rel:"stylesheet",href:t,"data-precedence":n},s),(s=gi.get(m))&&Pp(t,s);var L=w=l.createElement("link");Qt(L),_n(L,"link",t),L._p=new Promise(function(V,W){L.onload=V,L.onerror=W}),L.addEventListener("load",function(){E.loading|=1}),L.addEventListener("error",function(){E.loading|=2}),E.loading|=4,au(w,n,l)}w={type:"stylesheet",instance:w,count:1,state:E},f.set(m,w)}}}function eS(t,n){Ta.X(t,n);var s=Hs;if(s&&t){var l=fa(s).hoistableScripts,f=Fs(t),m=l.get(f);m||(m=s.querySelector(no(f)),m||(t=C({src:t,async:!0},n),(n=gi.get(f))&&Fp(t,n),m=s.createElement("script"),Qt(m),_n(m,"link",t),s.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},l.set(f,m))}}function tS(t,n){Ta.M(t,n);var s=Hs;if(s&&t){var l=fa(s).hoistableScripts,f=Fs(t),m=l.get(f);m||(m=s.querySelector(no(f)),m||(t=C({src:t,async:!0,type:"module"},n),(n=gi.get(f))&&Fp(t,n),m=s.createElement("script"),Qt(m),_n(m,"link",t),s.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},l.set(f,m))}}function s0(t,n,s,l){var f=(f=Rn.current)?eo(f):null;if(!f)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(s=Ps(s.href),n=fa(f).hoistableStyles,l=n.get(s),l||(l={type:"style",instance:null,count:0,state:null},n.set(s,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){t=Ps(s.href);var m=fa(f).hoistableStyles,w=m.get(t);if(w||(f=f.ownerDocument||f,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},m.set(t,w),(m=f.querySelector(to(t)))?m._p||(w.instance=m,w.state.loading=5):(m=gi.get(t),m||(m={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},gi.set(t,m)),nS(f,t,m,w.state))),n&&l===null)throw Error(r(528,""));return w}if(n&&l!==null)throw Error(r(529,""));return null;case"script":return n=s.async,s=s.src,typeof s=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(s=Fs(s),n=fa(f).hoistableScripts,l=n.get(s),l||(l={type:"script",instance:null,count:0,state:null},n.set(s,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function Ps(t){return'href="'+Nt(t)+'"'}function to(t){return'link[rel="stylesheet"]['+t+"]"}function l0(t){return C({},t,{"data-precedence":t.precedence,precedence:null})}function nS(t,n,s,l){if(n=t.querySelector('link[rel="preload"][as="style"]['+n+"]")){if(n[ua]!==!0){l.loading=1;return}}else n=t.createElement("link"),n[ua]=!0,n.onload=n.onerror=Yo.bind(null,n),_n(n,"link",s),Qt(n),t.head.appendChild(n);l.preload=n,n.addEventListener("load",function(){return l.loading|=1}),n.addEventListener("error",function(){return l.loading|=2})}function Fs(t){return'[src="'+Nt(t)+'"]'}function no(t){return"script[async]"+t}function o0(t,n,s){if(n.count++,n.instance===null)switch(n.type){case"style":var l=t.querySelector('style[data-href~="'+Nt(s.href)+'"]');if(l)return n.instance=l,Qt(l),l;var f=C({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),Qt(l),_n(l,"style",f),au(l,s.precedence,t),n.instance=l;case"stylesheet":f=Ps(s.href);var m=t.querySelector(to(f));if(m)return n.state.loading|=4,n.instance=m,Qt(m),m;l=l0(s),(f=gi.get(f))&&Pp(l,f),m=(t.ownerDocument||t).createElement("link"),Qt(m);var w=m;return w._p=new Promise(function(E,L){w.onload=E,w.onerror=L}),_n(m,"link",l),n.state.loading|=4,au(m,s.precedence,t),n.instance=m;case"script":return m=Fs(s.src),(f=t.querySelector(no(m)))?(n.instance=f,Qt(f),f):(l=s,(f=gi.get(m))&&(l=C({},s),Fp(l,f)),t=t.ownerDocument||t,f=t.createElement("script"),Qt(f),_n(f,"link",l),t.head.appendChild(f),n.instance=f);case"void":return null;default:throw Error(r(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(l=n.instance,n.state.loading|=4,au(l,s.precedence,t));return n.instance}function au(t,n,s){for(var l=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=l.length?l[l.length-1]:null,m=f,w=0;w<l.length;w++){var E=l[w];if(E.dataset.precedence===n)m=E;else if(m!==f)break}m?m.parentNode.insertBefore(t,m.nextSibling):(n=s.nodeType===9?s.head:s,n.insertBefore(t,n.firstChild))}function Pp(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.title==null&&(t.title=n.title)}function Fp(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.integrity==null&&(t.integrity=n.integrity)}var ru=null;function c0(t,n,s){if(ru===null){var l=new Map,f=ru=new Map;f.set(s,l)}else f=ru,l=f.get(s),l||(l=new Map,f.set(s,l));if(l.has(t))return l;for(l.set(t,null),s=s.getElementsByTagName(t),f=0;f<s.length;f++){var m=s[f];if(!(m[Fn]||m[on]||t==="link"&&m.getAttribute("rel")==="stylesheet")&&m.namespaceURI!=="http://www.w3.org/2000/svg"){var w=m.getAttribute(n)||"";w=t+w;var E=l.get(w);E?E.push(m):l.set(w,[m])}}return l}function qp(t,n,s){t=t.ownerDocument||t,t.head.insertBefore(s,n==="title"?t.querySelector("head > title"):null)}function iS(t,n,s){if(s===1||n.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(t=n.disabled,typeof n.precedence=="string"&&t==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function u0(t,n){return t==="img"&&n.src!=null&&n.src!==""&&n.onLoad==null&&n.loading!=="lazy"}function d0(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function f0(t){return(t.width||100)*(t.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function p0(t,n){typeof n.decode=="function"&&(t.imgCount++,n.complete||(t.imgBytes+=f0(n),t.suspenseyImages.push(n)),t=sS.bind(t),n.decode().then(t,t))}function aS(t,n,s,l){if(s.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var f=Ps(l.href),m=n.querySelector(to(f));if(m){n=m._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(t.count++,t=io.bind(t),n.then(t,t)),s.state.loading|=4,s.instance=m,Qt(m);return}m=n.ownerDocument||n,l=l0(l),(f=gi.get(f))&&Pp(l,f),m=m.createElement("link"),Qt(m);var w=m;w._p=new Promise(function(E,L){w.onload=E,w.onerror=L}),_n(m,"link",l),s.instance=m}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(s,n),(n=s.state.preload)&&(s.state.loading&3)===0&&(t.count++,s=io.bind(t),n.addEventListener("load",s),n.addEventListener("error",s))}}var su=0;function rS(t,n){return t.stylesheets&&t.count===0&&ou(t,t.stylesheets),0<t.count||0<t.imgCount?function(s){var l=setTimeout(function(){if(t.stylesheets&&ou(t,t.stylesheets),t.unsuspend){var m=t.unsuspend;t.unsuspend=null,m()}},6e4+n);0<t.imgBytes&&su===0&&(su=62500*EN());var f=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&ou(t,t.stylesheets),t.unsuspend)){var m=t.unsuspend;t.unsuspend=null,m()}},(t.imgBytes>su?50:800)+n);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(f)}}:null}function m0(t){if(t.count===0&&(t.imgCount===0||!t.waitingForImages)){if(t.stylesheets)ou(t,t.stylesheets);else if(t.unsuspend){var n=t.unsuspend;t.unsuspend=null,n()}}}function io(){this.count--,m0(this)}function sS(){this.imgCount--,m0(this)}var lu=null;function ou(t,n){t.stylesheets=null,t.unsuspend!==null&&(t.count++,lu=new Map,n.forEach(lS,t),lu=null,io.call(t))}function lS(t,n){if(!(n.state.loading&4)){var s=lu.get(t);if(s)var l=s.get(null);else{s=new Map,lu.set(t,s);for(var f=t.querySelectorAll("link[data-precedence],style[data-precedence]"),m=0;m<f.length;m++){var w=f[m];(w.nodeName==="LINK"||w.getAttribute("media")!=="not all")&&(s.set(w.dataset.precedence,w),l=w)}l&&s.set(null,l)}f=n.instance,w=f.getAttribute("data-precedence"),m=s.get(w)||l,m===l&&s.set(null,f),s.set(w,f),this.count++,l=io.bind(this),f.addEventListener("load",l),f.addEventListener("error",l),m?m.parentNode.insertBefore(f,m.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(f,t.firstChild)),n.state.loading|=4}}var qs={$$typeof:te,Provider:null,Consumer:null,_currentValue:De,_currentValue2:De,_threadCount:0};function oS(t,n,s,l,f,m,w,E,L){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=$a(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$a(0),this.hiddenUpdates=$a(null),this.identifierPrefix=l,this.onUncaughtError=f,this.onCaughtError=m,this.onRecoverableError=w,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=L,this.transitionTypes=null,this.incompleteTransitions=new Map}function h0(t,n,s,l,f,m,w,E,L,V,W,le){return t=new oS(t,n,s,w,L,V,W,le,E),n=1,m===!0&&(n|=24),m=qn(3,null,null,n),t.current=m,m.stateNode=t,n=rf(),n.refCount++,t.pooledCache=n,n.refCount++,m.memoizedState={element:l,isDehydrated:s,cache:n},cf(m),t}function g0(t){return t?(t=gs,t):gs}function x0(t,n,s,l,f,m){f=g0(f),l.context===null?l.context=f:l.pendingContext=f,l=Za(n),l.payload={element:s},m=m===void 0?null:m,m!==null&&(l.callback=m),s=Qa(t,l,n),s!==null&&(Vn(s,t,n),Dl(s,t,n))}function b0(t,n){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<n?s:n}}function Gp(t,n){b0(t,n),(t=t.alternate)&&b0(t,n)}function y0(t){if(t.tag===13||t.tag===31){var n=Cr(t,67108864);n!==null&&Vn(n,t,67108864),Gp(t,67108864)}}function v0(t){if(t.tag===13||t.tag===31){var n=ii();n=rs(n);var s=Cr(t,n);s!==null&&Vn(s,t,n),Gp(t,n)}}var Gs=!0;function cS(t,n,s,l){var f=R.T;R.T=null;var m=fe.p;try{fe.p=2,Yp(t,n,s,l)}finally{fe.p=m,R.T=f}}function uS(t,n,s,l){var f=R.T;R.T=null;var m=fe.p;try{fe.p=8,Yp(t,n,s,l)}finally{fe.p=m,R.T=f}}function Yp(t,n,s,l){if(Gs){var f=Kp(l);if(f===null)Tp(t,n,l,cu,s),k0(t,l);else if(fS(f,t,n,s,l))l.stopPropagation();else if(k0(t,l),n&4&&-1<dS.indexOf(t)){for(;f!==null;){var m=da(f);if(m!==null)switch(m.tag){case 3:if(m=m.stateNode,m.current.memoizedState.isDehydrated){var w=ca(m.pendingLanes);if(w!==0){var E=m;for(E.pendingLanes|=2,E.entangledLanes|=2;w;){var L=1<<31-Ee(w);E.entanglements[1]|=L,w&=~L}Xi(m),(vt&6)===0&&(Vc=Xt()+500,Zl(0))}}break;case 31:case 13:E=Cr(m,2),E!==null&&Vn(E,m,2),Qc(),Gp(m,2)}if(m=Kp(l),m===null&&Tp(t,n,l,cu,s),m===f)break;f=m}f!==null&&l.stopPropagation()}else Tp(t,n,l,null,s)}}function Kp(t){return t=jd(t),Vp(t)}var cu=null;function Vp(t){if(cu=null,t=pn(t),t!==null){var n=u(t);if(n===null)t=null;else{var s=n.tag;if(s===13){if(t=d(n),t!==null)return t;t=null}else if(s===31){if(t=p(n),t!==null)return t;t=null}else if(s===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;t=null}else n!==t&&(t=null)}}return cu=t,null}function w0(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"fullscreenerror":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"resize":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(dn()){case Ei:return 2;case Dn:return 8;case _i:case $:return 32;case oe:return 268435456;default:return 32}default:return 32}}var Xp=!1,cr=null,ur=null,dr=null,ao=new Map,ro=new Map,fr=[],dS="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function k0(t,n){switch(t){case"focusin":case"focusout":cr=null;break;case"dragenter":case"dragleave":ur=null;break;case"mouseover":case"mouseout":dr=null;break;case"pointerover":case"pointerout":ao.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":ro.delete(n.pointerId)}}function so(t,n,s,l,f,m){return t===null||t.nativeEvent!==m?(t={blockedOn:n,domEventName:s,eventSystemFlags:l,nativeEvent:m,targetContainers:[f]},n!==null&&(n=da(n),n!==null&&y0(n)),t):(t.eventSystemFlags|=l,n=t.targetContainers,f!==null&&n.indexOf(f)===-1&&n.push(f),t)}function fS(t,n,s,l,f){switch(n){case"focusin":return cr=so(cr,t,n,s,l,f),!0;case"dragenter":return ur=so(ur,t,n,s,l,f),!0;case"mouseover":return dr=so(dr,t,n,s,l,f),!0;case"pointerover":var m=f.pointerId;return ao.set(m,so(ao.get(m)||null,t,n,s,l,f)),!0;case"gotpointercapture":return m=f.pointerId,ro.set(m,so(ro.get(m)||null,t,n,s,l,f)),!0}return!1}function E0(t){var n=pn(t.target);if(n!==null){var s=u(n);if(s!==null){if(n=s.tag,n===13){if(n=d(s),n!==null){t.blockedOn=n,Go(t.priority,function(){v0(s)});return}}else if(n===31){if(n=p(s),n!==null){t.blockedOn=n,Go(t.priority,function(){v0(s)});return}}else if(n===3&&s.stateNode.current.memoizedState.isDehydrated){t.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}t.blockedOn=null}function uu(t){if(t.blockedOn!==null)return!1;for(var n=t.targetContainers;0<n.length;){var s=Kp(t.nativeEvent);if(s===null){s=t.nativeEvent;var l=new s.constructor(s.type,s);Od=l,s.target.dispatchEvent(l),Od=null}else return n=da(s),n!==null&&y0(n),t.blockedOn=s,!1;n.shift()}return!0}function _0(t,n,s){uu(t)&&s.delete(n)}function pS(){Xp=!1,cr!==null&&uu(cr)&&(cr=null),ur!==null&&uu(ur)&&(ur=null),dr!==null&&uu(dr)&&(dr=null),ao.forEach(_0),ro.forEach(_0)}function du(t,n){t.blockedOn===n&&(t.blockedOn=null,Xp||(Xp=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,pS)))}var fu=null;function N0(t){fu!==t&&(fu=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){fu===t&&(fu=null);for(var n=0;n<t.length;n+=3){var s=t[n],l=t[n+1],f=t[n+2];if(typeof l!="function"){if(Vp(l||s)===null)continue;break}var m=da(s);m!==null&&(t.splice(n,3),n-=3,Of(m,{pending:!0,data:f,method:s.method,action:l},l,f))}}))}function Ys(t){function n(L){return du(L,t)}cr!==null&&du(cr,t),ur!==null&&du(ur,t),dr!==null&&du(dr,t),ao.forEach(n),ro.forEach(n);for(var s=0;s<fr.length;s++){var l=fr[s];l.blockedOn===t&&(l.blockedOn=null)}for(;0<fr.length&&(s=fr[0],s.blockedOn===null);)E0(s),s.blockedOn===null&&fr.shift();if(s=(t.ownerDocument||t).$$reactFormReplay,s!=null)for(l=0;l<s.length;l+=3){var f=s[l],m=s[l+1],w=f[he]||null;if(typeof m=="function")w||N0(s);else if(w){var E=null;if(m&&m.hasAttribute("formAction")){if(f=m,w=m[he]||null)E=w.formAction;else if(Vp(f)!==null)continue}else E=w.action;typeof E=="function"?s[l+1]=E:(s.splice(l,3),l-=3),N0(s)}}}function S0(){function t(m){m.canIntercept&&m.info==="react-transition"&&m.intercept({handler:function(){return new Promise(function(w){return f=w})},focusReset:"manual",scroll:"manual"})}function n(){f!==null&&(f(),f=null),l||setTimeout(s,20)}function s(){if(!l&&!navigation.transition){var m=navigation.currentEntry;m&&m.url!=null&&navigation.navigate(m.url,{state:m.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,f=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(s,100),function(){l=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),f!==null&&(f(),f=null)}}}function Zp(t){this._internalRoot=t}pu.prototype.render=Zp.prototype.render=function(t){var n=this._internalRoot;if(n===null)throw Error(r(409));var s=n.current,l=ii();x0(s,l,t,n,null,null)},pu.prototype.unmount=Zp.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var n=t.containerInfo;x0(t.current,2,null,t,null,null),Qc(),n[je]=null}};function pu(t){this._internalRoot=t}pu.prototype.unstable_scheduleHydration=function(t){if(t){var n=qo();t={blockedOn:null,target:t,priority:n};for(var s=0;s<fr.length&&n!==0&&n<fr[s].priority;s++);fr.splice(s,0,t),s===0&&E0(t)}};var T0=i.version;if(T0!=="19.3.1")throw Error(r(527,T0,"19.3.1"));fe.findDOMNode=function(t){var n=t._reactInternals;if(n===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=h(n),t=t!==null?x(t):null,t=t===null?null:t.stateNode,t};var mS={bundleType:0,version:"19.3.1",rendererPackageName:"react-dom",currentDispatcherRef:R,reconcilerVersion:"19.3.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var mu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!mu.isDisabled&&mu.supportsFiber)try{Rt=mu.inject(mS),ut=mu}catch{}}return oo.createRoot=function(t,n){if(!o(t))throw Error(r(299));var s=!1,l="",f=gb,m=xb,w=bb;return n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(m=n.onCaughtError),n.onRecoverableError!==void 0&&(w=n.onRecoverableError)),n=h0(t,1,!1,null,null,s,l,null,f,m,w,S0),t[je]=n.current,Sp(t),new Zp(n)},oo.hydrateRoot=function(t,n,s){if(!o(t))throw Error(r(299));var l=!1,f="",m=gb,w=xb,E=bb,L=null;return s!=null&&(s.unstable_strictMode===!0&&(l=!0),s.identifierPrefix!==void 0&&(f=s.identifierPrefix),s.onUncaughtError!==void 0&&(m=s.onUncaughtError),s.onCaughtError!==void 0&&(w=s.onCaughtError),s.onRecoverableError!==void 0&&(E=s.onRecoverableError),s.formState!==void 0&&(L=s.formState)),n=h0(t,1,!0,n,s??null,l,f,L,m,w,E,S0),n.context=g0(null),s=n.current,l=ii(),l=rs(l),f=Za(l),f.callback=null,Qa(s,f,l),s=l,n.current.lanes=s,Nr(n,s),Xi(n),t[je]=n.current,Sp(t),new pu(n)},oo.version="19.3.1",oo}var I0;function ES(){if(I0)return em.exports;I0=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(i){console.error(i)}}return e(),em.exports=kS(),em.exports}var _S=ES();const NS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),SS=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(i,a,r)=>r?r.toUpperCase():a.toLowerCase()),U0=e=>{const i=SS(e);return i.charAt(0).toUpperCase()+i.slice(1)},Tv=(...e)=>e.filter((i,a,r)=>!!i&&i.trim()!==""&&r.indexOf(i)===a).join(" ").trim(),TS=e=>{for(const i in e)if(i.startsWith("aria-")||i==="role"||i==="title")return!0};var CS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const AS=F.forwardRef(({color:e="currentColor",size:i=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:u,iconNode:d,...p},g)=>F.createElement("svg",{ref:g,...CS,width:i,height:i,stroke:e,strokeWidth:r?Number(a)*24/Number(i):a,className:Tv("lucide",o),...!u&&!TS(p)&&{"aria-hidden":"true"},...p},[...d.map(([h,x])=>F.createElement(h,x)),...Array.isArray(u)?u:[u]]));const be=(e,i)=>{const a=F.forwardRef(({className:r,...o},u)=>F.createElement(AS,{ref:u,iconNode:i,className:Tv(`lucide-${NS(U0(e))}`,`lucide-${e}`,r),...o}));return a.displayName=U0(e),a};const OS=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],jS=be("activity",OS);const MS=[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]],Cv=be("arrow-down-to-line",MS);const RS=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],DS=be("arrow-left",RS);const zS=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],nd=be("arrow-right",zS);const LS=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],IS=be("arrow-up-right",LS);const US=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],BS=be("arrow-up",US);const $S=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],HS=be("bot",$S);const PS=[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]],B0=be("brain",PS);const FS=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],qS=be("bug",FS);const GS=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],YS=be("calendar-days",GS);const KS=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Sn=be("check",KS);const VS=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ul=be("chevron-down",VS);const XS=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Av=be("chevron-right",XS);const ZS=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],id=be("circle-alert",ZS);const QS=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],WS=be("circle-check",QS);const JS=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],e2=be("circle-x",JS);const t2=[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],n2=be("clock-3",t2);const i2=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],Km=be("cloud",i2);const a2=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],ad=be("copy",a2);const r2=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],zu=be("cpu",r2);const s2=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],Ov=be("download",s2);const l2=[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ns=be("earth",l2);const o2=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],c2=be("ellipsis",o2);const u2=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],jv=be("external-link",u2);const d2=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],f2=be("eye-off",d2);const p2=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Rh=be("eye",p2);const m2=[["path",{d:"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2",key:"142zxg"}],["path",{d:"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"2t3380"}],["path",{d:"M8 18h1",key:"13wk12"}]],Vm=be("file-pen-line",m2);const h2=[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 15h6",key:"4e2qda"}],["path",{d:"M6 12v6",key:"1u72j0"}]],Mv=be("file-plus-2",h2);const g2=[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]],x2=be("file-search",g2);const b2=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],ja=be("file-text",b2);const y2=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]],v2=be("file-up",y2);const w2=[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]],k2=be("flask-conical",w2);const E2=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],Wr=be("folder-open",E2);const _2=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],N2=be("folder-plus",_2);const S2=[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]],T2=be("folder-search",S2);const C2=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],Rv=be("folder-tree",C2);const A2=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],nl=be("folder",A2);const O2=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],j2=be("gamepad-2",O2);const M2=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],Dv=be("git-branch",M2);const R2=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9",key:"1hayfq"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"15ts47"}]],D2=be("hammer",R2);const z2=[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]],rd=be("hard-drive",z2);const L2=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Dh=be("info",L2);const I2=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],zv=be("key-round",I2);const U2=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]],B2=be("layout-template",U2);const $2=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Lv=be("link-2",$2);const H2=[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]],zh=be("list-checks",H2);const P2=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Lh=be("loader-circle",P2);const F2=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],sd=be("lock-keyhole",F2);const q2=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],G2=be("maximize-2",q2);const Y2=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],K2=be("menu",Y2);const V2=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Iv=be("message-square",V2);const X2=[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]],Z2=be("messages-square",X2);const Q2=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Ih=be("monitor",Q2);const W2=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Uh=be("moon",W2);const J2=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],Bh=be("package",J2);const eT=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],Uv=be("palette",eT);const tT=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],nT=be("panel-left-close",tT);const iT=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],aT=be("panel-left-open",iT);const rT=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],sT=be("paperclip",rT);const lT=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],ld=be("pencil",lT);const oT=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],cT=be("play",oT);const uT=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]],Bv=be("plug",uT);const dT=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],yr=be("plus",dT);const fT=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Di=be("refresh-cw",fT);const pT=[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]],vr=be("rocket",pT);const mT=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],$v=be("rotate-ccw",mT);const hT=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Hv=be("rotate-cw",hT);const gT=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],xT=be("save",gT);const bT=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],dl=be("search",bT);const yT=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Pv=be("settings",yT);const vT=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Fv=be("settings-2",vT);const wT=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],kT=be("shield-alert",wT);const ET=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Jr=be("shield-check",ET);const _T=[["path",{d:"M22 2 2 22",key:"y4kqgn"}]],NT=be("slash",_T);const ST=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],TT=be("sliders-horizontal",ST);const CT=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],AT=be("smartphone",CT);const OT=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Ii=be("sparkles",OT);const jT=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],qv=be("square-terminal",jT);const MT=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],$h=be("square",MT);const RT=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Hh=be("sun",RT);const DT=[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]],zT=be("tablet",DT);const LT=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Gv=be("terminal",LT);const IT=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aa=be("trash-2",IT);const UT=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],BT=be("triangle-alert",UT);const $T=[["path",{d:"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"14u9p9"}]],HT=be("triangle",$T);const PT=[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]],FT=be("unplug",PT);const qT=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Ph=be("upload",qT);const GT=[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],YT=be("user-round",GT);const KT=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],To=be("wrench",KT);const VT=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ra=be("x",VT);const XT=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],ZT=be("zap",XT),$0=e=>{let i;const a=new Set,r=(h,x)=>{const b=typeof h=="function"?h(i):h;if(!Object.is(b,i)){const v=i;i=x??(typeof b!="object"||b===null)?b:Object.assign({},i,b),a.forEach(y=>y(i,v))}},o=()=>i,p={setState:r,getState:o,getInitialState:()=>g,subscribe:h=>(a.add(h),()=>a.delete(h))},g=i=e(r,o,p);return p},QT=(e=>e?$0(e):$0),WT=e=>e;function JT(e,i=WT){const a=Jp.useSyncExternalStore(e.subscribe,Jp.useCallback(()=>i(e.getState()),[e,i]),()=>i(e.getInitialState()));return Jp.useDebugValue(a),a}const eC=e=>{const i=QT(e),a=r=>JT(i,r);return Object.assign(a,i),a},wr=(e=>eC);class es extends Error{status;code;constructor(i,a=0,r="daemon_error"){super(i),this.name="DaemonError",this.status=a,this.code=r}}let Ro="",co=null;function tC(){return Ro}async function od(e){const i=await e.text().catch(()=>"");if(i)try{const a=JSON.parse(i);if(a.error?.message)return new es(a.error.message,a.error.status??e.status,a.error.code??"daemon_error")}catch{}return new es(i.trim().slice(0,400)||`The local daemon returned ${e.status}.`,e.status,"daemon_error")}async function sl(e=!1){return co&&!e||(co=(async()=>{let i;try{i=await fetch("/api/session",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin"})}catch{throw new es("OpenSol’s local daemon is not reachable. Start it with “npm start” in the OpenSol folder, then reload this page.",0,"daemon_unreachable")}if(!i.ok)throw await od(i);const a=await i.json();Ro=typeof a.csrf=="string"?a.csrf:""})().catch(i=>{throw co=null,i})),co}async function at(e,i={},a=!0){await sl();const r=(i.method??"GET").toUpperCase(),o=new Headers(i.headers);i.body&&!o.has("Content-Type")&&o.set("Content-Type","application/json"),["GET","HEAD"].includes(r)||o.set("x-maxcode-csrf",Ro);let u;try{u=await fetch(e,{...i,method:r,headers:o,credentials:"same-origin"})}catch{throw new es("Lost the connection to the local daemon. Check that it is still running.",0,"daemon_unreachable")}if(u.status===401&&a)return await sl(!0),at(e,i,!1);if(!u.ok)throw await od(u);return u.status===204?void 0:(u.headers.get("content-type")??"").includes("application/json")?await u.json():await u.text()}function cd(e){return{method:"POST",body:JSON.stringify(e)}}function nC(){return at("/api/state")}function Yv(){return at("/api/plugins")}function iC(e){const i=atob(e),a=new Uint8Array(i.length);for(let r=0;r<i.length;r+=1)a[r]=i.charCodeAt(r);return a}async function Kv(e){const i=await at(`/api/plugins/${encodeURIComponent(e)}/package`);return iC(i.archive)}function aC(e){let i="";for(let a=0;a<e.length;a+=32768)i+=String.fromCharCode(...e.subarray(a,a+32768));return btoa(i)}function Vv(e){return at("/api/plugins",{method:"POST",body:JSON.stringify({archive:aC(e)})})}function rC(e,i){return at(`/api/plugins/${encodeURIComponent(e)}/grants`,{method:"PUT",body:JSON.stringify(i)})}function H0(e,i){return at(`/api/plugins/${encodeURIComponent(e)}/safe`,{method:"PUT",body:JSON.stringify({safe:i})})}function sC(e,i){return at(`/api/plugins/${encodeURIComponent(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:i})})}function lC(e){return at(`/api/plugins/${encodeURIComponent(e)}`,{method:"DELETE"})}function oC(e,i){return at(`/api/plugins/${encodeURIComponent(e)}/network`,{method:"POST",body:JSON.stringify(i)})}function cC(e){return at("/api/settings",{method:"PATCH",body:JSON.stringify(e)})}function Xv(e){return at("/api/chats",{method:"PUT",body:JSON.stringify(e)})}function uC(e){return at("/api/migrate",cd(e))}function dC(){return at("/api/providers")}function fC(e){return at(`/api/models?provider=${encodeURIComponent(e)}`)}function pC(e,i){return i?at(`/api/providers/${e}/key`,{method:"PUT",body:JSON.stringify({apiKey:i})}):at(`/api/providers/${e}/key`,{method:"DELETE"})}function mC(e){return at("/api/search/key",{method:"PUT",body:JSON.stringify({apiKey:e})})}function hC(e,i){return at(`/api/deploy/credentials/${e}`,{method:"PUT",body:JSON.stringify(i)})}function gC(e){return at("/api/reset",cd({scope:e}))}function xC(e){return at("/api/workspaces",cd({path:e}))}function bC(){return at("/api/workspaces",{method:"DELETE"})}function yC(e){return at(`/api/workspaces?path=${encodeURIComponent(e)}`,{method:"DELETE"})}function vC(){return at("/api/mcp")}function wC(e){return at("/api/mcp",{method:"PUT",body:JSON.stringify({servers:e})})}function kC(e,i){return at(`/api/mcp/${encodeURIComponent(e)}/${i}`,{method:"POST",body:"{}"})}function EC(e,i,a,r){return at("/api/mcp/call",{method:"POST",body:JSON.stringify({server:e,tool:i,args:a}),signal:r})}function _C(e){return at(`/api/workspaces/browse?path=${encodeURIComponent(e)}`)}function Zv(e="",i=6){return at(`/api/workspace/tree?depth=${i}&path=${encodeURIComponent(e)}`)}function Xm(e){return at(`/api/workspace/file?path=${encodeURIComponent(e)}`)}function Zm(e,i){return at("/api/workspace/file",{method:"PUT",body:JSON.stringify({path:e,content:i})})}function NC(e,i){return at("/api/workspace/file",{method:"POST",body:JSON.stringify({action:"create",path:e,type:i})})}function SC(e,i){return at("/api/workspace/file",{method:"POST",body:JSON.stringify({action:"rename",from:e,to:i})})}function TC(e){return at("/api/workspace/file",{method:"POST",body:JSON.stringify({action:"delete",path:e})})}function CC(){return at("/api/git")}function rn(e,i,a,r,o){return at("/api/tools/execute",{...cd({name:e,args:i,mode:a,checkpoint:o}),signal:r})}function AC(){return at("/api/preview/token")}function OC(){return at("/api/workspace/instructions")}function jC(e){return at(`/api/checkpoints/${encodeURIComponent(e)}/restore`,{method:"POST",body:JSON.stringify({})})}async function Do(e,i,a,r,o,u=!0){await sl();let d;try{d=await fetch("/api/llm",{method:"POST",headers:{"Content-Type":"application/json","x-maxcode-csrf":Ro},body:JSON.stringify({provider:e,kind:i,model:a,body:r}),signal:o,credentials:"same-origin"})}catch(p){throw p instanceof DOMException&&p.name==="AbortError"?p:new es("Lost the connection to the local daemon while calling the model.",0,"daemon_unreachable")}if(d.status===401&&u)return await sl(!0),Do(e,i,a,r,o,!1);if(!d.ok)throw await od(d);return d}async function*MC(e,i){await sl();let a;try{a=await fetch("/api/deploy",{method:"POST",headers:{"Content-Type":"application/json","x-maxcode-csrf":Ro},body:JSON.stringify(e),signal:i,credentials:"same-origin"})}catch(d){throw d instanceof DOMException&&d.name==="AbortError"?d:new es("Lost the connection to the local daemon while deploying.",0,"daemon_unreachable")}if(!a.ok)throw await od(a);if(!a.body)throw new es("The deploy stream was empty.",502,"empty_stream");const r=a.body.getReader(),o=new TextDecoder;let u="";try{for(;;){const{done:p,value:g}=await r.read();if(p)break;u+=o.decode(g,{stream:!0});let h=u.indexOf(`
|
|
10
|
-
`);for(;h!==-1;){const x=u.slice(0,h).trim();if(u=u.slice(h+1),x)try{yield JSON.parse(x)}catch{yield{type:"log",stream:"meta",text:x}}h=u.indexOf(`
|
|
11
|
-
`)}}const d=u.trim();if(d)try{yield JSON.parse(d)}catch{yield{type:"log",stream:"meta",text:d}}}finally{r.releaseLock()}}const Ra=wr()(e=>({titling:{},setTitling:(i,a)=>e(r=>{if(!!r.titling[i]===a)return r;const o={...r.titling};return a?o[i]=!0:delete o[i],{titling:o}}),streaming:{},setStreaming:(i,a)=>e(r=>{if(!!r.streaming[i]===a)return r;const o={...r.streaming};return a?o[i]=!0:delete o[i],{streaming:o}})}));function RC(){try{return localStorage.getItem("maxcode.sidebar-collapsed")==="1"}catch{return!1}}function DC(e){try{localStorage.setItem("maxcode.sidebar-collapsed",e?"1":"0")}catch{}}const ge=wr()((e,i)=>({sidebarCollapsed:RC(),toggleSidebar:()=>e(a=>{const r=!a.sidebarCollapsed;return DC(r),{sidebarCollapsed:r}}),mobileSidebarOpen:!1,setMobileSidebarOpen:a=>e({mobileSidebarOpen:a}),workspaceOpen:!1,setWorkspaceOpen:a=>e({workspaceOpen:a}),settingsOpen:!1,settingsTab:"general",openSettings:(a="general")=>e({settingsOpen:!0,settingsTab:a,mobileSidebarOpen:!1}),closeSettings:()=>e({settingsOpen:!1}),deployOpen:!1,setDeployOpen:a=>e({deployOpen:a}),paletteOpen:!1,setPaletteOpen:a=>e({paletteOpen:a}),composerFocus:0,focusComposer:()=>e(a=>({composerFocus:a.composerFocus+1})),toast:null,notify:(a,r="info")=>e({toast:{id:Date.now()+Math.random(),message:a,tone:r}}),dismissToast:a=>e(r=>r.toast?.id===a?{toast:null}:r),confirm:null,askConfirm:a=>new Promise(r=>{i().confirm&&i().confirm?.resolve(!1),e({confirm:{...a,resolve:r}})}),resolveConfirm:a=>{const r=i().confirm;e({confirm:null}),r?.resolve(a)}}));window.addEventListener("maxcode:notice",e=>{const i=e.detail;i?.message&&ge.getState().notify(i.message,i.tone??"info")});const zC={root:"",name:"",available:!1,error:"",workspaces:[]},uo={available:!1,root:"",branch:"",entries:[],error:""};function P0(e,i){return!!(e&&(e===i||e.startsWith(`${i}/`)))}const Ue=wr()((e,i)=>({info:zC,root:"",entries:[],truncated:!1,loadingTree:!1,treeError:"",activeFile:null,file:null,content:"",dirty:!1,saving:!1,openingFile:!1,git:uo,gitLoading:!1,instructions:{file:"",content:"",truncated:!1},hydrate:async a=>{e({info:a,root:a.root,treeError:a.available?"":a.error,entries:a.available?i().entries:[],activeFile:a.available?i().activeFile:null,file:a.available?i().file:null,content:a.available?i().content:"",dirty:!1,git:a.available?i().git:uo}),a.available?(await i().loadTree(),i().loadGit(),i().loadInstructions()):e({instructions:{file:"",content:"",truncated:!1}})},loadInstructions:async()=>{if(i().info.available)try{e({instructions:await OC()})}catch{e({instructions:{file:"",content:"",truncated:!1}})}},loadTree:async()=>{const a=i().info;if(!a.available||!a.root){e({entries:[],loadingTree:!1,treeError:a.error});return}e({loadingTree:!0,treeError:""});try{const r=await Zv("",7);e({entries:r.entries,truncated:r.truncated,loadingTree:!1,root:r.root,info:r.workspace}),i().loadInstructions()}catch(r){e({loadingTree:!1,treeError:r instanceof Error?r.message:"Could not read the workspace."})}},refresh:async({treeOnly:a=!1}={})=>{if(await i().loadTree(),a)return;const r=i().activeFile;if(!r||i().dirty)return;if(!i().entries.some(u=>u.path===r&&u.type==="file")){e({activeFile:null,file:null,content:"",dirty:!1});return}try{await i().openFile(r,{force:!0})}catch{}},openFile:async(a,{force:r=!1}={})=>{if(!(!a||i().openingFile)&&!(!r&&i().activeFile===a&&i().file)&&!(i().dirty&&!await i().saveFile())){e({openingFile:!0,treeError:""});try{const o=await Xm(a);e({activeFile:a,file:o,content:o.content,dirty:!1,openingFile:!1})}catch(o){e({openingFile:!1,treeError:o instanceof Error?o.message:"Could not open that file."}),ge.getState().notify(o instanceof Error?o.message:"Could not open that file.","error")}}},closeFile:()=>e({activeFile:null,file:null,content:"",dirty:!1}),setContent:a=>{i().file?.binary||a!==i().content&&e({content:a,dirty:!0})},saveFile:async()=>{const{activeFile:a,content:r,dirty:o,file:u,saving:d}=i();if(!a||!o||d||u?.binary)return!0;e({saving:!0});try{const p=await Zm(a,r);return e({saving:!1,dirty:!1,file:u&&{...u,size:p.size,mtime:p.mtime,hash:p.hash,truncated:!1}}),ge.getState().notify(`Saved ${a}`,"success"),!0}catch(p){return e({saving:!1}),ge.getState().notify(p instanceof Error?p.message:"Could not save that file.","error"),!1}},createEntry:async(a,r)=>{await NC(a,r),await i().loadTree(),r==="file"&&await i().openFile(a),ge.getState().notify(`${r==="dir"?"Folder":"File"} created: ${a}`,"success")},renameEntry:async(a,r)=>{if(await SC(a,r),await i().loadTree(),P0(i().activeFile,a)){const o=i().activeFile===a?r:`${r}${i().activeFile?.slice(a.length)??""}`;e({activeFile:null,file:null,content:"",dirty:!1}),await i().openFile(o)}ge.getState().notify(`Renamed to ${r}`,"success")},deleteEntry:async a=>{await TC(a),P0(i().activeFile,a)&&e({activeFile:null,file:null,content:"",dirty:!1}),await i().loadTree(),ge.getState().notify(`Deleted ${a}`,"success")},addWorkspace:async a=>{const r=await xC(a);e({activeFile:null,file:null,content:"",dirty:!1,entries:[]}),await i().hydrate(r.workspace),ge.getState().notify(`Workspace set to ${r.entry.name}`,"success")},forgetWorkspace:async()=>{if(i().dirty&&!await i().saveFile())return;const a=await bC();e({info:a,root:"",entries:[],activeFile:null,file:null,content:"",dirty:!1,git:uo,instructions:{file:"",content:"",truncated:!1}})},removeWorkspace:async a=>{const r=i().info.root===a;if(r&&i().dirty&&!await i().saveFile())return;const o=await yC(a);if(!r){e({info:o});return}e({info:o,root:"",entries:[],activeFile:null,file:null,content:"",dirty:!1,git:uo,instructions:{file:"",content:"",truncated:!1}})},loadGit:async()=>{if(i().info.available){e({gitLoading:!0});try{const a=await CC();e({git:{...a},gitLoading:!1})}catch(a){e({git:{...uo,error:a instanceof Error?a.message:"Git status failed."},gitLoading:!1})}}},setActiveFile:a=>{a?i().openFile(a):i().closeFile()}}));function yi(e){const i=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`;return`${e}_${i}`}function Qv(e){if(!e||typeof e!="object")return!1;const i=e;return typeof i.id=="string"&&typeof i.title=="string"&&Array.isArray(i.messages)}function Wv(e){let i=0;const a=e.messages.filter(r=>!!(r&&typeof r=="object")).map((r,o)=>{if(r.role==="user")return o>0&&(i+=1),r;const u=typeof r.round=="number"?r.round:i;return r.role==="assistant"?{...r,content:typeof r.content=="string"?r.content:"",reasoning:typeof r.reasoning=="string"?r.reasoning:"",toolCalls:Array.isArray(r.toolCalls)?r.toolCalls:[],round:u}:{...r,round:u}});return{...e,title:e.title.trim()||"New conversation",messages:a,createdAt:typeof e.createdAt=="number"?e.createdAt:Date.now(),updatedAt:typeof e.updatedAt=="number"?e.updatedAt:Date.now(),mode:e.mode==="plan"?"plan":e.mode==="build"?"build":void 0,workspace:typeof e.workspace=="string"?e.workspace:void 0,titleSource:e.titleSource==="ai"||e.titleSource==="user"||e.titleSource==="auto"?e.titleSource:void 0}}function LC(e){const i=e.replace(/\s+/g," ").trim();return i?i.length>56?`${i.slice(0,56).trim()}…`:i:"New conversation"}const Ye=wr()((e,i)=>({sessions:[],activeId:null,hydrated:!1,hydrate:a=>{const r=(a.sessions??[]).filter(Qv).map(Wv).sort((u,d)=>d.updatedAt-u.updatedAt),o=typeof a.activeId=="string"&&r.some(u=>u.id===a.activeId)?a.activeId:r[0]?.id??null;e({sessions:r,activeId:o,hydrated:!0})},setActive:a=>e({activeId:a}),newChat:()=>e({activeId:null}),createSession:(a,r,o)=>{const u=yi("chat"),d=Date.now(),p={id:u,title:"New conversation",createdAt:d,updatedAt:d,messages:[],provider:a,model:r,mode:o,workspace:Ue.getState().info.root||void 0,titleSource:"auto"};return e(g=>({sessions:[p,...g.sessions],activeId:u})),u},addMessage:(a,r)=>{e(o=>({sessions:o.sessions.map(u=>{if(u.id!==a)return u;const d={messages:[...u.messages,r],updatedAt:Date.now()};return r.role==="user"&&u.messages.length===0&&(d.title=LC(r.content)),{...u,...d}})}))},updateMessage:(a,r,o)=>{e(u=>({sessions:u.sessions.map(d=>{if(d.id!==a)return d;let p=!1;const g=d.messages.map(h=>{if(h.id!==r)return h;const x=typeof o=="function"?o(h):o;return!x||Object.keys(x).length===0?h:(p=!0,{...h,...x})});return p?{...d,messages:g,updatedAt:Date.now()}:d})}))},updateSession:(a,r)=>{e(o=>({sessions:o.sessions.map(u=>u.id===a?{...u,...r,updatedAt:Date.now()}:u)}))},renameSession:(a,r)=>{const o=r.trim();o&&i().updateSession(a,{title:o,titleSource:"user"})},deleteSession:a=>{e(r=>{const o=r.sessions.filter(u=>u.id!==a);return{sessions:o,activeId:r.activeId===a?o[0]?.id??null:r.activeId}})},clearAll:()=>e({sessions:[],activeId:null}),persistNow:async()=>{const{sessions:a,activeId:r}=i();await Xv({sessions:a,activeId:r})}}));let ud=!1,Zr,il;function IC(){ud=!0}function UC(){!ud||typeof window>"u"||(Zr!==void 0&&window.clearTimeout(Zr),Zr=window.setTimeout(()=>{Zr=void 0,F0()},900),il===void 0&&(il=window.setTimeout(()=>{il=void 0,F0()},6e3)))}async function F0(){if(!ud)return;Zr!==void 0&&(window.clearTimeout(Zr),Zr=void 0),il!==void 0&&(window.clearTimeout(il),il=void 0);const{sessions:e,activeId:i}=Ye.getState();try{await Xv({sessions:e,activeId:i})}catch(a){window.dispatchEvent(new CustomEvent("maxcode:notice",{detail:{message:a instanceof Error?a.message:"Could not save conversations to the local daemon.",tone:"error"}}))}}Ye.subscribe(UC);if(typeof window<"u"){const e=()=>{if(!ud)return;const{sessions:i,activeId:a}=Ye.getState();try{const r=JSON.stringify({sessions:i,activeId:a});if(r.length>6e4)return;fetch("/api/chats",{method:"PUT",keepalive:!0,headers:{"Content-Type":"application/json","x-maxcode-csrf":tC()},body:r}).catch(()=>{})}catch{}};window.addEventListener("beforeunload",e),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&e()})}function Jv(){const e=Ye.getState().sessions,i=new Blob([JSON.stringify({app:"OpenSol",exportedAt:new Date().toISOString(),sessions:e},null,2)],{type:"application/json"}),a=URL.createObjectURL(i),r=document.createElement("a");r.href=a,r.download=`maxcode-history-${new Date().toISOString().slice(0,10)}.json`,r.click(),URL.revokeObjectURL(a)}function BC(e){return e.text().then(i=>{const a=JSON.parse(i);if(!Array.isArray(a.sessions))throw new Error("This file does not contain a OpenSol history.");const r=a.sessions.filter(Qv).map(Wv);if(r.length===0)throw new Error("No valid conversations were found in this file.");const o=new Set(Ye.getState().sessions.map(d=>d.id)),u=r.filter(d=>!o.has(d.id));return Ye.setState(d=>({sessions:[...u,...d.sessions],activeId:u[0]?.id??d.activeId})),u.length})}const ew=[{id:"skill-debugger",name:"Systematic debugger",description:"Reproduce, isolate and verify a bug before fixing it.",enabled:!1,builtIn:!0,instructions:`When debugging:
|
|
12
|
-
1. Reproduce the failure and capture the exact output.
|
|
13
|
-
2. Read the relevant source before changing anything.
|
|
14
|
-
3. Form one hypothesis at a time. Prove or disprove it with a command or a focused test.
|
|
15
|
-
4. Fix the root cause, not the symptom. Add a regression test when a test setup exists.
|
|
16
|
-
5. Re-run the reproduction and report the real result. Never claim a fix without evidence.`},{id:"skill-reviewer",name:"Code reviewer",description:"Review changes for correctness, regressions and clarity.",enabled:!1,builtIn:!0,instructions:`Act as a rigorous senior reviewer. Inspect the whole change, then report only issues that matter:
|
|
17
|
-
- correctness and edge cases
|
|
18
|
-
- security and data loss risks
|
|
19
|
-
- broken public behavior or missing migrations
|
|
20
|
-
- needless abstraction, duplicated logic and swallowed errors
|
|
21
|
-
Order findings by severity and cite the file and line. Do not rewrite code unless asked. If you find nothing substantive, say so plainly.`},{id:"skill-brainstorm",name:"Brainstorm",description:"Explore the problem space before committing to a design.",enabled:!1,builtIn:!0,instructions:`When brainstorming:
|
|
22
|
-
1. Restate the real problem and the constraints that cannot move. Ask one short question only if a decision genuinely blocks progress.
|
|
23
|
-
2. Produce several genuinely different directions, not variations of the first idea. Name the trade-off each one makes.
|
|
24
|
-
3. Look for the smallest version that proves the idea. Prefer reversible steps.
|
|
25
|
-
4. Stress-test the leading option against failure modes, cost, maintenance and the user's actual workflow.
|
|
26
|
-
5. Finish with a recommendation, the assumptions behind it, and what would change your mind.
|
|
27
|
-
Do not start editing until the direction is chosen.`},{id:"skill-frontend",name:"Frontend craftsman",description:"Build interfaces with considered typography, spacing and states.",enabled:!1,builtIn:!0,instructions:`For interface work:
|
|
28
|
-
- Establish a small token system: base palette, one accent, type scale, spacing rhythm.
|
|
29
|
-
- Prefer one distinctive, purposeful moment over scattered decoration.
|
|
30
|
-
- Design empty, loading, error, disabled and mobile states, not just the happy path.
|
|
31
|
-
- Keep contrast accessible, focus rings visible, and respect reduced motion.
|
|
32
|
-
- Use real copy that names things by what people understand. No filler labels.`}],$C=`# Skill name
|
|
33
|
-
|
|
34
|
-
Describe what this skill is for in one sentence.
|
|
35
|
-
|
|
36
|
-
## Instructions
|
|
37
|
-
|
|
38
|
-
- What the agent should do
|
|
39
|
-
- Constraints it must respect
|
|
40
|
-
- How to verify the result
|
|
41
|
-
`,Lu=[{id:"openai",name:"OpenAI",format:"openai",baseUrl:"https://api.openai.com/v1",keyHint:"sk-…",note:"GPT and Codex models. Requests are made by your local daemon, never by OpenSoft."},{id:"anthropic",name:"Anthropic",format:"anthropic",baseUrl:"https://api.anthropic.com/v1",keyHint:"sk-ant-…",note:"Claude models, including extended thinking where the model supports it."},{id:"google",name:"Google",format:"gemini",baseUrl:"https://generativelanguage.googleapis.com/v1beta",keyHint:"AIza…",note:"Gemini models through the Generative Language API."},{id:"opencode",name:"OpenCode",format:"openai",baseUrl:"https://opencode.ai/inference/v1",keyHint:"OpenCode API key",note:"OpenCode routes each model to its native API. Free-tier models only work inside OpenCode and are hidden."},{id:"deepseek",name:"DeepSeek",format:"openai",baseUrl:"https://api.deepseek.com",keyHint:"sk-…",note:"DeepSeek chat and reasoning models."},{id:"openrouter",name:"OpenRouter",format:"openai",baseUrl:"https://openrouter.ai/api/v1",keyHint:"sk-or-…",note:"One key for hundreds of models and providers."},{id:"groq",name:"Groq",format:"openai",baseUrl:"https://api.groq.com/openai/v1",keyHint:"gsk_…"},{id:"mistral",name:"Mistral",format:"openai",baseUrl:"https://api.mistral.ai/v1",keyHint:"…"},{id:"xai",name:"xAI",format:"openai",baseUrl:"https://api.x.ai/v1",keyHint:"xai-…"},{id:"together",name:"Together AI",format:"openai",baseUrl:"https://api.together.xyz/v1",keyHint:"…"},{id:"ollama",name:"Ollama",format:"openai",baseUrl:"http://localhost:11434/v1",keyless:!0,keyHint:"Not required",note:"Runs on your machine. The daemon reaches it at localhost; no data leaves your computer."},{id:"custom",name:"Custom endpoint",format:"openai",baseUrl:"",keyHint:"Optional",note:"Any OpenAI-compatible endpoint or proxy you control."}],na=Object.fromEntries(Lu.map(e=>[e.id,e]));function Fh(e){return na[e]?.name??e}const q0=["none","minimal","low","medium","high","xhigh","max"],qh={none:{label:"None",description:"Disable extra reasoning"},minimal:{label:"Minimal",description:"Very light reasoning"},low:{label:"Low",description:"Fast, lighter reasoning"},medium:{label:"Medium",description:"Balanced reasoning"},high:{label:"High",description:"Deeper reasoning, slower"},xhigh:{label:"Extra high",description:"Very deep reasoning"},max:{label:"Max",description:"Maximum effort the model allows"}};function Iu(e){return qh[e]?.label??e}function kr(e){return e?.reasoningOptions.find(a=>a.type==="effort")?.values??[]}function tw(e){return e?.reasoningOptions.find(i=>i.type==="budget_tokens")}function Uu(e){return!!tw(e)}function nw(e){return!!e?.reasoningOptions.some(i=>i.type==="toggle")}function iw(e){const i=kr(e);if(i.length===0)return"medium";for(const a of["medium","high","low"])if(i.includes(a))return a;return i[0]}function ll(e,i){const a=kr(i);return a.length===0||a.includes(e)?e:iw(i)}function HC(e,i){const a=tw(i),r=Math.max(0,a?.min??1024),o=Math.max(r,a?.max??32768);return Math.max(r,Math.min(o,e))}const PC={none:1024,minimal:1024,low:2048,medium:8192,high:16384,xhigh:24576,max:32768};function aw(e,i){return HC(PC[e]??8192,i)}function Co(e){return[...kr(e)].sort((a,r)=>q0.indexOf(a)-q0.indexOf(r))}function Qm(e){if(!e)return"Choose a model to see live reasoning controls.";const i=kr(e);return i.length>0?`Effort levels from this model: ${i.join(", ")}.`:Uu(e)?"This model accepts a thinking token budget, derived from the effort level.":nw(e)?"This model controls reasoning itself; no effort value is sent.":"This model advertises no reasoning controls, so effort does not apply."}const rw=[{id:"light",label:"Light",dark:!1},{id:"dark",label:"Dark",dark:!0},{id:"night-owl",label:"Night Owl",dark:!0},{id:"claude-code",label:"Claude Code",dark:!0},{id:"flame",label:"Flame",dark:!0}],FC=/^[a-z0-9][a-z0-9:_-]{0,79}$/,Gh=new Map(rw.map(e=>[e.id,e]));function sw(e){Gh.set(e.id,e)}function lw(e){rw.some(i=>i.id===e)||Gh.delete(e)}function ow(e){return typeof e=="string"&&FC.test(e)}function cw(e,i){return e==="system"?i?"dark":"light":ow(e)?e:"light"}function Wm(e,i){return Gh.get(cw(e,i))?.dark??!1}function qC(e){return e==="system"?"system":ow(e)?e:"system"}const Bu=`You are OpenSol, a senior web engineer and coding agent built by OpenSoft.
|
|
42
|
-
|
|
43
|
-
You work directly in the user's open folder through a local daemon. The shell, file, git, search and deploy tools are real. Never describe tool output you did not receive.
|
|
44
|
-
|
|
45
|
-
Engineering standard:
|
|
46
|
-
- Read every file you change. Match the existing stack, style, naming and conventions. Never invent APIs, versions, flags, package names or paths.
|
|
47
|
-
- Make the smallest correct change. One concern per edit. No speculative abstraction, dead code, placeholder TODOs or swallowed errors.
|
|
48
|
-
- Keep public behavior stable unless the task explicitly changes it.
|
|
49
|
-
- Security: never expose secrets, never weaken auth, CSRF, CSP or validation to make something pass, and validate untrusted input at boundaries.
|
|
50
|
-
- Accessibility: semantic HTML, keyboard paths, visible focus, sufficient contrast.
|
|
51
|
-
- Performance: avoid needless work; measure before optimizing.
|
|
52
|
-
- Every bug fix gets a regression test when a test setup exists. Tests assert behavior, not implementation.
|
|
53
|
-
|
|
54
|
-
Working loop:
|
|
55
|
-
1. Inspect before editing: list files, read the relevant source, grep for call sites, check git status.
|
|
56
|
-
2. For non-trivial work, state a short plan.
|
|
57
|
-
3. Edit in small, coherent steps.
|
|
58
|
-
4. Verify with the project's real commands (typecheck, lint, tests, build) and read the output.
|
|
59
|
-
5. Report what changed, which files, and what was verified. If a check fails or cannot run, say so plainly and explain why.
|
|
60
|
-
|
|
61
|
-
Never claim a check passed without running it. Ask only when a decision is genuinely ambiguous or destructive. Answer in the user's language. Cite web sources as links, and only when you actually read them.`,Jm={shell:{enabled:!0,approval:"ask"},read_file:{enabled:!0,approval:"auto"},list_files:{enabled:!0,approval:"auto"},write_file:{enabled:!0,approval:"auto"},edit_file:{enabled:!0,approval:"auto"},rewrite_file:{enabled:!0,approval:"auto"},grep:{enabled:!0,approval:"auto"},web_search:{enabled:!0,approval:"auto"},read_url:{enabled:!0,approval:"auto"},git:{enabled:!0,approval:"ask"},subagent:{enabled:!0,approval:"ask"}},Aa={provider:"openai",model:"",effort:"medium",webSearchEnabled:!0,temperature:.4,maxTokens:8192,systemPrompt:Bu,providers:{},searchProvider:"duckduckgo",tools:Jm,skills:ew,theme:"system",showTokenEstimate:!0,mode:"build",chatFontSize:15,workDetail:"detailed",autoCollapseWork:!0,aiSessionTitles:!0},GC=new Set(["none","minimal","low","medium","high","xhigh","max"]);function uw(e,i="error"){typeof window>"u"||window.dispatchEvent(new CustomEvent("maxcode:notice",{detail:{message:e,tone:i}}))}function YC(e){const i={};for(const a of Object.keys(Jm))i[a]={...Jm[a],...e?.[a]??{}};return i}function KC(e){const i=new Map;for(const a of ew)i.set(a.id,a);for(const a of e??[])!a||typeof a.id!="string"||i.set(a.id,{...i.get(a.id)??{},...a,builtIn:a.builtIn??i.has(a.id)});return[...i.values()]}function VC(e){return typeof e!="string"||!e.trim()||/sandboxed workspace stored in the user's browser/i.test(e)||/There is no node, npm, git or network in the shell/i.test(e)||/workspace root is \/workspace/i.test(e)?Bu:e}function XC(e){const i={};for(const[a,r]of Object.entries(e??{}))!(a in na)||!r||typeof r!="object"||typeof r.baseUrl=="string"&&r.baseUrl.trim()&&(i[a]={baseUrl:r.baseUrl.trim()});return i}function ZC(e){const i=e??{},a=typeof i.provider=="string"&&i.provider in na?i.provider:Aa.provider,r=i.mode==="plan"?"plan":i.mode==="build"?"build":Aa.mode;return{...Aa,...i,provider:a,model:typeof i.model=="string"?i.model.trim():"",mode:r,effort:typeof i.effort=="string"&&GC.has(i.effort)?i.effort:Aa.effort,webSearchEnabled:i.webSearchEnabled!==!1,showTokenEstimate:i.showTokenEstimate!==!1,temperature:typeof i.temperature=="number"&&Number.isFinite(i.temperature)?Math.max(0,Math.min(2,i.temperature)):Aa.temperature,maxTokens:typeof i.maxTokens=="number"&&Number.isFinite(i.maxTokens)?Math.max(256,Math.min(2e5,Math.round(i.maxTokens))):Aa.maxTokens,systemPrompt:VC(i.systemPrompt),providers:XC(i.providers),searchProvider:i.searchProvider&&["duckduckgo","tavily","brave","serper"].includes(i.searchProvider)?i.searchProvider:Aa.searchProvider,tools:YC(i.tools),skills:KC(i.skills),theme:qC(i.theme),chatFontSize:typeof i.chatFontSize=="number"&&Number.isFinite(i.chatFontSize)?Math.max(12,Math.min(20,Math.round(i.chatFontSize))):Aa.chatFontSize,workDetail:i.workDetail==="concise"?"concise":"detailed",autoCollapseWork:i.autoCollapseWork!==!1,aiSessionTitles:i.aiSessionTitles!==!1}}let Yh=!1,al={},rl,wo;function dw(e){const i={},a=["provider","model","effort","webSearchEnabled","temperature","maxTokens","systemPrompt","providers","searchProvider","tools","skills","theme","showTokenEstimate","mode","chatFontSize","workDetail","autoCollapseWork","aiSessionTitles"];for(const r of a)r in e&&(i[r]=e[r]);return i}function eh(){if(!Yh||Object.keys(al).length===0)return Promise.resolve();const e=dw(al);return al={},rl!==void 0&&window.clearTimeout(rl),wo!==void 0&&window.clearTimeout(wo),rl=void 0,wo=void 0,cC(e).then(()=>{}).catch(i=>{uw(i instanceof Error?i.message:"Could not save settings to the local daemon.")})}function Oa(e){Yh&&(al={...al,...dw(e)},rl!==void 0&&window.clearTimeout(rl),rl=window.setTimeout(()=>{eh()},550),wo===void 0&&(wo=window.setTimeout(()=>{eh()},4e3)))}function QC(){Yh=!0,Object.keys(al).length>0&&Oa({})}const Ae=wr()((e,i)=>({...Aa,hydrated:!1,daemon:null,secretStatus:null,providerStatus:[],deployTools:null,deploySecrets:null,secretsError:"",hydrate:a=>{const r=ZC(a.settings),o=a.providers,u=o.filter(d=>d.configured);!th(r,o,r.provider)&&u.length>0&&(r.provider=u[0].id,r.model=""),th(r,o,r.provider)||(r.model=""),e({...r,hydrated:!0,daemon:a,secretStatus:a.secrets,providerStatus:o,deployTools:a.deployTools,deploySecrets:a.deploySecrets,secretsError:a.secretsError})},update:a=>{e(a),Oa(a)},selectModel:(a,r,o)=>{const u=o??i().effort,d={provider:a,model:r.trim(),effort:u};e(d),Oa(d)},updateProvider:(a,r)=>{const o={providers:{...i().providers,[a]:{...i().providers[a]??{},...r}}};e(o),Oa(o)},saveProviderKey:async(a,r)=>{const o=await pC(a,r.trim()),u=dd(i(),a);e(d=>{const p=d.secretStatus?{...d.secretStatus,providers:{...d.secretStatus.providers,[a]:{configured:o.configured,hint:o.hint}}}:d.secretStatus,g=d.providerStatus.map(v=>v.id===a?{...v,configured:o.configured,hint:o.hint}:v),h=o.configured?!ol(d)||d.provider===a:!1,x=d.provider===a&&!o.configured,b={};return h&&(b.provider=a),x&&(b.model=""),{secretStatus:p,providerStatus:g,...b}}),!u&&o.configured&&uw(`${na[a]?.name??a} is connected.`,"success")},saveSearchKey:async a=>{const r=await mC(a.trim());e(o=>({secretStatus:o.secretStatus?{...o.secretStatus,search:{configured:r.configured,hint:r.hint}}:o.secretStatus}))},saveDeployCredentials:async(a,r)=>{const o=await hC(a,r);e(u=>({secretStatus:u.secretStatus?{...u.secretStatus,deploy:{...u.secretStatus.deploy,[a]:o}}:u.secretStatus,deploySecrets:u.deploySecrets?{...u.deploySecrets,[a]:o}:u.deploySecrets}))},refreshProviders:async()=>{const a=await dC();e({providerStatus:a.providers})},updateTool:(a,r)=>{const o={tools:{...i().tools,[a]:{...i().tools[a],...r}}};e(o),Oa(o)},addSkill:a=>{const r={skills:[...i().skills,a]};e(r),Oa(r)},updateSkill:(a,r)=>{const o={skills:i().skills.map(u=>u.id===a?{...u,...r}:u)};e(o),Oa(o)},removeSkill:a=>{const r={skills:i().skills.filter(o=>o.id!==a)};e(r),Oa(r)},setMode:a=>{const r={mode:a};e(r),Oa(r)},flush:()=>eh()}));function si(e){return e.model.trim()}function dd(e,i){return th(e,Ae.getState().providerStatus,i)}function th(e,i,a){const r=na[a];if(!r)return!1;const o=i.find(u=>u.id===a);return o?o.configured:a==="custom"?!!e.providers.custom?.baseUrl?.trim():!!r.keyless}function ol(e){return dd(e,e.provider)}typeof window<"u"&&(window.addEventListener("beforeunload",()=>{Ae.getState().flush()}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ae.getState().flush()}));function $u(e){return e==null}function Da(e,i,a){return Object.defineProperty(e,i,{writable:!0,value:a,enumerable:!1})}function nh(e,i){return arguments.length===1?a=>nh(e,a):e in globalThis&&i instanceof globalThis[e]||Object.prototype.toString.call(i).slice(8,-1)===e}function fw(e){return nh("ArrayBuffer",e)||nh("SharedArrayBuffer",e)}function WC(e){return fw(e)||ArrayBuffer.isView(e)}var cl;(e=>{e.is=fw,e.isSource=WC;function i(d){return ArrayBuffer.isView(d)?d.buffer.slice(d.byteOffset,d.byteOffset+d.byteLength):d}e.fromSource=i;function a(d){if(d=i(d),typeof Buffer<"u")return Buffer.from(d).toString("base64");let p="";const g=new Uint8Array(d);for(let h=0;h<g.byteLength;h++)p+=String.fromCharCode(g[h]);return btoa(p)}e.toBase64=a;function r(d){return typeof Buffer<"u"?i(Buffer.from(d,"base64")):Uint8Array.from(atob(d),p=>p.charCodeAt(0))}e.fromBase64=r;function o(d){return d=i(d),typeof Buffer<"u"?Buffer.from(d).toString("hex"):Array.from(new Uint8Array(d),p=>p.toString(16).padStart(2,"0")).join("")}e.toHex=o;function u(d){if(typeof Buffer<"u")return i(Buffer.from(d,"hex"));const p=d.length%2===0?d:d.slice(0,d.length-1),g=[];for(let h=0;h<p.length;h+=2)g.push(parseInt(`${p[h]}${p[h+1]}`,16));return Uint8Array.from(g).buffer}e.fromHex=u})(cl||(cl={}));cl.fromBase64;cl.toBase64;cl.fromHex;cl.toHex;function JC(e,i,a){const r=[];let o=0;for(let u=0;u<e.length;u++){const d=e.charCodeAt(u);if(d>=65&&d<=90){if(o===1){const p=e.charCodeAt(u+1);p>=97&&p<=122&&r.push(a),r.push(d+32)}else o!==0&&r.push(a),r.push(d+32);o=1}else d>=97&&d<=122?(r.push(d),o=2):i.includes(d)?(o!==0&&r.push(a),o=0):r.push(d)}return String.fromCharCode(...r)}function eA(e){return JC(e,[45,95],45)}var tA=eA,G0;(e=>{e.millisecond=1,e.second=1e3,e.minute=e.second*60,e.hour=e.minute*60,e.day=e.hour*24,e.week=e.day*7;let i=new Date().getTimezoneOffset();function a(y){i=y}e.setTimezoneOffset=a;function r(){return i}e.getTimezoneOffset=r;function o(y=new Date,k){return typeof y=="number"&&(y=new Date(y)),k===void 0&&(k=i),Math.floor((y.valueOf()/e.minute-k)/1440)}e.getDateNumber=o;function u(y,k){const N=new Date(y*e.day);return k===void 0&&(k=i),new Date(+N+k*e.minute)}e.fromDateNumber=u;const d=/\d+(?:\.\d+)?/.source,p=new RegExp(`^${["w(?:eek(?:s)?)?","d(?:ay(?:s)?)?","h(?:our(?:s)?)?","m(?:in(?:ute)?(?:s)?)?","s(?:ec(?:ond)?(?:s)?)?"].map(y=>`(${d}${y})?`).join("")}$`);function g(y){const k=p.exec(y);return k?(parseFloat(k[1])*e.week||0)+(parseFloat(k[2])*e.day||0)+(parseFloat(k[3])*e.hour||0)+(parseFloat(k[4])*e.minute||0)+(parseFloat(k[5])*e.second||0):0}e.parseTime=g;function h(y){const k=g(y);return k?y=Date.now()+k:/^\d{1,2}(:\d{1,2}){1,2}$/.test(y)?y=`${new Date().toLocaleDateString()}-${y}`:/^\d{1,2}-\d{1,2}-\d{1,2}(:\d{1,2}){1,2}$/.test(y)&&(y=`${new Date().getFullYear()}-${y}`),y?new Date(y):new Date}e.parseDate=h;function x(y){const k=Math.abs(y);return k>=e.day-e.hour/2?Math.round(y/e.day)+"d":k>=e.hour-e.minute/2?Math.round(y/e.hour)+"h":k>=e.minute-e.second/2?Math.round(y/e.minute)+"m":k>=e.second?Math.round(y/e.second)+"s":y+"ms"}e.format=x;function b(y,k=2){return y.toString().padStart(k,"0")}e.toDigits=b;function v(y,k=new Date){return y.replace("yyyy",k.getFullYear().toString()).replace("yy",k.getFullYear().toString().slice(2)).replace("MM",b(k.getMonth()+1)).replace("dd",b(k.getDate())).replace("hh",b(k.getHours())).replace("mm",b(k.getMinutes())).replace("ss",b(k.getSeconds())).replace("SSS",b(k.getMilliseconds(),3))}e.template=v})(G0||(G0={}));var nA=Object.defineProperty,Ce=(e,i)=>nA(e,"name",{value:i,configurable:!0}),Kh=class{static{Ce(this,"DisposableList")}sn=0;map=new Map;weak=new WeakMap;get length(){return this.map.size}push(e){const i=++this.sn;return this.map.set(i,e),this.weak.set(e,i),()=>this.map.delete(i)}delete(e){const i=this.weak.get(e);return i?this.map.delete(i):!1}clear(){const e=[...this.map.values()];return this.map.clear(),e.reverse()}[Symbol.iterator](){return this.map.values()}[Symbol.for("nodejs.util.inspect.custom")](){return[...this]}},ve={shadow:Symbol.for("cordis.shadow"),caller:Symbol.for("cordis.caller"),receiver:Symbol.for("cordis.receiver"),original:Symbol.for("cordis.original"),decorator:Symbol.for("cordis.decorator"),initHooks:Symbol.for("cordis.initHooks"),checkProto:Symbol.for("cordis.checkProto"),root:Symbol.for("cordis.root"),effect:Symbol.for("cordis.effect"),filter:Symbol.for("cordis.filter"),isolate:Symbol.for("cordis.isolate"),intercept:Symbol.for("cordis.intercept"),init:Symbol.for("cordis.init"),check:Symbol.for("cordis.check"),invoke:Symbol.for("cordis.invoke"),metadata:Symbol.for("cordis.metadata"),extend:Symbol.for("cordis.extend"),tracker:Symbol.for("cordis.tracker"),mergeIntercept:Symbol.for("cordis.mergeIntercept"),resolveIntercept:Symbol.for("cordis.resolveIntercept")},iA=function*(){}.constructor,Y0=async function*(){}.constructor;function pw(e){return!(!e.prototype||e instanceof iA||Y0!==Function&&e instanceof Y0)}Ce(pw,"isConstructor");function fd(e,i){if(e===Object.prototype)return i;const a=Object.create(fd(Object.getPrototypeOf(e),i));for(const r of Reflect.ownKeys(e))Object.defineProperty(a,r,Object.getOwnPropertyDescriptor(e,r));return a}Ce(fd,"joinPrototype");function Ao(e){return e&&(typeof e=="object"||typeof e=="function")}Ce(Ao,"isObject");function Vh(e,i){let a=e;for(;a;){const r=Reflect.getOwnPropertyDescriptor(a,i);if(r)return r;a=Object.getPrototypeOf(a)}}Ce(Vh,"getPropertyDescriptor");function br(e,i){if(!Ao(i))return i;if(Object.hasOwn(i,ve.shadow))return Object.getPrototypeOf(i);const a=i[ve.tracker];return a?pd(e,i,a):i}Ce(br,"getTraceable");function Oo(e,i){return i?new Proxy(e,{get:Ce((a,r,o)=>r in i&&r!=="constructor"?Reflect.get(i,r,o):Reflect.get(a,r,o),"get"),set:Ce((a,r,o,u)=>r in i&&r!=="constructor"?Reflect.set(i,r,o,u):Reflect.set(a,r,o,u),"set")}):e}Ce(Oo,"withProps");function Hu(e,i,a){return Oo(e,Object.defineProperty(Object.create(null),i,{value:a,writable:!1}))}Ce(Hu,"withProp");function yo(e,i,a,r){if(!a)return r;const o=Vh(i,a)?.value;if(!o)return r;const u=o[ve.shadow]??o;return Hu(r,a,e.extend({[ve.shadow]:u}))}Ce(yo,"createShadow");function mw(e,i,a,r){return new Proxy(i,{apply:Ce((o,u,d)=>(u===a&&(u=r),br(e,Reflect.apply(o,u,d))),"apply")})}Ce(mw,"createShadowMethod");function pd(e,i,a){const r=e[ve.shadow]??e,o=e[ve.shadow]?Object.getPrototypeOf(e):e,u=new Proxy(i,{get:Ce((d,p,g)=>{if(p===ve.original)return d;if(p===ve.caller)return r;if(p===a.property)return o;if(typeof p=="symbol")return Reflect.get(d,p,g);if(a.associate&&o.reflect.props[`${a.associate}.${p}`])return Reflect.get(e,`${a.associate}.${p}`,Hu(e,ve.receiver,g));let h,x;const b=Vh(d,p);b&&"value"in b?x=b.value:(h=yo(o,d,a.property,g),x=Reflect.get(d,p,h));const v=x?.[ve.tracker];return v?pd(o,x,v):!a.noShadow&&typeof x=="function"?(h??=yo(o,d,a.property,g),mw(o,x,g,h)):x},"get"),set:Ce((d,p,g,h)=>{if(p===ve.original||p===ve.caller||p===a.property)return!1;if(typeof p=="symbol")return Reflect.set(d,p,g,h);if(a.associate&&o.reflect.props[`${a.associate}.${p}`])return Reflect.set(e,`${a.associate}.${p}`,g,Hu(e,ve.receiver,h));const x=yo(o,d,a.property,h);return Reflect.set(d,p,g,x)},"set"),apply:Ce((d,p,g)=>{const h=a.noShadow?u:yo(o,d,a.property,u);return hw(h,d,p,g)},"apply")});return u}Ce(pd,"createTraceable");function hw(e,i,a,r){return i[ve.invoke]?i[ve.invoke].apply(e,r):Reflect.apply(i,a,r)}Ce(hw,"applyTraceable");function Pu(e,i,a){const r=Ce(function(...o){const u=pd(r.ctx,r,a);return Reflect.apply(u,this,o)},"self");return Da(r,"name",e),Object.setPrototypeOf(r,i)}Ce(Pu,"createCallable");function ih(e,i,a){const r=e.error.stack.split(`
|
|
62
|
-
`);if(typeof i?.stack!="string"){const d=new Error(i),p=d.stack.split(`
|
|
63
|
-
`);throw p.splice(1,1/0,...a()),d.stack=p.join(`
|
|
64
|
-
`),d}const o=i.stack.split(`
|
|
65
|
-
`);let u=o.indexOf(r[2]);if(u===-1)throw i;for(u-=e.offset;u>0&&o[u-1].endsWith(" (<anonymous>)");)u-=1;throw o.splice(u,1/0,...a()),i.stack=o.join(`
|
|
66
|
-
`),i}Ce(ih,"handleError");function ah(e,i=md()){const a={offset:1,error:new Error};try{const r=e(a);return Ao(r)&&"then"in r?r.then(void 0,o=>ih(a,o,i)):r}catch(r){ih(a,r,i)}}Ce(ah,"composeError");function md(e=0){const i=new Error;return()=>i.stack.split(`
|
|
67
|
-
`).slice(3+e)}Ce(md,"buildOuterStack");var gw=Symbol.for("ValidationError"),xw=class rh extends TypeError{constructor(i){super(`invalid config:
|
|
68
|
-
`+i.map(a=>a.path?.length?` - ${a.message} (at ${rh.formatPath(a.path)})`:` - ${a.message}`).join(`
|
|
69
|
-
`)),this.issues=i}issues;static{Ce(this,"ValidationError")}name="ValidationError";static is(i){return!!i?.[gw]}static normalizePath(i=[]){return i.map(a=>typeof a=="object"?a.key:a)}static formatPath(i){return rh.normalizePath(i).map(String).join(".")}};Object.defineProperty(xw.prototype,gw,{value:!0});function bw(e,i){if(!e.Config)return i;const a=e.Config["~standard"].validate(i);if("then"in a)throw new TypeError("Async config validation is not supported");if(a.issues)throw new xw(a.issues);return a.value}Ce(bw,"resolveConfig");var sh=class yw extends Error{constructor(i,a){super(a??yw.Code[i]),this.code=i}code;static{Ce(this,"CordisError")}};(e=>{e.Code={INACTIVE_EFFECT:"cannot create effect on inactive context"}})(sh||(sh={}));var Ca="__INACTIVE__",vw=class{constructor(e,i,a,r,o){this.parent=e,this.config=i,this.inject=a,this.runtime=r;const u=Ce(d=>{this._disposables.push(d)},"collect");if(r){this.uid=e.registry.counter,this.ctx=this.context=e.extend({fiber:this}),this._runner={epoch:Ca,getOuterStack:o,execute:Ce(function(){const d=this._resolve(this.config);if(pw(r.callback)){const p=new r.callback(this.ctx,d);for(const g of p?.[ve.initHooks]??[])g();return p?.[ve.init]?.()}else return r.callback(this.ctx,d)},"execute"),collect:u},this.context.emit("internal/plugin",this);for(const d of Object.keys(this.inject))this._checkImpl(d);this.dispose=e.fiber.effect(()=>{const d=r.fibers.push(this);try{this._refresh()}catch(p){this.ctx.logger.error(p),this._error=p}return async()=>{for(this.uid=null,this.context.emit("internal/plugin",this),this.ctx.registry.has(r.callback)&&(d(),r.fibers.length||this.ctx.registry.delete(r.callback)),this._setEpoch(Ca);this.inertia;)await this.inertia;this._updateState(()=>{})}},"ctx.plugin()")}else this.uid=0,this.ctx=this.context=e,this.state=2,this.committed=Object.create(null),this._runner={epoch:"0",getOuterStack:o,execute:Ce(()=>{},"execute"),collect:u},this.dispose=()=>this.restart()}parent;config;inject;runtime;static{Ce(this,"Fiber")}uid;ctx;state=0;dispose;committed;provisions=new Set;inertia;_hooks=Object.create(null);_disposables=new Kh;context;_error;_revision=0;_runner;_store=Object.create(null);_release;get name(){let e=this;do{if(e.runtime?.name)return e.runtime.name;e=e.parent.fiber}while(e!==e.parent.fiber);return"root"}assertActive(){if(this.uid===null)throw new sh("INACTIVE_EFFECT")}_resolve(e){return this.context.waterfall("internal/config",this,()=>e)}_execute(e){const i=e.epoch;return ah(a=>{const r=Ce(u=>{if(typeof u=="function")e.collect(u);else if(!$u(u))throw new TypeError("Invalid effect")},"safeCollect"),o=e.execute.call(this);if(typeof o=="function")return e.collect(o);if(!$u(o))if(Ao(o)){if("then"in o)return o.then(r);if(Symbol.iterator in o){a.error=new Error;const u=o[Symbol.iterator]();for(;;){const d=u.next();if(r(d.value),d.done)return}}else if(Symbol.asyncIterator in o){const u=o[Symbol.asyncIterator]();return(async()=>{for(await Promise.resolve(),a.error=new Error;;){if(e.epoch!==i)return;const d=await u.next();if(r(d.value),d.done)return}})()}else throw new TypeError("Invalid effect")}else throw new TypeError("Invalid effect")},e.getOuterStack)}effect(e,i="anonymous"){this.assertActive();const a=[],r=Ce(()=>{let h;for(const x of a.splice(0).reverse())if(h)h=h.then(x);else{const b=x();Ao(b)&&"then"in b&&(h=b)}return h},"dispose"),o={label:i,children:[]},u={execute:e,epoch:!0,collect:Ce(h=>{a.push(h),this._disposables.delete(h),h[ve.effect]&&o.children.push(h[ve.effect])},"collect"),getOuterStack:md()};let d;try{d=this._execute(u)}catch(h){throw r(),h}d?.catch(r).catch(h=>this.ctx.logger.error(h));const p=Da(()=>{if(u.epoch)return u.epoch=!1,d?d.then(r):r()},ve.effect,o),g=Ce(()=>{if(u.epoch)return u.epoch=!1,r()},"disposeAsync");return p.then=async(h,x)=>Promise.resolve(d).then(()=>g).then(h,x),a.push(this._disposables.push(p)),p}getEffects(){return[...this._disposables].map(e=>e[ve.effect]).filter(Boolean)}_getState(){return this.uid===null?4:this._error?3:this._runner.epoch!==Ca?2:0}_updateState(e){const i=this.state;if(this.state=e()??this._getState(),i!==this.state&&(this.context.emit("internal/status",this,i),!(i!==2&&this.state!==2)))for(const a of Reflect.ownKeys(this.ctx.reflect.store)){const r=this.ctx.reflect.store[a];r.ctx.fiber===this&&this.ctx.isolate(r.name,r.isolate).reflect.notify([r.name])}}_checkImpl(e){const i=this.ctx.reflect._getImpl(e,!0);if(!i)return delete this._store[e];try{if(i.check&&!i.check.call(br(this.ctx,i.value)))return delete this._store[e]}catch(a){return i.ctx.logger.error(a),delete this._store[e]}this._store[e]=i}_refresh(){let e=`${this._revision}`;for(const i of Object.keys(this.inject)){const a=this._store[i];if(!a){e=Ca;break}e+=":"+a.uid}this._setEpoch(e)}_setEpoch(e){const i=this._runner.epoch;e!==i&&(this._error||(this._runner.epoch=e,!this.inertia&&this._updateState(()=>e!==Ca&&i===Ca?(this.inertia=this._reload(),1):(this.inertia=this._unload(),5))))}async _reload(){this.committed={...this._store};for(const i of Object.values(this.committed))i.ctx.fiber!==this&&i.dependents.add(this);const e=this._runner.epoch;try{await Promise.resolve(),this._runner.epoch===e&&await this._execute(this._runner)}catch(i){this.ctx.logger.error(i),this._runner.epoch===e&&(this._error=i,this._runner.epoch=Ca)}this._updateState(()=>{if(this._runner.epoch===e)this.inertia=void 0;else return this.inertia=this._unload(),5})}async _unload(){for(;[...this.provisions].some(e=>e.dependents.size);)await new Promise(e=>this._release=e);this._release=void 0,await Promise.all(this._disposables.clear().map(async e=>{try{await ah(async i=>{await Promise.resolve(),i.error=new Error,await e()},this._runner.getOuterStack)}catch(i){this.ctx.logger.error(i)}}));for(const e of Object.values(this.committed??{}))!e.dependents.delete(this)||e.dependents.size||(e.release?.(),e.ctx.fiber._release?.());this.committed=void 0,this._updateState(()=>{if(this._runner.epoch===Ca)this.inertia=void 0;else return this.inertia=this._reload(),1})}async await(){for(;this.inertia;)await this.inertia;if(this._error)throw this._error;return this}async restart(){const e=this.ctx.fiber;e.assertActive(),e._revision++,e._refresh(),await e.await()}update(e,i=!1){const a=this.ctx.fiber;a.assertActive();const r=a._runner.epoch!==Ca,o=r?a._resolve(e):void 0;i||a.context.emit("internal/commit",a,e),a.config=e,a._error=void 0;const u=Ce(()=>a.restart(),"restart"),d=r?a.context.waterfall(a,"internal/update",o,u):u();if(d===void 0)return;const p=Promise.resolve(d);return p.catch(()=>{}),p}};function lh(e){return e!==null&&e!==!1&&e!==void 0}Ce(lh,"isBailed");var aA=class{constructor(e){this.ctx=e,Da(this,ve.tracker,{property:"ctx",noShadow:!0}),this.on("internal/listener",function(i,a,r){if(i==="internal/update"&&!r.global){const o=this.fiber._hooks["internal/update"]??=new Kh,u=r.prepend?"unshift":"push";return this.fiber.effect(()=>o[u](a),'ctx.on("internal/update")')}}),this.on("internal/update",function(i,a){const r=[...this._hooks["internal/update"]||[]],o=Ce(()=>(r.shift()??a).call(this,i,o),"_next");return o()},{global:!0,prepend:!0}),this.on("internal/config",(i,a)=>bw(i.runtime,a()))}ctx;static{Ce(this,"EventsService")}_hooks=Object.create(null);_resolve(e,i){const a=typeof i[0]=="object"||typeof i[0]=="function"?i.shift():null,r=i.shift();(typeof r!="string"||!r.startsWith("internal/"))&&this._hooks["internal/dispatch"]?.length&&this.emit("internal/dispatch",e,r,i,a);const o=a?.[Zh.filter],u=(this._hooks[r]||[]).filter(d=>d.global||!o||o.call(a,d.ctx)).map(d=>d.callback);return[a,u,r]}dispatch(e,i){const[a,r]=this._resolve(e,i);return r.map(o=>o.bind(a))}async parallel(...e){const[i,a,r]=this._resolve("parallel",e),u=(await Promise.allSettled(a.map(async p=>Reflect.apply(p,i,e)))).filter(p=>p.status==="rejected");if(!u.length)return;const d=typeof r=="symbol"?String(r):`"${r}"`;throw new AggregateError(u.map(p=>p.reason),`one or more listeners of event ${d} failed`)}emit(...e){const[i,a]=this._resolve("emit",e);for(const r of a)Reflect.apply(r,i,e)}async serial(...e){const[i,a]=this._resolve("serial",e);for(const r of a){const o=await Reflect.apply(r,i,e);if(lh(o))return o}}bail(...e){const[i,a]=this._resolve("bail",e);for(const r of a){const o=Reflect.apply(r,i,e);if(lh(o))return o}}waterfall(...e){const[i,a]=this._resolve("waterfall",e),r=e.pop(),o=Ce(()=>{const u=a.shift();if(!u)return r();let d=!1;const p=Ce(()=>{if(d)throw new Error("next() called multiple times");return d=!0,o()},"next");return Reflect.apply(u,i,[...e,p])},"dispatch");return o()}register(e,i,a,r){const o=r.prepend?"unshift":"push";return this.ctx.fiber.effect(()=>((this._hooks[i]??=[])[o]({ctx:this.ctx,callback:a,...r}),()=>this.unregister(i,a)),e)}unregister(e,i){const a=this._hooks[e];if(!a)return;const r=a.findIndex(o=>o.callback===i);if(r>=0)return a.splice(r,1),a.length||delete this._hooks[e],!0}on(e,i,a){typeof a!="object"&&(a={prepend:a}),this.ctx.fiber.assertActive(),i=this.ctx.reflect.bind(i);const r=this.bail(this.ctx,"internal/listener",e,i,a);if(r)return r;const o=`ctx.on(${typeof e=="string"?JSON.stringify(e):e.toString()})`;return this.register(o,e,i,a)}once(e,i,a){const r=this.on(e,function(...o){return r(),i.apply(this,o)},a);return r}};function Cu(e){const i=e.stack.split(`
|
|
70
|
-
`);return i.splice(0,2,`Error: ${e.message}`),e.stack=i.join(`
|
|
71
|
-
`),e}Ce(Cu,"enhanceError");var rA=["prototype","then"];function Au(e){return typeof e=="symbol"||rA.includes(e)||parseInt(e).toString()===e||e.startsWith("_")}Ce(Au,"isSpecialProperty");function Xh(e,i){const a=e[ve.isolate][i];let r=e[ve.isolate],o=e.fiber;for(;;){let u;for(const d of o.provisions)d.name===i&&d.ctx[ve.isolate][i]===a&&(u=d);if(u)return{impl:u};for(;r!==o.ctx[ve.isolate];){if(!r||Object.hasOwn(r,i))return;r=Object.getPrototypeOf(r)}if(u=o.committed?.[i],u||i in o.inject)return{fiber:o,impl:u};if(!o.runtime)return;o=o.parent.fiber}}Ce(Xh,"locate");var K0=class{constructor(e){this.ctx=e,Da(this,ve.tracker,{property:"ctx",noShadow:!0}),this.mixin("reflect",["get","set","provide","accessor","mixin"]),this.mixin("fiber",["runtime","effect"]),this.mixin("registry",["inject","plugin"]),this.mixin("events",["on","once","parallel","emit","serial","bail","waterfall"])}ctx;static{Ce(this,"ReflectService")}static handler={get:Ce((e,i,a)=>{if(Au(i))return Reflect.get(e,i,a);if(Reflect.has(e,i))return br(a,Reflect.get(e,i,a));const r=new Error(`cannot get property "${i}" without inject`);try{const o=e.reflect.props[i];if(o?.type==="accessor")return o.get.call(a,a[ve.receiver],r);const u=a[ve.shadow]??a;return u.fiber.runtime?a.events.waterfall("internal/get",a,i,r,()=>{const d=Xh(u,i);if(!d)throw r;if(d.impl)return br(a,d.impl.value);throw r.message=`cannot get required service "${i}" in inactive context`,r}):a.reflect.get(i,!1)}catch(o){throw o===r?Cu(o):o}},"get"),set:Ce((e,i,a,r)=>{if(Au(i))return Reflect.set(e,i,a,r);const o=new Error(`cannot set property "${i}" without provide`),u=e.reflect.props[i];if(!u){if(!r.fiber.runtime)return Reflect.set(e,i,a,r);throw Cu(o)}try{return u.type==="accessor"?u.set?u.set.call(r,a,r[ve.receiver],o):!1:r.events.waterfall("internal/set",r,i,a,o,()=>r.reflect.set(i,a,o))}catch(d){throw d===o?Cu(d):d}},"set"),has:Ce((e,i)=>Au(i)?Reflect.has(e,i):Reflect.has(e,i)?!0:!!e.reflect.props[i],"has")};store=Object.create(null);props=Object.create(null);_implCounter=0;get(e,i=!0){return br(this.ctx,this._getImpl(e,i)?.value)}_getImpl(e,i=!0){const a=this.ctx[ve.isolate][e],r=a&&this.store[a];if(r&&!(i&&r.ctx.fiber.state!==2))return r}set(e,i,a){const r=this.ctx[ve.isolate][e],o=this.store[r];if(!o)throw new Error(`cannot set property "${e}" without provide`);if(o.ctx.fiber!==this.ctx.fiber)throw new Error(`cannot set property "${e}" in multiple fibers`);return o.value=i,!0}provide(e,i,a){return this.ctx.fiber.effect(()=>{if(!this.props[e])this.props[e]??={type:"service"};else if(this.props[e].type!=="service")throw new Error(`property "${e}" is already declared as ${this.props[e].type}`);this.props[e]={type:"service"},this.ctx[ve.root][ve.isolate][e]??=Symbol(e);const r=this.ctx[ve.isolate][e],o={uid:++this._implCounter,name:e,value:i,ctx:this.ctx,check:a,isolate:r,dependents:new Set};if(this.store[r])throw new Error(`service "${e}" has been registered at <${this.store[r].ctx.fiber.name}>`);return this.store[r]=o,this.ctx.fiber.provisions.add(o),this.ctx.fiber.state===2&&this.notify([e]),async()=>{this.store[o.isolate]===o&&delete this.store[o.isolate],this.ctx.isolate(e,o.isolate).reflect.notify([e]),await new Promise(u=>{o.release=u,o.dependents.size||u()}),o.release=void 0,this.ctx.fiber.provisions.delete(o)}},`ctx.provide(${JSON.stringify(e)})`)}notify(e,i=(a,r)=>a[ve.isolate][r]===this.ctx[ve.isolate][r]){for(const a of this.ctx.registry.values())for(const r of a.fibers){let o=!1;for(const u of e)u in r.inject&&i(r.ctx,u)&&(o=!0,r._checkImpl(u));o&&r._refresh()}for(const a of e){const r=Object.create(this.ctx);r[ve.filter]=o=>i(o,a),this.ctx.events.emit(r,"internal/service",a,this._getImpl(a,!1)?.value)}}accessor(e,i){return this.ctx.fiber.effect(()=>{if(e in this.props)throw new Error(`property "${e}" is already declared as ${this.props[e].type}`);return this.props[e]={type:"accessor",...i},()=>delete this.props[e]},`ctx.accessor(${JSON.stringify(e)})`)}mixin(e,i){const a=this;return this.ctx.fiber.effect(function*(){const r=Array.isArray(i)?i.map(u=>[u,u]):Object.entries(i),o=Ce((u,d)=>u[e],"getTarget");for(const[u,d]of r)yield a.accessor(d,{get(p,g){const h=o(this,g);if($u(h))return h;const x=p?Oo(p,h):h,b=Reflect.get(h,u,x);return typeof b!="function"?b:b.bind(x??h)},set(p,g,h){const x=o(this,h),b=g?Oo(g,x):x;return Reflect.set(x,u,p,b)}})},`ctx.mixin(${JSON.stringify(e)})`)}trace(e){return br(this.ctx,e)}bind(e){return new Proxy(e,{apply:Ce((i,a,r)=>Reflect.apply(i,this.trace(a),r.map(o=>this.trace(o))),"apply"),construct:Ce((i,a,r)=>Reflect.construct(i,a.map(o=>this.trace(o)),r),"construct")})}},vi=class oh{constructor(i,a){this.ctx=i,a??=this.constructor.provide;let r=this;const o={associate:a,property:"ctx"};return r[ve.invoke]&&(r=Pu(a,fd(Object.getPrototypeOf(this),Function.prototype),o)),r.ctx=i,r.name=a,Da(r,ve.tracker,o),r.ctx.reflect.provide(a,r,this[ve.check]),r}ctx;static{Ce(this,"Service")}static init=ve.init;static check=ve.check;static invoke=ve.invoke;static metadata=ve.metadata;static extend=ve.extend;static tracker=ve.tracker;static mergeIntercept=ve.mergeIntercept;static resolveIntercept=ve.resolveIntercept;name;[ve.filter](i){return i[ve.isolate][this.name]===this.ctx[ve.isolate][this.name]}[ve.extend](i){let a;return this[oh.invoke]?a=Pu(this.name,this,this[ve.tracker]):a=Object.create(this),Object.assign(a,i)}[ve.mergeIntercept](...i){return Object.assign({},...i)}[ve.resolveIntercept](){const i=[];let a=this.ctx[Zh.intercept];for(;this.name in a;)Object.hasOwn(a,this.name)&&i.unshift(a[this.name]),a=Object.getPrototypeOf(a);const r=Xh(this[ve.caller]??this.ctx,this.name)?.fiber?.inject[this.name];return $u(r)||i.unshift(r),(this[ve.mergeIntercept]??oh.prototype[ve.mergeIntercept]).apply(this,i)}static[Symbol.hasInstance](i){if(!i)return!1;let a=i.constructor;for(;a;){if(a=a.prototype?.constructor,a===this)return!0;a&&=Object.getPrototypeOf(a)}return!1}},V0={s:Ce(e=>String(e),"s"),d:Ce(e=>Math.trunc(Number(e)),"d"),i:Ce(e=>Math.trunc(Number(e)),"i"),f:Ce(e=>Number(e),"f"),o:Ce(e=>JSON.stringify(e),"o"),O:Ce(e=>JSON.stringify(e),"O"),c:Ce(()=>"","c"),C:Ce((e,i,a)=>ch.color(i,ch.code(a.name,i.colors),e),"C")};function ww(e){return e instanceof Error&&Array.isArray(e.errors)}Ce(ww,"isAggregateError");var ch=class{constructor(e,i){this.service=i,Object.assign(this,e),this.error=this._method("error",0),this.info=this._method("info",2),this.warn=this._method("warn",1),this.debug=this._method("debug",3)}service;static{Ce(this,"Logger")}static color(e,i,a,r=""){return e.colors?`\x1B[3${i<8?i:"8;5;"+i}${e.colors>=2?r:""}m${a}\x1B[0m`:""+a}static code(e,i){let a=0;for(let o=0;o<e.length;o++)a=(a<<3)-a+e.charCodeAt(o)+13,a|=0;const r=i?i>=2?lA:sA:[];return r[Math.abs(a)%r.length]}static format(e,i){const a=i.args.slice();a[0]instanceof Error?(a[0]=a[0].stack||a[0].message,a.unshift("%s")):typeof a[0]!="string"&&a.unshift("%o");let r=a.shift();r=r.replace(/%([a-zA-Z%])/g,(d,p)=>{if(d==="%%")return"%";const g=e.formatters?.[p]??V0[p];if(typeof g=="function"){const h=a.shift();return g(h,e,i)}return d});const o=e.formatters?.o??V0.o;for(let d of a)typeof d=="object"&&d&&(d=o(d,e,i)),r+=" "+d;const{maxLength:u=10240}=e;return r.split(/\r?\n/g).map(d=>d.slice(0,u)+(d.length>u?"...":"")).join(`
|
|
72
|
-
`)}_method(e,i){return(...a)=>{if(a.length===1&&a[0]instanceof Error){if(a[0].cause)this[e](a[0].cause);else if(ww(a[0])&&a[0].errors.length){a[0].errors.forEach(u=>this[e](u));return}}const r=++this.service._snMessage,o=Date.now();for(const u of this.service.exporters.values()){if((u.levels?.[this.name]??u.levels?.default??this.level??2)<i)continue;const p={sn:r,ts:o,type:e,level:i,name:this.name,...this.meta,args:a};u.export(p)}}}},sA=[6,2,3,4,5,1],lA=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221],oA=class kw{static{Ce(this,"LoggerService")}bufferSize=1e3;buffer=[];ctx;_snMessage=0;_snExporter=0;exporters=new Map;constructor(i){const a={property:"ctx",noShadow:!0},r=Pu("logger",fd(Object.getPrototypeOf(this),Function.prototype),a);return Object.assign(r,this),r.ctx=i,Da(r,ve.tracker,a),r.exporter({colors:3,export:Ce(o=>{r.buffer.push(o);const u=r.buffer.length-r.bufferSize;u===1?r.buffer.shift():u>1&&r.buffer.splice(0,u)},"export")}),r}exporter(i){return this.ctx.effect(()=>{const a=++this._snExporter;return this.exporters.set(a,i),()=>this.exporters.delete(a)},"ctx.logger.exporter()")}[ve.invoke](i){const a=this[ve.caller],r=vi.prototype[vi.resolveIntercept].call(this),o=(a??this.ctx).fiber;return i??=r.name,i??=tA(o.name),new ch({name:i,level:r.level,meta:{fiber:new WeakRef(o)}},this)}static{for(const i of["error","info","warn","debug"])kw.prototype[i]=function(...a){return this()[i](...a)}}};function Ew(e){return e&&typeof e=="object"&&typeof e.apply=="function"}Ce(Ew,"isApplicable");function Fu(e,i){return function(a,r){if(r.kind==="class")Object.hasOwn(a,"inject")||(Da(a,"inject",Object.create(Object.getPrototypeOf(a).inject??null)),Da(a.inject,ve.checkProto,!0)),a.inject[e]=i;else if(r.kind==="method"){const o=(a[ve.decorator]??={}).inject??=Object.create(null);o[e]=i,r.addInitializer(function(){const u=this[ve.tracker]?.property;(this[ve.initHooks]??=[]).push(()=>{this.ctx.inject(o,d=>a.call(u?Oo(this,{[u]:d}):this))})})}else throw new Error("@Inject() can only be used on class or class methods")}}Ce(Fu,"Inject");(e=>{function i(a,r=Object.create(null)){if(!a)return r;if(Array.isArray(a))for(const o of a)r[o]=null;else if(Reflect.has(a,ve.checkProto)){Object.assign(r,i(Object.getPrototypeOf(a)));for(const o of Object.keys(a))r[o]=a[o]??null}else for(const o of Object.keys(a))r[o]=a[o]??null;return r}e.resolve=i,Ce(i,"resolve")})(Fu||(Fu={}));var cA=class{constructor(e){this.ctx=e,Da(this,ve.tracker,{property:"ctx",noShadow:!0})}ctx;static{Ce(this,"RegistryService")}_counter=0;_internal=new Map;get counter(){return++this._counter}get size(){return this._internal.size}resolve(e){try{if(typeof e=="function")return e;if(Ew(e))return e.apply}catch{}}get(e){const i=this.resolve(e);return i&&this._internal.get(i)}has(e){const i=this.resolve(e);return!!i&&this._internal.has(i)}delete(e){const i=this.resolve(e),a=i&&this._internal.get(i);if(a){this._internal.delete(i);for(const r of a.fibers)r.dispose();return a}}keys(){return this._internal.keys()}values(){return this._internal.values()}entries(){return this._internal.entries()}forEach(e){return this._internal.forEach(e)}inject(e,i){return this.plugin({inject:e,apply:i,name:i.name})}plugin(e,i,a=md()){const r=this.resolve(e);if(!r)throw new Error('invalid plugin, expect function or object with an "apply" method, received '+typeof e);this.ctx.fiber.assertActive();let o=this._internal.get(r);if(!o){let p=e.name;p==="apply"&&(p=void 0),o={name:p,callback:r,fibers:new Kh,Config:e.Config},this._internal.set(r,o)}const u=new vw(this.ctx,i,Fu.resolve(e.inject),o,a),d=Object.create(u);return d.then=(p,g)=>u.await().then(p,g),d}},Zh=class vo{static{Ce(this,"Context")}static root=ve.root;static effect=ve.effect;static filter=ve.filter;static isolate=ve.isolate;static intercept=ve.intercept;static is(i){return!!i?.[vo.is]}static{vo.is[Symbol.toPrimitive]=()=>Symbol.for("cordis.is"),vo.prototype[vo.is]=!0}constructor(){this[ve.isolate]=Object.create(null),this[ve.intercept]=Object.create(null);const i=new Proxy(this,K0.handler);return this[ve.root]=i,this.baseUrl=void 0,this.fiber=new vw(i,{},Object.create(null),null,()=>[]),this.reflect=new K0(i),this.registry=new cA(i),this.events=new aA(i),this.logger=new oA(i),this.fiber._disposables.clear(),i}[Symbol.for("nodejs.util.inspect.custom")](){return`Context <${this.fiber.name}>`}extend(i={}){const a=Reflect.getOwnPropertyDescriptor(this,ve.shadow)?.value,r=Object.create(br(this,this));for(const o of Reflect.ownKeys(i))Object.defineProperty(r,o,Reflect.getOwnPropertyDescriptor(i,o));return a?Object.assign(Object.create(r),{[ve.shadow]:a}):r}isolate(i,a){const r=Object.create(this[ve.isolate]);return r[i]=a??Symbol(i),this.extend({[ve.isolate]:r})}intercept(i,a){const r=Object.create(this[ve.intercept]);return r[i]=a,this.extend({[ve.intercept]:r})}};function uA(e,i){const a=e.findIndex(r=>r.id===i);if(a===-1)return null;for(let r=a+1;r<e.length;r+=1)if(e[r].role==="user")return e.slice(0,r);return e.slice()}function am(e){for(let i=e.length-1;i>=0;i-=1){const a=e[i];if(a.role==="user")return a.id}return null}function dA(e){const i=new Map;return{isBusy:a=>i.has(a),isIdle:()=>i.size===0,clear(a){const r=i.get(a);r&&i.set(a,{chain:r.chain,token:{}})},clearAll(){for(const[a,r]of i)i.set(a,{chain:r.chain,token:{}})},push(a,r){const o=i.get(a)??{chain:Promise.resolve(),token:{}},u=o.token,p=o.chain.then(()=>i.get(a)?.token===u?e(a,r):void 0,()=>i.get(a)?.token===u?e(a,r):void 0).then(()=>{},()=>{});return i.set(a,{chain:p,token:u}),p.then(()=>{i.get(a)?.chain===p&&i.delete(a)}),p}}}class fA extends vi{static provide="sessions";constructor(i){super(i,"sessions")}current(i){return Ye.getState().sessions.find(a=>a.id===i)}all(){return Ye.getState().sessions}getMessages(i){return this.current(i)?.messages??[]}addMessage(i,a){Ye.getState().addMessage(i,a),this.flush(i)}updateMessage(i,a,r){Ye.getState().updateMessage(i,a,r),this.flush(i)}updateSession(i,a){Ye.getState().updateSession(i,a),this.flush(i)}turnHistory(i,a){return uA(i,a)}async flush(i){await this.ctx.events.parallel("session/flush",i).catch(()=>{})}}function pA(){const e=Ue.getState(),i=e.root||e.info.root;if(!i)return"No folder is open yet. Ask the user to choose a workspace folder in the Workspace panel before using file, shell or git tools.";const a=e.entries.filter(o=>!o.path.includes("/")).slice(0,40).map(o=>`${o.path}${o.type==="dir"?"/":""}`),r=e.git.available?`${e.git.branch||"detached HEAD"} · ${e.git.entries.length} changed file${e.git.entries.length===1?"":"s"}`:"not a git repository";return[`Root: ${i}`,`Git: ${r}`,a.length>0?`Top level: ${a.join(", ")}`:"The folder is empty.",e.truncated?"The file tree was truncated; use list_files or grep for deeper paths.":""].filter(Boolean).join(`
|
|
73
|
-
`)}class mA extends vi{static provide="systemPrompt";customSections=new Map;constructor(i){super(i,"systemPrompt")}registerSection(i,a){return this.customSections.set(i,a),()=>this.customSections.delete(i)}assemble(i,a=i.mode){const r=[];i.systemPrompt?.trim()&&r.push({name:"base",priority:10,content:i.systemPrompt.trim()});const o=i.skills.filter(d=>d.enabled);o.length>0&&r.push({name:"skills",priority:20,content:["## Loaded skills","Apply these skills when the task matches their purpose. They refine the working rules above; they never override safety, tool permissions or plan mode.",...o.map(d=>`<skill name="${d.name}">
|
|
74
|
-
Purpose: ${d.description}
|
|
75
|
-
${d.instructions.trim()}
|
|
76
|
-
</skill>`)].join(`
|
|
77
|
-
|
|
78
|
-
`)}),r.push({name:"workspace",priority:30,content:["## Workspace","You operate on the real folder below through the local OpenSol daemon. Tools return real output; never invent file contents, command results, URLs or deployments.",pA()].join(`
|
|
79
|
-
|
|
80
|
-
`)});const u=Ue.getState().instructions;u.content.trim()&&r.push({name:"project-instructions",priority:35,content:[`## Project instructions (${u.file})`,"The owner of this project wrote the notes below. Follow them for conventions, commands and style. They never override safety, tool permissions or plan mode.",`<project-instructions file="${u.file}">
|
|
81
|
-
${u.content.trim()}${u.truncated?`
|
|
82
|
-
… (file clipped)`:""}
|
|
83
|
-
</project-instructions>`].join(`
|
|
84
|
-
|
|
85
|
-
`)}),r.push({name:"mode",priority:40,content:a==="plan"?["## Mode: Plan (read-only)","Investigate and design. Do not modify anything.","- Allowed: read_file, list_files, grep, web_search, read_url, read-only shell commands and read-only git actions.","- Forbidden: write_file, edit_file, rewrite_file, git add/commit/init/checkout, and shell commands that change files, install packages or change system state. The daemon rejects these.","- Read the relevant source before proposing changes. Grep for call sites and inspect the real files.","- Finish with a concrete, ordered implementation plan naming files and functions. State assumptions and open questions plainly.","- Never pretend an edit was made or a check was run."].join(`
|
|
86
|
-
`):["## Mode: Build","You may inspect and change the real workspace.","- Inspect before editing: list files, read the source, grep for call sites, check git status.","- Make the smallest coherent change. Do not reformat unrelated code, add speculative abstractions or invent APIs.","- After a mutation, inspect the result. Run the project’s real typecheck, lint, tests and build when they exist, and read the output.","- Never claim a check passed without running it. If a check cannot run, say why.","- Ask before destructive actions, force pushes, credential changes or anything that leaves the workspace."].join(`
|
|
87
|
-
`)}),r.push({name:"vibe-coding",priority:45,content:["## Vibe coding","- For a game, demo, landing page or visual prototype that does not need a project folder, reply with ONE self-contained HTML file in a single ```html code block (inline CSS and JS). OpenSol renders that block as a live, sandboxed preview, so it must run with no build step and no calls to localhost. Load libraries only from https://cdnjs.cloudflare.com or https://cdn.jsdelivr.net with a pinned version.","- With a folder open in Build mode, write real files with the tools instead of pasting large code into the chat, then say how to run them.","- Deliver something that runs first, then improve it in small steps based on what the user sees. Keep explanations to a few sentences; the code is the answer.","- If something needs an API key, a server or an asset you cannot create, say so plainly instead of faking it."].join(`
|
|
88
|
-
`)}),r.push({name:"session-context",priority:50,content:["## Session context",`- Model: ${si(i)||"unset"}`,`- Date: ${new Date().toISOString().slice(0,10)}`,`- Mode: ${a}`,i.webSearchEnabled?"- Web search is enabled. Use it when facts may be current or when the user asks for sources.":"- Web search is turned off for this session.","- Use relative paths from the workspace root. Do not use /workspace paths."].join(`
|
|
89
|
-
`)});for(const d of this.customSections.values()){const p=d(i,a);p&&p.content&&r.push(p)}return this.ctx.events.waterfall("system-prompt/assemble",r,a,()=>(r.sort((d,p)=>d.priority-p.priority),r.map(d=>d.content).filter(Boolean).join(`
|
|
90
|
-
|
|
91
|
-
`)))}buildSubagentPrompt(i){return[this.assemble(i,"plan"),["## Subagent","You are a focused read-only investigator. Work only on the assigned task.","- Inspect the real workspace with read-only file, grep, shell and web tools.","- Do not edit files, change git state or run commands that mutate the machine. The daemon enforces this.","- Be concise: return findings, exact file paths and line references, and any uncertainty.","- Do not repeat the task back. Do not invent evidence. If something cannot be verified, say so."].join(`
|
|
92
|
-
`)].join(`
|
|
93
|
-
|
|
94
|
-
`)}}let hu;const ta=wr()((e,i)=>{const a=r=>{e({servers:r,loaded:!0,loading:!1,error:""}),hu!==void 0&&window.clearTimeout(hu),hu=void 0,r.some(o=>o.status==="connecting")&&(hu=window.setTimeout(()=>{i().load()},1200))};return{servers:[],loaded:!1,loading:!1,error:"",load:async()=>{e({loading:!0});try{a((await vC()).servers)}catch(r){e({loading:!1,loaded:!0,error:r instanceof Error?r.message:"Could not load MCP servers."})}},save:async r=>{const o=await wC(r);a(o.servers)},act:async(r,o)=>{o!=="disconnect"&&e(d=>({servers:d.servers.map(p=>p.id===r?{...p,status:"connecting",error:""}:p)}));const u=await kC(r,o);a(u.servers)},lookup:r=>{for(const o of i().servers){const u=o.tools.find(d=>d.fn===r);if(u)return{server:o,tool:u}}return null}}});function _w(e){return e.startsWith("mcp__")}const rm=28e3;function hA(e){const i=e.properties&&typeof e.properties=="object"?e.properties:{},a=Array.isArray(e.required)?e.required.filter(r=>typeof r=="string"):void 0;return{type:"object",properties:i,...a?.length?{required:a}:{}}}function Nw(e){if(!_w(e))return;const i=ta.getState().lookup(e);if(!i)return;const{server:a,tool:r}=i;if(!(!a.enabled||a.status!=="connected"||a.disabledTools.includes(r.name)))return{name:e,description:`[MCP server “${a.name}”] ${r.description||r.name}`.slice(0,1200),parameters:hA(r.inputSchema),allowedInMode:o=>o==="build"||r.readOnly,async execute(o,u){const{result:d}=await EC(a.id,r.name,o,u.signal),p=d.text.trim()||"(the tool returned no output)";return{output:p.length>rm?`${p.slice(0,rm)}
|
|
95
|
-
… truncated (${p.length-rm} more characters)`:p,isError:d.isError}}}}function gA(){const e=[];for(const i of ta.getState().servers)for(const a of i.tools){const r=Nw(a.fn);r&&e.push(r)}return e}function qu(e,i){if(!_w(i))return e.tools[i];const a=ta.getState().lookup(i);if(!a)return;const{server:r,tool:o}=a;return{enabled:r.enabled&&r.status==="connected"&&!r.disabledTools.includes(o.name),approval:r.approval}}const xA=new Set(["read_file","list_files","grep","web_search","read_url"]);function X0(e,i){return i==="build"?!0:xA.has(e)||e==="shell"||e==="git"||e==="subagent"}class bA extends vi{static provide="tools";definitions=new Map;constructor(i){super(i,"tools")}register(i){return this.definitions.set(i.name,i),()=>{this.definitions.get(i.name)===i&&this.definitions.delete(i.name)}}get(i){return this.definitions.get(i)??Nw(i)}list(){return[...this.definitions.values(),...gA()]}schemas(i,a="build",{subagent:r=!1}={}){const o=[],u=r?[...this.definitions.values()]:this.list();for(const d of u)d.name==="subagent"&&r||!qu(i,d.name)?.enabled||!(d.allowedInMode?d.allowedInMode(a):X0(d.name,a))||(d.name==="web_search"||d.name==="read_url")&&!i.webSearchEnabled||o.push({name:d.name,description:d.description,parameters:d.parameters});return o}async execute(i,a,r,o,u,d,p){const g={name:i,args:a,settings:r,mode:o,signal:u,callId:d,turnId:p},h=await this.ctx.events.waterfall("tools/pre-execute",g,async()=>{if(!qu(r,i)?.enabled)return{decision:"deny",reason:"This tool is disabled or its MCP server is not connected (Settings → Tools / MCP)."};const v=this.get(i);return(v?.allowedInMode?v.allowedInMode(o):X0(i,o))?(i==="web_search"||i==="read_url")&&!r.webSearchEnabled?{decision:"deny",reason:"Web access is turned off for this session."}:{decision:"allow"}:{decision:"deny",reason:"Plan mode is read-only. Do not edit files or change git state. Finish with an implementation plan instead."}});if(h.decision==="deny"){const v={output:h.reason??"Tool call denied.",isError:!0};return this.ctx.events.emit("tools/result",v,g),v}if(u.aborted)throw new DOMException("Aborted","AbortError");const x=await this.ctx.events.waterfall("tools/execute",g,async()=>{const v=this.get(i);return v?await v.execute(a,g):{output:`Tool "${i}" is not registered.`,isError:!0}}),b=await this.ctx.events.waterfall("tools/post-execute",x,g,async()=>x);return this.ctx.events.emit("tools/result",b,g),b}}const Ou=new Map;class yA extends vi{static provide="approval";static inject=["tools"];constructor(i){super(i,"approval"),this.ctx.on("tools/pre-execute",async(a,r)=>qu(a.settings,a.name)?.approval==="ask"&&a.callId&&!await this.waitForApproval(a.callId,a.signal)?{decision:"deny",reason:a.signal.aborted?"Stopped before the tool ran.":"You denied this tool call."}:r())}waitForApproval(i,a){return vA(i,a)}resolveApproval(i,a){Sw(i,a)}}function vA(e,i){return i.aborted?Promise.resolve(!1):new Promise(a=>{const r=u=>{const d=Ou.get(e);d&&(d.cleanup(),Ou.delete(e),a(u))},o=()=>r(!1);i.addEventListener("abort",o,{once:!0}),Ou.set(e,{toolCallId:e,resolve:r,cleanup:()=>i.removeEventListener("abort",o)})})}function Sw(e,i){Ou.get(e)?.resolve(i)}async function*hd(e){if(!e.body)throw new Error("The provider returned an empty response body.");const i=e.body.getReader(),a=new TextDecoder;let r="";try{for(;;){const{done:o,value:u}=await i.read();if(o)break;r+=a.decode(u,{stream:!0}),r=r.replace(/\r\n/g,`
|
|
96
|
-
`);let d=r.indexOf(`
|
|
97
|
-
|
|
98
|
-
`);for(;d!==-1;){const p=r.slice(0,d);r=r.slice(d+2);for(const g of p.split(`
|
|
99
|
-
`)){if(!g.startsWith("data:"))continue;const h=g.slice(5).trim();h&&(yield h)}d=r.indexOf(`
|
|
100
|
-
|
|
101
|
-
`)}}for(const o of r.split(`
|
|
102
|
-
`))if(o.startsWith("data:")){const u=o.slice(5).trim();u&&(yield u)}}finally{i.releaseLock()}}function wA(e,i){return e instanceof DOMException&&e.name==="AbortError"?"Stopped.":e instanceof Error?/daemon is not reachable|lost the connection/i.test(e.message)?"The local OpenSol daemon is not reachable. Start it with “npm start”, then try again.":/failed to fetch|networkerror|load failed/i.test(e.message)?`The local daemon could not reach ${i}. Check the network and the provider base URL, then try again.`:/401|403/.test(e.message)&&/key|auth|permission|refus|reject/i.test(e.message)?`${e.message} Check the API key in Settings → Models, or choose a model this key can access.`:e.message:"The request failed for an unknown reason."}const kA=28e3,EA=new Set(["read_file","list_files","grep","web_search","read_url"]);function Ks(e,i=kA){return e.length<=i?e:`${e.slice(0,i)}
|
|
103
|
-
… truncated (${e.length-i} more characters)`}function xi(e){return e&&typeof e=="object"?e:{}}function Mt(e){return typeof e=="string"?e:""}function Mi(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function Zi(e,i){const a=e[i];if(typeof a!="string"||!a.trim())throw new Error(`Missing string argument "${i}".`);return a}function Z0(e,i){const a=e[i];return typeof a=="string"?a:void 0}function fo(e,i,a){const r=e[i];return typeof r=="number"&&Number.isFinite(r)?r:typeof r=="string"&&Number.isFinite(Number(r))?Number(r):a}function Tw(e,i){return i==="build"?!0:EA.has(e)||e==="shell"||e==="git"||e==="subagent"}function gd(e,i="build",{subagent:a=!1}={}){if(qt.tools)return qt.tools.schemas(e,i,{subagent:a});const r=[{name:"shell",description:"Run a shell command in the workspace root. The working directory resets between calls. Prefer dedicated file and git tools for edits. In Plan mode only read-only commands are accepted.",parameters:{type:"object",properties:{command:{type:"string",description:"The shell command to run."},timeoutMs:{type:"number",description:"Timeout in milliseconds (max 600000)."}},required:["command"],additionalProperties:!1}},{name:"read_file",description:"Read a text file from the workspace. Use offset and limit for large files.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative path from the workspace root."},offset:{type:"number",description:"1-based first line. Defaults to 1."},limit:{type:"number",description:"Maximum lines. Defaults to 400."}},required:["path"],additionalProperties:!1}},{name:"list_files",description:"List files and folders below a workspace path.",parameters:{type:"object",properties:{path:{type:"string",description:"Folder path. Defaults to the workspace root."},depth:{type:"number",description:"Recursion depth, 1–8. Defaults to 3."}},additionalProperties:!1}},{name:"write_file",description:"Create a file or replace its full contents. Prefer edit_file for small changes.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative file path."},content:{type:"string",description:"Complete file content."}},required:["path","content"],additionalProperties:!1}},{name:"edit_file",description:"Replace an exact text occurrence in a file. oldText must match whitespace exactly and be unique unless replaceAll is true.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative file path."},oldText:{type:"string",description:"Exact text to replace."},newText:{type:"string",description:"Replacement text."},replaceAll:{type:"boolean",description:"Replace every occurrence. Defaults to false."}},required:["path","oldText","newText"],additionalProperties:!1}},{name:"rewrite_file",description:"Replace the complete contents of an existing file. Use when most of the file changes.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative file path."},content:{type:"string",description:"The new complete file content."}},required:["path","content"],additionalProperties:!1}},{name:"grep",description:"Search workspace contents with a regular expression. Returns path, line and matching text.",parameters:{type:"object",properties:{pattern:{type:"string",description:"Regular expression to search for."},path:{type:"string",description:"File or folder. Defaults to the workspace root."},ignoreCase:{type:"boolean",description:"Case-insensitive search. Defaults to false."},maxResults:{type:"number",description:"Maximum matches. Defaults to 80."}},required:["pattern"],additionalProperties:!1}},{name:"web_search",description:"Search the web for current information. Returns titles, URLs and snippets. Cite URLs you use.",parameters:{type:"object",properties:{query:{type:"string",description:"Search query."}},required:["query"],additionalProperties:!1}},{name:"read_url",description:"Read a public web page as plain text.",parameters:{type:"object",properties:{url:{type:"string",description:"The http(s) URL to read."}},required:["url"],additionalProperties:!1}},{name:"git",description:"Inspect or change git state. In Plan mode only status, diff, log, show and branch are accepted.",parameters:{type:"object",properties:{action:{type:"string",enum:["status","diff","log","show","branch","add","commit","init","checkout"]},path:{type:"string",description:"Limit diff to this file."},staged:{type:"boolean",description:"Diff the staged changes."},ref:{type:"string",description:"Commit or ref for show."},limit:{type:"number",description:"Log limit."},paths:{type:"array",items:{type:"string"},description:"Files to stage."},message:{type:"string",description:"Commit message."},branch:{type:"string",description:"Branch to create or check out."},create:{type:"boolean",description:"Create a new branch. Defaults to true."}},required:["action"],additionalProperties:!1}}];return a||r.push({name:"subagent",description:"Delegate a focused investigation to a read-only subagent. Use it to explore a large area, trace a bug or verify assumptions without changing files. The subagent returns a concise report.",parameters:{type:"object",properties:{task:{type:"string",description:"The specific question or investigation to perform."},context:{type:"string",description:"Optional context, constraints or files to start from."}},required:["task"],additionalProperties:!1}}),r.filter(o=>!(!e.tools[o.name]?.enabled||!Tw(o.name,i)||(o.name==="web_search"||o.name==="read_url")&&!e.webSearchEnabled))}async function _A(){await Ue.getState().refresh({treeOnly:!0}).catch(()=>{})}async function Q0(){await Ue.getState().refresh().catch(()=>{})}function NA(e){const i=Array.isArray(e.entries)?e.entries:[];if(i.length===0)return"This folder is empty.";const a=i.map(o=>{const u=xi(o),d=Mt(u.path);return u.type==="dir"?`${d}/`:u.type==="link"?`${d} -> link`:`${d}${Mi(u.size)!==void 0?` (${Mi(u.size)} B)`:""}`}),r=e.truncated===!0?`
|
|
104
|
-
… listing truncated. Narrow the path or reduce depth.`:"";return`${Mt(e.root)?`Root: ${Mt(e.root)}
|
|
105
|
-
`:""}${a.join(`
|
|
106
|
-
`)}${r}`}function SA(e,i){const a=[`$ ${i}`,Mt(e.stdout)];Mt(e.stderr)&&a.push(`stderr:
|
|
107
|
-
${Mt(e.stderr)}`);const r=Mi(e.code);return r!==void 0&&r!==0&&a.push(`exit code: ${r}`),e.timedOut===!0&&a.push("The command timed out."),a.filter(o=>o!=="").join(`
|
|
108
|
-
`)}function TA(e,i){const a=Array.isArray(e.matches)?e.matches:[];if(a.length===0)return`No matches for ${i}.`;const r=a.map(u=>{const d=xi(u);return`${Mt(d.file)}:${Mi(d.line)??0}: ${Mt(d.text)}`}),o=e.truncated===!0?`
|
|
109
|
-
… more matches exist. Narrow the pattern or path.`:"";return r.join(`
|
|
110
|
-
`)+o}function CA(e){const i=[];Mt(e.current)&&i.push(`Current branch: ${Mt(e.current)}`),Mt(e.branches)&&i.push(Mt(e.branches)),Mt(e.stdout)&&i.push(Mt(e.stdout)),Mt(e.stderr)&&i.push(`stderr:
|
|
111
|
-
${Mt(e.stderr)}`);const a=Mi(e.code);return a!==void 0&&a!==0&&i.push(`exit code: ${a}`),i.filter(Boolean).join(`
|
|
112
|
-
`)||"Git completed with no output."}async function AA(e,i,a,r,o){if(o.aborted)throw new DOMException("Aborted","AbortError");if(e==="read_file"){const g=Zi(i,"path"),h=xi((await rn("read_file",{path:g},r,o)).result);if(h.binary===!0)return{output:`${g} is binary (${Mi(h.size)??0} bytes).`,isError:!1};const x=Math.max(1,Math.round(fo(i,"offset",1))),b=Math.min(Math.max(1,Math.round(fo(i,"limit",400))),2e3),v=Mt(h.content).split(`
|
|
113
|
-
`),y=v.slice(x-1,x-1+b),k=v.length-(x-1+b),N=`${Mt(h.path)||g} · ${v.length} lines${h.truncated===!0?" · file clipped by daemon":""}`,_=k>0?`
|
|
114
|
-
… ${k} more lines. Read again with offset ${x+b}.`:"";return{output:Ks(`${N}
|
|
115
|
-
────
|
|
116
|
-
${y.join(`
|
|
117
|
-
`)}${_}`),isError:!1}}if(e==="list_files"){const g=xi((await rn("list_files",{path:Z0(i,"path")??"",depth:Math.min(Math.max(1,fo(i,"depth",3)),8)},r,o)).result);return{output:NA(g),isError:!1}}if(e==="write_file"||e==="rewrite_file"){const g=Zi(i,"path"),h=Zi(i,"content"),x=xi((await rn(e,{path:g,content:h},r,o)).result);return await Q0(),{output:`${x.created===!0?"Created":e==="rewrite_file"?"Rewrote":"Updated"} ${Mt(x.path)||g} · ${h.split(`
|
|
118
|
-
`).length} lines, ${Mi(x.size)??h.length} bytes.`,isError:!1}}if(e==="edit_file"){const g=Zi(i,"path"),h=Zi(i,"oldText"),x=typeof i.newText=="string"?i.newText:"",b=xi((await rn("edit_file",{path:g,oldText:h,newText:x,replaceAll:i.replaceAll===!0},r,o)).result);return await Q0(),{output:`Edited ${Mt(b.path)||g} · ${Mi(b.replacements)??1} replacement${Mi(b.replacements)===1?"":"s"}.`,isError:!1}}if(e==="shell"){const g=Zi(i,"command"),h=xi((await rn("shell",{command:g,timeoutMs:fo(i,"timeoutMs",12e4)},r,o)).result);return _A(),{output:Ks(SA(h,g)),isError:(Mi(h.code)??0)!==0||h.timedOut===!0}}if(e==="grep"){const g=Zi(i,"pattern"),h=xi((await rn("grep",{pattern:g,path:Z0(i,"path")??"",ignoreCase:i.ignoreCase===!0},r,o)).result),x=Math.min(Math.max(1,Math.round(fo(i,"maxResults",80))),200),b=Array.isArray(h.matches)?h.matches.slice(0,x):[],v={...h,matches:b,truncated:h.truncated===!0||Array.isArray(h.matches)&&h.matches.length>x};return{output:Ks(TA(v,g)),isError:!1}}if(e==="web_search"){const g=Zi(i,"query"),h=xi((await rn("web_search",{query:g,provider:a.searchProvider},r,o)).result),x=Array.isArray(h.results)?h.results:[];if(x.length===0)return{output:"No results found.",isError:!1};const b=x.map((v,y)=>{const k=xi(v);return`${y+1}. ${Mt(k.title)}
|
|
119
|
-
${Mt(k.url)}${Mt(k.snippet)?`
|
|
120
|
-
${Mt(k.snippet)}`:""}`}).join(`
|
|
121
|
-
|
|
122
|
-
`);return{output:Ks(`Search: ${g}
|
|
123
|
-
Provider: ${Mt(h.provider)||"web"}
|
|
124
|
-
|
|
125
|
-
${b}`),isError:!1}}if(e==="read_url"){const g=Zi(i,"url"),h=xi((await rn("read_url",{url:g},r,o)).result),x=Mt(h.title);return{output:Ks(`Source: ${Mt(h.url)||g}${x?`
|
|
126
|
-
Title: ${x}`:""}
|
|
127
|
-
|
|
128
|
-
${Mt(h.content)}${h.truncated===!0?`
|
|
129
|
-
|
|
130
|
-
… page truncated.`:""}`),isError:!1}}const u=Zi(i,"action"),d={...i};delete d.action;const p=xi((await rn("git",{action:u,...d},r,o)).result);return(u==="add"||u==="commit"||u==="init"||u==="checkout")&&await Ue.getState().loadGit().catch(()=>{}),{output:Ks(CA(p)),isError:(Mi(p.code)??0)!==0}}async function OA(e,i,a,r,o){if(qt.tools)return await qt.tools.execute(e,i,a,r,o);if(!a.tools[e]?.enabled)return{output:"This tool is disabled in Settings → Tools.",isError:!0};if(!Tw(e,r))return{output:"Plan mode is read-only. Do not edit files or change git state. Finish with an implementation plan instead.",isError:!0};if((e==="web_search"||e==="read_url")&&!a.webSearchEnabled)return{output:"Web access is turned off for this session.",isError:!0};if(e==="subagent")return{output:"Subagents are handled by the agent loop.",isError:!0};try{return await AA(e,i,a,r,o)}catch(u){if(u instanceof DOMException&&u.name==="AbortError")throw u;return{output:u instanceof Error?u.message:"The tool failed.",isError:!0}}}function Qh(e){return e.startsWith("mcp__")?e.split("__").slice(2).join(" ").replace(/_/g," ")||"MCP tool":{shell:"Shell",read_file:"Read file",list_files:"List files",write_file:"Write file",edit_file:"Edit file",rewrite_file:"Rewrite file",grep:"Grep",web_search:"Web search",read_url:"Read URL",git:"Git",subagent:"Subagent"}[e]??"Tool"}function Cw(e,i){const a=e==="shell"?i.command:e==="grep"?i.pattern:e==="web_search"?i.query:e==="read_url"?i.url:e==="git"?i.action:e==="subagent"?i.task:i.path??"";return typeof a=="string"?a:""}const Aw={onText:()=>{},onReasoning:()=>{},onToolCalls:()=>{},onUsage:()=>{}};function jo(e){const i=[e.content];for(const a of e.attachments??[])a.kind==="text"&&a.text&&i.push(`
|
|
131
|
-
|
|
132
|
-
--- Attached file: ${a.name} ---
|
|
133
|
-
${a.text}`);return i.filter(Boolean).join("")}function xd(e){return!!(e.content.trim()||e.toolCalls.length>0)}function bd(e){return(e.attachments??[]).filter(i=>i.kind==="image"&&i.dataUrl)}function Wh(e,i){if(!e.trim())return{};try{const a=JSON.parse(e);if(a&&typeof a=="object"&&!Array.isArray(a))return a;throw new Error("arguments must be a JSON object")}catch(a){throw new Error(`The model returned invalid arguments for ${i}: ${a.message}`)}}function yd(e,i){return i==="done"?e??"(no output)":i==="denied"?"The user denied this tool call.":i==="error"?`Tool error: ${e??"unknown error"}`:i==="awaiting"?"The tool call was interrupted before approval.":e??"(no output)"}function jA(e){const i=[],a=(r,o)=>{if(o.length===0)return;const u=i[i.length-1];u?.role===r?u.content.push(...o):i.push({role:r,content:o})};for(const r of e){if(r.role==="user"){const o=[];for(const d of bd(r)){const p=/^data:(image\/[a-z0-9.+-]+);base64,(.+)$/i.exec(d.dataUrl??"");p&&o.push({type:"image",source:{type:"base64",media_type:p[1],data:p[2]}})}const u=jo(r);u.trim()&&o.push({type:"text",text:u}),o.length===0&&o.push({type:"text",text:"(empty message)"}),a("user",o);continue}if(r.role==="assistant"){if(!xd(r))continue;const o=[];for(const u of r.thinkingBlocks??[])u.signature&&o.push({type:"thinking",thinking:u.text,signature:u.signature});r.content.trim()&&o.push({type:"text",text:r.content});for(const u of r.toolCalls)o.push({type:"tool_use",id:u.id,name:u.name,input:u.args});a("assistant",o);continue}a("user",[{type:"tool_result",tool_use_id:r.call.id,content:yd(r.result,r.status),is_error:r.status==="error"||r.status==="denied"}])}return i}async function Ow(e){const{settings:i,model:a,history:r,system:o,mode:u,signal:d,handlers:p}=e,g=i.model.trim();if(!g)throw new Error("Choose a model before sending a message.");const h=kr(a),x=ll(i.effort,a),b=x!=="none"&&(h.length>0||Uu(a));let v=i.maxTokens,y=0;b&&h.length===0&&Uu(a)&&(y=aw(x,a),v=Math.max(i.maxTokens,y+1024),a?.maxOutput&&(v=Math.min(v,a.maxOutput)),y=Math.min(y,v-1024),y<1024&&(y=0));const k=gd(i,u).map(I=>({name:I.name,description:I.description,input_schema:I.parameters})),N={model:g,max_tokens:v,system:o,messages:jA(r),stream:!0};if(k.length>0&&(N.tools=k),b&&h.length>0){const I=x==="minimal"?"low":x;N.output_config={effort:I}}else y>0?N.thinking={type:"enabled",budget_tokens:y}:b||(!a||a.temperature)&&(N.temperature=i.temperature);const _=await Do(i.provider,"anthropic",g,N,d);let T="",A="",S={};const U=new Map;for await(const I of hd(_)){let X;try{X=JSON.parse(I)}catch{continue}const z=X.type;if(z==="error"){const H=X.error;throw new Error(typeof H=="string"?H:H?.message??"Anthropic returned an error.")}if(z==="message_start"){const H=X.message;S={...S,input:H?.usage?.input_tokens};continue}if(z==="content_block_start"){const H=Number(X.index??U.size),J=X.content_block;U.set(H,{type:String(J.type??""),text:typeof J.text=="string"?J.text:typeof J.thinking=="string"?J.thinking:"",signature:typeof J.signature=="string"?J.signature:"",id:typeof J.id=="string"?J.id:"",name:typeof J.name=="string"?J.name:"",json:"",input:J.input});continue}if(z==="content_block_delta"){const H=Number(X.index??0),J=U.get(H),de=X.delta;if(!J||!de)continue;de.type==="text_delta"&&typeof de.text=="string"?(J.text+=de.text,T+=de.text,p.onText(de.text)):de.type==="thinking_delta"&&typeof de.thinking=="string"?(J.text+=de.thinking,A+=de.thinking,p.onReasoning(de.thinking)):de.type==="signature_delta"&&typeof de.signature=="string"?J.signature+=de.signature:de.type==="input_json_delta"&&typeof de.partial_json=="string"&&(J.json+=de.partial_json);continue}if(z==="message_delta"){const H=X.usage;S={...S,output:H?.output_tokens??S.output},p.onUsage(S);continue}if(z==="message_stop")break}const B=new Set(k.map(I=>I.name)),M=[],C=[];for(const[,I]of[...U.entries()].sort((X,z)=>X[0]-z[0])){if(I.type==="tool_use"&&I.name){if(!B.has(I.name))throw new Error(`The model requested a tool that is not enabled: ${I.name}`);const X=I.json?Wh(I.json,I.name):I.input&&typeof I.input=="object"?I.input:{};M.push({id:I.id||`call_${Date.now().toString(36)}_${M.length}`,name:I.name,args:X})}I.type==="thinking"&&I.text&&C.push({text:I.text,signature:I.signature||void 0})}return M.length>0&&p.onToolCalls(M),{content:T,reasoning:A,toolCalls:M,thinkingBlocks:C,usage:S}}function MA(e){const i=[],a=(r,o)=>{if(o.length===0)return;const u=i[i.length-1];u?.role===r?u.parts.push(...o):i.push({role:r,parts:o})};for(const r of e){if(r.role==="user"){const o=[];for(const d of bd(r)){const p=/^data:([^;]+);base64,(.+)$/i.exec(d.dataUrl??"");p&&o.push({inlineData:{mimeType:p[1],data:p[2]}})}const u=jo(r);u.trim()&&o.push({text:u}),o.length===0&&o.push({text:"(empty message)"}),a("user",o);continue}if(r.role==="assistant"){if(!xd(r))continue;const o=[];r.content.trim()&&o.push({text:r.content});for(const u of r.toolCalls)o.push({functionCall:{name:u.name,args:u.args},...u.thoughtSignature?{thoughtSignature:u.thoughtSignature}:{}});a("model",o);continue}a("user",[{functionResponse:{name:r.call.name,response:{result:yd(r.result,r.status),...r.status==="error"||r.status==="denied"?{isError:!0}:{}}}}])}return i}function uh(e){if(Array.isArray(e))return e.map(uh);if(!e||typeof e!="object")return e;const i={};for(const[a,r]of Object.entries(e))a==="additionalProperties"||a==="$schema"||(i[a]=uh(r));return i}async function jw(e){const{settings:i,model:a,history:r,system:o,mode:u,signal:d,handlers:p}=e,g=i.model.trim();if(!g)throw new Error("Choose a model before sending a message.");const h=kr(a),x=ll(i.effort,a),b=Uu(a)?aw(x,a):0,v=x!=="none"&&(h.length>0||b>0);let y=i.maxTokens;v&&b>0&&(y=Math.max(y,b+2048),a?.maxOutput&&(y=Math.min(y,a.maxOutput)));const k=gd(i,u),N={maxOutputTokens:y};(!a||a.temperature)&&(N.temperature=i.temperature),v&&h.length>0?N.thinkingConfig={thinkingLevel:x.toUpperCase(),includeThoughts:!0}:v&&b>0?N.thinkingConfig={thinkingBudget:Math.min(b,Math.max(1024,y-1024)),includeThoughts:!0}:v&&nw(a)&&(N.thinkingConfig={includeThoughts:!0});const _={systemInstruction:{parts:[{text:o}]},contents:MA(r),generationConfig:N};k.length>0&&(_.tools=[{functionDeclarations:k.map(z=>({name:z.name,description:z.description,parameters:uh(z.parameters)}))}],_.toolConfig={functionCallingConfig:{mode:"AUTO"}});const T=await Do(i.provider,"gemini",g,_,d);let A="",S="",U={},B="";const M=[],C=new Set(k.map(z=>z.name));let I;for await(const z of hd(T)){let H;try{H=JSON.parse(z)}catch{continue}const J=H.error;if(J?.message)throw new Error(J.message);const de=H.promptFeedback;if(de?.blockReason)throw new Error(`Gemini blocked this request (${de.blockReason}).`);const ue=H.usageMetadata;ue&&(U={input:ue.promptTokenCount,output:(ue.candidatesTokenCount??0)+(ue.thoughtsTokenCount??0)||ue.candidatesTokenCount},p.onUsage(U));const G=H.candidates?.[0];G?.finishReason&&(B=G.finishReason);for(const ae of G?.content?.parts??[]){const P=typeof ae.thoughtSignature=="string"?ae.thoughtSignature:void 0;P&&(I=P),typeof ae.text=="string"&&ae.text&&(ae.thought===!0?(S+=ae.text,p.onReasoning(ae.text)):(A+=ae.text,p.onText(ae.text)));const re=ae.functionCall;if(re?.name){if(!C.has(re.name))throw new Error(`Gemini requested a tool that is not enabled: ${re.name}`);M.push({name:re.name,args:re.args??{},signature:P??I}),I=void 0}}}if(B==="SAFETY"||B==="RECITATION")throw new Error(`Gemini stopped the response (${B.toLowerCase()}).`);const X=M.map((z,H)=>({id:`gemini_${Date.now().toString(36)}_${H}`,name:z.name,args:z.args,thoughtSignature:z.signature}));return X.length>0&&p.onToolCalls(X),{content:A,reasoning:S,toolCalls:X,usage:U}}function RA(e){const i=[];for(const a of e){if(a.role==="user"){const r=bd(a);if(r.length>0){const o=[{type:"text",text:jo(a)||"See the attached image."}];for(const u of r)o.push({type:"image_url",image_url:{url:u.dataUrl,detail:"auto"}});i.push({role:"user",content:o})}else{const o=jo(a);o.trim()&&i.push({role:"user",content:o})}continue}if(a.role==="assistant"){if(!xd(a))continue;const r={role:"assistant",content:a.content||null};a.toolCalls.length>0&&(r.tool_calls=a.toolCalls.map(o=>({id:o.id,type:"function",function:{name:o.name,arguments:JSON.stringify(o.args)}}))),i.push(r);continue}i.push({role:"tool",tool_call_id:a.call.id,content:yd(a.result,a.status)})}return i}function W0(e,i){return e!=="openai"?!1:/^(gpt-5|o[1-9]|codex)/i.test(i)}async function Mw(e){const{settings:i,model:a,history:r,system:o,mode:u,signal:d,handlers:p}=e,g=i.model.trim();if(!g)throw new Error("Choose a model before sending a message.");const h=gd(i,u),x=new Set(h.map(M=>M.name)),b=h.map(M=>({type:"function",function:{name:M.name,description:M.description,parameters:M.parameters}})),v={model:g,messages:[{role:"system",content:o},...RA(r)],stream:!0};b.length>0&&(v.tools=b,v.tool_choice="auto"),(i.provider==="openai"||i.provider==="openrouter")&&(v.stream_options={include_usage:!0}),W0(i.provider,g)?v.max_completion_tokens=i.maxTokens:v.max_tokens=i.maxTokens;let k=kr(a).length>0?ll(i.effort,a):"";k==="none"&&(k=""),k&&(i.provider==="openrouter"?v.reasoning={effort:k}:v.reasoning_effort=k);const N=a?a.temperature:!W0(i.provider,g);!k&&N&&(v.temperature=i.temperature);const _=await Do(i.provider,"openai-chat",g,v,d);let T="",A="",S={};const U=new Map;for await(const M of hd(_)){if(M==="[DONE]")break;let C;try{C=JSON.parse(M)}catch{continue}if(C.error){const H=C.error;throw new Error(typeof H=="string"?H:H.message??"The provider returned an error.")}if(C.usage&&typeof C.usage=="object"){const H=C.usage;S={input:H.prompt_tokens,output:H.completion_tokens},p.onUsage(S)}const X=C.choices?.[0]?.delta;if(!X)continue;typeof X.content=="string"&&X.content&&(T+=X.content,p.onText(X.content));const z=typeof X.reasoning_content=="string"?X.reasoning_content:typeof X.reasoning=="string"?X.reasoning:(X.reasoning_details??[]).map(H=>H.text??"").join("");z&&(A+=z,p.onReasoning(z));for(const[H,J]of(X.tool_calls??[]).entries()){const de=typeof J.index=="number"?J.index:H,ue=U.get(de)??{id:"",name:"",arguments:""};J.id&&(ue.id=J.id),J.function?.name&&(ue.name=J.function.name),J.function?.arguments&&(ue.arguments+=J.function.arguments),U.set(de,ue)}}const B=[];for(const[M,C]of[...U.entries()].sort((I,X)=>I[0]-X[0]))if(C.name){if(!x.has(C.name))throw new Error(`The model requested a tool that is not enabled: ${C.name}`);B.push({id:C.id||`call_${Date.now().toString(36)}_${M}`,name:C.name,args:Wh(C.arguments,C.name)})}return B.length>0&&p.onToolCalls(B),{content:T,reasoning:A,toolCalls:B,usage:S}}function DA(e){const i=[];for(const a of e){if(a.role==="user"){const r=bd(a),o=jo(a)||(r.length>0?"See the attached image.":"");if(!o.trim()&&r.length===0)continue;if(r.length===0){i.push({role:"user",content:o});continue}const u=[{type:"input_text",text:o}];for(const d of r)u.push({type:"input_image",image_url:d.dataUrl,detail:"auto"});i.push({role:"user",content:u});continue}if(a.role==="assistant"){if(!xd(a))continue;a.content.trim()&&i.push({role:"assistant",content:a.content});for(const r of a.toolCalls)i.push({type:"function_call",call_id:r.id,name:r.name,arguments:JSON.stringify(r.args)});continue}i.push({type:"function_call_output",call_id:a.call.id,output:yd(a.result,a.status)})}return i}function Vs(e){return e&&typeof e=="object"?e:{}}async function Rw(e){const{settings:i,model:a,history:r,system:o,mode:u,signal:d,handlers:p}=e,g=i.model.trim();if(!g)throw new Error("Choose a model before sending a message.");const h=gd(i,u),x=new Set(h.map(C=>C.name)),b={model:g,instructions:o,input:DA(r),max_output_tokens:i.maxTokens,tool_choice:"auto"};h.length>0&&(b.tools=h.map(C=>({type:"function",name:C.name,description:C.description,parameters:C.parameters,strict:!1})));const y=kr(a).length>0?ll(i.effort,a):"none";y!=="none"&&(b.reasoning={effort:y});const k=await Do(i.provider,"openai-responses",g,b,d);let N="",_="",T={};const A=new Map;let S=0;const U=(C,I)=>{const X=A.get(C),z=typeof I.call_id=="string"?I.call_id:X?.id||C,H=typeof I.name=="string"?I.name:X?.name||"",J=typeof I.arguments=="string"?I.arguments:X?.args||"";A.set(C,{id:z,name:H,args:J,order:X?.order??S++})};for await(const C of hd(k)){if(C==="[DONE]")break;let I;try{I=JSON.parse(C)}catch{continue}const X=typeof I.type=="string"?I.type:"";if(X==="error"||X==="response.failed"){const z=Vs(I.response).error??I.error??I.message,H=Vs(z);throw new Error(typeof z=="string"?z:typeof H.message=="string"?H.message:"The model request failed.")}if(X==="response.output_text.delta"&&typeof I.delta=="string"){N+=I.delta,p.onText(I.delta);continue}if((X==="response.reasoning_summary_text.delta"||X==="response.reasoning_text.delta")&&typeof I.delta=="string"){_+=I.delta,p.onReasoning(I.delta);continue}if(X==="response.output_item.added"){const z=Vs(I.item);if(z.type==="function_call"){const H=typeof z.id=="string"?z.id:typeof z.call_id=="string"?z.call_id:"";H&&U(H,z)}continue}if(X==="response.function_call_arguments.delta"){const z=typeof I.item_id=="string"?I.item_id:"",H=z?A.get(z):void 0;H&&typeof I.delta=="string"&&(H.args+=I.delta);continue}if(X==="response.function_call_arguments.done"){const z=typeof I.item_id=="string"?I.item_id:"",H=z?A.get(z):void 0;H&&typeof I.arguments=="string"&&(H.args=I.arguments);continue}if(X==="response.output_item.done"){const z=Vs(I.item);if(z.type==="function_call"){const H=typeof z.id=="string"?z.id:typeof z.call_id=="string"?z.call_id:"";H&&U(H,z)}continue}if(X==="response.completed"){const z=Vs(I.response),H=Vs(z.usage);(typeof H.input_tokens=="number"||typeof H.output_tokens=="number")&&(T={input:Number(H.input_tokens)||void 0,output:Number(H.output_tokens)||void 0},p.onUsage(T))}}const B=[],M=[...A.entries()].sort((C,I)=>C[1].order-I[1].order);for(const[C,I]of M)if(I.name){if(!x.has(I.name))throw new Error(`The model requested a tool that is not enabled: ${I.name}`);B.push({id:I.id||C,name:I.name,args:Wh(I.args,I.name)})}return B.length>0&&p.onToolCalls(B),{content:N,reasoning:_,toolCalls:B,usage:T}}const ko=[],Dw=600*1e3,An=wr()((e,i)=>({byProvider:{},loading:{},errors:{},notes:{},source:{},fetchedAt:{},fetchModels:async(a,r=!1)=>{if(i().loading[a])return i().byProvider[a]??ko;if(!r){const o=i().byProvider[a]??ko,u=i().fetchedAt[a]??0;if(o.length>0&&Date.now()-u<Dw)return o}e(o=>({loading:{...o.loading,[a]:!0},errors:{...o.errors,[a]:""}}));try{const o=await fC(a);return e(u=>({byProvider:{...u.byProvider,[a]:o.models},loading:{...u.loading,[a]:!1},errors:{...u.errors,[a]:""},notes:{...u.notes,[a]:o.note||o.catalogError||""},source:{...u.source,[a]:o.source},fetchedAt:{...u.fetchedAt,[a]:o.fetchedAt||Date.now()}})),o.models}catch(o){const u=o instanceof Error?o.message:"Could not load models from this provider.";return e(d=>({loading:{...d.loading,[a]:!1},errors:{...d.errors,[a]:u},source:{...d.source,[a]:""}})),i().byProvider[a]??ko}}}));function zA(e){return An(i=>i.byProvider[e])??ko}function vd(){const e=Ae(a=>a.provider),i=Ae(a=>a.model);return An(a=>i?a.byProvider[e]?.find(r=>r.id===i)??null:null)}function zo(e,i){return i?An.getState().byProvider[e]?.find(a=>a.id===i)??null:null}function LA(){const e=Ae(a=>a.hydrated),i=Ae(a=>a.provider);F.useEffect(()=>{if(!e)return;const a=Ae.getState();if(!ol(a))return;const r=An.getState(),o=r.byProvider[i]??ko,u=r.fetchedAt[i]??0;o.length>0&&Date.now()-u<Dw||r.fetchModels(i)},[e,i])}function zw(e,i,a){if(a?.apiKind)return a.apiKind;const r=na[e];if(e!=="opencode")return r?.format==="anthropic"?"anthropic":r?.format==="gemini"?"gemini":"openai-chat";const o=i.toLowerCase();return/gemini|gemma/.test(o)?"gemini":/claude|qwen.*(flash|plus)/.test(o)?"anthropic":/gpt|grok|muse|codex/.test(o)?"openai-responses":"openai-chat"}class IA extends vi{static provide="llm";constructor(i){super(i,"llm")}async stream(i){return await this.ctx.events.waterfall("agent/request",i,async()=>{switch(zw(i.settings.provider,i.settings.model,i.model)){case"anthropic":return await Ow(i);case"gemini":return await jw(i);case"openai-responses":return await Rw(i);default:return await Mw(i)}})}}function Lw(e){switch(zw(e.settings.provider,e.settings.model,e.model)){case"anthropic":return Ow(e);case"gemini":return jw(e);case"openai-responses":return Rw(e);default:return Mw(e)}}const UA=`You are a session compactor. Your ONLY job is to produce a detailed, structured summary of the conversation you are given. This summary will replace the original messages so the AI agent can continue the task without losing important context.
|
|
134
|
-
|
|
135
|
-
The summary MUST include, in clear sections:
|
|
136
|
-
|
|
137
|
-
## Task & Goal
|
|
138
|
-
What the user originally asked for. The full scope, requirements, and any constraints they stated.
|
|
139
|
-
|
|
140
|
-
## Work Completed So Far
|
|
141
|
-
Every meaningful action taken: files read, files created or modified (list each file path and what changed), commands run (and their output), API calls made, decisions reached, bugs found and fixed.
|
|
142
|
-
|
|
143
|
-
## Current State
|
|
144
|
-
What is the exact state of the workspace right now? Which files are in what state? What has been verified to work? What is broken or incomplete?
|
|
145
|
-
|
|
146
|
-
## Open Tasks & Next Steps
|
|
147
|
-
What remains to be done? List concrete next actions with enough detail that the agent can pick up exactly where things left off.
|
|
148
|
-
|
|
149
|
-
## Key Facts & Decisions
|
|
150
|
-
Important technical facts discovered during the session: library versions, APIs used, architectural decisions made, pitfalls encountered.
|
|
151
|
-
|
|
152
|
-
## Files Modified or Created
|
|
153
|
-
An exhaustive list of every file path that was touched and a one-line description of what was done.
|
|
154
|
-
|
|
155
|
-
Be exhaustive and precise. Do not summarize tool output vaguely — include actual file paths, function names, error messages, command outputs. The agent continuing the work must be able to act on this summary without access to the original messages.`,ju=new Set;function Iw(e){return ju.has(e)}async function BA(e){if(ju.has(e))return!1;ju.add(e);try{const i=Ye.getState().sessions.find(k=>k.id===e);if(!i||i.messages.length<4)return!1;const a=Ae.getState(),r=si(a);if(!r)return!1;const o=zo(a.provider,r),u=$A(i.messages),d=[{id:yi("msg"),role:"user",content:`Below is a complete transcript of a coding session. Produce the detailed summary as instructed.
|
|
156
|
-
|
|
157
|
-
${u}`,createdAt:Date.now()}];let p="";try{const k=await Lw({settings:a,model:o,history:d,system:UA,mode:"build",signal:new AbortController().signal,handlers:{...Aw,onText:N=>{p+=N}}});k.content.trim()&&(p=k.content)}catch(k){return window.dispatchEvent(new CustomEvent("maxcode:notice",{detail:{message:`Auto-compact failed: ${k instanceof Error?k.message:"Unknown error"}. Continuing with full context.`,tone:"error"}})),!1}if(!p.trim())return!1;const g=i.messages.find(k=>k.role==="user"),h=Date.now(),x=[];g&&x.push({...g});const b={id:yi("msg"),role:"assistant",content:p.trim(),reasoning:"",toolCalls:[],round:0,model:r,provider:a.provider,createdAt:h,durationMs:0};x.push(b);const v=HA(i.messages),y={id:yi("msg"),role:"user",content:v,createdAt:h};return x.push(y),Ye.getState().updateSession(e,{messages:x}),window.dispatchEvent(new CustomEvent("maxcode:notice",{detail:{message:"✦ Context compacted — session summary saved, continuing with fresh context.",tone:"success"}})),!0}finally{ju.delete(e)}}function $A(e){const i=[];for(const a of e)if(a.role==="user"){const r=a.attachments&&a.attachments.length>0?`
|
|
158
|
-
[Attachments: ${a.attachments.map(o=>o.name).join(", ")}]`:"";i.push(`[USER]
|
|
159
|
-
${a.content}${r}`)}else if(a.role==="assistant"){const r=[];a.reasoning.trim()&&r.push(`<thinking>
|
|
160
|
-
${a.reasoning.trim()}
|
|
161
|
-
</thinking>`),a.content.trim()&&r.push(a.content.trim());for(const o of a.toolCalls)r.push(`<tool_call name="${o.name}">
|
|
162
|
-
${JSON.stringify(o.args,null,2)}
|
|
163
|
-
</tool_call>`);r.length>0&&i.push(`[ASSISTANT]
|
|
164
|
-
${r.join(`
|
|
165
|
-
|
|
166
|
-
`)}`)}else if(a.role==="tool"){const r=a.status==="done"?"OK":a.status.toUpperCase(),o=(a.result??"").slice(0,8e3),u=(a.result??"").length>8e3?`
|
|
167
|
-
… (truncated)`:"";i.push(`[TOOL: ${a.call.name} — ${r}]
|
|
168
|
-
${o}${u}`)}return i.join(`
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
`)}function HA(e){const r=[...e].reverse().find(d=>d.role==="user")?.content?.trim()??"",o=e.filter(d=>d.role==="tool").length;return[`[CONTEXT COMPACTED — ${e.filter(d=>d.role==="user").length} user turns, ${o} tool calls summarised above]`,"","The summary above contains the full record of work done so far. Please:","1. Read the summary carefully before acting — it contains critical state information.","2. Continue exactly where you left off.","3. Do not repeat work already marked as completed in the summary.",r?`
|
|
173
|
-
The most recent task/request was:
|
|
174
|
-
${r}`:""].filter(d=>d!==void 0).join(`
|
|
175
|
-
`)}const sm=3;function PA(e){if(e.role==="user"){const i=(e.attachments??[]).reduce((a,r)=>a+(r.text?.length??0),0);return Math.ceil((e.content.length+i)/sm)+4}if(e.role==="assistant"){const i=e.toolCalls.reduce((a,r)=>a+JSON.stringify(r.args).length+r.name.length+10,0);return Math.ceil((e.content.length+e.reasoning.length+i)/sm)+4}return Math.ceil((e.result??"").length/sm)+4}function Uw(e){return e.reduce((i,a)=>i+PA(a),0)}function Bw(e){return e?.context??128e3}function FA(e,i){const r=Uw(e)+2e3,o=Bw(i);return Math.min(r/o,1)}function $w(e,i){const r=Uw(e)+2e3,o=Bw(i),u=Math.min(r/o,1);return{used:r,limit:o,ratio:u,pct:Math.round(u*100)}}const Hw=.85;class qA extends vi{static provide="compaction";static inject=["sessions","llm"];constructor(i){super(i,"compaction")}isCompacting(i){return Iw(i)}async compact(i){return await BA(i)}async checkAutoCompact(i){const a=Ye.getState().sessions.find(d=>d.id===i);if(!a||a.messages.length<4||this.isCompacting(i))return!1;const r=Ae.getState(),o=zo(r.provider,si(r)),u=FA(a.messages,o);return u>=Hw?(window.dispatchEvent(new CustomEvent("maxcode:notice",{detail:{message:`Context at ${Math.round(u*100)}% — compacting session before next request…`,tone:"info"}})),await this.compact(i)):!1}}function GA(){const e=Ue.getState(),i=e.root||e.info.root;if(!i)return"No folder is open yet. Ask the user to choose a workspace folder in the Workspace panel before using file, shell or git tools.";const a=e.entries.filter(o=>!o.path.includes("/")).slice(0,40).map(o=>`${o.path}${o.type==="dir"?"/":""}`),r=e.git.available?`${e.git.branch||"detached HEAD"} · ${e.git.entries.length} changed file${e.git.entries.length===1?"":"s"}`:"not a git repository";return[`Root: ${i}`,`Git: ${r}`,a.length>0?`Top level: ${a.join(", ")}`:"The folder is empty.",e.truncated?"The file tree was truncated; use list_files or grep for deeper paths.":""].filter(Boolean).join(`
|
|
176
|
-
`)}function YA(e,i=e.mode){if(qt.systemPrompt)return qt.systemPrompt.assemble(e,i);const a=[e.systemPrompt.trim()],r=e.skills.filter(o=>o.enabled);return r.length>0&&a.push(["## Loaded skills","Apply these skills when the task matches their purpose. They refine the working rules above; they never override safety, tool permissions or plan mode.",...r.map(o=>`<skill name="${o.name}">
|
|
177
|
-
Purpose: ${o.description}
|
|
178
|
-
${o.instructions.trim()}
|
|
179
|
-
</skill>`)].join(`
|
|
180
|
-
|
|
181
|
-
`)),a.push(["## Workspace","You operate on the real folder below through the local OpenSol daemon. Tools return real output; never invent file contents, command results, URLs or deployments.",GA()].join(`
|
|
182
|
-
|
|
183
|
-
`)),a.push(i==="plan"?["## Mode: Plan (read-only)","Investigate and design. Do not modify anything.","- Allowed: read_file, list_files, grep, web_search, read_url, read-only shell commands and read-only git actions.","- Forbidden: write_file, edit_file, rewrite_file, git add/commit/init/checkout, and shell commands that change files, install packages or change system state. The daemon rejects these.","- Read the relevant source before proposing changes. Grep for call sites and inspect the real files.","- Finish with a concrete, ordered implementation plan naming files and functions. State assumptions and open questions plainly.","- Never pretend an edit was made or a check was run."].join(`
|
|
184
|
-
`):["## Mode: Build","You may inspect and change the real workspace.","- Inspect before editing: list files, read the source, grep for call sites, check git status.","- Make the smallest coherent change. Do not reformat unrelated code, add speculative abstractions or invent APIs.","- After a mutation, inspect the result. Run the project’s real typecheck, lint, tests and build when they exist, and read the output.","- Never claim a check passed without running it. If a check cannot run, say why.","- Ask before destructive actions, force pushes, credential changes or anything that leaves the workspace."].join(`
|
|
185
|
-
`)),a.push(["## Session context",`- Model: ${si(e)||"unset"}`,`- Date: ${new Date().toISOString().slice(0,10)}`,`- Mode: ${i}`,e.webSearchEnabled?"- Web search is enabled. Use it when facts may be current or when the user asks for sources.":"- Web search is turned off for this session.","- Use relative paths from the workspace root. Do not use /workspace paths."].join(`
|
|
186
|
-
`)),a.filter(Boolean).join(`
|
|
187
|
-
|
|
188
|
-
`)}function KA(e){return[YA(e,"plan"),["## Subagent","You are a focused read-only investigator. Work only on the assigned task.","- Inspect the real workspace with read-only file, grep, shell and web tools.","- Do not edit files, change git state or run commands that mutate the machine. The daemon enforces this.","- Be concise: return findings, exact file paths and line references, and any uncertainty.","- Do not repeat the task back. Do not invent evidence. If something cannot be verified, say so."].join(`
|
|
189
|
-
`)].join(`
|
|
190
|
-
|
|
191
|
-
`)}const J0=6;function lm(e){const i=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`;return`${e}_${i}`}function om(){return new DOMException("Aborted","AbortError")}async function VA(e,i,a){const r=e.trim();if(!r)return"The subagent was not given a task.";if(a.aborted)throw om();const o=Ae.getState(),u=zo(o.provider,o.model),d=KA(o),p=Date.now(),h=[{id:lm("sub"),role:"user",content:[`Task: ${r}`,i.trim()?`
|
|
192
|
-
Context from the main agent:
|
|
193
|
-
${i.trim()}`:"",`
|
|
194
|
-
Investigate now. Return a concise report with file paths and evidence.`].filter(Boolean).join(`
|
|
195
|
-
`),createdAt:p}];let x="";for(let b=0;b<J0;b+=1){if(a.aborted)throw om();const v=await Lw({settings:o,model:u,history:h,system:d,mode:"plan",signal:a,handlers:Aw});v.content.trim()&&(x=v.content.trim());const y={id:lm("submsg"),role:"assistant",content:v.content,reasoning:v.reasoning,thinkingBlocks:v.thinkingBlocks,toolCalls:v.toolCalls,round:b,createdAt:Date.now()};if(h.push(y),v.toolCalls.length===0)return y.content.trim()||"The subagent returned no report.";if(a.aborted)throw om();for(const k of v.toolCalls){const N=await OA(k.name,k.args,o,"plan",a),_={id:lm("subtool"),role:"tool",call:k,status:N.isError?"error":"done",result:N.output,round:b,createdAt:Date.now()};h.push(_)}}return[x,`The subagent stopped after ${J0} investigation rounds. Continue with the evidence above or ask a narrower question.`].filter(Boolean).join(`
|
|
196
|
-
|
|
197
|
-
`)}class XA extends vi{static provide="subagents";static inject=["tools","llm","systemPrompt"];constructor(i){super(i,"subagents")}async run(i,a,r){return await VA(i,a,r)}}const dh=e=>`maxcode-plugin-theme-${e}`;function ZA(e){return Object.entries(e).filter(([i,a])=>/^[a-z][a-z0-9-]*$/.test(i)&&/^[\d\s.]+$/.test(a))}function QA(e){const i=(e.canvas??"").trim().split(/\s+/).map(Number),[a,r,o]=i.length===3?i:[255,255,255];return .2126*a+.7152*r+.0722*o<110}function WA(e,i){const a=ZA(i).map(([r,o])=>`--${r}:${o.trim()}`);return a.length===0?"":`[data-theme='${e}']{${a.join(";")}}`}function JA(e,i){if(typeof document>"u")return;let a=document.getElementById(dh(e));a||(a=document.createElement("style"),a.id=dh(e),document.head.append(a)),a.textContent=i}function eO(e){typeof document>"u"||document.getElementById(dh(e))?.remove()}class tO extends vi{static provide="ui";_commands=new Map;_panels=new Map;_themes=new Map;constructor(i){super(i,"ui")}registerCommand(i,a,r){const o={id:i,label:a,run:r};return this._commands.set(i,o),()=>{this._commands.get(i)===o&&this._commands.delete(i)}}registerPanel(i,a,r){const o={id:i,label:a,render:r};return this._panels.set(i,o),()=>{this._panels.get(i)===o&&this._panels.delete(i)}}registerTheme(i,a,r){const o={id:i,label:a,palette:r};return this._themes.set(i,o),sw({id:i,label:a,dark:QA(r)}),JA(i,WA(i,r)),()=>{this._themes.get(i)===o&&(this._themes.delete(i),lw(i),eO(i))}}commands(){return[...this._commands.values()]}panels(){return[...this._panels.values()]}themes(){return[...this._themes.values()].map(i=>({id:i.id,label:i.label}))}}const cm=16,e1=2,nO=/\b(429|500|502|503|504|529)\b|rate.?limit|overloaded|temporar|timed out|could not be reached|lost the connection|failed to fetch|networkerror/i;function iO(e,i){return new Promise(a=>{const r=()=>{window.clearTimeout(o),i.removeEventListener("abort",r),a()},o=window.setTimeout(r,e);i.addEventListener("abort",r,{once:!0})})}function t1(e){return e instanceof DOMException&&e.name==="AbortError"||e instanceof Error&&e.name==="AbortError"}function aO(e,i=4e4){return e.length<=i?e:`${e.slice(0,i)}
|
|
198
|
-
… truncated (${e.length-i} more characters)`}class rO extends vi{static provide="agentLoop";static inject=["sessions","systemPrompt","tools","llm","approval","compaction","subagents"];controllers=new Map;queue=dA((i,a)=>this.runTurn(i,a));constructor(i){super(i,"agentLoop")}isBusy(i){return this.queue.isBusy(i)}stopRun(i){this.queue.clear(i),this.controllers.get(i)?.abort(),this.ctx.events.serial("agent/turn-stopping",i)}stopAllRuns(){this.queue.clearAll(),this.controllers.forEach((i,a)=>{i.abort(),this.ctx.events.serial("agent/turn-stopping",a)})}runAgent(i,a){const r=this.ctx.sessions.current(i);if(!r)return;const o=a??am(r.messages);o&&this.queue.push(i,o)}regenerateLastTurn(i){const a=this.ctx.sessions.current(i);if(!a||this.queue.isBusy(i))return!1;let r=-1;for(let u=a.messages.length-1;u>=0;u-=1)if(a.messages[u].role==="user"){r=u;break}if(r<0)return!1;const o=a.messages[r].id;return this.ctx.sessions.updateSession(i,{messages:a.messages.slice(0,r+1)}),this.runAgent(i,o),!0}async runTurn(i,a){const r=this.ctx.sessions.current(i);if(!r||!this.ctx.sessions.turnHistory(r.messages,a))return;const o=new AbortController;this.controllers.set(i,o),Ra.getState().setStreaming(i,!0);const u=Ae.getState(),d=Fh(u.provider),p=r.mode??u.mode,g=Date.now();let h=0,x;try{e:for(let v=0;v<cm&&(h=v+1,!o.signal.aborted);v+=1){let y=this.ctx.sessions.current(i);if(!y)break;if(v===0&&am(y.messages)===a&&await this.ctx.compaction.checkAutoCompact(i)){const J=this.ctx.sessions.current(i);if(!J)break;const de=am(J.messages);if(!de)break;a=de,y=J}const k=this.ctx.sessions.turnHistory(y.messages,a);if(!k)break;const N=yi("msg"),_={id:N,role:"assistant",content:"",reasoning:"",toolCalls:[],round:v,model:si(u),provider:u.provider,createdAt:Date.now()};this.ctx.sessions.addMessage(i,_);let T="",A="",S,U={};const B=()=>{S===void 0&&(S=window.setTimeout(()=>{S=void 0,this.ctx.sessions.updateMessage(i,N,{content:T,reasoning:A})},40))},M={sessionId:i,round:v,history:k,settings:u,mode:p,signal:o.signal,assistantId:N};await this.ctx.events.waterfall("agent/pre-step",M,()=>{});let C,I=0;for(;;)try{C=await this.ctx.llm.stream({settings:u,model:zo(u.provider,si(u)),history:k,system:this.ctx.systemPrompt.assemble(u,p),mode:p,signal:o.signal,handlers:{onText:H=>{T+=H,B()},onReasoning:H=>{A+=H,B()},onToolCalls:()=>{},onUsage:H=>{U=H}}});break}catch(H){const J=t1(H)||o.signal.aborted;if(!J&&I<e1&&!T&&!A&&nO.test(H instanceof Error?H.message:"")){if(I+=1,window.dispatchEvent(new CustomEvent("maxcode:notice",{detail:{message:`${d} is busy. Retrying (${I}/${e1})…`,tone:"info"}})),await iO(1200*I*I,o.signal),o.signal.aborted)continue;continue}S!==void 0&&window.clearTimeout(S),x=J?void 0:wA(H,d),this.ctx.sessions.updateMessage(i,N,{content:T,reasoning:A,stopped:J,durationMs:Date.now()-g,error:x}),await this.ctx.events.waterfall("agent/request-error",H,M,()=>{});break e}if(S!==void 0&&window.clearTimeout(S),this.ctx.sessions.updateMessage(i,N,{content:C.content,reasoning:C.reasoning,thinkingBlocks:C.thinkingBlocks,toolCalls:C.toolCalls,usage:U.input||U.output?U:C.usage,durationMs:Date.now()-g,stopped:o.signal.aborted||void 0}),this.ctx.sessions.updateSession(i,{provider:u.provider,model:si(u),mode:p}),o.signal.aborted)break;if(C.toolCalls.length===0){const H={sessionId:i,round:v,assistant:_,toolResults:[],stopped:o.signal.aborted};this.ctx.events.emit("agent/step-finish",H);break}const X=[];for(const H of C.toolCalls){if(o.signal.aborted)break;const J=qu(u,H.name);if(!J?.enabled){const ae={id:yi("tool"),role:"tool",call:H,status:"error",result:"This tool is disabled in Settings → Tools.",round:v,createdAt:Date.now()};this.ctx.sessions.addMessage(i,ae),X.push(ae);continue}const de=yi("tool"),ue=J.approval==="ask",te={id:de,role:"tool",call:H,status:ue?"awaiting":"running",round:v,createdAt:Date.now()};this.ctx.sessions.addMessage(i,te);const G=Date.now();try{const ae=H.name==="subagent"?{output:aO(await this.ctx.subagents.run(typeof H.args.task=="string"?H.args.task:"",typeof H.args.context=="string"?H.args.context:"",o.signal)),isError:!1}:await this.ctx.tools.execute(H.name,H.args,u,p,o.signal,H.id,a),P={...te,status:ae.isError?"error":"done",result:ae.output,durationMs:Date.now()-G,diff:ae.diff};this.ctx.sessions.updateMessage(i,de,P),X.push(P)}catch(ae){const P=t1(ae),re={...te,status:"error",result:P?"Stopped.":ae instanceof Error?ae.message:"The tool failed.",durationMs:Date.now()-G};if(this.ctx.sessions.updateMessage(i,de,re),X.push(re),P)break}}const z={sessionId:i,round:v,assistant:_,toolResults:X,stopped:o.signal.aborted};if(this.ctx.events.emit("agent/step-finish",z),o.signal.aborted){const H=this.ctx.sessions.current(i);if(H){const J=new Set(H.messages.filter(de=>de.role==="tool").map(de=>de.call.id));for(const de of C.toolCalls)J.has(de.id)||this.ctx.sessions.addMessage(i,{id:yi("tool"),role:"tool",call:de,status:"error",result:"Stopped before the tool ran.",round:v,createdAt:Date.now()})}break}}const b=this.ctx.sessions.current(i);if(!o.signal.aborted&&b&&b.messages[b.messages.length-1]?.role==="tool"){const y={id:yi("msg"),role:"assistant",content:"",reasoning:"",toolCalls:[],round:cm,createdAt:Date.now(),error:`Stopped after ${cm} tool rounds. Send another message to continue.`};this.ctx.sessions.addMessage(i,y)}}finally{this.controllers.delete(i),Ra.getState().setStreaming(i,!1);const b={sessionId:i,userMessageId:a,rounds:h,durationMs:Date.now()-g,stopped:o.signal.aborted,error:x};this.ctx.events.emit("agent/turn-finish",b)}}}const sO="You name chat sessions for a coding assistant. Reply with the title only: 2 to 6 words, in the same language as the user, no quotes, no markdown, no trailing punctuation.";function n1(e,i){const a=e.replace(/\s+/g," ").trim();return a.length>i?`${a.slice(0,i)}…`:a}function lO(e){const i=e.replace(/<think>[\s\S]*?<\/think>/gi,"").split(`
|
|
199
|
-
`).map(r=>r.trim()).find(Boolean);if(!i)return"";const a=i.replace(/^(title|tiêu đề)\s*[::-]\s*/i,"").replace(/^[#>*\-\s"'“”‘’`]+|[\s"'“”‘’`.。!]+$/g,"").trim();return a.length>64?`${a.slice(0,63).trim()}…`:a}function oO(e){const i=e.find(r=>r.role==="user"),a=[...e].reverse().find(r=>r.role==="assistant"&&r.content.trim());return{user:i&&i.role==="user"?n1(i.content,700):"",assistant:a&&a.role==="assistant"?n1(a.content,700):""}}class cO extends vi{static provide="titles";static inject=["llm","sessions"];inflight=new Set;constructor(i){super(i,"titles"),this.ctx.on("agent/turn-finish",a=>{if(a.error||a.stopped||!Ae.getState().aiSessionTitles)return;const o=this.ctx.sessions.current(a.sessionId);!o||(o.titleSource??"auto")!=="auto"||this.generate(a.sessionId)})}async generate(i,{force:a=!1}={}){if(this.inflight.has(i))return null;const r=this.ctx.sessions.current(i);if(!r||!a&&(r.titleSource??"auto")!=="auto")return null;const{user:o,assistant:u}=oO(r.messages);if(!o)return null;const d=Ae.getState(),p=zo(d.provider,si(d)),g=Object.fromEntries(Object.entries(d.tools).map(([v,y])=>[v,{...y,enabled:!1}])),h=Co(p),x={...d,tools:g,webSearchEnabled:!1,temperature:.3,maxTokens:512,effort:h[0]??d.effort},b=[{id:yi("title"),role:"user",createdAt:Date.now(),content:`Name this conversation.
|
|
200
|
-
|
|
201
|
-
User: ${o}
|
|
202
|
-
|
|
203
|
-
Assistant: ${u||"(no answer yet)"}`}];this.inflight.add(i),Ra.getState().setTitling(i,!0);try{const v=new AbortController,y=window.setTimeout(()=>v.abort(),25e3);let k="";const N=await this.ctx.llm.stream({settings:x,model:p,history:b,system:sO,mode:"plan",signal:v.signal,handlers:{onText:A=>{k+=A},onReasoning:()=>{},onToolCalls:()=>{},onUsage:()=>{}}}).finally(()=>window.clearTimeout(y)),_=lO(N.content||k),T=this.ctx.sessions.current(i);return!_||!T||!a&&(T.titleSource??"auto")!=="auto"?null:(this.ctx.sessions.updateSession(i,{title:_,titleSource:"ai"}),_)}catch{return null}finally{this.inflight.delete(i),Ra.getState().setTitling(i,!1)}}}const uO=28e3;function dO(e,i=uO){return e.length<=i?e:`${e.slice(0,i)}
|
|
204
|
-
… truncated (${e.length-i} more characters)`}function Xr(e){return e&&typeof e=="object"?e:{}}function xr(e){return typeof e=="string"?e:""}function Ri(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function Yr(e,i){const a=e[i];if(typeof a!="string"||!a.trim())throw new Error(`Missing string argument "${i}".`);return a}function fO(e,i){const a=e[i];return typeof a=="string"?a:void 0}function um(e,i,a){const r=e[i];return typeof r=="number"&&Number.isFinite(r)?r:typeof r=="string"&&Number.isFinite(Number(r))?Number(r):a}function pO(e){const i=Array.isArray(e.entries)?e.entries:[];if(i.length===0)return"This folder is empty.";const a=i.map(o=>{const u=Xr(o),d=xr(u.path);return u.type==="dir"?`${d}/`:u.type==="link"?`${d} -> link`:`${d}${Ri(u.size)!==void 0?` (${Ri(u.size)} B)`:""}`}),r=e.truncated===!0?`
|
|
205
|
-
… listing truncated. Narrow the path or reduce depth.`:"";return`${xr(e.root)?`Root: ${xr(e.root)}
|
|
206
|
-
`:""}${a.join(`
|
|
207
|
-
`)}${r}`}function dm(e){const i=Xr(e.diff),a=Ri(i.added),r=Ri(i.removed);if(!(a===void 0||r===void 0))return{added:a,removed:r,line:Ri(i.line),column:Ri(i.column)}}function fm(e){if(!e)return"";const i=e.line?` at L${e.line}${e.column?`:${e.column}`:""}`:"";return` · +${e.added} −${e.removed}${i}`}async function pm(){await Ue.getState().refresh().catch(()=>{})}const mO="tool-fs",hO=["tools"];function gO(e){const i=[e.tools.register({name:"read_file",description:"Read a text file from the workspace. Use offset and limit for large files.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative path from the workspace root."},offset:{type:"number",description:"1-based first line. Defaults to 1."},limit:{type:"number",description:"Maximum lines. Defaults to 400."}},required:["path"],additionalProperties:!1},allowedInMode:()=>!0,async execute(a,r){const o=Yr(a,"path"),u=Xr((await rn("read_file",{path:o},r.mode,r.signal)).result);if(u.binary===!0)return{output:`${o} is binary (${Ri(u.size)??0} bytes).`,isError:!1};const d=Math.max(1,Math.round(um(a,"offset",1))),p=Math.min(Math.max(1,Math.round(um(a,"limit",400))),2e3),g=xr(u.content).split(`
|
|
208
|
-
`),h=g.slice(d-1,d-1+p),x=g.length-(d-1+p),b=`${xr(u.path)||o} · ${g.length} lines${u.truncated===!0?" · file clipped by daemon":""}`,v=x>0?`
|
|
209
|
-
… ${x} more lines. Read again with offset ${d+p}.`:"";return{output:dO(`${b}
|
|
210
|
-
────
|
|
211
|
-
${h.join(`
|
|
212
|
-
`)}${v}`),isError:!1}}}),e.tools.register({name:"list_files",description:"List files and folders below a workspace path.",parameters:{type:"object",properties:{path:{type:"string",description:"Folder path. Defaults to the workspace root."},depth:{type:"number",description:"Recursion depth, 1–8. Defaults to 3."}},additionalProperties:!1},allowedInMode:()=>!0,async execute(a,r){const o=Xr((await rn("list_files",{path:fO(a,"path")??"",depth:Math.min(Math.max(1,um(a,"depth",3)),8)},r.mode,r.signal)).result);return{output:pO(o),isError:!1}}}),e.tools.register({name:"write_file",description:"Create a file or replace its full contents. Prefer edit_file for small changes.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative file path."},content:{type:"string",description:"Complete file content."}},required:["path","content"],additionalProperties:!1},allowedInMode:a=>a==="build",async execute(a,r){const o=Yr(a,"path"),u=Yr(a,"content"),d=Xr((await rn("write_file",{path:o,content:u},r.mode,r.signal,r.turnId)).result);await pm();const p=d.created===!0?"Created":"Updated",g=dm(d);return{output:`${p} ${xr(d.path)||o} · ${u.split(`
|
|
213
|
-
`).length} lines, ${Ri(d.size)??u.length} bytes${fm(g)}.`,isError:!1,diff:g}}}),e.tools.register({name:"rewrite_file",description:"Replace the complete contents of an existing file. Use when most of the file changes.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative file path."},content:{type:"string",description:"The new complete file content."}},required:["path","content"],additionalProperties:!1},allowedInMode:a=>a==="build",async execute(a,r){const o=Yr(a,"path"),u=Yr(a,"content"),d=Xr((await rn("rewrite_file",{path:o,content:u},r.mode,r.signal,r.turnId)).result);await pm();const p=dm(d);return{output:`Rewrote ${xr(d.path)||o} · ${u.split(`
|
|
214
|
-
`).length} lines, ${Ri(d.size)??u.length} bytes${fm(p)}.`,isError:!1,diff:p}}}),e.tools.register({name:"edit_file",description:"Replace an exact text occurrence in a file. oldText must match whitespace exactly and be unique unless replaceAll is true.",parameters:{type:"object",properties:{path:{type:"string",description:"Relative file path."},oldText:{type:"string",description:"Exact text to replace."},newText:{type:"string",description:"Replacement text."},replaceAll:{type:"boolean",description:"Replace every occurrence. Defaults to false."}},required:["path","oldText","newText"],additionalProperties:!1},allowedInMode:a=>a==="build",async execute(a,r){const o=Yr(a,"path"),u=Yr(a,"oldText"),d=typeof a.newText=="string"?a.newText:"",p=Xr((await rn("edit_file",{path:o,oldText:u,newText:d,replaceAll:a.replaceAll===!0},r.mode,r.signal,r.turnId)).result);await pm();const g=dm(p);return{output:`Edited ${xr(p.path)||o} · ${Ri(p.replacements)??1} replacement${Ri(p.replacements)===1?"":"s"}${fm(g)}.`,isError:!1,diff:g}}})];return()=>i.forEach(a=>a())}const xO=Object.freeze(Object.defineProperty({__proto__:null,apply:gO,inject:hO,name:mO},Symbol.toStringTag,{value:"Module"})),bO=28e3;function yO(e,i=bO){return e.length<=i?e:`${e.slice(0,i)}
|
|
215
|
-
… truncated (${e.length-i} more characters)`}function vO(e){return e&&typeof e=="object"?e:{}}function mm(e){return typeof e=="string"?e:""}function Pw(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function wO(e,i){const a=e[i];if(typeof a!="string"||!a.trim())throw new Error(`Missing string argument "${i}".`);return a}function kO(e,i,a){const r=e[i];return typeof r=="number"&&Number.isFinite(r)?r:typeof r=="string"&&Number.isFinite(Number(r))?Number(r):a}function EO(e,i){const a=[`$ ${i}`,mm(e.stdout)];mm(e.stderr)&&a.push(`stderr:
|
|
216
|
-
${mm(e.stderr)}`);const r=Pw(e.code);return r!==void 0&&r!==0&&a.push(`exit code: ${r}`),e.timedOut===!0&&a.push("The command timed out."),a.filter(o=>o!=="").join(`
|
|
217
|
-
`)}async function _O(){await Ue.getState().refresh({treeOnly:!0}).catch(()=>{})}const NO="tool-shell",SO=["tools"];function TO(e){return e.tools.register({name:"shell",description:"Run a shell command in the workspace root. The working directory resets between calls. Prefer dedicated file and git tools for edits. In Plan mode only read-only commands are accepted.",parameters:{type:"object",properties:{command:{type:"string",description:"The shell command to run."},timeoutMs:{type:"number",description:"Timeout in milliseconds (max 600000)."}},required:["command"],additionalProperties:!1},allowedInMode:()=>!0,async execute(i,a){const r=wO(i,"command"),o=vO((await rn("shell",{command:r,timeoutMs:kO(i,"timeoutMs",12e4)},a.mode,a.signal)).result);return _O(),{output:yO(EO(o,r)),isError:(Pw(o.code)??0)!==0||o.timedOut===!0}}})}const CO=Object.freeze(Object.defineProperty({__proto__:null,apply:TO,inject:SO,name:NO},Symbol.toStringTag,{value:"Module"})),AO=28e3;function OO(e,i=AO){return e.length<=i?e:`${e.slice(0,i)}
|
|
218
|
-
… truncated (${e.length-i} more characters)`}function Fw(e){return e&&typeof e=="object"?e:{}}function i1(e){return typeof e=="string"?e:""}function jO(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function MO(e,i){const a=e[i];if(typeof a!="string"||!a.trim())throw new Error(`Missing string argument "${i}".`);return a}function RO(e,i){const a=e[i];return typeof a=="string"?a:void 0}function DO(e,i,a){const r=e[i];return typeof r=="number"&&Number.isFinite(r)?r:typeof r=="string"&&Number.isFinite(Number(r))?Number(r):a}function zO(e,i){const a=Array.isArray(e.matches)?e.matches:[];if(a.length===0)return`No matches for ${i}.`;const r=a.map(u=>{const d=Fw(u);return`${i1(d.file)}:${jO(d.line)??0}: ${i1(d.text)}`}),o=e.truncated===!0?`
|
|
219
|
-
… more matches exist. Narrow the pattern or path.`:"";return r.join(`
|
|
220
|
-
`)+o}const LO="tool-grep",IO=["tools"];function UO(e){return e.tools.register({name:"grep",description:"Search workspace contents with a regular expression. Returns path, line and matching text.",parameters:{type:"object",properties:{pattern:{type:"string",description:"Regular expression to search for."},path:{type:"string",description:"File or folder. Defaults to the workspace root."},ignoreCase:{type:"boolean",description:"Case-insensitive search. Defaults to false."},maxResults:{type:"number",description:"Maximum matches. Defaults to 80."}},required:["pattern"],additionalProperties:!1},allowedInMode:()=>!0,async execute(i,a){const r=MO(i,"pattern"),o=Fw((await rn("grep",{pattern:r,path:RO(i,"path")??"",ignoreCase:i.ignoreCase===!0},a.mode,a.signal)).result),u=Math.min(Math.max(1,Math.round(DO(i,"maxResults",80))),200),d=Array.isArray(o.matches)?o.matches.slice(0,u):[],p={...o,matches:d,truncated:o.truncated===!0||Array.isArray(o.matches)&&o.matches.length>u};return{output:OO(zO(p,r)),isError:!1}}})}const BO=Object.freeze(Object.defineProperty({__proto__:null,apply:UO,inject:IO,name:LO},Symbol.toStringTag,{value:"Module"})),$O=28e3;function HO(e,i=$O){return e.length<=i?e:`${e.slice(0,i)}
|
|
221
|
-
… truncated (${e.length-i} more characters)`}function PO(e){return e&&typeof e=="object"?e:{}}function mr(e){return typeof e=="string"?e:""}function qw(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function FO(e,i){const a=e[i];if(typeof a!="string"||!a.trim())throw new Error(`Missing string argument "${i}".`);return a}function qO(e){const i=[];mr(e.current)&&i.push(`Current branch: ${mr(e.current)}`),mr(e.branches)&&i.push(mr(e.branches)),mr(e.stdout)&&i.push(mr(e.stdout)),mr(e.stderr)&&i.push(`stderr:
|
|
222
|
-
${mr(e.stderr)}`);const a=qw(e.code);return a!==void 0&&a!==0&&i.push(`exit code: ${a}`),i.filter(Boolean).join(`
|
|
223
|
-
`)||"Git completed with no output."}const GO="tool-git",YO=["tools"];function KO(e){return e.tools.register({name:"git",description:"Inspect or change git state. In Plan mode only status, diff, log, show and branch are accepted.",parameters:{type:"object",properties:{action:{type:"string",enum:["status","diff","log","show","branch","add","commit","init","checkout"]},path:{type:"string",description:"Limit diff to this file."},staged:{type:"boolean",description:"Diff the staged changes."},ref:{type:"string",description:"Commit or ref for show."},limit:{type:"number",description:"Log limit."},paths:{type:"array",items:{type:"string"},description:"Files to stage."},message:{type:"string",description:"Commit message."},branch:{type:"string",description:"Branch to create or check out."},create:{type:"boolean",description:"Create a new branch. Defaults to true."}},required:["action"],additionalProperties:!1},allowedInMode:()=>!0,async execute(i,a){const r=FO(i,"action"),o={...i};delete o.action;const u=PO((await rn("git",{action:r,...o},a.mode,a.signal)).result);return(r==="add"||r==="commit"||r==="init"||r==="checkout")&&await Ue.getState().loadGit().catch(()=>{}),{output:HO(qO(u)),isError:(qw(u.code)??0)!==0}}})}const VO=Object.freeze(Object.defineProperty({__proto__:null,apply:KO,inject:YO,name:GO},Symbol.toStringTag,{value:"Module"})),XO=28e3;function a1(e,i=XO){return e.length<=i?e:`${e.slice(0,i)}
|
|
224
|
-
… truncated (${e.length-i} more characters)`}function hm(e){return e&&typeof e=="object"?e:{}}function hr(e){return typeof e=="string"?e:""}function r1(e,i){const a=e[i];if(typeof a!="string"||!a.trim())throw new Error(`Missing string argument "${i}".`);return a}const ZO="tool-web",QO=["tools"];function WO(e){const i=[e.tools.register({name:"web_search",description:"Search the web for current information. Returns titles, URLs and snippets. Cite URLs you use.",parameters:{type:"object",properties:{query:{type:"string",description:"Search query."}},required:["query"],additionalProperties:!1},allowedInMode:()=>!0,async execute(a,r){const o=r1(a,"query"),u=hm((await rn("web_search",{query:o,provider:r.settings.searchProvider},r.mode,r.signal)).result),d=Array.isArray(u.results)?u.results:[];if(d.length===0)return{output:"No results found.",isError:!1};const p=d.map((g,h)=>{const x=hm(g);return`${h+1}. ${hr(x.title)}
|
|
225
|
-
${hr(x.url)}${hr(x.snippet)?`
|
|
226
|
-
${hr(x.snippet)}`:""}`}).join(`
|
|
227
|
-
|
|
228
|
-
`);return{output:a1(`Search: ${o}
|
|
229
|
-
Provider: ${hr(u.provider)||"web"}
|
|
230
|
-
|
|
231
|
-
${p}`),isError:!1}}}),e.tools.register({name:"read_url",description:"Read a public web page as plain text.",parameters:{type:"object",properties:{url:{type:"string",description:"The http(s) URL to read."}},required:["url"],additionalProperties:!1},allowedInMode:()=>!0,async execute(a,r){const o=r1(a,"url"),u=hm((await rn("read_url",{url:o},r.mode,r.signal)).result),d=hr(u.title);return{output:a1(`Source: ${hr(u.url)||o}${d?`
|
|
232
|
-
Title: ${d}`:""}
|
|
233
|
-
|
|
234
|
-
${hr(u.content)}${u.truncated===!0?`
|
|
235
|
-
|
|
236
|
-
… page truncated.`:""}`),isError:!1}}})];return()=>i.forEach(a=>a())}const JO=Object.freeze(Object.defineProperty({__proto__:null,apply:WO,inject:QO,name:ZO},Symbol.toStringTag,{value:"Module"})),ej=28e3;function tj(e,i=ej){return e.length<=i?e:`${e.slice(0,i)}
|
|
237
|
-
… truncated (${e.length-i} more characters)`}const nj="tool-subagent",ij=["tools","subagents"];function aj(e){return e.tools.register({name:"subagent",description:"Delegate a focused investigation to a read-only subagent. Use it to explore a large area, trace a bug or verify assumptions without changing files. The subagent returns a concise report.",parameters:{type:"object",properties:{task:{type:"string",description:"The specific question or investigation to perform."},context:{type:"string",description:"Optional context, constraints or files to start from."}},required:["task"],additionalProperties:!1},allowedInMode:()=>!0,async execute(i,a){const r=typeof i.task=="string"?i.task:"",o=typeof i.context=="string"?i.context:"",u=await e.subagents.run(r,o,a.signal);return{output:tj(u),isError:!1}}})}const rj=Object.freeze(Object.defineProperty({__proto__:null,apply:aj,inject:ij,name:nj},Symbol.toStringTag,{value:"Module"}));function sj(){const e=new Zh;return e.plugin(fA),e.plugin(mA),e.plugin(bA),e.plugin(yA),e.plugin(IA),e.plugin(qA),e.plugin(XA),e.plugin(tO),e.plugin(rO),e.plugin(cO),e.plugin(xO),e.plugin(CO),e.plugin(BO),e.plugin(VO),e.plugin(JO),e.plugin(rj),e}const qt=sj();function Gu(e){qt.agentLoop?qt.agentLoop.stopRun(e):queueMicrotask(()=>qt.agentLoop?.stopRun(e))}function lj(){qt.agentLoop?qt.agentLoop.stopAllRuns():queueMicrotask(()=>qt.agentLoop?.stopAllRuns())}function Gw(e,i){qt.agentLoop?qt.agentLoop.runAgent(e,i):queueMicrotask(()=>qt.agentLoop?.runAgent(e,i))}function gm(e){return qt.agentLoop?qt.agentLoop.regenerateLastTurn(e):!1}function Yw(e){var i,a,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(i=0;i<o;i++)e[i]&&(a=Yw(e[i]))&&(r&&(r+=" "),r+=a)}else for(a in e)e[a]&&(r&&(r+=" "),r+=a);return r}function oj(){for(var e,i,a=0,r="",o=arguments.length;a<o;a++)(e=arguments[a])&&(i=Yw(e))&&(r&&(r+=" "),r+=i);return r}function ne(...e){return oj(e)}function Lo(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function Yu(e){const i=Math.round((Date.now()-e)/1e3);return i<60?"now":i<3600?`${Math.floor(i/60)}m`:i<86400?`${Math.floor(i/3600)}h`:i<604800?`${Math.floor(i/86400)}d`:new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"})}function cj(e){const i=new Date,a=new Date(i.getFullYear(),i.getMonth(),i.getDate()).getTime(),r=a-864e5,o=a-6*864e5,u=a-29*864e5,d=[{label:"Today",items:[]},{label:"Yesterday",items:[]},{label:"Previous 7 days",items:[]},{label:"Previous 30 days",items:[]},{label:"Older",items:[]}],p=[...e].sort((g,h)=>h.updatedAt-g.updatedAt);for(const g of p){let h=4;g.updatedAt>=a?h=0:g.updatedAt>=r?h=1:g.updatedAt>=o?h=2:g.updatedAt>=u&&(h=3),d[h].items.push(g)}return d.filter(g=>g.items.length>0)}function uj(e){return new Promise((i,a)=>{const r=new FileReader;r.onload=()=>i(String(r.result)),r.onerror=()=>a(r.error??new Error("Could not read this file.")),r.readAsDataURL(e)})}function Kw(e){return new Promise((i,a)=>{const r=new FileReader;r.onload=()=>i(String(r.result)),r.onerror=()=>a(r.error??new Error("Could not read this file.")),r.readAsText(e)})}function fh(e,i,a="text/plain"){const r=new Blob([i],{type:a}),o=URL.createObjectURL(r),u=document.createElement("a");u.href=o,u.download=e,u.click(),URL.revokeObjectURL(o)}function fl({size:e=28,className:i,spin:a=!1}){return c.jsx("span",{className:ne("inline-flex shrink-0 items-center justify-center text-accent",i),style:{width:e,height:e},"aria-hidden":"true",children:c.jsxs("svg",{viewBox:"0 0 32 32",width:e,height:e,fill:"none",className:ne(a&&"animate-spin-slow"),children:[c.jsx("circle",{cx:"16",cy:"16",r:"6.2",fill:"currentColor"}),c.jsxs("g",{stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",children:[c.jsx("path",{d:"M16 3.6v3.2M16 25.2v3.2M3.6 16h3.2M25.2 16h3.2"}),c.jsx("path",{d:"M7.2 7.2l2.2 2.2M22.6 22.6l2.2 2.2M7.2 24.8l2.2-2.2M22.6 9.4l2.2-2.2",opacity:"0.55"})]})]})})}function dj({compact:e=!1}){return c.jsxs("div",{className:"group/logo flex items-center gap-2",children:[c.jsx(fl,{size:e?20:22,className:"transition-transform duration-500 ease-out group-hover/logo:rotate-90"}),!e&&c.jsxs("span",{className:"text-[15px] font-semibold leading-none tracking-[-0.025em] text-ink",children:["Open",c.jsx("span",{className:"text-accent",children:"Sol"})]})]})}function fj(){return c.jsxs("p",{className:"text-[11px] tracking-[0.01em] text-faint",children:["OpenSol ",c.jsx("span",{className:"px-1 text-line",children:"/"})," by OpenSoft"]})}function pj(e){return new Date(e).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}function mj(){const e=Ye(R=>R.sessions),i=Ye(R=>R.activeId),a=Ye(R=>R.setActive),r=Ye(R=>R.newChat),o=Ye(R=>R.renameSession),u=Ye(R=>R.deleteSession),d=Ae(),p=Ue(R=>R.info),g=Ue(R=>R.addWorkspace),h=Ue(R=>R.removeWorkspace),x=ge(R=>R.sidebarCollapsed),b=ge(R=>R.toggleSidebar),v=ge(R=>R.mobileSidebarOpen),y=ge(R=>R.setMobileSidebarOpen),k=ge(R=>R.openSettings),N=ge(R=>R.setWorkspaceOpen),_=ge(R=>R.setDeployOpen),T=ge(R=>R.askConfirm),A=ge(R=>R.notify),S=ge(R=>R.focusComposer),U=Ra(R=>R.streaming),B=Ra(R=>R.titling),[M,C]=F.useState(""),[I,X]=F.useState(null),[z,H]=F.useState(null),[J,de]=F.useState(""),[ue,te]=F.useState(""),G=F.useMemo(()=>{const R=M.trim().toLowerCase();return R?e.filter(fe=>fe.title.toLowerCase().includes(R)):e},[e,M]),ae=F.useMemo(()=>cj(G),[G]),P=F.useMemo(()=>[...p.workspaces].sort((R,fe)=>fe.lastOpened-R.lastOpened),[p.workspaces]),re=ol(d),j=(d.daemon?.home??"").split(/[\\/]/).filter(Boolean).pop()||p.name||"Local",Le=()=>{r(),y(!1),X(null),S()},pe=R=>{a(R),y(!1),X(null)},O=async R=>{if(R===p.root){N(!0),y(!1);return}te(R);try{await g(R),y(!1)}catch(fe){A(fe instanceof Error?fe.message:"Could not open that folder.","error")}finally{te("")}},D=async(R,fe)=>{if(await T({title:"Remove this workspace?",body:`“${fe}” is removed from OpenSol's list. The folder and its files stay on your disk; conversations started there are kept.`,confirmLabel:"Remove workspace",tone:"danger"}))try{await h(R),A(`Removed ${fe} from your workspaces.`,"success")}catch(Et){A(Et instanceof Error?Et.message:"Could not remove that workspace.","error")}},ie=async R=>{X(null),await qt.titles?.generate(R,{force:!0})||A("The model could not suggest a title right now.","error")},me=(R,fe)=>{H(R),de(fe),X(null)},ke=()=>{z&&(J.trim()&&o(z,J),H(null),de(""))},Re=async(R,fe)=>{X(null),await T({title:"Delete this conversation?",body:`“${fe}” and its messages will be removed from this computer. This cannot be undone.`,confirmLabel:"Delete conversation",tone:"danger"})&&(Gu(R),u(R))},He=R=>{const fe=e.find(Et=>Et.id===R);if(!fe)return;X(null);const De=fe.messages.flatMap(Et=>Et.role==="user"?[`## You
|
|
238
|
-
|
|
239
|
-
${Et.content}`]:Et.role==="assistant"&&Et.content.trim()?[`## OpenSol
|
|
240
|
-
|
|
241
|
-
${Et.content.trim()}`]:[]).join(`
|
|
242
|
-
|
|
243
|
-
`);fh(`opensol-${fe.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,40)||"conversation"}.md`,`# ${fe.title}
|
|
244
|
-
|
|
245
|
-
${De}
|
|
246
|
-
`,"text/markdown"),A("Conversation exported as Markdown.","success")},$e=R=>{const fe=e.find(De=>De.id===R);fe&&(X(null),fh(`opensol-${fe.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,40)||"conversation"}.json`,JSON.stringify({app:"OpenSol",exportedAt:new Date().toISOString(),session:fe},null,2),"application/json"),A("Conversation exported.","success"))};return c.jsxs("aside",{className:ne("fixed inset-y-0 left-0 z-50 flex h-dvh w-[264px] shrink-0 flex-col bg-canvas shadow-float transition-transform duration-300 ease-out lg:static lg:z-auto lg:shadow-none",v?"translate-x-0":"-translate-x-full lg:translate-x-0",x&&"lg:hidden"),children:[c.jsxs("div",{className:"flex h-12 items-center gap-1 pl-3 pr-2",children:[c.jsx(dj,{}),c.jsx("button",{type:"button",className:"icon-button ml-auto hidden lg:inline-flex",onClick:b,title:"Collapse sidebar (Ctrl B)","aria-label":"Collapse sidebar",children:c.jsx(nT,{size:16,strokeWidth:1.7})}),c.jsx("button",{type:"button",className:"icon-button ml-auto lg:hidden",onClick:()=>y(!1),"aria-label":"Close menu",children:c.jsx(ra,{size:17})})]}),c.jsxs("nav",{className:"space-y-0.5 px-2 pt-1",children:[c.jsxs("button",{type:"button",onClick:Le,className:"group/new mb-2 flex h-9 w-full items-center gap-2 rounded-lg border border-line bg-panel px-2.5 text-left text-[13px] font-medium text-ink shadow-pill transition-all duration-150 hover:border-accent/40 hover:shadow-composer active:scale-[0.985]",children:[c.jsx(yr,{size:15,strokeWidth:2,className:"text-accent transition-transform duration-300 group-hover/new:rotate-90"}),"New chat"]}),c.jsxs("button",{type:"button",onClick:()=>{y(!1),k("skills")},className:"nav-item",children:[c.jsx(Ii,{size:15,strokeWidth:1.7,className:"shrink-0 text-faint"}),"Skills"]}),c.jsxs("button",{type:"button",onClick:()=>{y(!1),k("plugins")},className:"nav-item",children:[c.jsx(Bh,{size:15,strokeWidth:1.7,className:"shrink-0 text-faint"}),"Plugins"]}),c.jsxs("button",{type:"button",onClick:()=>{y(!1),k("mcp")},className:"nav-item",children:[c.jsx(Bv,{size:15,strokeWidth:1.7,className:"shrink-0 text-faint"}),"MCP"]}),c.jsxs("button",{type:"button",onClick:()=>{y(!1),_(!0)},className:"nav-item",children:[c.jsx(vr,{size:15,strokeWidth:1.7,className:"shrink-0 text-faint"}),"Deploy"]}),c.jsxs("div",{className:"relative",children:[c.jsx(dl,{size:15,strokeWidth:1.7,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-faint"}),c.jsx("input",{value:M,onChange:R=>C(R.target.value),placeholder:"Search",className:"mt-1 h-8 w-full rounded-lg border border-transparent bg-transparent pl-[34px] pr-2.5 text-[13px] text-ink outline-none transition-colors placeholder:text-muted hover:bg-raised/80 focus:border-line focus:bg-panel","aria-label":"Search conversations"})]})]}),c.jsxs("div",{className:"thin-scroll min-h-0 flex-1 overflow-y-auto px-2 pb-2 pt-5",children:[c.jsxs("div",{className:"mb-5",children:[c.jsxs("div",{className:"flex items-center justify-between px-2.5 pb-1.5",children:[c.jsx("p",{className:"eyebrow",children:"Workspaces"}),c.jsx("button",{type:"button",onClick:()=>{y(!1),N(!0)},className:"flex h-6 w-6 items-center justify-center rounded-md text-faint transition-colors hover:bg-raised hover:text-ink",title:"Open another folder","aria-label":"Open another folder",children:c.jsx(yr,{size:13})})]}),P.length===0?c.jsxs("button",{type:"button",onClick:()=>{y(!1),N(!0)},className:"flex w-full items-center gap-2 rounded-lg border border-dashed border-line px-2.5 py-2.5 text-left text-[13px] text-muted transition-colors hover:border-faint/50 hover:text-ink",children:[c.jsx(nl,{size:15,strokeWidth:1.6,className:"text-faint"}),"Open a project folder"]}):c.jsx("div",{className:"space-y-0.5",children:P.map(R=>{const fe=R.path===p.root;return c.jsxs("div",{className:"group/ws relative",children:[c.jsxs("button",{type:"button",onClick:()=>{O(R.path)},title:R.path,className:ne("flex h-8 w-full items-center gap-2.5 rounded-lg px-2.5 pr-8 text-left text-[13px] transition-all duration-150 active:scale-[0.985]",fe?"bg-raised text-ink":"text-muted hover:bg-raised/80 hover:text-ink"),children:[c.jsx(nl,{size:15,strokeWidth:1.6,className:ne("shrink-0 transition-transform duration-200 group-hover/ws:-rotate-6 group-hover/ws:scale-110",fe?"text-accent":"text-faint")}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:R.name}),ue===R.path?c.jsx(Lh,{size:11,className:"shrink-0 animate-spin text-faint"}):fe?c.jsx(Sn,{size:11,className:"shrink-0 text-accent"}):c.jsx("span",{className:"shrink-0 text-[10px] tabular-nums text-faint transition-opacity group-hover/ws:opacity-0",children:Yu(R.lastOpened)})]}),c.jsx("button",{type:"button",onClick:()=>{D(R.path,R.name)},className:"absolute right-1 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded-md text-faint opacity-0 transition-all hover:bg-danger/10 hover:text-danger focus:opacity-100 group-hover/ws:opacity-100",title:"Remove workspace from the list","aria-label":`Remove workspace ${R.name}`,children:c.jsx(aa,{size:12})})]},R.path)})})]}),c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center justify-between px-2.5 pb-1.5",children:[c.jsx("p",{className:"eyebrow",children:"Recents"}),c.jsx("span",{className:"text-[11px] tabular-nums text-faint",children:G.length})]}),ae.length===0&&c.jsxs("div",{className:"px-2 py-7 text-center",children:[c.jsx("p",{className:"text-[13px] font-medium text-muted",children:M?"No conversations match":"No conversations yet"}),c.jsx("p",{className:"mt-1 text-[11.5px] leading-relaxed text-faint",children:M?"Try a shorter search.":"Start with a task, a question or a file."})]}),ae.map((R,fe)=>c.jsxs("div",{className:"mb-3",children:[c.jsx("p",{className:"px-2.5 pb-1 pt-1 text-[11px] font-medium text-faint/80",children:R.label}),c.jsx("div",{className:"space-y-0.5",children:R.items.map((De,Et)=>c.jsx("div",{className:"group/item relative animate-slideleft",style:{animationDelay:`${Math.min(fe*40+Et*18,320)}ms`},children:z===De.id?c.jsx("input",{value:J,onChange:xt=>de(xt.target.value),onBlur:ke,onKeyDown:xt=>{xt.key==="Enter"&&ke(),xt.key==="Escape"&&(H(null),de(""))},autoFocus:!0,className:"h-8 w-full rounded-lg border border-accent/50 bg-panel px-2.5 text-[13px] text-ink outline-none","aria-label":"Rename conversation"}):c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",onClick:()=>pe(De.id),onDoubleClick:()=>me(De.id,De.title),title:`${De.title} · ${Yu(De.updatedAt)}`,className:ne("sidebar-item pr-9",i===De.id&&"sidebar-item-active"),children:[c.jsx("span",{className:ne("min-w-0 flex-1 truncate",B[De.id]&&"text-shimmer"),children:De.title}),U[De.id]&&c.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10.5px] font-medium text-accent group-hover/item:hidden",title:"Agent is running",children:[c.jsx("span",{className:"h-1.5 w-1.5 animate-breathe rounded-full bg-accent"}),"running"]})]}),c.jsx("button",{type:"button",onClick:xt=>{if(xt.stopPropagation(),I?.id===De.id){X(null);return}const Be=xt.currentTarget.getBoundingClientRect(),ht=176,We=166,Kt=Math.max(8,Math.min(Be.right-ht,window.innerWidth-ht-8)),Tn=Be.bottom+We+8>window.innerHeight?Math.max(8,Be.top-We-4):Be.bottom+4;X({id:De.id,x:Kt,y:Tn})},className:ne("absolute right-1 top-1/2 flex h-7 w-7 -translate-y-1/2 items-center justify-center rounded-md text-faint transition-all hover:bg-panel hover:text-ink",I?.id===De.id?"flex bg-panel text-ink opacity-100":"opacity-0 group-hover/item:opacity-100 focus:opacity-100"),"aria-label":`Actions for ${De.title}`,title:"Conversation actions",children:c.jsx(c2,{size:14})})]})},De.id))})]},R.label))]})]}),c.jsx("div",{className:"p-2",children:c.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg px-1.5 py-1.5 transition-colors hover:bg-raised/80",children:[c.jsx("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-ink text-[12px] font-semibold text-panel",children:j.charAt(0).toUpperCase()}),c.jsxs("button",{type:"button",onClick:()=>{y(!1),k("models")},className:"min-w-0 flex-1 text-left",children:[c.jsx("p",{className:"truncate text-[13px] font-medium leading-tight text-ink",children:j}),c.jsx("p",{className:"mt-0.5 truncate text-[11px] leading-tight text-faint",children:re?`${Fh(d.provider)}${d.provider==="ollama"?" · local":" · your key"}`:"Add a provider key"})]}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",onClick:()=>{y(!1),k("appearance")},title:"Preferences","aria-label":"Preferences",children:c.jsx(Pv,{size:16,strokeWidth:1.7})})]})}),I&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",tabIndex:-1,"aria-label":"Close conversation menu",className:"fixed inset-0 z-[60] cursor-default bg-transparent",onClick:()=>X(null)}),c.jsx("div",{className:"surface-lift fixed z-[70] w-[184px] overflow-hidden rounded-xl border border-line p-1 shadow-float",style:{left:I.x,top:I.y},children:(()=>{const R=e.find(fe=>fe.id===I.id);return R?c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",onClick:()=>me(R.id,R.title),className:"flex h-7 w-full items-center gap-2 rounded-md px-2 text-left text-[11.5px] text-muted hover:bg-raised hover:text-ink",children:[c.jsx(ld,{size:12})," Rename"]}),c.jsxs("button",{type:"button",onClick:()=>{ie(R.id)},className:"flex h-7 w-full items-center gap-2 rounded-md px-2 text-left text-[11.5px] text-muted hover:bg-raised hover:text-ink",children:[c.jsx(Ii,{size:12})," Name with AI"]}),c.jsxs("button",{type:"button",onClick:()=>$e(R.id),className:"flex h-7 w-full items-center gap-2 rounded-md px-2 text-left text-[11.5px] text-muted hover:bg-raised hover:text-ink",children:[c.jsx(Ov,{size:12})," Export JSON"]}),c.jsxs("button",{type:"button",onClick:()=>He(R.id),className:"flex h-7 w-full items-center gap-2 rounded-md px-2 text-left text-[11.5px] text-muted hover:bg-raised hover:text-ink",children:[c.jsx(ja,{size:12})," Export Markdown"]}),c.jsx("div",{className:"my-1 border-t border-line"}),c.jsxs("button",{type:"button",onClick:()=>{Re(R.id,R.title)},className:"flex h-7 w-full items-center gap-2 rounded-md px-2 text-left text-[11.5px] text-danger hover:bg-danger/[0.06]",children:[c.jsx(aa,{size:12})," Delete"]}),c.jsxs("p",{className:"px-2 pb-1 pt-1.5 text-[9px] text-faint",children:["Updated ",pj(R.updatedAt)]})]}):null})()})]})]})}const hj={wave:"Ready when you are",idle:"Standing by",thinking:"Thinking it through…",working:"Running tools…",typing:"Writing the answer…",happy:"Answer ready",alert:"Needs your approval",error:"Hit a snag",sleepy:"Waiting for the next turn",party:"All steps finished"};function gj(e,i){if(e.length===0)return"wave";const a=e[e.length-1];return a.role==="tool"?a.status==="awaiting"?"alert":a.status==="error"?"error":i||a.status==="running"?"working":"party":a.role==="assistant"?a.error?"error":i?a.reasoning.trim()&&!a.content.trim()?"thinking":"typing":a.stopped?"sleepy":a.content.trim()?"happy":"idle":i?"working":"idle"}const Vw=864e5,s1=26;function Jh(e){const i=new Date(e);return i.setHours(0,0,0,0),i.getTime()}function Xw(e){const i=new Date(e);return`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,"0")}-${String(i.getDate()).padStart(2,"0")}`}function xj(e,i){return e==="all"?0:Jh(i)-(e==="7d"?6:29)*Vw}function l1(e,i){return typeof e.createdAt=="number"?e.createdAt:i}function bj(e){if(e.role!=="assistant")return 0;const i=e.usage;if(i&&(i.input||i.output))return(i.input??0)+(i.output??0);const a=`${e.content??""}${e.reasoning??""}`;return a.trim()?Math.ceil(a.length/4):0}function yj(e){return e===0?"12 AM":e===12?"12 PM":e<12?`${e} AM`:`${e-12} PM`}function vj(e,i,a=Date.now()){const r=xj(i,a),o=e.filter(_=>_.updatedAt>=r),u=[];for(const _ of o)for(const T of _.messages)l1(T,_.updatedAt)>=r&&u.push({message:T,session:_});const d=new Array(24).fill(0),p=new Map,g=new Map;let h=0;for(const{message:_,session:T}of u){const A=l1(_,T.updatedAt),S=Xw(A),U=p.get(S);if(U?U.count+=1:p.set(S,{key:S,count:1,date:Jh(A)}),d[new Date(A).getHours()]+=1,_.role!=="assistant")continue;const B=bj(_);h+=B;const M=typeof _.model=="string"?_.model.trim():"";if(!M)continue;const C=g.get(M)??{model:M,messages:0,tokens:0};C.messages+=1,C.tokens+=B,g.set(M,C)}const x=[...g.values()].sort((_,T)=>T.tokens-_.tokens||T.messages-_.messages||_.model.localeCompare(T.model)),b=x[0],v=u.filter(_=>_.message.role==="assistant").length;let y=0;for(let _=1;_<24;_+=1)d[_]>d[y]&&(y=_);const k=wj(p,a),N=k.reduce((_,T)=>Math.max(_,T.count),0);return{sessions:o.length,messages:u.length,tokens:h,activeDays:p.size,peakHour:u.length?yj(y):"—",favoriteModel:b?.model??"—",favoriteShare:b&&v?Math.round(b.messages/v*100):0,models:x,heatmap:k,busiestDay:N}}function wj(e,i){const a=new Date(Jh(i)),r=new Date(a);r.setDate(r.getDate()-r.getDay()-(s1-1)*7);const o=[];for(let u=0;u<s1*7;u+=1){const d=r.getTime()+u*Vw,p=Xw(d);o.push(e.get(p)??{key:p,count:0,date:d})}return o}function Eo(e){return e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function xm(e){if(!e||e==="—")return e;const i=e.split("/");return i[i.length-1]||e}function kj(e){return!!(e.content.trim()||e.reasoning.trim()||e.error||e.stopped)}function Ej(e){const i=[];let a=null,r=[];const o=()=>{r.length>0&&a?.segments.push({kind:"tools",tools:r}),r=[]};for(const u of e){if(u.role==="tool"){if(!a)continue;r.push(u);continue}if(u.role==="user"){o(),a={id:u.id,user:u,segments:[]},i.push(a);continue}!kj(u)&&u.toolCalls.length>0||(a||(a={id:u.id,segments:[]},i.push(a)),o(),a.segments.push({kind:"assistant",message:u}))}return o(),i}function o1(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e)}function _j({messages:e,model:i,sessionId:a}){const r=F.useMemo(()=>$w(e,i),[e,i]),o=a?Iw(a):!1;if(e.length===0)return null;const{pct:u,used:d,limit:p}=r,g=u>=Hw*100,h=u>=70&&!g;return c.jsx("div",{className:ne("hidden items-baseline gap-1.5 text-[11.5px] tabular-nums text-muted sm:flex",h&&"text-warning",g&&"text-danger"),title:`Context window: ~${d.toLocaleString()} of ${p.toLocaleString()} tokens used (${u}%)`,children:o?c.jsx("span",{className:"text-shimmer",children:"Compacting…"}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-ink/80",children:o1(d)}),c.jsxs("span",{className:"text-faint",children:["/ ",o1(p)," tokens"]}),c.jsx("span",{className:"text-faint",children:"·"}),c.jsxs("span",{children:[u,"%"]})]})})}const Nj=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform);function Sj({session:e,view:i,onViewChange:a}){const r=Ae(),o=Ae(A=>A.update),u=ge(A=>A.sidebarCollapsed),d=ge(A=>A.toggleSidebar),p=ge(A=>A.setMobileSidebarOpen),g=ge(A=>A.setPaletteOpen),h=ge(A=>A.openSettings),x=ge(A=>A.workspaceOpen),b=ge(A=>A.setWorkspaceOpen),v=ge(A=>A.setDeployOpen),y=Ue(A=>A.info),k=vd(),N=Wm(r.theme,typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches),_=!!(e&&e.messages.length>0),T=e?.messages.filter(A=>A.role==="user").length??0;return c.jsxs("header",{className:"relative flex h-12 shrink-0 items-center gap-2 border-b border-line/60 bg-panel/80 px-3 backdrop-blur-xl sm:px-4",children:[c.jsx("button",{type:"button",className:"icon-button lg:hidden",onClick:()=>p(!0),"aria-label":"Open menu",children:c.jsx(K2,{size:18})}),u&&c.jsx("button",{type:"button",className:"icon-button hidden lg:inline-flex",onClick:d,title:"Expand sidebar","aria-label":"Expand sidebar",children:c.jsx(aT,{size:17})}),c.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[!e&&c.jsx(fl,{size:19,className:"lg:hidden"}),y.available&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"hidden max-w-[120px] shrink-0 truncate text-[13px] text-faint md:inline",children:y.name}),c.jsx("span",{className:"hidden text-faint/50 md:inline",children:"/"})]}),c.jsx("h1",{className:"min-w-0 truncate text-[13.5px] font-medium tracking-[-0.01em] text-ink",children:e?.title??"New conversation"}),_&&c.jsxs("span",{className:"hidden shrink-0 items-center gap-1 rounded-md border border-line bg-canvas px-1.5 py-0.5 text-[10.5px] font-medium text-muted sm:inline-flex",children:[r.mode==="plan"?c.jsx(zh,{size:11}):c.jsx(Ii,{size:11}),r.mode==="plan"?"Plan mode":"Build mode"]}),_&&c.jsxs("span",{className:"hidden shrink-0 text-[11.5px] tabular-nums text-faint md:inline",children:[T," turn",T===1?"":"s"]})]}),_&&c.jsx("div",{className:"absolute left-1/2 hidden -translate-x-1/2 items-center rounded-lg bg-raised p-0.5 md:inline-flex",children:["chat","trajectory"].map(A=>c.jsx("button",{type:"button",onClick:()=>a(A),"aria-pressed":i===A,className:ne("h-6 rounded-md px-3 text-[11.5px] font-medium capitalize transition-all duration-200",i===A?"bg-panel text-ink shadow-pill":"text-muted hover:text-ink"),children:A},A))}),c.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[_&&c.jsx("div",{className:"mr-3 hidden sm:block",children:c.jsx(_j,{messages:e?.messages??[],model:k,sessionId:e?.id??null})}),c.jsxs("button",{type:"button",onClick:()=>b(!x),title:y.available?y.root:"Choose a workspace folder",className:ne("mr-1 hidden min-w-0 items-center gap-1.5 rounded-lg border px-2.5 py-1 text-[12px] transition-all duration-150 sm:inline-flex",x?"border-accent/30 bg-accent-soft text-accent":"border-line text-muted hover:bg-raised/60 hover:text-ink"),children:[c.jsx(Wr,{size:13,className:"shrink-0"}),c.jsx("span",{className:"max-w-[140px] truncate",children:y.available?y.name:"No folder"})]}),c.jsx("button",{type:"button",className:"icon-button hidden sm:inline-flex",onClick:()=>v(!0),title:"Deploy the open workspace or another project","aria-label":"Deploy",children:c.jsx(vr,{size:16,strokeWidth:1.7})}),c.jsx("button",{type:"button",className:"icon-button",onClick:()=>g(!0),title:`Search and commands (${Nj?"⌘":"Ctrl"} K)`,"aria-label":"Open search and commands",children:c.jsx(dl,{size:16})}),c.jsx("button",{type:"button",className:"icon-button hidden sm:inline-flex",onClick:()=>o({theme:N?"light":"dark"}),title:N?"Switch to light theme":"Switch to dark theme","aria-label":"Toggle theme",children:N?c.jsx(Hh,{size:16}):c.jsx(Uh,{size:16})}),c.jsx("button",{type:"button",className:"icon-button",onClick:()=>h("general"),title:"Settings","aria-label":"Open settings",children:c.jsx(Pv,{size:16})})]})]})}const eg=[{value:"ask",label:"Ask first",description:"Confirm shell commands, edits and git changes before they run."},{value:"accept-edits",label:"Accept edits",description:"Apply file edits automatically; still confirm shell and git."},{value:"full",label:"Full access",description:"Run every enabled tool without asking. Use only in trusted folders."}],ph=["write_file","edit_file","rewrite_file"],mh=["shell","git","subagent"];function Zw(e){const i=ph.every(r=>e[r]?.approval==="auto"),a=mh.every(r=>e[r]?.approval==="auto");return i&&a?"full":i?"accept-edits":"ask"}function Qw(e,i){const a={};for(const r of Object.keys(e)){const o=ph.includes(r)||mh.includes(r),u=i==="full"?"auto":i==="accept-edits"?ph.includes(r)?"auto":mh.includes(r)?"ask":e[r].approval:o?"ask":e[r].approval;a[r]={...e[r],approval:u}}return a}function Tj(e){return eg.find(i=>i.value===e)?.label??"Ask first"}function Cj(e,i,a=!0,r){const o=F.useRef(i);o.current=i,F.useEffect(()=>{if(!a)return;const u=p=>{const g=e.current;if(!g)return;const h=p.target;h instanceof Node&&(g.contains(h)||r?.current?.contains(h)||o.current())},d=p=>{p.key==="Escape"&&o.current()};return document.addEventListener("pointerdown",u,!0),document.addEventListener("keydown",d),()=>{document.removeEventListener("pointerdown",u,!0),document.removeEventListener("keydown",d)}},[a,e,r])}var Io=Sv();function tg({open:e,onClose:i,children:a,className:r,labelledBy:o,wide:u=!1}){const d=F.useRef(null),p=F.useRef(null),g=F.useRef(i);return g.current=i,F.useEffect(()=>{if(!e)return;p.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const h=d.current,x=()=>Array.from(h?.querySelectorAll('button:not([disabled]), a[href], input:not([disabled]), textarea:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')??[]).filter(k=>k.offsetParent!==null),b=window.setTimeout(()=>{(h?.querySelector("[data-autofocus]")??x()[0]??h)?.focus()},30),v=k=>{if(k.key==="Escape"){k.preventDefault(),g.current();return}if(k.key!=="Tab")return;const N=x();if(N.length===0)return;const _=N[0],T=N[N.length-1];k.shiftKey&&document.activeElement===_?(k.preventDefault(),T.focus()):!k.shiftKey&&document.activeElement===T&&(k.preventDefault(),_.focus())};document.addEventListener("keydown",v);const y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.clearTimeout(b),document.removeEventListener("keydown",v),document.body.style.overflow=y,p.current?.focus()}},[e]),e?Io.createPortal(c.jsxs("div",{className:"fixed inset-0 z-[80] flex items-end justify-center p-0 sm:items-center sm:p-6",children:[c.jsx("button",{type:"button","aria-label":"Close dialog",tabIndex:-1,onClick:i,className:"modal-scrim absolute inset-0 cursor-default bg-black/35 backdrop-blur-[3px] dark:bg-black/60"}),c.jsx("div",{ref:d,role:"dialog","aria-modal":"true","aria-labelledby":o,tabIndex:-1,className:ne("modal-panel relative flex max-h-[92dvh] w-full flex-col overflow-hidden rounded-t-2xl border border-line surface-lift shadow-float sm:max-h-[86dvh] sm:rounded-xl",u?"sm:w-[min(920px,94vw)]":"sm:w-[min(760px,94vw)]",r),children:a})]}),document.body):null}function un({size:e=14,className:i}){return c.jsx(Lh,{size:e,className:ne("animate-spin text-current",i),"aria-hidden":"true"})}function sa({checked:e,onChange:i,label:a,disabled:r=!1}){return c.jsx("button",{type:"button",role:"switch","aria-label":a,"aria-checked":e,disabled:r,onClick:()=>i(!e),className:ne("relative inline-flex h-[22px] w-[38px] shrink-0 items-center rounded-full border transition-colors duration-200 disabled:opacity-40",e?"border-accent bg-accent":"border-line bg-raised"),children:c.jsx("span",{className:ne("pointer-events-none block h-[16px] w-[16px] rounded-full bg-white shadow-sm transition-transform duration-300 ease-spring",e?"translate-x-[19px]":"translate-x-[3px]")})})}function hh({options:e,value:i,onChange:a,disabled:r,className:o,size:u="sm"}){return c.jsx("div",{className:ne("inline-flex items-center rounded-lg bg-raised p-0.5",u==="md"?"text-[12.5px]":"text-[11.5px]",r&&"opacity-50",o),children:e.map(d=>c.jsx("button",{type:"button",title:d.title,disabled:r,onClick:()=>a(d.value),className:ne("rounded-md font-medium transition-all duration-200 disabled:cursor-not-allowed",u==="md"?"px-3 py-1.5":"px-2.5 py-1",i===d.value?"bg-panel text-ink shadow-[0_1px_2px_rgba(20,22,30,0.08)]":"text-muted hover:text-ink"),children:d.label},d.value))})}const Aj={info:{icon:Dh,className:"text-accent"},success:{icon:WS,className:"text-success"},error:{icon:e2,className:"text-danger"}};function Oj(){const e=ge(o=>o.toast),i=ge(o=>o.dismissToast);if(F.useEffect(()=>{if(!e)return;const o=window.setTimeout(()=>i(e.id),4500);return()=>window.clearTimeout(o)},[e,i]),!e)return null;const a=Aj[e.tone],r=a.icon;return Io.createPortal(c.jsxs("div",{className:"pointer-events-none fixed bottom-56 left-1/2 z-[100] flex w-[min(92vw,440px)] -translate-x-1/2 animate-scalein items-start gap-2.5 rounded-xl border border-line surface-lift px-3.5 py-3 text-[12.5px] text-ink shadow-float sm:bottom-48",role:"status",children:[c.jsx(r,{size:16,className:ne("mt-0.5 shrink-0",a.className)}),c.jsx("p",{className:"flex-1 leading-relaxed",children:e.message}),c.jsx("button",{type:"button",className:"pointer-events-auto icon-button -mr-1 -mt-1 h-6 w-6",onClick:()=>i(e.id),"aria-label":"Dismiss",children:c.jsx(ra,{size:13})})]}),document.body)}function jj(){const e=ge(r=>r.confirm),i=ge(r=>r.resolveConfirm),a=e?.tone==="danger";return c.jsx(tg,{open:!!e,onClose:()=>i(!1),className:"sm:w-[420px]",children:c.jsxs("div",{className:"p-5 sm:p-6",children:[c.jsxs("div",{className:"flex items-start gap-3",children:[c.jsx("span",{className:ne("mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-full",a?"bg-danger/10 text-danger":"bg-accent-soft text-accent"),children:c.jsx(BT,{size:17})}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("h2",{className:"text-[15px] font-semibold tracking-[-0.01em]",children:e?.title}),c.jsx("p",{className:"mt-1.5 text-[12.5px] leading-relaxed text-muted",children:e?.body})]})]}),c.jsxs("div",{className:"mt-6 flex justify-end gap-2",children:[c.jsx("button",{type:"button",className:"chip",onClick:()=>i(!1),children:"Cancel"}),c.jsxs("button",{type:"button","data-autofocus":!0,onClick:()=>i(!0),className:ne("inline-flex h-8 items-center gap-1.5 rounded-lg px-3 text-[12.5px] font-medium text-on-accent transition-all active:scale-95",a?"bg-danger hover:bg-danger/90":"bg-accent hover:bg-accent/90"),children:[c.jsx(Sn,{size:14}),e?.confirmLabel??"Confirm"]})]})]})})}const Mj=[];function c1(e){return dd(Ae.getState(),e)}function bm(e){return e?e>=1e6?`${(e/1e6).toFixed(e%1e6?1:0)}M`:`${Math.round(e/1e3)}k`:""}function Rj(e){return e?Math.max(.06,Math.min(1,Math.log10(e/4e3)/Math.log10(2e6/4e3))):0}function Dj(e){const i=e.split(/[\s/.-]+/).filter(Boolean);return(i.length>1?i[0][0]+i[1][0]:e.slice(0,2)).toUpperCase()}function zj({efforts:e,value:i,className:a}){const r=Math.max(0,e.indexOf(i));return c.jsx("span",{className:ne("flex h-3.5 items-end gap-[2px]",a),"aria-hidden":!0,children:e.map((o,u)=>c.jsx("span",{style:{height:`${38+u/Math.max(1,e.length-1)*62}%`},className:ne("w-[3px] rounded-[1px] transition-all duration-300 ease-spring",u<=r?"bg-accent":"bg-line")},o))})}function Lj({efforts:e,value:i,onChange:a,disabled:r}){const o=F.useRef(null),[u,d]=F.useState(!1),p=Math.max(1,e.length-1),g=Math.max(0,e.indexOf(i)),h=g/p*100,x=F.useCallback(b=>{const v=o.current?.getBoundingClientRect();if(!v||e.length===0)return;const y=1-Math.min(1,Math.max(0,(b-v.top)/v.height)),k=e[Math.round(y*p)];k&&k!==i&&a(k)},[e,p,a,i]);return c.jsxs("div",{className:ne("relative flex h-[280px] gap-4 select-none",r&&"pointer-events-none opacity-40"),children:[c.jsxs("div",{ref:o,role:"slider",tabIndex:r?-1:0,"aria-label":"Reasoning effort","aria-valuemin":0,"aria-valuemax":e.length-1,"aria-valuenow":g,"aria-valuetext":Iu(i),onKeyDown:b=>{b.key==="ArrowUp"||b.key==="ArrowRight"?(b.preventDefault(),a(e[Math.min(e.length-1,g+1)])):(b.key==="ArrowDown"||b.key==="ArrowLeft")&&(b.preventDefault(),a(e[Math.max(0,g-1)]))},onPointerDown:b=>{b.currentTarget.setPointerCapture(b.pointerId),d(!0),x(b.clientY)},onPointerMove:b=>u&&x(b.clientY),onPointerUp:()=>d(!1),onPointerCancel:()=>d(!1),className:"relative w-9 shrink-0 cursor-grab touch-none rounded-full outline-none focus-visible:ring-2 focus-visible:ring-accent/50 active:cursor-grabbing",children:[c.jsx("div",{className:"absolute inset-x-[13px] inset-y-1 rounded-full bg-raised shadow-[inset_0_1px_3px_rgba(0,0,0,0.12)]"}),c.jsx("div",{className:"absolute inset-x-[13px] bottom-1 rounded-full bg-gradient-to-t from-accent/40 via-accent to-accent transition-[height] duration-500 ease-spring",style:{height:`calc((100% - 8px) * ${h/100})`}}),e.map((b,v)=>c.jsx("span",{className:ne("absolute left-1/2 h-[7px] w-[7px] -translate-x-1/2 translate-y-1/2 rounded-full border transition-colors duration-300",v<=g?"border-on-accent/40 bg-on-accent/80":"border-line bg-panel"),style:{bottom:`calc(4px + (100% - 8px) * ${v/p})`}},b)),c.jsx("span",{className:ne("throttle-knob absolute left-1/2 h-6 w-6 -translate-x-1/2 translate-y-1/2 rounded-full border-2 border-accent bg-panel shadow-float transition-[bottom] duration-500 ease-spring",u&&"scale-110 !duration-75"),style:{bottom:`calc(4px + (100% - 8px) * ${g/p})`},children:c.jsx("span",{className:"absolute inset-[5px] rounded-full bg-accent"})})]}),c.jsx("div",{className:"relative min-w-0 flex-1",children:e.map((b,v)=>{const y=v===g;return c.jsxs("button",{type:"button",onClick:()=>a(b),className:ne("absolute left-0 flex -translate-y-1/2 flex-col items-start text-left transition-all duration-300",y?"text-ink":"text-faint hover:text-ink"),style:{top:`calc(4px + (100% - 8px) * ${1-v/p})`},children:[c.jsx("span",{className:ne("font-mono text-[10.5px] uppercase tracking-[0.14em]",y&&"text-accent"),children:Iu(b)}),c.jsx("span",{className:ne("overflow-hidden text-[10.5px] leading-tight text-muted transition-all duration-300",y?"mt-0.5 max-h-8 opacity-100":"max-h-0 opacity-0"),children:qh[b]?.description})]},b)})})]})}function Ij({open:e,onClose:i}){const a=Ae(),r=Ae(P=>P.selectModel),o=Ae(P=>P.update),u=ge(P=>P.openSettings),[d,p]=F.useState(""),[g,h]=F.useState(""),[x,b]=F.useState(!1),[v,y]=F.useState(0),k=F.useRef(null),N=F.useRef(null),_=a.provider,T=An(P=>P.byProvider[_])??Mj,A=An(P=>!!P.loading[_]),S=An(P=>P.errors[_]??""),U=An(P=>P.notes[_]??""),B=An(P=>P.fetchModels),M=si(a),C=T.find(P=>P.id===M)??null,I=c1(_),X=!!na[_]?.keyless||_==="custom",z=Co(C);F.useEffect(()=>{e&&(I||X)&&B(_)},[e,_,I,X,B]),F.useEffect(()=>{if(!e){p(""),b(!1);return}const P=window.setTimeout(()=>N.current?.focus(),60),re=document.activeElement,j=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.clearTimeout(P),document.body.style.overflow=j,re?.focus?.()}},[e]);const H=F.useMemo(()=>{const P=d.trim().toLowerCase();return P?T.filter(re=>re.name.toLowerCase().includes(P)||re.id.toLowerCase().includes(P)):T},[T,d]);F.useLayoutEffect(()=>{y(0)},[d,_]),F.useEffect(()=>{k.current?.querySelector(`[data-row="${v}"]`)?.scrollIntoView({block:"nearest"})},[v]);const J=P=>{const re=Co(P),j=re.length>0?ll(a.effort,P):a.effort;r(_,P.id,re.length>0&&!re.includes(j)?iw(P):j)},de=P=>{P?.preventDefault();const re=g.trim();re&&(r(_,re,a.effort),h(""),b(!1))},ue=P=>{P!==_&&(o({provider:P,model:""}),p(""),B(P))},te=P=>{if(P.key==="ArrowDown")P.preventDefault(),y(re=>Math.min(H.length-1,re+1));else if(P.key==="ArrowUp")P.preventDefault(),y(re=>Math.max(0,re-1));else if(P.key==="Enter"){P.preventDefault();const re=H[v];re&&re.id!==M?J(re):i()}};if(F.useEffect(()=>{if(!e)return;const P=re=>{re.key==="Escape"&&(re.preventDefault(),i())};return document.addEventListener("keydown",P),()=>document.removeEventListener("keydown",P)},[e,i]),!e)return null;const G=!I&&!X,ae=Math.max(0,Lu.findIndex(P=>P.id===_));return Io.createPortal(c.jsxs("div",{className:"fixed inset-0 z-[90] flex items-end justify-center sm:items-center sm:p-6",children:[c.jsx("button",{type:"button","aria-label":"Close model deck",tabIndex:-1,onClick:i,className:"deck-scrim absolute inset-0 cursor-default bg-black/40 backdrop-blur-[6px] dark:bg-black/65"}),c.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":"Model deck",className:"deck-panel relative flex h-[min(92dvh,640px)] w-full flex-col overflow-hidden rounded-t-[28px] border border-line bg-panel shadow-float sm:w-[min(920px,96vw)] sm:rounded-[28px]",children:[c.jsx("div",{className:"deck-aurora pointer-events-none absolute inset-x-0 top-0 h-40"}),c.jsxs("header",{className:"relative flex shrink-0 items-end gap-4 px-6 pb-4 pt-5",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"font-mono text-[10px] uppercase tracking-[0.22em] text-faint",children:"Model deck"}),c.jsx("h2",{className:"mt-1 truncate font-display text-[26px] font-semibold leading-none tracking-[-0.03em] text-ink",children:C?.name||M||"Pick a model"}),c.jsxs("p",{className:"mt-1.5 flex items-center gap-2 text-[11.5px] text-muted",children:[c.jsx("span",{children:na[_]?.name??_}),z.length>0&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-faint",children:"·"}),c.jsxs("span",{className:"text-accent",children:[Iu(a.effort)," effort"]})]}),C?.context?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-faint",children:"·"}),c.jsxs("span",{children:[bm(C.context)," context"]})]}):null]})]}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",onClick:()=>{B(_,!0)},disabled:A||G,title:"Refresh live models","aria-label":"Refresh live models",children:c.jsx(Di,{size:14,className:ne(A&&"animate-spin")})}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",onClick:()=>{i(),u("models")},title:"Provider settings","aria-label":"Provider settings",children:c.jsx(Fv,{size:14})}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",onClick:i,"aria-label":"Close",children:c.jsx(ra,{size:15})})]}),c.jsxs("div",{className:"relative flex min-h-0 flex-1 flex-col border-t border-line md:flex-row",children:[c.jsxs("nav",{"aria-label":"Providers",className:"thin-scroll relative flex shrink-0 gap-1.5 overflow-x-auto border-b border-line bg-canvas/70 p-2 md:w-[78px] md:flex-col md:overflow-y-auto md:overflow-x-hidden md:border-b-0 md:border-r md:p-2.5",children:[c.jsx("span",{"aria-hidden":!0,className:"deck-rail-glow pointer-events-none absolute left-2.5 hidden h-[46px] w-[calc(100%-20px)] rounded-2xl bg-accent-soft ring-1 ring-accent/40 transition-transform duration-500 ease-spring md:block",style:{transform:`translateY(${ae*52}px)`}}),Lu.map(P=>{const re=c1(P.id)||P.keyless||P.id==="custom",j=P.id===_;return c.jsxs("button",{type:"button",onClick:()=>ue(P.id),disabled:!re,title:`${P.name}${re?"":" · connect to enable"}`,"aria-pressed":j,className:ne("relative flex h-[46px] min-w-[58px] shrink-0 flex-col items-center justify-center gap-0.5 rounded-2xl transition-colors disabled:cursor-not-allowed disabled:opacity-40 md:mb-[6px] md:min-w-0",j?"text-accent max-md:bg-accent-soft":"text-muted hover:bg-raised hover:text-ink"),children:[c.jsx("span",{className:"font-display text-[13px] font-semibold tracking-tight",children:Dj(P.name)}),c.jsx("span",{className:"max-w-full truncate px-1 text-[8.5px] leading-none text-faint",children:P.name.split(" ")[0]}),c.jsx("span",{className:ne("absolute right-1.5 top-1.5 h-1.5 w-1.5 rounded-full",re?"bg-success":"bg-warning/70")})]},P.id)})]}),c.jsx("section",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:G?c.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 px-8 text-center",children:[c.jsx("span",{className:"deck-pop flex h-12 w-12 items-center justify-center rounded-2xl bg-warning/10 text-warning",children:c.jsx(zv,{size:20})}),c.jsxs("p",{className:"font-display text-[16px] font-semibold text-ink",children:["Connect ",na[_]?.name??_]}),c.jsx("p",{className:"max-w-[320px] text-[12px] leading-relaxed text-muted",children:"Keys are encrypted by the local daemon before they touch disk and never come back to this page."}),c.jsx("button",{type:"button",onClick:()=>{i(),u("models")},className:"mt-1 inline-flex h-9 items-center gap-1.5 rounded-full bg-ink px-5 text-[12px] font-medium text-panel transition-transform active:scale-95",children:"Add API key"})]}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"shrink-0 px-4 pb-2 pt-3.5",children:[c.jsxs("div",{className:"relative",children:[c.jsx(dl,{size:14,className:"pointer-events-none absolute left-3.5 top-1/2 -translate-y-1/2 text-faint"}),c.jsx("input",{ref:N,value:d,onChange:P=>p(P.target.value),onKeyDown:te,placeholder:T.length>0?`Search ${T.length} models…`:"Search models…",className:"h-10 w-full rounded-full border border-line bg-canvas/70 pl-10 pr-14 text-[13px] text-ink outline-none transition-all placeholder:text-faint focus:border-accent/50 focus:bg-panel focus:shadow-[0_0_0_4px_rgb(var(--accent)/0.10)]","aria-label":"Search models"}),c.jsx("kbd",{className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-line bg-panel px-1.5 py-0.5 font-mono text-[9.5px] text-faint",children:"↑↓ ↵"})]}),S&&c.jsxs("div",{className:"mt-2 flex items-start gap-1.5 rounded-lg border border-danger/20 bg-danger/[0.04] px-2.5 py-2",children:[c.jsx(id,{size:12,className:"mt-0.5 shrink-0 text-danger"}),c.jsx("p",{className:"min-w-0 flex-1 text-[11px] leading-relaxed text-danger",children:S}),c.jsx("button",{type:"button",onClick:()=>{B(_,!0)},className:"text-[11px] font-medium text-danger",children:"Retry"})]}),U&&!S&&c.jsx("p",{className:"mt-1.5 px-1 text-[10.5px] leading-relaxed text-faint",children:U})]}),c.jsxs("div",{ref:k,className:"thin-scroll min-h-0 flex-1 overflow-y-auto px-2.5 pb-3",children:[A&&T.length===0&&c.jsxs("p",{className:"flex items-center gap-2 px-3 py-4 text-[12px] text-faint",children:[c.jsx(un,{size:12})," Loading live models…"]}),H.map((P,re)=>{const j=P.id===M,Le=re===v,pe=P.reasoningOptions.length>0;return c.jsxs("button",{type:"button","data-row":re,onClick:()=>{y(re),J(P)},onMouseMove:()=>Le||y(re),style:{animationDelay:`${Math.min(re*22,260)}ms`},className:ne("deck-row group/row relative mb-1 flex w-full items-center gap-3 overflow-hidden rounded-2xl px-3 py-2.5 text-left transition-colors",j?"bg-accent-soft":Le?"bg-raised":"hover:bg-raised/70"),children:[c.jsx("span",{className:ne("flex h-8 w-8 shrink-0 items-center justify-center rounded-xl transition-all duration-300",j?"scale-100 bg-accent text-on-accent":"bg-raised text-faint group-hover/row:bg-panel"),children:j?c.jsx(Sn,{size:14,strokeWidth:2.4}):c.jsx(ZT,{size:13})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:ne("truncate text-[13px] font-medium",j?"text-accent":"text-ink"),children:P.name||P.id}),P.free&&c.jsx("span",{className:"rounded-full bg-success/10 px-1.5 py-px text-[9px] font-medium text-success",children:"free"}),!P.toolCall&&c.jsx("span",{className:"rounded-full bg-warning/10 px-1.5 py-px text-[9px] font-medium text-warning",children:"no tools"})]}),c.jsx("span",{className:"mt-0.5 block truncate font-mono text-[10px] text-faint",children:P.id})]}),c.jsxs("span",{className:"hidden shrink-0 items-center gap-2.5 text-faint sm:flex",children:[pe&&c.jsx(B0,{size:12,className:"text-accent/80","aria-label":"reasoning"}),P.vision&&c.jsx(Rh,{size:12,"aria-label":"vision"}),P.context?c.jsxs("span",{className:"flex w-[74px] flex-col items-end gap-1",children:[c.jsx("span",{className:"font-mono text-[10px] tabular-nums",children:bm(P.context)}),c.jsx("span",{className:"h-[3px] w-full overflow-hidden rounded-full bg-line",children:c.jsx("span",{className:ne("block h-full rounded-full",j?"bg-accent":"bg-faint/60"),style:{width:`${Rj(P.context)*100}%`}})})]}):null]})]},P.id)}),!A&&H.length===0&&T.length>0&&c.jsxs("p",{className:"px-3 py-6 text-center text-[12px] text-faint",children:["No model matches “",d,"”."]}),!A&&T.length===0&&!S&&c.jsx("p",{className:"px-3 py-6 text-center text-[12px] text-faint",children:"This provider returned no usable chat models."}),x?c.jsxs("form",{onSubmit:de,className:"deck-row mt-1 flex items-center gap-2 px-1",children:[c.jsx("input",{autoFocus:!0,value:g,onChange:P=>h(P.target.value),placeholder:"model-id",className:"h-9 min-w-0 flex-1 rounded-full border border-line bg-panel px-4 font-mono text-[11.5px] outline-none focus:border-accent/50","aria-label":"Model ID"}),c.jsx("button",{type:"submit",disabled:!g.trim(),className:"h-9 rounded-full bg-ink px-4 text-[11.5px] font-medium text-panel transition-opacity disabled:opacity-40",children:"Use"})]}):c.jsxs("button",{type:"button",onClick:()=>b(!0),className:"mt-1 flex w-full items-center gap-2 rounded-2xl px-3 py-2.5 text-left text-[12px] text-faint transition-colors hover:bg-raised/70 hover:text-ink",children:[c.jsx(yr,{size:13})," Use a model ID that is not listed"]})]})]})}),c.jsxs("aside",{className:"deck-throttle relative shrink-0 border-t border-line bg-canvas/70 px-6 py-5 md:w-[258px] md:border-l md:border-t-0",children:[c.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[c.jsx(B0,{size:13,className:"text-accent"}),c.jsx("p",{className:"font-mono text-[10px] uppercase tracking-[0.2em] text-muted",children:"Reasoning"})]}),z.length>1?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"hidden md:block",children:c.jsx(Lj,{efforts:z,value:ll(a.effort,C),onChange:P=>C&&r(_,C.id,P),disabled:!C})}),c.jsx("div",{className:"flex gap-1 rounded-full bg-raised p-1 md:hidden",children:z.map(P=>c.jsx("button",{type:"button",onClick:()=>C&&r(_,C.id,P),className:ne("h-8 min-w-0 flex-1 rounded-full text-[10.5px] font-medium transition-all",a.effort===P?"bg-accent text-on-accent shadow-pill":"text-muted"),children:Iu(P)},P))})]}):c.jsxs("div",{className:"flex h-[120px] flex-col justify-center rounded-2xl border border-dashed border-line px-4 text-center md:h-[280px]",children:[c.jsx("p",{className:"text-[12px] font-medium text-ink",children:C?"No effort dial":"Pick a model"}),c.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted",children:Qm(C)})]}),z.length>1&&c.jsx("p",{className:"mt-4 hidden text-[10.5px] leading-relaxed text-faint md:block",children:Qm(C)})]})]}),c.jsxs("footer",{className:"relative flex shrink-0 items-center gap-3 border-t border-line px-6 py-3 text-[10.5px] text-faint",children:[C?.maxOutput?c.jsxs("span",{children:["max output ",bm(C.maxOutput)]}):null,C?.apiKind?c.jsx("span",{className:"rounded-md border border-line px-1.5 py-px font-mono",children:C.apiKind}):null,c.jsx("span",{className:"ml-auto hidden sm:inline",children:"Esc to close"}),c.jsx("button",{type:"button",onClick:i,className:"inline-flex h-8 items-center rounded-full bg-ink px-5 text-[12px] font-medium text-panel transition-transform active:scale-95",children:"Done"})]})]})]}),document.body)}function Uj({label:e,open:i,disabled:a,onClick:r,triggerRef:o,efforts:u,effort:d,title:p}){return c.jsxs("button",{ref:o,type:"button",disabled:a,onClick:r,"aria-haspopup":"dialog","aria-expanded":i,title:p,className:ne("deck-trigger group/deck flex h-8 max-w-[200px] items-center gap-2 rounded-full border border-transparent pl-2.5 pr-2.5 text-[11px] font-medium text-muted transition-all duration-200 hover:border-line hover:bg-raised hover:text-ink active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-45 sm:max-w-[270px]",i&&"border-accent/40 bg-accent-soft text-accent"),children:[c.jsx("span",{className:"truncate",children:e}),u.length>1&&c.jsx(zj,{efforts:u,value:d})]})}const Qi={outline:"#6b3410",body:"#fbbf24",shade:"#f59e0b",highlight:"#fef3c7",ray:"#f59e0b",eye:"#1a0f06",mark:"#4a2508",blush:"#fb7185",sweat:"#38bdf8",mint:"#34d399",sky:"#60a5fa",rose:"#fb7185"},Bj={wave:"animate-bob",idle:"animate-float-slow",thinking:"animate-float",working:"animate-bob-fast",typing:"animate-bob",happy:"animate-pop",alert:"animate-bounce",error:"animate-shake",sleepy:"animate-float-slow",party:"animate-pop"},$j=new Set(["thinking","working","typing","party","wave"]),Ww=[[4,6,9],[5,5,10],[6,4,11],[7,4,11],[8,4,11],[9,4,11],[10,5,10],[11,6,9]],Ws=new Set;for(const[e,i,a]of Ww)for(let r=i;r<=a;r++)Ws.add(`${r},${e}`);const Jw=[];for(let e=2;e<=13;e++)for(let i=2;i<=13;i++){if(Ws.has(`${i},${e}`))continue;(Ws.has(`${i-1},${e}`)||Ws.has(`${i+1},${e}`)||Ws.has(`${i},${e-1}`)||Ws.has(`${i},${e+1}`))&&Jw.push([i,e])}const Hj=[[7,0,2,2,"ray"],[7,14,2,2,"ray"],[0,7,2,2,"ray"],[14,7,2,2,"ray"]],Pj=[[2,2,1,1,"ray"],[13,2,1,1,"ray"],[2,13,1,1,"ray"],[13,13,1,1,"ray"],[3,3,1,1,"ray"],[12,3,1,1,"ray"],[3,12,1,1,"ray"],[12,12,1,1,"ray"]];function Wi(e,i=0,a=0){const[r,o]=e==="sm"?[1,1]:e==="md"?[1,2]:e==="lg"?[2,2]:[2,1],u=(e==="sm"||e==="flat"?8:7)+a;return[[(e==="lg"||e==="flat"?5:6)+i,u,r,o,"eye"],[9+i,u,r,o,"eye"]]}const u1=[[4,9,1,1,"blush"],[11,9,1,1,"blush"]];function Fj(e){switch(e){case"wave":return{eyes:Wi("md"),extras:u1,eyeClass:"pxs-blink"};case"happy":return{eyes:Wi("lg"),extras:[...u1,[13,1,1,3,"ray"],[12,2,3,1,"ray"]],clearCorner:!0};case"party":return{eyes:Wi("lg"),extras:[[1,3,1,1,"rose"],[14,2,1,1,"mint"],[0,11,1,1,"sky"],[15,12,1,1,"rose"],[4,0,1,1,"mint"],[11,0,1,1,"sky"],[2,14,1,1,"mint"],[13,14,1,1,"rose"]],clearCorner:!0};case"thinking":return{eyes:Wi("md",1,-1),extras:[[10,1,1,1,"mark"],[12,1,1,1,"mark"],[14,1,1,1,"mark"]],clearCorner:!0};case"working":return{eyes:Wi("sm",0,1),extras:[],eyeClass:"pxs-scan"};case"typing":return{eyes:Wi("md",0,1),extras:[],eyeClass:"pxs-scan"};case"alert":return{eyes:Wi("lg"),extras:[[13,0,1,3,"mark"],[13,4,1,1,"mark"]],clearCorner:!0};case"error":return{eyes:Wi("sm",0,1),extras:[[12,3,1,1,"sweat"],[12,4,1,2,"sweat"]],clearCorner:!0};case"sleepy":return{eyes:Wi("flat"),extras:[[12,1,4,1,"mark"],[14,2,1,1,"mark"],[13,3,1,1,"mark"],[12,4,4,1,"mark"]],clearCorner:!0};default:return{eyes:Wi("md"),extras:[],eyeClass:"pxs-blink"}}}function ek({mood:e="idle",size:i=40,className:a,animate:r=!0}){const o=hj[e],u=r&&$j.has(e),d=Fj(e);return c.jsx("span",{className:ne("inline-flex shrink-0 select-none",r&&Bj[e],a),role:"img","aria-label":`PixleSol — ${o}`,title:`PixleSol — ${o}`,children:c.jsxs("svg",{viewBox:"0 0 16 16",width:i,height:i,shapeRendering:"crispEdges","aria-hidden":"true",children:[c.jsx("g",{className:u?"pxs-a":void 0,children:Hj.map(([p,g,h,x,b],v)=>c.jsx("rect",{x:p,y:g,width:h,height:x,fill:Qi[b]},v))}),c.jsx("g",{className:u?"pxs-b":void 0,opacity:d.clearCorner?.35:void 0,children:Pj.map(([p,g,h,x,b],v)=>c.jsx("rect",{x:p,y:g,width:h,height:x,fill:Qi[b]},v))}),Jw.map(([p,g])=>c.jsx("rect",{x:p,y:g,width:1,height:1,fill:Qi.outline},`o${p},${g}`)),Ww.map(([p,g,h])=>c.jsx("rect",{x:g,y:p,width:h-g+1,height:1,fill:Qi.body},`b${p}`)),c.jsx("rect",{x:5,y:11,width:6,height:1,fill:Qi.shade}),c.jsx("rect",{x:9,y:10,width:2,height:1,fill:Qi.shade}),c.jsx("rect",{x:6,y:4,width:2,height:1,fill:Qi.highlight}),c.jsx("rect",{x:5,y:5,width:1,height:1,fill:Qi.highlight}),c.jsx("g",{className:r?d.eyeClass:void 0,children:d.eyes.map(([p,g,h,x,b],v)=>c.jsx("rect",{x:p,y:g,width:h,height:x,fill:Qi[b]},v))}),d.extras.map(([p,g,h,x,b],v)=>c.jsx("rect",{x:p,y:g,width:h,height:x,fill:Qi[b]},`x${v}`))]})})}const qj=/\.(txt|md|markdown|ts|tsx|js|jsx|mjs|cjs|json|css|scss|html|vue|svelte|py|go|rs|rb|java|kt|cs|c|h|cpp|hpp|php|swift|sh|bash|zsh|yml|yaml|toml|ini|sql|csv|xml|gitignore|env)$/i,ym=6,Gj=5*1024*1024,Yj=512*1024,vm=[{name:"search",usage:"/search <query>",description:"Search the web and answer with sources",takesArgs:!0},{name:"plan",usage:"/plan [task]",description:"Read-only investigation, then a plan",takesArgs:!1},{name:"build",usage:"/build [task]",description:"Allow edits and commands",takesArgs:!1},{name:"new",usage:"/new",description:"Start a new conversation",takesArgs:!1},{name:"workspace",usage:"/workspace",description:"Open the folder panel",takesArgs:!1},{name:"deploy",usage:"/deploy",description:"Deploy a project folder",takesArgs:!1},{name:"settings",usage:"/settings",description:"Open settings",takesArgs:!1},{name:"clear",usage:"/clear",description:"Clear this conversation",takesArgs:!1}];function d1(){return typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function f1({value:e,onChange:i,onSend:a,onStop:r,onCommand:o,streaming:u,hints:d=!1,autoFocus:p=!1,placeholder:g="How can I help you today?",contextPct:h,contextTitle:x,pixleMood:b}){const v=Ae(),y=Ae(ce=>ce.update),k=Ae(ce=>ce.setMode),N=ge(ce=>ce.notify),_=ge(ce=>ce.openSettings),T=ge(ce=>ce.composerFocus),A=ge(ce=>ce.setWorkspaceOpen),S=Ue(ce=>ce.info),[U,B]=F.useState([]),[M,C]=F.useState(!1),[I,X]=F.useState(!1),[z,H]=F.useState(!1),[J,de]=F.useState(!1),[ue,te]=F.useState(!1),[G,ae]=F.useState(0),P=F.useRef(null),re=F.useRef(null),j=F.useRef(null),Le=F.useRef(null),pe=F.useRef(null);F.useEffect(()=>{const ce=qe=>{(qe.metaKey||qe.ctrlKey)&&!qe.shiftKey&&!qe.altKey&&qe.key.toLowerCase()==="m"&&(qe.preventDefault(),H(ft=>!ft))};return window.addEventListener("keydown",ce),()=>window.removeEventListener("keydown",ce)},[]),Cj(Le,()=>de(!1),J,pe);const O=si(v),D=zA(v.provider),ie=vd(),me=ol(v),ke=Co(ie),Re=v.skills.filter(ce=>ce.enabled).length,He=Zw(v.tools),$e=me?O?D.find(ce=>ce.id===O)?.name??O:"Select model":"No provider",R=F.useMemo(()=>{if(!e.startsWith("/")||e.includes(`
|
|
247
|
-
`))return null;const ce=e.slice(1).split(/\s/)[0];return e.slice(1).includes(" ")?null:ce.toLowerCase()},[e]),fe=F.useMemo(()=>R===null?[]:vm.filter(ce=>ce.name.startsWith(R)),[R]);F.useEffect(()=>{ae(0)},[R]),F.useLayoutEffect(()=>{const ce=P.current;ce&&(ce.style.height="auto",ce.style.height=`${Math.min(Math.max(ce.scrollHeight,52),220)}px`)},[e]),F.useEffect(()=>{if(!p||!window.matchMedia("(pointer: fine)").matches)return;const ce=window.setTimeout(()=>P.current?.focus(),80);return()=>window.clearTimeout(ce)},[p]),F.useEffect(()=>{T>0&&P.current?.focus()},[T]),F.useEffect(()=>{me||H(!1)},[me]),F.useEffect(()=>{ie&&!ke.length&&y({effort:"medium"})},[ie,ke.length,y]);const De=async ce=>{if(ce.length===0)return;let qe=ym-U.length;if(qe<=0){N(`You can attach up to ${ym} files per message.`,"error");return}const ft=[];for(const mt of ce){if(qe<=0){N(`Only ${ym} attachments were added.`,"info");break}const sn=/^image\/(png|jpeg|webp|gif)$/i.test(mt.type),ee=mt.type.startsWith("text/")||qj.test(mt.name);if(sn){if(mt.size>Gj){N(`${mt.name} is larger than 5 MB.`,"error");continue}ft.push({id:d1(),name:mt.name,kind:"image",mime:mt.type,dataUrl:await uj(mt),size:mt.size}),qe-=1}else if(ee){if(mt.size>Yj){N(`${mt.name} is larger than 512 KB.`,"error");continue}ft.push({id:d1(),name:mt.name,kind:"text",mime:mt.type||"text/plain",text:await Kw(mt),size:mt.size}),qe-=1}else N(`Can't attach ${mt.name}. Use an image, text or code file.`,"error")}ft.length>0&&B(mt=>[...mt,...ft])},Et=async()=>{if(u||ue)return;const ce=e.trim();if(!(!ce&&U.length===0)){if(ce.startsWith("/")&&!U.length){const[qe,...ft]=ce.slice(1).split(/\s+/),mt=vm.find(sn=>sn.name===qe.toLowerCase());if(mt){const sn=ft.join(" ").trim();if(o){te(!0);try{await o(mt.name,sn)&&(i(""),requestAnimationFrame(()=>P.current?.focus()))}catch(ee){N(ee instanceof Error?ee.message:"That command failed.","error")}finally{te(!1)}return}}}te(!0),H(!1);try{await a(e,U)&&(i(""),B([]),requestAnimationFrame(()=>P.current?.focus()))}catch(qe){N(qe instanceof Error?qe.message:"The message could not be sent.","error")}finally{te(!1)}}},xt=(ce,qe)=>{if(qe){i(`/${ce} `),P.current?.focus();return}i(`/${ce}`),window.setTimeout(()=>{Be(`/${ce}`)},0)},Be=async ce=>{const[qe]=ce.slice(1).split(/\s+/),ft=vm.find(mt=>mt.name===qe.toLowerCase());if(!(!ft||!o)){te(!0);try{await o(ft.name,ce.slice(1).split(/\s+/).slice(1).join(" "))&&i("")}finally{te(!1)}}},ht=ce=>{if(fe.length>0){if(ce.key==="ArrowDown"){ce.preventDefault(),ae(qe=>(qe+1)%fe.length);return}if(ce.key==="ArrowUp"){ce.preventDefault(),ae(qe=>(qe-1+fe.length)%fe.length);return}if(ce.key==="Enter"&&!ce.shiftKey&&!ce.nativeEvent.isComposing){ce.preventDefault();const qe=fe[G];qe&&xt(qe.name,qe.takesArgs);return}if(ce.key==="Escape"){ce.preventDefault(),i("");return}}if(ce.key==="Enter"&&!ce.shiftKey&&!ce.nativeEvent.isComposing){if(ce.preventDefault(),u)return;Et()}ce.key==="Escape"&&H(!1)},We=ce=>{const qe=Array.from(ce.clipboardData.files);qe.length>0&&(ce.preventDefault(),De(qe))},Kt=ce=>{ce.preventDefault(),X(!1),De(Array.from(ce.dataTransfer.files))},Tn=!e.trim()&&U.length===0||ue||u,Rn=h===void 0?"":h>=95?"text-danger":h>=70?"text-warning":"text-faint";return c.jsxs("div",{className:"relative w-full",children:[c.jsx(Ij,{open:z&&me,onClose:()=>H(!1)}),fe.length>0&&c.jsxs("div",{className:"absolute bottom-[calc(100%+8px)] left-0 z-40 w-[min(94vw,360px)] overflow-hidden rounded-xl border border-line surface-lift shadow-float",children:[c.jsxs("div",{className:"flex items-center gap-1.5 border-b border-line px-3 py-2 text-[10px] font-medium uppercase tracking-[0.12em] text-faint",children:[c.jsx(NT,{size:10})," Commands"]}),fe.map((ce,qe)=>c.jsxs("button",{type:"button",onMouseDown:ft=>ft.preventDefault(),onClick:()=>xt(ce.name,ce.takesArgs),className:ne("flex w-full items-center gap-2 px-3 py-2 text-left",qe===G?"bg-accent-soft":"hover:bg-raised"),children:[c.jsx("span",{className:ne("font-mono text-[10.5px]",qe===G?"text-accent":"text-ink"),children:ce.usage}),c.jsx("span",{className:"min-w-0 flex-1 truncate text-[10px] text-faint",children:ce.description})]},ce.name))]}),c.jsxs("div",{className:"mb-2 flex flex-wrap items-center gap-1.5",children:[c.jsxs("button",{type:"button",onClick:()=>A(!0),className:"chip h-7 max-w-[220px] gap-1.5 px-2.5 text-[11px]",title:S.available?S.root:"Choose a project folder",children:[c.jsx(Wr,{size:12,className:"shrink-0 text-faint"}),c.jsx("span",{className:"truncate",children:S.available?S.name:"No folder"})]}),c.jsxs("button",{type:"button",onClick:()=>k(v.mode==="plan"?"build":"plan"),className:"chip h-7 gap-1.5 px-2.5 text-[11px]",title:v.mode==="plan"?"Switch to Build mode":"Switch to Plan mode (read-only)",children:[v.mode==="plan"?c.jsx(zh,{size:12,className:"text-faint"}):c.jsx(Ii,{size:12,className:"text-faint"}),v.mode==="plan"?"Plan mode":"Build mode"]}),c.jsxs("button",{type:"button",onClick:()=>y({webSearchEnabled:!v.webSearchEnabled}),className:ne("chip h-7 gap-1.5 px-2.5 text-[11px]",v.webSearchEnabled&&"chip-active"),title:"Allow OpenSol to search the web and read pages","aria-pressed":v.webSearchEnabled,children:[c.jsx(ns,{size:12}),"Search"]}),Re>0&&c.jsxs("button",{type:"button",onClick:()=>_("skills"),className:"chip h-7 gap-1 px-2.5 text-[11px]",title:"Manage loaded skills",children:[Re," skill",Re===1?"":"s"]})]}),c.jsxs("div",{onDragOver:ce=>{ce.dataTransfer.types.includes("Files")&&(ce.preventDefault(),X(!0))},onDragLeave:ce=>{ce.currentTarget.contains(ce.relatedTarget)||X(!1)},onDrop:Kt,className:ne("surface-lift composer-shadow relative rounded-2xl border transition-all duration-200",M||I?"border-accent/35":"border-line",u&&"composer-glow border-accent/30",I&&"ring-4 ring-accent/10"),children:[M&&!I&&c.jsx("div",{className:"pointer-events-none absolute inset-0 rounded-2xl ring-4 ring-accent/[0.03]","aria-hidden":"true"}),c.jsxs("div",{className:"relative px-3.5 pb-1 pt-3",children:[U.length>0&&c.jsx("div",{className:"flex flex-wrap gap-2 px-1 pb-2",children:U.map(ce=>ce.kind==="image"?c.jsxs("div",{className:"relative",children:[c.jsx("img",{src:ce.dataUrl,alt:ce.name,className:"h-14 w-14 rounded-lg border border-line object-cover"}),c.jsx("button",{type:"button",onClick:()=>B(qe=>qe.filter(ft=>ft.id!==ce.id)),className:"absolute -right-1.5 -top-1.5 flex h-[18px] w-[18px] items-center justify-center rounded-full border border-line bg-panel text-muted shadow-sm transition-colors hover:text-ink","aria-label":`Remove ${ce.name}`,children:c.jsx(ra,{size:10})})]},ce.id):c.jsxs("span",{className:"inline-flex h-8 max-w-[220px] items-center gap-1.5 rounded-lg border border-line bg-raised/70 pl-2 pr-1 text-[10.5px] text-muted",children:[c.jsx(ja,{size:11,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ce.name}),c.jsx("span",{className:"shrink-0 text-faint",children:Lo(ce.size)}),c.jsx("button",{type:"button",onClick:()=>B(qe=>qe.filter(ft=>ft.id!==ce.id)),className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-faint hover:bg-panel hover:text-ink","aria-label":`Remove ${ce.name}`,children:c.jsx(ra,{size:10})})]},ce.id))}),c.jsx("textarea",{ref:P,value:e,onChange:ce=>i(ce.target.value),onKeyDown:ht,onPaste:We,onFocus:()=>C(!0),onBlur:()=>C(!1),placeholder:g,rows:1,"aria-label":"Message OpenSol",className:"block w-full resize-none bg-transparent px-2 py-1.5 text-[15.5px] leading-[1.6] text-ink outline-none placeholder:text-faint",style:{minHeight:52,maxHeight:220}})]}),c.jsxs("div",{className:"flex items-end justify-between gap-2 px-2.5 pb-2 pt-1",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-0.5",children:[c.jsxs("div",{className:"relative",children:[c.jsxs("button",{ref:pe,type:"button",onClick:()=>de(ce=>!ce),className:"flex h-8 items-center gap-1.5 rounded-lg px-2 text-[11px] font-medium text-muted transition-colors hover:bg-raised hover:text-ink",title:"Choose how much OpenSol can do without asking","aria-expanded":J,children:[c.jsx(Jr,{size:13,className:"text-faint"}),Tj(He),c.jsx(ul,{size:11,className:ne("text-faint transition-transform",J&&"rotate-180")})]}),J&&c.jsxs("div",{ref:Le,className:"surface-lift absolute bottom-[calc(100%+8px)] left-0 z-40 w-[290px] overflow-hidden rounded-2xl border border-line p-1.5 shadow-float",children:[c.jsx("p",{className:"px-2 pb-1 pt-1.5 text-[10px] font-medium uppercase tracking-[0.1em] text-faint",children:"Permissions"}),eg.map(ce=>c.jsxs("button",{type:"button",onClick:()=>{y({tools:Qw(v.tools,ce.value)}),de(!1)},className:"flex w-full items-start gap-2 rounded-lg px-2 py-1.5 text-left transition-colors hover:bg-raised",children:[c.jsx("span",{className:"mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center",children:He===ce.value?c.jsx(Sn,{size:12,className:"text-accent"}):c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-line"})}),c.jsxs("span",{className:"min-w-0",children:[c.jsx("span",{className:"block text-[11.5px] font-medium text-ink",children:ce.label}),c.jsx("span",{className:"mt-0.5 block text-[10px] leading-relaxed text-faint",children:ce.description})]})]},ce.value))]})]}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",onClick:()=>re.current?.click(),title:"Attach images or text files","aria-label":"Attach files",children:c.jsx(sT,{size:15})}),c.jsx("input",{ref:re,type:"file",multiple:!0,accept:"image/png,image/jpeg,image/webp,image/gif,.md,.markdown,.txt,.ts,.tsx,.js,.jsx,.json,.css,.html,.py,.go,.rs,.rb,.java,.cs,.sh,.yml,.yaml,.toml,.sql",className:"hidden",onChange:ce=>{ce.target.files&&De(Array.from(ce.target.files)),ce.target.value=""}})]}),c.jsxs("div",{className:"flex min-w-0 shrink-0 items-center gap-1",children:[h!==void 0&&c.jsxs("span",{className:ne("hidden items-center gap-1 px-1 text-[10.5px] tabular-nums sm:flex",Rn),title:x,children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-current"}),h,"%"]}),c.jsx(Uj,{triggerRef:j,label:$e,open:z,disabled:!me,onClick:()=>H(ce=>!ce),efforts:ke,effort:v.effort,title:me?"Model deck: choose model and reasoning effort (Ctrl M)":"Add a provider key in Settings first"}),u?c.jsx("button",{type:"button",onClick:r,className:"flex h-8 w-8 items-center justify-center rounded-full bg-ink text-panel transition-opacity hover:opacity-85","aria-label":"Stop generating",title:"Stop",children:c.jsx($h,{size:11,fill:"currentColor"})}):c.jsx("button",{type:"button",onClick:()=>{Et()},disabled:Tn,className:ne("flex h-8 w-8 items-center justify-center rounded-full transition-all duration-150",Tn?"cursor-not-allowed bg-raised text-faint":"bg-accent text-on-accent hover:brightness-110"),"aria-label":"Send message",title:"Send (Enter)",children:ue?c.jsx("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-t-transparent"}):c.jsx(Kj,{})})]})]}),I&&c.jsxs("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-1.5 rounded-2xl border-2 border-dashed border-accent/45 bg-panel/95",children:[c.jsx(Ph,{size:18,className:"text-accent"}),c.jsx("p",{className:"text-[12px] font-medium text-ink",children:"Drop files to attach"}),c.jsx("p",{className:"text-[10.5px] text-faint",children:"Images up to 5 MB · text up to 512 KB"})]}),b&&c.jsx(ek,{mood:b,size:44,className:"pointer-events-none absolute -top-[34px] right-4 z-10 hidden sm:inline-flex"})]}),d&&c.jsxs("div",{className:"mt-2.5 flex items-center justify-between gap-4 px-2 text-[11px] text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Enter to send · Shift + Enter for a new line · / for commands"}),c.jsxs("span",{className:"flex items-center gap-1 sm:ml-auto",children:[c.jsx(Jr,{size:11}),"Local daemon · keys encrypted at rest"]})]})]})}function Kj(){return c.jsx("svg",{viewBox:"0 0 16 16",width:"15",height:"15",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M8 12.5V3.5M4.2 7.2L8 3.4l3.8 3.8",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function Vj(e,i){const a={};return(e[e.length-1]===""?[...e,""]:e).join((a.padRight?" ":"")+","+(a.padLeft===!1?"":" ")).trim()}const Xj=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Zj=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Qj={};function p1(e,i){return(Qj.jsx?Zj:Xj).test(e)}const Wj=/[ \t\n\f\r]/g;function Jj(e){return typeof e=="object"?e.type==="text"?m1(e.value):!1:m1(e)}function m1(e){return e.replace(Wj,"")===""}class Uo{constructor(i,a,r){this.normal=a,this.property=i,r&&(this.space=r)}}Uo.prototype.normal={};Uo.prototype.property={};Uo.prototype.space=void 0;function tk(e,i){const a={},r={};for(const o of e)Object.assign(a,o.property),Object.assign(r,o.normal);return new Uo(a,r,i)}function gh(e){return e.toLowerCase()}class Zn{constructor(i,a){this.attribute=a,this.property=i}}Zn.prototype.attribute="";Zn.prototype.booleanish=!1;Zn.prototype.boolean=!1;Zn.prototype.commaOrSpaceSeparated=!1;Zn.prototype.commaSeparated=!1;Zn.prototype.defined=!1;Zn.prototype.mustUseProperty=!1;Zn.prototype.number=!1;Zn.prototype.overloadedBoolean=!1;Zn.prototype.property="";Zn.prototype.spaceSeparated=!1;Zn.prototype.space=void 0;let eM=0;const Qe=is(),an=is(),xh=is(),xe=is(),zt=is(),Qr=is(),ri=is();function is(){return 2**++eM}const bh=Object.freeze(Object.defineProperty({__proto__:null,boolean:Qe,booleanish:an,commaOrSpaceSeparated:ri,commaSeparated:Qr,number:xe,overloadedBoolean:xh,spaceSeparated:zt},Symbol.toStringTag,{value:"Module"})),wm=Object.keys(bh);class ng extends Zn{constructor(i,a,r,o){let u=-1;if(super(i,a),h1(this,"space",o),typeof r=="number")for(;++u<wm.length;){const d=wm[u];h1(this,wm[u],(r&bh[d])===bh[d])}}}ng.prototype.defined=!0;function h1(e,i,a){a&&(e[i]=a)}function pl(e){const i={},a={};for(const[r,o]of Object.entries(e.properties)){const u=new ng(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(u.mustUseProperty=!0),i[r]=u,a[gh(r)]=r,a[gh(u.attribute)]=r}return new Uo(i,a,e.space)}const nk=pl({properties:{ariaActiveDescendant:null,ariaAtomic:an,ariaAutoComplete:null,ariaBusy:an,ariaChecked:an,ariaColCount:xe,ariaColIndex:xe,ariaColSpan:xe,ariaControls:zt,ariaCurrent:null,ariaDescribedBy:zt,ariaDetails:null,ariaDisabled:an,ariaDropEffect:zt,ariaErrorMessage:null,ariaExpanded:an,ariaFlowTo:zt,ariaGrabbed:an,ariaHasPopup:null,ariaHidden:an,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:zt,ariaLevel:xe,ariaLive:null,ariaModal:an,ariaMultiLine:an,ariaMultiSelectable:an,ariaOrientation:null,ariaOwns:zt,ariaPlaceholder:null,ariaPosInSet:xe,ariaPressed:an,ariaReadOnly:an,ariaRelevant:null,ariaRequired:an,ariaRoleDescription:zt,ariaRowCount:xe,ariaRowIndex:xe,ariaRowSpan:xe,ariaSelected:an,ariaSetSize:xe,ariaSort:null,ariaValueMax:xe,ariaValueMin:xe,ariaValueNow:xe,ariaValueText:null,role:null},transform(e,i){return i==="role"?i:"aria-"+i.slice(4).toLowerCase()}});function ik(e,i){return i in e?e[i]:i}function ak(e,i){return ik(e,i.toLowerCase())}const tM=pl({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Qr,acceptCharset:zt,accessKey:zt,action:null,allow:null,allowFullScreen:Qe,allowPaymentRequest:Qe,allowUserMedia:Qe,alpha:Qe,alt:null,as:null,async:Qe,autoCapitalize:null,autoComplete:zt,autoFocus:Qe,autoPlay:Qe,blocking:zt,capture:null,charSet:null,checked:Qe,cite:null,className:zt,closedBy:null,colorSpace:null,cols:xe,colSpan:xe,command:null,commandFor:null,content:null,contentEditable:an,controls:Qe,controlsList:zt,coords:xe|Qr,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Qe,defer:Qe,dir:null,dirName:null,disabled:Qe,download:xh,draggable:an,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Qe,formTarget:null,headers:zt,height:xe,hidden:xh,high:xe,href:null,hrefLang:null,htmlFor:zt,httpEquiv:zt,id:null,imageSizes:null,imageSrcSet:null,inert:Qe,inputMode:null,integrity:null,is:null,isMap:Qe,itemId:null,itemProp:zt,itemRef:zt,itemScope:Qe,itemType:zt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Qe,low:xe,manifest:null,max:null,maxLength:xe,media:null,method:null,min:null,minLength:xe,multiple:Qe,muted:Qe,name:null,nonce:null,noModule:Qe,noValidate:Qe,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Qe,optimum:xe,pattern:null,ping:zt,placeholder:null,playsInline:Qe,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Qe,referrerPolicy:null,rel:zt,required:Qe,reversed:Qe,rows:xe,rowSpan:xe,sandbox:zt,scope:null,scoped:Qe,seamless:Qe,selected:Qe,shadowRootClonable:Qe,shadowRootCustomElementRegistry:Qe,shadowRootDelegatesFocus:Qe,shadowRootMode:null,shadowRootSerializable:Qe,shape:null,size:xe,sizes:null,slot:null,span:xe,spellCheck:an,src:null,srcDoc:null,srcLang:null,srcSet:null,start:xe,step:null,style:null,tabIndex:xe,target:null,title:null,translate:null,type:null,typeMustMatch:Qe,useMap:null,value:an,width:xe,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:zt,axis:null,background:null,bgColor:null,border:xe,borderColor:null,bottomMargin:xe,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Qe,declare:Qe,event:null,face:null,frame:null,frameBorder:null,hSpace:xe,leftMargin:xe,link:null,longDesc:null,lowSrc:null,marginHeight:xe,marginWidth:xe,noResize:Qe,noHref:Qe,noShade:Qe,noWrap:Qe,object:null,profile:null,prompt:null,rev:null,rightMargin:xe,rules:null,scheme:null,scrolling:an,standby:null,summary:null,text:null,topMargin:xe,valueType:null,version:null,vAlign:null,vLink:null,vSpace:xe,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Qe,disablePictureInPicture:Qe,disableRemotePlayback:Qe,exportParts:Qr,part:zt,prefix:null,property:null,results:xe,security:null,unselectable:null},space:"html",transform:ak}),nM=pl({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:ri,accentHeight:xe,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:xe,amplitude:xe,arabicForm:null,ascent:xe,attributeName:null,attributeType:null,azimuth:xe,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:xe,by:null,calcMode:null,capHeight:xe,className:zt,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:xe,diffuseConstant:xe,direction:null,display:null,dur:null,divisor:xe,dominantBaseline:null,download:Qe,dx:null,dy:null,edgeMode:null,editable:null,elevation:xe,enableBackground:null,end:null,event:null,exponent:xe,externalResourcesRequired:null,fill:null,fillOpacity:xe,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Qr,g2:Qr,glyphName:Qr,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:xe,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:xe,horizOriginX:xe,horizOriginY:xe,id:null,ideographic:xe,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:xe,k:xe,k1:xe,k2:xe,k3:xe,k4:xe,kernelMatrix:ri,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:xe,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:xe,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:xe,overlineThickness:xe,paintOrder:null,panose1:null,path:null,pathLength:xe,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:zt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:xe,pointsAtY:xe,pointsAtZ:xe,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ri,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ri,rev:ri,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ri,requiredFeatures:ri,requiredFonts:ri,requiredFormats:ri,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:xe,specularExponent:xe,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:xe,strikethroughThickness:xe,string:null,stroke:null,strokeDashArray:ri,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:xe,strokeOpacity:xe,strokeWidth:null,style:null,surfaceScale:xe,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ri,tabIndex:xe,tableValues:null,target:null,targetX:xe,targetY:xe,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ri,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:xe,underlineThickness:xe,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:xe,values:null,vAlphabetic:xe,vMathematical:xe,vectorEffect:null,vHanging:xe,vIdeographic:xe,version:null,vertAdvY:xe,vertOriginX:xe,vertOriginY:xe,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:xe,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:ik}),rk=pl({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,i){return"xlink:"+i.slice(5).toLowerCase()}}),sk=pl({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:ak}),lk=pl({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,i){return"xml:"+i.slice(3).toLowerCase()}}),iM={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},aM=/[A-Z]/g,g1=/-[a-z]/g,rM=/^data[-\w.:]+$/i;function sM(e,i){const a=gh(i);let r=i,o=Zn;if(a in e.normal)return e.property[e.normal[a]];if(a.length>4&&a.slice(0,4)==="data"&&rM.test(i)){if(i.charAt(4)==="-"){const u=i.slice(5).replace(g1,oM);r="data"+u.charAt(0).toUpperCase()+u.slice(1)}else{const u=i.slice(4);if(!g1.test(u)){let d=u.replace(aM,lM);d.charAt(0)!=="-"&&(d="-"+d),i="data"+d}}o=ng}return new o(r,i)}function lM(e){return"-"+e.toLowerCase()}function oM(e){return e.charAt(1).toUpperCase()}const cM=tk([nk,tM,rk,sk,lk],"html"),ig=tk([nk,nM,rk,sk,lk],"svg");function uM(e){return e.join(" ").trim()}var Xs={},km,x1;function dM(){if(x1)return km;x1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,i=/\n/g,a=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,u=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,d=/^[;\s]*/,p=/^\s+|\s+$/g,g=`
|
|
248
|
-
`,h="/",x="*",b="",v="comment",y="declaration";function k(_,T){if(typeof _!="string")throw new TypeError("First argument must be a string");if(!_)return[];T=T||{};var A=1,S=1;function U(ue){var te=ue.match(i);te&&(A+=te.length);var G=ue.lastIndexOf(g);S=~G?ue.length-G:S+ue.length}function B(){var ue={line:A,column:S};return function(te){return te.position=new M(ue),X(),te}}function M(ue){this.start=ue,this.end={line:A,column:S},this.source=T.source}M.prototype.content=_;function C(ue){var te=new Error(T.source+":"+A+":"+S+": "+ue);if(te.reason=ue,te.filename=T.source,te.line=A,te.column=S,te.source=_,!T.silent)throw te}function I(ue){var te=ue.exec(_);if(te){var G=te[0];return U(G),_=_.slice(G.length),te}}function X(){I(a)}function z(ue){var te;for(ue=ue||[];te=H();)te!==!1&&ue.push(te);return ue}function H(){var ue=B();if(!(h!=_.charAt(0)||x!=_.charAt(1))){for(var te=2;b!=_.charAt(te)&&(x!=_.charAt(te)||h!=_.charAt(te+1));)++te;if(te+=2,b===_.charAt(te-1))return C("End of comment missing");var G=_.slice(2,te-2);return S+=2,U(G),_=_.slice(te),S+=2,ue({type:v,comment:G})}}function J(){var ue=B(),te=I(r);if(te){if(H(),!I(o))return C("property missing ':'");var G=I(u),ae=ue({type:y,property:N(te[0].replace(e,b)),value:G?N(G[0].replace(e,b)):b});return I(d),ae}}function de(){var ue=[];z(ue);for(var te;te=J();)te!==!1&&(ue.push(te),z(ue));return ue}return X(),de()}function N(_){return _?_.replace(p,b):b}return km=k,km}var b1;function fM(){if(b1)return Xs;b1=1;var e=Xs&&Xs.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Xs,"__esModule",{value:!0}),Xs.default=a;const i=e(dM());function a(r,o){let u=null;if(!r||typeof r!="string")return u;const d=(0,i.default)(r),p=typeof o=="function";return d.forEach(g=>{if(g.type!=="declaration")return;const{property:h,value:x}=g;p?o(h,x,g):x&&(u=u||{},u[h]=x)}),u}return Xs}var po={},y1;function pM(){if(y1)return po;y1=1,Object.defineProperty(po,"__esModule",{value:!0}),po.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,i=/-([a-z])/g,a=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,u=function(h){return!h||a.test(h)||e.test(h)},d=function(h,x){return x.toUpperCase()},p=function(h,x){return"".concat(x,"-")},g=function(h,x){return x===void 0&&(x={}),u(h)?h:(h=h.toLowerCase(),x.reactCompat?h=h.replace(o,p):h=h.replace(r,p),h.replace(i,d))};return po.camelCase=g,po}var mo,v1;function mM(){if(v1)return mo;v1=1;var e=mo&&mo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},i=e(fM()),a=pM();function r(o,u){var d={};return!o||typeof o!="string"||(0,i.default)(o,function(p,g){p&&g&&(d[(0,a.camelCase)(p,u)]=g)}),d}return r.default=r,mo=r,mo}var hM=mM();const gM=td(hM),ok=ck("end"),ag=ck("start");function ck(e){return i;function i(a){const r=a&&a.position&&a.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function xM(e){const i=ag(e),a=ok(e);if(i&&a)return{start:i,end:a}}function _o(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?w1(e.position):"start"in e||"end"in e?w1(e):"line"in e||"column"in e?yh(e):""}function yh(e){return k1(e&&e.line)+":"+k1(e&&e.column)}function w1(e){return yh(e&&e.start)+"-"+yh(e&&e.end)}function k1(e){return e&&typeof e=="number"?e:1}class Mn extends Error{constructor(i,a,r){super(),typeof a=="string"&&(r=a,a=void 0);let o="",u={},d=!1;if(a&&("line"in a&&"column"in a?u={place:a}:"start"in a&&"end"in a?u={place:a}:"type"in a?u={ancestors:[a],place:a.position}:u={...a}),typeof i=="string"?o=i:!u.cause&&i&&(d=!0,o=i.message,u.cause=i),!u.ruleId&&!u.source&&typeof r=="string"){const g=r.indexOf(":");g===-1?u.ruleId=r:(u.source=r.slice(0,g),u.ruleId=r.slice(g+1))}if(!u.place&&u.ancestors&&u.ancestors){const g=u.ancestors[u.ancestors.length-1];g&&(u.place=g.position)}const p=u.place&&"start"in u.place?u.place.start:u.place;this.ancestors=u.ancestors||void 0,this.cause=u.cause||void 0,this.column=p?p.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=p?p.line:void 0,this.name=_o(u.place)||"1:1",this.place=u.place||void 0,this.reason=this.message,this.ruleId=u.ruleId||void 0,this.source=u.source||void 0,this.stack=d&&u.cause&&typeof u.cause.stack=="string"?u.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Mn.prototype.file="";Mn.prototype.name="";Mn.prototype.reason="";Mn.prototype.message="";Mn.prototype.stack="";Mn.prototype.column=void 0;Mn.prototype.line=void 0;Mn.prototype.ancestors=void 0;Mn.prototype.cause=void 0;Mn.prototype.fatal=void 0;Mn.prototype.place=void 0;Mn.prototype.ruleId=void 0;Mn.prototype.source=void 0;const rg={}.hasOwnProperty,bM=new Map,yM=/[A-Z]/g,vM=new Set(["table","tbody","thead","tfoot","tr"]),wM=new Set(["td","th"]),uk="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function kM(e,i){if(!i||i.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const a=i.filePath||void 0;let r;if(i.development){if(typeof i.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=OM(a,i.jsxDEV)}else{if(typeof i.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof i.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=AM(a,i.jsx,i.jsxs)}const o={Fragment:i.Fragment,ancestors:[],components:i.components||{},create:r,elementAttributeNameCase:i.elementAttributeNameCase||"react",evaluater:i.createEvaluater?i.createEvaluater():void 0,filePath:a,ignoreInvalidStyle:i.ignoreInvalidStyle||!1,passKeys:i.passKeys!==!1,passNode:i.passNode||!1,schema:i.space==="svg"?ig:cM,stylePropertyNameCase:i.stylePropertyNameCase||"dom",tableCellAlignToStyle:i.tableCellAlignToStyle!==!1},u=dk(o,e,void 0);return u&&typeof u!="string"?u:o.create(e,o.Fragment,{children:u||void 0},void 0)}function dk(e,i,a){if(i.type==="element")return EM(e,i,a);if(i.type==="mdxFlowExpression"||i.type==="mdxTextExpression")return _M(e,i);if(i.type==="mdxJsxFlowElement"||i.type==="mdxJsxTextElement")return SM(e,i,a);if(i.type==="mdxjsEsm")return NM(e,i);if(i.type==="root")return TM(e,i,a);if(i.type==="text")return CM(e,i)}function EM(e,i,a){const r=e.schema;let o=r;i.tagName.toLowerCase()==="svg"&&r.space==="html"&&(o=ig,e.schema=o),e.ancestors.push(i);const u=pk(e,i.tagName,!1),d=jM(e,i);let p=lg(e,i);return vM.has(i.tagName)&&(p=p.filter(function(g){return typeof g=="string"?!Jj(g):!0})),fk(e,d,u,i),sg(d,p),e.ancestors.pop(),e.schema=r,e.create(i,u,d,a)}function _M(e,i){if(i.data&&i.data.estree&&e.evaluater){const r=i.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Mo(e,i.position)}function NM(e,i){if(i.data&&i.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(i.data.estree);Mo(e,i.position)}function SM(e,i,a){const r=e.schema;let o=r;i.name==="svg"&&r.space==="html"&&(o=ig,e.schema=o),e.ancestors.push(i);const u=i.name===null?e.Fragment:pk(e,i.name,!0),d=MM(e,i),p=lg(e,i);return fk(e,d,u,i),sg(d,p),e.ancestors.pop(),e.schema=r,e.create(i,u,d,a)}function TM(e,i,a){const r={};return sg(r,lg(e,i)),e.create(i,e.Fragment,r,a)}function CM(e,i){return i.value}function fk(e,i,a,r){typeof a!="string"&&a!==e.Fragment&&e.passNode&&(i.node=r)}function sg(e,i){if(i.length>0){const a=i.length>1?i:i[0];a&&(e.children=a)}}function AM(e,i,a){return r;function r(o,u,d,p){const h=Array.isArray(d.children)?a:i;return p?h(u,d,p):h(u,d)}}function OM(e,i){return a;function a(r,o,u,d){const p=Array.isArray(u.children),g=ag(r);return i(o,u,d,p,{columnNumber:g?g.column-1:void 0,fileName:e,lineNumber:g?g.line:void 0},void 0)}}function jM(e,i){const a={};let r,o;for(o in i.properties)if(o!=="children"&&rg.call(i.properties,o)){const u=RM(e,o,i.properties[o]);if(u){const[d,p]=u;e.tableCellAlignToStyle&&d==="align"&&typeof p=="string"&&wM.has(i.tagName)?r=p:a[d]=p}}if(r){const u=a.style||(a.style={});u[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return a}function MM(e,i){const a={};for(const r of i.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const u=r.data.estree.body[0];u.type;const d=u.expression;d.type;const p=d.properties[0];p.type,Object.assign(a,e.evaluater.evaluateExpression(p.argument))}else Mo(e,i.position);else{const o=r.name;let u;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const p=r.value.data.estree.body[0];p.type,u=e.evaluater.evaluateExpression(p.expression)}else Mo(e,i.position);else u=r.value===null?!0:r.value;a[o]=u}return a}function lg(e,i){const a=[];let r=-1;const o=e.passKeys?new Map:bM;for(;++r<i.children.length;){const u=i.children[r];let d;if(e.passKeys){const g=u.type==="element"?u.tagName:u.type==="mdxJsxFlowElement"||u.type==="mdxJsxTextElement"?u.name:void 0;if(g){const h=o.get(g)||0;d=g+"-"+h,o.set(g,h+1)}}const p=dk(e,u,d);p!==void 0&&a.push(p)}return a}function RM(e,i,a){const r=sM(e.schema,i);if(!(a==null||typeof a=="number"&&Number.isNaN(a))){if(Array.isArray(a)&&(a=r.commaSeparated?Vj(a):uM(a)),r.property==="style"){let o=typeof a=="object"?a:DM(e,String(a));return e.stylePropertyNameCase==="css"&&(o=zM(o)),["style",o]}return[e.elementAttributeNameCase==="react"&&r.space?iM[r.property]||r.property:r.attribute,a]}}function DM(e,i){try{return gM(i,{reactCompat:!0})}catch(a){if(e.ignoreInvalidStyle)return{};const r=a,o=new Mn("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=e.filePath||void 0,o.url=uk+"#cannot-parse-style-attribute",o}}function pk(e,i,a){let r;if(!a)r={type:"Literal",value:i};else if(i.includes(".")){const o=i.split(".");let u=-1,d;for(;++u<o.length;){const p=p1(o[u])?{type:"Identifier",name:o[u]}:{type:"Literal",value:o[u]};d=d?{type:"MemberExpression",object:d,property:p,computed:!!(u&&p.type==="Literal"),optional:!1}:p}r=d}else r=p1(i)&&!/^[a-z]/.test(i)?{type:"Identifier",name:i}:{type:"Literal",value:i};if(r.type==="Literal"){const o=r.value;return rg.call(e.components,o)?e.components[o]:o}if(e.evaluater)return e.evaluater.evaluateExpression(r);Mo(e)}function Mo(e,i){const a=new Mn("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:i,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw a.file=e.filePath||void 0,a.url=uk+"#cannot-handle-mdx-estrees-without-createevaluater",a}function zM(e){const i={};let a;for(a in e)rg.call(e,a)&&(i[LM(a)]=e[a]);return i}function LM(e){let i=e.replace(yM,IM);return i.slice(0,3)==="ms-"&&(i="-"+i),i}function IM(e){return"-"+e.toLowerCase()}const Em={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},UM={};function og(e,i){const a=UM,r=typeof a.includeImageAlt=="boolean"?a.includeImageAlt:!0,o=typeof a.includeHtml=="boolean"?a.includeHtml:!0;return mk(e,r,o)}function mk(e,i,a){if(BM(e)){if("value"in e)return e.type==="html"&&!a?"":e.value;if(i&&"alt"in e&&e.alt)return e.alt;if("children"in e)return E1(e.children,i,a)}return Array.isArray(e)?E1(e,i,a):""}function E1(e,i,a){const r=[];let o=-1;for(;++o<e.length;)r[o]=mk(e[o],i,a);return r.join("")}function BM(e){return!!(e&&typeof e=="object")}const _1=document.createElement("i");function cg(e){const i="&"+e+";";_1.innerHTML=i;const a=_1.textContent;return a.charCodeAt(a.length-1)===59&&e!=="semi"||a===i?!1:a}function zi(e,i,a,r){const o=e.length;let u=0,d;if(i<0?i=-i>o?0:o+i:i=i>o?o:i,a=a>0?a:0,r.length<1e4)d=Array.from(r),d.unshift(i,a),e.splice(...d);else for(a&&e.splice(i,a);u<r.length;)d=r.slice(u,u+1e4),d.unshift(i,0),e.splice(...d),u+=1e4,i+=1e4}function bi(e,i){return e.length>0?(zi(e,e.length,0,i),e):i}const N1={}.hasOwnProperty;function hk(e){const i={};let a=-1;for(;++a<e.length;)$M(i,e[a]);return i}function $M(e,i){let a;for(a in i){const o=(N1.call(e,a)?e[a]:void 0)||(e[a]={}),u=i[a];let d;if(u)for(d in u){N1.call(o,d)||(o[d]=[]);const p=u[d];HM(o[d],Array.isArray(p)?p:p?[p]:[])}}}function HM(e,i){let a=-1;const r=[];for(;++a<i.length;)(i[a].add==="after"?e:r).push(i[a]);zi(e,0,0,r)}function gk(e,i){const a=Number.parseInt(e,i);return a<9||a===11||a>13&&a<32||a>126&&a<160||a>55295&&a<57344||a>64975&&a<65008||(a&65535)===65535||(a&65535)===65534||a>1114111?"�":String.fromCodePoint(a)}function Li(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const $n=Er(/[A-Za-z]/),On=Er(/[\dA-Za-z]/),PM=Er(/[#-'*+\--9=?A-Z^-~]/);function Ku(e){return e!==null&&(e<32||e===127)}const vh=Er(/\d/),FM=Er(/[\dA-Fa-f]/),qM=Er(/[!-/:-@[-`{-~]/);function Pe(e){return e!==null&&e<-2}function Lt(e){return e!==null&&(e<0||e===32)}function it(e){return e===-2||e===-1||e===32}const wd=Er(/\p{P}|\p{S}/u),ts=Er(/\s/);function Er(e){return i;function i(a){return a!==null&&a>-1&&e.test(String.fromCharCode(a))}}function ml(e){const i=[];let a=-1,r=0,o=0;for(;++a<e.length;){const u=e.charCodeAt(a);let d="";if(u===37&&On(e.charCodeAt(a+1))&&On(e.charCodeAt(a+2)))o=2;else if(u<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(u))||(d=String.fromCharCode(u));else if(u>55295&&u<57344){const p=e.charCodeAt(a+1);u<56320&&p>56319&&p<57344?(d=String.fromCharCode(u,p),o=1):d="�"}else d=String.fromCharCode(u);d&&(i.push(e.slice(r,a),encodeURIComponent(d)),r=a+o+1,d=""),o&&(a+=o,o=0)}return i.join("")+e.slice(r)}function gt(e,i,a,r){const o=r?r-1:1/0;let u=0;return d;function d(g){return it(g)?(e.enter(a),p(g)):i(g)}function p(g){return it(g)&&u++<o?(e.consume(g),p):(e.exit(a),i(g))}}function xk(e,i,a,r,o,u){let d=0;return p;function p(x){return it(x)?(e.enter(r),g(x)):h(x)}function g(x){return it(x)&&d<u?(e.consume(x),d++,g):(e.exit(r),h(x))}function h(x){return d>=o?i(x):a(x)}}const GM={tokenize:YM};function YM(e){const i=e.attempt(this.parser.constructs.contentInitial,r,o);let a;return i;function r(p){if(p===null){e.consume(p);return}return e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),gt(e,i,"linePrefix")}function o(p){return e.enter("paragraph"),u(p)}function u(p){const g=e.enter("chunkText",{contentType:"text",previous:a});return a&&(a.next=g),a=g,d(p)}function d(p){if(p===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(p);return}return Pe(p)?(e.consume(p),e.exit("chunkText"),u):(e.consume(p),d)}}let Vu=class{constructor(){this.index=new Map,this.map=[]}add(i,a,r){S1(this,i,a,r,!1)}addBefore(i,a,r){S1(this,i,a,r,!0)}consume(i){if(this.map.sort(function(u,d){return u[0]-d[0]}),this.map.length===0)return;let a=this.map.length;const r=[];for(;a>0;)a-=1,r.push(i.slice(this.map[a][0]+this.map[a][1]),this.map[a][2]),i.length=this.map[a][0];r.push(i.slice()),i.length=0;let o=r.pop();for(;o;){for(const u of o)i.push(u);o=r.pop()}this.map.length=0,this.index.clear()}};function S1(e,i,a,r,o){if(a===0&&r.length===0)return;const u=e.index.get(i);if(u){u[1]+=a,o?(r.push(...u[2]),u[2]=r):u[2].push(...r);return}const d=[i,a,r];e.map.push(d),e.index.set(i,d)}const KM={tokenize:VM},T1={tokenize:XM};function VM(e){const i=this,a=[];let r=0,o,u,d;return p;function p(S){if(r<a.length){const U=a[r];return i.containerState=U[1],e.attempt(U[0].continuation,g,h)(S)}return h(S)}function g(S){if(r++,i.containerState._closeFlow){i.containerState._closeFlow=void 0,o&&A();const U=i.events.length;let B=U,M;for(;B--;)if(i.events[B][0]==="exit"&&i.events[B][1].type==="chunkFlow"){M=i.events[B][1].end;break}T(r);let C=U;for(;C<i.events.length;)i.events[C][1].end={...M},C++;const I=new Vu;return I.add(B+1,0,i.events.slice(U)),I.add(U,C-U,[]),I.consume(i.events),h(S)}return p(S)}function h(S){if(r===a.length){if(!o)return v(S);if(o.currentConstruct&&o.currentConstruct.concrete)return k(S);i.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return i.containerState={},e.check(T1,x,b)(S)}function x(S){return o&&A(),T(r),v(S)}function b(S){return i.parser.lazy[i.now().line]=r!==a.length,d=i.now().offset,k(S)}function v(S){return i.containerState={},e.attempt(T1,y,k)(S)}function y(S){return r++,a.push([i.currentConstruct,i.containerState]),v(S)}function k(S){if(S===null){o&&A(),T(0),e.consume(S);return}return o=o||i.parser.flow(i.now()),e.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:u}),N(S)}function N(S){if(S===null){_(e.exit("chunkFlow"),!0),T(0),e.consume(S);return}return Pe(S)?(e.consume(S),_(e.exit("chunkFlow")),r=0,i.interrupt=void 0,p):(e.consume(S),N)}function _(S,U){const B=i.sliceStream(S);if(U&&B.push(null),S.previous=u,u&&(u.next=S),u=S,o.defineSkip(S.start),o.write(B),i.parser.lazy[S.start.line]){let M=o.events.length;for(;M--;)if(o.events[M][1].start.offset<d&&(!o.events[M][1].end||o.events[M][1].end.offset>d))return;const C=i.events.length;let I=C,X,z;for(;I--;)if(i.events[I][0]==="exit"&&i.events[I][1].type==="chunkFlow"){if(X){z=i.events[I][1].end;break}X=!0}for(T(r),M=C;M<i.events.length;)i.events[M][1].end={...z},M++;const H=new Vu;H.add(I+1,0,i.events.slice(C)),H.add(C,M-C,[]),H.consume(i.events)}}function T(S){let U=a.length;for(;U-- >S;){const B=a[U];i.containerState=B[1],B[0].exit.call(i,e)}a.length=S}function A(){o.write([null]),u=void 0,o=void 0,i.containerState._closeFlow=void 0}}function XM(e,i,a){return gt(e,e.attempt(this.parser.constructs.document,i,a),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Xu(e){if(e===null||Lt(e)||ts(e))return 1;if(wd(e))return 2}function kd(e,i,a){const r=[];let o=-1;for(;++o<e.length;){const u=e[o].resolveAll;u&&!r.includes(u)&&(i=u(i,a),r.push(u))}return i}const wh={name:"attention",resolveAll:ZM,tokenize:QM};function ZM(e,i){let a=-1,r;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){let o=a;for(;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&i.sliceSerialize(e[o][1]).charCodeAt(0)===i.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;const u=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1,d={...e[o][1].end},p={...e[a][1].start};C1(d,-u),C1(p,u);const g={type:u>1?"strongSequence":"emphasisSequence",start:d,end:{...e[o][1].end}},h={type:u>1?"strongSequence":"emphasisSequence",start:{...e[a][1].start},end:p},x={type:u>1?"strongText":"emphasisText",start:{...e[o][1].end},end:{...e[a][1].start}},b={type:u>1?"strong":"emphasis",start:{...g.start},end:{...h.end}};e[o][1].end={...g.start},e[a][1].start={...h.end},r=[],e[o][1].end.offset-e[o][1].start.offset&&(r=bi(r,[["enter",e[o][1],i],["exit",e[o][1],i]])),r=bi(r,[["enter",b,i],["enter",g,i],["exit",g,i],["enter",x,i]]),r=bi(r,kd(i.parser.constructs.insideSpan.null,e.slice(o+1,a),i)),r=bi(r,[["exit",x,i],["enter",h,i],["exit",h,i],["exit",b,i]]);let v=0;e[a][1].end.offset-e[a][1].start.offset&&(v=2,r=bi(r,[["enter",e[a][1],i],["exit",e[a][1],i]])),zi(e,o-1,a-o+3,r),a=o+r.length-v-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function QM(e,i){const a=this.parser.constructs.attentionMarkers.null,r=this.previous,o=Xu(r);let u;return d;function d(g){return u=g,e.enter("attentionSequence"),p(g)}function p(g){if(g===u)return e.consume(g),p;const h=e.exit("attentionSequence"),x=Xu(g),b=!x||x===2&&o||a.includes(g)&&g!==42&&g!==95,v=!o||o===2&&x||a.includes(r)&&r!==42&&r!==95;return h._open=!!(u===42?b:b&&(o||!v)),h._close=!!(u===42?v:v&&(x||!b)),i(g)}}function C1(e,i){e.column+=i,e.offset+=i,e._bufferIndex+=i}const WM={name:"autolink",tokenize:JM};function JM(e,i,a){let r=0;return o;function o(y){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),u}function u(y){return $n(y)?(e.consume(y),d):y===64?a(y):h(y)}function d(y){return y===43||y===45||y===46||On(y)?(r=1,p(y)):h(y)}function p(y){return y===58?(e.consume(y),r=0,g):(y===43||y===45||y===46||On(y))&&r++<32?(e.consume(y),p):(r=0,h(y))}function g(y){return y===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),i):y===null||y===32||y===60||Ku(y)?a(y):(e.consume(y),g)}function h(y){return y===64?(e.consume(y),x):PM(y)?(e.consume(y),h):a(y)}function x(y){return On(y)?b(y):a(y)}function b(y){return y===46?(e.consume(y),r=0,x):y===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),i):v(y)}function v(y){if((y===45||On(y))&&r++<63){const k=y===45?v:b;return e.consume(y),k}return a(y)}}const Bo={partial:!0,tokenize:eR};function eR(e,i,a){return r;function r(u){return it(u)?gt(e,o,"linePrefix")(u):o(u)}function o(u){return u===null||Pe(u)?i(u):a(u)}}const bk={continuation:{tokenize:nR},exit:iR,name:"blockQuote",tokenize:tR};function tR(e,i,a){const r=this;return o;function o(d){if(d===62){const p=r.containerState;return p.open||(e.enter("blockQuote",{_container:!0}),p.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(d),e.exit("blockQuoteMarker"),u}return a(d)}function u(d){return it(d)?(e.enter("blockQuotePrefixWhitespace"),e.consume(d),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),i):(e.exit("blockQuotePrefix"),i(d))}}function nR(e,i,a){const r=this;return o;function o(d){return it(d)?gt(e,u,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d):u(d)}function u(d){return e.attempt(bk,i,a)(d)}}function iR(e){e.exit("blockQuote")}const yk={name:"characterEscape",tokenize:aR};function aR(e,i,a){return r;function r(u){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(u),e.exit("escapeMarker"),o}function o(u){return qM(u)?(e.enter("characterEscapeValue"),e.consume(u),e.exit("characterEscapeValue"),e.exit("characterEscape"),i):a(u)}}const vk={name:"characterReference",tokenize:rR};function rR(e,i,a){const r=this;let o=0,u,d;return p;function p(b){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(b),e.exit("characterReferenceMarker"),g}function g(b){return b===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(b),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),u=31,d=On,x(b))}function h(b){return b===88||b===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(b),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),u=6,d=FM,x):(e.enter("characterReferenceValue"),u=7,d=vh,x(b))}function x(b){if(b===59&&o){const v=e.exit("characterReferenceValue");return d===On&&!cg(r.sliceSerialize(v))?a(b):(e.enter("characterReferenceMarker"),e.consume(b),e.exit("characterReferenceMarker"),e.exit("characterReference"),i)}return d(b)&&o++<u?(e.consume(b),x):a(b)}}const kh={partial:!0,tokenize:sR};function sR(e,i,a){const r=this;return o;function o(d){return d===null?a(d):(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),u)}function u(d){return r.parser.lazy[r.now().line]?a(d):i(d)}}const A1={concrete:!0,name:"codeFenced",tokenize:lR};function lR(e,i,a){const r=this,o={partial:!0,tokenize:B};let u=0,d=0,p;return g;function g(M){return h(M)}function h(M){const C=r.events[r.events.length-1];return u=C&&C[1].type==="linePrefix"?C[2].sliceSerialize(C[1],!0).length:0,p=M,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),x(M)}function x(M){return M===p?(d++,e.consume(M),x):d<3?a(M):(e.exit("codeFencedFenceSequence"),it(M)?gt(e,b,"whitespace")(M):b(M))}function b(M){return M===null||Pe(M)?(e.exit("codeFencedFence"),r.interrupt?i(M):e.check(kh,N,U)(M)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),v(M))}function v(M){return M===null||Pe(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),b(M)):it(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),gt(e,y,"whitespace")(M)):M===96&&M===p?a(M):(e.consume(M),v)}function y(M){return M===null||Pe(M)?b(M):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),k(M))}function k(M){return M===null||Pe(M)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),b(M)):M===96&&M===p?a(M):(e.consume(M),k)}function N(M){return e.attempt(o,U,_)(M)}function _(M){return e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),T}function T(M){return u>0&&it(M)?gt(e,A,"linePrefix",u+1)(M):A(M)}function A(M){return M===null||Pe(M)?e.check(kh,N,U)(M):(e.enter("codeFlowValue"),S(M))}function S(M){return M===null||Pe(M)?(e.exit("codeFlowValue"),A(M)):(e.consume(M),S)}function U(M){return e.exit("codeFenced"),i(M)}function B(M,C,I){let X=0;return z;function z(te){return M.enter("lineEnding"),M.consume(te),M.exit("lineEnding"),H}function H(te){return M.enter("codeFencedFence"),it(te)?gt(M,J,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(te):J(te)}function J(te){return te===p?(M.enter("codeFencedFenceSequence"),de(te)):I(te)}function de(te){return te===p?(X++,M.consume(te),de):X>=d?(M.exit("codeFencedFenceSequence"),it(te)?gt(M,ue,"whitespace")(te):ue(te)):I(te)}function ue(te){return te===null||Pe(te)?(M.exit("codeFencedFence"),C(te)):I(te)}}}const _m={name:"codeIndented",tokenize:cR},oR={partial:!0,tokenize:uR};function cR(e,i,a){return r;function r(p){return e.enter("codeIndented"),xk(e,o,a,"linePrefix",4,4)(p)}function o(p){return p===null?d(p):Pe(p)?e.attempt(oR,o,d)(p):(e.enter("codeFlowValue"),u(p))}function u(p){return p===null||Pe(p)?(e.exit("codeFlowValue"),o(p)):(e.consume(p),u)}function d(p){return e.exit("codeIndented"),i(p)}}function uR(e,i,a){const r=this;return o;function o(d){return r.parser.lazy[r.now().line]?a(d):Pe(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),o):xk(e,i,u,"linePrefix",4,4)(d)}function u(d){return Pe(d)?o(d):a(d)}}const dR={name:"codeText",previous:pR,resolve:fR,tokenize:mR};function fR(e){let i=e.length-4,a=3,r,o;if((e[a][1].type==="lineEnding"||e[a][1].type==="space")&&(e[i][1].type==="lineEnding"||e[i][1].type==="space")){for(r=a;++r<i;)if(e[r][1].type==="codeTextData"){e[a][1].type="codeTextPadding",e[i][1].type="codeTextPadding",a+=2,i-=2;break}}for(r=a-1,i++;++r<=i;)o===void 0?r!==i&&e[r][1].type!=="lineEnding"&&(o=r):(r===i||e[r][1].type==="lineEnding")&&(e[o][1].type="codeTextData",r!==o+2&&(e[o][1].end=e[r-1][1].end,e.splice(o+2,r-o-2),i-=r-o-2,r=o+2),o=void 0);return e}function pR(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function mR(e,i,a){let r=0,o,u;return d;function d(b){return e.enter("codeText"),e.enter("codeTextSequence"),p(b)}function p(b){return b===96?(e.consume(b),r++,p):(e.exit("codeTextSequence"),g(b))}function g(b){return b===null?a(b):b===32?(e.enter("space"),e.consume(b),e.exit("space"),g):b===96?(u=e.enter("codeTextSequence"),o=0,x(b)):Pe(b)?(e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),g):(e.enter("codeTextData"),h(b))}function h(b){return b===null||b===32||b===96||Pe(b)?(e.exit("codeTextData"),g(b)):(e.consume(b),h)}function x(b){return b===96?(e.consume(b),o++,x):o===r?(e.exit("codeTextSequence"),e.exit("codeText"),i(b)):(u.type="codeTextData",h(b))}}class hR{constructor(i){this.left=i?[...i]:[],this.right=[]}get(i){if(i<0||i>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+i+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return i<this.left.length?this.left[i]:this.right[this.right.length-i+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(i,a){const r=a??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(i,r):i>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-i+this.left.length).reverse():this.left.slice(i).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(i,a,r){const o=a||0;this.setCursor(Math.trunc(i));const u=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return r&&ho(this.left,r),u.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(i){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(i)}pushMany(i){this.setCursor(Number.POSITIVE_INFINITY),ho(this.left,i)}unshift(i){this.setCursor(0),this.right.push(i)}unshiftMany(i){this.setCursor(0),ho(this.right,i.reverse())}setCursor(i){if(!(i===this.left.length||i>this.left.length&&this.right.length===0||i<0&&this.left.length===0))if(i<this.left.length){const a=this.left.splice(i,Number.POSITIVE_INFINITY);ho(this.right,a.reverse())}else{const a=this.right.splice(this.left.length+this.right.length-i,Number.POSITIVE_INFINITY);ho(this.left,a.reverse())}}}function ho(e,i){let a=0;if(i.length<1e4)e.push(...i);else for(;a<i.length;)e.push(...i.slice(a,a+1e4)),a+=1e4}function wk(e){const i={};let a=-1,r,o,u,d,p,g,h;const x=new hR(e);for(;++a<x.length;){for(;a in i;)a=i[a];if(r=x.get(a),a&&r[1].type==="chunkFlow"&&x.get(a-1)[1].type==="listItemPrefix"&&(g=r[1]._tokenizer.events,u=0,u<g.length&&g[u][1].type==="lineEndingBlank"&&(u+=2),u<g.length&&g[u][1].type==="content"))for(;++u<g.length&&g[u][1].type!=="content";)g[u][1].type==="chunkText"&&(g[u][1]._isInFirstContentOfListItem=!0,u++);if(r[0]==="enter")r[1].contentType&&(Object.assign(i,gR(x,a)),a=i[a],h=!0);else if(r[1]._container){for(u=a,o=void 0;u--;)if(d=x.get(u),d[1].type==="lineEnding"||d[1].type==="lineEndingBlank")d[0]==="enter"&&(o&&(x.get(o)[1].type="lineEndingBlank"),d[1].type="lineEnding",o=u);else if(!(d[1].type==="linePrefix"||d[1].type==="listItemIndent"))break;o&&(r[1].end={...x.get(o)[1].start},p=x.slice(o,a),p.unshift(r),x.splice(o,a-o+1,p))}}return zi(e,0,Number.POSITIVE_INFINITY,x.slice(0)),!h}function gR(e,i){const a=e.get(i)[1],r=e.get(i)[2];let o=i-1;const u=[];let d=a._tokenizer;d||(d=r.parser[a.contentType](a.start),a._contentTypeTextTrailing&&(d._contentTypeTextTrailing=!0));const p=d.events,g=[],h={};let x,b,v=-1,y=a,k=0,N=0;const _=[N];for(;y;){for(;e.get(++o)[1]!==y;);u.push(o),y._tokenizer||(x=r.sliceStream(y),y.next||x.push(null),b&&d.defineSkip(y.start),y._isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=!0),d.write(x),y._isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=void 0)),b=y,y=y.next}for(y=a;++v<p.length;)p[v][0]==="exit"&&p[v-1][0]==="enter"&&p[v][1].type===p[v-1][1].type&&p[v][1].start.line!==p[v][1].end.line&&(N=v+1,_.push(N),y._tokenizer=void 0,y.previous=void 0,y=y.next);for(d.events=[],y?(y._tokenizer=void 0,y.previous=void 0):_.pop(),v=_.length;v--;){const T=p.slice(_[v],_[v+1]),A=u.pop();g.push([A,A+T.length-1]),e.splice(A,2,T)}for(g.reverse(),v=-1;++v<g.length;)h[k+g[v][0]]=k+g[v][1],k+=g[v][1]-g[v][0]-1;return h}const xR={resolve:yR,tokenize:vR},bR={partial:!0,tokenize:wR};function yR(e){return wk(e),e}function vR(e,i){let a;return r;function r(p){return e.enter("content"),a=e.enter("chunkContent",{contentType:"content"}),o(p)}function o(p){return p===null?u(p):Pe(p)?e.check(bR,d,u)(p):(e.consume(p),o)}function u(p){return e.exit("chunkContent"),e.exit("content"),i(p)}function d(p){return e.consume(p),e.exit("chunkContent"),a.next=e.enter("chunkContent",{contentType:"content",previous:a}),a=a.next,o}}function wR(e,i,a){const r=this;return o;function o(d){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),gt(e,u,"linePrefix")}function u(d){if(d===null||Pe(d))return a(d);const p=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?i(d):e.interrupt(r.parser.constructs.flow,a,i)(d)}}function kk(e,i,a,r,o,u,d,p,g){const h=g||Number.POSITIVE_INFINITY;let x=0;return b;function b(T){return T===60?(e.enter(r),e.enter(o),e.enter(u),e.consume(T),e.exit(u),v):T===null||T===32||T===41||Ku(T)?a(T):(e.enter(r),e.enter(d),e.enter(p),e.enter("chunkString",{contentType:"string"}),N(T))}function v(T){return T===62?(e.enter(u),e.consume(T),e.exit(u),e.exit(o),e.exit(r),i):(e.enter(p),e.enter("chunkString",{contentType:"string"}),y(T))}function y(T){return T===62?(e.exit("chunkString"),e.exit(p),v(T)):T===null||T===60||Pe(T)?a(T):(e.consume(T),T===92?k:y)}function k(T){return T===60||T===62||T===92?(e.consume(T),y):y(T)}function N(T){return!x&&(T===null||T===41||Lt(T))?(e.exit("chunkString"),e.exit(p),e.exit(d),e.exit(r),i(T)):x<h&&T===40?(e.consume(T),x++,N):T===41?(e.consume(T),x--,N):T===null||T===32||T===40||Ku(T)?a(T):(e.consume(T),T===92?_:N)}function _(T){return T===40||T===41||T===92?(e.consume(T),N):N(T)}}function Ek(e,i,a,r,o,u){const d=this;let p=0,g;return h;function h(y){return e.enter(r),e.enter(o),e.consume(y),e.exit(o),e.enter(u),x}function x(y){return p>999||y===null||y===91||y===93&&!g||y===94&&!p&&"_hiddenFootnoteSupport"in d.parser.constructs?a(y):y===93?(e.exit(u),e.enter(o),e.consume(y),e.exit(o),e.exit(r),i):Pe(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),x):(e.enter("chunkString",{contentType:"string"}),b(y))}function b(y){return y===null||y===91||y===93||Pe(y)||p++>999?(e.exit("chunkString"),x(y)):(e.consume(y),g||(g=!it(y)),y===92?v:b)}function v(y){return y===91||y===92||y===93?(e.consume(y),p++,b):b(y)}}function _k(e,i,a,r,o,u){let d;return p;function p(v){return v===34||v===39||v===40?(e.enter(r),e.enter(o),e.consume(v),e.exit(o),d=v===40?41:v,g):a(v)}function g(v){return v===d?(e.enter(o),e.consume(v),e.exit(o),e.exit(r),i):(e.enter(u),h(v))}function h(v){return v===d?(e.exit(u),g(d)):v===null?a(v):Pe(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),gt(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),x(v))}function x(v){return v===d||v===null||Pe(v)?(e.exit("chunkString"),h(v)):(e.consume(v),v===92?b:x)}function b(v){return v===d||v===92?(e.consume(v),x):x(v)}}function No(e,i){let a;return r;function r(o){return Pe(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a=!0,r):it(o)?gt(e,r,a?"linePrefix":"lineSuffix")(o):i(o)}}const kR={name:"definition",tokenize:_R},ER={partial:!0,tokenize:NR};function _R(e,i,a){const r=this;let o;return u;function u(y){return e.enter("definition"),d(y)}function d(y){return Ek.call(r,e,p,a,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function p(y){return o=Li(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),g):a(y)}function g(y){return Lt(y)?No(e,h)(y):h(y)}function h(y){return kk(e,x,a,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function x(y){return e.attempt(ER,b,b)(y)}function b(y){return it(y)?gt(e,v,"whitespace")(y):v(y)}function v(y){return y===null||Pe(y)?(e.exit("definition"),r.parser.defined.push(o),i(y)):a(y)}}function NR(e,i,a){return r;function r(p){return Lt(p)?No(e,o)(p):a(p)}function o(p){return _k(e,u,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(p)}function u(p){return it(p)?gt(e,d,"whitespace")(p):d(p)}function d(p){return p===null||Pe(p)?i(p):a(p)}}const SR={name:"hardBreakEscape",tokenize:TR};function TR(e,i,a){return r;function r(u){return e.enter("hardBreakEscape"),e.consume(u),o}function o(u){return Pe(u)?(e.exit("hardBreakEscape"),i(u)):a(u)}}const CR={name:"headingAtx",resolve:AR,tokenize:OR};function AR(e,i){let a=e.length-2,r=3;if(e[r][1].type==="whitespace"&&(r+=2),a-2>r&&e[a][1].type==="whitespace"&&(a-=2),e[a][1].type==="atxHeadingSequence"&&(r===a-1||a-4>r&&e[a-2][1].type==="whitespace")&&(a-=r+1===a?2:4),a>r){const o={type:"atxHeadingText",start:e[r][1].start,end:e[a][1].end},u={type:"chunkText",start:e[r][1].start,end:e[a][1].end,contentType:"text"};zi(e,r,a-r+1,[["enter",o,i],["enter",u,i],["exit",u,i],["exit",o,i]])}return e}function OR(e,i,a){let r=0;return o;function o(x){return e.enter("atxHeading"),u(x)}function u(x){return e.enter("atxHeadingSequence"),d(x)}function d(x){return x===35&&r++<6?(e.consume(x),d):x===null||Lt(x)?(e.exit("atxHeadingSequence"),p(x)):a(x)}function p(x){return x===35?(e.enter("atxHeadingSequence"),g(x)):x===null||Pe(x)?(e.exit("atxHeading"),i(x)):it(x)?gt(e,p,"whitespace")(x):(e.enter("atxHeadingText"),h(x))}function g(x){return x===35?(e.consume(x),g):(e.exit("atxHeadingSequence"),p(x))}function h(x){return x===null||x===35||Lt(x)?(e.exit("atxHeadingText"),p(x)):(e.consume(x),h)}}const jR=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],O1=["pre","script","style","textarea"],MR={concrete:!0,name:"htmlFlow",resolveTo:DR,tokenize:zR},RR={partial:!0,tokenize:LR};function DR(e){let i=e.length;for(;i--&&!(e[i][0]==="enter"&&e[i][1].type==="htmlFlow"););return i>1&&e[i-2][1].type==="linePrefix"&&(e[i][1].start=e[i-2][1].start,e[i+1][1].start=e[i-2][1].start,e.splice(i-2,2)),e}function zR(e,i,a){const r=this;let o,u,d,p,g;return h;function h(O){return x(O)}function x(O){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(O),b}function b(O){return O===33?(e.consume(O),v):O===47?(e.consume(O),u=!0,N):O===63?(e.consume(O),o=3,r.interrupt?i:j):$n(O)?(e.consume(O),d=String.fromCharCode(O),_):a(O)}function v(O){return O===45?(e.consume(O),o=2,y):O===91?(e.consume(O),o=5,p=0,k):$n(O)?(e.consume(O),o=4,r.interrupt?i:j):a(O)}function y(O){return O===45?(e.consume(O),r.interrupt?i:j):a(O)}function k(O){const D="CDATA[";return O===D.charCodeAt(p++)?(e.consume(O),p===D.length?r.interrupt?i:J:k):a(O)}function N(O){return $n(O)?(e.consume(O),d=String.fromCharCode(O),_):a(O)}function _(O){if(O===null||O===47||O===62||Lt(O)){const D=O===47,ie=d.toLowerCase();return!D&&!u&&O1.includes(ie)?(o=1,r.interrupt?i(O):J(O)):jR.includes(d.toLowerCase())?(o=6,D?(e.consume(O),T):r.interrupt?i(O):J(O)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?a(O):u?A(O):S(O))}return O===45||On(O)?(e.consume(O),d+=String.fromCharCode(O),_):a(O)}function T(O){return O===62?(e.consume(O),r.interrupt?i:J):a(O)}function A(O){return it(O)?(e.consume(O),A):z(O)}function S(O){return O===47?(e.consume(O),z):O===58||O===95||$n(O)?(e.consume(O),U):it(O)?(e.consume(O),S):z(O)}function U(O){return O===45||O===46||O===58||O===95||On(O)?(e.consume(O),U):B(O)}function B(O){return O===61?(e.consume(O),M):it(O)?(e.consume(O),B):S(O)}function M(O){return O===null||O===60||O===61||O===62||O===96?a(O):O===34||O===39?(e.consume(O),g=O,C):it(O)?(e.consume(O),M):I(O)}function C(O){return O===g?(e.consume(O),g=null,X):O===null||Pe(O)?a(O):(e.consume(O),C)}function I(O){return O===null||O===34||O===39||O===47||O===60||O===61||O===62||O===96||Lt(O)?B(O):(e.consume(O),I)}function X(O){return O===47||O===62||it(O)?S(O):a(O)}function z(O){return O===62?(e.consume(O),H):a(O)}function H(O){return O===null||Pe(O)?J(O):it(O)?(e.consume(O),H):a(O)}function J(O){return O===45&&o===2?(e.consume(O),G):O===60&&o===1?(e.consume(O),ae):O===62&&o===4?(e.consume(O),Le):O===63&&o===3?(e.consume(O),j):O===93&&o===5?(e.consume(O),re):Pe(O)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(RR,pe,de)(O)):O===null||Pe(O)?(e.exit("htmlFlowData"),de(O)):(e.consume(O),J)}function de(O){return e.check(kh,ue,pe)(O)}function ue(O){return e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),te}function te(O){return O===null||Pe(O)?de(O):(e.enter("htmlFlowData"),J(O))}function G(O){return O===45?(e.consume(O),j):J(O)}function ae(O){return O===47?(e.consume(O),d="",P):J(O)}function P(O){if(O===62){const D=d.toLowerCase();return O1.includes(D)?(e.consume(O),Le):J(O)}return $n(O)&&d.length<8?(e.consume(O),d+=String.fromCharCode(O),P):J(O)}function re(O){return O===93?(e.consume(O),j):J(O)}function j(O){return O===62?(e.consume(O),Le):O===45&&o===2?(e.consume(O),j):J(O)}function Le(O){return O===null||Pe(O)?(e.exit("htmlFlowData"),pe(O)):(e.consume(O),Le)}function pe(O){return e.exit("htmlFlow"),i(O)}}function LR(e,i,a){return r;function r(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(Bo,i,a)}}const IR={name:"htmlText",tokenize:UR};function UR(e,i,a){const r=this;let o,u,d;return p;function p(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),g}function g(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),S):$n(j)?(e.consume(j),I):a(j)}function h(j){return j===45?(e.consume(j),x):j===91?(e.consume(j),u=0,k):$n(j)?(e.consume(j),A):a(j)}function x(j){return j===45?(e.consume(j),y):a(j)}function b(j){return j===null?a(j):j===45?(e.consume(j),v):Pe(j)?(d=b,ae(j)):(e.consume(j),b)}function v(j){return j===45?(e.consume(j),y):b(j)}function y(j){return j===62?G(j):j===45?v(j):b(j)}function k(j){const Le="CDATA[";return j===Le.charCodeAt(u++)?(e.consume(j),u===Le.length?N:k):a(j)}function N(j){return j===null?a(j):j===93?(e.consume(j),_):Pe(j)?(d=N,ae(j)):(e.consume(j),N)}function _(j){return j===93?(e.consume(j),T):N(j)}function T(j){return j===62?G(j):j===93?(e.consume(j),T):N(j)}function A(j){return j===null||j===62?G(j):Pe(j)?(d=A,ae(j)):(e.consume(j),A)}function S(j){return j===null?a(j):j===63?(e.consume(j),U):Pe(j)?(d=S,ae(j)):(e.consume(j),S)}function U(j){return j===62?G(j):S(j)}function B(j){return $n(j)?(e.consume(j),M):a(j)}function M(j){return j===45||On(j)?(e.consume(j),M):C(j)}function C(j){return Pe(j)?(d=C,ae(j)):it(j)?(e.consume(j),C):G(j)}function I(j){return j===45||On(j)?(e.consume(j),I):j===47||j===62||Lt(j)?X(j):a(j)}function X(j){return j===47?(e.consume(j),G):j===58||j===95||$n(j)?(e.consume(j),z):Pe(j)?(d=X,ae(j)):it(j)?(e.consume(j),X):G(j)}function z(j){return j===45||j===46||j===58||j===95||On(j)?(e.consume(j),z):H(j)}function H(j){return j===61?(e.consume(j),J):Pe(j)?(d=H,ae(j)):it(j)?(e.consume(j),H):X(j)}function J(j){return j===null||j===60||j===61||j===62||j===96?a(j):j===34||j===39?(e.consume(j),o=j,de):Pe(j)?(d=J,ae(j)):it(j)?(e.consume(j),J):(e.consume(j),ue)}function de(j){return j===o?(e.consume(j),o=void 0,te):j===null?a(j):Pe(j)?(d=de,ae(j)):(e.consume(j),de)}function ue(j){return j===null||j===34||j===39||j===60||j===61||j===96?a(j):j===47||j===62||Lt(j)?X(j):(e.consume(j),ue)}function te(j){return j===47||j===62||Lt(j)?X(j):a(j)}function G(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),i):a(j)}function ae(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),P}function P(j){return it(j)?gt(e,re,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):re(j)}function re(j){return e.enter("htmlTextData"),d(j)}}const ug={name:"labelEnd",resolveAll:PR,resolveTo:FR,tokenize:qR},BR={tokenize:GR},$R={tokenize:YR},HR={tokenize:KR};function PR(e){let i=-1;const a=[];for(;++i<e.length;){const r=e[i][1];if(a.push(e[i]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const o=r.type==="labelImage"?4:2;r.type="data",i+=o}}return e.length!==a.length&&zi(e,0,e.length,a),e}function FR(e,i){let a=e.length,r=0,o,u,d;for(;a--;){const x=e[a][1];if(o){if(x.type==="link"||x.type==="labelLink"&&x._inactive)break;e[a][0]==="enter"&&x.type==="labelLink"&&(x._inactive=!0)}else if(u){if(e[a][0]==="enter"&&(x.type==="labelImage"||x.type==="labelLink")&&!x._balanced&&(o=a,x.type!=="labelLink")){r=2;break}}else x.type==="labelEnd"&&(u=a)}const p={type:e[o][1].type==="labelLink"?"link":"image",start:{...e[o][1].start},end:{...e[e.length-1][1].end}},g={type:"label",start:{...e[o][1].start},end:{...e[u][1].end}},h={type:"labelText",start:{...e[o+r+2][1].end},end:{...e[u-2][1].start}};return d=[["enter",p,i],["enter",g,i]],d=bi(d,e.slice(o+1,o+r+3)),d=bi(d,[["enter",h,i]]),d=bi(d,kd(i.parser.constructs.insideSpan.null,e.slice(o+r+4,u-3),i)),d=bi(d,[["exit",h,i],e[u-2],e[u-1],["exit",g,i]]),d=bi(d,e.slice(u+1)),d=bi(d,[["exit",p,i]]),zi(e,o,e.length,d),e}function qR(e,i,a){const r=this,o=r._labelStarts;let u,d;if(o){for(;o.length>0&&o[o.length-1]._balanced;)o.pop();u=o[o.length-1]}return p;function p(v){return u?u._inactive?b(v):(d=r.parser.defined.includes(Li(r.sliceSerialize({start:u.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(v),e.exit("labelMarker"),e.exit("labelEnd"),g):a(v)}function g(v){return v===40?e.attempt(BR,x,d?x:b)(v):v===91?e.attempt($R,x,d?h:b)(v):d?x(v):b(v)}function h(v){return e.attempt(HR,x,b)(v)}function x(v){return o.pop(),i(v)}function b(v){return u._balanced=!0,a(v)}}function GR(e,i,a){return r;function r(b){return e.enter("resource"),e.enter("resourceMarker"),e.consume(b),e.exit("resourceMarker"),o}function o(b){return Lt(b)?No(e,u)(b):u(b)}function u(b){return b===41?x(b):kk(e,d,p,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(b)}function d(b){return Lt(b)?No(e,g)(b):x(b)}function p(b){return a(b)}function g(b){return b===34||b===39||b===40?_k(e,h,a,"resourceTitle","resourceTitleMarker","resourceTitleString")(b):x(b)}function h(b){return Lt(b)?No(e,x)(b):x(b)}function x(b){return b===41?(e.enter("resourceMarker"),e.consume(b),e.exit("resourceMarker"),e.exit("resource"),i):a(b)}}function YR(e,i,a){const r=this;return o;function o(p){return Ek.call(r,e,u,d,"reference","referenceMarker","referenceString")(p)}function u(p){return r.parser.defined.includes(Li(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?i(p):a(p)}function d(p){return a(p)}}function KR(e,i,a){return r;function r(u){return e.enter("reference"),e.enter("referenceMarker"),e.consume(u),e.exit("referenceMarker"),o}function o(u){return u===93?(e.enter("referenceMarker"),e.consume(u),e.exit("referenceMarker"),e.exit("reference"),i):a(u)}}const VR={name:"labelStartImage",resolveAll:ug.resolveAll,tokenize:XR};function XR(e,i,a){const r=this;let o;return u;function u(g){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(g),e.exit("labelImageMarker"),d}function d(g){return g===91?(e.enter("labelMarker"),e.consume(g),e.exit("labelMarker"),o=e.exit("labelImage"),p):a(g)}function p(g){return g===94&&"_hiddenFootnoteSupport"in r.parser.constructs?a(g):(r._labelStarts=r._labelStarts||[],r._labelStarts.push(o),i(g))}}const ZR={name:"labelStartLink",resolveAll:ug.resolveAll,tokenize:QR};function QR(e,i,a){const r=this;let o;return u;function u(p){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(p),e.exit("labelMarker"),o=e.exit("labelLink"),d}function d(p){return p===94&&"_hiddenFootnoteSupport"in r.parser.constructs?a(p):(r._labelStarts=r._labelStarts||[],r._labelStarts.push(o),i(p))}}const Nm={name:"lineEnding",tokenize:WR};function WR(e,i){return a;function a(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),gt(e,i,"linePrefix")}}const Mu={name:"thematicBreak",tokenize:JR};function JR(e,i,a){let r=0,o;return u;function u(h){return e.enter("thematicBreak"),d(h)}function d(h){return o=h,p(h)}function p(h){return h===o?(e.enter("thematicBreakSequence"),g(h)):r>=3&&(h===null||Pe(h))?(e.exit("thematicBreak"),i(h)):a(h)}function g(h){return h===o?(e.consume(h),r++,g):(e.exit("thematicBreakSequence"),it(h)?gt(e,p,"whitespace")(h):p(h))}}const Xn={continuation:{tokenize:i5},exit:r5,name:"list",tokenize:n5},e5={partial:!0,tokenize:s5},t5={partial:!0,tokenize:a5};function n5(e,i,a){const r=this,o=r.events[r.events.length-1];let u=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,d=0;return p;function p(y){const k=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(k==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:vh(y)){if(r.containerState.type||(r.containerState.type=k,e.enter(k,{_container:!0})),k==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Mu,a,h)(y):h(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),g(y)}return a(y)}function g(y){return vh(y)&&++d<10?(e.consume(y),g):(!r.interrupt||d<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),h(y)):a(y)}function h(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(Bo,r.interrupt?a:x,e.attempt(e5,v,b))}function x(y){return r.containerState.initialBlankLine=!0,u++,v(y)}function b(y){return it(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),v):a(y)}function v(y){return r.containerState.size=u+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,i(y)}}function i5(e,i,a){const r=this;return r.containerState._closeFlow=void 0,e.check(Bo,o,u);function o(p){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,gt(e,i,"listItemIndent",r.containerState.size+1)(p)}function u(p){return r.containerState.furtherBlankLines||!it(p)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,d(p)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(t5,i,d)(p))}function d(p){return r.containerState._closeFlow=!0,r.interrupt=void 0,gt(e,e.attempt(Xn,i,a),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(p)}}function a5(e,i,a){const r=this;return gt(e,o,"listItemIndent",r.containerState.size+1);function o(u){const d=r.events[r.events.length-1];return d&&d[1].type==="listItemIndent"&&d[2].sliceSerialize(d[1],!0).length===r.containerState.size?i(u):a(u)}}function r5(e){e.exit(this.containerState.type)}function s5(e,i,a){const r=this;return gt(e,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(u){const d=r.events[r.events.length-1];return!it(u)&&d&&d[1].type==="listItemPrefixWhitespace"?i(u):a(u)}}const j1={name:"setextUnderline",resolveTo:l5,tokenize:o5};function l5(e,i){const a=new Vu;let r=e.length,o,u,d;for(;r--;)if(e[r][0]==="enter"){if(e[r][1].type==="content"){o=r;break}e[r][1].type==="paragraph"&&(u=r)}else e[r][1].type==="content"&&a.add(r,1,[]),!d&&e[r][1].type==="definition"&&(d=r);const p={type:"setextHeading",start:{...e[o][1].start},end:{...e[e.length-1][1].end}};return e[u][1].type="setextHeadingText",d?(a.add(u,0,[["enter",p,i]]),a.add(d+1,0,[["exit",e[o][1],i]]),e[o][1].end={...e[d][1].end}):e[o][1]=p,a.add(e.length,0,[["exit",p,i]]),a.consume(e),e}function o5(e,i,a){const r=this;let o;return u;function u(h){let x=r.events.length,b;for(;x--;)if(r.events[x][1].type!=="lineEnding"&&r.events[x][1].type!=="linePrefix"&&r.events[x][1].type!=="content"){b=r.events[x][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||b)?(e.enter("setextHeadingLine"),o=h,d(h)):a(h)}function d(h){return e.enter("setextHeadingLineSequence"),p(h)}function p(h){return h===o?(e.consume(h),p):(e.exit("setextHeadingLineSequence"),it(h)?gt(e,g,"lineSuffix")(h):g(h))}function g(h){return h===null||Pe(h)?(e.exit("setextHeadingLine"),i(h)):a(h)}}const c5={tokenize:u5};function u5(e){const i=this,a=e.attempt(Bo,r,e.attempt(this.parser.constructs.flowInitial,o,gt(e,e.attempt(this.parser.constructs.flow,o,e.attempt(xR,o)),"linePrefix")));return a;function r(u){if(u===null){e.consume(u);return}return e.enter("lineEndingBlank"),e.consume(u),e.exit("lineEndingBlank"),i.currentConstruct=void 0,a}function o(u){if(u===null){e.consume(u);return}return e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),i.currentConstruct=void 0,a}}const d5={resolveAll:Sk()},f5=Nk("string"),p5=Nk("text");function Nk(e){return{resolveAll:Sk(e==="text"?m5:void 0),tokenize:i};function i(a){const r=this,o=this.parser.constructs[e],u=a.attempt(o,d,p);return d;function d(x){return h(x)?u(x):p(x)}function p(x){if(x===null){a.consume(x);return}return a.enter("data"),a.consume(x),g}function g(x){return h(x)?(a.exit("data"),u(x)):(a.consume(x),g)}function h(x){if(x===null)return!0;const b=o[x];let v=-1;if(b)for(;++v<b.length;){const y=b[v];if(!y.previous||y.previous.call(r,r.previous))return!0}return!1}}}function Sk(e){return i;function i(a,r){let o=-1,u;for(;++o<=a.length;)u===void 0?a[o]&&a[o][1].type==="data"&&(u=o,o++):(!a[o]||a[o][1].type!=="data")&&(o!==u+2&&(a[u][1].end=a[o-1][1].end,a.splice(u+2,o-u-2),o=u+2),u=void 0);return e?e(a,r):a}}function m5(e,i){const a=new Vu;let r=0;for(;++r<=e.length;)if((r===e.length||e[r][1].type==="lineEnding")&&e[r-1][1].type==="data"){const o=e[r-1][1],u=i.sliceStream(o);let d=u.length,p=-1,g=0,h;for(;d--;){const x=u[d];if(typeof x=="string"){for(p=x.length;x.charCodeAt(p-1)===32;)g++,p--;if(p)break;p=-1}else if(x===-2)h=!0,g++;else if(x!==-1){d++;break}}if(i._contentTypeTextTrailing&&r===e.length&&(g=0),g){const x={type:r===e.length||h||g<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:d?p:o.start._bufferIndex+p,_index:o.start._index+d,line:o.end.line,column:o.end.column-g,offset:o.end.offset-g},end:{...o.end}};o.end={...x.start},o.start.offset===o.end.offset?Object.assign(o,x):a.add(r,0,[["enter",x,i],["exit",x,i]])}r++}return a.consume(e),e}const h5={42:Xn,43:Xn,45:Xn,48:Xn,49:Xn,50:Xn,51:Xn,52:Xn,53:Xn,54:Xn,55:Xn,56:Xn,57:Xn,62:bk},g5={91:kR},x5={[-2]:_m,[-1]:_m,32:_m},b5={35:CR,42:Mu,45:[j1,Mu],60:MR,61:j1,95:Mu,96:A1,126:A1},y5={38:vk,92:yk},v5={[-5]:Nm,[-4]:Nm,[-3]:Nm,33:VR,38:vk,42:wh,60:[WM,IR],91:ZR,92:[SR,yk],93:ug,95:wh,96:dR},w5={null:[wh,d5]},k5={null:[42,95]},E5={null:[]},_5=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:k5,contentInitial:g5,disable:E5,document:h5,flow:b5,flowInitial:x5,insideSpan:w5,string:y5,text:v5},Symbol.toStringTag,{value:"Module"}));function N5(e,i,a){let r={_bufferIndex:-1,_index:0,line:a&&a.line||1,column:a&&a.column||1,offset:a&&a.offset||0};const o={},u=[];let d=[],p=[];const g={attempt:C(B),check:C(M),consume:A,enter:S,exit:U,interrupt:C(M,{interrupt:!0})},h={code:null,containerState:{},defineSkip:N,events:[],now:k,parser:e,previous:null,sliceSerialize:v,sliceStream:y,write:b};let x=i.tokenize.call(h,g);return i.resolveAll&&u.push(i),h;function b(H){return d=bi(d,H),_(),d[d.length-1]!==null?[]:(I(i,0),h.events=kd(u,h.events,h),h.events)}function v(H,J){return T5(y(H),J)}function y(H){return S5(d,H)}function k(){const{_bufferIndex:H,_index:J,line:de,column:ue,offset:te}=r;return{_bufferIndex:H,_index:J,line:de,column:ue,offset:te}}function N(H){o[H.line]=H.column,z()}function _(){for(;r._index<d.length;){const H=d[r._index];if(typeof H=="string"){const J=r._index;for(r._bufferIndex<0&&(r._bufferIndex=0);r._index===J&&r._bufferIndex<H.length;)T(H.charCodeAt(r._bufferIndex))}else T(H)}}function T(H){x=x(H)}function A(H){Pe(H)?(r.line++,r.column=1,r.offset+=H===-3?2:1,z()):H!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===d[r._index].length&&(r._bufferIndex=-1,r._index++)),h.previous=H}function S(H,J){const de=J||{};return de.type=H,de.start=k(),h.events.push(["enter",de,h]),p.push(de),de}function U(H){const J=p.pop();return J.end=k(),h.events.push(["exit",J,h]),J}function B(H,J){I(H,J.from)}function M(H,J){J.restore()}function C(H,J){return de;function de(ue,te,G){let ae,P,re,j;return Array.isArray(ue)?pe(ue):"tokenize"in ue?pe([ue]):Le(ue);function Le(me){return ke;function ke(Re){const He=Re!==null&&me[Re],$e=Re!==null&&me.null,R=[...Array.isArray(He)?He:He?[He]:[],...Array.isArray($e)?$e:$e?[$e]:[]];return pe(R)(Re)}}function pe(me){return ae=me,P=0,me.length===0?G:O(me[P])}function O(me){return ke;function ke(Re){return j=X(),re=me,me.partial||(h.currentConstruct=me),me.name&&h.parser.constructs.disable.null.includes(me.name)?ie():me.tokenize.call(J?Object.assign(Object.create(h),J):h,g,D,ie)(Re)}}function D(me){return H(re,j),te}function ie(me){return j.restore(),++P<ae.length?O(ae[P]):G}}}function I(H,J){H.resolveAll&&!u.includes(H)&&u.push(H),H.resolve&&zi(h.events,J,h.events.length-J,H.resolve(h.events.slice(J),h)),H.resolveTo&&(h.events=H.resolveTo(h.events,h))}function X(){const H=k(),J=h.previous,de=h.currentConstruct,ue=h.events.length,te=Array.from(p);return{from:ue,restore:G};function G(){r=H,h.previous=J,h.currentConstruct=de,h.events.length=ue,p=te,z()}}function z(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}function S5(e,i){const a=i.start._index,r=i.start._bufferIndex,o=i.end._index,u=i.end._bufferIndex;let d;if(a===o)d=[e[a].slice(r,u)];else{if(d=e.slice(a,o),r>-1){const p=d[0];typeof p=="string"?d[0]=p.slice(r):d.shift()}u>0&&d.push(e[o].slice(0,u))}return d}function T5(e,i){let a=-1;const r=[];let o;for(;++a<e.length;){const u=e[a];let d;if(typeof u=="string")d=u;else switch(u){case-5:{d="\r";break}case-4:{d=`
|
|
249
|
-
`;break}case-3:{d=`\r
|
|
250
|
-
`;break}case-2:{d=i?" ":" ";break}case-1:{if(!i&&o)continue;d=" ";break}default:d=String.fromCharCode(u)}o=u===-2,r.push(d)}return r.join("")}function C5(e){const r={constructs:hk([_5,...(e||{}).extensions||[]]),content:o(GM),defined:[],document:o(KM),flow:o(c5),lazy:{},string:o(f5),text:o(p5)};return r;function o(u){return d;function d(p){return N5(r,u,p)}}}function A5(e){for(;!wk(e););return e}const M1=/[\0\t\n\r]/g;function O5(){let e=1,i="",a=!0,r;return o;function o(u,d,p){u=i+(typeof u=="string"?u.toString():new TextDecoder(d||void 0).decode(u));const g=[];let h=0;for(i="",a&&(u.charCodeAt(0)===65279&&h++,a=void 0);h<u.length;){M1.lastIndex=h;const x=M1.exec(u),b=x&&x.index!==void 0?x.index:u.length,v=u.charCodeAt(b);if(!x){i=u.slice(h);break}if(v===10&&h===b&&r)g.push(-3),r=void 0;else switch(r&&(g.push(-5),r=void 0),h<b&&(g.push(u.slice(h,b)),e+=b-h),v){case 0:{g.push(65533),e++;break}case 9:{const y=Math.ceil(e/4)*4;for(g.push(-2);e++<y;)g.push(-1);break}case 10:{g.push(-4),e=1;break}default:r=!0,e=1}h=b+1}return p&&(r&&g.push(-5),i&&g.push(i),g.push(null)),g}}const j5=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function M5(e){return e.replace(j5,R5)}function R5(e,i,a){if(i)return i;if(a.charCodeAt(0)===35){const o=a.charCodeAt(1),u=o===120||o===88;return gk(a.slice(u?2:1),u?16:10)}return cg(a)||e}const Tk={}.hasOwnProperty;function D5(e,i,a){return i&&typeof i=="object"&&(a=i,i=void 0),z5(a)(A5(C5(a).document().write(O5()(e,i,!0))))}function z5(e){const i={afterExit:[],beforeEnter:[],transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:d(Tn),autolinkProtocol:z,autolinkEmail:z,atxHeading:d(Be),blockQuote:d(R),characterEscape:z,characterReference:z,codeFenced:d(fe),codeFencedFenceInfo:p,codeFencedFenceMeta:p,codeIndented:d(fe,p),codeText:d(De,p),codeTextData:z,data:z,codeFlowValue:z,definition:d(Et),definitionDestinationString:p,definitionLabelString:p,definitionTitleString:p,emphasis:d(xt),hardBreakEscape:d(ht),hardBreakTrailing:d(ht),htmlFlow:d(We,p),htmlFlowData:z,htmlText:d(We,p),htmlTextData:z,image:d(Kt),label:p,link:d(Tn),listItem:d(ce),listItemValue:y,listOrdered:d(Rn,v),listUnordered:d(Rn),paragraph:d(qe),reference:D,referenceString:p,resourceDestinationString:p,resourceTitleString:p,setextHeading:d(Be),strong:d(ft),thematicBreak:d(sn)},exit:{atxHeading:h(),atxHeadingSequence:M,autolink:h(),autolinkEmail:$e,autolinkProtocol:He,blockQuote:h(),characterEscapeValue:H,characterReferenceMarkerHexadecimal:me,characterReferenceMarkerNumeric:me,characterReferenceValue:ke,characterReference:Re,codeFenced:h(T),codeFencedFence:_,codeFencedFenceInfo:k,codeFencedFenceMeta:N,codeFlowValue:H,codeIndented:h(A),codeText:h(G),codeTextData:H,data:H,definition:h(),definitionDestinationString:B,definitionLabelString:S,definitionTitleString:U,emphasis:h(),hardBreakEscape:h(de),hardBreakTrailing:h(de),htmlFlow:h(ue),htmlFlowData:H,htmlText:h(te),htmlTextData:H,image:h(P),label:j,labelText:re,lineEnding:J,link:h(ae),listItem:h(),listOrdered:h(),listUnordered:h(),paragraph:h(),referenceString:ie,resourceDestinationString:Le,resourceTitleString:pe,resource:O,setextHeading:h(X),setextHeadingLineSequence:I,setextHeadingText:C,strong:h(),thematicBreak:h()}};Ck(i,(e||{}).mdastExtensions||[]);const a={};return r;function r(ee){let ye={type:"root",children:[],position:void 0};const Ie={stack:[ye],tokenStack:[],config:i,enter:g,exit:x,buffer:p,resume:b,data:a},Ke=[],Vt=[];let _t=-1;for(;++_t<ee.length;)if(Vt.push(ee[_t]),ee[_t][1].type==="listOrdered"||ee[_t][1].type==="listUnordered")if(ee[_t][0]==="enter")Ke.push(Vt.length-1);else{const ln=Ke.pop();u(Vt,ln)}for(ee=Vt,_t=-1;++_t<ee.length;){const ln=i[ee[_t][0]];ee[_t][0]==="enter"&&i.beforeEnter.length>0&&o(i.beforeEnter,{...Ie,sliceSerialize:ee[_t][2].sliceSerialize},ee[_t][1]),Tk.call(ln,ee[_t][1].type)&&ln[ee[_t][1].type].call({...Ie,sliceSerialize:ee[_t][2].sliceSerialize},ee[_t][1]),ee[_t][0]==="exit"&&i.afterExit.length>0&&o(i.afterExit,{...Ie,sliceSerialize:ee[_t][2].sliceSerialize},ee[_t][1])}if(Ie.tokenStack.length>0){const ln=Ie.tokenStack[Ie.tokenStack.length-1];(ln[1]||R1).call(Ie,void 0,ln[0])}for(ye.position={start:gr(ee.length>0?ee[0][1].start:{line:1,column:1,offset:0}),end:gr(ee.length>0?ee[ee.length-2][1].end:{line:1,column:1,offset:0})},_t=-1;++_t<i.transforms.length;)ye=i.transforms[_t](ye)||ye;return ye}function o(ee,ye,Ie){let Ke=-1;for(;++Ke<ee.length;)ee[Ke].call(ye,Ie)}function u(ee,ye){const Ie=ee.length-1;let Ke=ye-1,Vt=-1,_t=!1,ln,xn,wi,ki;const oa=[];for(;++Ke<=Ie;){const dn=ee[Ke];switch(dn[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{dn[0]==="enter"?Vt++:Vt--,ki=void 0;break}case"lineEndingBlank":{dn[0]==="enter"&&(ln&&!ki&&!Vt&&!wi&&(wi=Ke),ki=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:ki=void 0}if(!Vt&&dn[0]==="enter"&&dn[1].type==="listItemPrefix"||Vt===-1&&dn[0]==="exit"&&(dn[1].type==="listUnordered"||dn[1].type==="listOrdered")){if(ln){let Ei=Ke;for(xn=void 0;Ei--;){const Dn=ee[Ei];if(Dn[1].type==="lineEnding"||Dn[1].type==="lineEndingBlank"){if(Dn[0]==="exit")continue;xn&&(ee[xn][1].type="lineEndingBlank",_t=!0),Dn[1].type="lineEnding",xn=Ei}else if(!(Dn[1].type==="linePrefix"||Dn[1].type==="blockQuotePrefix"||Dn[1].type==="blockQuotePrefixWhitespace"||Dn[1].type==="blockQuoteMarker"||Dn[1].type==="listItemIndent"))break}wi&&(!xn||wi<xn)&&(ln._spread=!0),ln.end=Object.assign({},xn?ee[xn][1].start:dn[1].end),oa.push({at:xn||Ke,event:["exit",ln,dn[2]]})}if(dn[1].type==="listItemPrefix"){const Ei={type:"listItem",_spread:!1,start:Object.assign({},dn[1].start),end:void 0};ln=Ei,oa.push({at:Ke,event:["enter",Ei,dn[2]]}),wi=void 0,ki=!0}}}const La=ee.splice(ye);let Xt=0;for(Ke=-1;++Ke<La.length;){for(;Xt<oa.length&&oa[Xt].at===ye+Ke;)ee.push(oa[Xt++].event);ee.push(La[Ke])}ee[ye][1]._spread=_t}function d(ee,ye){return Ie;function Ie(Ke){g.call(this,ee(Ke),Ke),ye&&ye.call(this,Ke)}}function p(){this.stack.push({type:"fragment",children:[]})}function g(ee,ye,Ie){this.stack[this.stack.length-1].children.push(ee),this.stack.push(ee),this.tokenStack.push([ye,Ie||void 0]),ee.position={start:gr(ye.start),end:void 0}}function h(ee){return ye;function ye(Ie){ee&&ee.call(this,Ie),x.call(this,Ie)}}function x(ee,ye){const Ie=this.stack.pop(),Ke=this.tokenStack.pop();if(!Ke)throw new Error("Cannot close `"+ee.type+"` ("+_o({start:ee.start,end:ee.end})+"): it’s not open");Ke[0].type!==ee.type&&(ye?ye.call(this,ee,Ke[0]):(Ke[1]||R1).call(this,ee,Ke[0])),Ie.position.end=gr(ee.end)}function b(){return og(this.stack.pop())}function v(){this.data.expectingFirstListItemValue=!0}function y(ee){if(this.data.expectingFirstListItemValue){const ye=this.stack[this.stack.length-2];ye.start=Number.parseInt(this.sliceSerialize(ee),10),this.data.expectingFirstListItemValue=void 0}}function k(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.lang=ee}function N(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.meta=ee}function _(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function T(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.value=ee.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function A(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.value=ee.replace(/(\r?\n|\r)$/g,"")}function S(ee){const ye=this.resume(),Ie=this.stack[this.stack.length-1];Ie.label=ye,Ie.identifier=Li(this.sliceSerialize(ee)).toLowerCase()}function U(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.title=ee}function B(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.url=ee}function M(ee){const ye=this.stack[this.stack.length-1];if(!ye.depth){const Ie=this.sliceSerialize(ee).length;ye.depth=Ie}}function C(){this.data.setextHeadingSlurpLineEnding=!0}function I(ee){const ye=this.stack[this.stack.length-1];ye.depth=this.sliceSerialize(ee).codePointAt(0)===61?1:2}function X(){this.data.setextHeadingSlurpLineEnding=void 0}function z(ee){const Ie=this.stack[this.stack.length-1].children;let Ke=Ie[Ie.length-1];(!Ke||Ke.type!=="text")&&(Ke=mt(),Ke.position={start:gr(ee.start),end:void 0},Ie.push(Ke)),this.stack.push(Ke)}function H(ee){const ye=this.stack.pop();ye.value+=this.sliceSerialize(ee),ye.position.end=gr(ee.end)}function J(ee){const ye=this.stack[this.stack.length-1];if(this.data.atHardBreak){const Ie=ye.children[ye.children.length-1];Ie.position.end=gr(ee.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&i.canContainEols.includes(ye.type)&&(z.call(this,ee),H.call(this,ee))}function de(){this.data.atHardBreak=!0}function ue(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.value=ee}function te(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.value=ee}function G(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.value=ee}function ae(){const ee=this.stack[this.stack.length-1];if(this.data.inReference){const ye=this.data.referenceType||"shortcut";ee.type+="Reference",ee.referenceType=ye,delete ee.url,delete ee.title}else delete ee.identifier,delete ee.label;this.data.referenceType=void 0}function P(){const ee=this.stack[this.stack.length-1];if(this.data.inReference){const ye=this.data.referenceType||"shortcut";ee.type+="Reference",ee.referenceType=ye,delete ee.url,delete ee.title}else delete ee.identifier,delete ee.label;this.data.referenceType=void 0}function re(ee){const ye=this.sliceSerialize(ee),Ie=this.stack[this.stack.length-2];Ie.label=M5(ye),Ie.identifier=Li(ye).toLowerCase()}function j(){const ee=this.stack[this.stack.length-1],ye=this.resume(),Ie=this.stack[this.stack.length-1];if(this.data.inReference=!0,Ie.type==="link"){const Ke=ee.children;Ie.children=Ke}else Ie.alt=ye}function Le(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.url=ee}function pe(){const ee=this.resume(),ye=this.stack[this.stack.length-1];ye.title=ee}function O(){this.data.inReference=void 0}function D(){this.data.referenceType="collapsed"}function ie(ee){const ye=this.resume(),Ie=this.stack[this.stack.length-1];Ie.label=ye,Ie.identifier=Li(this.sliceSerialize(ee)).toLowerCase(),this.data.referenceType="full"}function me(ee){this.data.characterReferenceType=ee.type}function ke(ee){const ye=this.sliceSerialize(ee),Ie=this.data.characterReferenceType;let Ke;Ie?(Ke=gk(ye,Ie==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Ke=cg(ye);const Vt=this.stack[this.stack.length-1];Vt.value+=Ke}function Re(ee){const ye=this.stack.pop();ye.position.end=gr(ee.end)}function He(ee){H.call(this,ee);const ye=this.stack[this.stack.length-1];ye.url=this.sliceSerialize(ee)}function $e(ee){H.call(this,ee);const ye=this.stack[this.stack.length-1];ye.url="mailto:"+this.sliceSerialize(ee)}function R(){return{type:"blockquote",children:[],position:void 0}}function fe(){return{type:"code",lang:null,meta:null,value:"",position:void 0}}function De(){return{type:"inlineCode",value:"",position:void 0}}function Et(){return{type:"definition",identifier:"",label:null,title:null,url:"",position:void 0}}function xt(){return{type:"emphasis",children:[],position:void 0}}function Be(){return{type:"heading",depth:0,children:[],position:void 0}}function ht(){return{type:"break",position:void 0}}function We(){return{type:"html",value:"",position:void 0}}function Kt(){return{type:"image",title:null,url:"",alt:null,position:void 0}}function Tn(){return{type:"link",title:null,url:"",children:[],position:void 0}}function Rn(ee){return{type:"list",ordered:ee.type==="listOrdered",start:null,spread:ee._spread,children:[],position:void 0}}function ce(ee){return{type:"listItem",spread:ee._spread,checked:null,children:[],position:void 0}}function qe(){return{type:"paragraph",children:[],position:void 0}}function ft(){return{type:"strong",children:[],position:void 0}}function mt(){return{type:"text",value:"",position:void 0}}function sn(){return{type:"thematicBreak",position:void 0}}}function gr(e){return{line:e.line,column:e.column,offset:e.offset}}function Ck(e,i){let a=-1;for(;++a<i.length;){const r=i[a];Array.isArray(r)?Ck(e,r):L5(e,r)}}function L5(e,i){let a;for(a in i)if(Tk.call(i,a))switch(a){case"canContainEols":{const r=i[a];r&&e[a].push(...r);break}case"transforms":{const r=i[a];r&&e[a].push(...r);break}case"afterExit":case"beforeEnter":{const r=i[a];r&&e[a].push(r);break}case"enter":case"exit":{const r=i[a];r&&Object.assign(e[a],r);break}}}function R1(e,i){throw e?new Error("Cannot close `"+e.type+"` ("+_o({start:e.start,end:e.end})+"): a different token (`"+i.type+"`, "+_o({start:i.start,end:i.end})+") is open"):new Error("Cannot close document, a token (`"+i.type+"`, "+_o({start:i.start,end:i.end})+") is still open")}function I5(e){const i=this;i.parser=a;function a(r){return D5(r,{...i.data("settings"),...e,extensions:i.data("micromarkExtensions")||[],mdastExtensions:i.data("fromMarkdownExtensions")||[]})}}function U5(e,i){const a={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(i),!0)};return e.patch(i,a),e.applyData(i,a)}function B5(e,i){const a={type:"element",tagName:"br",properties:{},children:[]};return e.patch(i,a),[e.applyData(i,a),{type:"text",value:`
|
|
251
|
-
`}]}function $5(e,i){const a=i.value?i.value+`
|
|
252
|
-
`:"",r={},o=i.lang?i.lang.split(/\s+/):[];o.length>0&&(r.className=["language-"+o[0]]);let u={type:"element",tagName:"code",properties:r,children:[{type:"text",value:a}]};return i.meta&&(u.data={meta:i.meta}),e.patch(i,u),u=e.applyData(i,u),u={type:"element",tagName:"pre",properties:{},children:[u]},e.patch(i,u),u}function H5(e,i){const a={type:"element",tagName:"del",properties:{},children:e.all(i)};return e.patch(i,a),e.applyData(i,a)}function P5(e,i){const a={type:"element",tagName:"em",properties:{},children:e.all(i)};return e.patch(i,a),e.applyData(i,a)}function F5(e,i){const a=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(i.identifier).toUpperCase(),o=ml(r.toLowerCase()),u=e.footnoteOrder.indexOf(r);let d,p=e.footnoteCounts.get(r);p===void 0?(p=0,e.footnoteOrder.push(r),d=e.footnoteOrder.length):d=u+1,p+=1,e.footnoteCounts.set(r,p);const g={type:"element",tagName:"a",properties:{href:"#"+a+"fn-"+o,id:a+"fnref-"+o+(p>1?"-"+p:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(d)}]};e.patch(i,g);const h={type:"element",tagName:"sup",properties:{},children:[g]};return e.patch(i,h),e.applyData(i,h)}function q5(e,i){const a={type:"element",tagName:"h"+i.depth,properties:{},children:e.all(i)};return e.patch(i,a),e.applyData(i,a)}function G5(e,i){if(e.options.allowDangerousHtml){const a={type:"raw",value:i.value};return e.patch(i,a),e.applyData(i,a)}}function Ak(e,i){const a=i.referenceType;let r="]";if(a==="collapsed"?r+="[]":a==="full"&&(r+="["+(i.label||i.identifier)+"]"),i.type==="imageReference")return[{type:"text",value:"!["+i.alt+r}];const o=e.all(i),u=o[0];u&&u.type==="text"?u.value="["+u.value:o.unshift({type:"text",value:"["});const d=o[o.length-1];return d&&d.type==="text"?d.value+=r:o.push({type:"text",value:r}),o}function Y5(e,i){const a=String(i.identifier).toUpperCase(),r=e.definitionById.get(a);if(!r)return Ak(e,i);const o={src:ml(r.url||""),alt:i.alt};r.title!==null&&r.title!==void 0&&(o.title=r.title);const u={type:"element",tagName:"img",properties:o,children:[]};return e.patch(i,u),e.applyData(i,u)}function K5(e,i){const a={src:ml(i.url)};i.alt!==null&&i.alt!==void 0&&(a.alt=i.alt),i.title!==null&&i.title!==void 0&&(a.title=i.title);const r={type:"element",tagName:"img",properties:a,children:[]};return e.patch(i,r),e.applyData(i,r)}function V5(e,i){const a={type:"text",value:i.value.replace(/\r?\n|\r/g," ")};e.patch(i,a);const r={type:"element",tagName:"code",properties:{},children:[a]};return e.patch(i,r),e.applyData(i,r)}function X5(e,i){const a=String(i.identifier).toUpperCase(),r=e.definitionById.get(a);if(!r)return Ak(e,i);const o={href:ml(r.url||"")};r.title!==null&&r.title!==void 0&&(o.title=r.title);const u={type:"element",tagName:"a",properties:o,children:e.all(i)};return e.patch(i,u),e.applyData(i,u)}function Z5(e,i){const a={href:ml(i.url)};i.title!==null&&i.title!==void 0&&(a.title=i.title);const r={type:"element",tagName:"a",properties:a,children:e.all(i)};return e.patch(i,r),e.applyData(i,r)}function Q5(e,i,a){const r=e.all(i),o=a?W5(a):Ok(i),u={},d=[];if(typeof i.checked=="boolean"){const x=r[0];let b;x&&x.type==="element"&&x.tagName==="p"?b=x:(b={type:"element",tagName:"p",properties:{},children:[]},r.unshift(b)),b.children.length>0&&b.children.unshift({type:"text",value:" "}),b.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:i.checked,disabled:!0},children:[]}),u.className=["task-list-item"]}let p=-1;for(;++p<r.length;){const x=r[p];(o||p!==0||x.type!=="element"||x.tagName!=="p")&&d.push({type:"text",value:`
|
|
253
|
-
`}),x.type==="element"&&x.tagName==="p"&&!o?d.push(...x.children):d.push(x)}const g=r[r.length-1];g&&(o||g.type!=="element"||g.tagName!=="p")&&d.push({type:"text",value:`
|
|
254
|
-
`});const h={type:"element",tagName:"li",properties:u,children:d};return e.patch(i,h),e.applyData(i,h)}function W5(e){let i=!1;if(e.type==="list"){i=e.spread||!1;const a=e.children;let r=-1;for(;!i&&++r<a.length;)i=Ok(a[r])}return i}function Ok(e){const i=e.spread;return i??e.children.length>1}function J5(e,i){const a={},r=e.all(i);let o=-1;for(typeof i.start=="number"&&i.start!==1&&(a.start=i.start);++o<r.length;){const d=r[o];if(d.type==="element"&&d.tagName==="li"&&d.properties&&Array.isArray(d.properties.className)&&d.properties.className.includes("task-list-item")){a.className=["contains-task-list"];break}}const u={type:"element",tagName:i.ordered?"ol":"ul",properties:a,children:e.wrap(r,!0)};return e.patch(i,u),e.applyData(i,u)}function e3(e,i){const a={type:"element",tagName:"p",properties:{},children:e.all(i)};return e.patch(i,a),e.applyData(i,a)}function t3(e,i){const a={type:"root",children:e.wrap(e.all(i))};return e.patch(i,a),e.applyData(i,a)}function n3(e,i){const a={type:"element",tagName:"strong",properties:{},children:e.all(i)};return e.patch(i,a),e.applyData(i,a)}function i3(e,i){const a=e.all(i),r=a.shift(),o=[];if(r){const d={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(i.children[0],d),o.push(d)}if(a.length>0){const d={type:"element",tagName:"tbody",properties:{},children:e.wrap(a,!0)},p=ag(i.children[1]),g=ok(i.children[i.children.length-1]);p&&g&&(d.position={start:p,end:g}),o.push(d)}const u={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(i,u),e.applyData(i,u)}function a3(e,i,a){const r=a?a.children:void 0,u=(r?r.indexOf(i):1)===0?"th":"td",d=a&&a.type==="table"?a.align:void 0,p=d?d.length:i.children.length;let g=-1;const h=[];for(;++g<p;){const b=i.children[g],v={},y=d?d[g]:void 0;y&&(v.align=y);let k={type:"element",tagName:u,properties:v,children:[]};b&&(k.children=e.all(b),e.patch(b,k),k=e.applyData(b,k)),h.push(k)}const x={type:"element",tagName:"tr",properties:{},children:e.wrap(h,!0)};return e.patch(i,x),e.applyData(i,x)}function r3(e,i){const a={type:"element",tagName:"td",properties:{},children:e.all(i)};return e.patch(i,a),e.applyData(i,a)}const D1=9,z1=32;function s3(e){const i=String(e),a=/\r?\n|\r/g;let r=a.exec(i),o=0;const u=[];for(;r;)u.push(L1(i.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=a.exec(i);return u.push(L1(i.slice(o),o>0,!1)),u.join("")}function L1(e,i,a){let r=0,o=e.length;if(i){let u=e.codePointAt(r);for(;u===D1||u===z1;)r++,u=e.codePointAt(r)}if(a){let u=e.codePointAt(o-1);for(;u===D1||u===z1;)o--,u=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}function l3(e,i){const a={type:"text",value:s3(String(i.value))};return e.patch(i,a),e.applyData(i,a)}function o3(e,i){const a={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(i,a),e.applyData(i,a)}const c3={blockquote:U5,break:B5,code:$5,delete:H5,emphasis:P5,footnoteReference:F5,heading:q5,html:G5,imageReference:Y5,image:K5,inlineCode:V5,linkReference:X5,link:Z5,listItem:Q5,list:J5,paragraph:e3,root:t3,strong:n3,table:i3,tableCell:r3,tableRow:a3,text:l3,thematicBreak:o3,toml:gu,yaml:gu,definition:gu,footnoteDefinition:gu};function gu(){}const jk=-1,Ed=0,So=1,Zu=2,dg=3,fg=4,pg=5,mg=6,Mk=7,Rk=8,{defineProperty:u3}=Object,Dk=typeof self=="object"?self:globalThis,I1=(e,i)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new Dk[e](i)},d3=(e,i)=>{const a=(o,u)=>(e.set(u,o),o),r=o=>{if(e.has(o))return e.get(o);const[u,d]=i[o];switch(u){case Ed:case jk:return a(d,o);case So:{const p=a([],o);for(const g of d)p.push(r(g));return p}case Zu:{const p=a({},o);for(const[g,h]of d){const x=r(g),b=r(h);x==="__proto__"?u3(p,x,{value:b,configurable:!0,enumerable:!0,writable:!0}):p[x]=b}return p}case dg:return a(new Date(d),o);case fg:{const{source:p,flags:g}=d;return a(new RegExp(p,g),o)}case pg:{const p=a(new Map,o);for(const[g,h]of d)p.set(r(g),r(h));return p}case mg:{const p=a(new Set,o);for(const g of d)p.add(r(g));return p}case Mk:{const{name:p,message:g}=d;return a(typeof Dk[p]=="function"?I1(p,g):new Error(g),o)}case Rk:return a(BigInt(d),o);case"BigInt":return a(Object(BigInt(d)),o);case"ArrayBuffer":return a(new Uint8Array(d).buffer,d);case"DataView":{const{buffer:p}=new Uint8Array(d);return a(new DataView(p),d)}case"-0":return-0}return a(I1(u,d),o)};return r},U1=e=>d3(new Map,e)(0),Vr="",{toString:f3}={},{keys:p3,is:m3}=Object,go=e=>{const i=typeof e;if(i!=="object"||!e)return[Ed,i];const a=f3.call(e).slice(8,-1);switch(a){case"Array":return[So,Vr];case"Object":return[Zu,Vr];case"Date":return[dg,Vr];case"RegExp":return[fg,Vr];case"Map":return[pg,Vr];case"Set":return[mg,Vr];case"DataView":return[So,a]}return a.includes("Array")?[So,a]:e instanceof Error?[Mk,e.name||"Error"]:[Zu,a]},xu=([e,i])=>e===Ed&&(i==="function"||i==="symbol"),h3=(e,i,a,r)=>{const o=(d,p)=>{const g=r.push(d)-1;return a.set(p,g),g},u=d=>{if(a.has(d))return a.get(d);let[p,g]=go(d);switch(p){case Ed:{let x=d;switch(g){case"bigint":p=Rk,x=d.toString();break;case"number":if(!d&&m3(d,-0))return r.push(["-0"])-1;break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+g);x=null;break;case"undefined":return o([jk],d)}return o([p,x],d)}case So:{if(g){let v=d;return g==="DataView"?v=new Uint8Array(d.buffer):g==="ArrayBuffer"&&(v=new Uint8Array(d)),o([g,[...v]],d)}const x=[],b=o([p,x],d);for(const v of d)x.push(u(v));return b}case Zu:{if(g)switch(g){case"BigInt":return o([g,d.toString()],d);case"Boolean":case"Number":case"String":return o([g,d.valueOf()],d)}if(i&&"toJSON"in d)return u(d.toJSON());const x=[],b=o([p,x],d);for(const v of p3(d))(e||!xu(go(d[v])))&&x.push([u(v),u(d[v])]);return b}case dg:return o([p,isNaN(d.getTime())?Vr:d.toISOString()],d);case fg:{const{source:x,flags:b}=d;return o([p,{source:x,flags:b}],d)}case pg:{const x=[],b=o([p,x],d);for(const[v,y]of d)(e||!(xu(go(v))||xu(go(y))))&&x.push([u(v),u(y)]);return b}case mg:{const x=[],b=o([p,x],d);for(const v of d)(e||!xu(go(v)))&&x.push(u(v));return b}}const{message:h}=d;return o([p,{name:g,message:h}],d)};return u},B1=(e,{json:i,lossy:a}={})=>{const r=[];return h3(!(i||a),!!i,new Map,r)(e),r},Qu=typeof structuredClone=="function"?(e,i)=>i&&("json"in i||"lossy"in i)?U1(B1(e,i)):structuredClone(e):(e,i)=>U1(B1(e,i));function g3(e,i){const a=[{type:"text",value:"↩"}];return i>1&&a.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(i)}]}),a}function x3(e,i){return"Back to reference "+(e+1)+(i>1?"-"+i:"")}function b3(e){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",a=e.options.footnoteBackContent||g3,r=e.options.footnoteBackLabel||x3,o=e.options.footnoteLabel||"Footnotes",u=e.options.footnoteLabelTagName||"h2",d=e.options.footnoteLabelProperties||{className:["sr-only"]},p=[];let g=-1;for(;++g<e.footnoteOrder.length;){const h=e.footnoteById.get(e.footnoteOrder[g]);if(!h)continue;const x=e.all(h),b=String(h.identifier).toUpperCase(),v=ml(b.toLowerCase());let y=0;const k=[],N=e.footnoteCounts.get(b);for(;N!==void 0&&++y<=N;){k.length>0&&k.push({type:"text",value:" "});let A=typeof a=="string"?a:a(g,y);typeof A=="string"&&(A={type:"text",value:A}),k.push({type:"element",tagName:"a",properties:{href:"#"+i+"fnref-"+v+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(g,y),className:["data-footnote-backref"]},children:Array.isArray(A)?A:[A]})}const _=x[x.length-1];if(_&&_.type==="element"&&_.tagName==="p"){const A=_.children[_.children.length-1];A&&A.type==="text"?A.value+=" ":_.children.push({type:"text",value:" "}),_.children.push(...k)}else x.push(...k);const T={type:"element",tagName:"li",properties:{id:i+"fn-"+v},children:e.wrap(x,!0)};e.patch(h,T),p.push(T)}if(p.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:u,properties:{...Qu(d),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:`
|
|
255
|
-
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(p,!0)},{type:"text",value:`
|
|
256
|
-
`}]}}const $o=(function(e){if(e==null)return k3;if(typeof e=="function")return _d(e);if(typeof e=="object")return Array.isArray(e)?y3(e):v3(e);if(typeof e=="string")return w3(e);throw new Error("Expected function, string, or object as test")});function y3(e){const i=[];let a=-1;for(;++a<e.length;)i[a]=$o(e[a]);return _d(r);function r(...o){let u=-1;for(;++u<i.length;)if(i[u].apply(this,o))return!0;return!1}}function v3(e){const i=e;return _d(a);function a(r){const o=r;let u;for(u in e)if(o[u]!==i[u])return!1;return!0}}function w3(e){return _d(i);function i(a){return a&&a.type===e}}function _d(e){return i;function i(a,r,o){return!!(E3(a)&&e.call(this,a,typeof r=="number"?r:void 0,o||void 0))}}function k3(){return!0}function E3(e){return e!==null&&typeof e=="object"&&"type"in e}const zk=[],_3=!0,Eh=!1,N3="skip";function Lk(e,i,a,r){let o;typeof i=="function"&&typeof a!="function"?(r=a,a=i):o=i;const u=$o(o),d=r?-1:1;p(e,void 0,[])();function p(g,h,x){const b=g&&typeof g=="object"?g:{};if(typeof b.type=="string"){const y=typeof b.tagName=="string"?b.tagName:typeof b.name=="string"?b.name:void 0;Object.defineProperty(v,"name",{value:"node ("+(g.type+(y?"<"+y+">":""))+")"})}return v;function v(){let y=zk,k,N,_;if((!i||u(g,h,x[x.length-1]||void 0))&&(y=S3(a(g,x)),y[0]===Eh))return y;if("children"in g&&g.children){const T=g;if(T.children&&y[0]!==N3)for(N=(r?T.children.length:-1)+d,_=x.concat(T);N>-1&&N<T.children.length;){const A=T.children[N];if(k=p(A,N,_)(),k[0]===Eh)return k;N=typeof k[1]=="number"?k[1]:N+d}}return y}}}function S3(e){return Array.isArray(e)?e:typeof e=="number"?[_3,e]:e==null?zk:[e]}function Nd(e,i,a,r){let o,u,d;typeof i=="function"&&typeof a!="function"?(u=void 0,d=i,o=a):(u=i,d=a,o=r),Lk(e,u,p,o);function p(g,h){const x=h[h.length-1],b=x?x.children.indexOf(g):void 0;return d(g,b,x)}}const _h={}.hasOwnProperty,T3={};function C3(e,i){const a=i||T3,r=new Map,o=new Map,u=new Map,d={...c3,...a.handlers},p={all:h,applyData:O3,definitionById:r,footnoteById:o,footnoteCounts:u,footnoteOrder:[],handlers:d,one:g,options:a,patch:A3,wrap:M3};return Nd(e,function(x){if(x.type==="definition"||x.type==="footnoteDefinition"){const b=x.type==="definition"?r:o,v=String(x.identifier).toUpperCase();b.has(v)||b.set(v,x)}}),p;function g(x,b){const v=x.type,y=p.handlers[v];if(_h.call(p.handlers,v)&&y)return y(p,x,b);if(p.options.passThrough&&p.options.passThrough.includes(v)){if("children"in x){const{children:N,..._}=x,T=Qu(_);return T.children=p.all(x),T}return Qu(x)}return(p.options.unknownHandler||j3)(p,x,b)}function h(x){const b=[];if("children"in x){const v=x.children;let y=-1;for(;++y<v.length;){const k=p.one(v[y],x);if(k){if(y&&v[y-1].type==="break"&&(!Array.isArray(k)&&k.type==="text"&&(k.value=$1(k.value)),!Array.isArray(k)&&k.type==="element")){const N=k.children[0];N&&N.type==="text"&&(N.value=$1(N.value))}Array.isArray(k)?b.push(...k):b.push(k)}}}return b}}function A3(e,i){e.position&&(i.position=xM(e))}function O3(e,i){let a=i;if(e&&e.data){const r=e.data.hName,o=e.data.hChildren,u=e.data.hProperties;if(typeof r=="string")if(a.type==="element")a.tagName=r;else{const d="children"in a?a.children:[a];a={type:"element",tagName:r,properties:{},children:d}}a.type==="element"&&u&&Object.assign(a.properties,Qu(u)),"children"in a&&a.children&&o!==null&&o!==void 0&&(a.children=o)}return a}function j3(e,i){const a=i.data||{},r="value"in i&&!(_h.call(a,"hProperties")||_h.call(a,"hChildren"))?{type:"text",value:i.value}:{type:"element",tagName:"div",properties:{},children:e.all(i)};return e.patch(i,r),e.applyData(i,r)}function M3(e,i){const a=[];let r=-1;for(i&&a.push({type:"text",value:`
|
|
257
|
-
`});++r<e.length;)r&&a.push({type:"text",value:`
|
|
258
|
-
`}),a.push(e[r]);return i&&e.length>0&&a.push({type:"text",value:`
|
|
259
|
-
`}),a}function $1(e){let i=0,a=e.charCodeAt(i);for(;a===9||a===32;)i++,a=e.charCodeAt(i);return e.slice(i)}function H1(e,i){const a=C3(e,i),r=a.one(e,void 0),o=b3(a),u=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return o&&u.children.push({type:"text",value:`
|
|
260
|
-
`},o),u}function R3(e,i){return e&&"run"in e?async function(a,r){const o=H1(a,{file:r,...i});await e.run(o,r)}:function(a,r){return H1(a,{file:r,...e||i})}}function P1(e){if(e)throw e}var Sm,F1;function D3(){if(F1)return Sm;F1=1;var e=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):i.call(h)==="[object Array]"},u=function(h){if(!h||i.call(h)!=="[object Object]")return!1;var x=e.call(h,"constructor"),b=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!x&&!b)return!1;var v;for(v in h);return typeof v>"u"||e.call(h,v)},d=function(h,x){a&&x.name==="__proto__"?a(h,x.name,{enumerable:!0,configurable:!0,value:x.newValue,writable:!0}):h[x.name]=x.newValue},p=function(h,x){if(x==="__proto__")if(e.call(h,x)){if(r)return r(h,x).value}else return;return h[x]};return Sm=function g(){var h,x,b,v,y,k,N=arguments[0],_=1,T=arguments.length,A=!1;for(typeof N=="boolean"&&(A=N,N=arguments[1]||{},_=2),(N==null||typeof N!="object"&&typeof N!="function")&&(N={});_<T;++_)if(h=arguments[_],h!=null)for(x in h)b=p(N,x),v=p(h,x),N!==v&&(A&&v&&(u(v)||(y=o(v)))?(y?(y=!1,k=b&&o(b)?b:[]):k=b&&u(b)?b:{},d(N,{name:x,newValue:g(A,k,v)})):typeof v<"u"&&d(N,{name:x,newValue:v}));return N},Sm}var z3=D3();const Tm=td(z3);function Nh(e){if(typeof e!="object"||e===null)return!1;const i=Object.getPrototypeOf(e);return(i===null||i===Object.prototype||Object.getPrototypeOf(i)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function L3(){const e=[],i={run:a,use:r};return i;function a(...o){let u=-1;const d=o.pop();if(typeof d!="function")throw new TypeError("Expected function as last argument, not "+d);p(null,...o);function p(g,...h){const x=e[++u];let b=-1;if(g){d(g);return}for(;++b<o.length;)(h[b]===null||h[b]===void 0)&&(h[b]=o[b]);o=h,x?I3(x,p)(...h):d(null,...h)}}function r(o){if(typeof o!="function")throw new TypeError("Expected `middelware` to be a function, not "+o);return e.push(o),i}}function I3(e,i){let a;return r;function r(...d){const p=e.length>d.length;let g;p&&d.push(o);try{g=e.apply(this,d)}catch(h){const x=h;if(p&&a)throw x;return o(x)}p||(g&&g.then&&typeof g.then=="function"?g.then(u,o):g instanceof Error?o(g):u(g))}function o(d,...p){a||(a=!0,i(d,...p))}function u(d){o(null,d)}}const ea={basename:U3,dirname:B3,extname:$3,join:H3,sep:"/"};function U3(e,i){if(i!==void 0&&typeof i!="string")throw new TypeError('"ext" argument must be a string');Ho(e);let a=0,r=-1,o=e.length,u;if(i===void 0||i.length===0||i.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(u){a=o+1;break}}else r<0&&(u=!0,r=o+1);return r<0?"":e.slice(a,r)}if(i===e)return"";let d=-1,p=i.length-1;for(;o--;)if(e.codePointAt(o)===47){if(u){a=o+1;break}}else d<0&&(u=!0,d=o+1),p>-1&&(e.codePointAt(o)===i.codePointAt(p--)?p<0&&(r=o):(p=-1,r=d));return a===r?r=d:r<0&&(r=e.length),e.slice(a,r)}function B3(e){if(Ho(e),e.length===0)return".";let i=-1,a=e.length,r;for(;--a;)if(e.codePointAt(a)===47){if(r){i=a;break}}else r||(r=!0);return i<0?e.codePointAt(0)===47?"/":".":i===1&&e.codePointAt(0)===47?"//":e.slice(0,i)}function $3(e){Ho(e);let i=e.length,a=-1,r=0,o=-1,u=0,d;for(;i--;){const p=e.codePointAt(i);if(p===47){if(d){r=i+1;break}continue}a<0&&(d=!0,a=i+1),p===46?o<0?o=i:u!==1&&(u=1):o>-1&&(u=-1)}return o<0||a<0||u===0||u===1&&o===a-1&&o===r+1?"":e.slice(o,a)}function H3(...e){let i=-1,a;for(;++i<e.length;)Ho(e[i]),e[i]&&(a=a===void 0?e[i]:a+"/"+e[i]);return a===void 0?".":P3(a)}function P3(e){Ho(e);const i=e.codePointAt(0)===47;let a=F3(e,!i);return a.length===0&&!i&&(a="."),a.length>0&&e.codePointAt(e.length-1)===47&&(a+="/"),i?"/"+a:a}function F3(e,i){let a="",r=0,o=-1,u=0,d=-1,p,g;for(;++d<=e.length;){if(d<e.length)p=e.codePointAt(d);else{if(p===47)break;p=47}if(p===47){if(!(o===d-1||u===1))if(o!==d-1&&u===2){if(a.length<2||r!==2||a.codePointAt(a.length-1)!==46||a.codePointAt(a.length-2)!==46){if(a.length>2){if(g=a.lastIndexOf("/"),g!==a.length-1){g<0?(a="",r=0):(a=a.slice(0,g),r=a.length-1-a.lastIndexOf("/")),o=d,u=0;continue}}else if(a.length>0){a="",r=0,o=d,u=0;continue}}i&&(a=a.length>0?a+"/..":"..",r=2)}else a.length>0?a+="/"+e.slice(o+1,d):a=e.slice(o+1,d),r=d-o-1;o=d,u=0}else p===46&&u>-1?u++:u=-1}return a}function Ho(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const q3={cwd:G3};function G3(){return"/"}function Sh(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Y3(e){if(typeof e=="string")e=new URL(e);else if(!Sh(e)){const i=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw i.code="ERR_INVALID_ARG_TYPE",i}if(e.protocol!=="file:"){const i=new TypeError("The URL must be of scheme file");throw i.code="ERR_INVALID_URL_SCHEME",i}return K3(e)}function K3(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const i=e.pathname;let a=-1;for(;++a<i.length;)if(i.codePointAt(a)===37&&i.codePointAt(a+1)===50){const r=i.codePointAt(a+2);if(r===70||r===102){const o=new TypeError("File URL path must not include encoded / characters");throw o.code="ERR_INVALID_FILE_URL_PATH",o}}return decodeURIComponent(i)}const Cm=["history","path","basename","stem","extname","dirname"];class Ik{constructor(i){let a;i?Sh(i)?a={path:i}:typeof i=="string"||V3(i)?a={value:i}:a=i:a={},this.cwd="cwd"in a?"":q3.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Cm.length;){const u=Cm[r];u in a&&a[u]!==void 0&&a[u]!==null&&(this[u]=u==="history"?[...a[u]]:a[u])}let o;for(o in a)Cm.includes(o)||(this[o]=a[o])}get basename(){return typeof this.path=="string"?ea.basename(this.path):void 0}set basename(i){Om(i,"basename"),Am(i,"basename"),this.path=ea.join(this.dirname||"",i)}get dirname(){return typeof this.path=="string"?ea.dirname(this.path):void 0}set dirname(i){q1(this.basename,"dirname"),this.path=ea.join(i||"",this.basename)}get extname(){return typeof this.path=="string"?ea.extname(this.path):void 0}set extname(i){if(Am(i,"extname"),q1(this.dirname,"extname"),i){if(i.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(i.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=ea.join(this.dirname,this.stem+(i||""))}get path(){return this.history[this.history.length-1]}set path(i){Sh(i)&&(i=Y3(i)),Om(i,"path"),this.path!==i&&this.history.push(i)}get stem(){return typeof this.path=="string"?ea.basename(this.path,this.extname):void 0}set stem(i){Om(i,"stem"),Am(i,"stem"),this.path=ea.join(this.dirname||"",i+(this.extname||""))}fail(i,a,r){const o=this.message(i,a,r);throw o.fatal=!0,o}info(i,a,r){const o=this.message(i,a,r);return o.fatal=void 0,o}message(i,a,r){const o=new Mn(i,a,r);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(i){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(i||void 0).decode(this.value)}}function Am(e,i){if(e&&e.includes(ea.sep))throw new Error("`"+i+"` cannot be a path: did not expect `"+ea.sep+"`")}function Om(e,i){if(!e)throw new Error("`"+i+"` cannot be empty")}function q1(e,i){if(!e)throw new Error("Setting `"+i+"` requires `path` to be set too")}function V3(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const X3=(function(e){const r=this.constructor.prototype,o=r[e],u=function(){return o.apply(u,arguments)};return Object.setPrototypeOf(u,r),u}),Z3={}.hasOwnProperty;class hg extends X3{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=L3()}copy(){const i=new hg;let a=-1;for(;++a<this.attachers.length;){const r=this.attachers[a];i.use(...r)}return i.data(Tm(!0,{},this.namespace)),i}data(i,a){return typeof i=="string"?arguments.length===2?(Rm("data",this.frozen),this.namespace[i]=a,this):Z3.call(this.namespace,i)&&this.namespace[i]||void 0:i?(Rm("data",this.frozen),this.namespace=i,this):this.namespace}freeze(){if(this.frozen)return this;const i=this;for(;++this.freezeIndex<this.attachers.length;){const[a,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const o=a.call(i,...r);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(i){this.freeze();const a=bu(i),r=this.parser||this.Parser;return jm("parse",r),r(String(a),a)}process(i,a){const r=this;return this.freeze(),jm("process",this.parser||this.Parser),Mm("process",this.compiler||this.Compiler),a?o(void 0,a):new Promise(o);function o(u,d){const p=bu(i),g=r.parse(p);r.run(g,p,function(x,b,v){if(x||!b||!v)return h(x);const y=b,k=r.stringify(y,v);J3(k)?v.value=k:v.result=k,h(x,v)});function h(x,b){x||!b?d(x):u?u(b):a(void 0,b)}}}processSync(i){let a=!1,r;return this.freeze(),jm("processSync",this.parser||this.Parser),Mm("processSync",this.compiler||this.Compiler),this.process(i,o),Y1("processSync","process",a),r;function o(u,d){a=!0,P1(u),r=d}}run(i,a,r){G1(i),this.freeze();const o=this.transformers;return!r&&typeof a=="function"&&(r=a,a=void 0),r?u(void 0,r):new Promise(u);function u(d,p){const g=bu(a);o.run(i,g,h);function h(x,b,v){const y=b||i;x?p(x):d?d(y):r(void 0,y,v)}}}runSync(i,a){let r=!1,o;return this.run(i,a,u),Y1("runSync","run",r),o;function u(d,p){P1(d),o=p,r=!0}}stringify(i,a){this.freeze();const r=bu(a),o=this.compiler||this.Compiler;return Mm("stringify",o),G1(i),o(i,r)}use(i,...a){const r=this.attachers,o=this.namespace;if(Rm("use",this.frozen),i!=null)if(typeof i=="function")g(i,a);else if(typeof i=="object")Array.isArray(i)?p(i):d(i);else throw new TypeError("Expected usable value, not `"+i+"`");return this;function u(h){if(typeof h=="function")g(h,[]);else if(typeof h=="object")if(Array.isArray(h)){const[x,...b]=h;g(x,b)}else d(h);else throw new TypeError("Expected usable value, not `"+h+"`")}function d(h){if(!("plugins"in h)&&!("settings"in h))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");p(h.plugins),h.settings&&(o.settings=Tm(!0,o.settings,h.settings))}function p(h){let x=-1;if(h!=null)if(Array.isArray(h))for(;++x<h.length;){const b=h[x];u(b)}else throw new TypeError("Expected a list of plugins, not `"+h+"`")}function g(h,x){let b=-1,v=-1;for(;++b<r.length;)if(r[b][0]===h){v=b;break}if(v===-1)r.push([h,...x]);else if(x.length>0){let[y,...k]=x;const N=r[v][1];Nh(N)&&Nh(y)&&(y=Tm(!0,N,y)),r[v]=[h,y,...k]}}}}const Q3=new hg().freeze();function jm(e,i){if(typeof i!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Mm(e,i){if(typeof i!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Rm(e,i){if(i)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function G1(e){if(!Nh(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Y1(e,i,a){if(!a)throw new Error("`"+e+"` finished async. Use `"+i+"` instead")}function bu(e){return W3(e)?e:new Ik(e)}function W3(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function J3(e){return typeof e=="string"||eD(e)}function eD(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const tD="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",K1=[],V1={allowDangerousHtml:!0},nD=/^(https?|ircs?|mailto|xmpp)$/i,iD=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function aD(e){const i=rD(e),a=sD(e);return lD(i.runSync(i.parse(a),a),e)}function rD(e){const i=e.rehypePlugins||K1,a=e.remarkPlugins||K1,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...V1}:V1;return Q3().use(I5).use(a).use(R3,r).use(i)}function sD(e){const i=e.children||"",a=new Ik;return typeof i=="string"&&(a.value=i),a}function lD(e,i){const a=i.allowedElements,r=i.allowElement,o=i.components,u=i.disallowedElements,d=i.skipHtml,p=i.unwrapDisallowed,g=i.urlTransform||oD;for(const x of iD)Object.hasOwn(i,x.from)&&(""+x.from+(x.to?"use `"+x.to+"` instead":"remove it")+tD+x.id,void 0);return Nd(e,h),kM(e,{Fragment:c.Fragment,components:o,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function h(x,b,v){if(x.type==="raw"&&v&&typeof b=="number")return d?v.children.splice(b,1):v.children[b]={type:"text",value:x.value},b;if(x.type==="element"){let y;for(y in Em)if(Object.hasOwn(Em,y)&&Object.hasOwn(x.properties,y)){const k=x.properties[y],N=Em[y];(N===null||N.includes(x.tagName))&&(x.properties[y]=g(String(k||""),y,x))}}if(x.type==="element"){let y=a?!a.includes(x.tagName):u?u.includes(x.tagName):!1;if(!y&&r&&typeof b=="number"&&(y=!r(x,b,v)),y&&v&&typeof b=="number")return p&&x.children?v.children.splice(b,1,...x.children):v.children.splice(b,1),b}}}function oD(e){const i=e.indexOf(":"),a=e.indexOf("?"),r=e.indexOf("#"),o=e.indexOf("/");return i===-1||o!==-1&&i>o||a!==-1&&i>a||r!==-1&&i>r||nD.test(e.slice(0,i))?e:""}function X1(e,i){const a=String(e);if(typeof i!="string")throw new TypeError("Expected character");let r=0,o=a.indexOf(i);for(;o!==-1;)r++,o=a.indexOf(i,o+i.length);return r}function cD(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function uD(e,i,a){const o=$o((a||{}).ignore||[]),u=dD(i);let d=-1;for(;++d<u.length;)Lk(e,"text",p);function p(h,x){let b=-1,v;for(;++b<x.length;){const y=x[b],k=v?v.children:void 0;if(o(y,k?k.indexOf(y):void 0,v))return;v=y}if(v)return g(h,x)}function g(h,x){const b=x[x.length-1],v=u[d][0],y=u[d][1];let k=0;const _=b.children.indexOf(h);let T=!1,A=[];v.lastIndex=0;let S=v.exec(h.value);for(;S;){const B=S.index,M={index:S.index,input:S.input,stack:[...x,h]};let C=y(...S,M);if(typeof C=="string"&&(C=C.length>0?{type:"text",value:C}:void 0),C===!1)v.lastIndex=B+1;else{if(k!==B&&U({type:"text",value:h.value.slice(k,B)}),Array.isArray(C))for(const I of C)U(I);else C&&U(C);k=B+S[0].length,T=!0}if(!v.global)break;S=v.exec(h.value)}return T?(k<h.value.length&&U({type:"text",value:h.value.slice(k)}),b.children.splice(_,1,...A)):A=[h],_+A.length;function U(B){const M=A[A.length-1];M&&M.type==="text"&&B.type==="text"?M.value+=B.value:A.push(B)}}}function dD(e){if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const i=[],a=!e[0]||Array.isArray(e[0])?e:[e];let r=-1;for(;++r<a.length;){const o=a[r];i.push([fD(o[0]),pD(o[1])])}return i}function fD(e){return typeof e=="string"?new RegExp(cD(e),"g"):e}function pD(e){return typeof e=="function"?e:function(){return e}}const Dm="phrasing",zm=["autolink","link","image","label"];function mD(){return{transforms:[wD],enter:{literalAutolink:gD,literalAutolinkEmail:Lm,literalAutolinkHttp:Lm,literalAutolinkWww:Lm},exit:{literalAutolink:vD,literalAutolinkEmail:yD,literalAutolinkHttp:xD,literalAutolinkWww:bD}}}function hD(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Dm,notInConstruct:zm},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Dm,notInConstruct:zm},{character:":",before:"[ps]",after:"\\/",inConstruct:Dm,notInConstruct:zm}]}}function gD(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Lm(e){this.config.enter.autolinkProtocol.call(this,e)}function xD(e){this.config.exit.autolinkProtocol.call(this,e)}function bD(e){this.config.exit.data.call(this,e);const i=this.stack[this.stack.length-1];i.type,i.url="http://"+this.sliceSerialize(e)}function yD(e){this.config.exit.autolinkEmail.call(this,e)}function vD(e){this.exit(e)}function wD(e){uD(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,kD],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,ED]],{ignore:["link","linkReference"]})}function kD(e,i,a,r,o){let u="";if(!Uk(o)||(/^w/i.test(i)&&(a=i+a,i="",u="http://"),!_D(a)))return!1;const d=ND(a+r);if(!d[0])return!1;const p={type:"link",title:null,url:u+i+d[0],children:[{type:"text",value:i+d[0]}]};return d[1]?[p,{type:"text",value:d[1]}]:p}function ED(e,i,a,r){return!Uk(r,!0)||/[-\d_]$/.test(a)?!1:{type:"link",title:null,url:"mailto:"+i+"@"+a,children:[{type:"text",value:i+"@"+a}]}}function _D(e){const i=e.split(".");return!(i.length<2||i[i.length-1]&&(/_/.test(i[i.length-1])||!/[a-zA-Z\d]/.test(i[i.length-1]))||i[i.length-2]&&(/_/.test(i[i.length-2])||!/[a-zA-Z\d]/.test(i[i.length-2])))}function ND(e){const i=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!i)return[e,void 0];e=e.slice(0,i.index);let a=i[0],r=a.indexOf(")");const o=X1(e,"(");let u=X1(e,")");for(;r!==-1&&o>u;)e+=a.slice(0,r+1),a=a.slice(r+1),r=a.indexOf(")"),u++;return[e,a]}function Uk(e,i){const a=e.input.charCodeAt(e.index-1);return(e.index===0||ts(a)||wd(a))&&(!i||a!==47)}Bk.peek=DD;function SD(){this.buffer()}function TD(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function CD(){this.buffer()}function AD(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function OD(e){const i=this.resume(),a=this.stack[this.stack.length-1];a.type,a.identifier=Li(this.sliceSerialize(e)).toLowerCase(),a.label=i}function jD(e){this.exit(e)}function MD(e){const i=this.resume(),a=this.stack[this.stack.length-1];a.type,a.identifier=Li(this.sliceSerialize(e)).toLowerCase(),a.label=i}function RD(e){this.exit(e)}function DD(){return"["}function Bk(e,i,a,r){const o=a.createTracker(r);let u=o.move("[^");const d=a.enter("footnoteReference"),p=a.enter("reference");return u+=o.move(a.safe(a.associationId(e),{after:"]",before:u})),p(),d(),u+=o.move("]"),u}function zD(){return{enter:{gfmFootnoteCallString:SD,gfmFootnoteCall:TD,gfmFootnoteDefinitionLabelString:CD,gfmFootnoteDefinition:AD},exit:{gfmFootnoteCallString:OD,gfmFootnoteCall:jD,gfmFootnoteDefinitionLabelString:MD,gfmFootnoteDefinition:RD}}}function LD(e){let i=!1;return e&&e.firstLineBlank&&(i=!0),{handlers:{footnoteDefinition:a,footnoteReference:Bk},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function a(r,o,u,d){const p=u.createTracker(d);let g=p.move("[^");const h=u.enter("footnoteDefinition"),x=u.enter("label");return g+=p.move(u.safe(u.associationId(r),{before:g,after:"]"})),x(),g+=p.move("]:"),r.children&&r.children.length>0&&(p.shift(4),g+=p.move((i?`
|
|
261
|
-
`:" ")+u.indentLines(u.containerFlow(r,p.current()),i?$k:ID))),h(),g}}function ID(e,i,a){return i===0?e:$k(e,i,a)}function $k(e,i,a){return(a?"":" ")+e}const UD=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];gg.attention=FD;gg.peek=qD;function BD(){return{canContainEols:["delete"],enter:{strikethrough:HD},exit:{strikethrough:PD}}}function $D(){return{handlers:{delete:gg},unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:UD}]}}function HD(e){this.enter({type:"delete",children:[],position:void 0},e)}function PD(e){this.exit(e)}function gg(e,i,a,r){const o=a.createTracker(r),u=a.stack.includes("strikethrough")?"~":"~~",d=a.enter("strikethrough");let p=o.move(u);return p+=a.containerPhrasing(e,{...o.current(),before:p,after:"~"}),p+=o.move(u),d(),p}function FD(){return{construct:"strikethrough",markers:["~"],sizes:[2,1]}}function qD(){return"~"}function GD(e){return e.length}function YD(e,i){const a=i||{},r=(a.align||[]).concat(),o=a.stringLength||GD,u=[],d=[],p=[],g=[];let h=0,x=-1;for(;++x<e.length;){const N=[],_=[];let T=-1;for(e[x].length>h&&(h=e[x].length);++T<e[x].length;){const A=KD(e[x][T]);if(a.alignDelimiters!==!1){const S=o(A);_[T]=S,(g[T]===void 0||S>g[T])&&(g[T]=S)}N.push(A)}d[x]=N,p[x]=_}let b=-1;if(typeof r=="object"&&"length"in r)for(;++b<h;)u[b]=Z1(r[b]);else{const N=Z1(r);for(;++b<h;)u[b]=N}b=-1;const v=[],y=[];for(;++b<h;){const N=u[b];let _="",T="";N===99?(_=":",T=":"):N===108?_=":":N===114&&(T=":");let A=a.alignDelimiters===!1?1:Math.max(1,g[b]-_.length-T.length);const S=_+"-".repeat(A)+T;a.alignDelimiters!==!1&&(A=_.length+A+T.length,A>g[b]&&(g[b]=A),y[b]=A),v[b]=S}d.splice(1,0,v),p.splice(1,0,y),x=-1;const k=[];for(;++x<d.length;){const N=d[x],_=p[x];b=-1;const T=[];for(;++b<h;){const A=N[b]||"";let S="",U="";if(a.alignDelimiters!==!1){const B=g[b]-(_[b]||0),M=u[b];M===114?S=" ".repeat(B):M===99?B%2?(S=" ".repeat(B/2+.5),U=" ".repeat(B/2-.5)):(S=" ".repeat(B/2),U=S):U=" ".repeat(B)}a.delimiterStart!==!1&&!b&&T.push("|"),a.padding!==!1&&!(a.alignDelimiters===!1&&A==="")&&(a.delimiterStart!==!1||b)&&T.push(" "),a.alignDelimiters!==!1&&T.push(S),T.push(A),a.alignDelimiters!==!1&&T.push(U),a.padding!==!1&&T.push(" "),(a.delimiterEnd!==!1||b!==h-1)&&T.push("|")}k.push(a.delimiterEnd===!1?T.join("").replace(/ +$/,""):T.join(""))}return k.join(`
|
|
262
|
-
`)}function KD(e){return e==null?"":String(e)}function Z1(e){const i=typeof e=="string"?e.codePointAt(0):0;return i===67||i===99?99:i===76||i===108?108:i===82||i===114?114:0}const VD=$o(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function XD(e,i,a,r){const o=a.enter("blockquote"),u=a.createTracker(r);u.move("> "),u.shift(2);const d=a.indentLines(a.containerFlow(e,u.current()),ZD);return o(),d}function ZD(e,i,a){return">"+(a?"":" ")+e}function QD(e,i){return Q1(e,i.inConstruct,!0)&&!Q1(e,i.notInConstruct,!1)}function Q1(e,i,a){if(typeof i=="string"&&(i=[i]),!i||i.length===0)return a;let r=-1;for(;++r<i.length;)if(e.includes(i[r]))return!0;return!1}function W1(e,i,a,r){let o=-1;for(;++o<a.unsafe.length;){const u=a.unsafe[o];if(u.character===`
|
|
263
|
-
`&&!u.before&&!u.after&&QD(a.stack,u))return/[\t ]/.test(r.before)?"":" "}return`\\
|
|
264
|
-
`}function WD(e,i){const a=String(e);let r=a.indexOf(i),o=r,u=0,d=0;if(typeof i!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===o?++u>d&&(d=u):u=1,o=r+i.length,r=a.indexOf(i,o);return d}function JD(e,i){return!!(i.options.fences===!1&&e.value&&!e.lang&&/[^\n\r ]/.test(e.value)&&!/^[\t ]*(?:[\n\r]|$)|(?:^|[\n\r])[\t ]*$/.test(e.value))}function e4(e){const i=e.options.fence||"`";if(i!=="`"&&i!=="~")throw new Error("Cannot serialize code with `"+i+"` for `options.fence`, expected `` ` `` or `~`");return i}function t4(e,i,a,r){const o=e4(a),u=e.value||"";if(JD(e,a)){const b=a.enter("codeIndented"),v=a.indentLines(u,n4);return b(),v}const d=a.createTracker(r),p=o.repeat(Math.max(WD(u,o)+1,3)),g=a.enter("codeFenced"),h=o==="`"?"GraveAccent":"Tilde";let x=d.move(p);if(e.lang){const b=a.enter(`codeFencedLang${h}`);x+=d.move(a.safe(e.lang,{before:x,after:" ",encode:["`"],...d.current()})),b()}if(e.lang&&e.meta){const b=a.enter(`codeFencedMeta${h}`);x+=d.move(" "),x+=d.move(a.safe(e.meta,{before:x,after:`
|
|
265
|
-
`,encode:["`"],...d.current()})),b()}return x+=d.move(`
|
|
266
|
-
`),u&&(x+=d.move(u+`
|
|
267
|
-
`)),x+=d.move(p),g(),x}function n4(e,i,a){return(a?"":" ")+e}function xg(e){const i=e.options.quote||'"';if(i!=='"'&&i!=="'")throw new Error("Cannot serialize title with `"+i+"` for `options.quote`, expected `\"`, or `'`");return i}function i4(e,i,a,r){const o=xg(a),u=o==='"'?"Quote":"Apostrophe",d=a.enter("definition");let p=a.enter("label");const g=a.createTracker(r);let h=g.move("[");return h+=g.move(a.safe(a.associationId(e),{before:h,after:"]",...g.current()})),h+=g.move("]: "),p(),!e.url||/[\0- \u007F]/.test(e.url)?(p=a.enter("destinationLiteral"),h+=g.move("<"),h+=g.move(a.safe(e.url,{before:h,after:">",...g.current()})),h+=g.move(">")):(p=a.enter("destinationRaw"),h+=g.move(a.safe(e.url,{before:h,after:e.title?" ":`
|
|
268
|
-
`,...g.current()}))),p(),e.title&&(p=a.enter(`title${u}`),h+=g.move(" "+o),h+=g.move(a.safe(e.title,{before:h,after:o,...g.current()})),h+=g.move(o),p()),d(),h}function a4(e){const i=e.options.emphasis||"*";if(i!=="*"&&i!=="_")throw new Error("Cannot serialize emphasis with `"+i+"` for `options.emphasis`, expected `*`, or `_`");return i}bg.attention=r4;bg.peek=s4;function bg(e,i,a,r){const o=a.enter("phrasing"),u=a.containerPhrasing({type:"root",children:[e]},r);return o(),u}function r4(e,i){return{construct:"emphasis",markers:a4(i)==="*"?["*","_"]:["_","*"],sizes:[1]}}function s4(e,i,a){return a.options.emphasis||"*"}function l4(e){return"&#x"+e.toString(16).toUpperCase()+";"}function o4(e,i){let a=!1;return Nd(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return a=!0,Eh}),!!((!e.depth||e.depth<3)&&og(e)&&(i.options.setext||a))}function c4(e,i,a,r){const o=Math.max(Math.min(6,e.depth||1),1),u=a.createTracker(r);if(o4(e,a)){const b=a.enter("headingSetext"),v=a.enter("phrasing"),y=a.containerPhrasing(e,{...u.current(),before:`
|
|
269
|
-
`,after:`
|
|
270
|
-
`});return v(),b(),y+`
|
|
271
|
-
`+(o===1?"=":"-").repeat(y.length-(Math.max(y.lastIndexOf("\r"),y.lastIndexOf(`
|
|
272
|
-
`))+1))}const d="#".repeat(o),p=a.enter("headingAtx"),g=a.enter("phrasing");u.move(d+" ");let h=a.containerPhrasing(e,{before:"# ",after:`
|
|
273
|
-
`,...u.current()});const x=h.charCodeAt(0);return(x===9||x===32)&&(h=l4(x)+h.slice(1)),h=h?d+" "+h:d,a.options.closeAtx&&(h+=" "+d),g(),p(),h}Hk.peek=u4;function Hk(e){return e.value||""}function u4(){return"<"}Pk.peek=d4;function Pk(e,i,a,r){const o=xg(a),u=o==='"'?"Quote":"Apostrophe",d=a.enter("image");let p=a.enter("label");const g=a.createTracker(r);let h=g.move("![");return h+=g.move(a.safe(e.alt,{before:h,after:"]",...g.current()})),h+=g.move("]("),p(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(p=a.enter("destinationLiteral"),h+=g.move("<"),h+=g.move(a.safe(e.url,{before:h,after:">",...g.current()})),h+=g.move(">")):(p=a.enter("destinationRaw"),h+=g.move(a.safe(e.url,{before:h,after:e.title?" ":")",...g.current()}))),p(),e.title&&(p=a.enter(`title${u}`),h+=g.move(" "+o),h+=g.move(a.safe(e.title,{before:h,after:o,...g.current()})),h+=g.move(o),p()),h+=g.move(")"),d(),h}function d4(){return"!"}Fk.peek=f4;function Fk(e,i,a,r){const o=e.referenceType,u=a.enter("imageReference");let d=a.enter("label");const p=a.createTracker(r);let g=p.move("![");const h=a.safe(e.alt,{before:g,after:"]",...p.current()});g+=p.move(h+"]["),d();const x=a.stack;a.stack=x.filter(function(v){return v!=="phrasing"}),d=a.enter("reference");const b=a.safe(a.associationId(e),{before:g,after:"]",...p.current()});return d(),a.stack=x,u(),o==="full"||!h||h!==b?g+=p.move(b+"]"):o==="shortcut"?g=g.slice(0,-1):g+=p.move("]"),g}function f4(){return"!"}qk.peek=p4;function qk(e,i,a){let r=e.value||"",o="`",u=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^\n\r ]/.test(r)&&(/^[\n\r ]/.test(r)&&/[\n\r ]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++u<a.unsafe.length;){const d=a.unsafe[u],p=a.compilePattern(d);if(!d.atBreak)continue;let g;for(;g=p.exec(r);){let h=g.index;r.charCodeAt(h)===10&&r.charCodeAt(h-1)===13&&h--,r=r.slice(0,h)+" "+r.slice(g.index+1)}}return o+r+o}function p4(){return"`"}function Gk(e,i){const a=og(e);return!!(!i.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(a===e.url||"mailto:"+a===e.url)&&/^[a-z][+\-.a-z]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}Yk.peek=m4;function Yk(e,i,a,r){const o=xg(a),u=o==='"'?"Quote":"Apostrophe",d=a.createTracker(r);if(Gk(e,a)){const x=a.stack;a.stack=x.filter(function(y){return y!=="phrasing"});const b=a.enter("autolink");let v=d.move("<");return v+=d.move(a.containerPhrasing(e,{before:v,after:">",...d.current()})),v+=d.move(">"),b(),a.stack=x,v}const p=a.enter("link");let g=a.enter("label"),h=d.move("[");return h+=d.move(a.containerPhrasing(e,{before:h,after:"](",...d.current()})),h+=d.move("]("),g(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(g=a.enter("destinationLiteral"),h+=d.move("<"),h+=d.move(a.safe(e.url,{before:h,after:">",...d.current()})),h+=d.move(">")):(g=a.enter("destinationRaw"),h+=d.move(a.safe(e.url,{before:h,after:e.title?" ":")",...d.current()}))),g(),e.title&&(g=a.enter(`title${u}`),h+=d.move(" "+o),h+=d.move(a.safe(e.title,{before:h,after:o,...d.current()})),h+=d.move(o),g()),h+=d.move(")"),p(),h}function m4(e,i,a){return Gk(e,a)?"<":"["}Kk.peek=h4;function Kk(e,i,a,r){const o=e.referenceType,u=a.enter("linkReference");let d=a.enter("label");const p=a.createTracker(r);let g=p.move("[");const h=a.containerPhrasing(e,{before:g,after:"]",...p.current()});g+=p.move(h+"]["),d();const x=a.stack;a.stack=x.filter(function(v){return v!=="phrasing"}),d=a.enter("reference");const b=a.safe(a.associationId(e),{before:g,after:"]",...p.current()});return d(),a.stack=x,u(),o==="full"||!h||h!==b?g+=p.move(b+"]"):o==="shortcut"?g=g.slice(0,-1):g+=p.move("]"),g}function h4(){return"["}function yg(e){const i=e.options.bullet||"*";if(i!=="*"&&i!=="+"&&i!=="-")throw new Error("Cannot serialize items with `"+i+"` for `options.bullet`, expected `*`, `+`, or `-`");return i}function g4(e){const i=yg(e),a=e.options.bulletOther;if(!a)return i==="*"?"-":"*";if(a!=="*"&&a!=="+"&&a!=="-")throw new Error("Cannot serialize items with `"+a+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(a===i)throw new Error("Expected `bullet` (`"+i+"`) and `bulletOther` (`"+a+"`) to be different");return a}function x4(e){const i=e.options.bulletOrdered||".";if(i!=="."&&i!==")")throw new Error("Cannot serialize items with `"+i+"` for `options.bulletOrdered`, expected `.` or `)`");return i}function Vk(e){const i=e.options.rule||"*";if(i!=="*"&&i!=="-"&&i!=="_")throw new Error("Cannot serialize rules with `"+i+"` for `options.rule`, expected `*`, `-`, or `_`");return i}function b4(e,i,a,r){const o=a.enter("list"),u=a.bulletCurrent;let d=e.ordered?x4(a):yg(a);const p=e.ordered?d==="."?")":".":g4(a);let g=i&&a.bulletLastUsed?d===a.bulletLastUsed:!1;if(!e.ordered){const x=e.children?e.children[0]:void 0;if((d==="*"||d==="-")&&x&&(!x.children||!x.children[0])&&a.stack[a.stack.length-1]==="list"&&a.stack[a.stack.length-2]==="listItem"&&a.stack[a.stack.length-3]==="list"&&a.stack[a.stack.length-4]==="listItem"&&a.indexStack[a.indexStack.length-1]===0&&a.indexStack[a.indexStack.length-2]===0&&a.indexStack[a.indexStack.length-3]===0&&(g=!0),Vk(a)===d&&x){let b=-1;for(;++b<e.children.length;){const v=e.children[b];if(v&&v.type==="listItem"&&v.children&&v.children[0]&&v.children[0].type==="thematicBreak"){g=!0;break}}}}g&&(d=p),a.bulletCurrent=d;const h=a.containerFlow(e,r);return a.bulletLastUsed=d,a.bulletCurrent=u,o(),h}function y4(e){const i=e.options.listItemIndent||"one";if(i!=="tab"&&i!=="one"&&i!=="mixed")throw new Error("Cannot serialize items with `"+i+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return i}function v4(e,i,a,r){const o=y4(a);let u=a.bulletCurrent||yg(a);i&&i.type==="list"&&i.ordered&&(u=(typeof i.start=="number"&&i.start>-1?i.start:1)+(a.options.incrementListMarker===!1?0:i.children.indexOf(e))+u);let d=u.length+1;(o==="tab"||o==="mixed"&&(i&&i.type==="list"&&i.spread||e.spread))&&(d=Math.ceil(d/4)*4);const p=a.createTracker(r);p.move(u+" ".repeat(d-u.length)),p.shift(d);const g=a.enter("listItem"),h=a.indentLines(a.containerFlow(e,p.current()),x);return g(),h;function x(b,v,y){return v?(y?"":" ".repeat(d))+b:(y?u:u+" ".repeat(d-u.length))+b}}function w4(e,i,a,r){const o=a.enter("paragraph"),u=a.enter("phrasing"),d=a.containerPhrasing(e,r);return u(),o(),d}function k4(e,i,a,r){if(!e.children.some(function(p){return VD(p)}))return a.containerFlow(e,r);const u=a.enter("phrasing"),d=a.containerPhrasing(e,r);return u(),d}function E4(e){const i=e.options.strong||"*";if(i!=="*"&&i!=="_")throw new Error("Cannot serialize strong with `"+i+"` for `options.strong`, expected `*`, or `_`");return i}vg.attention=_4;vg.peek=N4;function vg(e,i,a,r){const o=a.enter("phrasing"),u=a.containerPhrasing({type:"root",children:[e]},r);return o(),u}function _4(e,i){return{construct:"strong",markers:E4(i)==="*"?["*","_"]:["_","*"],sizes:[2]}}function N4(e,i,a){return a.options.strong||"*"}function S4(e,i,a,r){const o=i?i.children:[],u=o.indexOf(e);return a.safe(e.value,{...r,afterNode:o[u+1],beforeNode:o[u-1]})}function T4(e){const i=e.options.ruleRepetition||3;if(i<3)throw new Error("Cannot serialize rules with repetition `"+i+"` for `options.ruleRepetition`, expected `3` or more");return i}function C4(e,i,a){const r=(Vk(a)+(a.options.ruleSpaces?" ":"")).repeat(T4(a));return a.options.ruleSpaces?r.slice(0,-1):r}const Xk={blockquote:XD,break:W1,code:t4,definition:i4,emphasis:bg,hardBreak:W1,heading:c4,html:Hk,image:Pk,imageReference:Fk,inlineCode:qk,link:Yk,linkReference:Kk,list:b4,listItem:v4,paragraph:w4,root:k4,strong:vg,text:S4,thematicBreak:C4};function A4(){return{enter:{table:O4,tableData:J1,tableHeader:J1,tableRow:M4},exit:{codeText:R4,table:j4,tableData:Im,tableHeader:Im,tableRow:Im}}}function O4(e){const i=e._align;this.enter({type:"table",align:i.map(function(a){return a==="none"?null:a}),children:[]},e),this.data.inTable=!0}function j4(e){this.exit(e),this.data.inTable=void 0}function M4(e){this.enter({type:"tableRow",children:[]},e)}function Im(e){this.exit(e)}function J1(e){this.enter({type:"tableCell",children:[]},e)}function R4(e){let i=this.resume();this.data.inTable&&(i=i.replace(/\\([\\|])/g,D4));const a=this.stack[this.stack.length-1];a.type,a.value=i,this.exit(e)}function D4(e,i){return i==="|"?i:e}function z4(e){const i=e||{},a=i.tableCellPadding,r=i.tablePipeAlign,o=i.stringLength,u=a?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
274
|
-
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:v,table:d,tableCell:g,tableRow:p}};function d(y,k,N,_){return h(x(y,N,_),y.align)}function p(y,k,N,_){const T=b(y,N,_),A=h([T]);return A.slice(0,A.indexOf(`
|
|
275
|
-
`))}function g(y,k,N,_){const T=N.enter("tableCell"),A=N.enter("phrasing"),S=N.containerPhrasing(y,{..._,before:u,after:u});return A(),T(),S}function h(y,k){return YD(y,{align:k,alignDelimiters:r,padding:a,stringLength:o})}function x(y,k,N){const _=y.children;let T=-1;const A=[],S=k.enter("table");for(;++T<_.length;)A[T]=b(_[T],k,N);return S(),A}function b(y,k,N){const _=y.children;let T=-1;const A=[],S=k.enter("tableRow");for(;++T<_.length;)A[T]=g(_[T],y,k,N);return S(),A}function v(y,k,N){let _=Xk.inlineCode(y,k,N);return N.stack.includes("tableCell")&&(_=_.replace(/\|/g,"\\$&")),_}}function L4(){return{exit:{taskListCheckValueChecked:ev,taskListCheckValueUnchecked:ev,paragraph:U4}}}function I4(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:B4}}}function ev(e){const i=this.stack[this.stack.length-2];i.type,i.checked=e.type==="taskListCheckValueChecked"}function U4(e){const i=this.stack[this.stack.length-2];if(i&&i.type==="listItem"&&typeof i.checked=="boolean"){const a=this.stack[this.stack.length-1];a.type;const r=a.children[0];if(r&&r.type==="text"){const o=i.children;let u=-1,d;for(;++u<o.length;){const p=o[u];if(p.type==="paragraph"){d=p;break}}d===a&&(r.value=r.value.slice(1),r.value.length===0?a.children.shift():a.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,a.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function B4(e,i,a,r){const o=e.children[0],u=typeof e.checked=="boolean"&&o&&o.type==="paragraph",d="["+(e.checked?"x":" ")+"] ",p=a.createTracker(r);u&&p.move(d);let g=Xk.listItem(e,i,a,{...r,...p.current()});return u&&(g=g.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),g;function h(x){return x+d}}function $4(){return[mD(),zD(),BD(),A4(),L4()]}function H4(e){return{extensions:[hD(),LD(e),$D(),z4(e),I4()]}}const P4={tokenize:V4,partial:!0},Zk={tokenize:X4,partial:!0},Qk={tokenize:Z4,partial:!0},Wk={tokenize:Q4,partial:!0},F4={tokenize:W4,partial:!0},Jk={name:"wwwAutolink",tokenize:Y4,previous:tE},eE={name:"protocolAutolink",tokenize:K4,previous:nE},za={name:"emailAutolink",tokenize:G4,previous:iE},la={};function q4(){return{text:la}}let Kr=48;for(;Kr<123;)la[Kr]=za,Kr++,Kr===58?Kr=65:Kr===91&&(Kr=97);la[43]=za;la[45]=za;la[46]=za;la[95]=za;la[72]=[za,eE];la[104]=[za,eE];la[87]=[za,Jk];la[119]=[za,Jk];function G4(e,i,a){const r=this;let o,u;return d;function d(b){return!Th(b)||!iE.call(r,r.previous)||wg(r.events)?a(b):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),p(b))}function p(b){return Th(b)?(e.consume(b),p):b===64?(e.consume(b),g):a(b)}function g(b){return b===46?e.check(F4,x,h)(b):b===45||b===95||On(b)?(u=!0,e.consume(b),g):x(b)}function h(b){return e.consume(b),o=!0,g}function x(b){return u&&o&&$n(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),i(b)):a(b)}}function Y4(e,i,a){const r=this;return o;function o(d){return d!==87&&d!==119||!tE.call(r,r.previous)||wg(r.events)?a(d):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(P4,e.attempt(Zk,e.attempt(Qk,u),a),a)(d))}function u(d){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),i(d)}}function K4(e,i,a){const r=this;let o="",u=!1;return d;function d(b){return(b===72||b===104)&&nE.call(r,r.previous)&&!wg(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(b),e.consume(b),p):a(b)}function p(b){if($n(b)&&o.length<5)return o+=String.fromCodePoint(b),e.consume(b),p;if(b===58){const v=o.toLowerCase();if(v==="http"||v==="https")return e.consume(b),g}return a(b)}function g(b){return b===47?(e.consume(b),u?h:(u=!0,g)):a(b)}function h(b){return b===null||Ku(b)||Lt(b)||ts(b)||wd(b)?a(b):e.attempt(Zk,e.attempt(Qk,x),a)(b)}function x(b){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),i(b)}}function V4(e,i,a){let r=0;return o;function o(d){return(d===87||d===119)&&r<3?(r++,e.consume(d),o):d===46&&r===3?(e.consume(d),u):a(d)}function u(d){return d===null?a(d):i(d)}}function X4(e,i,a){let r,o,u;return d;function d(h){return h===46||h===95?e.check(Wk,g,p)(h):h===null||Lt(h)||ts(h)||h!==45&&wd(h)?g(h):(u=!0,e.consume(h),d)}function p(h){return h===95?r=!0:(o=r,r=void 0),e.consume(h),d}function g(h){return o||r||!u?a(h):i(h)}}function Z4(e,i){let a=0,r=0;return o;function o(d){return d===40?(a++,e.consume(d),o):d===41&&r<a?u(d):d===33||d===34||d===38||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===60||d===63||d===93||d===95||d===126?e.check(Wk,i,u)(d):d===null||Lt(d)||ts(d)?i(d):(e.consume(d),o)}function u(d){return d===41&&r++,e.consume(d),o}}function Q4(e,i,a){return r;function r(p){return p===33||p===34||p===39||p===41||p===42||p===44||p===46||p===58||p===59||p===63||p===95||p===126?(e.consume(p),r):p===38?(e.consume(p),u):p===93?(e.consume(p),o):p===60||p===null||Lt(p)||ts(p)?i(p):a(p)}function o(p){return p===null||p===40||p===91||Lt(p)||ts(p)?i(p):r(p)}function u(p){return $n(p)?d(p):a(p)}function d(p){return p===59?(e.consume(p),r):$n(p)?(e.consume(p),d):a(p)}}function W4(e,i,a){return r;function r(u){return e.consume(u),o}function o(u){return On(u)?a(u):i(u)}}function tE(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Lt(e)}function nE(e){return!$n(e)}function iE(e){return!(e===47||Th(e))}function Th(e){return e===43||e===45||e===46||e===95||On(e)}function wg(e){let i=e.length,a=!1;for(;i--;){const r=e[i][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){a=!0;break}if(r._gfmAutolinkLiteralWalkedInto){a=!1;break}}return e.length>0&&!a&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),a}const J4={tokenize:lz,partial:!0};function ez(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:az,continuation:{tokenize:rz},exit:sz}},text:{91:{name:"gfmFootnoteCall",tokenize:iz},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:tz,resolveTo:nz}}}}function tz(e,i,a){const r=this;let o=r.events.length;const u=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let d;for(;o--;){const g=r.events[o][1];if(g.type==="labelImage"){d=g;break}if(g.type==="gfmFootnoteCall"||g.type==="labelLink"||g.type==="label"||g.type==="image"||g.type==="link")break}return p;function p(g){if(!d||!d._balanced)return a(g);const h=Li(r.sliceSerialize({start:d.end,end:r.now()}));return h.codePointAt(0)!==94||!u.includes(h.slice(1))?a(g):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),i(g))}}function nz(e,i){let a=e.length;for(;a--;)if(e[a][1].type==="labelImage"&&e[a][0]==="enter"){e[a][1];break}e[a+1][1].type="data",e[a+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[a+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[a+3][1].end),end:Object.assign({},e[a+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const u={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},d={type:"chunkString",contentType:"string",start:Object.assign({},u.start),end:Object.assign({},u.end)},p=[e[a+1],e[a+2],["enter",r,i],e[a+3],e[a+4],["enter",o,i],["exit",o,i],["enter",u,i],["enter",d,i],["exit",d,i],["exit",u,i],e[e.length-2],e[e.length-1],["exit",r,i]];return e.splice(a,e.length-a+1,...p),e}function iz(e,i,a){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let u=0,d;return p;function p(b){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(b),e.exit("gfmFootnoteCallLabelMarker"),g}function g(b){return b!==94?a(b):(e.enter("gfmFootnoteCallMarker"),e.consume(b),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(b){if(u>999||b===93&&!d||b===null||b===91||Lt(b))return a(b);if(b===93){e.exit("chunkString");const v=e.exit("gfmFootnoteCallString");return o.includes(Li(r.sliceSerialize(v)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(b),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),i):a(b)}return Lt(b)||(d=!0),u++,e.consume(b),b===92?x:h}function x(b){return b===91||b===92||b===93?(e.consume(b),u++,h):h(b)}}function az(e,i,a){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let u,d=0,p;return g;function g(k){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(k),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(k){return k===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(k),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",x):a(k)}function x(k){if(d>999||k===93&&!p||k===null||k===91||Lt(k))return a(k);if(k===93){e.exit("chunkString");const N=e.exit("gfmFootnoteDefinitionLabelString");return u=Li(r.sliceSerialize(N)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(k),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),v}return Lt(k)||(p=!0),d++,e.consume(k),k===92?b:x}function b(k){return k===91||k===92||k===93?(e.consume(k),d++,x):x(k)}function v(k){return k===58?(e.enter("definitionMarker"),e.consume(k),e.exit("definitionMarker"),o.includes(u)||o.push(u),gt(e,y,"gfmFootnoteDefinitionWhitespace")):a(k)}function y(k){return i(k)}}function rz(e,i,a){return e.check(Bo,i,e.attempt(J4,i,a))}function sz(e){e.exit("gfmFootnoteDefinition")}function lz(e,i,a){const r=this;return gt(e,o,"gfmFootnoteDefinitionIndent",5);function o(u){const d=r.events[r.events.length-1];return d&&d[1].type==="gfmFootnoteDefinitionIndent"&&d[2].sliceSerialize(d[1],!0).length===4?i(u):a(u)}}function oz(e){let a=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:u,resolveAll:o};return a==null&&(a=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(d,p){let g=-1;for(;++g<d.length;)if(d[g][0]==="enter"&&d[g][1].type==="strikethroughSequenceTemporary"&&d[g][1]._close){let h=g;for(;h--;)if(d[h][0]==="exit"&&d[h][1].type==="strikethroughSequenceTemporary"&&d[h][1]._open&&d[g][1].end.offset-d[g][1].start.offset===d[h][1].end.offset-d[h][1].start.offset){d[g][1].type="strikethroughSequence",d[h][1].type="strikethroughSequence";const x={type:"strikethrough",start:Object.assign({},d[h][1].start),end:Object.assign({},d[g][1].end)},b={type:"strikethroughText",start:Object.assign({},d[h][1].end),end:Object.assign({},d[g][1].start)},v=[["enter",x,p],["enter",d[h][1],p],["exit",d[h][1],p],["enter",b,p]],y=p.parser.constructs.insideSpan.null;y&&zi(v,v.length,0,kd(y,d.slice(h+1,g),p)),zi(v,v.length,0,[["exit",b,p],["enter",d[g][1],p],["exit",d[g][1],p],["exit",x,p]]),zi(d,h-1,g-h+3,v),g=h+v.length-2;break}}for(g=-1;++g<d.length;)d[g][1].type==="strikethroughSequenceTemporary"&&(d[g][1].type="data");return d}function u(d,p,g){const h=this.previous,x=this.events;let b=0;return v;function v(k){return h===126&&x[x.length-1][1].type!=="characterEscape"?g(k):(d.enter("strikethroughSequenceTemporary"),y(k))}function y(k){const N=Xu(h);if(k===126)return b>1?g(k):(d.consume(k),b++,y);if(b<2&&!a)return g(k);const _=d.exit("strikethroughSequenceTemporary"),T=Xu(k);return _._open=!T||T===2&&!!N,_._close=!N||N===2&&!!T,p(k)}}}class cz{constructor(){this.map=[],this.index=new Map}add(i,a,r){uz(this,i,a,r)}consume(i){if(this.map.sort(function(u,d){return u[0]-d[0]}),this.map.length===0)return;let a=this.map.length;const r=[];for(;a>0;)a-=1,r.push(i.slice(this.map[a][0]+this.map[a][1]),this.map[a][2]),i.length=this.map[a][0];r.push(i.slice()),i.length=0;let o=r.pop();for(;o;){for(const u of o)i.push(u);o=r.pop()}this.map.length=0,this.index.clear()}}function uz(e,i,a,r){if(a===0&&r.length===0)return;const o=e.index.get(i);if(o){o[1]+=a,o[2].push(...r);return}const u=[i,a,r];e.map.push(u),e.index.set(i,u)}function dz(e,i){let a=!1;const r=[];for(;i<e.length;){const o=e[i];if(a){if(o[0]==="enter")o[1].type==="tableContent"&&r.push(e[i+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[i-1][1].type==="tableDelimiterMarker"){const u=r.length-1;r[u]=r[u]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(a=!0);i+=1}return r}function fz(){return{flow:{null:{name:"table",tokenize:pz,resolveAll:mz}}}}function pz(e,i,a){const r=this;let o=0,u=0,d;return p;function p(z){let H=r.events.length-1;for(;H>-1;){const{type:ue}=r.events[H][1];if(ue==="lineEnding"||ue==="linePrefix")H--;else break}const J=H>-1?r.events[H][1].type:null,de=J==="tableHead"||J==="tableRow"?M:g;return de===M&&r.parser.lazy[r.now().line]?a(z):de(z)}function g(z){return e.enter("tableHead"),e.enter("tableRow"),h(z)}function h(z){return z===124||(d=!0,u+=1),x(z)}function x(z){return z===null?a(z):Pe(z)?u>1?(u=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(z),e.exit("lineEnding"),y):a(z):it(z)?gt(e,x,"whitespace")(z):(u+=1,d&&(d=!1,o+=1),z===124?(e.enter("tableCellDivider"),e.consume(z),e.exit("tableCellDivider"),d=!0,x):(e.enter("data"),b(z)))}function b(z){return z===null||z===124||Lt(z)?(e.exit("data"),x(z)):(e.consume(z),z===92?v:b)}function v(z){return z===92||z===124?(e.consume(z),b):b(z)}function y(z){return r.interrupt=!1,r.parser.lazy[r.now().line]?a(z):(e.enter("tableDelimiterRow"),d=!1,it(z)?gt(e,k,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(z):k(z))}function k(z){return z===45||z===58?_(z):z===124?(d=!0,e.enter("tableCellDivider"),e.consume(z),e.exit("tableCellDivider"),N):B(z)}function N(z){return it(z)?gt(e,_,"whitespace")(z):_(z)}function _(z){return z===58?(u+=1,d=!0,e.enter("tableDelimiterMarker"),e.consume(z),e.exit("tableDelimiterMarker"),T):z===45?(u+=1,T(z)):z===null||Pe(z)?U(z):B(z)}function T(z){return z===45?(e.enter("tableDelimiterFiller"),A(z)):B(z)}function A(z){return z===45?(e.consume(z),A):z===58?(d=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(z),e.exit("tableDelimiterMarker"),S):(e.exit("tableDelimiterFiller"),S(z))}function S(z){return it(z)?gt(e,U,"whitespace")(z):U(z)}function U(z){return z===124?k(z):z===null||Pe(z)?!d||o!==u?B(z):(e.exit("tableDelimiterRow"),e.exit("tableHead"),i(z)):B(z)}function B(z){return a(z)}function M(z){return e.enter("tableRow"),C(z)}function C(z){return z===124?(e.enter("tableCellDivider"),e.consume(z),e.exit("tableCellDivider"),C):z===null||Pe(z)?(e.exit("tableRow"),i(z)):it(z)?gt(e,C,"whitespace")(z):(e.enter("data"),I(z))}function I(z){return z===null||z===124||Lt(z)?(e.exit("data"),C(z)):(e.consume(z),z===92?X:I)}function X(z){return z===92||z===124?(e.consume(z),I):I(z)}}function mz(e,i){let a=-1,r=!0,o=0,u=[0,0,0,0],d=[0,0,0,0],p=!1,g=0,h,x,b;const v=new cz;for(;++a<e.length;){const y=e[a],k=y[1];y[0]==="enter"?k.type==="tableHead"?(p=!1,g!==0&&(tv(v,i,g,h,x),x=void 0,g=0),h={type:"table",start:Object.assign({},k.start),end:Object.assign({},k.end)},v.add(a,0,[["enter",h,i]])):k.type==="tableRow"||k.type==="tableDelimiterRow"?(r=!0,b=void 0,u=[0,0,0,0],d=[0,a+1,0,0],p&&(p=!1,x={type:"tableBody",start:Object.assign({},k.start),end:Object.assign({},k.end)},v.add(a,0,[["enter",x,i]])),o=k.type==="tableDelimiterRow"?2:x?3:1):o&&(k.type==="data"||k.type==="tableDelimiterMarker"||k.type==="tableDelimiterFiller")?(r=!1,d[2]===0&&(u[1]!==0&&(d[0]=d[1],b=yu(v,i,u,o,void 0,b),u=[0,0,0,0]),d[2]=a)):k.type==="tableCellDivider"&&(r?r=!1:(u[1]!==0&&(d[0]=d[1],b=yu(v,i,u,o,void 0,b)),u=d,d=[u[1],a,0,0])):k.type==="tableHead"?(p=!0,g=a):k.type==="tableRow"||k.type==="tableDelimiterRow"?(g=a,u[1]!==0?(d[0]=d[1],b=yu(v,i,u,o,a,b)):d[1]!==0&&(b=yu(v,i,d,o,a,b)),o=0):o&&(k.type==="data"||k.type==="tableDelimiterMarker"||k.type==="tableDelimiterFiller")&&(d[3]=a)}for(g!==0&&tv(v,i,g,h,x),v.consume(i.events),a=-1;++a<i.events.length;){const y=i.events[a];y[0]==="enter"&&y[1].type==="table"&&(y[1]._align=dz(i.events,a))}return e}function yu(e,i,a,r,o,u){const d=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",p="tableContent";a[0]!==0&&(u.end=Object.assign({},Js(i.events,a[0])),e.add(a[0],0,[["exit",u,i]]));const g=Js(i.events,a[1]);if(u={type:d,start:Object.assign({},g),end:Object.assign({},g)},e.add(a[1],0,[["enter",u,i]]),a[2]!==0){const h=Js(i.events,a[2]),x=Js(i.events,a[3]),b={type:p,start:Object.assign({},h),end:Object.assign({},x)};if(e.add(a[2],0,[["enter",b,i]]),r!==2){const v=i.events[a[2]],y=i.events[a[3]];if(v[1].end=Object.assign({},y[1].end),v[1].type="chunkText",v[1].contentType="text",a[3]>a[2]+1){const k=a[2]+1,N=a[3]-a[2]-1;e.add(k,N,[])}}e.add(a[3]+1,0,[["exit",b,i]])}return o!==void 0&&(u.end=Object.assign({},Js(i.events,o)),e.add(o,0,[["exit",u,i]]),u=void 0),u}function tv(e,i,a,r,o){const u=[],d=Js(i.events,a);o&&(o.end=Object.assign({},d),u.push(["exit",o,i])),r.end=Object.assign({},d),u.push(["exit",r,i]),e.add(a+1,0,u)}function Js(e,i){const a=e[i],r=a[0]==="enter"?"start":"end";return a[1][r]}const hz={name:"tasklistCheck",tokenize:xz};function gz(){return{text:{91:hz}}}function xz(e,i,a){const r=this;return o;function o(g){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?a(g):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(g),e.exit("taskListCheckMarker"),u)}function u(g){return Lt(g)?(e.enter("taskListCheckValueUnchecked"),e.consume(g),e.exit("taskListCheckValueUnchecked"),d):g===88||g===120?(e.enter("taskListCheckValueChecked"),e.consume(g),e.exit("taskListCheckValueChecked"),d):a(g)}function d(g){return g===93?(e.enter("taskListCheckMarker"),e.consume(g),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),p):a(g)}function p(g){return Pe(g)?i(g):it(g)?e.check({tokenize:bz},i,a)(g):a(g)}}function bz(e,i,a){return gt(e,r,"whitespace");function r(o){return o===null?a(o):i(o)}}function yz(e){return hk([q4(),ez(),oz(e),fz(),gz()])}const vz={};function wz(e){const i=this,a=e||vz,r=i.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),u=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),d=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(yz(a)),u.push($4()),d.push(H4(a))}const nv=(function(e,i,a){const r=$o(a);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof i=="number"){if(i<0||i===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(i=e.children.indexOf(i),i<0)throw new Error("Expected child node or index");for(;++i<e.children.length;)if(r(e.children[i],i,e))return e.children[i]}),as=(function(e){if(e==null)return _z;if(typeof e=="string")return Ez(e);if(typeof e=="object")return kz(e);if(typeof e=="function")return kg(e);throw new Error("Expected function, string, or array as `test`")});function kz(e){const i=[];let a=-1;for(;++a<e.length;)i[a]=as(e[a]);return kg(r);function r(...o){let u=-1;for(;++u<i.length;)if(i[u].apply(this,o))return!0;return!1}}function Ez(e){return kg(i);function i(a){return a.tagName===e}}function kg(e){return i;function i(a,r,o){return!!(Nz(a)&&e.call(this,a,typeof r=="number"?r:void 0,o||void 0))}}function _z(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function Nz(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const iv=/\n/g,av=/[\t ]+/g,Ch=as("br"),rv=as(Rz),Sz=as("p"),sv=as("tr"),Tz=as(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",Mz,Dz]),aE=as(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function Cz(e,i){const a=i||{},r="children"in e?e.children:[],o=aE(e),u=lE(e,{whitespace:a.whitespace||"normal"}),d=[];(e.type==="text"||e.type==="comment")&&d.push(...sE(e,{breakBefore:!0,breakAfter:!0}));let p=-1;for(;++p<r.length;)d.push(...rE(r[p],e,{whitespace:u,breakBefore:p?void 0:o,breakAfter:p<r.length-1?Ch(r[p+1]):o}));const g=[];let h;for(p=-1;++p<d.length;){const x=d[p];typeof x=="number"?h!==void 0&&x>h&&(h=x):x&&(h!==void 0&&h>-1&&g.push(`
|
|
276
|
-
`.repeat(h)||" "),h=-1,g.push(x))}return g.join("")}function rE(e,i,a){return e.type==="element"?Az(e,i,a):e.type==="text"?a.whitespace==="normal"?sE(e,a):Oz(e):[]}function Az(e,i,a){const r=lE(e,a),o=e.children||[];let u=-1,d=[];if(Tz(e))return d;let p,g;for(Ch(e)||sv(e)&&nv(i,e,sv)?g=`
|
|
277
|
-
`:Sz(e)?(p=2,g=2):aE(e)&&(p=1,g=1);++u<o.length;)d=d.concat(rE(o[u],e,{whitespace:r,breakBefore:u?void 0:p,breakAfter:u<o.length-1?Ch(o[u+1]):g}));return rv(e)&&nv(i,e,rv)&&d.push(" "),p&&d.unshift(p),g&&d.push(g),d}function sE(e,i){const a=String(e.value),r=[],o=[];let u=0;for(;u<=a.length;){iv.lastIndex=u;const g=iv.exec(a),h=g&&"index"in g?g.index:a.length;r.push(jz(a.slice(u,h).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),u===0?i.breakBefore:!0,h===a.length?i.breakAfter:!0)),u=h+1}let d=-1,p;for(;++d<r.length;)r[d].charCodeAt(r[d].length-1)===8203||d<r.length-1&&r[d+1].charCodeAt(0)===8203?(o.push(r[d]),p=void 0):r[d]?(typeof p=="number"&&o.push(p),o.push(r[d]),p=0):(d===0||d===r.length-1)&&o.push(0);return o}function Oz(e){return[String(e.value)]}function jz(e,i,a){const r=[];let o=0,u;for(;o<e.length;){av.lastIndex=o;const d=av.exec(e);u=d?d.index:e.length,!o&&!u&&d&&!i&&r.push(""),o!==u&&r.push(e.slice(o,u)),o=d?u+d[0].length:u}return o!==u&&!a&&r.push(""),r.join(" ")}function lE(e,i){if(e.type==="element"){const a=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return a.wrap?"pre-wrap":"pre";case"td":case"th":return a.noWrap?"nowrap":i.whitespace;case"textarea":return"pre-wrap"}}return i.whitespace}function Mz(e){return!!(e.properties||{}).hidden}function Rz(e){return e.tagName==="td"||e.tagName==="th"}function Dz(e){return e.tagName==="dialog"&&!(e.properties||{}).open}function zz(e){const i=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="(?!struct)("+r+"|"+i.optional(o)+"[a-zA-Z_]\\w*"+i.optional("<[^<>]+>")+")",p={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},x={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:i.optional(o)+e.IDENT_RE,relevance:0},y=i.optional(o)+e.IDENT_RE+"\\s*\\(",k=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],N=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],_=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],T=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],U={type:N,keyword:k,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:_},B={className:"function.dispatch",relevance:0,keywords:{_hint:T},begin:i.concat(/\b/,`(?!${k.join("|")})`,e.IDENT_RE,i.lookahead(/(<[^<>]+>|)\s*\(/))},M=[B,b,p,a,e.C_BLOCK_COMMENT_MODE,x,h],C={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:U,contains:M.concat([{begin:/\(/,end:/\)/,keywords:U,contains:M.concat(["self"]),relevance:0}]),relevance:0},I={className:"function",begin:"("+d+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:U,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:U,relevance:0},{begin:y,returnBegin:!0,contains:[v],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,x]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:U,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,h,x,p,{begin:/\(/,end:/\)/,keywords:U,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,h,x,p]}]},p,a,e.C_BLOCK_COMMENT_MODE,b]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:U,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(C,I,B,M,[b,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:U,contains:["self",p]},{begin:e.IDENT_RE+"::",keywords:U},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function Lz(e){const i={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},a=zz(e),r=a.keywords;return r.type=[...r.type,...i.type],r.literal=[...r.literal,...i.literal],r.built_in=[...r.built_in,...i.built_in],r._hints=i._hints,a.name="Arduino",a.aliases=["ino"],a.supersetOf="cpp",a}function Iz(e){const i=e.regex,a={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[a]}]};Object.assign(a,{className:"variable",variants:[{begin:i.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const o={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},u=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),d={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},p={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,a,o]};o.contains.push(p);const g={match:/\\"/},h={className:"string",begin:/'/,end:/'/},x={match:/\\'/},b={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,a]},v=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=e.SHEBANG({binary:`(${v.join("|")})`,relevance:10}),k={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},N=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],_=["true","false"],T={match:/(\/[a-z._-]+)+/},A=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],S=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],U=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],B=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:N,literal:_,built_in:[...A,...S,"set","shopt",...U,...B]},contains:[y,e.SHEBANG(),k,b,u,d,T,p,g,h,x,a]}}function Uz(e){const i=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="("+r+"|"+i.optional(o)+"[a-zA-Z_]\\w*"+i.optional("<[^<>]+>")+")",p={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},x={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:i.optional(o)+e.IDENT_RE,relevance:0},y=i.optional(o)+e.IDENT_RE+"\\s*\\(",_={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},T=[b,p,a,e.C_BLOCK_COMMENT_MODE,x,h],A={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:_,contains:T.concat([{begin:/\(/,end:/\)/,keywords:_,contains:T.concat(["self"]),relevance:0}]),relevance:0},S={begin:"("+d+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:_,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:_,relevance:0},{begin:y,returnBegin:!0,contains:[e.inherit(v,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,h,x,p,{begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,h,x,p]}]},p,a,e.C_BLOCK_COMMENT_MODE,b]};return{name:"C",aliases:["h"],keywords:_,disableAutodetect:!0,illegal:"</",contains:[].concat(A,S,T,[b,{begin:e.IDENT_RE+"::",keywords:_},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:b,strings:h,keywords:_}}}function Bz(e){const i=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="(?!struct)("+r+"|"+i.optional(o)+"[a-zA-Z_]\\w*"+i.optional("<[^<>]+>")+")",p={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},x={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:i.optional(o)+e.IDENT_RE,relevance:0},y=i.optional(o)+e.IDENT_RE+"\\s*\\(",k=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],N=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],_=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],T=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],U={type:N,keyword:k,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:_},B={className:"function.dispatch",relevance:0,keywords:{_hint:T},begin:i.concat(/\b/,`(?!${k.join("|")})`,e.IDENT_RE,i.lookahead(/(<[^<>]+>|)\s*\(/))},M=[B,b,p,a,e.C_BLOCK_COMMENT_MODE,x,h],C={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:U,contains:M.concat([{begin:/\(/,end:/\)/,keywords:U,contains:M.concat(["self"]),relevance:0}]),relevance:0},I={className:"function",begin:"("+d+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:U,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:U,relevance:0},{begin:y,returnBegin:!0,contains:[v],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,x]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:U,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,h,x,p,{begin:/\(/,end:/\)/,keywords:U,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,h,x,p]}]},p,a,e.C_BLOCK_COMMENT_MODE,b]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:U,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(C,I,B,M,[b,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:U,contains:["self",p]},{begin:e.IDENT_RE+"::",keywords:U},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function $z(e){const i=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],a=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],o=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],u=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],d={keyword:o.concat(u),built_in:i,literal:r},p=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),g={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9'_]+|(\\b[\\d'_]+(\\.[\\d'_]*)?|\\.[\\d'_]+)([eE][-+]?[\\d'_]+)?)"}],relevance:0},h={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},x={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},b=e.inherit(x,{illegal:/\n/}),v={className:"subst",begin:/\{/,end:/\}/,keywords:d},y=e.inherit(v,{illegal:/\n/}),k={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,y]},N={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},v]},_=e.inherit(N,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]});v.contains=[N,k,x,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,g,e.C_BLOCK_COMMENT_MODE],y.contains=[_,k,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,g,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const T={variants:[h,N,k,x,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},A={begin:"<",end:">",contains:[{beginKeywords:"in out"},p]},S=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",U={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:d,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},T,g,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},p,A,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[p,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[p,A,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+S+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:d,contains:[{beginKeywords:a.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,A],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,relevance:0,contains:[T,g,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},U]}}const Hz=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Pz=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Fz=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],qz=[...Pz,...Fz],Gz=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Yz=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Kz=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Vz=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Xz(e){const i=e.regex,a=Hz(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},o="and or not only",u=/@-?\w[\w]*(-\w+)*/,d="[a-zA-Z-][a-zA-Z0-9_-]*",p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[a.BLOCK_COMMENT,r,a.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+d,relevance:0},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Yz.join("|")+")"},{begin:":(:)?("+Kz.join("|")+")"}]},a.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Vz.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[a.BLOCK_COMMENT,a.HEXCOLOR,a.IMPORTANT,a.CSS_NUMBER_MODE,a.UNICODE_RANGE,...p,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...p,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},a.FUNCTION_DISPATCH]},{begin:i.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:u},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:Gz.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...p,a.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+qz.join("|")+")\\b"}]}}function Zz(e){const i=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:i.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:i.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function Qz(e){const u={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:u,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:u,illegal:/["']/}]}]}}function Wz(e){const i=e.regex,a=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:i.concat(a,i.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function Jz(e){const i=e.regex,a={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const o={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},u={className:"literal",begin:/\bon|off|true|false|yes|no\b/},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},p={begin:/\[/,end:/\]/,contains:[r,u,o,d,a,"self"],relevance:0},g=/[A-Za-z0-9_-]+/,h=/"(\\"|[^"])*"/,x=/'[^']*'/,b=i.either(g,h,x),v=i.concat(b,"(\\s*\\.\\s*",b,")*",i.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:v,className:"attr",starts:{end:/$/,contains:[r,p,u,o,d,a]}}]}}var el="[0-9](_*[0-9])*",vu=`\\.(${el})`,wu="[0-9a-fA-F](_*[0-9a-fA-F])*",lv={className:"number",variants:[{begin:`(\\b(${el})((${vu})|\\.)?|(${vu}))[eE][+-]?(${el})[fFdD]?\\b`},{begin:`\\b(${el})((${vu})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${vu})[fFdD]?\\b`},{begin:`\\b(${el})[fFdD]\\b`},{begin:`\\b0[xX]((${wu})\\.?|(${wu})?\\.(${wu}))[pP][+-]?(${el})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${wu})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function oE(e,i,a){return a===-1?"":e.replace(i,r=>oE(e,i,a-1))}function eL(e){const i=e.regex,a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",r=a+oE("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),g={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},h={className:"meta",begin:"@"+a,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},x={className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:g,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[i.concat(/(?!else)/,a),/\s+/,a,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword",3:"title.class"},contains:[x,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:g,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[h,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,lv,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},lv,h]}}const ov="[A-Za-z$_][0-9A-Za-z$_]*",tL=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],nL=["true","false","null","undefined","NaN","Infinity"],cE=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],uE=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],dE=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],iL=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],aL=[].concat(dE,cE,uE);function rL(e){const i=e.regex,a=(P,{after:re})=>{const j="</"+P[0].slice(1);return P.input.indexOf(j,re)!==-1},r=ov,o={begin:"<>",end:"</>"},u=/<[A-Za-z0-9\\._:-]+\s*\/>/,d={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,re)=>{const j=P[0].length+P.index,Le=P.input[j];if(Le==="<"||Le===","){re.ignoreMatch();return}Le===">"&&(a(P,{after:j})||re.ignoreMatch());let pe;const O=P.input.substring(j);if(pe=O.match(/^\s*=/)){re.ignoreMatch();return}if((pe=O.match(/^\s+extends\s+/))&&pe.index===0){re.ignoreMatch();return}}},p={$pattern:ov,keyword:tL,literal:nL,built_in:aL,"variable.language":iL},g="[0-9](_?[0-9])*",h=`\\.(${g})`,x="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${x})((${h})|\\.)?|(${h}))[eE][+-]?(${g})\\b`},{begin:`\\b(${x})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:p,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},k={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"css"}},N={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},_={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,v]},A={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},S=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,k,N,_,{match:/\$\d+/},b];v.contains=S.concat({begin:/\{/,end:/\}/,keywords:p,contains:["self"].concat(S)});const U=[].concat(A,v.contains),B=U.concat([{begin:/(\s*)\(/,end:/\)/,keywords:p,contains:["self"].concat(U)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:p,contains:B},C={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,i.concat(r,"(",i.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},I={relevance:0,match:i.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...cE,...uE]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},z={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},H={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(P){return i.concat("(?!",P.join("|"),")")}const de={match:i.concat(/\b/,J([...dE,"super","import","await"].map(P=>`${P}\\s*\\(`)),r,i.lookahead(/\s*\(/)),className:"title.function",relevance:0},ue={begin:i.concat(/\./,i.lookahead(i.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},te={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},G="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",ae={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,i.lookahead(G)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:p,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:I},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,k,N,_,A,{match:/\$\d+/},b,I,{scope:"attr",match:r+i.lookahead(":"),relevance:0},ae,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[A,e.REGEXP_MODE,{className:"function",begin:G,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:p,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:u},{begin:d.begin,"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},z,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},ue,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},de,H,C,te,{match:/\$[(.]/}]}}const sL="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",lL={scope:"number",match:sL,relevance:0};function oL(e){const i={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],o={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:r},contains:[i,a,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,lL,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var tl="[0-9](_*[0-9])*",ku=`\\.(${tl})`,Eu="[0-9a-fA-F](_*[0-9a-fA-F])*",cL={className:"number",variants:[{begin:`(\\b(${tl})((${ku})|\\.)?|(${ku}))[eE][+-]?(${tl})[fFdD]?\\b`},{begin:`\\b(${tl})((${ku})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${ku})[fFdD]?\\b`},{begin:`\\b(${tl})[fFdD]\\b`},{begin:`\\b0[xX]((${Eu})\\.?|(${Eu})?\\.(${Eu}))[pP][+-]?(${tl})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Eu})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function uL(e){const i={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},o={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},u={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},d={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[u,o]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,u,o]}]};o.contains.push(d);const p={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},g={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(d,{className:"string"}),"self"]}]},h=cL,x=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),b={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},v=b;return v.variants[1].contains=[b],b.variants[1].contains=[v],{name:"Kotlin",aliases:["kt","kts"],keywords:i,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,x,a,r,p,g,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:i,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[b,e.C_LINE_COMMENT_MODE,x],relevance:0},e.C_LINE_COMMENT_MODE,x,p,g,d,e.C_NUMBER_MODE]},x]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},p,g]},d,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
278
|
-
`},h]}}const dL=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),fL=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],pL=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],mL=[...fL,...pL],hL=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),fE=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),pE=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),gL=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),xL=fE.concat(pE).sort().reverse();function bL(e){const i=dL(e),a=xL,r="and or not only",o="[\\w-]+",u="("+o+"|@\\{"+o+"\\})",d=[],p=[],g=function(S){return{className:"string",begin:"~?"+S+".*?"+S}},h=function(S,U,B){return{className:S,begin:U,relevance:B}},x={$pattern:/[a-z-]+/,keyword:r,attribute:hL.join(" ")},b={begin:"\\(",end:"\\)",contains:p,keywords:x,relevance:0};p.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g("'"),g('"'),i.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},i.UNICODE_RANGE,i.HEXCOLOR,b,h("variable","@@?"+o,10),h("variable","@\\{"+o+"\\}"),h("built_in","~?`[^`]*?`"),{className:"attribute",begin:o+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},i.IMPORTANT,{beginKeywords:"and not"},i.FUNCTION_DISPATCH);const v=p.concat({begin:/\{/,end:/\}/,contains:d}),y={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(p)},k={begin:u+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},i.CSS_VARIABLE,{className:"attribute",begin:"\\b("+gL.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:p}}]},N={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:x,returnEnd:!0,contains:p,relevance:0}},_={className:"variable",variants:[{begin:"@"+o+"\\s*:",relevance:15},{begin:"@"+o}],starts:{end:"[;}]",returnEnd:!0,contains:v}},T={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:u,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,y,h("keyword","all\\b"),h("variable","@\\{"+o+"\\}"),{begin:"\\b("+mL.join("|")+")\\b",className:"selector-tag"},i.CSS_NUMBER_MODE,h("selector-tag",u,0),h("selector-id","#"+u),h("selector-class","\\."+u,0),h("selector-tag","&",0),i.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+fE.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+pE.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:v},{begin:"!important"},i.FUNCTION_DISPATCH]},A={begin:o+`:(:)?(${a.join("|")})`,returnBegin:!0,contains:[T]};return d.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,N,_,A,k,T,y,i.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:d}}function yL(e){const i="\\[=*\\[",a="\\]=*\\]",r={begin:i,end:a,contains:["self"]},o=[e.COMMENT("--(?!"+i+")","$"),e.COMMENT("--"+i,a,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:o}].concat(o)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:i,end:a,contains:[r],relevance:5}])}}function vL(e){const i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},a={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i]},r={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[i,a]},o={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},u={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},d={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[i]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,i,a,r,o,u,d]}}function wL(e){const i=e.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},o={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},u={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},d={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},p=/[A-Za-z][A-Za-z0-9+.-]*/,g={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:i.concat(/\[.+?\]\(/,p,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},h={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},x={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},b=e.inherit(h,{contains:[]}),v=e.inherit(x,{contains:[]});h.contains.push(v),x.contains.push(b);let y=[a,g];return[h,x,b,v].forEach(T=>{T.contains=T.contains.concat(y)}),y=y.concat(h,x),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},a,u,h,x,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},o,r,g,d,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function kL(e){const i={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,p={"variable.language":["this","super"],$pattern:a,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},g={$pattern:a,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:p,illegal:"</",contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+g.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:g,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function EL(e){const i=e.regex,a=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],r=/[dualxmsipngr]{0,12}/,o={$pattern:/[\w.]+/,keyword:a.join(" ")},u={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:o},d={begin:/->\{/,end:/\}/},p={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},g={scope:"variable",variants:[{begin:/\$\d/},{begin:i.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[p]},h={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},x=[e.BACKSLASH_ESCAPE,u,g],b=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],v=(N,_,T="\\1")=>{const A=T==="\\1"?T:i.concat(T,_);return i.concat(i.concat("(?:",N,")"),_,/(?:\\.|[^\\\/])*?/,A,/(?:\\.|[^\\\/])*?/,T,r)},y=(N,_,T)=>i.concat(i.concat("(?:",N,")"),_,/(?:\\.|[^\\\/])*?/,T,r),k=[g,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),d,{className:"string",contains:x,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},h,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:v("s|tr|y",i.either(...b,{capture:!0}))},{begin:v("s|tr|y","\\(","\\)")},{begin:v("s|tr|y","\\[","\\]")},{begin:v("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:y("(?:m|qr)?",/\//,/\//)},{begin:y("m|qr",i.either(...b,{capture:!0}),/\1/)},{begin:y("m|qr",/\(/,/\)/)},{begin:y("m|qr",/\[/,/\]/)},{begin:y("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,p]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,p,h]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return u.contains=k,d.contains=k,{name:"Perl",aliases:["pl","pm"],keywords:o,contains:k}}function _L(e){const i=e.regex,a=/(?![A-Za-z0-9])(?![$])/,r=i.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),o=i.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),u=i.concat(/[A-Z]+/,a),d={scope:"variable",match:"\\$+"+r},p={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},g={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},h=e.inherit(e.APOS_STRING_MODE,{illegal:null}),x=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(g)}),b={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(g),"on:begin":(ue,te)=>{te.data._beginMatch=ue[1]||ue[2]},"on:end":(ue,te)=>{te.data._beginMatch!==ue[1]&&te.ignoreMatch()}},v=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[
|
|
279
|
-
]`,k={scope:"string",variants:[x,h,b,v]},N={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},_=["false","null","true"],T=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],A=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],U={keyword:T,literal:(ue=>{const te=[];return ue.forEach(G=>{te.push(G),G.toLowerCase()===G?te.push(G.toUpperCase()):te.push(G.toLowerCase())}),te})(_),built_in:A},B=ue=>ue.map(te=>te.replace(/\|\d+$/,"")),M={variants:[{match:[/new/,i.concat(y,"+"),i.concat("(?!",B(A).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},C=i.concat(r,"\\b(?!\\()"),I={variants:[{match:[i.concat(/::/,i.lookahead(/(?!class\b)/)),C],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,i.concat(/::/,i.lookahead(/(?!class\b)/)),C],scope:{1:"title.class",3:"variable.constant"}},{match:[o,i.concat("::",i.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},X={scope:"attr",match:i.concat(r,i.lookahead(":"),i.lookahead(/(?!::)/))},z={relevance:0,begin:/\(/,end:/\)/,keywords:U,contains:[X,d,I,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,k,N,M]},H={relevance:0,match:[/\b/,i.concat("(?!fn\\b|function\\b|",B(T).join("\\b|"),"|",B(A).join("\\b|"),"\\b)"),r,i.concat(y,"*"),i.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[z]};z.contains.push(H);const J=[X,I,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,k,N,M],de={begin:i.concat(/#\[\s*\\?/,i.either(o,u)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:_,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:_,keyword:["new","array"]},contains:["self",...J]},...J,{scope:"meta",variants:[{match:o},{match:u}]}]};return{case_insensitive:!1,keywords:U,contains:[de,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},p,{scope:"variable.language",match:/\$this\b/},d,H,I,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},M,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:U,contains:["self",de,d,I,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,k,N]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},k,N]}}function NL(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function SL(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function TL(e){const i=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],p={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},g={className:"meta",begin:/^(>>>|\.\.\.) /},h={className:"subst",begin:/\{/,end:/\}/,keywords:p,illegal:/#/},x={begin:/\{\{/,relevance:0},b={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,g],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,g],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,g,x,h]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,g,x,h]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,x,h]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,x,h]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},v="[0-9](_?[0-9])*",y=`(\\b(${v}))?\\.(${v})|\\b(${v})\\.`,k=`\\b|${r.join("|")}`,N={className:"number",relevance:0,variants:[{begin:`(\\b(${v})|(${y}))[eE][+-]?(${v})[jJ]?(?=${k})`},{begin:`(${y})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${k})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${k})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${k})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${k})`},{begin:`\\b(${v})[jJ](?=${k})`}]},_={className:"comment",begin:i.lookahead(/# type:/),end:/$/,keywords:p,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},T={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:p,contains:["self",g,N,b,e.HASH_COMMENT_MODE]}]};return h.contains=[b,N,g],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:p,illegal:/(<\/|\?)|=>/,contains:[g,N,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},b,_,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[T]},{variants:[{match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[N,T,b]}]}}function CL(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function AL(e){const i=e.regex,a=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=i.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),o=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,u=i.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:a,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:i.lookahead(i.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:a},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[o,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[u,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[a,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:o},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:u},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function OL(e){const i=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=i.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=i.concat(r,/(::\w+)*/),d={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},p={className:"doctag",begin:"@[A-Za-z]+"},g={begin:"#<",end:">"},h=[e.COMMENT("#","$",{contains:[p]}),e.COMMENT("^=begin","^=end",{contains:[p],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],x={className:"subst",begin:/#\{/,end:/\}/,keywords:d},b={className:"string",contains:[e.BACKSLASH_ESCAPE,x],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:i.concat(/<<[-~]?'?/,i.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,x]})]}]},v="[1-9](_?[0-9])*|0",y="[0-9](_?[0-9])*",k={className:"number",relevance:0,variants:[{begin:`\\b(${v})(\\.(${y}))?([eE][+-]?(${y})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},N={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:d}]},M=[b,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:d},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:d},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[N]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[b,{begin:a}],relevance:0},k,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:d},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,x],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(g,h),relevance:0}].concat(g,h);x.contains=M,N.contains=M;const z=[{begin:/^\s*=>/,starts:{end:"$",contains:M}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:d,contains:M}}];return h.unshift(g),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:d,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(z).concat(h).concat(M)}}function jL(e){const i=e.regex,a=/(r#)?/,r=i.concat(a,e.UNDERSCORE_IDENT_RE),o=i.concat(a,e.IDENT_RE),u={className:"title.function.invoke",relevance:0,begin:i.concat(/\b/,/(?!let|for|while|if|else|match\b)/,o,i.lookahead(/\s*\(/))},d="([ui](8|16|32|64|128|size)|f(32|64))?",p=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],g=["true","false","Some","None","Ok","Err"],h=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],x=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:x,keyword:p,literal:g,built_in:h},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+d},{begin:"\\b0o([0-7_]+)"+d},{begin:"\\b0x([A-Fa-f0-9_]+)"+d},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+d}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:h,type:x}},{className:"punctuation",begin:"->"},u]}}const ML=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),RL=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],DL=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],zL=[...RL,...DL],LL=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),IL=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),UL=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),BL=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function $L(e){const i=ML(e),a=UL,r=IL,o="@[a-z-]+",u="and or not only",p={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},i.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+zL.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+a.join("|")+")"},p,{begin:/\(/,end:/\)/,contains:[i.CSS_NUMBER_MODE]},i.CSS_VARIABLE,{className:"attribute",begin:"\\b("+BL.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[i.BLOCK_COMMENT,p,i.HEXCOLOR,i.CSS_NUMBER_MODE,i.UNICODE_RANGE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i.IMPORTANT,i.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:o,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:u,attribute:LL.join(" ")},contains:[{begin:o,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},p,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i.HEXCOLOR,i.CSS_NUMBER_MODE]},i.FUNCTION_DISPATCH]}}function HL(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function PL(e){const i=e.regex,a=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},o={begin:/"/,end:/"/,contains:[{match:/""/}]},u=["true","false","unknown"],d=["double precision","large object","with timezone","without timezone"],p=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],g=["add","asc","collation","desc","final","first","last","view"],h=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],x=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],b=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],v=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],y=x,k=[...h,...g].filter(B=>!x.includes(B)),N={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},_={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},T={match:i.concat(/\b/,i.either(...y),/\s*\(/),relevance:0,keywords:{built_in:y}};function A(B){return i.concat(/\b/,i.either(...B.map(M=>M.replace(/\s+/,"\\s+"))),/\b/)}const S={scope:"keyword",match:A(v),relevance:0};function U(B,{exceptions:M,when:C}={}){const I=C;return M=M||[],B.map(X=>X.match(/\|\d+$/)||M.includes(X)?X:I(X)?`${X}|0`:X)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:U(k,{when:B=>B.length<3}),literal:u,type:p,built_in:b},contains:[{scope:"type",match:A(d)},S,T,N,r,o,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,a,_]}}function mE(e){return e?typeof e=="string"?e:e.source:null}function xo(e){return jt("(?=",e,")")}function jt(...e){return e.map(a=>mE(a)).join("")}function FL(e){const i=e[e.length-1];return typeof i=="object"&&i.constructor===Object?(e.splice(e.length-1,1),i):{}}function Bn(...e){return"("+(FL(e).capture?"":"?:")+e.map(r=>mE(r)).join("|")+")"}const Eg=e=>jt(/\b/,e,/\w$/.test(e)?/\b/:/\B/),qL=["Protocol","Type"].map(Eg),cv=["init","self"].map(Eg),GL=["Any","Self"],Um=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],uv=["false","nil","true"],YL=["assignment","associativity","higherThan","left","lowerThan","none","right"],KL=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],dv=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],hE=Bn(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),gE=Bn(hE,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Bm=jt(hE,gE,"*"),xE=Bn(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Wu=Bn(xE,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Ji=jt(xE,Wu,"*"),_u=jt(/[A-Z]/,Wu,"*"),VL=["attached","autoclosure",jt(/convention\(/,Bn("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",jt(/objc\(/,Ji,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],XL=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function ZL(e){const i={match:/\s+/,relevance:0},a=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,a],o={match:[/\./,Bn(...qL,...cv)],className:{2:"keyword"}},u={match:jt(/\./,Bn(...Um)),relevance:0},d=Um.filter(Be=>typeof Be=="string").concat(["_|0"]),p=Um.filter(Be=>typeof Be!="string").concat(GL).map(Eg),g={variants:[{className:"keyword",match:Bn(...p,...cv)}]},h={$pattern:Bn(/\b\w+/,/#\w+/),keyword:d.concat(KL),literal:uv},x=[o,u,g],b={match:jt(/\./,Bn(...dv)),relevance:0},v={className:"built_in",match:jt(/\b/,Bn(...dv),/(?=\()/)},y=[b,v],k={match:/->/,relevance:0},N={className:"operator",relevance:0,variants:[{match:Bm},{match:`\\.(\\.|${gE})+`}]},_=[k,N],T="([0-9]_*)+",A="([0-9a-fA-F]_*)+",S={className:"number",relevance:0,variants:[{match:`\\b(${T})(\\.(${T}))?([eE][+-]?(${T}))?\\b`},{match:`\\b0x(${A})(\\.(${A}))?([pP][+-]?(${T}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},U=(Be="")=>({className:"subst",variants:[{match:jt(/\\/,Be,/[0\\tnr"']/)},{match:jt(/\\/,Be,/u\{[0-9a-fA-F]{1,8}\}/)}]}),B=(Be="")=>({className:"subst",match:jt(/\\/,Be,/[\t ]*(?:[\r\n]|\r\n)/)}),M=(Be="")=>({className:"subst",label:"interpol",begin:jt(/\\/,Be,/\(/),end:/\)/}),C=(Be="")=>({begin:jt(Be,/"""/),end:jt(/"""/,Be),contains:[U(Be),B(Be),M(Be)]}),I=(Be="")=>({begin:jt(Be,/"/),end:jt(/"/,Be),contains:[U(Be),M(Be)]}),X={className:"string",variants:[C(),C("#"),C("##"),C("###"),I(),I("#"),I("##"),I("###")]},z=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],H={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:z},J=Be=>{const ht=jt(Be,/\//),We=jt(/\//,Be);return{begin:ht,end:We,contains:[...z,{scope:"comment",begin:`#(?!.*${We})`,end:/$/}]}},de={scope:"regexp",variants:[J("###"),J("##"),J("#"),H]},ue={match:jt(/`/,Ji,/`/)},te={className:"variable",match:/\$\d+/},G={className:"variable",match:`\\$${Wu}+`},ae=[ue,te,G],P={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:XL,contains:[..._,S,X]}]}},re={scope:"keyword",match:jt(/@/,Bn(...VL),xo(Bn(/\(/,/\s+/)))},j={scope:"meta",match:jt(/@/,Ji)},Le=[P,re,j],pe={match:xo(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:jt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Wu,"+")},{className:"type",match:_u,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:jt(/\s+&\s+/,xo(_u)),relevance:0}]},O={begin:/</,end:/>/,keywords:h,contains:[...r,...x,...Le,k,pe]};pe.contains.push(O);const D={match:jt(Ji,/\s*:/),keywords:"_|0",relevance:0},ie={begin:/\(/,end:/\)/,relevance:0,keywords:h,contains:["self",D,...r,de,...x,...y,..._,S,X,...ae,...Le,pe]},me={begin:/</,end:/>/,keywords:"repeat each",contains:[...r,pe]},ke={begin:Bn(xo(jt(Ji,/\s*:/)),xo(jt(Ji,/\s+/,Ji,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Ji}]},Re={begin:/\(/,end:/\)/,keywords:h,contains:[ke,...r,...x,..._,S,X,...Le,pe,ie],endsParent:!0,illegal:/["']/},He={match:[/(func|macro)/,/\s+/,Bn(ue.match,Ji,Bm)],className:{1:"keyword",3:"title.function"},contains:[me,Re,i],illegal:[/\[/,/%/]},$e={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[me,Re,i],illegal:/\[|%/},R={match:[/operator/,/\s+/,Bm],className:{1:"keyword",3:"title"}},fe={begin:[/precedencegroup/,/\s+/,_u],className:{1:"keyword",3:"title"},contains:[pe],keywords:[...YL,...uv],end:/}/},De={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Et={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},xt={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Ji,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:h,contains:[me,...x,{begin:/:/,end:/\{/,keywords:h,contains:[{scope:"title.class.inherited",match:_u},...x],relevance:0}]};for(const Be of X.variants){const ht=Be.contains.find(Kt=>Kt.label==="interpol");ht.keywords=h;const We=[...x,...y,..._,S,X,...ae];ht.contains=[...We,{begin:/\(/,end:/\)/,contains:["self",...We]}]}return{name:"Swift",keywords:h,contains:[...r,He,$e,De,Et,xt,R,fe,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},de,...x,...y,..._,S,X,...ae,...Le,pe,ie]}}const Ju="[A-Za-z$_][0-9A-Za-z$_]*",bE=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],yE=["true","false","null","undefined","NaN","Infinity"],vE=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],wE=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],kE=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],EE=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],_E=[].concat(kE,vE,wE);function QL(e){const i=e.regex,a=(P,{after:re})=>{const j="</"+P[0].slice(1);return P.input.indexOf(j,re)!==-1},r=Ju,o={begin:"<>",end:"</>"},u=/<[A-Za-z0-9\\._:-]+\s*\/>/,d={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,re)=>{const j=P[0].length+P.index,Le=P.input[j];if(Le==="<"||Le===","){re.ignoreMatch();return}Le===">"&&(a(P,{after:j})||re.ignoreMatch());let pe;const O=P.input.substring(j);if(pe=O.match(/^\s*=/)){re.ignoreMatch();return}if((pe=O.match(/^\s+extends\s+/))&&pe.index===0){re.ignoreMatch();return}}},p={$pattern:Ju,keyword:bE,literal:yE,built_in:_E,"variable.language":EE},g="[0-9](_?[0-9])*",h=`\\.(${g})`,x="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${x})((${h})|\\.)?|(${h}))[eE][+-]?(${g})\\b`},{begin:`\\b(${x})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:p,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},k={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"css"}},N={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},_={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,v]},A={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},S=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,k,N,_,{match:/\$\d+/},b];v.contains=S.concat({begin:/\{/,end:/\}/,keywords:p,contains:["self"].concat(S)});const U=[].concat(A,v.contains),B=U.concat([{begin:/(\s*)\(/,end:/\)/,keywords:p,contains:["self"].concat(U)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:p,contains:B},C={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,i.concat(r,"(",i.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},I={relevance:0,match:i.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...vE,...wE]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},z={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},H={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(P){return i.concat("(?!",P.join("|"),")")}const de={match:i.concat(/\b/,J([...kE,"super","import","await"].map(P=>`${P}\\s*\\(`)),r,i.lookahead(/\s*\(/)),className:"title.function",relevance:0},ue={begin:i.concat(/\./,i.lookahead(i.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},te={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},G="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",ae={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,i.lookahead(G)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:p,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:I},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,k,N,_,A,{match:/\$\d+/},b,I,{scope:"attr",match:r+i.lookahead(":"),relevance:0},ae,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[A,e.REGEXP_MODE,{className:"function",begin:G,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:p,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:u},{begin:d.begin,"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},z,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},ue,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},de,H,C,te,{match:/\$[(.]/}]}}function WL(e){const i=e.regex,a=QL(e),r=Ju,o=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],u={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},d={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:o},contains:[a.exports.CLASS_REFERENCE]},p={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},g=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],h={$pattern:Ju,keyword:bE.concat(g),literal:yE,built_in:_E.concat(o),"variable.language":EE},x={className:"meta",begin:"@"+r},b=(N,_,T)=>{const A=N.contains.findIndex(S=>S.label===_);if(A===-1)throw new Error("can not find mode to replace");N.contains.splice(A,1,T)};Object.assign(a.keywords,h),a.exports.PARAMS_CONTAINS.push(x);const v=a.contains.find(N=>N.scope==="attr"),y=Object.assign({},v,{match:i.concat(r,i.lookahead(/\s*\?:/))});a.exports.PARAMS_CONTAINS.push([a.exports.CLASS_REFERENCE,v,y]),a.contains=a.contains.concat([x,u,d,y]),b(a,"shebang",e.SHEBANG()),b(a,"use_strict",p);const k=a.contains.find(N=>N.label==="func.def");return k.relevance=0,Object.assign(a,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),a}function JL(e){const i=e.regex,a={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o=/\d{1,2}\/\d{1,2}\/\d{4}/,u=/\d{4}-\d{1,2}-\d{1,2}/,d=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,p=/\d{1,2}(:\d{1,2}){1,2}/,g={className:"literal",variants:[{begin:i.concat(/# */,i.either(u,o),/ *#/)},{begin:i.concat(/# */,p,/ *#/)},{begin:i.concat(/# */,d,/ *#/)},{begin:i.concat(/# */,i.either(u,o),/ +/,i.either(d,p),/ *#/)}]},h={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},x={className:"label",begin:/^\w+:/},b=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),v=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[a,r,g,h,x,b,v,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[v]}]}}function e6(e){e.regex;const i=e.COMMENT(/\(;/,/;\)/);i.contains.push("self");const a=e.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],o={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},u={className:"variable",begin:/\$[\w_]+/},d={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},p={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},g={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},h={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[a,i,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},u,d,o,e.QUOTE_STRING_MODE,g,h,p]}}function t6(e){const i=e.regex,a=i.concat(/[\p{L}_]/u,i.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,o={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},u={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},d=e.inherit(u,{begin:/\(/,end:/\)/}),p=e.inherit(e.APOS_STRING_MODE,{className:"string"}),g=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),h={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[o]},{begin:/'/,end:/'/,contains:[o]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[u,g,p,d,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[u,d,g,p]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},o,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[g]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[h],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[h],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:i.concat(/</,i.lookahead(i.concat(a,i.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:h}]},{className:"tag",begin:i.concat(/<\//,i.lookahead(i.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function n6(e){const i="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},o={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},u={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},d={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,o]},p=e.inherit(d,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),v={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:i,relevance:0},k={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},N={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},_=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:i,keywords:{literal:i}},v,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},k,N,u,d],T=[..._];return T.pop(),T.push(p),y.contains=T,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:_}}const i6={arduino:Lz,bash:Iz,c:Uz,cpp:Bz,csharp:$z,css:Xz,diff:Zz,go:Qz,graphql:Wz,ini:Jz,java:eL,javascript:rL,json:oL,kotlin:uL,less:bL,lua:yL,makefile:vL,markdown:wL,objectivec:kL,perl:EL,php:_L,"php-template":NL,plaintext:SL,python:TL,"python-repl":CL,r:AL,ruby:OL,rust:jL,scss:$L,shell:HL,sql:PL,swift:ZL,typescript:WL,vbnet:JL,wasm:e6,xml:t6,yaml:n6};var $m,fv;function a6(){if(fv)return $m;fv=1;function e($){return $ instanceof Map?$.clear=$.delete=$.set=function(){throw new Error("map is read-only")}:$ instanceof Set&&($.add=$.clear=$.delete=function(){throw new Error("set is read-only")}),Object.freeze($),Object.getOwnPropertyNames($).forEach(oe=>{const _e=$[oe],Ve=typeof _e;(Ve==="object"||Ve==="function")&&!Object.isFrozen(_e)&&e(_e)}),$}class i{constructor(oe){oe.data===void 0&&(oe.data={}),this.data=oe.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function a($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function r($,...oe){const _e=Object.create(null);for(const Ve in $)_e[Ve]=$[Ve];return oe.forEach(function(Ve){for(const Rt in Ve)_e[Rt]=Ve[Rt]}),_e}const o="</span>",u=$=>!!$.scope,d=($,{prefix:oe})=>{if($.startsWith("language:"))return $.replace("language:","language-");if($.includes(".")){const _e=$.split(".");return[`${oe}${_e.shift()}`,..._e.map((Ve,Rt)=>`${Ve}${"_".repeat(Rt+1)}`)].join(" ")}return`${oe}${$}`};class p{constructor(oe,_e){this.buffer="",this.classPrefix=_e.classPrefix,oe.walk(this)}addText(oe){this.buffer+=a(oe)}openNode(oe){if(!u(oe))return;const _e=d(oe.scope,{prefix:this.classPrefix});this.span(_e)}closeNode(oe){u(oe)&&(this.buffer+=o)}value(){return this.buffer}span(oe){this.buffer+=`<span class="${oe}">`}}const g=($={})=>{const oe={children:[]};return Object.assign(oe,$),oe};class h{constructor(){this.rootNode=g(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(oe){this.top.children.push(oe)}openNode(oe){const _e=g({scope:oe});this.add(_e),this.stack.push(_e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(oe){return this.constructor._walk(oe,this.rootNode)}static _walk(oe,_e){return typeof _e=="string"?oe.addText(_e):_e.children&&(oe.openNode(_e),_e.children.forEach(Ve=>this._walk(oe,Ve)),oe.closeNode(_e)),oe}static _collapse(oe){typeof oe!="string"&&oe.children&&(oe.children.every(_e=>typeof _e=="string")?oe.children=[oe.children.join("")]:oe.children.forEach(_e=>{h._collapse(_e)}))}}class x extends h{constructor(oe){super(),this.options=oe}addText(oe){oe!==""&&this.add(oe)}startScope(oe){this.openNode(oe)}endScope(){this.closeNode()}__addSublanguage(oe,_e){const Ve=oe.root;_e&&(Ve.scope=`language:${_e}`),this.add(Ve)}toHTML(){return new p(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function b($){return $?typeof $=="string"?$:$.source:null}function v($){return N("(?=",$,")")}function y($){return N("(?:",$,")*")}function k($){return N("(?:",$,")?")}function N(...$){return $.map(_e=>b(_e)).join("")}function _($){const oe=$[$.length-1];return typeof oe=="object"&&oe.constructor===Object?($.splice($.length-1,1),oe):{}}function T(...$){return"("+(_($).capture?"":"?:")+$.map(Ve=>b(Ve)).join("|")+")"}function A($){return new RegExp($.toString()+"|").exec("").length-1}function S($,oe){const _e=$&&$.exec(oe);return _e&&_e.index===0}const U=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function B($,{joinWith:oe}){let _e=0;return $.map(Ve=>{_e+=1;const Rt=_e;let ut=b(Ve),Se="";for(;ut.length>0;){const Ee=U.exec(ut);if(!Ee){Se+=ut;break}Se+=ut.substring(0,Ee.index),ut=ut.substring(Ee.index+Ee[0].length),Ee[0][0]==="\\"&&Ee[1]?Se+="\\"+String(Number(Ee[1])+Rt):(Se+=Ee[0],Ee[0]==="("&&_e++)}return Se}).map(Ve=>`(${Ve})`).join(oe)}const M=/\b\B/,C="[a-zA-Z]\\w*",I="[a-zA-Z_]\\w*",X="\\b\\d+(\\.\\d+)?",z="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",H="\\b(0b[01]+)",J="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",de=($={})=>{const oe=/^#![ ]*\//;return $.binary&&($.begin=N(oe,/.*\b/,$.binary,/\b.*/)),r({scope:"meta",begin:oe,end:/$/,relevance:0,"on:begin":(_e,Ve)=>{_e.index!==0&&Ve.ignoreMatch()}},$)},ue={begin:"\\\\[\\s\\S]",relevance:0},te={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ue]},G={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ue]},ae={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},P=function($,oe,_e={}){const Ve=r({scope:"comment",begin:$,end:oe,contains:[]},_e);Ve.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const Rt=T("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Ve.contains.push({begin:N(/[ ]+/,"(",Rt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ve},re=P("//","$"),j=P("/\\*","\\*/"),Le=P("#","$"),pe={scope:"number",begin:X,relevance:0},O={scope:"number",begin:z,relevance:0},D={scope:"number",begin:H,relevance:0},ie={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[ue,{begin:/\[/,end:/\]/,relevance:0,contains:[ue]}]},me={scope:"title",begin:C,relevance:0},ke={scope:"title",begin:I,relevance:0},Re={begin:"\\.\\s*"+I,relevance:0};var $e=Object.freeze({__proto__:null,APOS_STRING_MODE:te,BACKSLASH_ESCAPE:ue,BINARY_NUMBER_MODE:D,BINARY_NUMBER_RE:H,COMMENT:P,C_BLOCK_COMMENT_MODE:j,C_LINE_COMMENT_MODE:re,C_NUMBER_MODE:O,C_NUMBER_RE:z,END_SAME_AS_BEGIN:function($){return Object.assign($,{"on:begin":(oe,_e)=>{_e.data._beginMatch=oe[1]},"on:end":(oe,_e)=>{_e.data._beginMatch!==oe[1]&&_e.ignoreMatch()}})},HASH_COMMENT_MODE:Le,IDENT_RE:C,MATCH_NOTHING_RE:M,METHOD_GUARD:Re,NUMBER_MODE:pe,NUMBER_RE:X,PHRASAL_WORDS_MODE:ae,QUOTE_STRING_MODE:G,REGEXP_MODE:ie,RE_STARTERS_RE:J,SHEBANG:de,TITLE_MODE:me,UNDERSCORE_IDENT_RE:I,UNDERSCORE_TITLE_MODE:ke});function R($,oe){$.input[$.index-1]==="."&&oe.ignoreMatch()}function fe($,oe){$.className!==void 0&&($.scope=$.className,delete $.className)}function De($,oe){oe&&$.beginKeywords&&($.begin="\\b("+$.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",$.__beforeBegin=R,$.keywords=$.keywords||$.beginKeywords,delete $.beginKeywords,$.relevance===void 0&&($.relevance=0))}function Et($,oe){Array.isArray($.illegal)&&($.illegal=T(...$.illegal))}function xt($,oe){if($.match){if($.begin||$.end)throw new Error("begin & end are not supported with match");$.begin=$.match,delete $.match}}function Be($,oe){$.relevance===void 0&&($.relevance=1)}const ht=($,oe)=>{if(!$.beforeMatch)return;if($.starts)throw new Error("beforeMatch cannot be used with starts");const _e=Object.assign({},$);Object.keys($).forEach(Ve=>{delete $[Ve]}),$.keywords=_e.keywords,$.begin=N(_e.beforeMatch,v(_e.begin)),$.starts={relevance:0,contains:[Object.assign(_e,{endsParent:!0})]},$.relevance=0,delete _e.beforeMatch},We=["of","and","for","in","not","or","if","then","parent","list","value"],Kt="keyword";function Tn($,oe,_e=Kt){const Ve=Object.create(null);return typeof $=="string"?Rt(_e,$.split(" ")):Array.isArray($)?Rt(_e,$):Object.keys($).forEach(function(ut){Object.assign(Ve,Tn($[ut],oe,ut))}),Ve;function Rt(ut,Se){oe&&(Se=Se.map(Ee=>Ee.toLowerCase())),Se.forEach(function(Ee){const Ge=Ee.split("|");Ve[Ge[0]]=[ut,Rn(Ge[0],Ge[1])]})}}function Rn($,oe){return oe?Number(oe):ce($)?0:1}function ce($){return We.includes($.toLowerCase())}const qe={},ft=$=>{console.error($)},mt=($,...oe)=>{console.log(`WARN: ${$}`,...oe)},sn=($,oe)=>{qe[`${$}/${oe}`]||(console.log(`Deprecated as of ${$}. ${oe}`),qe[`${$}/${oe}`]=!0)},ee=new Error;function ye($,oe,{key:_e}){let Ve=0;const Rt=$[_e],ut={},Se={};for(let Ee=1;Ee<=oe.length;Ee++)Se[Ee+Ve]=Rt[Ee],ut[Ee+Ve]=!0,Ve+=A(oe[Ee-1]);$[_e]=Se,$[_e]._emit=ut,$[_e]._multi=!0}function Ie($){if(Array.isArray($.begin)){if($.skip||$.excludeBegin||$.returnBegin)throw ft("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ee;if(typeof $.beginScope!="object"||$.beginScope===null)throw ft("beginScope must be object"),ee;ye($,$.begin,{key:"beginScope"}),$.begin=B($.begin,{joinWith:""})}}function Ke($){if(Array.isArray($.end)){if($.skip||$.excludeEnd||$.returnEnd)throw ft("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ee;if(typeof $.endScope!="object"||$.endScope===null)throw ft("endScope must be object"),ee;ye($,$.end,{key:"endScope"}),$.end=B($.end,{joinWith:""})}}function Vt($){$.scope&&typeof $.scope=="object"&&$.scope!==null&&($.beginScope=$.scope,delete $.scope)}function _t($){Vt($),typeof $.beginScope=="string"&&($.beginScope={_wrap:$.beginScope}),typeof $.endScope=="string"&&($.endScope={_wrap:$.endScope}),Ie($),Ke($)}function ln($){function oe(Se,Ee){return new RegExp(b(Se),"m"+($.case_insensitive?"i":"")+($.unicodeRegex?"u":"")+(Ee?"g":""))}class _e{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ee,Ge){Ge.position=this.position++,this.matchIndexes[this.matchAt]=Ge,this.regexes.push([Ge,Ee]),this.matchAt+=A(Ee)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ee=this.regexes.map(Ge=>Ge[1]);this.matcherRe=oe(B(Ee,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ee){this.matcherRe.lastIndex=this.lastIndex;const Ge=this.matcherRe.exec(Ee);if(!Ge)return null;const Zt=Ge.findIndex((Ui,Ia)=>Ia>0&&Ui!==void 0),Ht=this.matchIndexes[Zt];return Ge.splice(0,Zt),Object.assign(Ge,Ht)}}class Ve{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Ee){if(this.multiRegexes[Ee])return this.multiRegexes[Ee];const Ge=new _e;return this.rules.slice(Ee).forEach(([Zt,Ht])=>Ge.addRule(Zt,Ht)),Ge.compile(),this.multiRegexes[Ee]=Ge,Ge}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ee,Ge){this.rules.push([Ee,Ge]),Ge.type==="begin"&&this.count++}exec(Ee){const Ge=this.getMatcher(this.regexIndex);Ge.lastIndex=this.lastIndex;let Zt=Ge.exec(Ee);if(this.resumingScanAtSamePosition()&&!(Zt&&Zt.index===this.lastIndex)){const Ht=this.getMatcher(0);Ht.lastIndex=this.lastIndex+1,Zt=Ht.exec(Ee)}return Zt&&(this.regexIndex+=Zt.position+1,this.regexIndex===this.count&&this.considerAll()),Zt}}function Rt(Se){const Ee=new Ve;return Se.contains.forEach(Ge=>Ee.addRule(Ge.begin,{rule:Ge,type:"begin"})),Se.terminatorEnd&&Ee.addRule(Se.terminatorEnd,{type:"end"}),Se.illegal&&Ee.addRule(Se.illegal,{type:"illegal"}),Ee}function ut(Se,Ee){const Ge=Se;if(Se.isCompiled)return Ge;[fe,xt,_t,ht].forEach(Ht=>Ht(Se,Ee)),$.compilerExtensions.forEach(Ht=>Ht(Se,Ee)),Se.__beforeBegin=null,[De,Et,Be].forEach(Ht=>Ht(Se,Ee)),Se.isCompiled=!0;let Zt=null;return typeof Se.keywords=="object"&&Se.keywords.$pattern&&(Se.keywords=Object.assign({},Se.keywords),Zt=Se.keywords.$pattern,delete Se.keywords.$pattern),Zt=Zt||/\w+/,Se.keywords&&(Se.keywords=Tn(Se.keywords,$.case_insensitive)),Ge.keywordPatternRe=oe(Zt,!0),Ee&&(Se.begin||(Se.begin=/\B|\b/),Ge.beginRe=oe(Ge.begin),!Se.end&&!Se.endsWithParent&&(Se.end=/\B|\b/),Se.end&&(Ge.endRe=oe(Ge.end)),Ge.terminatorEnd=b(Ge.end)||"",Se.endsWithParent&&Ee.terminatorEnd&&(Ge.terminatorEnd+=(Se.end?"|":"")+Ee.terminatorEnd)),Se.illegal&&(Ge.illegalRe=oe(Se.illegal)),Se.contains||(Se.contains=[]),Se.contains=[].concat(...Se.contains.map(function(Ht){return wi(Ht==="self"?Se:Ht)})),Se.contains.forEach(function(Ht){ut(Ht,Ge)}),Se.starts&&ut(Se.starts,Ee),Ge.matcher=Rt(Ge),Ge}if($.compilerExtensions||($.compilerExtensions=[]),$.contains&&$.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return $.classNameAliases=r($.classNameAliases||{}),ut($)}function xn($){return $?$.endsWithParent||xn($.starts):!1}function wi($){return $.variants&&!$.cachedVariants&&($.cachedVariants=$.variants.map(function(oe){return r($,{variants:null},oe)})),$.cachedVariants?$.cachedVariants:xn($)?r($,{starts:$.starts?r($.starts):null}):Object.isFrozen($)?r($):$}var ki="11.11.2";class oa extends Error{constructor(oe,_e){super(oe),this.name="HTMLInjectionError",this.html=_e}}const La=a,Xt=r,dn=Symbol("nomatch"),Ei=7,Dn=function($){const oe=Object.create(null),_e=Object.create(null),Ve=[];let Rt=!0;const ut="Could not find the language '{}', did you forget to load/include a language module?",Se={disableAutodetect:!0,name:"Plain text",contains:[]};let Ee={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:x};function Ge(he){return Ee.noHighlightRe.test(he)}function Zt(he){let je=he.className+" ";je+=he.parentNode?he.parentNode.className:"";const rt=Ee.languageDetectRe.exec(je);if(rt){const At=Ni(rt[1]);return At||(mt(ut.replace("{}",rt[1])),mt("Falling back to no-highlight mode for this block.",he)),At?rt[1]:"no-highlight"}return je.split(/\s+/).find(At=>Ge(At)||Ni(At))}function Ht(he,je,rt){let At="",Gt="";typeof je=="object"?(At=he,rt=je.ignoreIllegals,Gt=je.language):(sn("10.7.0","highlight(lang, code, ...args) has been deprecated."),sn("10.7.0",`Please use highlight(code, options) instead.
|
|
280
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),Gt=he,At=je),rt===void 0&&(rt=!0);const Pn={code:At,language:Gt};Hn("before:highlight",Pn);const Fn=Pn.result?Pn.result:Ui(Pn.language,Pn.code,rt);return Fn.code=Pn.code,Hn("after:highlight",Fn),Fn}function Ui(he,je,rt,At){const Gt=Object.create(null);function Pn(Ne,Me){return Ne.keywords[Me]}function Fn(){if(!Ze.keywords){Wt.addText(bt);return}let Ne=0;Ze.keywordPatternRe.lastIndex=0;let Me=Ze.keywordPatternRe.exec(bt),Je="";for(;Me;){Je+=bt.substring(Ne,Me.index);const yt=oi.case_insensitive?Me[0].toLowerCase():Me[0],Nt=Pn(Ze,yt);if(Nt){const[Qn,Zo]=Nt;if(Wt.addText(Je),Je="",Gt[yt]=(Gt[yt]||0)+1,Gt[yt]<=Ei&&(ma+=Zo),Qn.startsWith("_"))Je+=Me[0];else{const bl=oi.classNameAliases[Qn]||Qn;pn(Me[0],bl)}}else Je+=Me[0];Ne=Ze.keywordPatternRe.lastIndex,Me=Ze.keywordPatternRe.exec(bt)}Je+=bt.substring(Ne),Wt.addText(Je)}function ua(){if(bt==="")return;let Ne=null;if(typeof Ze.subLanguage=="string"){if(!oe[Ze.subLanguage]){Wt.addText(bt);return}Ne=Ui(Ze.subLanguage,bt,!0,dt[Ze.subLanguage]),dt[Ze.subLanguage]=Ne._top}else Ne=Ua(bt,Ze.subLanguage.length?Ze.subLanguage:null);Ze.relevance>0&&(ma+=Ne.relevance),Wt.__addSublanguage(Ne._emitter,Ne.language)}function fn(){Ze.subLanguage!=null?ua():Fn(),bt=""}function pn(Ne,Me){Ne!==""&&(Wt.startScope(Me),Wt.addText(Ne),Wt.endScope())}function da(Ne,Me){let Je=1;const yt=Me.length-1;for(;Je<=yt;){if(!Ne._emit[Je]){Je++;continue}const Nt=oi.classNameAliases[Ne[Je]]||Ne[Je],Qn=Me[Je];Nt?pn(Qn,Nt):(bt=Qn,Fn(),bt=""),Je++}}function Ha(Ne,Me){return Ne.scope&&typeof Ne.scope=="string"&&Wt.openNode(oi.classNameAliases[Ne.scope]||Ne.scope),Ne.beginScope&&(Ne.beginScope._wrap?(pn(bt,oi.classNameAliases[Ne.beginScope._wrap]||Ne.beginScope._wrap),bt=""):Ne.beginScope._multi&&(da(Ne.beginScope,Me),bt="")),Ze=Object.create(Ne,{parent:{value:Ze}}),Ze}function fa(Ne,Me,Je){let yt=S(Ne.endRe,Je);if(yt){if(Ne["on:end"]){const Nt=new i(Ne);Ne["on:end"](Me,Nt),Nt.isMatchIgnored&&(yt=!1)}if(yt){for(;Ne.endsParent&&Ne.parent;)Ne=Ne.parent;return Ne}}if(Ne.endsWithParent)return fa(Ne.parent,Me,Je)}function Qt(Ne){return Ze.matcher.regexIndex===0?(bt+=Ne[0],1):(ls=!0,0)}function Yo(Ne){const Me=Ne[0],Je=Ne.rule,yt=new i(Je),Nt=[Je.__beforeBegin,Je["on:begin"]];for(const Qn of Nt)if(Qn&&(Qn(Ne,yt),yt.isMatchIgnored))return Qt(Me);return Je.skip?bt+=Me:(Je.excludeBegin&&(bt+=Me),fn(),!Je.returnBegin&&!Je.excludeBegin&&(bt=Me)),Ha(Je,Ne),Je.returnBegin?0:Me.length}function Ko(Ne){const Me=Ne[0],Je=je.substring(Ne.index),yt=fa(Ze,Ne,Je);if(!yt)return dn;const Nt=Ze;Ze.endScope&&Ze.endScope._wrap?(fn(),pn(Me,Ze.endScope._wrap)):Ze.endScope&&Ze.endScope._multi?(fn(),da(Ze.endScope,Ne)):Nt.skip?bt+=Me:(Nt.returnEnd||Nt.excludeEnd||(bt+=Me),fn(),Nt.excludeEnd&&(bt=Me));do Ze.scope&&Wt.closeNode(),!Ze.skip&&!Ze.subLanguage&&(ma+=Ze.relevance),Ze=Ze.parent;while(Ze!==yt.parent);return yt.starts&&Ha(yt.starts,Ne),Nt.returnEnd?0:Me.length}function Vo(){const Ne=[];for(let Me=Ze;Me!==oi;Me=Me.parent)Me.scope&&Ne.unshift(Me.scope);Ne.forEach(Me=>Wt.openNode(Me))}let li={};function pa(Ne,Me){const Je=Me&&Me[0];if(bt+=Ne,Je==null)return fn(),0;if(li.type==="begin"&&Me.type==="end"&&li.index===Me.index&&Je===""){if(bt+=je.slice(Me.index,Me.index+1),!Rt){const yt=new Error(`0 width match regex (${he})`);throw yt.languageName=he,yt.badRule=li.rule,yt}return 1}if(li=Me,Me.type==="begin")return Yo(Me);if(Me.type==="illegal"&&!rt){const yt=new Error('Illegal lexeme "'+Je+'" for mode "'+(Ze.scope||"<unnamed>")+'"');throw yt.mode=Ze,yt}else if(Me.type==="end"){const yt=Ko(Me);if(yt!==dn)return yt}if(Me.type==="illegal"&&Je==="")return Me.index===je.length||(bt+=`
|
|
281
|
-
`),1;if(yn>1e5&&yn>Me.index*3)throw new Error("potential infinite loop, way more iterations than matches");return bt+=Je,Je.length}const oi=Ni(he);if(!oi)throw ft(ut.replace("{}",he)),new Error('Unknown language: "'+he+'"');const Xo=ln(oi);let ss="",Ze=At||Xo;const dt={},Wt=new Ee.__emitter(Ee);Vo();let bt="",ma=0,bn=0,yn=0,ls=!1;try{if(oi.__emitTokens)oi.__emitTokens(je,Wt);else{for(Ze.matcher.considerAll();;){yn++,ls?ls=!1:Ze.matcher.considerAll(),Ze.matcher.lastIndex=bn;const Ne=Ze.matcher.exec(je);if(!Ne)break;const Me=je.substring(bn,Ne.index),Je=pa(Me,Ne);bn=Ne.index+Je}pa(je.substring(bn))}return Wt.finalize(),ss=Wt.toHTML(),{language:he,value:ss,relevance:ma,illegal:!1,_emitter:Wt,_top:Ze}}catch(Ne){if(Ne.message&&Ne.message.includes("Illegal"))return{language:he,value:La(je),illegal:!0,relevance:0,_illegalBy:{message:Ne.message,index:bn,context:je.slice(bn-100,bn+100),mode:Ne.mode,resultSoFar:ss},_emitter:Wt};if(Rt)return{language:he,value:La(je),illegal:!1,relevance:0,errorRaised:Ne,_emitter:Wt,_top:Ze};throw Ne}}function Ia(he){const je={value:La(he),illegal:!1,relevance:0,_top:Se,_emitter:new Ee.__emitter(Ee)};return je._emitter.addText(he),je}function Ua(he,je){je=je||Ee.languages||Object.keys(oe);const rt=Ia(he),At=je.filter(Ni).filter(rs).map(fn=>Ui(fn,he,!1));At.unshift(rt);const Gt=At.sort((fn,pn)=>{if(fn.relevance!==pn.relevance)return pn.relevance-fn.relevance;if(fn.language&&pn.language){if(Ni(fn.language).supersetOf===pn.language)return 1;if(Ni(pn.language).supersetOf===fn.language)return-1}return 0}),[Pn,Fn]=Gt,ua=Pn;return ua.secondBest=Fn,ua}function ca(he,je,rt){const At=je&&_e[je]||rt;he.classList.add("hljs"),he.classList.add(`language-${At}`)}function Ba(he){let je=null;const rt=Zt(he);if(Ge(rt))return;if(Hn("before:highlightElement",{el:he,language:rt}),he.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",he);return}if(he.children.length>0&&(Ee.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(he)),Ee.throwUnescapedHTML))throw new oa("One of your code blocks includes unescaped HTML.",he.innerHTML);je=he;const At=je.textContent,Gt=rt?Ht(At,{language:rt,ignoreIllegals:!0}):Ua(At);he.innerHTML=Gt.value,he.dataset.highlighted="yes",ca(he,rt,Gt.language),he.result={language:Gt.language,re:Gt.relevance,relevance:Gt.relevance},Gt.secondBest&&(he.secondBest={language:Gt.secondBest.language,relevance:Gt.secondBest.relevance}),Hn("after:highlightElement",{el:he,result:Gt,text:At})}function _r(he){Ee=Xt(Ee,he)}const Po=()=>{$a(),sn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Td(){$a(),sn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let hl=!1;function $a(){function he(){$a()}if(document.readyState==="loading"){hl||window.addEventListener("DOMContentLoaded",he,!1),hl=!0;return}document.querySelectorAll(Ee.cssSelector).forEach(Ba)}function Nr(he,je){let rt=null;try{rt=je($)}catch(At){if(ft("Language definition for '{}' could not be registered.".replace("{}",he)),Rt)ft(At);else throw At;rt=Se}rt.name||(rt.name=he),oe[he]=rt,rt.rawDefinition=je.bind(null,$),rt.aliases&&gl(rt.aliases,{languageName:he})}function Cd(he){delete oe[he];for(const je of Object.keys(_e))_e[je]===he&&delete _e[je]}function Fo(){return Object.keys(oe)}function Ni(he){return he=(he||"").toLowerCase(),oe[he]||oe[_e[he]]}function gl(he,{languageName:je}){typeof he=="string"&&(he=[he]),he.forEach(rt=>{_e[rt.toLowerCase()]=je})}function rs(he){const je=Ni(he);return je&&!je.disableAutodetect}function xl(he){he["before:highlightBlock"]&&!he["before:highlightElement"]&&(he["before:highlightElement"]=je=>{he["before:highlightBlock"](Object.assign({block:je.el},je))}),he["after:highlightBlock"]&&!he["after:highlightElement"]&&(he["after:highlightElement"]=je=>{he["after:highlightBlock"](Object.assign({block:je.el},je))})}function qo(he){xl(he),Ve.push(he)}function Go(he){const je=Ve.indexOf(he);je!==-1&&Ve.splice(je,1)}function Hn(he,je){const rt=he;Ve.forEach(function(At){At[rt]&&At[rt](je)})}function on(he){return sn("10.7.0","highlightBlock will be removed entirely in v12.0"),sn("10.7.0","Please use highlightElement now."),Ba(he)}Object.assign($,{highlight:Ht,highlightAuto:Ua,highlightAll:$a,highlightElement:Ba,highlightBlock:on,configure:_r,initHighlighting:Po,initHighlightingOnLoad:Td,registerLanguage:Nr,unregisterLanguage:Cd,listLanguages:Fo,getLanguage:Ni,registerAliases:gl,autoDetection:rs,inherit:Xt,addPlugin:qo,removePlugin:Go}),$.debugMode=function(){Rt=!1},$.safeMode=function(){Rt=!0},$.versionString=ki,$.regex={concat:N,lookahead:v,either:T,optional:k,anyNumberOfTimes:y};for(const he in $e)typeof $e[he]=="object"&&e($e[he]);return Object.assign($,$e),$},_i=Dn({});return _i.newInstance=()=>Dn({}),$m=_i,_i.HighlightJS=_i,_i.default=_i,$m}var r6=a6();const s6=td(r6),pv={},l6="hljs-";function o6(e){const i=s6.newInstance();return e&&u(e),{highlight:a,highlightAuto:r,listLanguages:o,register:u,registerAlias:d,registered:p};function a(g,h,x){const b=x||pv,v=typeof b.prefix=="string"?b.prefix:l6;if(!i.getLanguage(g))throw new Error("Unknown language: `"+g+"` is not registered");i.configure({__emitter:c6,classPrefix:v});const y=i.highlight(h,{ignoreIllegals:!0,language:g});if(y.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:y.errorRaised});const k=y._emitter.root,N=k.data;return N.language=y.language,N.relevance=y.relevance,k}function r(g,h){const b=(h||pv).subset||o();let v=-1,y=0,k;for(;++v<b.length;){const N=b[v];if(!i.getLanguage(N))continue;const _=a(N,g,h);_.data&&_.data.relevance!==void 0&&_.data.relevance>y&&(y=_.data.relevance,k=_)}return k||{type:"root",children:[],data:{language:void 0,relevance:y}}}function o(){return i.listLanguages()}function u(g,h){if(typeof g=="string")i.registerLanguage(g,h);else{let x;for(x in g)Object.hasOwn(g,x)&&i.registerLanguage(x,g[x])}}function d(g,h){if(typeof g=="string")i.registerAliases(typeof h=="string"?h:[...h],{languageName:g});else{let x;for(x in g)if(Object.hasOwn(g,x)){const b=g[x];i.registerAliases(typeof b=="string"?b:[...b],{languageName:x})}}}function p(g){return!!i.getLanguage(g)}}class c6{constructor(i){this.options=i,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(i){if(i==="")return;const a=this.stack[this.stack.length-1],r=a.children[a.children.length-1];r&&r.type==="text"?r.value+=i:a.children.push({type:"text",value:i})}startScope(i){this.openNode(String(i))}endScope(){this.closeNode()}__addSublanguage(i,a){const r=this.stack[this.stack.length-1],o=i.root.children;a?r.children.push({type:"element",tagName:"span",properties:{className:[a]},children:o}):r.children.push(...o)}openNode(i){const a=this,r=i.split(".").map(function(d,p){return p?d+"_".repeat(p):a.options.classPrefix+d}),o=this.stack[this.stack.length-1],u={type:"element",tagName:"span",properties:{className:r},children:[]};o.children.push(u),this.stack.push(u)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const u6={};function d6(e){const i=e||u6,a=i.aliases,r=i.detect||!1,o=i.languages||i6,u=i.plainText,d=i.prefix,p=i.subset;let g="hljs";const h=o6(o);if(a&&h.registerAlias(a),d){const x=d.indexOf("-");g=x===-1?d:d.slice(0,x)}return function(x,b){Nd(x,"element",function(v,y,k){if(v.tagName!=="code"||!k||k.type!=="element"||k.tagName!=="pre")return;const N=f6(v);if(N===!1||!N&&!r||N&&u&&u.includes(N))return;Array.isArray(v.properties.className)||(v.properties.className=[]),v.properties.className.includes(g)||v.properties.className.unshift(g);const _=Cz(v,{whitespace:"pre"});let T;try{T=N?h.highlight(N,_,{prefix:d}):h.highlightAuto(_,{prefix:d,subset:p})}catch(A){const S=A;if(N&&/Unknown language/.test(S.message)){b.message("Cannot highlight as `"+N+"`, it’s not registered",{ancestors:[k,v],cause:S,place:v.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw S}!N&&T.data&&T.data.language&&v.properties.className.push("language-"+T.data.language),T.children.length>0&&(v.children=T.children)})}}function f6(e){const i=e.properties.className;let a=-1;if(!Array.isArray(i))return;let r;for(;++a<i.length;){const o=String(i[a]);if(o==="no-highlight"||o==="nohighlight")return!1;!r&&o.slice(0,5)==="lang-"&&(r=o.slice(5)),!r&&o.slice(0,9)==="language-"&&(r=o.slice(9))}return r}function p6(e){const i=Array.isArray(e)?e[0]:e;if(i&&typeof i=="object"&&"props"in i){const a=i.props,r=/language-([\w-]+)/.exec(a?.className??"");if(r)return r[1]}return""}function Ah(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(Ah).join(""):F.isValidElement(e)?Ah(e.props.children):""}function m6(e,i){return e==="svg"?/<svg[\s>]/i.test(i):e==="html"||e==="htm"?/<(html|body|canvas|script|style|svg|main|section|div|h1|button)\b/i.test(i):!1}function h6(e,i){if(/<!doctype|<html[\s>]/i.test(i))return i;const a='<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">';return e==="svg"?`${a}<style>html,body{margin:0;min-height:100%}body{display:grid;place-items:center;background:#fff}svg{max-width:100%;height:auto}</style></head><body>${i}</body></html>`:`${a}</head><body>${i}</body></html>`}function NE({html:e,reloadKey:i,className:a}){const r=F.useRef(null);return F.useEffect(()=>{const o=r.current;if(!o)return;const u=d=>{d.source===o.contentWindow&&d.data?.type==="maxcode-preview-ready"&&o.contentWindow?.postMessage({type:"maxcode-preview",html:e},"*")};return window.addEventListener("message",u),()=>window.removeEventListener("message",u)},[e,i]),c.jsx("iframe",{ref:r,src:"/preview-host.html",title:"Live preview",sandbox:"allow-scripts allow-pointer-lock allow-forms allow-modals",allow:"fullscreen",className:ne("block h-full w-full border-0 bg-white",a)},i)}function g6({html:e,onClose:i}){const[a,r]=F.useState(0);return F.useEffect(()=>{const o=u=>{u.key==="Escape"&&i()};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[i]),Io.createPortal(c.jsxs("div",{className:"fixed inset-0 z-[90] flex flex-col bg-canvas/95 p-3 backdrop-blur-sm sm:p-5",role:"dialog","aria-label":"Live preview",children:[c.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[c.jsx("p",{className:"text-[13.5px] font-medium text-ink",children:"Live preview"}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("button",{type:"button",className:"icon-button",onClick:()=>r(o=>o+1),title:"Restart","aria-label":"Restart preview",children:c.jsx(Hv,{size:16})}),c.jsx("button",{type:"button",className:"icon-button",onClick:i,title:"Close (Esc)","aria-label":"Close preview",children:c.jsx(ra,{size:18})})]})]}),c.jsx("div",{className:"min-h-0 flex-1 overflow-hidden rounded-2xl border border-line bg-white shadow-float",children:c.jsx(NE,{html:e,reloadKey:a})})]}),document.body)}function x6({children:e,streaming:i}){const[a,r]=F.useState(!1),[o,u]=F.useState("code"),[d,p]=F.useState(0),[g,h]=F.useState(!1),x=p6(e)||"text",b=F.useMemo(()=>Ah(e),[e]),v=!i&&m6(x,b),y=F.useMemo(()=>v?h6(x,b):"",[v,x,b]),k=v&&o==="preview",N=async()=>{try{await navigator.clipboard.writeText(b),r(!0),window.setTimeout(()=>r(!1),1600)}catch{}};return c.jsxs("div",{className:"code-shell group/code",children:[c.jsxs("div",{className:"code-head",children:[v?c.jsx("div",{className:"inline-flex items-center rounded-lg bg-raised/80 p-0.5",role:"tablist","aria-label":"Code or preview",children:["code","preview"].map(_=>c.jsx("button",{type:"button",role:"tab","aria-selected":o===_,onClick:()=>u(_),className:ne("h-6 rounded-md px-2.5 text-[11.5px] font-medium capitalize transition-colors",o===_?"bg-panel text-ink shadow-pill":"text-muted hover:text-ink"),children:_},_))}):c.jsx("span",{className:"code-lang",children:x}),c.jsxs("div",{className:"flex items-center gap-0.5",children:[k&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:()=>p(_=>_+1),className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-faint transition-colors hover:bg-panel hover:text-ink",title:"Restart","aria-label":"Restart preview",children:c.jsx(Hv,{size:13})}),c.jsx("button",{type:"button",onClick:()=>h(!0),className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-faint transition-colors hover:bg-panel hover:text-ink",title:"Full screen","aria-label":"Open preview full screen",children:c.jsx(G2,{size:13})})]}),v&&c.jsx("button",{type:"button",onClick:()=>fh(x==="svg"?"image.svg":"index.html",x==="svg"?b:y,x==="svg"?"image/svg+xml":"text/html"),className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-faint transition-colors hover:bg-panel hover:text-ink",title:"Download file","aria-label":"Download file",children:c.jsx(Ov,{size:13})}),c.jsxs("button",{type:"button",onClick:N,className:"inline-flex h-7 items-center gap-1 rounded-md px-1.5 text-[11.5px] font-medium text-faint transition-colors hover:bg-panel hover:text-ink","aria-label":"Copy code",children:[a?c.jsx(Sn,{size:13}):c.jsx(ad,{size:13}),a?"Copied":"Copy"]})]})]}),k?c.jsx("div",{className:"h-[420px] min-h-[220px] resize-y overflow-hidden border-t border-line/60 bg-white",children:c.jsx(NE,{html:y,reloadKey:d})}):c.jsx("pre",{className:"code-pre thin-scroll",children:e}),g&&c.jsx(g6,{html:y,onClose:()=>h(!1)})]})}function b6({content:e,streaming:i}){return c.jsx("div",{className:ne("md",i&&"is-streaming"),children:c.jsx(aD,{remarkPlugins:[wz],rehypePlugins:[[d6,{detect:!0,ignoreMissing:!0}]],components:{pre:({children:a})=>c.jsx(x6,{streaming:i,children:a}),a:({children:a,href:r})=>c.jsx("a",{href:r,target:"_blank",rel:"noreferrer noopener",children:a})},children:e})})}const SE=F.memo(b6);function mv(e,i){qt.approval?qt.approval.resolveApproval(e,i):Sw(e,i)}function TE(e,i){const a=e===""?[]:e.split(`
|
|
282
|
-
`),r=i===""?[]:i.split(`
|
|
283
|
-
`);let o=0;for(;o<a.length&&o<r.length&&a[o]===r[o];)o+=1;let u=a.length,d=r.length;for(;u>o&&d>o&&a[u-1]===r[d-1];)u-=1,d-=1;const p=a.slice(o,u),g=r.slice(o,d),h=a.slice(0,o).map(x=>({type:"ctx",text:x}));if(p.length*g.length>2e6)p.forEach(x=>h.push({type:"del",text:x})),g.forEach(x=>h.push({type:"add",text:x}));else{const x=Array.from({length:p.length+1},()=>new Uint32Array(g.length+1));for(let y=p.length-1;y>=0;y-=1)for(let k=g.length-1;k>=0;k-=1)x[y][k]=p[y]===g[k]?x[y+1][k+1]+1:Math.max(x[y+1][k],x[y][k+1]);let b=0,v=0;for(;b<p.length&&v<g.length;)p[b]===g[v]?(h.push({type:"ctx",text:p[b]}),b+=1,v+=1):x[b+1][v]>=x[b][v+1]?(h.push({type:"del",text:p[b]}),b+=1):(h.push({type:"add",text:g[v]}),v+=1);for(;b<p.length;)h.push({type:"del",text:p[b++]});for(;v<g.length;)h.push({type:"add",text:g[v++]})}return a.slice(u).forEach(x=>h.push({type:"ctx",text:x})),h}function y6(e){let i=0,a=0;for(const r of e)r.type==="add"?i+=1:r.type==="del"&&(a+=1);return{added:i,removed:a}}const Hm=120;function v6({before:e,after:i,startLine:a=1}){const r=F.useMemo(()=>{const u=TE(e,i),d=new Array(u.length).fill(!1);u.forEach((b,v)=>{if(b.type!=="ctx")for(let y=Math.max(0,v-2);y<=Math.min(u.length-1,v+2);y+=1)d[y]=!0});let p=a,g=a;const h=[];let x=!1;return u.forEach((b,v)=>{const y=b.type==="add"?g:p;if(b.type!=="add"&&(p+=1),b.type!=="del"&&(g+=1),!d[v]){x=!0;return}x&&h.length>0&&h.push({key:-v,type:"gap",text:"",no:null,gap:!0}),x=!1,h.push({key:v,type:b.type,text:b.text,no:y})}),h},[e,i,a]),o=r.slice(0,Hm);return c.jsxs("div",{className:"diff-view thin-scroll max-h-64 overflow-auto rounded-lg border border-line bg-canvas/60 font-mono text-[11px] leading-[1.6]",children:[o.map((u,d)=>u.gap?c.jsx("div",{className:"px-2 text-center text-[10px] text-faint",children:"⋯"},u.key):c.jsxs("div",{style:{animationDelay:`${Math.min(d*14,260)}ms`},className:ne("diff-row flex min-w-max",u.type==="add"&&"bg-success/[0.11] text-ink",u.type==="del"&&"bg-danger/[0.10] text-ink",u.type==="ctx"&&"text-faint"),children:[c.jsx("span",{className:"w-9 shrink-0 select-none pr-2 text-right text-[10px] tabular-nums text-faint/70",children:u.no}),c.jsx("span",{className:ne("w-4 shrink-0 select-none text-center",u.type==="add"&&"text-success",u.type==="del"&&"text-danger"),children:u.type==="add"?"+":u.type==="del"?"−":" "}),c.jsx("span",{className:"whitespace-pre pr-3",children:u.text||" "})]},u.key)),r.length>Hm&&c.jsxs("div",{className:"px-3 py-1 text-[10px] text-faint",children:["… ",r.length-Hm," more rows"]})]})}function _g({added:e,removed:i,line:a,column:r,className:o}){return c.jsxs("span",{className:ne("diff-badge inline-flex items-center gap-1.5 font-mono text-[11px] tabular-nums",o),children:[c.jsxs("span",{className:"text-success",children:["+",e]}),c.jsxs("span",{className:"text-danger",children:["−",i]}),a?c.jsxs("span",{className:"text-faint",children:["L",a,r?`:${r}`:""]}):null]})}const w6=new Set(["write_file","edit_file","rewrite_file"]);function CE(e){if(e.diff)return e.diff;if(e.status!=="done"||e.call.name!=="edit_file")return;const{oldText:i,newText:a}=e.call.args;if(!(typeof i!="string"||typeof a!="string"))return y6(TE(i,a))}function k6(e){switch(e){case"awaiting":return{label:"Needs approval",className:"text-warning",dot:"bg-warning"};case"running":return{label:"Running",className:"text-accent",dot:"bg-accent"};case"done":return{label:"Done",className:"text-success",dot:"bg-success"};case"denied":return{label:"Denied",className:"text-muted",dot:"bg-faint"};default:return{label:"Failed",className:"text-danger",dot:"bg-danger"}}}function E6(e){return e===void 0?"":e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function _6(e){switch(e){case"shell":return"OpenSol wants to run this command in the open workspace.";case"write_file":return"OpenSol wants to create or overwrite this file on disk.";case"edit_file":case"rewrite_file":return"OpenSol wants to change this file on disk.";case"git":return"OpenSol wants to change the Git state of this repository.";case"subagent":return"OpenSol wants to start a read-only subagent to investigate.";case"web_search":return"OpenSol wants to search the web.";case"read_url":return"OpenSol wants to read this public page.";default:return"OpenSol wants to use this tool."}}function AE({message:e,compact:i=!1}){const[a,r]=F.useState(!i&&e.status==="awaiting"||e.status==="error"),[o,u]=F.useState(!1),d=ge(_=>_.notify),p=k6(e.status),g=Cw(e.call.name,e.call.args),h=e.call.args,x=CE(e),b=w6.has(e.call.name),v=typeof h.command=="string"?h.command:"",y=typeof h.content=="string"?h.content:typeof h.newText=="string"?h.newText:typeof h.oldText=="string"?h.oldText:"";F.useEffect(()=>{(e.status==="awaiting"||e.status==="error")&&r(!0)},[e.status]);const k=async()=>{try{await navigator.clipboard.writeText(e.result??""),u(!0),window.setTimeout(()=>u(!1),1600)}catch{d("Clipboard access was blocked by the browser.","error")}},N=e.status==="done"&&e.durationMs!==void 0?E6(e.durationMs):e.status==="done"?"":p.label.toLowerCase();return c.jsxs("div",{className:"animate-slideleft text-[12.5px]",children:[c.jsxs("button",{type:"button",onClick:()=>r(_=>!_),className:"group/row flex w-full min-w-0 items-baseline gap-1.5 py-[3px] text-left","aria-expanded":a,children:[c.jsx(nd,{size:12,strokeWidth:2,className:ne("relative top-[1px] shrink-0 self-center text-faint transition-transform duration-200 ease-out group-hover/row:text-ink",a&&"rotate-90")}),c.jsx("span",{className:"shrink-0 font-medium text-ink",children:Qh(e.call.name)}),c.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[11.5px] text-muted",children:g||"—"}),b&&x&&e.status==="done"?c.jsx(_g,{added:x.added,removed:x.removed,line:x.line,column:x.column,className:"shrink-0"}):N&&c.jsx("span",{className:ne("shrink-0 text-[11px]",e.status==="running"?"text-shimmer":e.status==="done"?"text-faint":p.className),children:N})]}),e.status==="awaiting"&&c.jsxs("div",{className:"animate-fade py-1 pl-[18px]",children:[c.jsx("p",{className:"text-[12px] leading-relaxed text-warning",children:_6(e.call.name)}),c.jsxs("p",{className:"mt-1 flex items-center gap-4 text-[12px] font-medium",children:[c.jsx("button",{type:"button",onClick:()=>mv(e.call.id,!0),className:"text-ink underline decoration-ink/30 underline-offset-[3px] transition-colors hover:decoration-ink",children:"Allow once →"}),c.jsx("button",{type:"button",onClick:()=>mv(e.call.id,!1),className:"text-muted transition-colors hover:text-ink",children:"Deny"})]})]}),a&&c.jsxs("div",{className:"animate-fade space-y-2 pb-1.5 pl-[18px] pt-0.5",children:[v&&c.jsxs("pre",{className:"thin-scroll max-h-40 overflow-auto whitespace-pre-wrap break-words font-mono text-[11.5px] leading-relaxed text-ink",children:["$ ",v]}),e.call.name==="edit_file"&&typeof h.oldText=="string"&&typeof h.newText=="string"&&c.jsx(v6,{before:h.oldText,after:h.newText,startLine:x?.line??1}),y&&e.call.name!=="edit_file"&&c.jsx("pre",{className:"thin-scroll max-h-48 overflow-auto whitespace-pre-wrap break-words font-mono text-[11px] leading-relaxed text-muted",children:y.length>4e3?`${y.slice(0,4e3)}
|
|
284
|
-
… ${y.length-4e3} more characters`:y}),e.result!==void 0&&c.jsxs("div",{children:[c.jsxs("p",{className:"mb-1 flex items-center gap-3 text-[11px] text-faint",children:[c.jsx("span",{children:e.status==="error"?"Error":"Output"}),c.jsx("button",{type:"button",onClick:k,className:"transition-colors hover:text-ink",children:o?"Copied":"Copy"})]}),c.jsx("pre",{className:ne("thin-scroll max-h-72 overflow-auto whitespace-pre-wrap break-words font-mono text-[11.5px] leading-[1.65]",e.status==="error"?"text-danger":"text-muted"),children:e.result||"(no output)"})]}),e.result===void 0&&!v&&!y&&e.status!=="awaiting"&&c.jsx("p",{className:"text-[11.5px] text-muted",children:e.status==="running"?"Working…":"No result was recorded."})]})]})}function Pm(e){return e?e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):""}function Fm({message:e,sessionId:i,canEdit:a}){const[r,o]=F.useState(!1),[u,d]=F.useState(e.content),p=()=>{const x=u.trim();if(!x)return;const b=Ye.getState().sessions.find(k=>k.id===i),v=b?.messages.findIndex(k=>k.id===e.id)??-1;if(!b||v<0)return;const y=yi("msg");Ye.getState().updateSession(i,{messages:b.messages.slice(0,v)}),Ye.getState().addMessage(i,{...e,id:y,content:x,createdAt:Date.now()}),o(!1),Gw(i,y)},g=(e.attachments??[]).filter(x=>x.kind==="image"),h=(e.attachments??[]).filter(x=>x.kind==="text");return r?c.jsx("div",{className:"flex justify-end",children:c.jsxs("div",{className:"w-full max-w-[88%] rounded-2xl border border-accent/40 bg-canvas p-2.5 sm:max-w-[82%]",children:[c.jsx("textarea",{value:u,onChange:x=>d(x.target.value),onKeyDown:x=>{x.key==="Enter"&&!x.shiftKey&&!x.nativeEvent.isComposing&&(x.preventDefault(),p()),x.key==="Escape"&&o(!1)},autoFocus:!0,rows:Math.min(10,Math.max(2,u.split(`
|
|
285
|
-
`).length)),className:"chat-text block w-full resize-none bg-transparent px-2 py-1 leading-[1.65] text-ink outline-none","aria-label":"Edit message"}),c.jsxs("div",{className:"mt-1 flex items-center justify-between gap-2 px-1",children:[c.jsx("p",{className:"text-[11.5px] text-faint",children:"Sending replaces the reply below."}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("button",{type:"button",onClick:()=>o(!1),className:"h-8 rounded-full px-3 text-[12.5px] text-muted transition-colors hover:text-ink",children:"Cancel"}),c.jsx("button",{type:"button",onClick:p,disabled:!u.trim(),className:"h-8 rounded-full bg-accent px-3.5 text-[12.5px] font-medium text-on-accent transition hover:brightness-110 disabled:opacity-40",children:"Send"})]})]})]})}):c.jsxs("div",{className:"group/user flex items-start justify-end gap-1.5",children:[a&&e.content&&c.jsx("button",{type:"button",onClick:()=>{d(e.content),o(!0)},className:"mt-2 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-lg text-faint opacity-0 transition hover:bg-raised hover:text-ink focus-visible:opacity-100 group-hover/user:opacity-100",title:"Edit and resend","aria-label":"Edit and resend message",children:c.jsx(ld,{size:14,strokeWidth:1.7})}),c.jsxs("div",{className:"max-w-[88%] sm:max-w-[82%]",children:[g.length>0&&c.jsx("div",{className:ne("mb-2 grid gap-2",g.length>1?"grid-cols-2":"grid-cols-1"),children:g.map(x=>c.jsx("img",{src:x.dataUrl,alt:x.name,className:"max-h-52 w-full rounded-xl border border-line object-cover"},x.id))}),c.jsxs("div",{className:"rounded-2xl rounded-br-md border border-line/70 bg-canvas px-4 py-2.5",children:[h.length>0&&c.jsx("div",{className:"mb-2 flex flex-wrap gap-1.5",children:h.map(x=>c.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-md border border-line bg-panel px-2 py-1 text-[10.5px] text-muted",children:[c.jsx(ja,{size:11}),c.jsx("span",{className:"max-w-[180px] truncate",children:x.name}),c.jsx("span",{className:"text-faint",children:Lo(x.size)})]},x.id))}),e.content&&c.jsx("p",{className:"chat-text whitespace-pre-wrap break-words leading-[1.65] text-ink",children:e.content})]})]})]})}const OE=new Set(["write_file","rewrite_file","edit_file"]);function hv(e){const i=new Set;for(const a of e){if(a.status!=="done"||!OE.has(a.call.name))continue;const r=a.call.args.path;typeof r=="string"&&r&&i.add(r)}return[...i]}function N6({turnId:e,files:i,diff:a}){const r=ge(x=>x.askConfirm),o=ge(x=>x.notify),[u,d]=F.useState("idle"),p=i.slice(0,2).join(", "),g=i.length-2,h=async()=>{if(await r({title:"Undo these file changes?",body:`${i.length===1?"This file goes":`These ${i.length} files go`} back to how ${i.length===1?"it was":"they were"} before this answer. Changes made through shell commands are not affected.`,confirmLabel:"Undo changes"})){d("working");try{const b=await jC(e),v=[b.restored.length?`restored ${b.restored.length}`:"",b.removed.length?`removed ${b.removed.length}`:"",b.skipped.length?`${b.skipped.length} too large to restore`:""].filter(Boolean);o(`Undone: ${v.join(", ")||"nothing to change"}.`,"success"),d("undone"),await Ue.getState().refresh().catch(()=>{})}catch(b){d("idle"),o(b instanceof Error?b.message:"Could not undo those changes.","error")}}};return c.jsxs("p",{className:"flex items-baseline gap-2 text-[12.5px] text-muted",children:[c.jsx("span",{className:"min-w-0 truncate",children:u==="undone"?"Changes undone":`Changed ${p}${g>0?` and ${g} more`:""}`}),u!=="undone"&&a&&c.jsx(_g,{added:a.added,removed:a.removed,className:"shrink-0"}),u!=="undone"&&c.jsx("button",{type:"button",onClick:()=>{h()},disabled:u==="working",className:"shrink-0 font-medium text-ink underline decoration-ink/30 underline-offset-[3px] transition-colors hover:decoration-ink disabled:opacity-50",children:u==="working"?"Undoing…":"Undo"})]})}function S6({text:e}){const[i,a]=F.useState(!1);return c.jsxs("div",{children:[c.jsxs("button",{type:"button",onClick:()=>a(r=>!r),className:"group/think flex max-w-full items-baseline gap-1.5 py-0.5 text-left text-[12px]","aria-expanded":i,children:[c.jsx(nd,{size:11,strokeWidth:2,className:ne("relative top-[1px] shrink-0 self-center text-faint transition-transform duration-200 ease-out",i&&"rotate-90")}),c.jsx("span",{className:"shrink-0 font-medium text-muted group-hover/think:text-ink",children:"Thought"}),!i&&c.jsx("span",{className:"min-w-0 truncate text-[11px] text-faint",children:e.replace(/\s+/g," ").trim().slice(0,100)})]}),i&&c.jsx("div",{className:"thin-scroll animate-fade max-h-40 overflow-y-auto whitespace-pre-wrap pl-[17px] font-mono text-[11px] leading-relaxed text-faint",children:e})]})}function jE(e){let i=0,a=0,r=!1;for(const o of e){if(!OE.has(o.call.name))continue;const u=CE(o);u&&(r=!0,i+=u.added,a+=u.removed)}return r?{added:i,removed:a}:null}function T6({tools:e,intermediateMessages:i=[],streaming:a=!1}){const[r,o]=F.useState(!1),u=F.useRef(!1),d=Ae(k=>k.autoCollapseWork),p=Ae(k=>k.workDetail==="detailed"),g=e.some(k=>k.status==="awaiting"),h=a||e.some(k=>k.status==="running");if(F.useEffect(()=>{g?o(!0):h?(u.current=!0,o(!0)):u.current&&d&&(u.current=!1,o(!1))},[h,g,d]),e.length===0&&i.length===0)return null;const x=[...new Set(e.map(k=>Qh(k.call.name)))],b=e.filter(k=>k.status==="error"||k.status==="denied").length,v=x.length<=3?x.join(" · "):`${x.slice(0,3).join(" · ")} +${x.length-3}`,y=[...e.map(k=>({kind:"tool",tool:k,time:k.createdAt})),...i.map(k=>({kind:"assistant",message:k,time:k.createdAt}))].sort((k,N)=>k.time-N.time);return c.jsxs("div",{className:"my-1",children:[c.jsxs("button",{type:"button",onClick:()=>{u.current=!1,o(k=>!k)},className:"group/task flex max-w-full items-baseline gap-1.5 py-0.5 text-left text-[13px]","aria-expanded":r,children:[c.jsx(nd,{size:13,strokeWidth:2,className:ne("relative top-[1px] shrink-0 self-center text-faint transition-transform duration-200 ease-out group-hover/task:text-ink",r&&"rotate-90")}),c.jsx("span",{className:ne("shrink-0 font-medium transition-colors",g?"text-warning":h?"text-shimmer":"text-ink/80 group-hover/task:text-ink"),children:g?"Action required":h?"Running task…":"Task completed"}),c.jsxs("span",{className:"min-w-0 truncate text-[12px] text-faint",children:[e.length>0&&`Used ${e.length} tool${e.length===1?"":"s"}`,v?` (${v})`:""]}),b>0&&c.jsxs("span",{className:"shrink-0 text-[12px] text-danger",children:["· ",b," failed"]}),(()=>{const k=jE(e);return k?c.jsx(_g,{added:k.added,removed:k.removed,className:"shrink-0 text-[11.5px]"}):null})()]}),r&&c.jsx("div",{className:"animate-fade space-y-0.5 pb-1 pl-[19px] pt-1",children:y.map(k=>k.kind==="tool"?c.jsx(AE,{message:k.tool,compact:!p},k.tool.id):c.jsxs("div",{className:"py-1",children:[k.message.reasoning.trim()&&c.jsx(S6,{text:k.message.reasoning}),k.message.content.trim()&&c.jsx("div",{className:"mt-1 text-[12.5px] leading-relaxed text-muted",children:c.jsx(SE,{content:k.message.content})})]},k.message.id))})]})}function qm({message:e,sessionId:i,streaming:a,isLastAssistant:r,showHeader:o,turnUsage:u}){const d=ge(M=>M.notify),p=ge(M=>M.openSettings),g=Ae(M=>M.showTokenEstimate),h=An(M=>e.provider?M.byProvider[e.provider]:void 0),[x,b]=F.useState(!1),[v,y]=F.useState(!1),k=!!(e.content.trim()||e.reasoning.trim()||e.error),N=h?.find(M=>M.id===e.model)?.name??e.model??"",_=!!(e.error&&/api key|base url|settings|credential|403|401/i.test(e.error)),T=[],A=u?.input||e.usage?.input,S=u?.output||e.usage?.output;A&&T.push(`${Pm(A)} in`),S?T.push(`${Pm(S)} out`):g&&e.content.trim()&&T.push(`~${Pm(Math.ceil(e.content.length/4))} out`);const U=[N,...T,e.durationMs?`${(e.durationMs/1e3).toFixed(1)}s`:""].filter(Boolean).join(" · "),B=async()=>{try{await navigator.clipboard.writeText(e.content),b(!0),window.setTimeout(()=>b(!1),1600)}catch{d("Clipboard access was blocked by the browser.","error")}};return!k&&!a?c.jsx("div",{className:"group",children:c.jsxs("div",{className:"min-w-0",children:[o&&c.jsxs("div",{className:"flex items-center gap-2 text-[12px] font-semibold text-ink",children:["OpenSol",N&&c.jsx("span",{className:"font-normal text-faint",children:N})]}),c.jsx("p",{className:"mt-2 text-[13px] text-muted",children:"The model returned an empty response."}),r&&c.jsxs("button",{type:"button",onClick:()=>gm(i),className:"mt-2 inline-flex items-center gap-1.5 text-[11.5px] font-medium text-accent hover:underline",children:[c.jsx(Di,{size:12})," Try again"]})]})}):c.jsx("div",{className:"group",children:c.jsxs("div",{className:"min-w-0",children:[(o||e.stopped)&&c.jsxs("div",{className:"flex min-h-[22px] items-center gap-1.5",children:[o&&c.jsxs(c.Fragment,{children:[c.jsx(fl,{size:15}),c.jsx("span",{className:"text-[12px] font-medium text-muted",children:"OpenSol"}),N&&c.jsx("span",{className:"truncate text-[11.5px] text-faint",children:N})]}),e.stopped&&c.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-line px-1.5 py-0.5 text-[9.5px] font-medium text-muted",children:[c.jsx($h,{size:7,fill:"currentColor"}),"Stopped"]})]}),e.reasoning.trim()&&c.jsxs("div",{className:"mt-1",children:[c.jsxs("button",{type:"button",onClick:()=>y(M=>!M),className:"group/think flex max-w-full items-baseline gap-1.5 py-0.5 text-left text-[12.5px]","aria-expanded":v,children:[c.jsx(nd,{size:12,strokeWidth:2,className:ne("relative top-[1px] shrink-0 self-center text-faint transition-transform duration-200 ease-out group-hover/think:text-ink",v&&"rotate-90")}),c.jsx("span",{className:ne("shrink-0 font-medium",a?"text-shimmer":"text-muted group-hover/think:text-ink"),children:a?"Thinking…":"Thought"}),!v&&c.jsx("span",{className:"min-w-0 truncate text-[11.5px] text-faint",children:e.reasoning.replace(/\s+/g," ").trim().slice(0,120)})]}),v&&c.jsx("div",{className:"thin-scroll animate-fade max-h-72 overflow-y-auto whitespace-pre-wrap break-words py-1 pl-[18px] font-mono text-[11px] leading-[1.65] text-faint",children:e.reasoning})]}),e.content&&c.jsx("div",{className:"mt-1.5",children:c.jsx(SE,{content:e.content,streaming:a})}),a&&!e.content&&!e.reasoning&&c.jsxs("div",{className:"mt-2 flex items-center gap-2 text-[13px] text-muted",children:[c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"h-1.5 w-1.5 animate-breathe rounded-full bg-accent"}),c.jsx("span",{className:"h-1.5 w-1.5 animate-breathe rounded-full bg-accent [animation-delay:160ms]"}),c.jsx("span",{className:"h-1.5 w-1.5 animate-breathe rounded-full bg-accent [animation-delay:320ms]"})]}),"Working"]}),e.error&&c.jsx("div",{className:"mt-3 rounded-xl border border-danger/25 bg-danger/[0.045] px-3.5 py-3",children:c.jsxs("div",{className:"flex items-start gap-2",children:[c.jsx(id,{size:15,className:"mt-0.5 shrink-0 text-danger"}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"text-[12px] font-medium text-ink",children:"The request did not finish"}),c.jsx("p",{className:"mt-1 whitespace-pre-wrap text-[11.5px] leading-relaxed text-muted",children:e.error}),c.jsxs("div",{className:"mt-2.5 flex flex-wrap items-center gap-2",children:[_&&c.jsxs("button",{type:"button",onClick:()=>p("models"),className:"inline-flex h-7 items-center gap-1.5 rounded-lg border border-line bg-panel px-2.5 text-[11.5px] font-medium text-ink hover:bg-raised",children:[c.jsx(Fv,{size:12}),"Open model settings"]}),r&&c.jsxs("button",{type:"button",onClick:()=>gm(i),className:"inline-flex h-7 items-center gap-1.5 rounded-lg border border-line bg-panel px-2.5 text-[11.5px] font-medium text-ink hover:bg-raised",children:[c.jsx(Di,{size:12}),"Try again"]})]})]})]})}),k&&!a&&c.jsxs("div",{className:"mt-2 flex min-h-[28px] flex-wrap items-center gap-0.5 text-[11.5px] text-faint",children:[e.content&&c.jsx("button",{type:"button",onClick:B,className:"inline-flex h-7 w-7 items-center justify-center rounded-lg transition-colors hover:bg-raised hover:text-ink","aria-label":"Copy response",title:x?"Copied":"Copy",children:x?c.jsx(Sn,{size:14,className:"text-success"}):c.jsx(ad,{size:14,strokeWidth:1.7})}),r&&c.jsx("button",{type:"button",onClick:()=>gm(i),className:"inline-flex h-7 w-7 items-center justify-center rounded-lg transition-colors hover:bg-raised hover:text-ink","aria-label":"Regenerate response",title:"Regenerate",children:c.jsx(Di,{size:14,strokeWidth:1.7})}),c.jsx("span",{className:"ml-2 tabular-nums text-muted",children:U})]})]})})}function C6({turn:e,sessionId:i,streaming:a,lastAssistantId:r,activeTurn:o=!1}){const u=[],d=[];for(const v of e.segments)v.kind==="tools"?u.push(...v.tools):v.kind==="assistant"&&d.push(v.message);const p=u.length>0,g=d[0]?.id,h=d[d.length-1]??null;if(o&&p)return c.jsxs("div",{className:"flex flex-col gap-2.5",children:[e.user&&c.jsx(Fm,{message:e.user,sessionId:i,canEdit:!a}),e.segments.map((v,y)=>v.kind==="tools"?c.jsx("div",{className:"space-y-0.5",children:v.tools.map(k=>c.jsx(AE,{message:k},k.id))},`tools-${y}`):c.jsx(qm,{message:v.message,sessionId:i,streaming:a&&v.message.id===r,isLastAssistant:v.message.id===r,showHeader:v.message.id===g},v.message.id))]});if(!p){let v=0;return c.jsxs("div",{className:"flex flex-col gap-2.5",children:[e.user&&c.jsx(Fm,{message:e.user,sessionId:i,canEdit:!a}),d.map(y=>c.jsx(qm,{message:y,sessionId:i,streaming:a&&y.id===r,isLastAssistant:y.id===r,showHeader:v++===0},y.id))]})}const x=d.slice(0,-1),b=d.reduce((v,y)=>({input:v.input+(y.usage?.input??0),output:v.output+(y.usage?.output??0)}),{input:0,output:0});return c.jsxs("div",{className:"flex flex-col gap-2.5",children:[e.user&&c.jsx(Fm,{message:e.user,sessionId:i,canEdit:!a}),c.jsx(T6,{tools:u,intermediateMessages:x}),h&&c.jsx(qm,{message:h,sessionId:i,streaming:!1,isLastAssistant:h.id===r,showHeader:!0,turnUsage:b},h.id),e.user&&hv(u).length>0&&c.jsx(N6,{turnId:e.user.id,files:hv(u),diff:jE(u)})]})}const A6=[{value:"all",label:"All"},{value:"30d",label:"30d"},{value:"7d",label:"7d"}],O6=["bg-raised","bg-accent/20","bg-accent/35","bg-accent/55","bg-accent/80"];function j6(e,i){return e<=0?0:i<=1?2:Math.min(4,1+Math.floor(e/i*3))}function Zs({icon:e,label:i,value:a}){return c.jsxs("div",{className:"min-w-0 rounded-lg border border-line/70 bg-canvas px-3 py-2.5",children:[c.jsxs("p",{className:"flex items-center gap-1.5 text-[11.5px] text-muted",children:[c.jsx(e,{size:12,className:"shrink-0 text-faint"}),c.jsx("span",{className:"truncate",children:i})]}),c.jsx("p",{className:"mt-0.5 truncate text-[20px] font-semibold tracking-[-0.03em] text-ink",title:a,children:a})]})}function M6(){const e=Ae(o=>o.daemon),i=Ue(o=>o.info),r=(e?.home??"").split(/[\\/]/).filter(Boolean).pop()||i.name||"there";return c.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[c.jsxs("div",{className:"relative",children:[c.jsx("span",{className:"absolute inset-0 -z-10 m-auto h-16 w-16 rounded-full bg-accent/20 blur-2xl","aria-hidden":"true"}),c.jsx(ek,{mood:"wave",size:60})]}),c.jsxs("h1",{className:"text-[28px] font-semibold leading-tight tracking-[-0.035em] text-ink sm:text-[34px]",children:["What should we build, ",c.jsx("span",{className:"text-solar",children:r}),"?"]}),c.jsx("p",{className:"-mt-2 text-[13.5px] text-muted",children:"Local-first agent. Your folder, your keys, your machine."})]})}function R6(){const e=Ye(g=>g.sessions),[i,a]=F.useState("30d"),[r,o]=F.useState("overview"),u=F.useMemo(()=>vj(e,i),[e,i]),d=F.useMemo(()=>{const g=[];for(let h=0;h<u.heatmap.length;h+=7)g.push(u.heatmap.slice(h,h+7));return g},[u.heatmap]),p=u.models[0]?.tokens??0;return c.jsx("div",{className:"relative w-full",children:c.jsxs("section",{className:"relative overflow-hidden rounded-xl border border-line bg-panel",children:[c.jsxs("div",{className:"relative flex flex-wrap items-center justify-between gap-2 border-b border-line/70 px-3 py-2.5",children:[c.jsx("div",{className:"inline-flex items-center rounded-lg bg-raised p-0.5",children:["overview","models"].map(g=>c.jsx("button",{type:"button",onClick:()=>o(g),className:ne("h-6 rounded-md px-2.5 text-[11.5px] font-medium capitalize transition-colors",r===g?"bg-panel text-ink shadow-pill":"text-muted hover:text-ink"),children:g},g))}),c.jsx("div",{className:"inline-flex items-center gap-0.5 rounded-lg bg-raised p-0.5",children:A6.map(g=>c.jsx("button",{type:"button",onClick:()=>a(g.value),className:ne("h-6 rounded-md px-2.5 text-[11.5px] font-medium transition-colors",i===g.value?"bg-panel text-ink shadow-pill":"text-muted hover:text-ink"),children:g.label},g.value))})]}),r==="overview"?c.jsxs("div",{className:"relative p-3",children:[c.jsxs("div",{className:"grid grid-cols-2 gap-1.5 sm:grid-cols-3",children:[c.jsx(Zs,{icon:jS,label:"Sessions",value:String(u.sessions)}),c.jsx(Zs,{icon:Iv,label:"Messages",value:String(u.messages)}),c.jsx(Zs,{icon:Ii,label:"Total tokens",value:u.tokens?Eo(u.tokens):"0"}),c.jsx(Zs,{icon:YS,label:"Active days",value:String(u.activeDays)}),c.jsx(Zs,{icon:n2,label:"Peak hour",value:u.peakHour}),c.jsx(Zs,{icon:zu,label:"Favorite model",value:xm(u.favoriteModel)})]}),c.jsx("div",{className:"mt-3 overflow-x-auto",children:c.jsx("div",{className:"flex w-max gap-[3px]",children:d.map((g,h)=>c.jsx("div",{className:"grid grid-rows-7 gap-[3px]",children:g.map(x=>c.jsx("span",{className:ne("h-[11px] w-[11px] rounded-[2px]",O6[j6(x.count,u.busiestDay)]),title:`${x.key} · ${x.count} message${x.count===1?"":"s"}`},x.key))},h))})}),c.jsxs("p",{className:"mt-2.5 text-[11px] leading-relaxed text-muted",children:[u.messages===0?"No activity in this range yet. Send a message to start the graph.":`You've used ~${Eo(u.tokens)} tokens across ${u.messages} messages.`,u.favoriteModel!=="—"&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"px-1.5 text-line",children:"·"}),u.favoriteShare,"% on ",xm(u.favoriteModel)]})]})]}):c.jsx("div",{className:"relative p-3",children:u.models.length===0?c.jsxs("div",{className:"rounded-xl border border-dashed border-line px-4 py-8 text-center",children:[c.jsx(zu,{size:18,className:"mx-auto text-faint"}),c.jsx("p",{className:"mt-2 text-[12px] font-medium text-ink",children:"No model usage yet"}),c.jsx("p",{className:"mt-1 text-[11px] text-muted",children:"Models appear here after you send a message."})]}):c.jsx("div",{className:"space-y-2.5",children:u.models.slice(0,6).map(g=>c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[c.jsx("span",{className:"min-w-0 truncate text-[12px] font-medium text-ink",title:g.model,children:xm(g.model)}),c.jsxs("span",{className:"shrink-0 text-[10.5px] tabular-nums text-faint",children:[Eo(g.tokens)," · ",g.messages," msg"]})]}),c.jsx("div",{className:"mt-1 h-1.5 overflow-hidden rounded-full bg-raised",children:c.jsx("div",{className:"h-full rounded-full bg-accent/70",style:{width:`${p?Math.max(4,g.tokens/p*100):4}%`}})})]},g.model))})})]})})}function gv(e){return new Date(e).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}function xv(e,i=180){const a=e.replace(/\s+/g," ").trim();return a.length>i?`${a.slice(0,i)}…`:a}function D6(e){switch(e.status){case"running":return{label:"Running",className:"text-accent",dot:"bg-accent animate-pulse"};case"awaiting":return{label:"Needs approval",className:"text-warning",dot:"bg-warning"};case"done":return{label:"Done",className:"text-success",dot:"bg-success"};case"denied":return{label:"Denied",className:"text-muted",dot:"bg-faint"};default:return{label:"Failed",className:"text-danger",dot:"bg-danger"}}}function z6({session:e}){const i=F.useMemo(()=>e.messages,[e.messages]),a=i.filter(r=>r.role==="tool").length;return i.length===0?c.jsx("div",{className:"flex h-full items-center justify-center px-6",children:c.jsxs("div",{className:"text-center",children:[c.jsx(To,{size:20,className:"mx-auto text-faint"}),c.jsx("p",{className:"mt-2 text-[13px] font-medium text-ink",children:"No trajectory yet"}),c.jsx("p",{className:"mt-1 text-[11.5px] text-muted",children:"Send a message to see every step here."})]})}):c.jsx("div",{className:"thin-scroll h-full overflow-y-auto",children:c.jsxs("div",{className:"mx-auto w-full max-w-[800px] px-4 pb-12 pt-7 sm:px-6",children:[c.jsxs("div",{className:"mb-5 flex items-center justify-between gap-3 border-b border-line pb-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-[13px] font-medium text-ink",children:"Trajectory"}),c.jsxs("p",{className:"mt-0.5 text-[11px] text-muted",children:[i.length," step",i.length===1?"":"s"," · ",a," tool call",a===1?"":"s"]})]}),c.jsx("span",{className:"rounded-full border border-line px-2 py-0.5 text-[10px] text-faint",children:"Read-only view"})]}),c.jsxs("div",{className:"relative",children:[c.jsx("span",{className:"absolute bottom-3 left-[13px] top-3 w-px bg-line","aria-hidden":"true"}),c.jsx("div",{className:"space-y-4",children:i.map(r=>{if(r.role==="user")return c.jsxs("div",{className:"relative flex gap-3",children:[c.jsx("span",{className:"relative z-10 flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-line bg-panel text-muted",children:c.jsx(YT,{size:13})}),c.jsxs("div",{className:"min-w-0 flex-1 rounded-xl border border-line bg-panel px-3 py-2",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-[11.5px] font-medium text-ink",children:"You"}),c.jsx("span",{className:"text-[9.5px] tabular-nums text-faint",children:gv(r.createdAt)})]}),c.jsx("p",{className:"mt-1 line-clamp-3 text-[12px] leading-relaxed text-muted",children:r.content||"Attachment only"})]})]},r.id);if(r.role==="assistant"){const g=!!(r.content.trim()||r.reasoning.trim());return c.jsxs("div",{className:"relative flex gap-3",children:[c.jsx("span",{className:"relative z-10 flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-line bg-panel",children:c.jsx(fl,{size:15})}),c.jsxs("div",{className:"min-w-0 flex-1 rounded-xl border border-line bg-panel px-3 py-2",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium text-ink",children:["OpenSol",r.model&&c.jsx("span",{className:"truncate text-[10px] font-normal text-faint",children:r.model})]}),c.jsxs("span",{className:"flex items-center gap-1.5 text-[9.5px] tabular-nums text-faint",children:[r.stopped&&c.jsx("span",{className:"text-muted",children:"Stopped"}),gv(r.createdAt)]})]}),g?c.jsx("p",{className:"mt-1 line-clamp-4 whitespace-pre-wrap text-[12px] leading-relaxed text-muted",children:xv(r.content||r.reasoning)}):c.jsx("p",{className:"mt-1 text-[11px] italic text-faint",children:"Model turn with no text."}),r.error&&c.jsxs("p",{className:"mt-1.5 flex items-start gap-1.5 text-[11px] leading-relaxed text-danger",children:[c.jsx(id,{size:11,className:"mt-0.5 shrink-0"}),r.error]}),r.toolCalls.length>0&&c.jsxs("p",{className:"mt-1.5 text-[10px] text-faint",children:[r.toolCalls.length," tool call",r.toolCalls.length===1?"":"s"," in this round"]})]})]},r.id)}const o=D6(r),u=r.call.name==="shell",d=["read_file","write_file","edit_file","rewrite_file"].includes(r.call.name),p=u?qv:d?ja:To;return c.jsxs("div",{className:"relative flex gap-3",children:[c.jsx("span",{className:"relative z-10 flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-line bg-panel text-muted",children:c.jsx(p,{size:12})}),c.jsxs("div",{className:"min-w-0 flex-1 rounded-xl border border-line/80 bg-raised/25 px-3 py-2",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("span",{className:"text-[11.5px] font-medium text-ink",children:Qh(r.call.name)}),c.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[10.5px] text-muted",children:Cw(r.call.name,r.call.args)||"—"}),c.jsxs("span",{className:ne("flex shrink-0 items-center gap-1 text-[10px] font-medium",o.className),children:[r.status==="done"?c.jsx(Sn,{size:10}):c.jsx("span",{className:ne("h-1.5 w-1.5 rounded-full",o.dot)}),o.label,r.durationMs!==void 0&&r.status==="done"?` · ${r.durationMs<1e3?`${r.durationMs}ms`:`${(r.durationMs/1e3).toFixed(1)}s`}`:""]})]}),r.result&&c.jsx("p",{className:"mt-1.5 line-clamp-2 whitespace-pre-wrap break-words font-mono text-[10.5px] leading-relaxed text-faint",children:xv(r.result,160)})]})]},r.id)})})]}),c.jsxs("p",{className:"mt-6 flex items-center justify-center gap-1 text-[10px] text-faint",children:["End of trajectory ",c.jsx(Av,{size:10})]})]})})}const L6=[{icon:j2,label:"Build a game",prompt:"Build a small browser game as one self-contained index.html (canvas, no build step). Make it playable with keyboard and touch, with a score and a restart button. Put the whole file in a single html code block so I can preview it."},{icon:B2,label:"Design a landing page",prompt:"Design a polished, responsive landing page for a small indie game studio. Choose a distinctive typographic style, keep it to one file, and put everything in a single html code block so I can preview it."},{icon:qS,label:"Trace a bug",prompt:"Inspect this workspace for a real bug. Explain the root cause, make the smallest correct fix, and run the project checks."},{icon:T2,label:"Audit this folder",prompt:"Audit this workspace. Read the key files first, then list the three most important improvements with file references and a short plan."},{icon:k2,label:"Write tests",prompt:"Find the least-tested, highest-risk module in this workspace, write focused tests for it, run them, and fix anything they reveal."},{icon:ns,label:"Research with sources",prompt:"Search the web for the current release notes of the main framework in this project, then summarise what matters and cite the pages you read."}];function I6(){const e=Ye(pe=>pe.sessions),i=Ye(pe=>pe.activeId),a=e.find(pe=>pe.id===i)??null,r=Ra(pe=>i?!!pe.streaming[i]:!1),o=Ae(),u=Ae(pe=>pe.setMode),d=Ae(pe=>pe.update),p=ge(pe=>pe.notify),g=ge(pe=>pe.openSettings),h=ge(pe=>pe.focusComposer),x=ge(pe=>pe.setWorkspaceOpen),b=ge(pe=>pe.setDeployOpen),v=ge(pe=>pe.askConfirm),y=Ue(pe=>pe.info),k=Ue(pe=>pe.git),N=vd(),[_,T]=F.useState(""),[A,S]=F.useState("chat"),U=F.useRef(null),[B,M]=F.useState(!0),C=F.useRef(i),I=F.useRef(null),X=a?.messages??[],z=X[X.length-1],H=[...X].reverse().find(pe=>pe.role==="assistant")?.id,J=ol(o),de=si(o),ue=o.skills.filter(pe=>pe.enabled).length,te=Ej(X),G=$w(X,N),ae=gj(X,r),P=(pe="auto")=>{const O=U.current;O&&O.scrollTo({top:O.scrollHeight,behavior:pe})};F.useEffect(()=>{if(C.current!==i){C.current=i,M(!0),S("chat"),requestAnimationFrame(()=>P("auto"));const pe=Ye.getState().sessions.find(O=>O.id===i);pe?.mode&&u(pe.mode)}},[i,u]),F.useEffect(()=>{z&&(z.id!==I.current?(I.current=z.id,z.role==="user"?(M(!0),requestAnimationFrame(()=>P("auto"))):B&&requestAnimationFrame(()=>P("auto"))):B&&P("auto"))},[z,B]),F.useEffect(()=>{if(!B)return;const pe=window.setTimeout(()=>P("auto"),40);return()=>window.clearTimeout(pe)},[X,B]);const re=async(pe,O)=>{const D=Ae.getState();if(!ol(D))return p(D.provider==="custom"?"Add a base URL for your custom endpoint in Settings → Models.":`Add an API key for ${Fh(D.provider)} in Settings → Models.`,"error"),g("models"),!1;const ie=si(D);if(!ie)return p("Choose a model before sending a message.","error"),g("models"),!1;let me=i;(!me||!Ye.getState().sessions.some(He=>He.id===me))&&(me=Ye.getState().createSession(D.provider,ie,D.mode));const ke=pe.trim(),Re=yi("msg");return Ye.getState().addMessage(me,{id:Re,role:"user",content:ke,attachments:O.length>0?O:void 0,createdAt:Date.now()}),Ye.getState().updateSession(me,{mode:D.mode}),T(""),M(!0),Gw(me,Re),!0},j=pe=>{T(pe),h()},Le=async(pe,O)=>{switch(pe){case"search":return O.trim()?(d({webSearchEnabled:!0}),re(`Use the web to research this: ${O.trim()}
|
|
286
|
-
|
|
287
|
-
Read the most useful sources, cite the URLs you actually opened, and answer for this workspace.`,[])):(T("/search "),p("Type what you want OpenSol to research.","info"),h(),!1);case"plan":return u("plan"),O.trim()?re(O.trim(),[]):(p("Plan mode is on: investigation only until you switch to Build.","info"),h(),!0);case"build":return u("build"),O.trim()?re(O.trim(),[]):(p("Build mode is on: OpenSol can edit files and run commands.","info"),h(),!0);case"new":return Ye.getState().newChat(),h(),!0;case"workspace":return x(!0),!0;case"deploy":return b(!0),!0;case"settings":return g("models"),!0;case"clear":{const D=Ye.getState().sessions.find(me=>me.id===i);return!D||D.messages.length===0||!await v({title:"Clear this conversation?",body:"The messages in this conversation will be removed from your local history. The workspace files are not touched.",confirmLabel:"Clear conversation",tone:"danger"})||(Gu(D.id),Ye.getState().updateSession(D.id,{messages:[]}),Ye.getState().updateSession(D.id,{title:"New conversation"}),p("Conversation cleared.","success")),!0}default:return!1}};return c.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col bg-panel",children:[c.jsx(Sj,{session:a,view:A,onViewChange:S}),!a||X.length===0?c.jsxs("div",{className:"thin-scroll relative min-h-0 flex-1 overflow-y-auto",children:[c.jsx("div",{className:"hero-wash pointer-events-none absolute inset-0","aria-hidden":"true"}),c.jsx("div",{className:"bg-dots pointer-events-none absolute inset-0 opacity-70","aria-hidden":"true"}),c.jsxs("div",{className:"relative mx-auto flex min-h-full w-full max-w-[720px] flex-col justify-center px-4 py-10 sm:px-6",children:[c.jsx("div",{className:"animate-blurin",children:c.jsx(M6,{})}),c.jsxs("div",{className:"mt-8 w-full animate-rise [animation-delay:120ms]",children:[(!J||!de)&&c.jsxs("button",{type:"button",onClick:()=>g("models"),className:"mb-3 flex w-full items-center gap-2 rounded-xl border border-accent/30 bg-accent-soft px-4 py-2.5 text-left text-[12.5px] font-medium text-accent transition-all hover:border-accent/50",children:[c.jsx(zv,{size:14,className:"shrink-0"}),c.jsx("span",{className:"flex-1",children:J?"Choose a model to start":"Connect a provider to start"}),c.jsx("span",{className:"text-[11px] font-normal opacity-70",children:"Open settings →"})]}),c.jsx(f1,{value:_,onChange:T,onSend:re,onStop:()=>{},onCommand:Le,streaming:!1,hints:!0,autoFocus:!0,placeholder:J?"How can I help you today?":"Add a provider key to start",pixleMood:J?"idle":"sleepy"}),c.jsx("div",{className:"stagger mt-5 grid grid-cols-2 gap-2 sm:grid-cols-3",children:L6.slice(0,6).map(pe=>c.jsxs("button",{type:"button",onClick:()=>j(pe.prompt),className:"card-lift group/starter flex items-center gap-2.5 rounded-xl border border-line bg-panel px-3 py-2.5 text-left text-[12.5px] font-medium text-muted hover:text-ink",children:[c.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-raised text-faint transition-colors duration-200 group-hover/starter:bg-accent-soft group-hover/starter:text-accent",children:c.jsx(pe.icon,{size:14,strokeWidth:1.8})}),c.jsx("span",{className:"min-w-0 truncate",children:pe.label})]},pe.label))}),c.jsxs("div",{className:"mt-2.5 flex items-center justify-center gap-3 px-1 text-[11px] text-faint",children:[c.jsxs("span",{className:"truncate",children:[y.available?y.name:"No folder open",y.available&&k.available&&k.branch?` · ${k.branch}`:""]}),c.jsx("span",{"aria-hidden":"true",children:"·"}),c.jsxs("span",{className:"shrink-0",children:[ue," skill",ue===1?"":"s"," ·"," ",J?de?"Ready":"Model needed":"Provider needed"]})]})]}),c.jsx("div",{className:"mt-10 animate-rise [animation-delay:420ms]",children:c.jsx(R6,{})})]})]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"relative min-h-0 flex-1",children:A==="trajectory"?c.jsx(z6,{session:a}):c.jsxs(c.Fragment,{children:[c.jsx("div",{ref:U,onScroll:pe=>{const O=pe.currentTarget,D=O.scrollHeight-O.scrollTop-O.clientHeight;M(D<90)},className:"thin-scroll h-full overflow-y-auto",children:c.jsx("div",{className:"mx-auto w-full max-w-[760px] px-4 pb-12 pt-8 sm:px-6 sm:pt-10",children:te.map((pe,O)=>c.jsx("div",{className:O===0?"animate-rise":"mt-10 animate-rise",children:c.jsx(C6,{turn:pe,sessionId:a.id,streaming:r,lastAssistantId:H,activeTurn:r&&O===te.length-1})},pe.id))})}),!B&&c.jsx("button",{type:"button",onClick:()=>{M(!0),P("smooth")},className:"surface-lift absolute bottom-4 left-1/2 -translate-x-1/2 animate-scalein rounded-full border border-line px-3.5 py-1.5 text-[11.5px] font-medium text-muted shadow-composer transition-colors hover:text-ink",children:c.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[c.jsx(BS,{size:11}),"Jump to latest"]})})]})}),c.jsx("div",{className:"shrink-0 bg-panel px-3 pb-3 pt-1 sm:px-6 sm:pb-4",children:c.jsxs("div",{className:"mx-auto w-full max-w-[760px]",children:[c.jsx(f1,{value:_,onChange:T,onSend:re,onStop:()=>a&&Gu(a.id),onCommand:Le,streaming:r,placeholder:J?"How can I help you today?":"Add a provider key to start",contextPct:G.pct,contextTitle:`Context: ~${Eo(G.used)} / ${Eo(G.limit)} tokens`,pixleMood:ae}),c.jsxs("div",{className:"mt-2 flex items-center justify-between gap-3 px-2 text-[11px] text-faint",children:[c.jsxs("span",{className:"flex items-center gap-1",children:[o.mode==="plan"?c.jsx(zh,{size:10}):c.jsx(Ii,{size:10}),o.mode==="plan"?"Plan mode · read-only tools":ue>0?`${ue} skill${ue===1?"":"s"} loaded`:"Build mode · full tools"]}),c.jsx("span",{className:"hidden sm:inline",children:y.available?`Working in ${y.name}`:"No workspace open"}),c.jsx("span",{className:"sm:hidden",children:o.tools.shell.approval==="ask"?"Shell asks first":"Shell auto-runs"})]})]})})]})]})}const bv=[{id:"desktop",label:"Desktop",icon:Ih,width:"100%"},{id:"tablet",label:"Tablet",icon:zT,width:"768px"},{id:"phone",label:"Phone",icon:AT,width:"390px"}];function U6(e){return e.includes("index.html")?"index.html":[...e].sort((i,a)=>i.split("/").length-a.split("/").length||i.localeCompare(a))[0]??""}function B6(){const e=Ue(T=>T.entries),[i,a]=F.useState(""),[r,o]=F.useState(""),[u,d]=F.useState(""),[p,g]=F.useState("desktop"),[h,x]=F.useState(0),b=F.useMemo(()=>e.filter(T=>T.type==="file"&&/\.html?$/i.test(T.path)).map(T=>T.path),[e]),v=F.useMemo(()=>{const T=e.filter(A=>A.type==="file");return`${T.length}-${T.reduce((A,S)=>Math.max(A,S.mtime),0)}`},[e]),y=b.includes(u)?u:U6(b),k=F.useCallback(async()=>{o("");try{a((await AC()).token)}catch(T){a(""),o(T instanceof Error?T.message:"Could not start the preview.")}},[]);F.useEffect(()=>{k()},[k]);const N=i&&y?`/preview/${i}/${encodeURI(y)}?v=${v}.${h}`:"",_=bv.find(T=>T.id===p)?.width??"100%";return b.length===0?c.jsxs("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-2 px-8 text-center",children:[c.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-raised text-faint",children:c.jsx(Ih,{size:18})}),c.jsx("p",{className:"text-[13px] font-medium text-ink",children:"Nothing to preview yet"}),c.jsx("p",{className:"max-w-[260px] text-[11.5px] leading-relaxed text-muted",children:"Ask OpenSol to build a page or a game. The first HTML file it writes shows up here and reloads as it changes."})]}):c.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[c.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 border-b border-line px-2.5 py-2",children:[c.jsx("select",{value:y,onChange:T=>d(T.target.value),className:"h-8 min-w-0 flex-1 truncate rounded-lg border border-line bg-transparent px-2 font-mono text-[11.5px] text-ink outline-none focus:border-accent/50","aria-label":"Page to preview",children:b.map(T=>c.jsx("option",{value:T,children:T},T))}),c.jsx("div",{className:"flex items-center rounded-lg bg-raised/70 p-0.5",children:bv.map(T=>c.jsx("button",{type:"button",onClick:()=>g(T.id),"aria-pressed":p===T.id,title:T.label,"aria-label":T.label,className:ne("flex h-7 w-7 items-center justify-center rounded-md transition-colors",p===T.id?"bg-panel text-ink shadow-pill":"text-muted hover:text-ink"),children:c.jsx(T.icon,{size:14,strokeWidth:1.7})},T.id))}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",onClick:()=>{k(),x(T=>T+1)},title:"Reload preview","aria-label":"Reload preview",children:c.jsx(Di,{size:14,strokeWidth:1.7})}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",disabled:!N,onClick:()=>window.open(N,"_blank","noopener"),title:"Open in a new tab","aria-label":"Open in a new tab",children:c.jsx(jv,{size:14,strokeWidth:1.7})})]}),c.jsxs("div",{className:"relative min-h-0 flex-1 overflow-auto bg-raised/40 p-2",children:[r&&c.jsxs("div",{className:"mx-auto mt-6 max-w-[300px] rounded-xl border border-danger/25 bg-danger/[0.05] px-3.5 py-3 text-center",children:[c.jsx("p",{className:"text-[12px] font-medium text-ink",children:"The preview could not start"}),c.jsx("p",{className:"mt-1 text-[11.5px] leading-relaxed text-muted",children:r}),c.jsx("button",{type:"button",onClick:()=>{k()},className:"mt-2 text-[11.5px] font-medium text-accent hover:underline",children:"Try again"})]}),!r&&!N&&c.jsxs("p",{className:"flex items-center justify-center gap-2 py-8 text-[11.5px] text-faint",children:[c.jsx(un,{size:12})," Starting preview…"]}),N&&c.jsx("iframe",{title:`Preview of ${y}`,src:N,sandbox:"allow-scripts allow-forms allow-modals allow-popups allow-pointer-lock",className:"mx-auto block h-full min-h-[320px] max-w-full rounded-lg border border-line bg-white shadow-pill",style:{width:_}},`${y}-${h}`)]}),c.jsx("p",{className:"shrink-0 border-t border-line px-3 py-1.5 text-[11px] text-faint",children:"Runs in a sandbox: it can load your files and public CDNs, but cannot reach OpenSol or your keys."})]})}function yv(e){return e.messages.filter(i=>i.role==="user").length}function $6(e){const i=new Set;for(const a of e.messages){if(a.role!=="tool"||a.status!=="done"||!["write_file","edit_file","rewrite_file"].includes(a.call.name))continue;const r=a.call.args.path;typeof r=="string"&&i.add(r)}return i.size}function H6(){const e=Ye(C=>C.sessions),i=Ye(C=>C.activeId),a=Ye(C=>C.setActive),r=Ye(C=>C.newChat),o=Ye(C=>C.renameSession),u=Ye(C=>C.deleteSession),d=Ue(C=>C.info.root),p=Ra(C=>C.streaming),g=Ra(C=>C.titling),h=ge(C=>C.askConfirm),x=ge(C=>C.notify),b=ge(C=>C.focusComposer),[v,y]=F.useState("workspace"),[k,N]=F.useState(null),[_,T]=F.useState(""),A=F.useMemo(()=>[...v==="all"?e:e.filter(I=>I.workspace===d)].sort((I,X)=>X.updatedAt-I.updatedAt),[e,v,d]),S=e.filter(C=>!C.workspace).length,U=()=>{k&&_.trim()&&o(k,_),N(null)},B=async C=>{await h({title:"Delete this session?",body:`“${C.title}” and its messages will be removed from this computer. This cannot be undone.`,confirmLabel:"Delete session",tone:"danger"})&&(Gu(C.id),u(C.id))},M=async C=>{await qt.titles?.generate(C,{force:!0})||x("The model could not suggest a title right now.","error")};return c.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[c.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-line px-3 py-2.5",children:[c.jsx("div",{className:"relative flex rounded-full bg-raised p-0.5 text-[10.5px] font-medium",children:["workspace","all"].map(C=>c.jsx("button",{type:"button",onClick:()=>y(C),className:ne("relative z-10 rounded-full px-2.5 py-1 transition-colors",v===C?"bg-panel text-ink shadow-pill":"text-muted hover:text-ink"),children:C==="workspace"?"This workspace":`All · ${e.length}`},C))}),c.jsxs("button",{type:"button",onClick:()=>{r(),b()},className:"ml-auto inline-flex h-7 items-center gap-1 rounded-full bg-ink px-2.5 text-[10.5px] font-medium text-panel transition-transform active:scale-95",children:[c.jsx(yr,{size:12})," New"]})]}),c.jsx("div",{className:"thin-scroll min-h-0 flex-1 overflow-y-auto p-2",children:A.length===0?c.jsxs("div",{className:"px-4 py-10 text-center",children:[c.jsx(Z2,{size:22,className:"mx-auto text-faint"}),c.jsx("p",{className:"mt-2 text-[12px] font-medium text-ink",children:"No sessions here yet"}),c.jsx("p",{className:"mt-1 text-[10.5px] leading-relaxed text-faint",children:v==="workspace"&&S>0?`${S} older session${S===1?"":"s"} were started before workspaces were tracked. Switch to “All” to see them.`:"Start a conversation and it shows up here."})]}):A.map((C,I)=>{const X=!!p[C.id],z=$6(C);return c.jsxs("div",{style:{animationDelay:`${Math.min(I*30,300)}ms`},className:ne("session-card group/session animate-slideleft mb-1.5 rounded-xl border px-3 py-2.5 transition-all duration-200",i===C.id?"border-accent/40 bg-accent-soft/60":"border-transparent hover:border-line hover:bg-raised/60"),children:[k===C.id?c.jsx("input",{autoFocus:!0,value:_,onChange:H=>T(H.target.value),onBlur:U,onKeyDown:H=>{H.key==="Enter"&&U(),H.key==="Escape"&&N(null)},className:"h-7 w-full rounded-md border border-accent/50 bg-panel px-2 text-[12px] text-ink outline-none","aria-label":"Rename session"}):c.jsxs("button",{type:"button",onClick:()=>a(C.id),className:"block w-full text-left",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[i===C.id&&c.jsx(Sn,{size:12,className:"shrink-0 text-accent"}),c.jsx("span",{className:ne("min-w-0 flex-1 truncate text-[12.5px] font-medium text-ink",g[C.id]&&"text-shimmer"),children:C.title}),X&&c.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] font-medium text-accent",children:[c.jsx("span",{className:"h-1.5 w-1.5 animate-breathe rounded-full bg-accent"})," running"]})]}),c.jsxs("span",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-0.5 text-[10px] text-faint",children:[c.jsx("span",{children:Yu(C.updatedAt)}),c.jsxs("span",{children:["· ",yv(C)," turn",yv(C)===1?"":"s"]}),z>0&&c.jsxs("span",{children:["· ",z," file",z===1?"":"s"," edited"]}),C.model&&c.jsxs("span",{className:"max-w-[120px] truncate font-mono",children:["· ",C.model]}),C.titleSource==="ai"&&c.jsxs("span",{className:"inline-flex items-center gap-0.5 text-accent/80",children:[c.jsx(Ii,{size:9})," AI title"]})]})]}),c.jsxs("div",{className:"mt-1.5 flex items-center gap-0.5 opacity-0 transition-opacity group-hover/session:opacity-100 focus-within:opacity-100",children:[c.jsx("button",{type:"button",className:"icon-button h-6 w-6",onClick:()=>{N(C.id),T(C.title)},title:"Rename","aria-label":"Rename session",children:c.jsx(ld,{size:11})}),c.jsx("button",{type:"button",className:"icon-button h-6 w-6",onClick:()=>{M(C.id)},disabled:!!g[C.id]||C.messages.length===0,title:"Let the model name this session","aria-label":"Name session with AI",children:c.jsx(Ii,{size:11})}),c.jsx("button",{type:"button",className:"icon-button h-6 w-6 hover:!text-danger",onClick:()=>{B(C)},title:"Delete","aria-label":"Delete session",children:c.jsx(aa,{size:11})})]})]},C.id)})})]})}function P6(e){const i=new Map;for(const u of e)i.set(u.path,{entry:u,children:[]});const a=[],r=[...e].sort((u,d)=>u.path.split("/").length-d.path.split("/").length);for(const u of r){const d=i.get(u.path);if(!d)continue;const p=u.path.lastIndexOf("/"),g=p===-1?null:i.get(u.path.slice(0,p));g?g.children.push(d):a.push(d)}const o=u=>{u.sort((d,p)=>d.entry.type===p.entry.type?d.entry.name.localeCompare(p.entry.name):d.entry.type==="dir"?-1:1),u.forEach(d=>o(d.children))};return o(a),a}function F6(e){const i=/\.([a-z0-9]+)$/i.exec(e);return i?i[1].toUpperCase():"TEXT"}function q6({onDone:e}){const i=Ue(U=>U.addWorkspace),a=Ue(U=>U.info.workspaces),r=ge(U=>U.notify),[o,u]=F.useState(""),[d,p]=F.useState(""),[g,h]=F.useState(""),[x,b]=F.useState([]),[v,y]=F.useState(!0),[k,N]=F.useState(""),[_,T]=F.useState(!1),A=async U=>{y(!0),N("");try{const B=await _C(U);u(B.path),p(B.parent),h(B.home),b(B.entries)}catch(B){N(B instanceof Error?B.message:"Could not read that folder.")}finally{y(!1)}};F.useEffect(()=>{A("")},[]);const S=async U=>{T(!0);try{await i(U),e?.()}catch(B){r(B instanceof Error?B.message:"Could not open that folder.","error")}finally{T(!1)}};return c.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[c.jsxs("div",{className:"border-b border-line px-4 py-4",children:[c.jsx("p",{className:"font-display text-[19px] font-semibold tracking-[-0.02em] text-ink",children:"Choose a real folder"}),c.jsx("p",{className:"mt-1 text-[11.5px] leading-relaxed text-muted",children:"OpenSol works directly in this folder through the local daemon. Nothing is uploaded."})]}),c.jsxs("div",{className:"flex items-center gap-1.5 border-b border-line px-3 py-2",children:[c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>{A(d)},disabled:!d||v,"aria-label":"Parent folder",children:c.jsx(DS,{size:13})}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>{A(g)},disabled:!g||v,"aria-label":"Home folder",children:c.jsx(rd,{size:13})}),c.jsx("p",{className:"min-w-0 flex-1 truncate font-mono text-[10px] text-muted",title:o,children:o||"Home"}),v&&c.jsx(un,{size:12}),c.jsxs("button",{type:"button",onClick:()=>{S(o)},disabled:!o||_,className:"inline-flex h-7 items-center gap-1 rounded-lg bg-ink px-2.5 text-[10.5px] font-medium text-panel disabled:opacity-40",children:[_?c.jsx(un,{size:11}):c.jsx(Sn,{size:11}),"Open"]})]}),a.length>0&&c.jsxs("div",{className:"border-b border-line px-3 py-2",children:[c.jsx("p",{className:"mb-1.5 text-[9px] font-semibold uppercase tracking-[0.13em] text-faint",children:"Recent"}),c.jsx("div",{className:"flex flex-wrap gap-1",children:a.slice(0,6).map(U=>c.jsx("button",{type:"button",onClick:()=>{S(U.path)},className:"max-w-full truncate rounded-md border border-line bg-raised/60 px-2 py-1 text-left text-[10px] text-muted hover:text-ink",title:U.path,children:U.name},U.path))})]}),c.jsxs("div",{className:"thin-scroll min-h-0 flex-1 overflow-y-auto px-2 py-2",children:[k&&c.jsx("p",{className:"px-2 py-3 text-[11px] text-danger",children:k}),!v&&!k&&x.length===0&&c.jsx("p",{className:"px-2 py-4 text-[11px] text-faint",children:"This folder has no subfolders."}),x.map(U=>c.jsxs("div",{className:"group flex items-center gap-1",children:[c.jsxs("button",{type:"button",onClick:()=>{A(U.path)},className:"flex h-8 min-w-0 flex-1 items-center gap-2 rounded-md px-2 text-left text-[11.5px] text-muted transition-colors hover:bg-raised hover:text-ink",children:[c.jsx(nl,{size:13,className:"shrink-0 text-faint"}),c.jsx("span",{className:"truncate",children:U.name})]}),c.jsx("button",{type:"button",onClick:()=>{S(U.path)},className:"hidden h-7 rounded-md px-2 text-[10px] font-medium text-accent group-hover:block",children:"Use"})]},U.path))]})]})}function G6(){const e=ge(R=>R.workspaceOpen),i=ge(R=>R.setWorkspaceOpen),a=ge(R=>R.notify),r=ge(R=>R.askConfirm),o=Ue(R=>R.info),u=Ue(R=>R.root),d=Ue(R=>R.entries),p=Ue(R=>R.loadingTree),g=Ue(R=>R.treeError),h=Ue(R=>R.activeFile),x=Ue(R=>R.file),b=Ue(R=>R.content),v=Ue(R=>R.dirty),y=Ue(R=>R.saving),k=Ue(R=>R.openingFile),N=Ue(R=>R.git),_=Ue(R=>R.gitLoading),T=Ue(R=>R.setActiveFile),A=Ue(R=>R.saveFile),S=Ue(R=>R.setContent),U=Ue(R=>R.createEntry),B=Ue(R=>R.renameEntry),M=Ue(R=>R.deleteEntry),C=Ue(R=>R.forgetWorkspace),I=Ue(R=>R.loadGit),X=Ue(R=>R.refresh),[z,H]=F.useState(""),[J,de]=F.useState(new Set),ue=Ye(R=>R.sessions.length),[te,G]=F.useState("files"),[ae,P]=F.useState(!o.available),[re,j]=F.useState(null),[Le,pe]=F.useState(!1),O=F.useRef(null),D=F.useMemo(()=>P6(d),[d]),ie=F.useMemo(()=>{const R=z.trim().toLowerCase();return R?d.filter(fe=>fe.path.toLowerCase().includes(R)).slice(0,300):null},[d,z]),me=b?b.split(`
|
|
288
|
-
`).length:0;if(F.useEffect(()=>{re&&O.current?.focus()},[re]),F.useEffect(()=>{P(!o.available)},[o.available]),F.useEffect(()=>{const R=fe=>{!(fe.metaKey||fe.ctrlKey)||fe.key.toLowerCase()!=="s"||!ge.getState().workspaceOpen||!Ue.getState().activeFile||(fe.preventDefault(),Ue.getState().saveFile())};return window.addEventListener("keydown",R),()=>window.removeEventListener("keydown",R)},[]),!e)return null;const ke=async()=>{if(!re)return;const R=re.value.trim().replace(/^\/+/,"");if(!R)return j(null);try{if(re.mode==="rename"){if(!h)return;await B(h,R)}else await U(R,re.mode==="create-dir"?"dir":"file");j(null)}catch(fe){a(fe instanceof Error?fe.message:"That change failed.","error")}},Re=async R=>{if(await r({title:"Delete this path?",body:`${R} will be deleted from disk. This cannot be undone.`,confirmLabel:"Delete",tone:"danger"}))try{await M(R)}catch(De){a(De instanceof Error?De.message:"Could not delete that path.","error")}},He=async()=>{try{await navigator.clipboard.writeText(b),pe(!0),window.setTimeout(()=>pe(!1),1500)}catch{a("Clipboard access was blocked.","error")}},$e=(R,fe)=>{const De=R.entry.path;if(R.entry.type==="dir"){const Et=J.has(De);return c.jsxs("div",{children:[c.jsxs("button",{type:"button",onClick:()=>de(xt=>{const Be=new Set(xt);return Be.has(De)?Be.delete(De):Be.add(De),Be}),className:"group flex h-7 w-full items-center gap-1.5 rounded-md pr-1.5 text-left text-[11.5px] font-medium text-muted transition-colors hover:bg-raised hover:text-ink",style:{paddingLeft:8+fe*13},title:De,children:[c.jsx(Av,{size:10,className:ne("shrink-0 text-faint transition-transform",!Et&&"rotate-90")}),Et?c.jsx(nl,{size:12,className:"shrink-0 text-faint"}):c.jsx(Wr,{size:12,className:"shrink-0 text-faint"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:R.entry.name}),c.jsx("span",{role:"button",tabIndex:0,onClick:xt=>{xt.stopPropagation(),Re(De)},onKeyDown:xt=>{xt.key==="Enter"&&Re(De)},className:"hidden h-5 w-5 items-center justify-center rounded text-faint hover:text-danger group-hover:flex","aria-label":`Delete ${De}`,children:c.jsx(aa,{size:10})})]}),!Et&&R.children.map(xt=>$e(xt,fe+1))]},De)}return c.jsxs("button",{type:"button",onClick:()=>T(De),className:ne("flex h-7 w-full items-center gap-1.5 rounded-md pr-1.5 text-left font-mono text-[10.5px] transition-colors",h===De?"bg-accent-soft font-medium text-accent":"text-muted hover:bg-raised hover:text-ink"),style:{paddingLeft:8+fe*13+10},title:De,children:[c.jsx(ja,{size:11,className:ne("shrink-0",h===De?"text-accent":"text-faint")}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:R.entry.name})]},De)};return c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button","aria-label":"Close workspace",onClick:()=>i(!1),className:"fixed inset-0 z-40 cursor-default bg-ink/20 backdrop-blur-[1px] xl:hidden"}),c.jsxs("aside",{className:ne("fixed inset-y-0 right-0 z-50 flex h-dvh w-[min(96vw,440px)] flex-col border-l border-line surface-lift shadow-float transition-[width] duration-200 xl:static xl:z-auto xl:shadow-none",te==="preview"&&o.available&&!ae?"sm:w-[min(96vw,620px)] xl:w-[560px]":"xl:w-[390px]"),children:[c.jsxs("div",{className:"flex h-14 shrink-0 items-center gap-2 border-b border-line px-3",children:[c.jsx("span",{className:"flex h-7 w-7 items-center justify-center rounded-lg bg-accent-soft text-accent",children:c.jsx(Wr,{size:14})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"truncate text-[12px] font-semibold tracking-[-0.01em] text-ink",children:o.available?o.name:"Workspace"}),c.jsx("p",{className:"truncate text-[9px] text-faint",title:u,children:o.available?u:"No folder open"})]}),o.available&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>P(!0),title:"Change folder","aria-label":"Change folder",children:c.jsx(nl,{size:14})}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>{X().catch(()=>{})},title:"Refresh tree","aria-label":"Refresh tree",children:c.jsx(Di,{size:13,className:ne(p&&"animate-spin")})})]}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>i(!1),title:"Close workspace","aria-label":"Close workspace",children:c.jsx(ra,{size:15})})]}),ae||!o.available?c.jsx(q6,{onDone:()=>P(!1)}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex shrink-0 items-center gap-1 border-b border-line px-2 py-1.5",children:[c.jsx("button",{type:"button",onClick:()=>G("files"),className:ne("h-7 rounded-md px-2.5 text-[11px] font-medium",te==="files"?"bg-raised text-ink":"text-muted hover:text-ink"),children:"Files"}),c.jsx("button",{type:"button",onClick:()=>G("preview"),className:ne("h-7 rounded-md px-2.5 text-[11px] font-medium",te==="preview"?"bg-raised text-ink":"text-muted hover:text-ink"),children:"Preview"}),c.jsxs("button",{type:"button",onClick:()=>G("sessions"),className:ne("h-7 rounded-md px-2.5 text-[11px] font-medium",te==="sessions"?"bg-raised text-ink":"text-muted hover:text-ink"),children:["Sessions ",c.jsxs("span",{className:"text-faint",children:["· ",ue]})]}),c.jsxs("button",{type:"button",onClick:()=>G("git"),className:ne("h-7 rounded-md px-2.5 text-[11px] font-medium",te==="git"?"bg-raised text-ink":"text-muted hover:text-ink"),children:["Git ",N.entries.length>0&&c.jsxs("span",{className:"text-warning",children:["· ",N.entries.length]})]}),c.jsxs("div",{className:"ml-auto flex items-center gap-0.5",children:[c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>j({mode:"create-file",value:""}),title:"New file","aria-label":"New file",children:c.jsx(Mv,{size:13})}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>j({mode:"create-dir",value:""}),title:"New folder","aria-label":"New folder",children:c.jsx(N2,{size:13})})]})]}),te==="files"?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"shrink-0 border-b border-line px-2.5 py-2",children:[c.jsxs("div",{className:"relative",children:[c.jsx(dl,{size:11,className:"pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 text-faint"}),c.jsx("input",{value:z,onChange:R=>H(R.target.value),placeholder:"Find a file",className:"h-7 w-full rounded-md border border-transparent bg-raised/60 pl-7 pr-2 text-[10.5px] text-ink outline-none transition-colors placeholder:text-faint focus:border-line focus:bg-panel","aria-label":"Find a file"})]}),re&&c.jsxs("div",{className:"mt-1.5 flex items-center gap-1",children:[c.jsx("input",{ref:O,value:re.value,onChange:R=>j({...re,value:R.target.value}),onKeyDown:R=>{R.key==="Enter"&&ke(),R.key==="Escape"&&j(null)},placeholder:re.mode==="rename"?h??"new/path":"folder/file.ts",className:"h-7 min-w-0 flex-1 rounded-md border border-accent/40 bg-panel px-2 font-mono text-[10.5px] outline-none"}),c.jsx("button",{type:"button",onClick:()=>{ke()},className:"flex h-7 items-center rounded-md bg-ink px-2 text-[10px] font-medium text-panel",children:c.jsx(yr,{size:10})}),c.jsx("button",{type:"button",onClick:()=>j(null),className:"icon-button h-7 w-7",children:c.jsx(ra,{size:12})})]})]}),c.jsxs("div",{className:"thin-scroll max-h-[32dvh] min-h-[92px] shrink-0 overflow-y-auto px-1.5 py-1.5 xl:max-h-[38%]",children:[g&&c.jsx("p",{className:"px-2 py-2 text-[10.5px] text-danger",children:g}),p&&d.length===0&&c.jsxs("p",{className:"flex items-center gap-1.5 px-2 py-3 text-[10.5px] text-faint",children:[c.jsx(un,{size:11})," Reading folder…"]}),ie?ie.map(R=>c.jsxs("button",{type:"button",onClick:()=>R.type==="file"&&T(R.path),className:ne("flex h-7 w-full items-center gap-1.5 rounded-md px-2 text-left font-mono text-[10.5px]",h===R.path?"bg-accent-soft font-medium text-accent":"text-muted hover:bg-raised hover:text-ink"),children:[R.type==="dir"?c.jsx(nl,{size:11}):c.jsx(ja,{size:11}),c.jsx("span",{className:"truncate",children:R.path})]},R.path)):D.map(R=>$e(R,0)),!p&&!g&&d.length===0&&c.jsx("p",{className:"px-2 py-4 text-center text-[10.5px] text-faint",children:"This folder is empty."})]}),c.jsx("div",{className:"flex min-h-0 flex-1 flex-col border-t border-line",children:h&&x?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 border-b border-line px-3 py-2",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"truncate font-mono text-[10.5px] font-medium text-ink",children:h}),c.jsxs("p",{className:"mt-0.5 text-[9px] text-faint",children:[F6(h)," · ",me," lines · ",Lo(x.size),v?" · unsaved":" · saved"]})]}),k&&c.jsx(un,{size:11}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>j({mode:"rename",value:h}),title:"Rename","aria-label":"Rename",children:c.jsx(ld,{size:12})}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:He,title:"Copy","aria-label":"Copy",children:Le?c.jsx(Sn,{size:12,className:"text-success"}):c.jsx(ad,{size:12})}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7 hover:text-danger",onClick:()=>{Re(h)},title:"Delete","aria-label":"Delete",children:c.jsx(aa,{size:12})}),c.jsxs("button",{type:"button",onClick:()=>{A()},disabled:!v||y,className:"inline-flex h-7 items-center gap-1 rounded-md bg-ink px-2 text-[10px] font-medium text-panel disabled:opacity-35",children:[y?c.jsx(un,{size:10}):c.jsx(xT,{size:10}),"Save"]})]}),x.binary?c.jsx("div",{className:"flex flex-1 items-center justify-center px-6 text-center text-[11px] text-faint",children:"This file is binary and cannot be edited here."}):c.jsx("textarea",{value:b,onChange:R=>S(R.target.value),spellCheck:!1,wrap:"off","aria-label":`Edit ${h}`,className:"thin-scroll min-h-0 flex-1 resize-none overflow-auto bg-panel p-3.5 font-mono text-[11.5px] leading-[1.75] text-ink outline-none"}),c.jsxs("div",{className:"flex h-6 shrink-0 items-center justify-between border-t border-line px-3 text-[8.5px] text-faint",children:[c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:ne("h-1 w-1 rounded-full",v?"bg-warning":"bg-success")}),v?"Unsaved changes":"Saved to disk"]}),c.jsx("span",{children:"⌘S to save · UTF-8"})]})]}):c.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 px-6 text-center",children:[c.jsx("span",{className:"flex h-9 w-9 items-center justify-center rounded-xl bg-raised text-faint",children:c.jsx(ja,{size:16})}),c.jsx("p",{className:"text-[11.5px] font-medium text-ink",children:"No file selected"}),c.jsx("p",{className:"max-w-[230px] text-[10px] leading-relaxed text-faint",children:"Pick a file from the tree. The agent reads and writes these same files."})]})})]}):te==="preview"?c.jsx(B6,{}):te==="sessions"?c.jsx(H6,{}):c.jsxs("div",{className:"thin-scroll min-h-0 flex-1 overflow-y-auto",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-line px-3 py-3",children:[c.jsx(Dv,{size:14,className:"text-faint"}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"truncate text-[11.5px] font-medium text-ink",children:N.available?N.branch||"detached HEAD":"Not a git repository"}),c.jsx("p",{className:"text-[9.5px] text-faint",children:N.available?`${N.entries.length} changed path${N.entries.length===1?"":"s"}`:N.error})]}),c.jsx("button",{type:"button",className:"icon-button h-7 w-7",onClick:()=>{I()},"aria-label":"Refresh git",children:c.jsx(Di,{size:12,className:ne(_&&"animate-spin")})})]}),N.entries.length===0?c.jsx("p",{className:"px-3 py-5 text-[10.5px] text-faint",children:"The working tree is clean."}):N.entries.map(R=>c.jsxs("button",{type:"button",onClick:()=>T(R.path),className:"flex w-full items-center gap-2 px-3 py-1.5 text-left font-mono text-[10px] hover:bg-raised",title:R.path,children:[c.jsx("span",{className:"w-6 shrink-0 text-warning",children:R.status}),c.jsx("span",{className:"truncate text-muted",children:R.path})]},`${R.status}-${R.path}`)),c.jsx("div",{className:"border-t border-line p-3",children:c.jsx("button",{type:"button",onClick:async()=>{await r({title:"Forget this workspace?",body:"The folder stays on disk. OpenSol stops showing it and closes the current file.",confirmLabel:"Forget workspace"})&&await C()},className:"text-[10.5px] font-medium text-faint hover:text-danger",children:"Forget this workspace"})})]})]}),o.available&&!ae&&c.jsxs("div",{className:"flex h-8 shrink-0 items-center gap-1.5 border-t border-line px-3 text-[9px] text-faint",children:[c.jsx(Lh,{size:10,className:ne(p&&"animate-spin")}),"Real folder · daemon-scoped access",c.jsxs("span",{className:"ml-auto",children:[d.length," entries"]})]})]})]})}const Ru={settings:"maxcode-settings-v1",chats:"maxcode-chats-v1",workspace:"maxcode-workspace-v1"},Nu=wr()((e,i)=>({phase:"idle",error:"",startedAt:0,boot:async(a=!1)=>{if(i().phase!=="loading"&&!(i().phase==="ready"&&!a)){e({phase:"loading",error:"",startedAt:Date.now()});try{await sl();let r=await nC();const o=Y6();o.found&&(r.migration?.migratedAt||(r=(await uC({settings:o.settings,chats:o.chats})).state),K6()),await ME(r),QC(),IC(),e({phase:"ready",error:""})}catch(r){e({phase:"error",error:r instanceof Error?r.message:"OpenSol could not reach its local daemon."})}}}}));async function ME(e){Ae.getState().hydrate(e),Ye.getState().hydrate(e.chats),await Ue.getState().hydrate(e.workspace)}function vv(e){if(e)try{return JSON.parse(e)}catch{return}}function Y6(){if(typeof window>"u")return{found:!1,settings:void 0,chats:void 0};let e,i,a=!1;try{e=vv(window.localStorage.getItem(Ru.settings)),i=vv(window.localStorage.getItem(Ru.chats)),a=!!(e||i||window.localStorage.getItem(Ru.workspace))}catch{}return{found:a,settings:e,chats:i}}function K6(){try{for(const e of Object.values(Ru))window.localStorage.removeItem(e)}catch{}}const V6=/^[a-z0-9][a-z0-9-]{0,47}$/;function X6(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const i=Object.getPrototypeOf(e);return i!==Object.prototype&&i!==null?!1:e.type==="ready"?Object.keys(e).length===1:e.type==="command"||e.type==="panel"?Object.keys(e).every(a=>["type","id","label"].includes(a))&&typeof e.id=="string"&&V6.test(e.id)&&typeof e.label=="string"&&e.label.trim().length>0&&e.label.length<=80:e.type==="log"||e.type==="error"?Object.keys(e).every(a=>["type","message"].includes(a))&&typeof e.message=="string"&&e.message.length<=500:!1}function Z6(e,i,a){const r=`
|
|
289
|
-
const send = (message) => parent.postMessage(message, '*')
|
|
290
|
-
const api = {
|
|
291
|
-
manifest: ${JSON.stringify({id:e.id,name:e.name})},
|
|
292
|
-
command: (id, label) => send({ type: 'command', id, label }),
|
|
293
|
-
panel: (id, label) => send({ type: 'panel', id, label }),
|
|
294
|
-
log: (message) => send({ type: 'log', message: String(message).slice(0, 500) }),
|
|
295
|
-
network: () => { throw new Error('The sandboxed preview has no network access.') },
|
|
296
|
-
workspace: { list: () => [], read: () => '', write: () => {}, edit: () => false },
|
|
297
|
-
}
|
|
298
|
-
try { ;(function (maxcode) { ${i} })(api) } catch (error) {
|
|
299
|
-
send({ type: 'error', message: String(error && error.message ? error.message : error).slice(0, 500) })
|
|
300
|
-
}
|
|
301
|
-
send({ type: 'ready' })
|
|
302
|
-
`;return`<!doctype html><html><head><meta charset="utf-8"><style>${a}</style></head><body><script>${r}<\/script></body></html>`}function Q6(e,i){const a=r=>{r.source===e.contentWindow&&X6(r.data)&&i(r.data)};return window.addEventListener("message",a),()=>window.removeEventListener("message",a)}const W6=5*1024*1024,J6=10*1024*1024,eI=100,tI=64*1024,nI=new Set(["workspace.list","workspace.read","workspace.write","workspace.edit","ui.commands","ui.panels","ui.themes","network.request"]),iI=new Set(["id","name","version","apiVersion","entry","stylesheet","capabilities","domains"]);function wt(e){throw new Error(`Invalid plugin package: ${e}`)}function RE(e){return typeof e=="string"?e:new TextDecoder("utf-8").decode(e)}function ed(e){return new TextEncoder().encode(e)}function aI(e,i,a){if(a===2)return;const r=RE(i),o=e.endsWith(".js")?[/\b(?:import|export)\b|\b(?:fetch|XMLHttpRequest|WebSocket|EventSource|importScripts)\s*\(|\bnavigator\s*\.\s*sendBeacon\s*\(/i,"module imports and unmanaged network calls are forbidden"]:e.endsWith(".css")?[/@import\b|url\s*\(\s*(['"]?)(?!data:image\/(?:png|jpeg|gif|webp);base64,)[^)]*\)/i,"external CSS resources and imports are forbidden"]:null;if(!o)return;const u=o[0].exec(r);if(!u)return;const d=r.slice(0,u.index).split(`
|
|
303
|
-
`).length,p=u[0].length>60?`${u[0].slice(0,60)}…`:u[0];wt(`${o[1]}: found "${p}" at ${e}:${d}`)}function Oh(e){return(typeof e!="string"||!e||e.includes("\0")||e.includes("\\")||e.startsWith("/")||/^[a-zA-Z]:/.test(e)||e.split("/").some(i=>!i||i==="."||i===".."))&&wt(`unsafe path "${String(e)}"`),e}function rI(e){(typeof e!="string"||e.length>253||e.endsWith("."))&&wt("invalid domain");const i=e.split(".");return(i.length<2||i.some(a=>!/^(?=.{1,63}$)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i.test(a)))&&wt(`invalid domain "${e}"`),e.toLowerCase()}function Sd(e){(!e||typeof e!="object"||Array.isArray(e))&&wt("manifest must be an object"),Object.keys(e).some(b=>!iI.has(b))&&wt("unknown manifest field");const{id:i,name:a,version:r,apiVersion:o,entry:u,stylesheet:d,capabilities:p,domains:g}=e;(typeof i!="string"||!/^[a-z0-9][a-z0-9-]{1,63}$/.test(i))&&wt("invalid plugin id"),(typeof a!="string"||!a.trim()||a.length>100)&&wt("invalid plugin name"),(typeof r!="string"||!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(r))&&wt("invalid plugin version"),o!==1&&o!==2&&wt("unsupported API version"),Oh(u),Oh(d),(!u.endsWith(".js")||!d.endsWith(".css"))&&wt("entry must be JavaScript and stylesheet must be CSS");const h=p??[];Array.isArray(h)||wt("capabilities must be an array"),o===1&&h.some(b=>!nI.has(b))&&wt("invalid capability"),g!==void 0&&!Array.isArray(g)&&wt("domains must be an array");const x=(g??[]).map(rI);return new Set(x).size!==x.length&&wt("duplicate domain"),{id:i,name:a.trim(),version:r,apiVersion:o,entry:u,stylesheet:d,capabilities:[...new Set(h)],domains:x}}function sI(e,i){(!e||typeof e!="object"||Array.isArray(e))&&wt("files must be a path-to-source object");const a=Object.keys(e);a.length>eI&&wt("too many files");const r={};let o=0;for(const u of a){const d=Oh(u);d==="manifest.json"&&wt("manifest is generated from the manifest field"),/\.(?:mjs|cjs|jsx|ts|tsx)$/i.test(d)&&d!==i.entry&&wt(`undeclared executable file "${d}"`),d!==i.entry&&d!==i.stylesheet&&/\.(?:js|css)$/i.test(d)&&wt(`undeclared executable file "${d}"`);const p=e[u];typeof p!="string"&&!(p instanceof Uint8Array)&&wt(`file "${d}" must be text or bytes`);const g=typeof p=="string"?ed(p):p;o+=g.byteLength,o>J6&&wt("package is too large"),(d===i.entry||d===i.stylesheet)&&aI(d,g,i.apiVersion),r[d]=typeof p=="string"?p:RE(g)}return i.entry in r||wt("entry file is missing"),i.stylesheet in r||wt("stylesheet file is missing"),ed(r[i.entry]).byteLength>2*1024*1024&&wt("entry file is too large"),r}function lI(e){const i=Sd(e?.manifest),a=sI(e?.files,i),r=JSON.stringify(i);ed(r).byteLength>tI&&wt("manifest is too large");const u=ed(JSON.stringify({format:"cordis-plugin",manifest:i,files:a}));return u.byteLength>W6&&wt("package is too large"),u}function Ng(e){(!e||!(e instanceof Uint8Array)||e.byteLength===0)&&wt("package archive is empty or invalid");let i;try{const o=new TextDecoder("utf-8").decode(e);i=JSON.parse(o)}catch{wt("package is not a valid JSON archive")}(!i||typeof i!="object")&&wt("invalid package format");const a=Sd(i.manifest),r=i.files;return(!r||typeof r!="object")&&wt("missing package files"),{manifest:a,files:r}}const oI=/\.(?:png|jpe?g|gif|webp|ico|woff2?|ttf|otf|eot|wasm|zip|pdf|mp3|mp4)$/i;function cI(e){return oI.test(e)}function uI(e){const i=e[0]?.indexOf("/")??-1;if(i<0)return e;const a=e[0].slice(0,i+1);return e.every(r=>r.startsWith(a))?e.map(r=>r.slice(a.length)):e}function dI(e){if(typeof e!="string")throw new Error("manifest.json must be text.");let i;try{i=JSON.parse(e)}catch{throw new Error("manifest.json is not valid JSON.")}return Sd(i)}function fI(e){const i=uI(e.map(v=>v.path)),a={};let r;e.forEach((v,y)=>{const k=i[y];k==="manifest.json"?r=v.content:a[k]=v.content});const o=Object.keys(a),u=(v,y)=>v!==void 0&&v.endsWith(y)&&o.includes(v)?v:void 0,d=(v,y)=>{if(o.includes(v))return v;const k=o.filter(N=>N.endsWith(y)).sort();return k.find(N=>N.slice(N.lastIndexOf("/")+1)===v)??k[0]};let p,g;if(r!==void 0)try{p=dI(r)}catch(v){g=v instanceof Error?v.message:"manifest.json could not be read."}const h=u(p?.entry,".js")??d("main.js",".js");if(!h)throw new Error("A plugin needs one .js entry file. Pick a folder that has one.");const x=u(p?.stylesheet,".css")??d("main.css",".css")??"main.css",b=o.filter(v=>v!==h&&v!==x&&/\.(?:m?js|cjs|jsx|tsx?|css)$/i.test(v));if(b.length>0)throw new Error(`A plugin package holds one script and one stylesheet. Remove or merge: ${b.join(", ")}.`);return{entry:h,stylesheet:x,files:a,manifest:p,manifestError:g}}const pI=["workspace.list","workspace.read","workspace.write","workspace.edit","ui.commands","ui.panels","ui.themes","network.request"],mI=".js,.css,.json,.txt,.html,.svg,.png,.jpg,.jpeg,.gif,.webp,.woff,.woff2",Su="h-8 w-full rounded-lg border border-line bg-panel px-2.5 text-[12px] text-ink outline-none transition-colors placeholder:text-faint focus:border-accent/50";async function hI(e){const i=e.webkitRelativePath||e.name;return{path:i,content:cI(i)?new Uint8Array(await e.arrayBuffer()):await e.text()}}function gI({onInstalled:e}){const i=ge(C=>C.notify),[a,r]=F.useState("my-plugin"),[o,u]=F.useState("My plugin"),[d,p]=F.useState("1.0.0"),[g,h]=F.useState(1),[x,b]=F.useState(["ui.commands"]),[v,y]=F.useState(""),[k,N]=F.useState(null),_=F.useRef(null),T=F.useRef(null),A=async C=>{if(C?.length)try{const I=await Promise.all([...C].map(hI)),X=fI(I);N(X),X.manifest&&(r(X.manifest.id),u(X.manifest.name),p(X.manifest.version),h(X.manifest.apiVersion===2?2:1),b(X.manifest.capabilities),y(X.manifest.domains.join(", "))),i(X.manifestError?`Loaded ${Object.keys(X.files).length} file(s). Its manifest.json was ignored: ${X.manifestError}`:`Loaded ${Object.keys(X.files).length} file(s) — entry ${X.entry}.`,X.manifestError?"error":"info")}catch(I){N(null),i(I instanceof Error?I.message:"Those files are not a plugin folder.","error")}},S=()=>{try{if(!k)throw new Error("Load a plugin folder or its files first.");const C={id:a.trim(),name:o.trim(),version:d.trim(),apiVersion:g,entry:k.entry,stylesheet:k.stylesheet,capabilities:g===2?[]:x,domains:v.split(/[\s,]+/).map(X=>X.trim()).filter(Boolean)};Sd(C);const I={...k.files};return I[C.stylesheet]??="",{archive:lI({manifest:C,files:I})}}catch(C){return i(C instanceof Error?C.message:"That package could not be built.","error"),null}},U=()=>{const C=S();if(!C)return;const I=URL.createObjectURL(new Blob([C.archive],{type:"application/json"})),X=document.createElement("a");X.href=I,X.download=`${a.trim()||"plugin"}.plugin.json`,X.click(),URL.revokeObjectURL(I)},B=async()=>{const C=S();if(C)try{const{plugin:I}=await Vv(C.archive);e?.(I),i(`${I.manifest.name} installed. It starts sandboxed and disabled.`,"success")}catch(I){i(I instanceof Error?I.message:"The daemon rejected this package.","error")}},M=k?Object.keys(k.files):[];return c.jsxs("details",{className:"rounded-xl border border-line bg-raised/20",children:[c.jsxs("summary",{className:"flex cursor-pointer items-center gap-2 px-3 py-2.5 text-[11.5px] font-medium text-ink",children:[c.jsx(D2,{size:13,className:"text-faint"}),"Build a plugin package from a folder"]}),c.jsxs("div",{className:"space-y-2.5 border-t border-line px-3 py-3",children:[c.jsxs("p",{className:"text-[10.5px] leading-relaxed text-faint",children:["Load a plugin folder, or the files themselves. One ",c.jsx("code",{className:"font-mono",children:".js"})," entry and one optional ",c.jsx("code",{className:"font-mono",children:".css"})," stylesheet become the package. A"," ",c.jsx("code",{className:"font-mono",children:"manifest.json"})," in the folder fills these fields in; the fields win."]}),c.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-line bg-panel px-2.5 py-2",children:[c.jsx(sa,{checked:g===2,onChange:C=>h(C?2:1),label:"API v2"}),c.jsx("span",{className:"text-[10.5px] font-medium text-ink",children:"API v2 — free plugin (full app access)"}),g===2&&c.jsx("span",{className:"ml-auto text-[9.5px] text-accent",children:"ctx = Cordis kernel scope"})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>_.current?.click(),className:"inline-flex h-8 items-center gap-1.5 rounded-lg bg-accent px-3 text-[10.5px] font-medium text-on-accent hover:bg-accent/90",children:[c.jsx(Rv,{size:12}),"Load folder"]}),c.jsxs("button",{type:"button",onClick:()=>T.current?.click(),className:"inline-flex h-8 items-center gap-1.5 rounded-lg border border-line bg-panel px-3 text-[10.5px] font-medium text-ink hover:bg-raised",children:[c.jsx(v2,{size:12}),"Load files"]}),c.jsx("input",{type:"file",multiple:!0,ref:C=>{_.current=C,C&&(C.webkitdirectory=!0)},className:"hidden",onChange:C=>{A(C.target.files),C.target.value=""}}),c.jsx("input",{ref:T,type:"file",multiple:!0,accept:mI,className:"hidden",onChange:C=>{A(C.target.files),C.target.value=""}})]}),k&&c.jsxs("div",{className:"rounded-lg border border-line bg-panel/60 px-2.5 py-2",children:[c.jsxs("p",{className:"text-[10.5px] text-muted",children:[c.jsxs("span",{className:"font-medium text-ink",children:[M.length," file(s)"]})," · entry"," ",c.jsx("code",{className:"font-mono",children:k.entry})," · stylesheet"," ",c.jsx("code",{className:"font-mono",children:k.stylesheet})]}),c.jsxs("ul",{className:"mt-1 space-y-0.5",children:[M.slice(0,6).map(C=>c.jsxs("li",{className:"truncate font-mono text-[9.5px] text-faint",children:[C," · ",Lo(typeof k.files[C]=="string"?new TextEncoder().encode(k.files[C]).length:k.files[C].byteLength)]},C)),M.length>6&&c.jsxs("li",{className:"font-mono text-[9.5px] text-faint",children:["+",M.length-6," more"]})]})]}),c.jsxs("div",{className:"grid gap-2 sm:grid-cols-3",children:[c.jsxs("label",{className:"block",children:[c.jsx("span",{className:"text-[10px] font-medium text-muted",children:"Id"}),c.jsx("input",{className:Su,value:a,onChange:C=>r(C.target.value)})]}),c.jsxs("label",{className:"block",children:[c.jsx("span",{className:"text-[10px] font-medium text-muted",children:"Name"}),c.jsx("input",{className:Su,value:o,onChange:C=>u(C.target.value)})]}),c.jsxs("label",{className:"block",children:[c.jsx("span",{className:"text-[10px] font-medium text-muted",children:"Version"}),c.jsx("input",{className:Su,value:d,onChange:C=>p(C.target.value)})]})]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-[10px] font-medium text-muted",children:"Capabilities"}),c.jsx("div",{className:"mt-1 flex flex-wrap gap-1.5",children:g===2?c.jsx("p",{className:"text-[10px] text-faint",children:"Not needed — API v2 plugin has full access via the Cordis context."}):pI.map(C=>{const I=x.includes(C);return c.jsx("button",{type:"button",onClick:()=>b(X=>I?X.filter(z=>z!==C):[...X,C]),className:`rounded-full border px-2 py-1 font-mono text-[9.5px] ${I?"border-accent/40 bg-accent-soft text-ink":"border-line text-faint"}`,children:C},C)})})]}),c.jsxs("label",{className:"block",children:[c.jsx("span",{className:"text-[10px] font-medium text-muted",children:"Network domains (optional, comma separated)"}),c.jsx("input",{className:Su,value:v,placeholder:"Leave empty — a plugin that needs no network declares none",onChange:C=>y(C.target.value)})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("button",{type:"button",onClick:U,className:"inline-flex h-8 items-center gap-1.5 rounded-lg bg-accent px-3 text-[10.5px] font-medium text-on-accent hover:bg-accent/90",children:"Download plugin package"}),c.jsx("button",{type:"button",onClick:()=>{B()},className:"inline-flex h-8 items-center gap-1.5 rounded-lg border border-line bg-panel px-3 text-[10.5px] font-medium text-ink hover:bg-raised",children:"Build and install"})]})]})]})}function xI({plugin:e}){const i=ge(x=>x.notify),[a,r]=F.useState(null),[o,u]=F.useState([]),d=F.useRef(null),[p,g]=F.useState(!1);F.useEffect(()=>{if(!(!d.current||!a))return Q6(d.current,x=>{const b=x,v=b.type==="ready"?"Sandbox ready — no app access, no network.":`${b.type}: ${b.message??b.label??""}`;u(y=>[...y.slice(-5),v])})},[a]);const h=async()=>{g(!0);try{const x=await Kv(e.id),{files:b,manifest:v}=Ng(x);u([]),r(Z6(v,b[v.entry]??"",b[v.stylesheet]??""))}catch(x){i(x instanceof Error?x.message:"This plugin could not be previewed.","error")}finally{g(!1)}};return c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",disabled:p,onClick:()=>a?r(null):void h(),className:"inline-flex h-7 items-center gap-1.5 rounded-lg border border-line px-2.5 text-[10.5px] font-medium text-muted hover:text-ink disabled:opacity-40",children:[c.jsx(Rh,{size:11}),a?"Stop preview":"Preview in sandbox"]}),a&&c.jsxs("div",{className:"w-full overflow-hidden rounded-lg border border-line",children:[c.jsx("iframe",{ref:d,title:`${e.manifest.name} preview`,sandbox:"allow-scripts",srcDoc:a,className:"h-52 w-full bg-panel"}),c.jsx("div",{className:"max-h-24 overflow-y-auto border-t border-line bg-raised/40 px-2.5 py-1.5 font-mono text-[9.5px] leading-relaxed text-faint",children:o.map((x,b)=>c.jsx("p",{className:"truncate",children:x},b))})]})]})}const bI={"workspace.list":"List files in the open workspace","workspace.read":"Read workspace files","workspace.write":"Create and overwrite workspace files","workspace.edit":"Edit workspace files in place","ui.commands":"Add commands to OpenSol","ui.panels":"Add panels to OpenSol","ui.themes":"Add themes to OpenSol","network.request":"Call the HTTPS domains it declared"};function yI(){const e=ge(k=>k.notify),i=ge(k=>k.askConfirm),[a,r]=F.useState([]),[o,u]=F.useState(!1),[d,p]=F.useState(null),g=F.useRef(null),h=async()=>{try{r((await Yv()).plugins)}catch(k){e(k instanceof Error?k.message:"Could not list plugins.","error")}};F.useEffect(()=>{h()},[]);const x=k=>{r(N=>N.map(_=>_.id===k.id?k:_))},b=async k=>{u(!0);try{Ng(new Uint8Array(await k.arrayBuffer()));const{plugin:N}=await Vv(new Uint8Array(await k.arrayBuffer()));r(_=>[..._.filter(T=>T.id!==N.id),N]),p(N.id),e(`${N.manifest.name} installed. It starts sandboxed and disabled.`,"success")}catch(N){e(N instanceof Error?N.message:"That file is not a valid plugin package.","error")}finally{u(!1)}},v=async(k,N,_)=>{try{x((await rC(k.id,{capabilities:N,domains:_})).plugin)}catch(T){e(T instanceof Error?T.message:"Could not save plugin permissions.","error")}},y=async k=>{if(k.safe){x((await H0(k.id,!1)).plugin);return}await i({title:`Run ${k.manifest.name} outside the sandbox?`,body:"Safe plugins run as real JavaScript inside OpenSol. They can do anything this app can, so only mark plugins you wrote or have reviewed.",confirmLabel:"Mark as Safe",tone:"danger"})&&x((await H0(k.id,!0)).plugin)};return c.jsxs(c.Fragment,{children:[c.jsxs("section",{className:"rounded-xl border border-line bg-raised/20 p-3",children:[c.jsx("h3",{className:"text-[12px] font-medium text-ink",children:"Install a local plugin"}),c.jsxs("p",{className:"mt-1 text-[10.5px] leading-relaxed text-faint",children:["OpenSol installs ",c.jsx("code",{className:"font-mono",children:".plugin.json"})," packages you pick from this machine. New plugins start sandboxed and disabled until you review them."]}),c.jsxs("div",{className:"mt-2.5 flex flex-wrap items-center gap-2",children:[c.jsxs("button",{type:"button",disabled:o,onClick:()=>g.current?.click(),className:"inline-flex h-8 items-center gap-1.5 rounded-lg bg-accent px-3 text-[10.5px] font-medium text-on-accent hover:bg-accent/90 disabled:opacity-40",children:[c.jsx(Wr,{size:12}),"Choose plugin package"]}),c.jsx("input",{ref:g,type:"file",accept:".plugin.json,.pluginmax,application/json,application/zip",className:"hidden",onChange:k=>{const N=k.target.files?.[0];k.target.value="",N&&b(N)}})]})]}),a.length===0?c.jsx("p",{className:"rounded-lg border border-line bg-raised/30 px-3 py-3 text-[10.5px] text-faint",children:"No plugins installed."}):c.jsx("div",{className:"space-y-2",children:a.map(k=>{const N=d===k.id;return c.jsxs("div",{className:"overflow-hidden rounded-xl border border-line",children:[c.jsxs("div",{className:"flex items-center gap-2 px-3 py-2.5",children:[c.jsx(Bh,{size:14,className:"shrink-0 text-faint"}),c.jsxs("button",{type:"button",onClick:()=>p(N?null:k.id),className:"min-w-0 flex-1 text-left",children:[c.jsx("span",{className:"block truncate text-[11.5px] font-medium text-ink",children:k.manifest.name}),c.jsxs("span",{className:"block truncate text-[9.5px] text-faint",children:[k.id," · v",k.manifest.version," ·"," ",k.safe?"Safe — runs unsandboxed":"Sandboxed"]})]}),c.jsx(sa,{checked:k.enabled,disabled:!k.safe,label:`Enable ${k.manifest.name}`,onChange:async _=>{x((await sC(k.id,_)).plugin)}})]}),N&&c.jsxs("div",{className:"space-y-2.5 border-t border-line px-3 py-3",children:[c.jsxs("div",{className:ne("flex items-start gap-2 rounded-lg px-2.5 py-2 text-[10px] leading-relaxed",k.safe?"bg-warning/10 text-ink":"bg-raised/60 text-muted"),children:[k.safe?c.jsx(kT,{size:13,className:"mt-0.5 shrink-0 text-warning"}):c.jsx(Jr,{size:13,className:"mt-0.5 shrink-0 text-faint"}),c.jsx("span",{children:k.safe?"This plugin runs as real JavaScript in OpenSol with the permissions below. It is not sandboxed any more.":"This plugin is sandboxed. Mark it Safe to run its code, or preview it first."})]}),c.jsxs("div",{children:[c.jsx("p",{className:"text-[10.5px] font-medium text-ink",children:"Capabilities"}),c.jsxs("div",{className:"mt-1.5 space-y-1",children:[k.manifest.capabilities.length===0&&c.jsx("p",{className:"text-[10px] text-faint",children:"This plugin requests no capabilities."}),k.manifest.capabilities.map(_=>c.jsxs("label",{className:"flex items-center gap-2 text-[10.5px] text-muted",children:[c.jsx("input",{type:"checkbox",className:"accent-[rgb(var(--accent))]",checked:k.grants.capabilities.includes(_),onChange:T=>{v(k,T.target.checked?[...k.grants.capabilities,_]:k.grants.capabilities.filter(A=>A!==_),k.grants.domains)}}),c.jsx("span",{className:"flex-1",children:bI[_]}),c.jsx("code",{className:"font-mono text-[9.5px] text-faint",children:_})]},_))]})]}),c.jsxs("div",{children:[c.jsx("p",{className:"text-[10.5px] font-medium text-ink",children:"Network domains"}),k.manifest.domains.length===0?c.jsx("p",{className:"mt-1 text-[10px] text-faint",children:"This plugin declares no network access."}):c.jsx("div",{className:"mt-1.5 space-y-1",children:k.manifest.domains.map(_=>c.jsxs("label",{className:"flex items-center gap-2 text-[10.5px] text-muted",children:[c.jsx("input",{type:"checkbox",className:"accent-[rgb(var(--accent))]",checked:k.grants.domains.includes(_),onChange:T=>{v(k,k.grants.capabilities,T.target.checked?[...k.grants.domains,_]:k.grants.domains.filter(A=>A!==_))}}),c.jsx("code",{className:"flex-1 font-mono text-[10px]",children:_})]},_))})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2 pt-0.5",children:[c.jsx(xI,{plugin:k}),c.jsx("button",{type:"button",onClick:()=>{y(k)},className:ne("inline-flex h-7 items-center gap-1.5 rounded-lg border px-2.5 text-[10.5px] font-medium",k.safe?"border-line bg-panel text-muted hover:text-ink":"border-warning/40 bg-warning/10 text-ink"),children:k.safe?"Return to sandbox":"Mark as Safe"}),c.jsxs("button",{type:"button",onClick:async()=>{await i({title:`Uninstall ${k.manifest.name}?`,body:"Its permissions, styles and commands are removed from OpenSol.",confirmLabel:"Uninstall",tone:"danger"})&&(await lC(k.id),r(T=>T.filter(A=>A.id!==k.id)))},className:"inline-flex h-7 items-center gap-1.5 rounded-lg border border-line px-2.5 text-[10.5px] font-medium text-muted hover:text-danger",children:[c.jsx(aa,{size:11}),"Uninstall"]})]})]})]},k.id)})}),c.jsx(gI,{onInstalled:k=>r(N=>[...N.filter(_=>_.id!==k.id),k])})]})}const Qs="h-9 w-full rounded-xl border border-line bg-panel px-3 text-[12px] text-ink outline-none transition-all placeholder:text-faint focus:border-accent/50 focus:shadow-[0_0_0_3px_rgb(var(--accent)/0.10)]",vI=[{label:"Filesystem",draft:{name:"Filesystem",transport:"stdio",command:"npx",args:"-y @modelcontextprotocol/server-filesystem .",env:"",url:"",headers:""}},{label:"Memory",draft:{name:"Memory",transport:"stdio",command:"npx",args:"-y @modelcontextprotocol/server-memory",env:"",url:"",headers:""}},{label:"Fetch",draft:{name:"Fetch",transport:"stdio",command:"uvx",args:"mcp-server-fetch",env:"",url:"",headers:""}}],wI={name:"",transport:"stdio",command:"",args:"",env:"",url:"",headers:""};function kI(e){const i=[],a=/"([^"]*)"|'([^']*)'|(\S+)/g;let r;for(;r=a.exec(e);)i.push(r[1]??r[2]??r[3]);return i}function wv(e,i){const a={};for(const r of e.split(`
|
|
304
|
-
`)){const o=r.indexOf(i);o<1||(a[r.slice(0,o).trim()]=r.slice(o+1).trim())}return a}function Tu(e){return{id:e.id,name:e.name,transport:e.transport,enabled:e.enabled,approval:e.approval,disabledTools:e.disabledTools,command:e.command,args:e.args,env:e.env,url:e.url,headers:e.headers}}function EI({status:e}){return c.jsx("span",{className:ne("h-2 w-2 shrink-0 rounded-full",e==="connected"&&"bg-success shadow-[0_0_0_3px_rgb(var(--success)/0.18)]",e==="connecting"&&"animate-breathe bg-warning",e==="error"&&"bg-danger",(e==="disconnected"||e==="disabled")&&"bg-faint/60")})}function _I(){const e=ta(S=>S.servers),i=ta(S=>S.loaded),a=ta(S=>S.loading),r=ta(S=>S.error),o=ta(S=>S.load),u=ta(S=>S.save),d=ta(S=>S.act),p=ge(S=>S.notify),g=ge(S=>S.askConfirm),[h,x]=F.useState(null),[b,v]=F.useState(null),[y,k]=F.useState(!1);F.useEffect(()=>{o()},[o]);const N=async(S,U)=>{k(!0);try{await u(S),U&&p(U,"success")}catch(B){p(B instanceof Error?B.message:"Could not save MCP servers.","error")}finally{k(!1)}},_=async()=>{if(!h||!h.name.trim())return;const S=h.transport==="stdio"?{name:h.name.trim(),transport:"stdio",command:h.command.trim(),args:kI(h.args),env:wv(h.env,"=")}:{name:h.name.trim(),transport:"http",url:h.url.trim(),headers:wv(h.headers,":")};await N([...e.map(Tu),{...S,enabled:!0,approval:"ask"}],`Added ${S.name}. Connecting…`),x(null)},T=(S,U)=>N(e.map(B=>B.id===S?{...Tu(B),...U}:Tu(B))),A=async S=>{await g({title:`Remove ${S.name}?`,body:"The server is disconnected and its tools disappear from the agent. Nothing on disk is deleted.",confirmLabel:"Remove server",tone:"danger"})&&await N(e.filter(B=>B.id!==S.id).map(Tu),`Removed ${S.name}.`)};return c.jsxs("div",{className:"space-y-5 px-5 py-6 sm:px-8",children:[c.jsx("div",{className:"settings-card",children:c.jsxs("div",{className:"flex items-start gap-3",children:[c.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-accent-soft text-accent",children:c.jsx(Bv,{size:16})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"settings-label",children:"Model Context Protocol"}),c.jsxs("p",{className:"settings-hint",children:["Connect MCP servers and their tools show up for the agent as ",c.jsx("span",{className:"font-mono",children:"mcp__server__tool"}),". Local (stdio) servers run as a process on this computer with your permissions, so only add servers you trust."]})]}),!h&&c.jsxs("button",{type:"button",onClick:()=>x({...wI}),className:"inline-flex h-8 shrink-0 items-center gap-1.5 rounded-full bg-ink px-3.5 text-[11.5px] font-medium text-panel transition-transform active:scale-95",children:[c.jsx(yr,{size:13})," Add server"]})]})}),h&&c.jsxs("div",{className:"settings-card animate-scalein space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("p",{className:"settings-label mr-auto",children:"New MCP server"}),vI.map(S=>c.jsx("button",{type:"button",className:"chip h-7 rounded-full px-3 text-[11px]",onClick:()=>x({...S.draft}),children:S.label},S.label))]}),c.jsxs("div",{className:"grid gap-3 sm:grid-cols-[1fr_auto]",children:[c.jsx("input",{className:Qs,placeholder:"Name (e.g. GitHub)",value:h.name,onChange:S=>x({...h,name:S.target.value})}),c.jsx(hh,{options:[{value:"stdio",label:"Local · stdio"},{value:"http",label:"Remote · HTTP"}],value:h.transport,onChange:S=>x({...h,transport:S}),size:"md"})]}),h.transport==="stdio"?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"grid gap-3 sm:grid-cols-[160px_1fr]",children:[c.jsx("input",{className:ne(Qs,"font-mono"),placeholder:"command",value:h.command,onChange:S=>x({...h,command:S.target.value})}),c.jsx("input",{className:ne(Qs,"font-mono"),placeholder:"arguments",value:h.args,onChange:S=>x({...h,args:S.target.value})})]}),c.jsx("textarea",{className:ne(Qs,"h-20 resize-none py-2 font-mono"),placeholder:`Environment, one per line
|
|
305
|
-
API_KEY=…`,value:h.env,onChange:S=>x({...h,env:S.target.value})})]}):c.jsxs(c.Fragment,{children:[c.jsx("input",{className:ne(Qs,"font-mono"),placeholder:"https://example.com/mcp",value:h.url,onChange:S=>x({...h,url:S.target.value})}),c.jsx("textarea",{className:ne(Qs,"h-20 resize-none py-2 font-mono"),placeholder:`Headers, one per line
|
|
306
|
-
Authorization: Bearer …`,value:h.headers,onChange:S=>x({...h,headers:S.target.value})})]}),c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx("button",{type:"button",className:"chip h-8 rounded-full px-4",onClick:()=>x(null),children:"Cancel"}),c.jsxs("button",{type:"button",disabled:y||!h.name.trim()||(h.transport==="stdio"?!h.command.trim():!h.url.trim()),onClick:()=>{_()},className:"inline-flex h-8 items-center gap-1.5 rounded-full bg-accent px-4 text-[11.5px] font-medium text-on-accent transition-transform active:scale-95 disabled:opacity-40",children:[y&&c.jsx(un,{size:11})," Save and connect"]})]})]}),r&&c.jsx("p",{className:"rounded-xl border border-danger/25 bg-danger/[0.05] px-3 py-2 text-[11.5px] text-danger",children:r}),!i&&a&&c.jsxs("p",{className:"flex items-center gap-2 text-[12px] text-faint",children:[c.jsx(un,{size:12})," Loading servers…"]}),i&&e.length===0&&!h&&c.jsx("p",{className:"rounded-2xl border border-dashed border-line px-5 py-10 text-center text-[12px] text-muted",children:"No MCP servers yet. Add one to give the agent new tools."}),e.map((S,U)=>{const B=b===S.id;return c.jsxs("div",{style:{animationDelay:`${U*50}ms`},className:"settings-card animate-rise !p-0",children:[c.jsxs("div",{className:"flex items-center gap-3 px-4 py-3.5",children:[c.jsx(EI,{status:S.status}),c.jsxs("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>v(B?null:S.id),children:[c.jsxs("p",{className:"flex items-center gap-2 text-[13px] font-medium text-ink",children:[c.jsx("span",{className:"truncate",children:S.name}),c.jsx("span",{className:"rounded-full bg-raised px-2 py-px font-mono text-[9.5px] text-faint",children:S.transport})]}),c.jsx("p",{className:"mt-0.5 truncate text-[11px] text-muted",children:S.status==="connected"?`${S.tools.length} tool${S.tools.length===1?"":"s"}${S.serverInfo?.name?` · ${S.serverInfo.name} ${S.serverInfo.version??""}`:""}`:S.status==="connecting"?"Connecting…":S.status==="error"?S.error||"Connection failed":S.status==="disabled"?"Turned off":"Not connected"})]}),S.status==="connected"||S.status==="connecting"?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"icon-button h-8 w-8",title:"Reload tools","aria-label":"Reload tools",onClick:()=>{d(S.id,"refresh")},children:c.jsx(Di,{size:13,className:ne(S.status==="connecting"&&"animate-spin")})}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8",title:"Disconnect","aria-label":"Disconnect",onClick:()=>{d(S.id,"disconnect")},children:c.jsx(FT,{size:13})})]}):c.jsx("button",{type:"button",className:"chip h-8 rounded-full px-3.5 text-[11.5px]",disabled:!S.enabled,onClick:()=>{d(S.id,"connect")},children:"Connect"}),c.jsx(sa,{checked:S.enabled,onChange:M=>{T(S.id,{enabled:M})},label:`Enable ${S.name}`}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8","aria-label":"Expand",onClick:()=>v(B?null:S.id),children:c.jsx(ul,{size:14,className:ne("transition-transform duration-300",B&&"rotate-180")})})]}),B&&c.jsxs("div",{className:"animate-fade space-y-3 border-t border-line px-4 py-3.5",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[c.jsx("p",{className:"font-mono text-[10.5px] text-faint",children:S.transport==="stdio"?`${S.command} ${(S.args??[]).join(" ")}`:S.url}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[11px] text-muted",children:"Tool calls"}),c.jsx(hh,{options:[{value:"ask",label:"Ask first"},{value:"auto",label:"Auto-run"}],value:S.approval,onChange:M=>{T(S.id,{approval:M})}})]})]}),S.status==="error"&&S.error&&c.jsx("p",{className:"text-[11.5px] text-danger",children:S.error}),S.tools.length>0&&c.jsx("ul",{className:"divide-y divide-line rounded-xl border border-line",children:S.tools.map(M=>{const C=S.disabledTools.includes(M.name);return c.jsxs("li",{className:"flex items-center gap-3 px-3 py-2",children:[c.jsx(To,{size:12,className:ne("shrink-0",C?"text-faint":"text-accent")}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:ne("truncate font-mono text-[11.5px]",C?"text-faint line-through":"text-ink"),children:M.name}),M.description&&c.jsx("p",{className:"truncate text-[10.5px] text-muted",children:M.description})]}),M.readOnly&&c.jsx("span",{className:"rounded-full bg-success/10 px-1.5 py-px text-[9px] text-success",children:"read-only"}),c.jsx(sa,{checked:!C,label:`Enable ${M.name}`,onChange:I=>{T(S.id,{disabledTools:I?S.disabledTools.filter(X=>X!==M.name):[...S.disabledTools,M.name]})}})]},M.name)})}),c.jsx("div",{className:"flex justify-end",children:c.jsxs("button",{type:"button",onClick:()=>{A(S)},className:"inline-flex items-center gap-1.5 text-[11.5px] font-medium text-faint transition-colors hover:text-danger",children:[c.jsx(aa,{size:12})," Remove server"]})})]})]},S.id)})]})}const NI=/^[a-z0-9][a-z0-9-]{0,47}$/;function SI(e,i){return!!e?.capabilities.includes(i)}function TI(e,i,a){let r;try{const o=new URL(a);if(o.protocol!=="https:"||o.port&&o.port!=="443")return null;r=o.hostname.toLowerCase()}catch{return null}return!i.includes(r)||!e?.domains.includes(r)?null:r}function jh(){return{commands:new Map,panels:new Map,themes:new Map}}function CI(e){throw new Error(`The plugin was not granted ${e}.`)}function AI(e,i,a,r=jh()){const o=d=>{SI(i,d)||CI(d)},u=d=>{if(!NI.test(d))throw new Error("A plugin contribution id must be lowercase letters, digits and dashes.")};return{manifest:Object.freeze({...e.manifest}),version:1,registerCommand(d,p,g){if(o("ui.commands"),u(d),typeof g!="function")throw new Error("A command needs a function.");r.commands.set(d,{label:String(p).slice(0,80),run:g})},registerPanel(d,p,g){if(o("ui.panels"),u(d),typeof g!="function")throw new Error("A panel needs a render function.");r.panels.set(d,{label:String(p).slice(0,80),render:g})},registerTheme(d,p,g){if(o("ui.themes"),u(d),!g||typeof g!="object")throw new Error("A theme needs a palette.");r.themes.set(d,{label:String(p).slice(0,80),palette:{...g}})},workspace:{list:async d=>(o("workspace.list"),a.workspace.list(d)),read:async d=>(o("workspace.read"),a.workspace.read(d)),write:async(d,p)=>(o("workspace.write"),a.workspace.write(d,p)),edit:async(d,p,g)=>(o("workspace.edit"),a.workspace.edit(d,p,g))},network:{request(d,p){if(o("network.request"),!TI(i,e.manifest.domains,d))throw new Error("This plugin may only call HTTPS hosts it declared and you granted.");return a.network(e.id,{url:d,...p})}},log(d){console.info(`[plugin:${e.id}]`,d)}}}const DE=e=>`maxcode-plugin-style-${e}`,Gm="plugin-";function OI(e){return Object.entries(e).filter(([i,a])=>/^[a-z][a-z0-9-]*$/.test(i)&&/^[\d\s.]+$/.test(a))}function jI(e){const i=(e.canvas??"").trim().split(/\s+/).map(Number),[a,r,o]=i.length===3?i:[255,255,255];return .2126*a+.7152*r+.0722*o<110}function MI(e,i){const a=OI(i).map(([r,o])=>`--${r}:${o.trim()}`);return a.length===0?"":`[data-theme='${e}']{${a.join(";")}}`}function zE(e){return document.getElementById(DE(e))}function kv(e,i){let a=zE(e);a||(a=document.createElement("style"),a.id=DE(e),document.head.append(a)),a.textContent=i}function RI(e){zE(e)?.remove()}async function Ev(e,i){const a=globalThis,r=URL.createObjectURL(new Blob([`const maxcode = globalThis.__maxcodePluginApi;
|
|
307
|
-
${e}
|
|
308
|
-
`],{type:"text/javascript"}));a.__maxcodePluginApi=i;try{await import(r)}finally{delete a.__maxcodePluginApi,URL.revokeObjectURL(r)}}function DI(){const e=new Map,i=new Map,a=r=>{const o=i.get(r);o&&(i.delete(r),o.dispose());const u=e.get(r);if(u)for(const d of u.themes.keys())lw(`${Gm}${r}:${d}`);e.delete(r),RI(r)};return{contributions:e,contributionsFor:r=>e.get(r)??jh(),themes(){const r=[];for(const[o,u]of e)for(const[d,p]of u.themes)r.push({id:`${Gm}${o}:${d}`,label:p.label});return r},commands(){const r=[];for(const[o,u]of e)for(const[d,p]of u.commands)r.push({pluginId:o,id:d,label:p.label,run:p.run});return r},async activate(r,o){if(a(r.id),!r.safe||!r.enabled)return;const{files:u,manifest:d}=Ng(await Kv(r.id));if(d.apiVersion===2){let p,g;const h=new Promise((v,y)=>{p=v,g=y}),x=async v=>{const y=u[d.stylesheet]??"";y&&kv(r.id,y);try{await Ev(u[d.entry]??"",v),p()}catch(k){g(k)}},b=qt.plugin(x);i.set(r.id,b);try{await h}catch(v){throw a(r.id),new Error(`Plugin ${r.id} failed to start: ${v instanceof Error?v.message:String(v)}`)}}else{const p=e.get(r.id)??jh();e.set(r.id,p);const g=AI(r,r.grants,o,p);try{await Ev(u[d.entry]??"",Object.freeze(g));const h=[...p.themes.entries()].map(([x,b])=>{const v=`${Gm}${r.id}:${x}`;return sw({id:v,label:b.label,dark:jI(b.palette)}),MI(v,b.palette)}).join(`
|
|
309
|
-
`);kv(r.id,`${u[d.stylesheet]??""}
|
|
310
|
-
${h}`)}catch(h){throw a(r.id),new Error(`Plugin ${r.id} failed to start: ${h instanceof Error?h.message:String(h)}`)}}},deactivate:a,deactivateAll(){const r=[...new Set([...e.keys(),...i.keys()])];for(const o of r)a(o)}}}const zI={workspace:{async list(e=""){return(await Zv(e)).entries.map(a=>({path:a.path,name:a.name,type:a.type}))},async read(e){return(await Xm(e)).content},async write(e,i){await Zm(e,i)},async edit(e,i,a){const r=await Xm(e);return r.content.includes(i)?(await Zm(e,r.content.replace(i,a)),!0):!1}},network:(e,i)=>oC(e,i)};let _v=null;function LE(){return _v??=DI(),_v}async function LI(e){const i=new Set(e.filter(r=>r.safe&&r.enabled).map(r=>r.id)),a=LE();for(const r of[...a.contributions.keys()])i.has(r)||a.deactivate(r);for(const r of e)if(i.has(r.id))try{await a.activate(r,zI)}catch(o){console.error(o)}}const bo=[{id:"general",label:"General",icon:TT,description:"Permissions, appearance and conversation display."},{id:"models",label:"Models",icon:zu,description:"Providers, encrypted keys, live models and reasoning defaults."},{id:"tools",label:"Tools",icon:To,description:"What OpenSol can do on this machine, and when it must ask."},{id:"search",label:"Search",icon:ns,description:"Give the agent current web results with your own key."},{id:"skills",label:"Skills",icon:Ii,description:"Instructions added to every request when enabled."},{id:"plugins",label:"Plugins",icon:Bh,description:"Install local plugin packages, review what they ask for, and run them once you trust the code."},{id:"mcp",label:"MCP",icon:Lv,description:"Connect Model Context Protocol servers and choose which of their tools the agent may call."},{id:"deploy",label:"Deploy",icon:vr,description:"Hosting credentials and command-line tools."},{id:"appearance",label:"Appearance",icon:Uv,description:"Theme and interface preferences."},{id:"about",label:"About",icon:Dh,description:"Local storage, history and reset controls."}],Ma="h-8 w-full rounded-lg border border-line bg-panel px-2.5 text-[12px] text-ink outline-none transition-colors placeholder:text-faint focus:border-accent/50 disabled:opacity-50";function ia({children:e,hint:i}){return c.jsxs("div",{className:"mb-1 flex items-baseline justify-between gap-3",children:[c.jsx("span",{className:"text-[11px] font-medium text-ink",children:e}),i&&c.jsx("span",{className:"text-[9.5px] text-faint",children:i})]})}function jn({title:e,description:i,children:a,action:r}){return c.jsxs("section",{className:"settings-card mx-5 my-4 sm:mx-8",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("h3",{className:"flex items-center gap-2 font-display text-[14px] font-semibold tracking-[-0.01em] text-ink",children:[c.jsx("span",{className:"h-3.5 w-[3px] rounded-full bg-accent"}),e]}),i&&c.jsx("p",{className:"mt-1.5 max-w-[620px] text-[11.5px] leading-relaxed text-muted",children:i})]}),r&&c.jsx("div",{className:"shrink-0",children:r})]}),c.jsx("div",{className:"mt-4",children:a})]})}function Sg({value:e,onChange:i,placeholder:a,disabled:r,label:o}){const[u,d]=F.useState(!1);return c.jsxs("div",{className:"relative",children:[c.jsx("input",{type:u?"text":"password",value:e,onChange:p=>i(p.target.value),placeholder:a,disabled:r,autoComplete:"off",spellCheck:!1,"aria-label":o,className:ne(Ma,"pr-8 font-mono text-[11px]")}),c.jsx("button",{type:"button",onClick:()=>d(p=>!p),className:"absolute right-1.5 top-1/2 flex h-5 w-5 -translate-y-1/2 items-center justify-center rounded text-faint hover:text-ink","aria-label":u?"Hide secret":"Show secret",tabIndex:-1,children:u?c.jsx(f2,{size:12}):c.jsx(Rh,{size:12})})]})}const II=[];function UI(e){return e?e>=1e3?`${Math.round(e/1e3)}k`:String(e):""}const BI={openrouter:{prefix:"sk-or-",label:"OpenRouter"},anthropic:{prefix:"sk-ant-",label:"Anthropic"},google:{prefix:"AIza",label:"Google"},groq:{prefix:"gsk_",label:"Groq"},xai:{prefix:"xai-",label:"xAI"}};function $I({providerId:e,open:i,onToggle:a}){const r=Ae(),o=Ae(G=>G.selectModel),u=Ae(G=>G.updateProvider),d=Ae(G=>G.saveProviderKey),p=ge(G=>G.notify),g=ge(G=>G.askConfirm),h=An(G=>G.fetchModels),x=An(G=>G.byProvider[e])??II,b=An(G=>!!G.loading[e]),v=An(G=>G.errors[e]??""),y=An(G=>G.notes[e]??""),k=An(G=>G.source[e]??""),[N,_]=F.useState(""),[T,A]=F.useState(""),[S,U]=F.useState(!1),B=na[e],M=r.providerStatus.find(G=>G.id===e),C=dd(r,e),I=r.provider===e,X=r.providers[e]?.baseUrl??"",z=M?.hint??"",H=si(r),J=x.find(G=>G.id===H);F.useEffect(()=>{if(!i||!C)return;const G=window.setTimeout(()=>{h(e)},400);return()=>window.clearTimeout(G)},[i,C,e,X,h]);const de=async()=>{const G=N.trim();if(!G){p(`Paste a ${B.name} API key first.`,"error");return}const ae=BI[e];if(ae&&!G.startsWith(ae.prefix)){let P="";e==="openrouter"&&G.startsWith("sk-")&&(P=" (looks like a DeepSeek or OpenAI key). If you are using DeepSeek, please paste it under DeepSeek instead."),p(`A key for ${ae.label} must start with "${ae.prefix}"${P}`,"error");return}U(!0);try{await d(e,G),_(""),p(`${B.name} key saved and encrypted.`,"success"),h(e,!0)}catch(P){p(P instanceof Error?P.message:"Could not save that key.","error")}finally{U(!1)}},ue=async()=>{if(await g({title:`Remove the ${B.name} key?`,body:"The encrypted key is deleted from this computer. You can add it again at any time.",confirmLabel:"Remove key",tone:"danger"}))try{await d(e,""),p(`${B.name} key removed.`,"success")}catch(ae){p(ae instanceof Error?ae.message:"Could not remove that key.","error")}},te=async()=>{if(x.length===0){const G=await h(e,!0);G[0]?o(e,G[0].id):p("No usable model was returned by this provider.","error");return}o(e,x[0].id)};return c.jsxs("div",{className:ne("rounded-xl border transition-colors",i?"border-line bg-raised/25":"border-line bg-panel"),children:[c.jsxs("button",{type:"button",onClick:a,className:"flex w-full items-center gap-3 px-3 py-2.5 text-left",children:[c.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-line bg-panel font-display text-[12px] font-semibold text-muted",children:B.name.slice(0,1)}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[12px] font-medium text-ink",children:B.name}),I&&c.jsx("span",{className:"rounded bg-accent-soft px-1.5 py-0.5 text-[8.5px] font-medium text-accent",children:"Active"})]}),c.jsxs("span",{className:ne("mt-0.5 flex items-center gap-1 text-[9.5px]",C?"text-success":"text-faint"),children:[c.jsx("span",{className:ne("h-1 w-1 rounded-full",C?"bg-success":"bg-faint")}),C?e==="custom"?"Endpoint configured":B.keyless?"No key needed":`Connected ${z}`:B.keyless?"Local endpoint":"No key"]})]}),!i&&c.jsx("span",{className:"hidden max-w-[170px] truncate text-[9.5px] text-faint sm:block",children:I&&H?J?.name??H:x.length?`${x.length} live models`:""}),c.jsx(ul,{size:14,className:ne("shrink-0 text-faint transition-transform",i&&"rotate-180")})]}),i&&c.jsxs("div",{className:"border-t border-line px-3 pb-3 pt-3",children:[!B.keyless&&c.jsxs("div",{className:"mb-2.5",children:[c.jsx(ia,{hint:C?"Saved and encrypted":"Required",children:"API key"}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("div",{className:"min-w-0 flex-1",children:c.jsx(Sg,{value:N,onChange:_,placeholder:C?`Replace key ${z}`:B.keyHint,label:`${B.name} API key`})}),c.jsxs("button",{type:"button",onClick:()=>{de()},disabled:!N.trim()||S,className:"inline-flex h-8 shrink-0 items-center gap-1 rounded-lg bg-ink px-2.5 text-[10px] font-medium text-panel disabled:opacity-40",children:[S?c.jsx(un,{size:10}):c.jsx(sd,{size:10}),"Save"]})]}),C&&c.jsx("button",{type:"button",onClick:()=>{ue()},className:"mt-1.5 text-[9.5px] font-medium text-faint transition-colors hover:text-danger",children:"Remove saved key"})]}),c.jsxs("div",{className:"mb-2.5",children:[c.jsx(ia,{hint:e==="custom"?"Required":"Optional",children:"Base URL"}),c.jsx("input",{value:X,onChange:G=>u(e,{baseUrl:G.target.value}),placeholder:B.baseUrl||"https://example.com/v1",spellCheck:!1,className:ne(Ma,"font-mono text-[11px]")}),c.jsx("p",{className:"mt-1 text-[9px] leading-relaxed text-faint",children:e==="custom"?"Point this at an OpenAI-compatible endpoint or proxy you control.":`Leave blank for ${B.baseUrl||"the provider default"}. Useful for a gateway or local proxy.`})]}),B.note&&c.jsx("p",{className:"mb-2.5 text-[9.5px] leading-relaxed text-faint",children:B.note}),c.jsxs("div",{children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-[11px] font-medium text-ink",children:"Model"}),c.jsxs("button",{type:"button",onClick:()=>{h(e,!0)},disabled:!C||b,className:"inline-flex items-center gap-1 text-[9.5px] font-medium text-faint transition-colors hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:[b?c.jsx(un,{size:10}):c.jsx(Di,{size:10}),b?"Loading":"Refresh live models"]})]}),v&&c.jsx("p",{className:"mb-1.5 rounded-md border border-danger/20 bg-danger/[0.04] px-2 py-1.5 text-[9.5px] leading-relaxed text-danger",children:v}),y&&!v&&c.jsx("p",{className:"mb-1.5 text-[9px] leading-relaxed text-faint",children:y}),x.length>0?c.jsxs(c.Fragment,{children:[c.jsxs("select",{value:I?H:"",onChange:G=>{G.target.value&&o(e,G.target.value)},className:ne(Ma,"font-mono text-[11px]"),"aria-label":`${B.name} model`,children:[c.jsx("option",{value:"",children:"Choose a model…"}),I&&H&&!x.some(G=>G.id===H)&&c.jsxs("option",{value:H,children:[H," (not listed)"]}),x.map(G=>c.jsxs("option",{value:G.id,children:[G.name||G.id,G.context?` · ${UI(G.context)} ctx`:""]},G.id))]}),c.jsxs("p",{className:"mt-1 text-[9px] text-faint",children:[x.length," usable chat model",x.length===1?"":"s",k==="catalog"?" from the models.dev fallback":" loaded live from the provider","."]})]}):c.jsx("p",{className:"text-[9.5px] leading-relaxed text-faint",children:b?"Loading the provider’s current models…":C?"No usable models were returned. You can still enter an exact model ID.":e==="custom"?"Set a base URL, then refresh.":B.keyless?"Start the local server, then refresh.":"Add a key to load the provider’s current models."}),c.jsxs("div",{className:"mt-2 flex items-center gap-1.5",children:[c.jsx("input",{value:T,onChange:G=>A(G.target.value),placeholder:"or enter a model ID",spellCheck:!1,"aria-label":`${B.name} model ID`,className:ne(Ma,"font-mono text-[10.5px]")}),c.jsx("button",{type:"button",onClick:()=>{const G=T.trim();G&&(o(e,G),A(""))},disabled:!T.trim(),className:"inline-flex h-8 shrink-0 items-center rounded-lg border border-line px-2.5 text-[10px] font-medium text-ink disabled:opacity-40",children:"Use ID"})]})]}),c.jsxs("div",{className:"mt-2.5 flex items-center justify-between gap-3",children:[c.jsx("p",{className:"text-[9px] leading-relaxed text-faint",children:B.keyless?"No key is stored for this provider.":C?"The daemon decrypts the key only when it calls the provider.":"The key never enters the page after saving."}),C&&!I&&c.jsxs("button",{type:"button",onClick:()=>{te()},className:"shrink-0 text-[9.5px] font-medium text-accent hover:underline",children:["Use ",B.name]})]})]})]})}function HI(){const e=Ae(),i=Ae(x=>x.update),a=Ae(x=>x.refreshProviders),[r,o]=F.useState(e.provider),[u,d]=F.useState(!1),p=vd(),g=Co(p),h=g.includes(e.effort)?e.effort:g[0];return c.jsxs(c.Fragment,{children:[c.jsxs(jn,{title:"Providers",description:"Keys and base URLs are stored by the local daemon. Model lists are fetched live from the provider; the bundled catalog is only a fallback when the provider list cannot be reached.",action:c.jsxs("button",{type:"button",onClick:async()=>{d(!0);try{await a()}catch(x){ge.getState().notify(x instanceof Error?x.message:"Could not refresh providers.","error")}finally{d(!1)}},className:"inline-flex h-7 items-center gap-1 rounded-lg border border-line px-2 text-[10px] font-medium text-muted hover:text-ink",children:[u?c.jsx(un,{size:10}):c.jsx(Di,{size:10}),"Refresh"]}),children:[c.jsxs("div",{className:"mb-3 flex items-start gap-2 rounded-lg border border-line bg-raised/50 px-3 py-2.5",children:[c.jsx(Jr,{size:14,className:"mt-0.5 shrink-0 text-success"}),c.jsxs("p",{className:"text-[10.5px] leading-relaxed text-muted",children:["Keys are encrypted with AES-256-GCM under ",c.jsx("code",{className:"font-mono text-[10px]",children:"~/.maxcode"}),". The browser only receives a masked hint; the daemon decrypts a key in memory for the provider request."]})]}),c.jsx("div",{className:"space-y-2",children:Lu.map(x=>c.jsx($I,{providerId:x.id,open:r===x.id,onToggle:()=>o(r===x.id?null:x.id)},x.id))})]}),c.jsx(jn,{title:"Reasoning defaults",description:"Only controls advertised by the live model are offered; an unsupported field is never sent.",children:p?c.jsx("div",{className:"space-y-2.5",children:g.length>0?c.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-line bg-raised/30 px-3 py-2.5",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-[11.5px] font-medium text-ink",children:"Effort"}),c.jsxs("p",{className:"mt-0.5 text-[9.5px] text-faint",children:["Options come from ",p.name||p.id," · ",p.apiKind]})]}),c.jsx("select",{value:h,onChange:x=>i({effort:x.target.value}),className:"h-8 rounded-lg border border-line bg-panel px-2 text-[11px] text-ink outline-none","aria-label":"Reasoning effort",children:g.map(x=>c.jsx("option",{value:x,children:qh[x].label},x))})]}):c.jsx("p",{className:"rounded-lg border border-line bg-raised/30 px-3 py-2.5 text-[10px] leading-relaxed text-faint",children:Qm(p)})}):c.jsx("p",{className:"rounded-lg border border-line bg-raised/30 px-3 py-3 text-[10.5px] leading-relaxed text-faint",children:"Choose a model in the composer to see the reasoning controls this provider actually advertises."})}),c.jsx(jn,{title:"Advanced request settings",description:"Defaults for every provider. The adapter ignores fields the selected model cannot accept.",children:c.jsxs("details",{className:"group/advanced rounded-xl border border-line bg-raised/20",children:[c.jsxs("summary",{className:"flex cursor-pointer list-none items-center justify-between px-3 py-2.5 text-[11.5px] font-medium text-ink [&::-webkit-details-marker]:hidden",children:["Request controls and system prompt",c.jsx(ul,{size:13,className:"text-faint transition-transform group-open/advanced:rotate-180"})]}),c.jsxs("div",{className:"border-t border-line px-3 py-3",children:[c.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[c.jsxs("div",{children:[c.jsx(ia,{hint:"0 – 2",children:"Temperature"}),c.jsx("input",{type:"number",min:0,max:2,step:.1,value:e.temperature,onChange:x=>{const b=Number(x.target.value);Number.isFinite(b)&&i({temperature:Math.min(2,Math.max(0,b))})},className:Ma})]}),c.jsxs("div",{children:[c.jsx(ia,{hint:"256 – 200,000",children:"Max output tokens"}),c.jsx("input",{type:"number",min:256,max:2e5,step:256,value:e.maxTokens,onChange:x=>{const b=Number(x.target.value);Number.isFinite(b)&&i({maxTokens:Math.min(2e5,Math.max(256,Math.round(b)))})},className:Ma})]})]}),c.jsxs("div",{className:"mt-3",children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-[11px] font-medium text-ink",children:"System prompt"}),c.jsxs("button",{type:"button",onClick:()=>i({systemPrompt:Bu}),className:"inline-flex items-center gap-1 text-[9.5px] font-medium text-faint hover:text-ink",children:[c.jsx($v,{size:10})," Restore default"]})]}),c.jsx("textarea",{value:e.systemPrompt,onChange:x=>i({systemPrompt:x.target.value}),rows:9,spellCheck:!1,className:"thin-scroll w-full resize-y rounded-lg border border-line bg-panel px-2.5 py-2 font-mono text-[10.5px] leading-relaxed text-ink outline-none focus:border-accent/50"}),c.jsx("p",{className:"mt-1 text-[9px] leading-relaxed text-faint",children:"Enabled skill instructions and the current workspace/git context are appended after this prompt."})]})]})]})})]})}const PI=[{title:"Workspace and shell",tools:["read_file","list_files","grep","write_file","edit_file","rewrite_file","shell","git"]},{title:"Web",tools:["web_search","read_url"]},{title:"Delegation",tools:["subagent"]}],FI={shell:qv,read_file:ja,list_files:Rv,write_file:Mv,edit_file:Vm,rewrite_file:Vm,grep:x2,web_search:ns,read_url:Lv,git:Dv,subagent:HS},qI={shell:{label:"Shell",description:"Run commands in the workspace root. Plan mode allows read-only commands only."},read_file:{label:"Read file",description:"Inspect a file on disk before changing it."},list_files:{label:"List files",description:"Explore the real workspace tree."},write_file:{label:"Write file",description:"Create a file or replace its complete contents."},edit_file:{label:"Edit file",description:"Replace an exact passage in a file."},rewrite_file:{label:"Rewrite file",description:"Replace the entire content of an existing file."},grep:{label:"Grep",description:"Search file contents with a regular expression."},web_search:{label:"Web search",description:"Find current pages and cite the sources."},read_url:{label:"Read URL",description:"Open a public http(s) page as plain text."},git:{label:"Git",description:"Inspect or change repository state. Plan mode is read-only."},subagent:{label:"Subagent",description:"Delegate a read-only investigation and return a concise report."}};function GI(){const e=Ae(),i=Ae(r=>r.updateTool),a=ge(r=>r.openSettings);return c.jsxs(jn,{title:"Tool permissions",description:"Ask adds an approval card to the conversation. Auto runs immediately. Disabled tools are not sent to the model at all. Plan mode always hides write tools.",children:[c.jsx("div",{className:"space-y-5",children:PI.map(r=>c.jsxs("div",{children:[c.jsx("p",{className:"mb-2 text-[10px] font-medium text-faint",children:r.title}),c.jsx("div",{className:"overflow-hidden rounded-xl border border-line",children:r.tools.map((o,u)=>{const d=e.tools[o],p=FI[o],g=qI[o];return c.jsxs("div",{className:ne("flex flex-col gap-2.5 px-3 py-3 sm:flex-row sm:items-center",u!==0&&"border-t border-line",!d.enabled&&"opacity-60"),children:[c.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-line bg-panel text-muted",children:c.jsx(p,{size:13})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("p",{className:"text-[11.5px] font-medium text-ink",children:g.label}),c.jsx("span",{className:"font-mono text-[8.5px] text-faint",children:o})]}),c.jsx("p",{className:"mt-0.5 text-[9.5px] leading-relaxed text-muted",children:g.description}),r.title==="Web"&&!e.webSearchEnabled&&c.jsx("button",{type:"button",onClick:()=>a("search"),className:"mt-1 text-[9.5px] font-medium text-warning hover:underline",children:"Web access is off. Turn it on in Search."})]}),c.jsxs("div",{className:"flex shrink-0 items-center gap-2 pl-9 sm:pl-0",children:[d.enabled&&c.jsx(hh,{value:d.approval,onChange:h=>i(o,{approval:h}),options:[{value:"auto",label:"Auto",title:"Run without asking"},{value:"ask",label:"Ask",title:"Ask before running"}]}),c.jsx(sa,{checked:d.enabled,onChange:h=>i(o,{enabled:h}),label:`Enable ${g.label}`})]})]},o)})})]},r.title))}),c.jsxs("div",{className:"mt-3 flex items-start gap-1.5 rounded-lg border border-line bg-raised/40 px-3 py-2.5 text-[9.5px] leading-relaxed text-faint",children:[c.jsx(Jr,{size:11,className:"mt-0.5 shrink-0"}),"Shell and Git approval are on by default. Approvals apply to the open workspace only; the daemon rejects paths outside it with ",c.jsx("code",{className:"font-mono",children:".."})," or absolute escapes."]})]})}const YI=[{id:"duckduckgo",name:"DuckDuckGo",description:"No key. HTML results with a Wikipedia fallback; coverage is limited.",keyless:!0},{id:"tavily",name:"Tavily",description:"Built for AI agents. Search in, clean results out."},{id:"brave",name:"Brave Search",description:"Independent web index with a free tier."},{id:"serper",name:"Serper",description:"Google results through a simple API."}];function KI(){const e=Ae(),i=Ae(A=>A.update),a=Ae(A=>A.saveSearchKey),r=ge(A=>A.notify),[o,u]=F.useState(""),[d,p]=F.useState(!1),[g,h]=F.useState(!1),[x,b]=F.useState(null),v=e.secretStatus?.search,y=e.searchProvider==="duckduckgo",k=!!v?.configured,N=async()=>{if(!o.trim()){r("Paste a search API key first.","error");return}p(!0);try{await a(o.trim()),u(""),b(null),r("Search key saved and encrypted.","success")}catch(A){r(A instanceof Error?A.message:"Could not save that key.","error")}finally{p(!1)}},_=async()=>{try{await a(""),b(null),r("Search key removed.","success")}catch(A){r(A instanceof Error?A.message:"Could not remove that key.","error")}},T=async()=>{h(!0),b(null);try{const A=await rn("web_search",{query:"OpenSol local coding agent",provider:e.searchProvider},"build"),S=A.result&&typeof A.result=="object"?A.result:{},U=Array.isArray(S.results)?S.results:[];b({ok:U.length>0,message:U.length>0?`${U.length} results via ${String(S.provider??e.searchProvider)}.`:"No results were returned. Try another provider or query."})}catch(A){b({ok:!1,message:A instanceof Error?A.message:"Search failed."})}finally{h(!1)}};return c.jsxs(c.Fragment,{children:[c.jsx(jn,{title:"Web access",description:"When enabled, the agent may search and read public pages. The daemon performs the requests; this page never sees the raw results.",children:c.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-line bg-raised/30 px-3 py-2.5",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-[11.5px] font-medium text-ink",children:"Allow web tools"}),c.jsx("p",{className:"mt-0.5 text-[9.5px] text-faint",children:"Adds web_search and read_url when they are also enabled under Tools."})]}),c.jsx(sa,{checked:e.webSearchEnabled,onChange:A=>i({webSearchEnabled:A}),label:"Allow web tools"})]})}),c.jsxs(jn,{title:"Search provider",description:"Choose where current results come from. A key is encrypted by the daemon.",children:[c.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:YI.map(A=>{const S=e.searchProvider===A.id;return c.jsxs("button",{type:"button",onClick:()=>{i({searchProvider:A.id}),b(null)},className:ne("rounded-lg border p-3 text-left transition-colors",S?"border-accent/35 bg-accent-soft/40":"border-line bg-panel hover:bg-raised/40"),children:[c.jsxs("span",{className:"flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-[11.5px] font-medium text-ink",children:A.name}),c.jsx("span",{className:ne("flex h-3.5 w-3.5 items-center justify-center rounded-full border",S?"border-accent bg-accent text-on-accent":"border-line"),children:S&&c.jsx(Sn,{size:8,strokeWidth:3})})]}),c.jsx("span",{className:"mt-1 block text-[9.5px] leading-relaxed text-muted",children:A.description}),A.keyless&&c.jsx("span",{className:"mt-1.5 inline-block rounded bg-raised px-1.5 py-0.5 text-[8.5px] font-medium text-faint",children:"No key"})]},A.id)})}),!y&&c.jsxs("div",{className:"mt-3",children:[c.jsx(ia,{hint:k?`Saved ${v?.hint??""}`:"Required",children:e.searchProvider==="tavily"?"Tavily API key":e.searchProvider==="brave"?"Brave Search API key":"Serper API key"}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("div",{className:"min-w-0 flex-1",children:c.jsx(Sg,{value:o,onChange:u,placeholder:e.searchProvider==="tavily"?"tvly-…":e.searchProvider==="brave"?"BSA…":"…",label:"Search API key"})}),c.jsxs("button",{type:"button",onClick:()=>{N()},disabled:!o.trim()||d,className:"inline-flex h-8 shrink-0 items-center gap-1 rounded-lg bg-ink px-2.5 text-[10px] font-medium text-panel disabled:opacity-40",children:[d?c.jsx(un,{size:10}):c.jsx(sd,{size:10}),"Save"]})]}),k&&c.jsx("button",{type:"button",onClick:()=>{_()},className:"mt-1.5 text-[9.5px] font-medium text-faint hover:text-danger",children:"Remove saved key"}),c.jsx("p",{className:"mt-1 text-[9px] leading-relaxed text-faint",children:"One key is stored. If you switch providers, replace the key with one issued by the new provider."})]}),c.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>{T()},disabled:g||!y&&!k,className:"inline-flex h-8 items-center gap-1.5 rounded-lg border border-line bg-panel px-2.5 text-[10.5px] font-medium text-ink transition-colors hover:bg-raised disabled:cursor-not-allowed disabled:opacity-40",children:[g?c.jsx(un,{size:12}):c.jsx(dl,{size:12}),g?"Testing…":"Test search"]}),!y&&!k&&c.jsx("span",{className:"text-[9.5px] text-faint",children:"Add a key to test."})]}),x&&c.jsx("div",{className:ne("mt-2.5 rounded-lg border px-3 py-2 text-[10px] leading-relaxed",x.ok?"border-success/25 bg-success/[0.04] text-success":"border-warning/30 bg-warning/[0.04] text-warning"),children:x.message})]})]})}function VI(){return typeof crypto<"u"&&"randomUUID"in crypto?`skill_${crypto.randomUUID()}`:`skill_${Date.now()}`}function XI(){const e=Ae(),i=Ae(y=>y.addSkill),a=Ae(y=>y.updateSkill),r=Ae(y=>y.removeSkill),o=ge(y=>y.askConfirm),u=ge(y=>y.notify),[d,p]=F.useState(null),g=F.useRef(null),h=e.skills.filter(y=>y.enabled).length,x=async y=>{try{const k=await Kw(y),N=/^#\s+(.+)$/m.exec(k),_=N?.[1]?.trim()||y.name.replace(/\.[^.]+$/,""),A=(N?k.replace(N[0],"").trim():k.trim()).split(/\n\s*\n/).find(S=>S.trim()&&!S.trim().startsWith("#"));p({name:_,description:(A??"").replace(/[#>*`]/g,"").replace(/\s+/g," ").trim().slice(0,180),instructions:k.trim()}),u(`Loaded ${y.name}. Review it, then save the skill.`,"info")}catch(k){u(k instanceof Error?k.message:"Could not read that skill.","error")}},b=()=>{if(!d)return;const y=d.name.trim();if(!y){u("Give the skill a name.","error");return}if(!d.instructions.trim()){u("Add instructions for the skill.","error");return}d.id?(a(d.id,{name:y,description:d.description.trim(),instructions:d.instructions.trim()}),u("Skill updated.","success")):(i({id:VI(),name:y,description:d.description.trim()||"Custom skill",instructions:d.instructions.trim(),enabled:!0}),u("Skill saved and enabled.","success")),p(null)},v=async y=>{await o({title:"Delete this skill?",body:`“${y.name}” will be removed from this computer.`,confirmLabel:"Delete skill",tone:"danger"})&&r(y.id)};return c.jsxs(jn,{title:"Loaded skills",description:`${h} of ${e.skills.length} enabled. Enabled instructions are appended to the system prompt for every request.`,children:[c.jsxs("div",{className:"mb-3 flex flex-wrap gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>p({name:"",description:"",instructions:""}),className:"inline-flex h-8 items-center gap-1.5 rounded-lg bg-ink px-2.5 text-[10.5px] font-medium text-panel",children:[c.jsx(yr,{size:12})," New skill"]}),c.jsxs("button",{type:"button",onClick:()=>g.current?.click(),className:"inline-flex h-8 items-center gap-1.5 rounded-lg border border-line bg-panel px-2.5 text-[10.5px] font-medium text-ink hover:bg-raised",children:[c.jsx(Ph,{size:12})," Load skill file"]}),c.jsx("input",{ref:g,type:"file",accept:".md,.markdown,.txt",className:"hidden",onChange:y=>{const k=y.target.files?.[0];k&&x(k),y.target.value=""}})]}),d&&c.jsxs("div",{className:"mb-3 rounded-xl border border-accent/30 bg-accent-soft/20 p-3",children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[c.jsx("p",{className:"text-[11px] font-medium text-ink",children:d.id?"Edit skill":"Load a skill"}),c.jsx("button",{type:"button",className:"icon-button h-6 w-6",onClick:()=>p(null),"aria-label":"Close editor",children:c.jsx(ra,{size:12})})]}),c.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[c.jsxs("div",{children:[c.jsx(ia,{children:"Name"}),c.jsx("input",{value:d.name,onChange:y=>p({...d,name:y.target.value}),placeholder:"API contract reviewer",className:Ma,autoFocus:!0})]}),c.jsxs("div",{children:[c.jsx(ia,{hint:"Shown in the skills list",children:"Description"}),c.jsx("input",{value:d.description,onChange:y=>p({...d,description:y.target.value}),placeholder:"Checks a diff against an API contract",className:Ma})]})]}),c.jsxs("div",{className:"mt-2",children:[c.jsx(ia,{hint:"Markdown",children:"Instructions"}),c.jsx("textarea",{value:d.instructions,onChange:y=>p({...d,instructions:y.target.value}),placeholder:$C,rows:8,className:"thin-scroll w-full resize-y rounded-lg border border-line bg-panel px-2.5 py-2 font-mono text-[10.5px] leading-relaxed text-ink outline-none focus:border-accent/50"})]}),c.jsxs("div",{className:"mt-2 flex justify-end gap-2",children:[c.jsx("button",{type:"button",className:"chip h-7 text-[10.5px]",onClick:()=>p(null),children:"Cancel"}),c.jsxs("button",{type:"button",onClick:b,className:"inline-flex h-7 items-center gap-1 rounded-lg bg-accent px-2.5 text-[10.5px] font-medium text-on-accent hover:bg-accent/90",children:[c.jsx(Sn,{size:11})," Save skill"]})]})]}),c.jsx("div",{className:"overflow-hidden rounded-xl border border-line",children:e.skills.map((y,k)=>c.jsx("div",{className:ne("px-3 py-3",k!==0&&"border-t border-line"),children:c.jsxs("div",{className:"flex items-start gap-2.5",children:[c.jsx("span",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-accent-soft text-accent",children:c.jsx(Ii,{size:11})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[c.jsx("p",{className:"text-[11.5px] font-medium text-ink",children:y.name}),y.builtIn&&c.jsx("span",{className:"rounded bg-raised px-1.5 py-0.5 text-[8px] font-medium text-faint",children:"Built-in"}),c.jsx("span",{className:ne("text-[8.5px]",y.enabled?"text-success":"text-faint"),children:y.enabled?"Enabled":"Off"})]}),c.jsx("p",{className:"mt-0.5 text-[9.5px] leading-relaxed text-muted",children:y.description}),c.jsxs("details",{className:"group/skill mt-1",children:[c.jsxs("summary",{className:"inline-flex cursor-pointer list-none items-center gap-1 text-[9px] font-medium text-faint hover:text-muted [&::-webkit-details-marker]:hidden",children:["View instructions",c.jsx(ul,{size:9,className:"transition-transform group-open/skill:rotate-180"})]}),c.jsx("pre",{className:"thin-scroll mt-1.5 max-h-44 overflow-auto whitespace-pre-wrap rounded-lg border border-line bg-raised/40 p-2 font-mono text-[9.5px] leading-relaxed text-muted",children:y.instructions})]})]}),c.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[!y.builtIn&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:()=>p({id:y.id,name:y.name,description:y.description,instructions:y.instructions}),className:"icon-button h-7 w-7","aria-label":`Edit ${y.name}`,title:"Edit skill",children:c.jsx(Vm,{size:12})}),c.jsx("button",{type:"button",onClick:()=>{v(y)},className:"icon-button h-7 w-7 hover:text-danger","aria-label":`Delete ${y.name}`,title:"Delete skill",children:c.jsx(aa,{size:12})})]}),c.jsx(sa,{checked:y.enabled,onChange:N=>a(y.id,{enabled:N}),label:`Enable ${y.name}`})]})]})},y.id))})]})}const Du={cloudflare:{label:"Cloudflare Pages",short:"Cloudflare",icon:Km,description:"API token + account id. Create a token with the Cloudflare Pages edit permission.",fields:[{key:"apiToken",label:"API token",secret:!0,hint:"Required",placeholder:"Cloudflare API token"},{key:"accountId",label:"Account ID",secret:!1,hint:"Required",placeholder:"a1b2c3…"}]},netlify:{label:"Netlify",short:"Netlify",icon:ns,description:"Personal access token. A new site is created when no site id is set.",fields:[{key:"authToken",label:"Personal access token",secret:!0,hint:"Required",placeholder:"nfp_…"},{key:"siteId",label:"Site ID",secret:!1,hint:"Optional",placeholder:"Existing site id"}]},vercel:{label:"Vercel",short:"Vercel",icon:Km,description:"Access token. The CLI deploys a new production build through npx when needed.",fields:[{key:"token",label:"Access token",secret:!0,hint:"Required",placeholder:"vercel token"},{key:"teamId",label:"Team / scope ID",secret:!1,hint:"Optional",placeholder:"team_…"}]}};function ZI({providerId:e}){const i=Du[e],a=Ae(U=>U.deploySecrets?.[e]),r=Ae(U=>U.deployTools?.[e]),o=Ae(U=>U.saveDeployCredentials),u=ge(U=>U.notify),d=ge(U=>U.askConfirm),[p,g]=F.useState(!1),[h,x]=F.useState({}),[b,v]=F.useState(""),[y,k]=F.useState(!1),N=i.fields.filter(U=>!U.secret),_=i.fields.find(U=>U.secret);F.useEffect(()=>{const U={};for(const B of N)U[B.key]=a?.fields?.[B.key]??"";x(U)},[a,N.length]);const T=async()=>{k(!0);try{const U={...h};b.trim()&&_&&(U[_.key]=b.trim()),await o(e,U),v(""),u(`${i.label} credentials saved and encrypted.`,"success")}catch(U){u(U instanceof Error?U.message:"Could not save those credentials.","error")}finally{k(!1)}},A=async()=>{if(await d({title:`Remove ${i.label} credentials?`,body:"The encrypted token and ids are deleted from this computer. Deployments for this host will stop until you add them again.",confirmLabel:"Remove credentials",tone:"danger"}))try{const B={};for(const M of i.fields)B[M.key]="";await o(e,B),v(""),u(`${i.label} credentials removed.`,"success")}catch(B){u(B instanceof Error?B.message:"Could not remove those credentials.","error")}},S=i.icon;return c.jsxs("div",{className:"rounded-xl border border-line bg-panel",children:[c.jsxs("button",{type:"button",onClick:()=>g(U=>!U),className:"flex w-full items-center gap-3 px-3 py-2.5 text-left",children:[c.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-line bg-raised/60 text-muted",children:c.jsx(S,{size:13})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[11.5px] font-medium text-ink",children:i.label}),a?.configured?c.jsxs("span",{className:"flex items-center gap-1 text-[9px] text-success",children:[c.jsx("span",{className:"h-1 w-1 rounded-full bg-success"})," configured"]}):c.jsx("span",{className:"text-[9px] text-faint",children:"not configured"})]}),c.jsxs("span",{className:"mt-0.5 block text-[9px] text-faint",children:[r?.installed?`${r.label} ${r.version||"installed"}`:"Uses npx on deploy",a?.hint?` · token ${a.hint}`:""]})]}),c.jsx(ul,{size:13,className:ne("shrink-0 text-faint transition-transform",p&&"rotate-180")})]}),p&&c.jsxs("div",{className:"border-t border-line px-3 py-3",children:[c.jsx("p",{className:"mb-2.5 text-[9.5px] leading-relaxed text-faint",children:i.description}),_&&c.jsxs("div",{className:"mb-2.5",children:[c.jsx(ia,{hint:a?.configured?"Saved; leave blank to keep":"Required",children:_.label}),c.jsx(Sg,{value:b,onChange:v,placeholder:a?.configured?`Replace token ${a.hint}`:_.placeholder,label:`${i.label} ${_.label}`})]}),c.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:N.map(U=>c.jsxs("div",{children:[c.jsx(ia,{hint:U.hint,children:U.label}),c.jsx("input",{value:h[U.key]??"",onChange:B=>x(M=>({...M,[U.key]:B.target.value})),placeholder:U.placeholder,spellCheck:!1,className:ne(Ma,"font-mono text-[10.5px]")})]},U.key))}),c.jsxs("div",{className:"mt-2.5 flex items-center justify-between gap-2",children:[a?.configured?c.jsx("button",{type:"button",onClick:()=>{A()},className:"text-[9.5px] font-medium text-faint hover:text-danger",children:"Remove credentials"}):c.jsx("span",{className:"text-[9px] text-faint",children:"Values are encrypted at rest."}),c.jsxs("button",{type:"button",onClick:()=>{T()},disabled:y,className:"inline-flex h-7 items-center gap-1 rounded-lg bg-ink px-2.5 text-[10px] font-medium text-panel disabled:opacity-40",children:[y?c.jsx(un,{size:10}):c.jsx(Sn,{size:10}),"Save"]})]})]})]})}function QI(){const e=Ae(a=>a.deployTools),i=Ae(a=>a.secretsError);return c.jsxs(c.Fragment,{children:[c.jsxs(jn,{title:"Hosting credentials",description:"Tokens are encrypted by the local daemon and passed to the deploy CLI through environment variables. They are never written to logs or returned to this page.",children:[i&&c.jsx("p",{className:"mb-3 rounded-lg border border-warning/30 bg-warning/[0.04] px-3 py-2 text-[10px] text-warning",children:i}),c.jsx("div",{className:"space-y-2",children:Object.keys(Du).map(a=>c.jsx(ZI,{providerId:a},a))})]}),c.jsxs(jn,{title:"Command-line tools",description:"OpenSol uses an installed CLI when available and falls back to npx. Node.js must be on PATH.",children:[c.jsx("div",{className:"overflow-hidden rounded-xl border border-line",children:Object.keys(Du).map((a,r)=>{const o=e?.[a],u=Du[a];return c.jsxs("div",{className:ne("flex items-center gap-3 px-3 py-2.5",r!==0&&"border-t border-line"),children:[c.jsx(Gv,{size:13,className:"shrink-0 text-faint"}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"text-[11px] font-medium text-ink",children:u.short}),c.jsxs("p",{className:"truncate font-mono text-[9px] text-faint",children:[o?.bin??"—"," ",o?.installed?`· ${o.version||"installed"}`:"· not installed, uses npx"]})]}),c.jsx("span",{className:ne("shrink-0 rounded-full border px-1.5 py-0.5 text-[8.5px] font-medium",o?.installed?"border-success/25 text-success":"border-line text-faint"),children:o?.installed?"installed":"npx fallback"})]},a)})}),c.jsxs("button",{type:"button",onClick:()=>ge.getState().setDeployOpen(!0),className:"mt-3 inline-flex h-8 items-center gap-1.5 rounded-lg bg-accent px-3 text-[10.5px] font-medium text-on-accent hover:bg-accent/90",children:[c.jsx(vr,{size:12})," Open deploy panel"]})]})]})}function WI(){return c.jsx(jn,{title:"Local plugins",description:"OpenSol only installs plugin packages you choose from this machine. A plugin stays sandboxed and disabled until you review its permissions and mark it Safe.",children:c.jsx(yI,{})})}function JI(){const e=Ae(),i=Ae(p=>p.update),a=ge(p=>p.openSettings),r=ge(p=>p.notify),o=Zw(e.tools),u=[{id:"light",label:"Light",icon:Hh},{id:"dark",label:"Dark",icon:Uh},{id:"system",label:"System",icon:Ih}],d=async()=>{const p=e.daemon?.dataDir??"~/.maxcode";try{await navigator.clipboard.writeText(p),r(`Copied the data folder path: ${p}`,"success")}catch{r(`Data folder: ${p}`,"info")}};return c.jsxs("div",{className:"px-5 py-2 sm:px-7",children:[c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"Permission"}),c.jsx("p",{className:"settings-hint",children:"Choose the default permission mode for new sessions."})]}),c.jsx("select",{value:o,onChange:p=>i({tools:Qw(e.tools,p.target.value)}),className:ne("settings-select w-full sm:w-[210px]"),"aria-label":"Default permission mode",children:eg.map(p=>c.jsx("option",{value:p.value,children:p.label},p.value))})]}),c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"Appearance"}),c.jsx("p",{className:"settings-hint",children:"Follow the system or pick a fixed theme."})]}),c.jsxs("div",{className:"w-full sm:w-[360px]",children:[c.jsx("div",{className:"grid grid-cols-3 gap-2",children:u.map(p=>{const g=p.icon,h=e.theme===p.id;return c.jsxs("button",{type:"button",onClick:()=>i({theme:p.id}),className:ne("flex flex-col items-center gap-1.5 rounded-xl border px-2 py-2.5 transition-colors",h?"border-accent/60 bg-panel text-ink ring-2 ring-accent/10":"border-line text-muted hover:border-faint/50 hover:text-ink"),children:[c.jsx(g,{size:16}),c.jsx("span",{className:"text-[11px] font-medium",children:p.label})]},p.id)})}),c.jsx("button",{type:"button",onClick:()=>a("appearance"),className:"mt-2 text-[11px] font-medium text-muted transition-colors hover:text-ink",children:"More themes and theme previews →"})]})]}),c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"Font size"}),c.jsx("p",{className:"settings-hint",children:"Only affects conversation content."})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("select",{value:e.chatFontSize,onChange:p=>i({chatFontSize:Number(p.target.value)}),className:ne("settings-select w-[84px] text-center"),"aria-label":"Conversation font size",children:Array.from({length:9},(p,g)=>g+12).map(p=>c.jsx("option",{value:p,children:p},p))}),c.jsx("span",{className:"text-[11px] text-faint",children:"px"})]})]}),c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"Work details"}),c.jsx("p",{className:"settings-hint",children:"Choose how much detail to show for tool calls."})]}),c.jsxs("select",{value:e.workDetail,onChange:p=>i({workDetail:p.target.value==="concise"?"concise":"detailed"}),className:ne("settings-select w-full sm:w-[180px]"),"aria-label":"Work details",children:[c.jsx("option",{value:"concise",children:"Concise"}),c.jsx("option",{value:"detailed",children:"Detailed"})]})]}),c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"When to collapse work details"}),c.jsx("p",{className:"settings-hint",children:"Choose when to automatically collapse work details."})]}),c.jsxs("select",{value:e.autoCollapseWork?"completion":"never",onChange:p=>i({autoCollapseWork:p.target.value==="completion"}),className:ne("settings-select w-full sm:w-[180px]"),"aria-label":"When to collapse work details",children:[c.jsx("option",{value:"completion",children:"On completion"}),c.jsx("option",{value:"never",children:"Never"})]})]}),c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"Let AI name sessions"}),c.jsx("p",{className:"settings-hint",children:"After the first answer, the model writes a short title for the session. Names you type yourself are never replaced."})]}),c.jsx(sa,{checked:e.aiSessionTitles,onChange:p=>i({aiSessionTitles:p}),label:"Let AI name sessions"})]}),c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"Show token estimates"}),c.jsx("p",{className:"settings-hint",children:"When a provider does not report usage, show a rough output estimate."})]}),c.jsx(sa,{checked:e.showTokenEstimate,onChange:p=>i({showTokenEstimate:p}),label:"Show token estimates"})]}),c.jsxs("div",{className:"settings-row",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"settings-label",children:"Local configuration"}),c.jsx("p",{className:"settings-hint",children:"Settings, conversations and encrypted keys live in this folder."})]}),c.jsxs("button",{type:"button",onClick:()=>{d()},className:"inline-flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-line bg-panel px-3 text-[11.5px] font-medium text-ink transition-colors hover:bg-raised",title:e.daemon?.dataDir??"~/.maxcode",children:[c.jsx(rd,{size:13}),"Copy data folder path"]})]}),c.jsx("p",{className:"py-4 text-[10.5px] text-faint",children:"Changes are saved automatically to this computer."})]})}function e9(){const e=Ae(),i=Ae(r=>r.update),a=[{id:"light",label:"Light",className:"bg-[#fcfcfc]",line:"bg-[#e2e2e5]"},{id:"dark",label:"Dark",className:"bg-[#09090b]",line:"bg-[#2a2a31]"},{id:"night-owl",label:"Night Owl",className:"bg-[#011627]",line:"bg-[#1a3e5a]"},{id:"claude-code",label:"Claude Code",className:"bg-[#262624]",line:"bg-[#42423e]"},{id:"flame",label:"Flame",className:"bg-[#130d0c]",line:"bg-[#3e2621]"},{id:"system",label:"System",className:"bg-gradient-to-br from-[#fcfcfc] to-[#09090b]",line:"bg-[#8a8a92]"},...LE().themes().map(r=>({id:r.id,label:r.label,className:"bg-gradient-to-br from-accent-soft to-panel",line:"bg-line"}))];return c.jsxs(c.Fragment,{children:[c.jsx(jn,{title:"Theme",description:"System follows your OS preference and updates when it changes.",children:c.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:a.map(r=>{const o=e.theme===r.id;return c.jsxs("button",{type:"button",onClick:()=>i({theme:r.id}),className:ne("rounded-xl border p-2 text-left transition-all",o?"border-accent ring-2 ring-accent/10":"border-line hover:border-faint/50"),children:[c.jsxs("span",{className:ne("block h-14 w-full overflow-hidden rounded-lg border border-line/60 p-2",r.className),children:[c.jsx("span",{className:ne("block h-1.5 w-8 rounded-full",r.line)}),c.jsx("span",{className:ne("mt-1.5 block h-1.5 w-12 rounded-full opacity-60",r.line)}),c.jsx("span",{className:"mt-3 block h-2 w-5 rounded-full bg-accent"})]}),c.jsxs("span",{className:"mt-1.5 flex items-center justify-between px-0.5",children:[c.jsx("span",{className:"text-[10.5px] font-medium text-ink",children:r.label}),o&&c.jsx(Sn,{size:11,className:"text-accent"})]})]},r.id)})})}),c.jsx(jn,{title:"Interface",children:c.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-line bg-raised/30 px-3 py-2.5",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-[11.5px] font-medium text-ink",children:"Show token estimates"}),c.jsx("p",{className:"mt-0.5 text-[9.5px] text-faint",children:"When a provider does not report usage, show a rough output estimate."})]}),c.jsx(sa,{checked:e.showTokenEstimate,onChange:r=>i({showTokenEstimate:r}),label:"Show token estimates"})]})}),c.jsx(jn,{title:"Shortcuts",children:c.jsx("div",{className:"space-y-1.5 text-[10.5px]",children:[["Search and commands","⌘ K / Ctrl K"],["Send message","Enter"],["New line","Shift Enter"],["Save file in the editor","⌘ S / Ctrl S"]].map(([r,o])=>c.jsxs("div",{className:"flex items-center justify-between rounded-lg px-1 py-1",children:[c.jsx("span",{className:"text-muted",children:r}),c.jsx("kbd",{className:"rounded border border-line bg-raised px-1.5 py-0.5 font-sans text-[9.5px] text-faint",children:o})]},r))})})]})}function t9(){const e=Ye(y=>y.sessions),i=Ae(y=>y.daemon),a=Ae(y=>y.secretStatus),r=Ue(y=>y.entries),o=Ue(y=>y.info),u=ge(y=>y.askConfirm),d=ge(y=>y.notify),p=F.useRef(null),[g,h]=F.useState(""),x=e.reduce((y,k)=>y+k.messages.length,0),b=r.filter(y=>y.type==="file").length,v=async(y,k)=>{if(await u({...k,tone:"danger",confirmLabel:k.label})){h(y);try{lj();const _=await gC(y);await ME(_),d(y==="history"?"Conversation history cleared.":y==="settings"?"Settings restored to defaults.":"OpenSol was reset.","success")}catch(_){d(_ instanceof Error?_.message:"Could not reset that data.","error")}finally{h("")}}};return c.jsxs(c.Fragment,{children:[c.jsxs(jn,{title:"About",children:[c.jsxs("div",{className:"flex items-start gap-3.5",children:[c.jsx(fl,{size:46}),c.jsxs("div",{children:[c.jsxs("div",{className:"flex flex-wrap items-baseline gap-2",children:[c.jsx("h3",{className:"font-display text-[20px] font-semibold tracking-[-0.03em] text-ink",children:"OpenSol"}),c.jsxs("span",{className:"text-[10px] text-faint",children:["v",i?.version??"1.0.0"]})]}),c.jsx("p",{className:"mt-0.5 text-[10.5px] font-medium text-muted",children:"A OpenSoft product"}),c.jsx("p",{className:"mt-2 max-w-[520px] text-[10.5px] leading-relaxed text-muted",children:"A local-first coding agent with a real workspace, shell, git, web research, subagents and deploy flows. No OpenSol account and no OpenSoft server. Your keys never leave this machine."})]})]}),c.jsx("div",{className:"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3",children:[["Conversations",String(e.length)],["Messages",String(x)],["Workspace files",o.available?String(b):"None"]].map(([y,k])=>c.jsxs("div",{className:"rounded-lg border border-line bg-raised/30 px-3 py-2",children:[c.jsx("p",{className:"text-[9px] text-faint",children:y}),c.jsx("p",{className:"mt-0.5 text-[15px] font-semibold tracking-[-0.02em] text-ink",children:k})]},y))})]}),c.jsxs(jn,{title:"Local data",description:"Everything is stored under ~/.maxcode. Clearing that folder removes OpenSol’s local state.",children:[c.jsxs("div",{className:"space-y-1.5 rounded-lg border border-line bg-raised/30 px-3 py-2.5 text-[10px]",children:[c.jsxs("p",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-faint",children:"Data folder"}),c.jsx("span",{className:"min-w-0 truncate font-mono text-ink",title:i?.dataDir,children:i?.dataDir??"~/.maxcode"})]}),c.jsxs("p",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-faint",children:"Encryption"}),c.jsx("span",{className:"text-muted",children:a?.encryption??"AES-256-GCM"})]}),c.jsxs("p",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-faint",children:"Runtime"}),c.jsxs("span",{className:"truncate text-muted",children:[i?.platform??"—"," · Node ",i?.node??"—"]})]}),c.jsxs("p",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-faint",children:"Workspace"}),c.jsx("span",{className:"min-w-0 truncate font-mono text-muted",title:o.root,children:o.available?o.root:"No folder open"})]})]}),c.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[c.jsxs("button",{type:"button",onClick:Jv,className:"inline-flex h-8 items-center gap-1.5 rounded-lg border border-line bg-panel px-2.5 text-[10.5px] font-medium text-ink hover:bg-raised",children:[c.jsx(Cv,{size:12})," Export conversations"]}),c.jsxs("button",{type:"button",onClick:()=>p.current?.click(),className:"inline-flex h-8 items-center gap-1.5 rounded-lg border border-line bg-panel px-2.5 text-[10.5px] font-medium text-ink hover:bg-raised",children:[c.jsx(Ph,{size:12})," Import conversations"]}),c.jsx("input",{ref:p,type:"file",accept:"application/json,.json",className:"hidden",onChange:y=>{const k=y.target.files?.[0];k&&(BC(k).then(N=>d(N>0?`Imported ${N} conversation${N===1?"":"s"}.`:"Those conversations are already in your history.",N>0?"success":"info")).catch(N=>d(N instanceof Error?N.message:"Could not import that file.","error")),y.target.value="")}}),c.jsxs("button",{type:"button",onClick:()=>{v("history",{title:"Clear conversation history?",body:"Every conversation saved on this computer will be deleted. Keys, skills and workspace files are kept.",label:"Clear history"})},disabled:g==="history",className:"inline-flex h-8 items-center gap-1.5 rounded-lg border border-line bg-panel px-2.5 text-[10.5px] font-medium text-ink hover:bg-raised disabled:opacity-40",children:[g==="history"?c.jsx(un,{size:12}):c.jsx(aa,{size:12})," Clear history"]})]}),c.jsxs("p",{className:"mt-3 flex items-center gap-2 text-[9.5px] text-faint",children:[c.jsx(rd,{size:11}),Lo(new Blob([JSON.stringify(e)]).size)," of conversation history",c.jsx("span",{className:"text-line",children:"·"}),c.jsx(sd,{size:10}),"secrets encrypted at rest"]})]}),c.jsx(jn,{title:"Danger zone",children:c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex flex-col gap-2 rounded-lg border border-line px-3 py-2.5 sm:flex-row sm:items-center sm:justify-between",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-[11px] font-medium text-ink",children:"Restore default settings"}),c.jsx("p",{className:"mt-0.5 text-[9.5px] text-muted",children:"Reset prompt, modes, tool permissions and skills. Keys and chats stay."})]}),c.jsxs("button",{type:"button",onClick:()=>{v("settings",{title:"Restore default settings?",body:"Your prompt, tool permissions, skills and interface settings return to their defaults. Conversations and encrypted keys are kept.",label:"Restore defaults"})},disabled:g==="settings",className:"inline-flex h-7 shrink-0 items-center gap-1 self-start rounded-lg border border-line px-2.5 text-[10px] font-medium text-muted hover:border-warning/30 hover:text-warning disabled:opacity-40 sm:self-auto",children:[g==="settings"?c.jsx(un,{size:11}):c.jsx($v,{size:11})," Restore defaults"]})]}),c.jsxs("div",{className:"flex flex-col gap-2 rounded-lg border border-danger/20 bg-danger/[0.02] px-3 py-2.5 sm:flex-row sm:items-center sm:justify-between",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-[11px] font-medium text-ink",children:"Reset OpenSol"}),c.jsx("p",{className:"mt-0.5 text-[9.5px] text-muted",children:"Delete conversations, encrypted keys, skills, settings and the remembered workspace."})]}),c.jsxs("button",{type:"button",onClick:()=>{v("all",{title:"Reset everything?",body:"Conversations, API keys, hosting credentials, skills, settings and the workspace list will be permanently removed from this computer. Files in your project folder are never deleted.",label:"Reset everything"})},disabled:g==="all",className:"inline-flex h-7 shrink-0 items-center gap-1 self-start rounded-lg bg-danger px-2.5 text-[10px] font-medium text-on-accent hover:bg-danger/90 disabled:opacity-40 sm:self-auto",children:[g==="all"?c.jsx(un,{size:11}):c.jsx(aa,{size:11})," Reset everything"]})]})]})})]})}function n9(){const e=ge(x=>x.settingsOpen),i=ge(x=>x.settingsTab),a=ge(x=>x.closeSettings),r=ge(x=>x.openSettings),o=ge(x=>x.notify),u=Ae(x=>x.daemon),d=F.useRef(null),p=Math.max(0,bo.findIndex(x=>x.id===i)),g=bo[p];F.useEffect(()=>{e&&d.current?.scrollTo({top:0})},[e,i]);const h=async()=>{const x=u?.dataDir??"~/.opensol";try{await navigator.clipboard.writeText(x),o(`Copied the data folder path: ${x}`,"success")}catch{o(`Data folder: ${x}`,"info")}};return c.jsx(tg,{open:e,onClose:a,labelledBy:"settings-title",className:"settings-shell h-[94dvh] p-0 sm:h-[min(88dvh,780px)] sm:w-[min(1040px,96vw)] sm:!rounded-[28px]",children:c.jsxs("div",{className:"flex min-h-0 flex-1 flex-col sm:flex-row",children:[c.jsxs("aside",{className:"relative hidden w-[232px] shrink-0 flex-col bg-canvas sm:flex",children:[c.jsx("div",{className:"settings-glow pointer-events-none absolute inset-x-0 top-0 h-48"}),c.jsxs("div",{className:"relative px-6 pb-4 pt-6",children:[c.jsx("p",{className:"font-mono text-[10px] uppercase tracking-[0.24em] text-faint",children:"OpenSol · v3.1.0"}),c.jsx("h2",{id:"settings-title",className:"mt-1.5 font-display text-[26px] font-semibold leading-none tracking-[-0.035em] text-ink",children:"Settings"})]}),c.jsxs("nav",{className:"relative flex-1 overflow-y-auto px-3 pb-3",children:[c.jsx("span",{"aria-hidden":!0,className:"settings-pill absolute left-3 right-3 top-0 h-10 rounded-2xl bg-panel shadow-pill ring-1 ring-line transition-transform duration-500 ease-spring",style:{transform:`translateY(${p*42}px)`}}),bo.map((x,b)=>{const v=x.icon,y=i===x.id;return c.jsxs("button",{type:"button",onClick:()=>r(x.id),title:x.description,className:ne("group/tab relative mb-[2px] flex h-10 w-full items-center gap-3 rounded-2xl px-3 text-left text-[12.5px] transition-colors duration-200",y?"font-semibold text-ink":"text-muted hover:text-ink"),children:[c.jsx("span",{className:ne("w-4 font-mono text-[9.5px] tabular-nums transition-colors",y?"text-accent":"text-faint"),children:String(b+1).padStart(2,"0")}),c.jsx(v,{size:14,className:ne("transition-transform duration-300 group-hover/tab:scale-110",y?"text-accent":"text-faint")}),x.label]},x.id)})]}),c.jsx("div",{className:"relative px-6 py-4",children:c.jsxs("p",{className:"flex items-center gap-1.5 text-[10px] text-faint",children:[c.jsx(sd,{size:10})," Keys encrypted on this machine"]})})]}),c.jsxs("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col bg-panel sm:border-l sm:border-line",children:[c.jsx("div",{className:"thin-scroll flex shrink-0 gap-1.5 overflow-x-auto border-b border-line px-3 py-2.5 sm:hidden",children:bo.map(x=>c.jsx("button",{type:"button",onClick:()=>r(x.id),className:ne("shrink-0 rounded-full px-3 py-1.5 text-[11px] font-medium transition-all duration-200",i===x.id?"bg-ink text-panel":"bg-raised text-muted"),children:x.label},x.id))}),c.jsxs("header",{className:"flex shrink-0 items-start justify-between gap-4 px-5 pb-3 pt-5 sm:px-8 sm:pt-7",children:[c.jsxs("div",{className:"settings-title-in min-w-0",children:[c.jsxs("p",{className:"font-mono text-[10px] uppercase tracking-[0.22em] text-accent",children:[String(p+1).padStart(2,"0")," / ",String(bo.length).padStart(2,"0")]}),c.jsx("h3",{className:"mt-1 font-display text-[28px] font-semibold leading-none tracking-[-0.035em] text-ink",children:g.label}),c.jsx("p",{className:"mt-2 max-w-[560px] text-[12.5px] leading-relaxed text-muted",children:g.description})]},i),c.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[c.jsxs("button",{type:"button",onClick:()=>{h()},className:"hidden h-8 items-center gap-1.5 rounded-full border border-line bg-panel px-3 text-[11px] font-medium text-ink transition-all hover:bg-raised active:scale-95 sm:inline-flex",title:u?.dataDir??"~/.opensol",children:[c.jsx(rd,{size:12}),"Data folder"]}),c.jsx("button",{type:"button",className:"icon-button h-8 w-8 rounded-full",onClick:a,"aria-label":"Close settings",children:c.jsx(ra,{size:16})})]})]}),c.jsx("div",{ref:d,className:"thin-scroll min-h-0 flex-1 overflow-y-auto pb-6",children:c.jsxs("div",{className:"settings-enter",children:[i==="general"&&c.jsx(JI,{}),i==="models"&&c.jsx(HI,{}),i==="tools"&&c.jsx(GI,{}),i==="search"&&c.jsx(KI,{}),i==="skills"&&c.jsx(XI,{}),i==="plugins"&&c.jsx(WI,{}),i==="mcp"&&c.jsx(_I,{}),i==="deploy"&&c.jsx(QI,{}),i==="appearance"&&c.jsx(e9,{}),i==="about"&&c.jsx(t9,{})]},i)})]})]})})}const Ym=[{id:"cloudflare",label:"Cloudflare Pages",short:"Pages",icon:Km,blurb:"Fast global hosting with a generous free tier.",needs:"API token + account id"},{id:"netlify",label:"Netlify",short:"Netlify",icon:ns,blurb:"Create a site and publish a folder in one step.",needs:"Personal access token"},{id:"vercel",label:"Vercel",short:"Vercel",icon:HT,blurb:"Production deploys through the Vercel CLI.",needs:"Access token"}];function i9(){const e=ge(O=>O.deployOpen),i=ge(O=>O.setDeployOpen),a=ge(O=>O.openSettings),r=ge(O=>O.notify),o=Ue(O=>O.root),u=Ue(O=>O.info.name),d=Ue(O=>O.info.available),p=Ae(O=>O.deployTools),g=Ae(O=>O.deploySecrets),[h,x]=F.useState("cloudflare"),[b,v]=F.useState(""),[y,k]=F.useState("dist"),[N,_]=F.useState(""),[T,A]=F.useState(""),[S,U]=F.useState(!1),[B,M]=F.useState([]),[C,I]=F.useState(null),[X,z]=F.useState(""),[H,J]=F.useState(!1),de=F.useRef(null),ue=F.useRef(null),te=F.useRef(0),G=Ym.find(O=>O.id===h)??Ym[0],ae=p?.[h],P=!!g?.[h]?.configured;F.useEffect(()=>{e&&(v(o),I(null),z(""),M([]),U(!1),J(!1))},[e,o]),F.useEffect(()=>{if(!e)return;const O=ue.current;O&&(O.scrollTop=O.scrollHeight)},[B,e]),F.useEffect(()=>()=>de.current?.abort(),[]);const re=(O,D)=>{const ie=D.trimEnd();if(!ie)return;te.current+=1;const me=te.current;M(ke=>[...ke.slice(-500),{id:me,stream:O,text:ie}])},j=()=>{de.current?.abort(),i(!1)},Le=async()=>{if(S)return;if(!b.trim()){z("Choose the project folder to deploy.");return}U(!0),I(null),z(""),M([]);const O=new AbortController;de.current=O,re("meta",`Preparing ${G.label} deploy from ${b.trim()}`);try{for await(const D of MC({provider:h,path:b.trim(),outputDir:y.trim()||void 0,buildCommand:N.trim()||void 0,projectName:T.trim()||void 0},O.signal))if(D.type==="log")re(D.stream,D.text);else if(D.type==="start")re("meta",`Deploying ${D.provider}${D.path?` · ${D.path}`:""}`);else if(D.type==="done"){I(D.result),re("meta",`Published ${D.result.url}`);break}else if(D.type==="error"){z(D.message),re("stderr",D.message);break}}catch(D){if(D instanceof DOMException&&D.name==="AbortError")re("meta","Deployment stopped.");else{const ie=D instanceof Error?D.message:"The deployment failed.";z(ie),re("stderr",ie)}}finally{de.current=null,U(!1)}},pe=async()=>{if(C?.url)try{await navigator.clipboard.writeText(C.url),J(!0),window.setTimeout(()=>J(!1),1600)}catch{r("Clipboard access was blocked by the browser.","error")}};return c.jsxs(tg,{open:e,onClose:j,labelledBy:"deploy-title",wide:!0,className:"h-[92dvh] p-0 sm:h-[min(90dvh,760px)]",children:[c.jsxs("div",{className:"flex shrink-0 items-start justify-between gap-4 border-b border-line px-5 py-4 sm:px-6",children:[c.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[c.jsx("span",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-accent-soft text-accent",children:c.jsx(vr,{size:17})}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("h2",{id:"deploy-title",className:"font-display text-[20px] font-semibold tracking-[-0.02em] text-ink",children:"Deploy a site"}),c.jsx("p",{className:"mt-0.5 text-[11.5px] leading-relaxed text-muted",children:"Publish the open workspace or another project folder. Tokens stay encrypted on this machine."})]})]}),c.jsx("button",{type:"button",className:"icon-button -mr-1 shrink-0",onClick:j,"aria-label":"Close deploy panel",children:c.jsx("span",{className:"text-[18px] leading-none",children:"×"})})]}),c.jsxs("div",{className:"grid min-h-0 flex-1 lg:grid-cols-[minmax(0,380px)_minmax(0,1fr)]",children:[c.jsx("div",{className:"thin-scroll min-h-0 overflow-y-auto border-b border-line lg:border-b-0 lg:border-r",children:c.jsxs("div",{className:"space-y-5 p-5",children:[c.jsxs("div",{children:[c.jsx("p",{className:"mb-2 text-[10px] font-semibold uppercase tracking-[0.14em] text-faint",children:"Host"}),c.jsx("div",{className:"grid gap-1.5",children:Ym.map(O=>{const D=O.icon,ie=h===O.id;return c.jsxs("button",{type:"button",onClick:()=>x(O.id),disabled:S,className:ne("flex items-start gap-2.5 rounded-xl border px-3 py-2.5 text-left transition-colors disabled:opacity-60",ie?"border-accent/35 bg-accent-soft/45":"border-line bg-panel hover:bg-raised/50"),children:[c.jsx("span",{className:ne("mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg",ie?"bg-accent text-on-accent":"bg-raised text-muted"),children:c.jsx(D,{size:13})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:ne("text-[12px] font-medium",ie?"text-accent":"text-ink"),children:O.label}),g?.[O.id]?.configured?c.jsx(Sn,{size:11,className:"text-success"}):c.jsx("span",{className:"text-[9px] text-warning",children:"needs token"})]}),c.jsx("span",{className:"mt-0.5 block text-[10px] leading-relaxed text-faint",children:O.blurb})]})]},O.id)})})]}),!P&&c.jsxs("div",{className:"rounded-xl border border-warning/25 bg-warning/[0.045] p-3",children:[c.jsxs("p",{className:"flex items-start gap-1.5 text-[10.5px] leading-relaxed text-muted",children:[c.jsx(Jr,{size:12,className:"mt-0.5 shrink-0 text-warning"}),G.label," needs ",G.needs,". Add it once in Settings → Deploy; it is encrypted with AES-256-GCM and never appears in the page again."]}),c.jsxs("button",{type:"button",onClick:()=>{i(!1),a("deploy")},className:"mt-2 inline-flex h-7 items-center rounded-lg bg-ink px-2.5 text-[10.5px] font-medium text-panel",children:["Add ",G.label," credentials"]})]}),c.jsxs("div",{children:[c.jsxs("div",{className:"mb-1.5 flex items-center justify-between gap-2",children:[c.jsx("label",{htmlFor:"deploy-path",className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-faint",children:"Project folder"}),d&&c.jsxs("button",{type:"button",onClick:()=>v(o),disabled:S,className:"inline-flex items-center gap-1 text-[9.5px] font-medium text-accent disabled:opacity-40",children:[c.jsx(Wr,{size:10}),"Use open workspace"]})]}),c.jsx("input",{id:"deploy-path",value:b,onChange:O=>v(O.target.value),disabled:S,placeholder:"/absolute/path/to/project or ~/Projects/site",spellCheck:!1,className:"h-9 w-full rounded-lg border border-line bg-panel px-2.5 font-mono text-[10.5px] text-ink outline-none transition-colors placeholder:text-faint focus:border-accent/50 disabled:opacity-60"}),c.jsxs("p",{className:"mt-1 text-[9px] leading-relaxed text-faint",children:[d?`Open workspace: ${u}`:"No workspace open."," Another folder must already exist on this machine."]})]}),c.jsxs("div",{className:"grid grid-cols-2 gap-2.5",children:[c.jsxs("div",{children:[c.jsx("label",{htmlFor:"deploy-output",className:"mb-1.5 block text-[10px] font-semibold uppercase tracking-[0.14em] text-faint",children:"Output folder"}),c.jsx("input",{id:"deploy-output",value:y,onChange:O=>k(O.target.value),disabled:S,placeholder:"dist",spellCheck:!1,className:"h-8 w-full rounded-lg border border-line bg-panel px-2 font-mono text-[10.5px] text-ink outline-none focus:border-accent/50 disabled:opacity-60"})]}),c.jsxs("div",{children:[c.jsx("label",{htmlFor:"deploy-name",className:"mb-1.5 block text-[10px] font-semibold uppercase tracking-[0.14em] text-faint",children:"Project name"}),c.jsx("input",{id:"deploy-name",value:T,onChange:O=>A(O.target.value),disabled:S,placeholder:"my-site",spellCheck:!1,className:"h-8 w-full rounded-lg border border-line bg-panel px-2 font-mono text-[10.5px] text-ink outline-none focus:border-accent/50 disabled:opacity-60"})]})]}),c.jsx("div",{className:"flex flex-wrap gap-1",children:["dist","build","out","."].map(O=>c.jsx("button",{type:"button",onClick:()=>k(O),disabled:S,className:ne("chip h-7 px-2 text-[9.5px]",y===O&&"chip-active"),children:O},O))}),c.jsxs("div",{children:[c.jsxs("label",{htmlFor:"deploy-build",className:"mb-1.5 block text-[10px] font-semibold uppercase tracking-[0.14em] text-faint",children:["Build command ",c.jsx("span",{className:"font-normal normal-case tracking-normal text-faint",children:"optional"})]}),c.jsx("input",{id:"deploy-build",value:N,onChange:O=>_(O.target.value),disabled:S,placeholder:"npm run build",spellCheck:!1,className:"h-8 w-full rounded-lg border border-line bg-panel px-2 font-mono text-[10.5px] text-ink outline-none focus:border-accent/50 disabled:opacity-60"}),c.jsxs("div",{className:"mt-1.5 flex flex-wrap gap-1",children:[["npm run build","pnpm build","yarn build"].map(O=>c.jsx("button",{type:"button",onClick:()=>_(O),disabled:S,className:"rounded-md border border-line px-1.5 py-0.5 text-[9px] text-faint transition-colors hover:text-ink",children:O},O)),N&&c.jsx("button",{type:"button",onClick:()=>_(""),disabled:S,className:"px-1.5 py-0.5 text-[9px] text-faint hover:text-danger",children:"clear"})]})]}),c.jsxs("div",{className:"flex items-start gap-1.5 rounded-lg border border-line bg-raised/40 px-2.5 py-2 text-[9.5px] leading-relaxed text-faint",children:[c.jsx(Gv,{size:11,className:"mt-0.5 shrink-0"}),ae?.installed?`${ae.label} ${ae.version?`(${ae.version})`:""} is installed locally.`:`${ae?.label??G.short} CLI is not installed; OpenSol will use npx for this deploy.`]})]})}),c.jsxs("div",{className:"flex min-h-0 flex-col",children:[c.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-line px-4 py-2.5",children:[c.jsx("span",{className:ne("h-1.5 w-1.5 rounded-full",S?"animate-breathe bg-accent":C?"bg-success":"bg-faint")}),c.jsx("p",{className:"min-w-0 flex-1 truncate text-[11px] font-medium text-muted",children:S?`Deploying with ${G.label}…`:C?"Deployment complete":"Deploy output"}),S&&c.jsxs("button",{type:"button",onClick:()=>de.current?.abort(),className:"inline-flex h-7 items-center gap-1 rounded-lg border border-line px-2 text-[10px] font-medium text-muted hover:text-ink",children:[c.jsx($h,{size:9,fill:"currentColor"})," Stop"]}),!S&&c.jsxs("button",{type:"button",onClick:()=>{Le()},disabled:!P||!b.trim(),className:"inline-flex h-7 items-center gap-1.5 rounded-lg bg-accent px-2.5 text-[10.5px] font-medium text-on-accent transition-colors hover:bg-accent/90 disabled:cursor-not-allowed disabled:opacity-40",children:[c.jsx(cT,{size:10,fill:"currentColor"}),"Deploy"]})]}),C&&c.jsx("div",{className:"shrink-0 border-b border-line bg-success/[0.045] px-4 py-3",children:c.jsxs("div",{className:"flex items-start gap-2",children:[c.jsx(Sn,{size:14,className:"mt-0.5 shrink-0 text-success"}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"text-[11.5px] font-medium text-ink",children:"Published successfully"}),c.jsx("a",{href:C.url,target:"_blank",rel:"noreferrer",className:"mt-0.5 block truncate text-[11px] text-accent hover:underline",children:C.url})]}),c.jsx("button",{type:"button",onClick:pe,className:"icon-button h-7 w-7",title:"Copy URL","aria-label":"Copy URL",children:H?c.jsx(Sn,{size:12,className:"text-success"}):c.jsx(ad,{size:12})}),c.jsx("a",{href:C.url,target:"_blank",rel:"noreferrer",className:"icon-button h-7 w-7",title:"Open site","aria-label":"Open site",children:c.jsx(jv,{size:12})})]})}),X&&c.jsx("div",{className:"shrink-0 border-b border-danger/20 bg-danger/[0.045] px-4 py-2.5 text-[10.5px] leading-relaxed text-danger",children:X}),c.jsx("div",{ref:ue,className:"thin-scroll min-h-0 flex-1 overflow-y-auto bg-canvas/40 px-4 py-3",children:B.length===0&&!S?c.jsxs("div",{className:"flex h-full min-h-[180px] flex-col items-center justify-center gap-2 px-6 text-center",children:[c.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-raised text-faint",children:c.jsx(vr,{size:17})}),c.jsx("p",{className:"text-[11.5px] font-medium text-muted",children:"Ready when you are"}),c.jsx("p",{className:"max-w-[260px] text-[10px] leading-relaxed text-faint",children:"The build and deploy output appears here. Credentials are passed to the CLI through the environment, never printed in the log."})]}):c.jsxs("pre",{className:"whitespace-pre-wrap break-words font-mono text-[10px] leading-[1.7] text-muted",children:[B.map(O=>c.jsxs("span",{className:ne("block",O.stream==="stderr"&&"text-danger",O.stream==="meta"&&"text-accent"),children:[O.stream==="meta"?"› ":"",O.text]},O.id)),S&&c.jsxs("span",{className:"mt-1 flex items-center gap-1.5 text-accent",children:[c.jsx(un,{size:10})," working…"]})]})}),c.jsxs("div",{className:"flex h-9 shrink-0 items-center gap-2 border-t border-line px-4 text-[9px] text-faint",children:[c.jsx(Jr,{size:10}),"Tokens encrypted at rest",c.jsx("span",{className:"ml-auto",children:b.trim()?b.trim().split(/[\\/]/).filter(Boolean).pop():"No folder"})]})]})]})]})}function a9(){const e=ge(A=>A.paletteOpen),i=ge(A=>A.setPaletteOpen),a=ge(A=>A.openSettings),r=ge(A=>A.setWorkspaceOpen),o=ge(A=>A.setDeployOpen),u=ge(A=>A.focusComposer),d=ge(A=>A.notify),p=Ye(A=>A.sessions),g=Ue(A=>A.entries),[h,x]=F.useState(""),[b,v]=F.useState(0),y=F.useRef(null),k=F.useRef(null);F.useEffect(()=>{if(!e)return;x(""),v(0),k.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const A=document.body.style.overflow;document.body.style.overflow="hidden";const S=window.setTimeout(()=>y.current?.focus(),30);return()=>{window.clearTimeout(S),document.body.style.overflow=A,k.current?.focus()}},[e]);const N=F.useMemo(()=>{const A=document.documentElement.classList.contains("dark"),S=()=>i(!1),U=[{id:"action-new-chat",label:"New chat",hint:"Start a clean conversation",group:"Actions",icon:yr,action:()=>{Ye.getState().newChat(),u(),S()}},{id:"action-workspace",label:"Toggle workspace panel",hint:"Browse and edit files in the open folder",group:"Actions",icon:Wr,action:()=>{r(!ge.getState().workspaceOpen),S()}},{id:"action-deploy",label:"Deploy a page",hint:"Cloudflare Pages, Netlify or Vercel",group:"Actions",icon:vr,action:()=>{o(!0),S()}},{id:"action-theme",label:A?"Switch to light theme":"Switch to dark theme",group:"Actions",icon:A?Hh:Uh,action:()=>{Ae.getState().update({theme:A?"light":"dark"}),S()}},{id:"action-models",label:"Model settings",hint:"Providers, encrypted keys and reasoning",group:"Settings",icon:zu,action:()=>{a("models"),S()}},{id:"action-tools",label:"Tool permissions",hint:"Approval and enablement",group:"Settings",icon:To,action:()=>{a("tools"),S()}},{id:"action-search",label:"Search settings",hint:"Tavily, Brave, Serper, DuckDuckGo",group:"Settings",icon:ns,action:()=>{a("search"),S()}},{id:"action-skills",label:"Skills",hint:"Load and manage reusable instructions",group:"Settings",icon:Ii,action:()=>{a("skills"),S()}},{id:"action-deploy-settings",label:"Hosting credentials",hint:"Cloudflare, Netlify and Vercel tokens",group:"Settings",icon:vr,action:()=>{a("deploy"),S()}},{id:"action-appearance",label:"Appearance",hint:"Theme and token estimates",group:"Settings",icon:Uv,action:()=>{a("appearance"),S()}},{id:"action-about",label:"About OpenSol",hint:"Local storage and reset controls",group:"Settings",icon:Dh,action:()=>{a("about"),S()}},{id:"action-export",label:"Export conversations",hint:"Download a JSON history file",group:"Actions",icon:Cv,action:()=>{Jv(),d("Conversation history exported.","success"),S()}}],B=[...p].sort((C,I)=>I.updatedAt-C.updatedAt).map(C=>({id:`chat-${C.id}`,label:C.title,hint:`${C.messages.length} messages · ${Yu(C.updatedAt)}`,group:"Conversations",icon:Iv,keywords:C.messages.filter(I=>I.role==="user").map(I=>I.content).join(" ").slice(0,1e3),action:()=>{Ye.getState().setActive(C.id),S()}})),M=g.filter(C=>C.type==="file").slice(0,1500).map(C=>({id:`file-${C.path}`,label:C.name,hint:C.path,group:"Workspace files",icon:ja,keywords:C.path,action:()=>{Ue.getState().setActiveFile(C.path),r(!0),S()}}));return[...U,...B,...M]},[p,g,u,d,a,i,r,o]),_=F.useMemo(()=>{const A=h.trim().toLowerCase(),S=A?40:18;if(!A){const U=new Set([...p].sort((B,M)=>M.updatedAt-B.updatedAt).slice(0,2).map(B=>`chat-${B.id}`));return N.filter(B=>B.group!=="Conversations"||U.has(B.id)).filter((B,M,C)=>C.findIndex(I=>I.id===B.id)===M).slice(0,S)}return N.filter(U=>`${U.label} ${U.hint??""} ${U.keywords??""} ${U.group}`.toLowerCase().includes(A)).slice(0,S)},[N,h,p]);if(F.useEffect(()=>{v(0)},[h]),F.useEffect(()=>{if(!e)return;document.querySelector(`[data-palette-index="${b}"]`)?.scrollIntoView({block:"nearest"})},[b,e]),F.useEffect(()=>{b>_.length-1&&v(Math.max(0,_.length-1))},[_.length,b]),!e)return null;const T=A=>{const S=_[A];S&&S.action()};return Io.createPortal(c.jsxs("div",{className:"fixed inset-0 z-[90] flex items-start justify-center px-3 pt-[10vh] sm:pt-[14vh]",children:[c.jsx("button",{type:"button","aria-label":"Close command palette",tabIndex:-1,className:"absolute inset-0 cursor-default bg-ink/20 backdrop-blur-[2px] dark:bg-black/45",onClick:()=>i(!1)}),c.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":"Search and commands",className:"modal-panel relative flex max-h-[min(72dvh,560px)] w-full max-w-[560px] flex-col overflow-hidden rounded-2xl border border-line surface-lift shadow-float",children:[c.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-2.5 border-b border-line px-3.5",children:[c.jsx(dl,{size:15,className:"shrink-0 text-faint"}),c.jsx("input",{ref:y,value:h,onChange:A=>x(A.target.value),onKeyDown:A=>{A.key==="ArrowDown"?(A.preventDefault(),_.length>0&&v(S=>Math.min(S+1,_.length-1))):A.key==="ArrowUp"?(A.preventDefault(),v(S=>Math.max(S-1,0))):A.key==="Enter"?(A.preventDefault(),T(b)):A.key==="Escape"&&i(!1)},placeholder:"Search chats, files, settings, actions…",className:"h-full min-w-0 flex-1 bg-transparent text-[13px] text-ink outline-none placeholder:text-faint",role:"combobox","aria-expanded":"true","aria-controls":"palette-results","aria-activedescendant":_[b]?`palette-${_[b].id}`:void 0}),c.jsx("kbd",{className:"hidden rounded border border-line bg-raised px-1.5 py-0.5 text-[9px] text-faint sm:block",children:"Esc"})]}),c.jsxs("div",{id:"palette-results",role:"listbox",className:"thin-scroll min-h-0 flex-1 overflow-y-auto p-1.5",children:[_.length===0&&c.jsxs("div",{className:"px-4 py-10 text-center",children:[c.jsx("p",{className:"text-[12px] font-medium text-muted",children:"No matches"}),c.jsx("p",{className:"mt-1 text-[10.5px] text-faint",children:"Try a chat title, a file name or “deploy”."})]}),_.map((A,S)=>{const U=A.icon,B=S===0||_[S-1].group!==A.group;return c.jsxs(F.Fragment,{children:[B&&c.jsx("p",{className:"px-2 pb-1 pt-2 text-[9.5px] font-medium uppercase tracking-[0.08em] text-faint",children:A.group}),c.jsxs("button",{type:"button",id:`palette-${A.id}`,"data-palette-index":S,role:"option","aria-selected":b===S,onMouseMove:()=>v(S),onClick:()=>T(S),className:ne("flex w-full items-center gap-2.5 rounded-lg px-2 py-2 text-left transition-colors",b===S?"bg-raised":"hover:bg-raised/60"),children:[c.jsx("span",{className:ne("flex h-6 w-6 shrink-0 items-center justify-center rounded-md border border-line bg-panel",b===S?"text-accent":"text-muted"),children:c.jsx(U,{size:12})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-[11.5px] font-medium text-ink",children:A.label}),A.hint&&c.jsx("span",{className:"mt-0.5 block truncate text-[9.5px] text-faint",children:A.hint})]}),c.jsx(IS,{size:11,className:ne("shrink-0 text-faint transition-opacity",b===S?"opacity-100":"opacity-0")})]})]},A.id)})]}),c.jsxs("div",{className:"flex h-8 shrink-0 items-center justify-between border-t border-line bg-raised/30 px-3 text-[9px] text-faint",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsxs("span",{children:[c.jsx("kbd",{className:"rounded border border-line bg-panel px-1",children:"↑"})," ",c.jsx("kbd",{className:"rounded border border-line bg-panel px-1",children:"↓"})," navigate"]}),c.jsxs("span",{children:[c.jsx("kbd",{className:"rounded border border-line bg-panel px-1",children:"↵"})," open"]})]}),c.jsx("span",{children:"OpenSol"})]})]})]}),document.body)}const Nv=["Waking the local daemon","Unlocking your keys","Loading workspace","Almost there"],r9=["M32 7v8","M32 49v8","M7 32h8","M49 32h8"],s9=["M14.3 14.3l5.5 5.5","M44.2 44.2l5.5 5.5","M14.3 49.7l5.5-5.5","M44.2 19.8l5.5-5.5"];function l9({size:e=64}){return c.jsxs("div",{className:"relative",style:{width:e*1.7,height:e*1.7},children:[c.jsx("span",{className:"absolute inset-0 m-auto animate-ping rounded-full bg-accent/20",style:{width:e*.7,height:e*.7}}),c.jsx("span",{className:"absolute inset-0 m-auto rounded-full bg-accent/10 blur-2xl",style:{width:e*1.4,height:e*1.4}}),c.jsxs("svg",{viewBox:"0 0 64 64",width:e,height:e,fill:"none",className:"splash-sun absolute inset-0 m-auto text-accent",children:[c.jsx("circle",{className:"core",cx:"32",cy:"32",r:"12",fill:"currentColor"}),c.jsxs("g",{className:"rays",stroke:"currentColor",strokeWidth:"4.4",strokeLinecap:"round",children:[r9.map((i,a)=>c.jsx("path",{d:i,className:"ray",pathLength:8,style:{animationDelay:`${.35+a*.07}s`}},i)),s9.map((i,a)=>c.jsx("path",{d:i,className:"ray",pathLength:8,opacity:.55,style:{animationDelay:`${.65+a*.07}s`}},i))]})]})]})}function o9({phase:e,error:i,leaving:a,onRetry:r}){const[o,u]=F.useState(0);return F.useEffect(()=>{if(e==="error")return;const d=window.setInterval(()=>u(p=>Math.min(Nv.length-1,p+1)),650);return()=>window.clearInterval(d)},[e]),c.jsxs("div",{className:ne("splash",a&&"is-leaving"),role:"status","aria-live":"polite",children:[c.jsx("div",{className:"hero-wash pointer-events-none absolute inset-0","aria-hidden":"true"}),c.jsxs("div",{className:"relative flex w-full max-w-[400px] flex-col items-center px-6 text-center",children:[c.jsx(l9,{}),c.jsx("h1",{className:"splash-word -mt-1 text-[26px] font-semibold leading-none tracking-[-0.04em] text-ink","aria-label":"OpenSol",children:"OpenSol".split("").map((d,p)=>c.jsx("span",{style:{animationDelay:`${.5+p*.05}s`},className:p>=4?"text-accent":void 0,children:d},p))}),c.jsx("p",{className:"mt-2 animate-fade text-[11px] font-medium uppercase tracking-[0.22em] text-faint [animation-delay:1s]",children:"by OpenSoft"}),e==="error"?c.jsxs("div",{className:"mt-8 w-full animate-rise",children:[c.jsxs("div",{className:"w-full rounded-xl border border-danger/25 bg-danger/[0.05] px-4 py-3 text-left",children:[c.jsxs("p",{className:"flex items-center gap-1.5 text-[12.5px] font-medium text-ink",children:[c.jsx(id,{size:14,className:"text-danger"}),"The local daemon did not answer"]}),c.jsx("p",{className:"mt-1.5 whitespace-pre-wrap break-words text-[11.5px] leading-relaxed text-muted",children:i})]}),c.jsxs("button",{type:"button",onClick:r,className:"mt-4 inline-flex h-9 items-center gap-1.5 rounded-lg bg-ink px-4 text-[12.5px] font-medium text-panel transition-all hover:opacity-85 active:scale-95",children:[c.jsx(Di,{size:13}),"Try again"]}),c.jsxs("p",{className:"mt-3 text-[11px] leading-relaxed text-faint",children:["Start OpenSol with ",c.jsx("code",{className:"rounded bg-raised px-1 py-0.5 font-mono text-[10.5px]",children:"npm start"})," in the OpenSol folder, then reload this page."]})]}):c.jsxs("div",{className:"mt-9 flex animate-fade flex-col items-center gap-3 [animation-delay:0.8s]",children:[c.jsx("div",{className:"loading-bar h-[2px] w-32 rounded-full"}),c.jsxs("p",{className:"animate-rise text-[12px] text-muted",children:[Nv[o],"…"]},o)]}),c.jsx("div",{className:"mt-12 animate-fade [animation-delay:1.2s]",children:c.jsx(fj,{})})]})]})}const c9=1600;function u9(){const e=Nu(b=>b.phase),i=Nu(b=>b.error),a=Nu(b=>b.boot),r=Ae(b=>b.theme),o=Ae(b=>b.chatFontSize),u=ge(b=>b.mobileSidebarOpen),d=ge(b=>b.setMobileSidebarOpen),p=ge(b=>b.setPaletteOpen);LA();const[g,h]=F.useState("show");F.useEffect(()=>{if(e!=="ready"||g!=="show")return;const b=Nu.getState().startedAt||Date.now(),v=Math.max(0,c9-(Date.now()-b)),y=window.setTimeout(()=>h("leaving"),v);return()=>window.clearTimeout(y)},[e,g]),F.useEffect(()=>{if(g!=="leaving")return;const b=window.setTimeout(()=>h("gone"),520);return()=>window.clearTimeout(b)},[g]),F.useEffect(()=>{a()},[a]),F.useEffect(()=>{e==="ready"&&Yv().then(b=>LI(b.plugins)).catch(()=>{})},[e]),F.useEffect(()=>{const b=document.documentElement,v=window.matchMedia("(prefers-color-scheme: dark)"),y=()=>{const k=cw(r,v.matches);b.dataset.theme=k,b.classList.toggle("dark",Wm(r,v.matches)),document.querySelector('meta[name="theme-color"]')?.setAttribute("content",Wm(r,v.matches)?"#141413":"#ffffff");try{localStorage.setItem("opensol.theme",r)}catch{}};if(y(),r==="system")return v.addEventListener("change",y),()=>v.removeEventListener("change",y)},[r]),F.useEffect(()=>{document.documentElement.style.setProperty("--chat-font-size",`${o}px`)},[o]),F.useEffect(()=>{const b=v=>{const y=v.metaKey||v.ctrlKey,k=v.key.toLowerCase();if(y&&k==="k"){v.preventDefault(),p(!ge.getState().paletteOpen);return}if(y&&!v.shiftKey&&!v.altKey){if(k==="b"){v.preventDefault(),ge.getState().toggleSidebar();return}if(k===","){v.preventDefault(),ge.getState().openSettings("general");return}if(k==="."){v.preventDefault();const N=ge.getState();N.setWorkspaceOpen(!N.workspaceOpen);return}}v.key==="Escape"&&ge.getState().mobileSidebarOpen&&d(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[d,p]);const x=e==="ready";return c.jsxs("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-canvas text-ink",children:[x&&c.jsxs(c.Fragment,{children:[c.jsx(mj,{}),u&&c.jsx("button",{type:"button","aria-label":"Close sidebar",onClick:()=>d(!1),className:"modal-scrim fixed inset-0 z-40 cursor-default bg-black/30 backdrop-blur-[2px] lg:hidden"}),c.jsxs("div",{className:"relative flex min-h-0 min-w-0 flex-1 bg-panel lg:my-1.5 lg:mr-1.5 lg:overflow-hidden lg:rounded-xl lg:border lg:border-line lg:shadow-pill",children:[c.jsx(I6,{}),c.jsx(G6,{})]}),c.jsx(n9,{}),c.jsx(i9,{}),c.jsx(a9,{}),c.jsx(jj,{})]}),c.jsx(Oj,{}),g!=="gone"&&c.jsx(o9,{phase:e,error:i,leaving:g==="leaving",onRetry:()=>{a(!0)}})]})}class d9 extends F.Component{state={error:null,copied:!1};static getDerivedStateFromError(i){return{error:i,copied:!1}}componentDidCatch(i,a){console.error("[maxcode] render error",i,a.componentStack)}details(){const{error:i}=this.state;return`${i?.name}: ${i?.message}
|
|
311
|
-
|
|
312
|
-
${i?.stack??""}`}copy=async()=>{try{await navigator.clipboard.writeText(this.details()),this.setState({copied:!0})}catch{}};render(){return this.state.error?c.jsx("div",{className:"flex h-dvh items-center justify-center bg-panel px-5 text-ink",children:c.jsxs("div",{className:"w-full max-w-[460px]",children:[c.jsx(fl,{size:34}),c.jsx("h1",{className:"mt-4 font-display text-[28px] font-normal tracking-[-0.02em]",children:"Something broke on this screen"}),c.jsx("p",{className:"mt-2 text-[14px] leading-relaxed text-muted",children:"Your conversations are saved on this computer. Try the screen again, or reload the app."}),c.jsx("pre",{className:"thin-scroll mt-4 max-h-40 overflow-auto rounded-xl border border-line bg-canvas p-3 font-mono text-[11.5px] leading-relaxed text-muted",children:this.state.error.message}),c.jsxs("div",{className:"mt-5 flex flex-wrap items-center gap-2",children:[c.jsx("button",{type:"button",onClick:()=>this.setState({error:null}),className:"inline-flex h-9 items-center rounded-full bg-accent px-4 text-[13px] font-medium text-on-accent transition hover:brightness-110",children:"Try again"}),c.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"inline-flex h-9 items-center rounded-full border border-line px-4 text-[13px] font-medium text-ink transition-colors hover:bg-raised",children:"Reload app"}),c.jsx("button",{type:"button",onClick:()=>{this.copy()},className:"inline-flex h-9 items-center rounded-full px-3 text-[13px] text-muted transition-colors hover:text-ink",children:this.state.copied?"Copied":"Copy details"})]})]})}):this.props.children}}const IE=document.getElementById("root");if(!IE)throw new Error("Root element not found.");_S.createRoot(IE).render(c.jsx(F.StrictMode,{children:c.jsx(d9,{children:c.jsx(u9,{})})}));
|