claudekit-cli 3.41.4-dev.13 → 3.41.4-dev.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,284 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/event-BR0sBAas.js","assets/core-B8a0kdWx.js","assets/index-Bnd1bUG3.js"])))=>i.map(i=>d[i]);
2
+ var i5=Object.defineProperty;var o5=(t,e,n)=>e in t?i5(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Km=(t,e,n)=>o5(t,typeof e!="symbol"?e+"":e,n);import{r as g,a as xs,R as a5,g as l5,b as $e}from"./vendor-BkC4CYzM.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();var rv={exports:{}},Dd={};/**
3
+ * @license React
4
+ * react-jsx-runtime.production.min.js
5
+ *
6
+ * Copyright (c) Facebook, Inc. and its affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */var c5=g,d5=Symbol.for("react.element"),u5=Symbol.for("react.fragment"),h5=Object.prototype.hasOwnProperty,f5=c5.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p5={key:!0,ref:!0,__self:!0,__source:!0};function sv(t,e,n){var r,s={},i=null,o=null;n!==void 0&&(i=""+n),e.key!==void 0&&(i=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)h5.call(e,r)&&!p5.hasOwnProperty(r)&&(s[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)s[r]===void 0&&(s[r]=e[r]);return{$$typeof:d5,type:t,key:i,ref:o,props:s,_owner:f5.current}}Dd.Fragment=u5;Dd.jsx=sv;Dd.jsxs=sv;rv.exports=Dd;var c=rv.exports,Fh={},Um=xs;Fh.createRoot=Um.createRoot,Fh.hydrateRoot=Um.hydrateRoot;/**
11
+ * react-router v7.11.0
12
+ *
13
+ * Copyright (c) Remix Software Inc.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE.md file in the root directory of this source tree.
17
+ *
18
+ * @license MIT
19
+ */var iv=t=>{throw TypeError(t)},m5=(t,e,n)=>e.has(t)||iv("Cannot "+n),bu=(t,e,n)=>(m5(t,e,"read from private field"),n?n.call(t):e.get(t)),g5=(t,e,n)=>e.has(t)?iv("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Gm="popstate";function x5(t={}){function e(r,s){let{pathname:i,search:o,hash:a}=r.location;return Ro("",{pathname:i,search:o,hash:a},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function n(r,s){return typeof s=="string"?s:rr(s)}return y5(e,n,null,t)}function Ce(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function We(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function b5(){return Math.random().toString(36).substring(2,10)}function qm(t,e){return{usr:t.state,key:t.key,idx:e}}function Ro(t,e,n=null,r){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?ts(e):e,state:n,key:e&&e.key||r||b5()}}function rr({pathname:t="/",search:e="",hash:n=""}){return e&&e!=="?"&&(t+=e.charAt(0)==="?"?e:"?"+e),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function ts(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substring(n),t=t.substring(0,n));let r=t.indexOf("?");r>=0&&(e.search=t.substring(r),t=t.substring(0,r)),t&&(e.pathname=t)}return e}function y5(t,e,n,r={}){let{window:s=document.defaultView,v5Compat:i=!1}=r,o=s.history,a="POP",l=null,d=u();d==null&&(d=0,o.replaceState({...o.state,idx:d},""));function u(){return(o.state||{idx:null}).idx}function h(){a="POP";let b=u(),y=b==null?null:b-d;d=b,l&&l({action:a,location:x.location,delta:y})}function f(b,y){a="PUSH";let k=Ro(x.location,b,y);d=u()+1;let v=qm(k,d),w=x.createHref(k);try{o.pushState(v,"",w)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;s.location.assign(w)}i&&l&&l({action:a,location:x.location,delta:1})}function p(b,y){a="REPLACE";let k=Ro(x.location,b,y);d=u();let v=qm(k,d),w=x.createHref(k);o.replaceState(v,"",w),i&&l&&l({action:a,location:x.location,delta:0})}function m(b){return ov(b)}let x={get action(){return a},get location(){return t(s,o)},listen(b){if(l)throw new Error("A history only accepts one active listener");return s.addEventListener(Gm,h),l=b,()=>{s.removeEventListener(Gm,h),l=null}},createHref(b){return e(s,b)},createURL:m,encodeLocation(b){let y=m(b);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:f,replace:p,go(b){return o.go(b)}};return x}function ov(t,e=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),Ce(n,"No window.location.(origin|href) available to create URL");let r=typeof t=="string"?t:rr(t);return r=r.replace(/ $/,"%20"),!e&&r.startsWith("//")&&(r=n+r),new URL(r,n)}var fo,Ym=class{constructor(t){if(g5(this,fo,new Map),t)for(let[e,n]of t)this.set(e,n)}get(t){if(bu(this,fo).has(t))return bu(this,fo).get(t);if(t.defaultValue!==void 0)return t.defaultValue;throw new Error("No value found for context")}set(t,e){bu(this,fo).set(t,e)}};fo=new WeakMap;var v5=new Set(["lazy","caseSensitive","path","id","index","children"]);function w5(t){return v5.has(t)}var k5=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function S5(t){return k5.has(t)}function C5(t){return t.index===!0}function Io(t,e,n=[],r={},s=!1){return t.map((i,o)=>{let a=[...n,String(o)],l=typeof i.id=="string"?i.id:a.join("-");if(Ce(i.index!==!0||!i.children,"Cannot specify children on an index route"),Ce(s||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),C5(i)){let d={...i,id:l};return r[l]=Xm(d,e(d)),d}else{let d={...i,id:l,children:void 0};return r[l]=Xm(d,e(d)),i.children&&(d.children=Io(i.children,e,a,r,s)),d}})}function Xm(t,e){return Object.assign(t,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...t.lazy,...e.lazy}}:{}})}function $r(t,e,n="/"){return po(t,e,n,!1)}function po(t,e,n,r){let s=typeof e=="string"?ts(e):e,i=yn(s.pathname||"/",n);if(i==null)return null;let o=av(t);N5(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let d=$5(i);a=R5(o[l],d,r)}return a}function j5(t,e){let{route:n,pathname:r,params:s}=t;return{id:n.id,pathname:r,params:s,data:e[n.id],loaderData:e[n.id],handle:n.handle}}function av(t,e=[],n=[],r="",s=!1){let i=(o,a,l=s,d)=>{let u={relativePath:d===void 0?o.path||"":d,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};if(u.relativePath.startsWith("/")){if(!u.relativePath.startsWith(r)&&l)return;Ce(u.relativePath.startsWith(r),`Absolute route path "${u.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),u.relativePath=u.relativePath.slice(r.length)}let h=er([r,u.relativePath]),f=n.concat(u);o.children&&o.children.length>0&&(Ce(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${h}".`),av(o.children,e,f,h,l)),!(o.path==null&&!o.index)&&e.push({path:h,score:T5(h,o.index),routesMeta:f})};return t.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))i(o,a);else for(let l of lv(o.path))i(o,a,!0,l)}),e}function lv(t){let e=t.split("/");if(e.length===0)return[];let[n,...r]=e,s=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return s?[i,""]:[i];let o=lv(r.join("/")),a=[];return a.push(...o.map(l=>l===""?i:[i,l].join("/"))),s&&a.push(...o),a.map(l=>t.startsWith("/")&&l===""?"/":l)}function N5(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:L5(e.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var P5=/^:[\w-]+$/,E5=3,O5=2,M5=1,D5=10,A5=-2,Qm=t=>t==="*";function T5(t,e){let n=t.split("/"),r=n.length;return n.some(Qm)&&(r+=A5),e&&(r+=O5),n.filter(s=>!Qm(s)).reduce((s,i)=>s+(P5.test(i)?E5:i===""?M5:D5),r)}function L5(t,e){return t.length===e.length&&t.slice(0,-1).every((r,s)=>r===e[s])?t[t.length-1]-e[e.length-1]:0}function R5(t,e,n=!1){let{routesMeta:r}=t,s={},i="/",o=[];for(let a=0;a<r.length;++a){let l=r[a],d=a===r.length-1,u=i==="/"?e:e.slice(i.length)||"/",h=Bc({path:l.relativePath,caseSensitive:l.caseSensitive,end:d},u),f=l.route;if(!h&&d&&n&&!r[r.length-1].route.index&&(h=Bc({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},u)),!h)return null;Object.assign(s,h.params),o.push({params:s,pathname:er([i,h.pathname]),pathnameBase:F5(er([i,h.pathnameBase])),route:f}),h.pathnameBase!=="/"&&(i=er([i,h.pathnameBase]))}return o}function Bc(t,e){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[n,r]=I5(t.path,t.caseSensitive,t.end),s=e.match(n);if(!s)return null;let i=s[0],o=i.replace(/(.)\/+$/,"$1"),a=s.slice(1);return{params:r.reduce((d,{paramName:u,isOptional:h},f)=>{if(u==="*"){let m=a[f]||"";o=i.slice(0,i.length-m.length).replace(/(.)\/+$/,"$1")}const p=a[f];return h&&!p?d[u]=void 0:d[u]=(p||"").replace(/%2F/g,"/"),d},{}),pathname:i,pathnameBase:o,pattern:t}}function I5(t,e=!1,n=!0){We(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let r=[],s="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(r.push({paramName:"*"}),s+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?s+="\\/*$":t!==""&&t!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,e?void 0:"i"),r]}function $5(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return We(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),t}}function yn(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,r=t.charAt(n);return r&&r!=="/"?null:t.slice(n)||"/"}function B5({basename:t,pathname:e}){return e==="/"?t:er([t,e])}var cv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ad=t=>cv.test(t);function _5(t,e="/"){let{pathname:n,search:r="",hash:s=""}=typeof t=="string"?ts(t):t,i;if(n)if(Ad(n))i=n;else{if(n.includes("//")){let o=n;n=n.replace(/\/\/+/g,"/"),We(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${n}`)}n.startsWith("/")?i=Jm(n.substring(1),"/"):i=Jm(n,e)}else i=e;return{pathname:i,search:z5(r),hash:H5(s)}}function Jm(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(s=>{s===".."?n.length>1&&n.pop():s!=="."&&n.push(s)}),n.length>1?n.join("/"):"/"}function yu(t,e,n,r){return`Cannot include a '${t}' character in a manually specified \`to.${e}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function dv(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function Td(t){let e=dv(t);return e.map((n,r)=>r===e.length-1?n.pathname:n.pathnameBase)}function Ld(t,e,n,r=!1){let s;typeof t=="string"?s=ts(t):(s={...t},Ce(!s.pathname||!s.pathname.includes("?"),yu("?","pathname","search",s)),Ce(!s.pathname||!s.pathname.includes("#"),yu("#","pathname","hash",s)),Ce(!s.search||!s.search.includes("#"),yu("#","search","hash",s)));let i=t===""||s.pathname==="",o=i?"/":s.pathname,a;if(o==null)a=n;else{let h=e.length-1;if(!r&&o.startsWith("..")){let f=o.split("/");for(;f[0]==="..";)f.shift(),h-=1;s.pathname=f.join("/")}a=h>=0?e[h]:"/"}let l=_5(s,a),d=o&&o!=="/"&&o.endsWith("/"),u=(i||o===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(d||u)&&(l.pathname+="/"),l}var er=t=>t.join("/").replace(/\/\/+/g,"/"),F5=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),z5=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,H5=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,Ja=class{constructor(t,e,n,r=!1){this.status=t,this.statusText=e||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function $o(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function Za(t){return t.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var uv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function hv(t,e){let n=t;if(typeof n!="string"||!cv.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,s=!1;if(uv)try{let i=new URL(window.location.href),o=n.startsWith("//")?new URL(i.protocol+n):new URL(n),a=yn(o.pathname,e);o.origin===i.origin&&a!=null?n=a+o.search+o.hash:s=!0}catch{We(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:s,to:n}}var Hr=Symbol("Uninstrumented");function V5(t,e){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};t.forEach(s=>s({id:e.id,index:e.index,path:e.path,instrument(i){let o=Object.keys(n);for(let a of o)i[a]&&n[a].push(i[a])}}));let r={};if(typeof e.lazy=="function"&&n.lazy.length>0){let s=Js(n.lazy,e.lazy,()=>{});s&&(r.lazy=s)}if(typeof e.lazy=="object"){let s=e.lazy;["middleware","loader","action"].forEach(i=>{let o=s[i],a=n[`lazy.${i}`];if(typeof o=="function"&&a.length>0){let l=Js(a,o,()=>{});l&&(r.lazy=Object.assign(r.lazy||{},{[i]:l}))}})}return["loader","action"].forEach(s=>{let i=e[s];if(typeof i=="function"&&n[s].length>0){let o=i[Hr]??i,a=Js(n[s],o,(...l)=>Zm(l[0]));a&&(a[Hr]=o,r[s]=a)}}),e.middleware&&e.middleware.length>0&&n.middleware.length>0&&(r.middleware=e.middleware.map(s=>{let i=s[Hr]??s,o=Js(n.middleware,i,(...a)=>Zm(a[0]));return o?(o[Hr]=i,o):s})),r}function W5(t,e){let n={navigate:[],fetch:[]};if(e.forEach(r=>r({instrument(s){let i=Object.keys(s);for(let o of i)s[o]&&n[o].push(s[o])}})),n.navigate.length>0){let r=t.navigate[Hr]??t.navigate,s=Js(n.navigate,r,(...i)=>{let[o,a]=i;return{to:typeof o=="number"||typeof o=="string"?o:o?rr(o):".",...eg(t,a??{})}});s&&(s[Hr]=r,t.navigate=s)}if(n.fetch.length>0){let r=t.fetch[Hr]??t.fetch,s=Js(n.fetch,r,(...i)=>{let[o,,a,l]=i;return{href:a??".",fetcherKey:o,...eg(t,l??{})}});s&&(s[Hr]=r,t.fetch=s)}return t}function Js(t,e,n){return t.length===0?null:async(...r)=>{let s=await fv(t,n(...r),()=>e(...r),t.length-1);if(s.type==="error")throw s.value;return s.value}}async function fv(t,e,n,r){let s=t[r],i;if(s){let o,a=async()=>(o?console.error("You cannot call instrumented handlers more than once"):o=fv(t,e,n,r-1),i=await o,Ce(i,"Expected a result"),i.type==="error"&&i.value instanceof Error?{status:"error",error:i.value}:{status:"success",error:void 0});try{await s(a,e)}catch(l){console.error("An instrumentation function threw an error:",l)}o||await a(),await o}else try{i={type:"success",value:await n()}}catch(o){i={type:"error",value:o}}return i||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Zm(t){let{request:e,context:n,params:r,unstable_pattern:s}=t;return{request:K5(e),params:{...r},unstable_pattern:s,context:U5(n)}}function eg(t,e){return{currentUrl:rr(t.state.location),..."formMethod"in e?{formMethod:e.formMethod}:{},..."formEncType"in e?{formEncType:e.formEncType}:{},..."formData"in e?{formData:e.formData}:{},..."body"in e?{body:e.body}:{}}}function K5(t){return{method:t.method,url:t.url,headers:{get:(...e)=>t.headers.get(...e)}}}function U5(t){if(q5(t)){let e={...t};return Object.freeze(e),e}else return{get:e=>t.get(e)}}var G5=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function q5(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||e===null||Object.getOwnPropertyNames(e).sort().join("\0")===G5}var pv=["POST","PUT","PATCH","DELETE"],Y5=new Set(pv),X5=["GET",...pv],Q5=new Set(X5),mv=new Set([301,302,303,307,308]),J5=new Set([307,308]),vu={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Z5={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ji={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ej=t=>({hasErrorBoundary:!!t.hasErrorBoundary}),gv="remix-router-transitions",xv=Symbol("ResetLoaderData");function tj(t){const e=t.window?t.window:typeof window<"u"?window:void 0,n=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u";Ce(t.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=t.hydrationRouteProperties||[],s=t.mapRouteProperties||ej,i=s;if(t.unstable_instrumentations){let T=t.unstable_instrumentations;i=B=>({...s(B),...V5(T.map(H=>H.route).filter(Boolean),B)})}let o={},a=Io(t.routes,i,void 0,o),l,d=t.basename||"/";d.startsWith("/")||(d=`/${d}`);let u=t.dataStrategy||oj,h={...t.future},f=null,p=new Set,m=null,x=null,b=null,y=t.hydrationData!=null,k=$r(a,t.history.location,d),v=!1,w=null,C;if(k==null&&!t.patchRoutesOnNavigation){let T=dn(404,{pathname:t.history.location.pathname}),{matches:B,route:H}=Ml(a);C=!0,k=B,w={[H.id]:T}}else if(k&&!t.hydrationData&&Ze(k,a,t.history.location.pathname).active&&(k=null),k)if(k.some(T=>T.route.lazy))C=!1;else if(!k.some(T=>up(T.route)))C=!0;else{let T=t.hydrationData?t.hydrationData.loaderData:null,B=t.hydrationData?t.hydrationData.errors:null;if(B){let H=k.findIndex(X=>B[X.route.id]!==void 0);C=k.slice(0,H+1).every(X=>!Hh(X.route,T,B))}else C=k.every(H=>!Hh(H.route,T,B))}else{C=!1,k=[];let T=Ze(null,a,t.history.location.pathname);T.active&&T.matches&&(v=!0,k=T.matches)}let j,S={historyAction:t.history.action,location:t.history.location,matches:k,initialized:C,navigation:vu,restoreScrollPosition:t.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:t.hydrationData&&t.hydrationData.loaderData||{},actionData:t.hydrationData&&t.hydrationData.actionData||null,errors:t.hydrationData&&t.hydrationData.errors||w,fetchers:new Map,blockers:new Map},E="POP",O=null,A=!1,P,L=!1,_=new Map,N=null,M=!1,D=!1,I=new Set,R=new Map,$=0,V=-1,W=new Map,F=new Set,Y=new Map,q=new Map,ne=new Set,ue=new Map,ae,z=null;function te(){if(f=t.history.listen(({action:T,location:B,delta:H})=>{if(ae){ae(),ae=void 0;return}We(ue.size===0||H!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let X=Vs({currentLocation:S.location,nextLocation:B,historyAction:T});if(X&&H!=null){let Z=new Promise(pe=>{ae=pe});t.history.go(H*-1),Er(X,{state:"blocked",location:B,proceed(){Er(X,{state:"proceeding",proceed:void 0,reset:void 0,location:B}),Z.then(()=>t.history.go(H))},reset(){let pe=new Map(S.blockers);pe.set(X,Ji),ee({blockers:pe})}}),O?.resolve(),O=null;return}return oe(T,B)}),n){Cj(e,_);let T=()=>jj(e,_);e.addEventListener("pagehide",T),N=()=>e.removeEventListener("pagehide",T)}return S.initialized||oe("POP",S.location,{initialHydration:!0}),j}function J(){f&&f(),N&&N(),p.clear(),P&&P.abort(),S.fetchers.forEach((T,B)=>Nr(B)),S.blockers.forEach((T,B)=>Hs(B))}function he(T){return p.add(T),()=>p.delete(T)}function ee(T,B={}){T.matches&&(T.matches=T.matches.map(Z=>{let pe=o[Z.route.id],le=Z.route;return le.element!==pe.element||le.errorElement!==pe.errorElement||le.hydrateFallbackElement!==pe.hydrateFallbackElement?{...Z,route:pe}:Z})),S={...S,...T};let H=[],X=[];S.fetchers.forEach((Z,pe)=>{Z.state==="idle"&&(ne.has(pe)?H.push(pe):X.push(pe))}),ne.forEach(Z=>{!S.fetchers.has(Z)&&!R.has(Z)&&H.push(Z)}),[...p].forEach(Z=>Z(S,{deletedFetchers:H,newErrors:T.errors??null,viewTransitionOpts:B.viewTransitionOpts,flushSync:B.flushSync===!0})),H.forEach(Z=>Nr(Z)),X.forEach(Z=>S.fetchers.delete(Z))}function fe(T,B,{flushSync:H}={}){let X=S.actionData!=null&&S.navigation.formMethod!=null&&Ct(S.navigation.formMethod)&&S.navigation.state==="loading"&&T.state?._isRedirect!==!0,Z;B.actionData?Object.keys(B.actionData).length>0?Z=B.actionData:Z=null:X?Z=S.actionData:Z=null;let pe=B.loaderData?dg(S.loaderData,B.loaderData,B.matches||[],B.errors):S.loaderData,le=S.blockers;le.size>0&&(le=new Map(le),le.forEach((we,xe)=>le.set(xe,Ji)));let me=M?!1:gt(T,B.matches||S.matches),ge=A===!0||S.navigation.formMethod!=null&&Ct(S.navigation.formMethod)&&T.state?._isRedirect!==!0;l&&(a=l,l=void 0),M||E==="POP"||(E==="PUSH"?t.history.push(T,T.state):E==="REPLACE"&&t.history.replace(T,T.state));let be;if(E==="POP"){let we=_.get(S.location.pathname);we&&we.has(T.pathname)?be={currentLocation:S.location,nextLocation:T}:_.has(T.pathname)&&(be={currentLocation:T,nextLocation:S.location})}else if(L){let we=_.get(S.location.pathname);we?we.add(T.pathname):(we=new Set([T.pathname]),_.set(S.location.pathname,we)),be={currentLocation:S.location,nextLocation:T}}ee({...B,actionData:Z,loaderData:pe,historyAction:E,location:T,initialized:!0,navigation:vu,revalidation:"idle",restoreScrollPosition:me,preventScrollReset:ge,blockers:le},{viewTransitionOpts:be,flushSync:H===!0}),E="POP",A=!1,L=!1,M=!1,D=!1,O?.resolve(),O=null,z?.resolve(),z=null}async function U(T,B){if(O?.resolve(),O=null,typeof T=="number"){O||(O=pg());let De=O.promise;return t.history.go(T),De}let H=zh(S.location,S.matches,d,T,B?.fromRouteId,B?.relative),{path:X,submission:Z,error:pe}=tg(!1,H,B),le=S.location,me=Ro(S.location,X,B&&B.state);me={...me,...t.history.encodeLocation(me)};let ge=B&&B.replace!=null?B.replace:void 0,be="PUSH";ge===!0?be="REPLACE":ge===!1||Z!=null&&Ct(Z.formMethod)&&Z.formAction===S.location.pathname+S.location.search&&(be="REPLACE");let we=B&&"preventScrollReset"in B?B.preventScrollReset===!0:void 0,xe=(B&&B.flushSync)===!0,Me=Vs({currentLocation:le,nextLocation:me,historyAction:be});if(Me){Er(Me,{state:"blocked",location:me,proceed(){Er(Me,{state:"proceeding",proceed:void 0,reset:void 0,location:me}),U(T,B)},reset(){let De=new Map(S.blockers);De.set(Me,Ji),ee({blockers:De})}});return}await oe(be,me,{submission:Z,pendingError:pe,preventScrollReset:we,replace:B&&B.replace,enableViewTransition:B&&B.viewTransition,flushSync:xe,callSiteDefaultShouldRevalidate:B&&B.unstable_defaultShouldRevalidate})}function Q(){z||(z=pg()),St(),ee({revalidation:"loading"});let T=z.promise;return S.navigation.state==="submitting"?T:S.navigation.state==="idle"?(oe(S.historyAction,S.location,{startUninterruptedRevalidation:!0}),T):(oe(E||S.historyAction,S.navigation.location,{overrideNavigation:S.navigation,enableViewTransition:L===!0}),T)}async function oe(T,B,H){P&&P.abort(),P=null,E=T,M=(H&&H.startUninterruptedRevalidation)===!0,on(S.location,S.matches),A=(H&&H.preventScrollReset)===!0,L=(H&&H.enableViewTransition)===!0;let X=l||a,Z=H&&H.overrideNavigation,pe=H?.initialHydration&&S.matches&&S.matches.length>0&&!v?S.matches:$r(X,B,d),le=(H&&H.flushSync)===!0;if(pe&&S.initialized&&!D&&pj(S.location,B)&&!(H&&H.submission&&Ct(H.submission.formMethod))){fe(B,{matches:pe},{flushSync:le});return}let me=Ze(pe,X,B.pathname);if(me.active&&me.matches&&(pe=me.matches),!pe){let{error:et,notFoundMatches:bt,route:Le}=Ge(B.pathname);fe(B,{matches:bt,loaderData:{},errors:{[Le.id]:et}},{flushSync:le});return}P=new AbortController;let ge=Ys(t.history,B,P.signal,H&&H.submission),be=t.getContext?await t.getContext():new Ym,we;if(H&&H.pendingError)we=[Br(pe).route.id,{type:"error",error:H.pendingError}];else if(H&&H.submission&&Ct(H.submission.formMethod)){let et=await ke(ge,B,H.submission,pe,be,me.active,H&&H.initialHydration===!0,{replace:H.replace,flushSync:le});if(et.shortCircuited)return;if(et.pendingActionResult){let[bt,Le]=et.pendingActionResult;if(Yt(Le)&&$o(Le.error)&&Le.error.status===404){P=null,fe(B,{matches:et.matches,loaderData:{},errors:{[bt]:Le.error}});return}}pe=et.matches||pe,we=et.pendingActionResult,Z=wu(B,H.submission),le=!1,me.active=!1,ge=Ys(t.history,ge.url,ge.signal)}let{shortCircuited:xe,matches:Me,loaderData:De,errors:st}=await Ke(ge,B,pe,be,me.active,Z,H&&H.submission,H&&H.fetcherSubmission,H&&H.replace,H&&H.initialHydration===!0,le,we,H&&H.callSiteDefaultShouldRevalidate);xe||(P=null,fe(B,{matches:Me||pe,...ug(we),loaderData:De,errors:st}))}async function ke(T,B,H,X,Z,pe,le,me={}){St();let ge=kj(B,H);if(ee({navigation:ge},{flushSync:me.flushSync===!0}),pe){let xe=await xt(X,B.pathname,T.signal);if(xe.type==="aborted")return{shortCircuited:!0};if(xe.type==="error"){if(xe.partialMatches.length===0){let{matches:De,route:st}=Ml(a);return{matches:De,pendingActionResult:[st.id,{type:"error",error:xe.error}]}}let Me=Br(xe.partialMatches).route.id;return{matches:xe.partialMatches,pendingActionResult:[Me,{type:"error",error:xe.error}]}}else if(xe.matches)X=xe.matches;else{let{notFoundMatches:Me,error:De,route:st}=Ge(B.pathname);return{matches:Me,pendingActionResult:[st.id,{type:"error",error:De}]}}}let be,we=bc(X,B);if(!we.route.action&&!we.route.lazy)be={type:"error",error:dn(405,{method:T.method,pathname:B.pathname,routeId:we.route.id})};else{let xe=oi(i,o,T,X,we,le?[]:r,Z),Me=await rn(T,xe,Z,null);if(be=Me[we.route.id],!be){for(let De of X)if(Me[De.route.id]){be=Me[De.route.id];break}}if(T.signal.aborted)return{shortCircuited:!0}}if(bs(be)){let xe;return me&&me.replace!=null?xe=me.replace:xe=ag(be.response.headers.get("Location"),new URL(T.url),d)===S.location.pathname+S.location.search,await Rt(T,be,!0,{submission:H,replace:xe}),{shortCircuited:!0}}if(Yt(be)){let xe=Br(X,we.route.id);return(me&&me.replace)!==!0&&(E="PUSH"),{matches:X,pendingActionResult:[xe.route.id,be,we.route.id]}}return{matches:X,pendingActionResult:[we.route.id,be]}}async function Ke(T,B,H,X,Z,pe,le,me,ge,be,we,xe,Me){let De=pe||wu(B,le),st=le||me||fg(De),et=!M&&!be;if(Z){if(et){let ut=ct(xe);ee({navigation:De,...ut!==void 0?{actionData:ut}:{}},{flushSync:we})}let Pe=await xt(H,B.pathname,T.signal);if(Pe.type==="aborted")return{shortCircuited:!0};if(Pe.type==="error"){if(Pe.partialMatches.length===0){let{matches:Or,route:hr}=Ml(a);return{matches:Or,loaderData:{},errors:{[hr.id]:Pe.error}}}let ut=Br(Pe.partialMatches).route.id;return{matches:Pe.partialMatches,loaderData:{},errors:{[ut]:Pe.error}}}else if(Pe.matches)H=Pe.matches;else{let{error:ut,notFoundMatches:Or,route:hr}=Ge(B.pathname);return{matches:Or,loaderData:{},errors:{[hr.id]:ut}}}}let bt=l||a,{dsMatches:Le,revalidatingFetchers:Ot}=ng(T,X,i,o,t.history,S,H,st,B,be?[]:r,be===!0,D,I,ne,Y,F,bt,d,t.patchRoutesOnNavigation!=null,xe,Me);if(V=++$,!t.dataStrategy&&!Le.some(Pe=>Pe.shouldLoad)&&!Le.some(Pe=>Pe.route.middleware&&Pe.route.middleware.length>0)&&Ot.length===0){let Pe=is();return fe(B,{matches:H,loaderData:{},errors:xe&&Yt(xe[1])?{[xe[0]]:xe[1].error}:null,...ug(xe),...Pe?{fetchers:new Map(S.fetchers)}:{}},{flushSync:we}),{shortCircuited:!0}}if(et){let Pe={};if(!Z){Pe.navigation=De;let ut=ct(xe);ut!==void 0&&(Pe.actionData=ut)}Ot.length>0&&(Pe.fetchers=Ue(Ot)),ee(Pe,{flushSync:we})}Ot.forEach(Pe=>{Wt(Pe.key),Pe.controller&&R.set(Pe.key,Pe.controller)});let dr=()=>Ot.forEach(Pe=>Wt(Pe.key));P&&P.signal.addEventListener("abort",dr);let{loaderResults:os,fetcherResults:zn}=await Cn(Le,Ot,T,X);if(T.signal.aborted)return{shortCircuited:!0};P&&P.signal.removeEventListener("abort",dr),Ot.forEach(Pe=>R.delete(Pe.key));let ln=Dl(os);if(ln)return await Rt(T,ln.result,!0,{replace:ge}),{shortCircuited:!0};if(ln=Dl(zn),ln)return F.add(ln.key),await Rt(T,ln.result,!0,{replace:ge}),{shortCircuited:!0};let{loaderData:Qi,errors:as}=cg(S,H,os,xe,Ot,zn);be&&S.errors&&(as={...S.errors,...as});let ur=is(),ls=Fs(V),Ws=ur||ls||Ot.length>0;return{matches:H,loaderData:Qi,errors:as,...Ws?{fetchers:new Map(S.fetchers)}:{}}}function ct(T){if(T&&!Yt(T[1]))return{[T[0]]:T[1].data};if(S.actionData)return Object.keys(S.actionData).length===0?null:S.actionData}function Ue(T){return T.forEach(B=>{let H=S.fetchers.get(B.key),X=Zi(void 0,H?H.data:void 0);S.fetchers.set(B.key,X)}),new Map(S.fetchers)}async function tn(T,B,H,X){Wt(T);let Z=(X&&X.flushSync)===!0,pe=l||a,le=zh(S.location,S.matches,d,H,B,X?.relative),me=$r(pe,le,d),ge=Ze(me,pe,le);if(ge.active&&ge.matches&&(me=ge.matches),!me){pt(T,B,dn(404,{pathname:le}),{flushSync:Z});return}let{path:be,submission:we,error:xe}=tg(!0,le,X);if(xe){pt(T,B,xe,{flushSync:Z});return}let Me=t.getContext?await t.getContext():new Ym,De=(X&&X.preventScrollReset)===!0;if(we&&Ct(we.formMethod)){await nn(T,B,be,me,Me,ge.active,Z,De,we,X&&X.unstable_defaultShouldRevalidate);return}Y.set(T,{routeId:B,path:be}),await Fn(T,B,be,me,Me,ge.active,Z,De,we)}async function nn(T,B,H,X,Z,pe,le,me,ge,be){St(),Y.delete(T);let we=S.fetchers.get(T);rt(T,Sj(ge,we),{flushSync:le});let xe=new AbortController,Me=Ys(t.history,H,xe.signal,ge);if(pe){let Fe=await xt(X,new URL(Me.url).pathname,Me.signal,T);if(Fe.type==="aborted")return;if(Fe.type==="error"){pt(T,B,Fe.error,{flushSync:le});return}else if(Fe.matches)X=Fe.matches;else{pt(T,B,dn(404,{pathname:H}),{flushSync:le});return}}let De=bc(X,H);if(!De.route.action&&!De.route.lazy){let Fe=dn(405,{method:ge.formMethod,pathname:H,routeId:B});pt(T,B,Fe,{flushSync:le});return}R.set(T,xe);let st=$,et=oi(i,o,Me,X,De,r,Z),bt=await rn(Me,et,Z,T),Le=bt[De.route.id];if(!Le){for(let Fe of et)if(bt[Fe.route.id]){Le=bt[Fe.route.id];break}}if(Me.signal.aborted){R.get(T)===xe&&R.delete(T);return}if(ne.has(T)){if(bs(Le)||Yt(Le)){rt(T,gr(void 0));return}}else{if(bs(Le))if(R.delete(T),V>st){rt(T,gr(void 0));return}else return F.add(T),rt(T,Zi(ge)),Rt(Me,Le,!1,{fetcherSubmission:ge,preventScrollReset:me});if(Yt(Le)){pt(T,B,Le.error);return}}let Ot=S.navigation.location||S.location,dr=Ys(t.history,Ot,xe.signal),os=l||a,zn=S.navigation.state!=="idle"?$r(os,S.navigation.location,d):S.matches;Ce(zn,"Didn't find any matches after fetcher action");let ln=++$;W.set(T,ln);let Qi=Zi(ge,Le.data);S.fetchers.set(T,Qi);let{dsMatches:as,revalidatingFetchers:ur}=ng(dr,Z,i,o,t.history,S,zn,ge,Ot,r,!1,D,I,ne,Y,F,os,d,t.patchRoutesOnNavigation!=null,[De.route.id,Le],be);ur.filter(Fe=>Fe.key!==T).forEach(Fe=>{let Ks=Fe.key,El=S.fetchers.get(Ks),Ol=Zi(void 0,El?El.data:void 0);S.fetchers.set(Ks,Ol),Wt(Ks),Fe.controller&&R.set(Ks,Fe.controller)}),ee({fetchers:new Map(S.fetchers)});let ls=()=>ur.forEach(Fe=>Wt(Fe.key));xe.signal.addEventListener("abort",ls);let{loaderResults:Ws,fetcherResults:Pe}=await Cn(as,ur,dr,Z);if(xe.signal.aborted)return;if(xe.signal.removeEventListener("abort",ls),W.delete(T),R.delete(T),ur.forEach(Fe=>R.delete(Fe.key)),S.fetchers.has(T)){let Fe=gr(Le.data);S.fetchers.set(T,Fe)}let ut=Dl(Ws);if(ut)return Rt(dr,ut.result,!1,{preventScrollReset:me});if(ut=Dl(Pe),ut)return F.add(ut.key),Rt(dr,ut.result,!1,{preventScrollReset:me});let{loaderData:Or,errors:hr}=cg(S,zn,Ws,void 0,ur,Pe);Fs(ln),S.navigation.state==="loading"&&ln>V?(Ce(E,"Expected pending action"),P&&P.abort(),fe(S.navigation.location,{matches:zn,loaderData:Or,errors:hr,fetchers:new Map(S.fetchers)})):(ee({errors:hr,loaderData:dg(S.loaderData,Or,zn,hr),fetchers:new Map(S.fetchers)}),D=!1)}async function Fn(T,B,H,X,Z,pe,le,me,ge){let be=S.fetchers.get(T);rt(T,Zi(ge,be?be.data:void 0),{flushSync:le});let we=new AbortController,xe=Ys(t.history,H,we.signal);if(pe){let Le=await xt(X,new URL(xe.url).pathname,xe.signal,T);if(Le.type==="aborted")return;if(Le.type==="error"){pt(T,B,Le.error,{flushSync:le});return}else if(Le.matches)X=Le.matches;else{pt(T,B,dn(404,{pathname:H}),{flushSync:le});return}}let Me=bc(X,H);R.set(T,we);let De=$,st=oi(i,o,xe,X,Me,r,Z),bt=(await rn(xe,st,Z,T))[Me.route.id];if(R.get(T)===we&&R.delete(T),!xe.signal.aborted){if(ne.has(T)){rt(T,gr(void 0));return}if(bs(bt))if(V>De){rt(T,gr(void 0));return}else{F.add(T),await Rt(xe,bt,!1,{preventScrollReset:me});return}if(Yt(bt)){pt(T,B,bt.error);return}rt(T,gr(bt.data))}}async function Rt(T,B,H,{submission:X,fetcherSubmission:Z,preventScrollReset:pe,replace:le}={}){H||(O?.resolve(),O=null),B.response.headers.has("X-Remix-Revalidate")&&(D=!0);let me=B.response.headers.get("Location");Ce(me,"Expected a Location header on the redirect Response"),me=ag(me,new URL(T.url),d);let ge=Ro(S.location,me,{_isRedirect:!0});if(n){let st=!1;if(B.response.headers.has("X-Remix-Reload-Document"))st=!0;else if(Ad(me)){const et=ov(me,!0);st=et.origin!==e.location.origin||yn(et.pathname,d)==null}if(st){le?e.location.replace(me):e.location.assign(me);return}}P=null;let be=le===!0||B.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:we,formAction:xe,formEncType:Me}=S.navigation;!X&&!Z&&we&&xe&&Me&&(X=fg(S.navigation));let De=X||Z;if(J5.has(B.response.status)&&De&&Ct(De.formMethod))await oe(be,ge,{submission:{...De,formAction:me},preventScrollReset:pe||A,enableViewTransition:H?L:void 0});else{let st=wu(ge,X);await oe(be,ge,{overrideNavigation:st,fetcherSubmission:Z,preventScrollReset:pe||A,enableViewTransition:H?L:void 0})}}async function rn(T,B,H,X){let Z,pe={};try{Z=await lj(u,T,B,X,H,!1)}catch(le){return B.filter(me=>me.shouldLoad).forEach(me=>{pe[me.route.id]={type:"error",error:le}}),pe}if(T.signal.aborted)return pe;if(!Ct(T.method))for(let le of B){if(Z[le.route.id]?.type==="error")break;!Z.hasOwnProperty(le.route.id)&&!S.loaderData.hasOwnProperty(le.route.id)&&(!S.errors||!S.errors.hasOwnProperty(le.route.id))&&le.shouldCallHandler()&&(Z[le.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${le.route.id}`)})}for(let[le,me]of Object.entries(Z))if(bj(me)){let ge=me.result;pe[le]={type:"redirect",response:hj(ge,T,le,B,d)}}else pe[le]=await uj(me);return pe}async function Cn(T,B,H,X){let Z=rn(H,T,X,null),pe=Promise.all(B.map(async ge=>{if(ge.matches&&ge.match&&ge.request&&ge.controller){let we=(await rn(ge.request,ge.matches,X,ge.key))[ge.match.route.id];return{[ge.key]:we}}else return Promise.resolve({[ge.key]:{type:"error",error:dn(404,{pathname:ge.path})}})})),le=await Z,me=(await pe).reduce((ge,be)=>Object.assign(ge,be),{});return{loaderResults:le,fetcherResults:me}}function St(){D=!0,Y.forEach((T,B)=>{R.has(B)&&I.add(B),Wt(B)})}function rt(T,B,H={}){S.fetchers.set(T,B),ee({fetchers:new Map(S.fetchers)},{flushSync:(H&&H.flushSync)===!0})}function pt(T,B,H,X={}){let Z=Br(S.matches,B);Nr(T),ee({errors:{[Z.route.id]:H},fetchers:new Map(S.fetchers)},{flushSync:(X&&X.flushSync)===!0})}function cr(T){return q.set(T,(q.get(T)||0)+1),ne.has(T)&&ne.delete(T),S.fetchers.get(T)||Z5}function sn(T,B){Wt(T,B?.reason),rt(T,gr(null))}function Nr(T){let B=S.fetchers.get(T);R.has(T)&&!(B&&B.state==="loading"&&W.has(T))&&Wt(T),Y.delete(T),W.delete(T),F.delete(T),ne.delete(T),I.delete(T),S.fetchers.delete(T)}function Xi(T){let B=(q.get(T)||0)-1;B<=0?(q.delete(T),ne.add(T)):q.set(T,B),ee({fetchers:new Map(S.fetchers)})}function Wt(T,B){let H=R.get(T);H&&(H.abort(B),R.delete(T))}function Pr(T){for(let B of T){let H=cr(B),X=gr(H.data);S.fetchers.set(B,X)}}function is(){let T=[],B=!1;for(let H of F){let X=S.fetchers.get(H);Ce(X,`Expected fetcher: ${H}`),X.state==="loading"&&(F.delete(H),T.push(H),B=!0)}return Pr(T),B}function Fs(T){let B=[];for(let[H,X]of W)if(X<T){let Z=S.fetchers.get(H);Ce(Z,`Expected fetcher: ${H}`),Z.state==="loading"&&(Wt(H),W.delete(H),B.push(H))}return Pr(B),B.length>0}function zs(T,B){let H=S.blockers.get(T)||Ji;return ue.get(T)!==B&&ue.set(T,B),H}function Hs(T){S.blockers.delete(T),ue.delete(T)}function Er(T,B){let H=S.blockers.get(T)||Ji;Ce(H.state==="unblocked"&&B.state==="blocked"||H.state==="blocked"&&B.state==="blocked"||H.state==="blocked"&&B.state==="proceeding"||H.state==="blocked"&&B.state==="unblocked"||H.state==="proceeding"&&B.state==="unblocked",`Invalid blocker state transition: ${H.state} -> ${B.state}`);let X=new Map(S.blockers);X.set(T,B),ee({blockers:X})}function Vs({currentLocation:T,nextLocation:B,historyAction:H}){if(ue.size===0)return;ue.size>1&&We(!1,"A router only supports one blocker at a time");let X=Array.from(ue.entries()),[Z,pe]=X[X.length-1],le=S.blockers.get(Z);if(!(le&&le.state==="proceeding")&&pe({currentLocation:T,nextLocation:B,historyAction:H}))return Z}function Ge(T){let B=dn(404,{pathname:T}),H=l||a,{matches:X,route:Z}=Ml(H);return{notFoundMatches:X,route:Z,error:B}}function mt(T,B,H){if(m=T,b=B,x=H||null,!y&&S.navigation===vu){y=!0;let X=gt(S.location,S.matches);X!=null&&ee({restoreScrollPosition:X})}return()=>{m=null,b=null,x=null}}function dt(T,B){return x&&x(T,B.map(X=>j5(X,S.loaderData)))||T.key}function on(T,B){if(m&&b){let H=dt(T,B);m[H]=b()}}function gt(T,B){if(m){let H=dt(T,B),X=m[H];if(typeof X=="number")return X}return null}function Ze(T,B,H){if(t.patchRoutesOnNavigation)if(T){if(Object.keys(T[0].params).length>0)return{active:!0,matches:po(B,H,d,!0)}}else return{active:!0,matches:po(B,H,d,!0)||[]};return{active:!1,matches:null}}async function xt(T,B,H,X){if(!t.patchRoutesOnNavigation)return{type:"success",matches:T};let Z=T;for(;;){let pe=l==null,le=l||a,me=o;try{await t.patchRoutesOnNavigation({signal:H,path:B,matches:Z,fetcherKey:X,patch:(we,xe)=>{H.aborted||rg(we,xe,le,me,i,!1)}})}catch(we){return{type:"error",error:we,partialMatches:Z}}finally{pe&&!H.aborted&&(a=[...a])}if(H.aborted)return{type:"aborted"};let ge=$r(le,B,d),be=null;if(ge){if(Object.keys(ge[0].params).length===0)return{type:"success",matches:ge};if(be=po(le,B,d,!0),!(be&&Z.length<be.length&&jn(Z,be.slice(0,Z.length))))return{type:"success",matches:ge}}if(be||(be=po(le,B,d,!0)),!be||jn(Z,be))return{type:"success",matches:null};Z=be}}function jn(T,B){return T.length===B.length&&T.every((H,X)=>H.route.id===B[X].route.id)}function Ye(T){o={},l=Io(T,i,void 0,o)}function an(T,B,H=!1){let X=l==null;rg(T,B,l||a,o,i,H),X&&(a=[...a],ee({}))}return j={get basename(){return d},get future(){return h},get state(){return S},get routes(){return a},get window(){return e},initialize:te,subscribe:he,enableScrollRestoration:mt,navigate:U,fetch:tn,revalidate:Q,createHref:T=>t.history.createHref(T),encodeLocation:T=>t.history.encodeLocation(T),getFetcher:cr,resetFetcher:sn,deleteFetcher:Xi,dispose:J,getBlocker:zs,deleteBlocker:Hs,patchRoutes:an,_internalFetchControllers:R,_internalSetRoutes:Ye,_internalSetStateDoNotUseOrYouWillBreakYourApp(T){ee(T)}},t.unstable_instrumentations&&(j=W5(j,t.unstable_instrumentations.map(T=>T.router).filter(Boolean))),j}function nj(t){return t!=null&&("formData"in t&&t.formData!=null||"body"in t&&t.body!==void 0)}function zh(t,e,n,r,s,i){let o,a;if(s){o=[];for(let d of e)if(o.push(d),d.route.id===s){a=d;break}}else o=e,a=e[e.length-1];let l=Ld(r||".",Td(o),yn(t.pathname,n)||t.pathname,i==="path");if(r==null&&(l.search=t.search,l.hash=t.hash),(r==null||r===""||r===".")&&a){let d=fp(l.search);if(a.route.index&&!d)l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index";else if(!a.route.index&&d){let u=new URLSearchParams(l.search),h=u.getAll("index");u.delete("index"),h.filter(p=>p).forEach(p=>u.append("index",p));let f=u.toString();l.search=f?`?${f}`:""}}return n!=="/"&&(l.pathname=B5({basename:n,pathname:l.pathname})),rr(l)}function tg(t,e,n){if(!n||!nj(n))return{path:e};if(n.formMethod&&!wj(n.formMethod))return{path:e,error:dn(405,{method:n.formMethod})};let r=()=>({path:e,error:dn(400,{type:"invalid-body"})}),i=(n.formMethod||"get").toUpperCase(),o=Sv(e);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!Ct(i))return r();let h=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((f,[p,m])=>`${f}${p}=${m}
20
+ `,""):String(n.body);return{path:e,submission:{formMethod:i,formAction:o,formEncType:n.formEncType,formData:void 0,json:void 0,text:h}}}else if(n.formEncType==="application/json"){if(!Ct(i))return r();try{let h=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:e,submission:{formMethod:i,formAction:o,formEncType:n.formEncType,formData:void 0,json:h,text:void 0}}}catch{return r()}}}Ce(typeof FormData=="function","FormData is not available in this environment");let a,l;if(n.formData)a=Wh(n.formData),l=n.formData;else if(n.body instanceof FormData)a=Wh(n.body),l=n.body;else if(n.body instanceof URLSearchParams)a=n.body,l=lg(a);else if(n.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(n.body),l=lg(a)}catch{return r()}let d={formMethod:i,formAction:o,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(Ct(d.formMethod))return{path:e,submission:d};let u=ts(e);return t&&u.search&&fp(u.search)&&a.append("index",""),u.search=`?${a}`,{path:rr(u),submission:d}}function ng(t,e,n,r,s,i,o,a,l,d,u,h,f,p,m,x,b,y,k,v,w){let C=v?Yt(v[1])?v[1].error:v[1].data:void 0,j=s.createURL(i.location),S=s.createURL(l),E;if(u&&i.errors){let M=Object.keys(i.errors)[0];E=o.findIndex(D=>D.route.id===M)}else if(v&&Yt(v[1])){let M=v[0];E=o.findIndex(D=>D.route.id===M)-1}let O=v?v[1].statusCode:void 0,A=O&&O>=400,P={currentUrl:j,currentParams:i.matches[0]?.params||{},nextUrl:S,nextParams:o[0].params,...a,actionResult:C,actionStatus:O},L=Za(o),_=o.map((M,D)=>{let{route:I}=M,R=null;if(E!=null&&D>E?R=!1:I.lazy?R=!0:up(I)?u?R=Hh(I,i.loaderData,i.errors):rj(i.loaderData,i.matches[D],M)&&(R=!0):R=!1,R!==null)return Vh(n,r,t,L,M,d,e,R);let $=!1;typeof w=="boolean"?$=w:A?$=!1:(h||j.pathname+j.search===S.pathname+S.search||j.search!==S.search||sj(i.matches[D],M))&&($=!0);let V={...P,defaultShouldRevalidate:$},W=wo(M,V);return Vh(n,r,t,L,M,d,e,W,V,w)}),N=[];return m.forEach((M,D)=>{if(u||!o.some(q=>q.route.id===M.routeId)||p.has(D))return;let I=i.fetchers.get(D),R=I&&I.state!=="idle"&&I.data===void 0,$=$r(b,M.path,y);if(!$){if(k&&R)return;N.push({key:D,routeId:M.routeId,path:M.path,matches:null,match:null,request:null,controller:null});return}if(x.has(D))return;let V=bc($,M.path),W=new AbortController,F=Ys(s,M.path,W.signal),Y=null;if(f.has(D))f.delete(D),Y=oi(n,r,F,$,V,d,e);else if(R)h&&(Y=oi(n,r,F,$,V,d,e));else{let q;typeof w=="boolean"?q=w:A?q=!1:q=h;let ne={...P,defaultShouldRevalidate:q};wo(V,ne)&&(Y=oi(n,r,F,$,V,d,e,ne))}Y&&N.push({key:D,routeId:M.routeId,path:M.path,matches:Y,match:V,request:F,controller:W})}),{dsMatches:_,revalidatingFetchers:N}}function up(t){return t.loader!=null||t.middleware!=null&&t.middleware.length>0}function Hh(t,e,n){if(t.lazy)return!0;if(!up(t))return!1;let r=e!=null&&t.id in e,s=n!=null&&n[t.id]!==void 0;return!r&&s?!1:typeof t.loader=="function"&&t.loader.hydrate===!0?!0:!r&&!s}function rj(t,e,n){let r=!e||n.route.id!==e.route.id,s=!t.hasOwnProperty(n.route.id);return r||s}function sj(t,e){let n=t.route.path;return t.pathname!==e.pathname||n!=null&&n.endsWith("*")&&t.params["*"]!==e.params["*"]}function wo(t,e){if(t.route.shouldRevalidate){let n=t.route.shouldRevalidate(e);if(typeof n=="boolean")return n}return e.defaultShouldRevalidate}function rg(t,e,n,r,s,i){let o;if(t){let d=r[t];Ce(d,`No route found to patch children into: routeId = ${t}`),d.children||(d.children=[]),o=d.children}else o=n;let a=[],l=[];if(e.forEach(d=>{let u=o.find(h=>bv(d,h));u?l.push({existingRoute:u,newRoute:d}):a.push(d)}),a.length>0){let d=Io(a,s,[t||"_","patch",String(o?.length||"0")],r);o.push(...d)}if(i&&l.length>0)for(let d=0;d<l.length;d++){let{existingRoute:u,newRoute:h}=l[d],f=u,[p]=Io([h],s,[],{},!0);Object.assign(f,{element:p.element?p.element:f.element,errorElement:p.errorElement?p.errorElement:f.errorElement,hydrateFallbackElement:p.hydrateFallbackElement?p.hydrateFallbackElement:f.hydrateFallbackElement})}}function bv(t,e){return"id"in t&&"id"in e&&t.id===e.id?!0:t.index===e.index&&t.path===e.path&&t.caseSensitive===e.caseSensitive?(!t.children||t.children.length===0)&&(!e.children||e.children.length===0)?!0:t.children.every((n,r)=>e.children?.some(s=>bv(n,s))):!1}var sg=new WeakMap,yv=({key:t,route:e,manifest:n,mapRouteProperties:r})=>{let s=n[e.id];if(Ce(s,"No route found in manifest"),!s.lazy||typeof s.lazy!="object")return;let i=s.lazy[t];if(!i)return;let o=sg.get(s);o||(o={},sg.set(s,o));let a=o[t];if(a)return a;let l=(async()=>{let d=w5(t),h=s[t]!==void 0&&t!=="hasErrorBoundary";if(d)We(!d,"Route property "+t+" is not a supported lazy route property. This property will be ignored."),o[t]=Promise.resolve();else if(h)We(!1,`Route "${s.id}" has a static property "${t}" defined. The lazy property will be ignored.`);else{let f=await i();f!=null&&(Object.assign(s,{[t]:f}),Object.assign(s,r(s)))}typeof s.lazy=="object"&&(s.lazy[t]=void 0,Object.values(s.lazy).every(f=>f===void 0)&&(s.lazy=void 0))})();return o[t]=l,l},ig=new WeakMap;function ij(t,e,n,r,s){let i=n[t.id];if(Ce(i,"No route found in manifest"),!t.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof t.lazy=="function"){let u=ig.get(i);if(u)return{lazyRoutePromise:u,lazyHandlerPromise:u};let h=(async()=>{Ce(typeof t.lazy=="function","No lazy route function found");let f=await t.lazy(),p={};for(let m in f){let x=f[m];if(x===void 0)continue;let b=S5(m),k=i[m]!==void 0&&m!=="hasErrorBoundary";b?We(!b,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):k?We(!k,`Route "${i.id}" has a static property "${m}" defined but its lazy function is also returning a value for this property. The lazy route property "${m}" will be ignored.`):p[m]=x}Object.assign(i,p),Object.assign(i,{...r(i),lazy:void 0})})();return ig.set(i,h),h.catch(()=>{}),{lazyRoutePromise:h,lazyHandlerPromise:h}}let o=Object.keys(t.lazy),a=[],l;for(let u of o){if(s&&s.includes(u))continue;let h=yv({key:u,route:t,manifest:n,mapRouteProperties:r});h&&(a.push(h),u===e&&(l=h))}let d=a.length>0?Promise.all(a).then(()=>{}):void 0;return d?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:d,lazyHandlerPromise:l}}async function og(t){let e=t.matches.filter(s=>s.shouldLoad),n={};return(await Promise.all(e.map(s=>s.resolve()))).forEach((s,i)=>{n[e[i].route.id]=s}),n}async function oj(t){return t.matches.some(e=>e.route.middleware)?vv(t,()=>og(t)):og(t)}function vv(t,e){return aj(t,e,r=>{if(vj(r))throw r;return r},gj,n);function n(r,s,i){if(i)return Promise.resolve(Object.assign(i.value,{[s]:{type:"error",result:r}}));{let{matches:o}=t,a=Math.min(Math.max(o.findIndex(d=>d.route.id===s),0),Math.max(o.findIndex(d=>d.shouldCallHandler()),0)),l=Br(o,o[a].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:r}})}}}async function aj(t,e,n,r,s){let{matches:i,request:o,params:a,context:l,unstable_pattern:d}=t,u=i.flatMap(f=>f.route.middleware?f.route.middleware.map(p=>[f.route.id,p]):[]);return await wv({request:o,params:a,context:l,unstable_pattern:d},u,e,n,r,s)}async function wv(t,e,n,r,s,i,o=0){let{request:a}=t;if(a.signal.aborted)throw a.signal.reason??new Error(`Request aborted: ${a.method} ${a.url}`);let l=e[o];if(!l)return await n();let[d,u]=l,h,f=async()=>{if(h)throw new Error("You may only call `next()` once per middleware");try{return h={value:await wv(t,e,n,r,s,i,o+1)},h.value}catch(p){return h={value:await i(p,d,h)},h.value}};try{let p=await u(t,f),m=p!=null?r(p):void 0;return s(m)?m:h?m??h.value:(h={value:await f()},h.value)}catch(p){return await i(p,d,h)}}function kv(t,e,n,r,s){let i=yv({key:"middleware",route:r.route,manifest:e,mapRouteProperties:t}),o=ij(r.route,Ct(n.method)?"action":"loader",e,t,s);return{middleware:i,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function Vh(t,e,n,r,s,i,o,a,l=null,d){let u=!1,h=kv(t,e,n,s,i);return{...s,_lazyPromises:h,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return u=!0,l?typeof d=="boolean"?wo(s,{...l,defaultShouldRevalidate:d}):typeof f=="boolean"?wo(s,{...l,defaultShouldRevalidate:f}):wo(s,l):a},resolve(f){let{lazy:p,loader:m,middleware:x}=s.route,b=u||a||f&&!Ct(n.method)&&(p||m),y=x&&x.length>0&&!m&&!p;return b&&(Ct(n.method)||!y)?cj({request:n,unstable_pattern:r,match:s,lazyHandlerPromise:h?.handler,lazyRoutePromise:h?.route,handlerOverride:f,scopedContext:o}):Promise.resolve({type:"data",result:void 0})}}}function oi(t,e,n,r,s,i,o,a=null){return r.map(l=>l.route.id!==s.route.id?{...l,shouldLoad:!1,shouldRevalidateArgs:a,shouldCallHandler:()=>!1,_lazyPromises:kv(t,e,n,l,i),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Vh(t,e,n,Za(r),l,i,o,!0,a))}async function lj(t,e,n,r,s,i){n.some(d=>d._lazyPromises?.middleware)&&await Promise.all(n.map(d=>d._lazyPromises?.middleware));let o={request:e,unstable_pattern:Za(n),params:n[0].params,context:s,matches:n},l=await t({...o,fetcherKey:r,runClientMiddleware:d=>{let u=o;return vv(u,()=>d({...u,fetcherKey:r,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(n.flatMap(d=>[d._lazyPromises?.handler,d._lazyPromises?.route]))}catch{}return l}async function cj({request:t,unstable_pattern:e,match:n,lazyHandlerPromise:r,lazyRoutePromise:s,handlerOverride:i,scopedContext:o}){let a,l,d=Ct(t.method),u=d?"action":"loader",h=f=>{let p,m=new Promise((y,k)=>p=k);l=()=>p(),t.signal.addEventListener("abort",l);let x=y=>typeof f!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${u}" [routeId: ${n.route.id}]`)):f({request:t,unstable_pattern:e,params:n.params,context:o},...y!==void 0?[y]:[]),b=(async()=>{try{return{type:"data",result:await(i?i(k=>x(k)):x())}}catch(y){return{type:"error",result:y}}})();return Promise.race([b,m])};try{let f=d?n.route.action:n.route.loader;if(r||s)if(f){let p,[m]=await Promise.all([h(f).catch(x=>{p=x}),r,s]);if(p!==void 0)throw p;a=m}else{await r;let p=d?n.route.action:n.route.loader;if(p)[a]=await Promise.all([h(p),s]);else if(u==="action"){let m=new URL(t.url),x=m.pathname+m.search;throw dn(405,{method:t.method,pathname:x,routeId:n.route.id})}else return{type:"data",result:void 0}}else if(f)a=await h(f);else{let p=new URL(t.url),m=p.pathname+p.search;throw dn(404,{pathname:m})}}catch(f){return{type:"error",result:f}}finally{l&&t.signal.removeEventListener("abort",l)}return a}async function dj(t){let e=t.headers.get("Content-Type");return e&&/\bapplication\/json\b/.test(e)?t.body==null?null:t.json():t.text()}async function uj(t){let{result:e,type:n}=t;if(hp(e)){let r;try{r=await dj(e)}catch(s){return{type:"error",error:s}}return n==="error"?{type:"error",error:new Ja(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return n==="error"?hg(e)?e.data instanceof Error?{type:"error",error:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:mj(e),statusCode:$o(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:$o(e)?e.status:void 0}:hg(e)?{type:"data",data:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"data",data:e}}function hj(t,e,n,r,s){let i=t.headers.get("Location");if(Ce(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!Ad(i)){let o=r.slice(0,r.findIndex(a=>a.route.id===n)+1);i=zh(new URL(e.url),o,s,i),t.headers.set("Location",i)}return t}function ag(t,e,n){if(Ad(t)){let r=t,s=r.startsWith("//")?new URL(e.protocol+r):new URL(r),i=yn(s.pathname,n)!=null;if(s.origin===e.origin&&i)return s.pathname+s.search+s.hash}return t}function Ys(t,e,n,r){let s=t.createURL(Sv(e)).toString(),i={signal:n};if(r&&Ct(r.formMethod)){let{formMethod:o,formEncType:a}=r;i.method=o.toUpperCase(),a==="application/json"?(i.headers=new Headers({"Content-Type":a}),i.body=JSON.stringify(r.json)):a==="text/plain"?i.body=r.text:a==="application/x-www-form-urlencoded"&&r.formData?i.body=Wh(r.formData):i.body=r.formData}return new Request(s,i)}function Wh(t){let e=new URLSearchParams;for(let[n,r]of t.entries())e.append(n,typeof r=="string"?r:r.name);return e}function lg(t){let e=new FormData;for(let[n,r]of t.entries())e.append(n,r);return e}function fj(t,e,n,r=!1,s=!1){let i={},o=null,a,l=!1,d={},u=n&&Yt(n[1])?n[1].error:void 0;return t.forEach(h=>{if(!(h.route.id in e))return;let f=h.route.id,p=e[f];if(Ce(!bs(p),"Cannot handle redirect results in processLoaderData"),Yt(p)){let m=p.error;if(u!==void 0&&(m=u,u=void 0),o=o||{},s)o[f]=m;else{let x=Br(t,f);o[x.route.id]==null&&(o[x.route.id]=m)}r||(i[f]=xv),l||(l=!0,a=$o(p.error)?p.error.status:500),p.headers&&(d[f]=p.headers)}else i[f]=p.data,p.statusCode&&p.statusCode!==200&&!l&&(a=p.statusCode),p.headers&&(d[f]=p.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(i[n[2]]=void 0)),{loaderData:i,errors:o,statusCode:a||200,loaderHeaders:d}}function cg(t,e,n,r,s,i){let{loaderData:o,errors:a}=fj(e,n,r);return s.filter(l=>!l.matches||l.matches.some(d=>d.shouldLoad)).forEach(l=>{let{key:d,match:u,controller:h}=l;if(h&&h.signal.aborted)return;let f=i[d];if(Ce(f,"Did not find corresponding fetcher result"),Yt(f)){let p=Br(t.matches,u?.route.id);a&&a[p.route.id]||(a={...a,[p.route.id]:f.error}),t.fetchers.delete(d)}else if(bs(f))Ce(!1,"Unhandled fetcher revalidation redirect");else{let p=gr(f.data);t.fetchers.set(d,p)}}),{loaderData:o,errors:a}}function dg(t,e,n,r){let s=Object.entries(e).filter(([,i])=>i!==xv).reduce((i,[o,a])=>(i[o]=a,i),{});for(let i of n){let o=i.route.id;if(!e.hasOwnProperty(o)&&t.hasOwnProperty(o)&&i.route.loader&&(s[o]=t[o]),r&&r.hasOwnProperty(o))break}return s}function ug(t){return t?Yt(t[1])?{actionData:{}}:{actionData:{[t[0]]:t[1].data}}:{}}function Br(t,e){return(e?t.slice(0,t.findIndex(r=>r.route.id===e)+1):[...t]).reverse().find(r=>r.route.hasErrorBoundary===!0)||t[0]}function Ml(t){let e=t.length===1?t[0]:t.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function dn(t,{pathname:e,routeId:n,method:r,type:s,message:i}={}){let o="Unknown Server Error",a="Unknown @remix-run/router error";return t===400?(o="Bad Request",r&&e&&n?a=`You made a ${r} request to "${e}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:s==="invalid-body"&&(a="Unable to encode submission body")):t===403?(o="Forbidden",a=`Route "${n}" does not match URL "${e}"`):t===404?(o="Not Found",a=`No route matches URL "${e}"`):t===405&&(o="Method Not Allowed",r&&e&&n?a=`You made a ${r.toUpperCase()} request to "${e}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(a=`Invalid request method "${r.toUpperCase()}"`)),new Ja(t||500,o,new Error(a),!0)}function Dl(t){let e=Object.entries(t);for(let n=e.length-1;n>=0;n--){let[r,s]=e[n];if(bs(s))return{key:r,result:s}}}function Sv(t){let e=typeof t=="string"?ts(t):t;return rr({...e,hash:""})}function pj(t,e){return t.pathname!==e.pathname||t.search!==e.search?!1:t.hash===""?e.hash!=="":t.hash===e.hash?!0:e.hash!==""}function mj(t){return new Ja(t.init?.status??500,t.init?.statusText??"Internal Server Error",t.data)}function gj(t){return t!=null&&typeof t=="object"&&Object.entries(t).every(([e,n])=>typeof e=="string"&&xj(n))}function xj(t){return t!=null&&typeof t=="object"&&"type"in t&&"result"in t&&(t.type==="data"||t.type==="error")}function bj(t){return hp(t.result)&&mv.has(t.result.status)}function Yt(t){return t.type==="error"}function bs(t){return(t&&t.type)==="redirect"}function hg(t){return typeof t=="object"&&t!=null&&"type"in t&&"data"in t&&"init"in t&&t.type==="DataWithResponseInit"}function hp(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.headers=="object"&&typeof t.body<"u"}function yj(t){return mv.has(t)}function vj(t){return hp(t)&&yj(t.status)&&t.headers.has("Location")}function wj(t){return Q5.has(t.toUpperCase())}function Ct(t){return Y5.has(t.toUpperCase())}function fp(t){return new URLSearchParams(t).getAll("index").some(e=>e==="")}function bc(t,e){let n=typeof e=="string"?ts(e).search:e.search;if(t[t.length-1].route.index&&fp(n||""))return t[t.length-1];let r=dv(t);return r[r.length-1]}function fg(t){let{formMethod:e,formAction:n,formEncType:r,text:s,formData:i,json:o}=t;if(!(!e||!n||!r)){if(s!=null)return{formMethod:e,formAction:n,formEncType:r,formData:void 0,json:void 0,text:s};if(i!=null)return{formMethod:e,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(o!==void 0)return{formMethod:e,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function wu(t,e){return e?{state:"loading",location:t,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:t,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function kj(t,e){return{state:"submitting",location:t,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function Zi(t,e){return t?{state:"loading",formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Sj(t,e){return{state:"submitting",formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text,data:e?e.data:void 0}}function gr(t){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function Cj(t,e){try{let n=t.sessionStorage.getItem(gv);if(n){let r=JSON.parse(n);for(let[s,i]of Object.entries(r||{}))i&&Array.isArray(i)&&e.set(s,new Set(i||[]))}}catch{}}function jj(t,e){if(e.size>0){let n={};for(let[r,s]of e)n[r]=[...s];try{t.sessionStorage.setItem(gv,JSON.stringify(n))}catch(r){We(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function pg(){let t,e,n=new Promise((r,s)=>{t=async i=>{r(i);try{await n}catch{}},e=async i=>{s(i);try{await n}catch{}}});return{promise:n,resolve:t,reject:e}}var Rs=g.createContext(null);Rs.displayName="DataRouter";var el=g.createContext(null);el.displayName="DataRouterState";var Cv=g.createContext(!1);function Nj(){return g.useContext(Cv)}var pp=g.createContext({isTransitioning:!1});pp.displayName="ViewTransition";var jv=g.createContext(new Map);jv.displayName="Fetchers";var Pj=g.createContext(null);Pj.displayName="Await";var Zt=g.createContext(null);Zt.displayName="Navigation";var Rd=g.createContext(null);Rd.displayName="Location";var wn=g.createContext({outlet:null,matches:[],isDataRoute:!1});wn.displayName="Route";var mp=g.createContext(null);mp.displayName="RouteError";var Nv="REACT_ROUTER_ERROR",Ej="REDIRECT",Oj="ROUTE_ERROR_RESPONSE";function Mj(t){if(t.startsWith(`${Nv}:${Ej}:{`))try{let e=JSON.parse(t.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function Dj(t){if(t.startsWith(`${Nv}:${Oj}:{`))try{let e=JSON.parse(t.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Ja(e.status,e.statusText,e.data)}catch{}}function Aj(t,{relative:e}={}){Ce(Ri(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:r}=g.useContext(Zt),{hash:s,pathname:i,search:o}=nl(t,{relative:e}),a=i;return n!=="/"&&(a=i==="/"?n:er([n,i])),r.createHref({pathname:a,search:o,hash:s})}function Ri(){return g.useContext(Rd)!=null}function In(){return Ce(Ri(),"useLocation() may be used only in the context of a <Router> component."),g.useContext(Rd).location}var Pv="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ev(t){g.useContext(Zt).static||g.useLayoutEffect(t)}function Pt(){let{isDataRoute:t}=g.useContext(wn);return t?Gj():Tj()}function Tj(){Ce(Ri(),"useNavigate() may be used only in the context of a <Router> component.");let t=g.useContext(Rs),{basename:e,navigator:n}=g.useContext(Zt),{matches:r}=g.useContext(wn),{pathname:s}=In(),i=JSON.stringify(Td(r)),o=g.useRef(!1);return Ev(()=>{o.current=!0}),g.useCallback((l,d={})=>{if(We(o.current,Pv),!o.current)return;if(typeof l=="number"){n.go(l);return}let u=Ld(l,JSON.parse(i),s,d.relative==="path");t==null&&e!=="/"&&(u.pathname=u.pathname==="/"?e:er([e,u.pathname])),(d.replace?n.replace:n.push)(u,d.state,d)},[e,n,i,s,t])}var Ov=g.createContext(null);function Lj(){return g.useContext(Ov)}function Rj(t){let e=g.useContext(wn).outlet;return g.useMemo(()=>e&&g.createElement(Ov.Provider,{value:t},e),[e,t])}function tl(){let{matches:t}=g.useContext(wn),e=t[t.length-1];return e?e.params:{}}function nl(t,{relative:e}={}){let{matches:n}=g.useContext(wn),{pathname:r}=In(),s=JSON.stringify(Td(n));return g.useMemo(()=>Ld(t,JSON.parse(s),r,e==="path"),[t,s,r,e])}function Ij(t,e,n,r,s){Ce(Ri(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:i}=g.useContext(Zt),{matches:o}=g.useContext(wn),a=o[o.length-1],l=a?a.params:{},d=a?a.pathname:"/",u=a?a.pathnameBase:"/",h=a&&a.route;{let k=h&&h.path||"";Dv(d,!h||k.endsWith("*")||k.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${k}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
21
+
22
+ Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}/*`}">.`)}let f=In(),p;p=f;let m=p.pathname||"/",x=m;if(u!=="/"){let k=u.replace(/^\//,"").split("/");x="/"+m.replace(/^\//,"").split("/").slice(k.length).join("/")}let b=$r(t,{pathname:x});return We(h||b!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),We(b==null||b[b.length-1].route.element!==void 0||b[b.length-1].route.Component!==void 0||b[b.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),zj(b&&b.map(k=>Object.assign({},k,{params:Object.assign({},l,k.params),pathname:er([u,i.encodeLocation?i.encodeLocation(k.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?u:er([u,i.encodeLocation?i.encodeLocation(k.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathnameBase])})),o,n,r,s)}function $j(){let t=Uj(),e=$o(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,r="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:r},i={padding:"2px 4px",backgroundColor:r},o=null;return console.error("Error handled by React Router default ErrorBoundary:",t),o=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:i},"ErrorBoundary")," or"," ",g.createElement("code",{style:i},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},e),n?g.createElement("pre",{style:s},n):null,o)}var Bj=g.createElement($j,null),Mv=class extends g.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,e){return e.location!==t.location||e.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:e.error,location:e.location,revalidation:t.revalidation||e.revalidation}}componentDidCatch(t,e){this.props.onError?this.props.onError(t,e):console.error("React Router caught the following error during render",t)}render(){let t=this.state.error;if(this.context&&typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){const n=Dj(t.digest);n&&(t=n)}let e=t!==void 0?g.createElement(wn.Provider,{value:this.props.routeContext},g.createElement(mp.Provider,{value:t,children:this.props.component})):this.props.children;return this.context?g.createElement(_j,{error:t},e):e}};Mv.contextType=Cv;var ku=new WeakMap;function _j({children:t,error:e}){let{basename:n}=g.useContext(Zt);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=Mj(e.digest);if(r){let s=ku.get(e);if(s)throw s;let i=hv(r.location,n);if(uv&&!ku.get(e))if(i.isExternal||r.reloadDocument)window.location.href=i.absoluteURL||i.to;else{const o=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:r.replace}));throw ku.set(e,o),o}return g.createElement("meta",{httpEquiv:"refresh",content:`0;url=${i.absoluteURL||i.to}`})}}return t}function Fj({routeContext:t,match:e,children:n}){let r=g.useContext(Rs);return r&&r.static&&r.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=e.route.id),g.createElement(wn.Provider,{value:t},n)}function zj(t,e=[],n=null,r=null,s=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(e.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let i=t,o=n?.errors;if(o!=null){let u=i.findIndex(h=>h.route.id&&o?.[h.route.id]!==void 0);Ce(u>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),i=i.slice(0,Math.min(i.length,u+1))}let a=!1,l=-1;if(n)for(let u=0;u<i.length;u++){let h=i[u];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(l=u),h.route.id){let{loaderData:f,errors:p}=n,m=h.route.loader&&!f.hasOwnProperty(h.route.id)&&(!p||p[h.route.id]===void 0);if(h.route.lazy||m){a=!0,l>=0?i=i.slice(0,l+1):i=[i[0]];break}}}let d=n&&r?(u,h)=>{r(u,{location:n.location,params:n.matches?.[0]?.params??{},unstable_pattern:Za(n.matches),errorInfo:h})}:void 0;return i.reduceRight((u,h,f)=>{let p,m=!1,x=null,b=null;n&&(p=o&&h.route.id?o[h.route.id]:void 0,x=h.route.errorElement||Bj,a&&(l<0&&f===0?(Dv("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,b=null):l===f&&(m=!0,b=h.route.hydrateFallbackElement||null)));let y=e.concat(i.slice(0,f+1)),k=()=>{let v;return p?v=x:m?v=b:h.route.Component?v=g.createElement(h.route.Component,null):h.route.element?v=h.route.element:v=u,g.createElement(Fj,{match:h,routeContext:{outlet:u,matches:y,isDataRoute:n!=null},children:v})};return n&&(h.route.ErrorBoundary||h.route.errorElement||f===0)?g.createElement(Mv,{location:n.location,revalidation:n.revalidation,component:x,error:p,children:k(),routeContext:{outlet:null,matches:y,isDataRoute:!0},onError:d}):k()},null)}function gp(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Hj(t){let e=g.useContext(Rs);return Ce(e,gp(t)),e}function Vj(t){let e=g.useContext(el);return Ce(e,gp(t)),e}function Wj(t){let e=g.useContext(wn);return Ce(e,gp(t)),e}function xp(t){let e=Wj(t),n=e.matches[e.matches.length-1];return Ce(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function Kj(){return xp("useRouteId")}function Uj(){let t=g.useContext(mp),e=Vj("useRouteError"),n=xp("useRouteError");return t!==void 0?t:e.errors?.[n]}function Gj(){let{router:t}=Hj("useNavigate"),e=xp("useNavigate"),n=g.useRef(!1);return Ev(()=>{n.current=!0}),g.useCallback(async(s,i={})=>{We(n.current,Pv),n.current&&(typeof s=="number"?await t.navigate(s):await t.navigate(s,{fromRouteId:e,...i}))},[t,e])}var mg={};function Dv(t,e,n){!e&&!mg[t]&&(mg[t]=!0,We(!1,n))}var gg={};function xg(t,e){!t&&!gg[e]&&(gg[e]=!0,console.warn(e))}var qj="useOptimistic",bg=a5[qj],Yj=()=>{};function Xj(t){return bg?bg(t):[t,Yj]}function Qj(t){let e={hasErrorBoundary:t.hasErrorBoundary||t.ErrorBoundary!=null||t.errorElement!=null};return t.Component&&(t.element&&We(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(e,{element:g.createElement(t.Component),Component:void 0})),t.HydrateFallback&&(t.hydrateFallbackElement&&We(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(e,{hydrateFallbackElement:g.createElement(t.HydrateFallback),HydrateFallback:void 0})),t.ErrorBoundary&&(t.errorElement&&We(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(e,{errorElement:g.createElement(t.ErrorBoundary),ErrorBoundary:void 0})),e}var Jj=["HydrateFallback","hydrateFallbackElement"],Zj=class{constructor(){this.status="pending",this.promise=new Promise((t,e)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",e(n))}})}};function e3({router:t,flushSync:e,onError:n,unstable_useTransitions:r}){r=Nj()||r;let[i,o]=g.useState(t.state),[a,l]=Xj(i),[d,u]=g.useState(),[h,f]=g.useState({isTransitioning:!1}),[p,m]=g.useState(),[x,b]=g.useState(),[y,k]=g.useState(),v=g.useRef(new Map),w=g.useCallback((E,{deletedFetchers:O,newErrors:A,flushSync:P,viewTransitionOpts:L})=>{A&&n&&Object.values(A).forEach(N=>n(N,{location:E.location,params:E.matches[0]?.params??{},unstable_pattern:Za(E.matches)})),E.fetchers.forEach((N,M)=>{N.data!==void 0&&v.current.set(M,N.data)}),O.forEach(N=>v.current.delete(N)),xg(P===!1||e!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let _=t.window!=null&&t.window.document!=null&&typeof t.window.document.startViewTransition=="function";if(xg(L==null||_,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!L||!_){e&&P?e(()=>o(E)):r===!1?o(E):g.startTransition(()=>{r===!0&&l(N=>yg(N,E)),o(E)});return}if(e&&P){e(()=>{x&&(p?.resolve(),x.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:L.currentLocation,nextLocation:L.nextLocation})});let N=t.window.document.startViewTransition(()=>{e(()=>o(E))});N.finished.finally(()=>{e(()=>{m(void 0),b(void 0),u(void 0),f({isTransitioning:!1})})}),e(()=>b(N));return}x?(p?.resolve(),x.skipTransition(),k({state:E,currentLocation:L.currentLocation,nextLocation:L.nextLocation})):(u(E),f({isTransitioning:!0,flushSync:!1,currentLocation:L.currentLocation,nextLocation:L.nextLocation}))},[t.window,e,x,p,r,l,n]);g.useLayoutEffect(()=>t.subscribe(w),[t,w]),g.useEffect(()=>{h.isTransitioning&&!h.flushSync&&m(new Zj)},[h]),g.useEffect(()=>{if(p&&d&&t.window){let E=d,O=p.promise,A=t.window.document.startViewTransition(async()=>{r===!1?o(E):g.startTransition(()=>{r===!0&&l(P=>yg(P,E)),o(E)}),await O});A.finished.finally(()=>{m(void 0),b(void 0),u(void 0),f({isTransitioning:!1})}),b(A)}},[d,p,t.window,r,l]),g.useEffect(()=>{p&&d&&a.location.key===d.location.key&&p.resolve()},[p,x,a.location,d]),g.useEffect(()=>{!h.isTransitioning&&y&&(u(y.state),f({isTransitioning:!0,flushSync:!1,currentLocation:y.currentLocation,nextLocation:y.nextLocation}),k(void 0))},[h.isTransitioning,y]);let C=g.useMemo(()=>({createHref:t.createHref,encodeLocation:t.encodeLocation,go:E=>t.navigate(E),push:(E,O,A)=>t.navigate(E,{state:O,preventScrollReset:A?.preventScrollReset}),replace:(E,O,A)=>t.navigate(E,{replace:!0,state:O,preventScrollReset:A?.preventScrollReset})}),[t]),j=t.basename||"/",S=g.useMemo(()=>({router:t,navigator:C,static:!1,basename:j,onError:n}),[t,C,j,n]);return g.createElement(g.Fragment,null,g.createElement(Rs.Provider,{value:S},g.createElement(el.Provider,{value:a},g.createElement(jv.Provider,{value:v.current},g.createElement(pp.Provider,{value:h},g.createElement(i3,{basename:j,location:a.location,navigationType:a.historyAction,navigator:C,unstable_useTransitions:r},g.createElement(t3,{routes:t.routes,future:t.future,state:a,onError:n})))))),null)}function yg(t,e){return{...t,navigation:e.navigation.state!=="idle"?e.navigation:t.navigation,revalidation:e.revalidation!=="idle"?e.revalidation:t.revalidation,actionData:e.navigation.state!=="submitting"?e.actionData:t.actionData,fetchers:e.fetchers}}var t3=g.memo(n3);function n3({routes:t,future:e,state:n,onError:r}){return Ij(t,void 0,n,r,e)}function r3({to:t,replace:e,state:n,relative:r}){Ce(Ri(),"<Navigate> may be used only in the context of a <Router> component.");let{static:s}=g.useContext(Zt);We(!s,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:i}=g.useContext(wn),{pathname:o}=In(),a=Pt(),l=Ld(t,Td(i),o,r==="path"),d=JSON.stringify(l);return g.useEffect(()=>{a(JSON.parse(d),{replace:e,state:n,relative:r})},[a,d,r,e,n]),null}function s3(t){return Rj(t.context)}function i3({basename:t="/",children:e=null,location:n,navigationType:r="POP",navigator:s,static:i=!1,unstable_useTransitions:o}){Ce(!Ri(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=t.replace(/^\/*/,"/"),l=g.useMemo(()=>({basename:a,navigator:s,static:i,unstable_useTransitions:o,future:{}}),[a,s,i,o]);typeof n=="string"&&(n=ts(n));let{pathname:d="/",search:u="",hash:h="",state:f=null,key:p="default"}=n,m=g.useMemo(()=>{let x=yn(d,a);return x==null?null:{location:{pathname:x,search:u,hash:h,state:f,key:p},navigationType:r}},[a,d,u,h,f,p,r]);return We(m!=null,`<Router basename="${a}"> is not able to match the URL "${d}${u}${h}" because it does not start with the basename, so the <Router> won't render anything.`),m==null?null:g.createElement(Zt.Provider,{value:l},g.createElement(Rd.Provider,{children:e,value:m}))}var yc="get",vc="application/x-www-form-urlencoded";function Id(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}function o3(t){return Id(t)&&t.tagName.toLowerCase()==="button"}function a3(t){return Id(t)&&t.tagName.toLowerCase()==="form"}function l3(t){return Id(t)&&t.tagName.toLowerCase()==="input"}function c3(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function d3(t,e){return t.button===0&&(!e||e==="_self")&&!c3(t)}function Kh(t=""){return new URLSearchParams(typeof t=="string"||Array.isArray(t)||t instanceof URLSearchParams?t:Object.keys(t).reduce((e,n)=>{let r=t[n];return e.concat(Array.isArray(r)?r.map(s=>[n,s]):[[n,r]])},[]))}function u3(t,e){let n=Kh(t);return e&&e.forEach((r,s)=>{n.has(s)||e.getAll(s).forEach(i=>{n.append(s,i)})}),n}var Al=null;function h3(){if(Al===null)try{new FormData(document.createElement("form"),0),Al=!1}catch{Al=!0}return Al}var f3=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Su(t){return t!=null&&!f3.has(t)?(We(!1,`"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${vc}"`),null):t}function p3(t,e){let n,r,s,i,o;if(a3(t)){let a=t.getAttribute("action");r=a?yn(a,e):null,n=t.getAttribute("method")||yc,s=Su(t.getAttribute("enctype"))||vc,i=new FormData(t)}else if(o3(t)||l3(t)&&(t.type==="submit"||t.type==="image")){let a=t.form;if(a==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=t.getAttribute("formaction")||a.getAttribute("action");if(r=l?yn(l,e):null,n=t.getAttribute("formmethod")||a.getAttribute("method")||yc,s=Su(t.getAttribute("formenctype"))||Su(a.getAttribute("enctype"))||vc,i=new FormData(a,t),!h3()){let{name:d,type:u,value:h}=t;if(u==="image"){let f=d?`${d}.`:"";i.append(`${f}x`,"0"),i.append(`${f}y`,"0")}else d&&i.append(d,h)}}else{if(Id(t))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=yc,r=null,s=vc,o=t}return i&&s==="text/plain"&&(o=i,i=void 0),{action:r,method:n.toLowerCase(),encType:s,formData:i,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function bp(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function m3(t,e,n){let r=typeof t=="string"?new URL(t,typeof window>"u"?"server://singlefetch/":window.location.origin):t;return r.pathname==="/"?r.pathname=`_root.${n}`:e&&yn(r.pathname,e)==="/"?r.pathname=`${e.replace(/\/$/,"")}/_root.${n}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${n}`,r}async function g3(t,e){if(t.id in e)return e[t.id];try{let n=await import(t.module);return e[t.id]=n,n}catch(n){return console.error(`Error loading route module \`${t.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function x3(t){return t==null?!1:t.href==null?t.rel==="preload"&&typeof t.imageSrcSet=="string"&&typeof t.imageSizes=="string":typeof t.rel=="string"&&typeof t.href=="string"}async function b3(t,e,n){let r=await Promise.all(t.map(async s=>{let i=e.routes[s.route.id];if(i){let o=await g3(i,n);return o.links?o.links():[]}return[]}));return k3(r.flat(1).filter(x3).filter(s=>s.rel==="stylesheet"||s.rel==="preload").map(s=>s.rel==="stylesheet"?{...s,rel:"prefetch",as:"style"}:{...s,rel:"prefetch"}))}function vg(t,e,n,r,s,i){let o=(l,d)=>n[d]?l.route.id!==n[d].route.id:!0,a=(l,d)=>n[d].pathname!==l.pathname||n[d].route.path?.endsWith("*")&&n[d].params["*"]!==l.params["*"];return i==="assets"?e.filter((l,d)=>o(l,d)||a(l,d)):i==="data"?e.filter((l,d)=>{let u=r.routes[l.route.id];if(!u||!u.hasLoader)return!1;if(o(l,d)||a(l,d))return!0;if(l.route.shouldRevalidate){let h=l.route.shouldRevalidate({currentUrl:new URL(s.pathname+s.search+s.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(t,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof h=="boolean")return h}return!0}):[]}function y3(t,e,{includeHydrateFallback:n}={}){return v3(t.map(r=>{let s=e.routes[r.route.id];if(!s)return[];let i=[s.module];return s.clientActionModule&&(i=i.concat(s.clientActionModule)),s.clientLoaderModule&&(i=i.concat(s.clientLoaderModule)),n&&s.hydrateFallbackModule&&(i=i.concat(s.hydrateFallbackModule)),s.imports&&(i=i.concat(s.imports)),i}).flat(1))}function v3(t){return[...new Set(t)]}function w3(t){let e={},n=Object.keys(t).sort();for(let r of n)e[r]=t[r];return e}function k3(t,e){let n=new Set;return new Set(e),t.reduce((r,s)=>{let i=JSON.stringify(w3(s));return n.has(i)||(n.add(i),r.push({key:i,link:s})),r},[])}function Av(){let t=g.useContext(Rs);return bp(t,"You must render this element inside a <DataRouterContext.Provider> element"),t}function S3(){let t=g.useContext(el);return bp(t,"You must render this element inside a <DataRouterStateContext.Provider> element"),t}var yp=g.createContext(void 0);yp.displayName="FrameworkContext";function Tv(){let t=g.useContext(yp);return bp(t,"You must render this element inside a <HydratedRouter> element"),t}function C3(t,e){let n=g.useContext(yp),[r,s]=g.useState(!1),[i,o]=g.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:d,onMouseLeave:u,onTouchStart:h}=e,f=g.useRef(null);g.useEffect(()=>{if(t==="render"&&o(!0),t==="viewport"){let x=y=>{y.forEach(k=>{o(k.isIntersecting)})},b=new IntersectionObserver(x,{threshold:.5});return f.current&&b.observe(f.current),()=>{b.disconnect()}}},[t]),g.useEffect(()=>{if(r){let x=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(x)}}},[r]);let p=()=>{s(!0)},m=()=>{s(!1),o(!1)};return n?t!=="intent"?[i,f,{}]:[i,f,{onFocus:eo(a,p),onBlur:eo(l,m),onMouseEnter:eo(d,p),onMouseLeave:eo(u,m),onTouchStart:eo(h,p)}]:[!1,f,{}]}function eo(t,e){return n=>{t&&t(n),n.defaultPrevented||e(n)}}function j3({page:t,...e}){let{router:n}=Av(),r=g.useMemo(()=>$r(n.routes,t,n.basename),[n.routes,t,n.basename]);return r?g.createElement(P3,{page:t,matches:r,...e}):null}function N3(t){let{manifest:e,routeModules:n}=Tv(),[r,s]=g.useState([]);return g.useEffect(()=>{let i=!1;return b3(t,e,n).then(o=>{i||s(o)}),()=>{i=!0}},[t,e,n]),r}function P3({page:t,matches:e,...n}){let r=In(),{manifest:s,routeModules:i}=Tv(),{basename:o}=Av(),{loaderData:a,matches:l}=S3(),d=g.useMemo(()=>vg(t,e,l,s,r,"data"),[t,e,l,s,r]),u=g.useMemo(()=>vg(t,e,l,s,r,"assets"),[t,e,l,s,r]),h=g.useMemo(()=>{if(t===r.pathname+r.search+r.hash)return[];let m=new Set,x=!1;if(e.forEach(y=>{let k=s.routes[y.route.id];!k||!k.hasLoader||(!d.some(v=>v.route.id===y.route.id)&&y.route.id in a&&i[y.route.id]?.shouldRevalidate||k.hasClientLoader?x=!0:m.add(y.route.id))}),m.size===0)return[];let b=m3(t,o,"data");return x&&m.size>0&&b.searchParams.set("_routes",e.filter(y=>m.has(y.route.id)).map(y=>y.route.id).join(",")),[b.pathname+b.search]},[o,a,r,s,d,e,t,i]),f=g.useMemo(()=>y3(u,s),[u,s]),p=N3(u);return g.createElement(g.Fragment,null,h.map(m=>g.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...n})),f.map(m=>g.createElement("link",{key:m,rel:"modulepreload",href:m,...n})),p.map(({key:m,link:x})=>g.createElement("link",{key:m,nonce:n.nonce,...x})))}function E3(...t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}var O3=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{O3&&(window.__reactRouterVersion="7.11.0")}catch{}function M3(t,e){return tj({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:x5({window:e?.window}),hydrationData:D3(),routes:t,mapRouteProperties:Qj,hydrationRouteProperties:Jj,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function D3(){let t=window?.__staticRouterHydrationData;return t&&t.errors&&(t={...t,errors:A3(t.errors)}),t}function A3(t){if(!t)return null;let e=Object.entries(t),n={};for(let[r,s]of e)if(s&&s.__type==="RouteErrorResponse")n[r]=new Ja(s.status,s.statusText,s.data,s.internal===!0);else if(s&&s.__type==="Error"){if(s.__subType){let i=window[s.__subType];if(typeof i=="function")try{let o=new i(s.message);o.stack="",n[r]=o}catch{}}if(n[r]==null){let i=new Error(s.message);i.stack="",n[r]=i}}else n[r]=s;return n}var Lv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Rv=g.forwardRef(function({onClick:e,discover:n="render",prefetch:r="none",relative:s,reloadDocument:i,replace:o,state:a,target:l,to:d,preventScrollReset:u,viewTransition:h,unstable_defaultShouldRevalidate:f,...p},m){let{basename:x,unstable_useTransitions:b}=g.useContext(Zt),y=typeof d=="string"&&Lv.test(d),k=hv(d,x);d=k.to;let v=Aj(d,{relative:s}),[w,C,j]=C3(r,p),S=I3(d,{replace:o,state:a,target:l,preventScrollReset:u,relative:s,viewTransition:h,unstable_defaultShouldRevalidate:f,unstable_useTransitions:b});function E(A){e&&e(A),A.defaultPrevented||S(A)}let O=g.createElement("a",{...p,...j,href:k.absoluteURL||v,onClick:k.isExternal||i?e:E,ref:E3(m,C),target:l,"data-discover":!y&&n==="render"?"true":void 0});return w&&!y?g.createElement(g.Fragment,null,O,g.createElement(j3,{page:v})):O});Rv.displayName="Link";var T3=g.forwardRef(function({"aria-current":e="page",caseSensitive:n=!1,className:r="",end:s=!1,style:i,to:o,viewTransition:a,children:l,...d},u){let h=nl(o,{relative:d.relative}),f=In(),p=g.useContext(el),{navigator:m,basename:x}=g.useContext(Zt),b=p!=null&&z3(h)&&a===!0,y=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,k=f.pathname,v=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;n||(k=k.toLowerCase(),v=v?v.toLowerCase():null,y=y.toLowerCase()),v&&x&&(v=yn(v,x)||v);const w=y!=="/"&&y.endsWith("/")?y.length-1:y.length;let C=k===y||!s&&k.startsWith(y)&&k.charAt(w)==="/",j=v!=null&&(v===y||!s&&v.startsWith(y)&&v.charAt(y.length)==="/"),S={isActive:C,isPending:j,isTransitioning:b},E=C?e:void 0,O;typeof r=="function"?O=r(S):O=[r,C?"active":null,j?"pending":null,b?"transitioning":null].filter(Boolean).join(" ");let A=typeof i=="function"?i(S):i;return g.createElement(Rv,{...d,"aria-current":E,className:O,ref:u,style:A,to:o,viewTransition:a},typeof l=="function"?l(S):l)});T3.displayName="NavLink";var L3=g.forwardRef(({discover:t="render",fetcherKey:e,navigate:n,reloadDocument:r,replace:s,state:i,method:o=yc,action:a,onSubmit:l,relative:d,preventScrollReset:u,viewTransition:h,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:x}=g.useContext(Zt),b=_3(),y=F3(a,{relative:d}),k=o.toLowerCase()==="get"?"get":"post",v=typeof a=="string"&&Lv.test(a),w=C=>{if(l&&l(C),C.defaultPrevented)return;C.preventDefault();let j=C.nativeEvent.submitter,S=j?.getAttribute("formmethod")||o,E=()=>b(j||C.currentTarget,{fetcherKey:e,method:S,navigate:n,replace:s,state:i,relative:d,preventScrollReset:u,viewTransition:h,unstable_defaultShouldRevalidate:f});x&&n!==!1?g.startTransition(()=>E()):E()};return g.createElement("form",{ref:m,method:k,action:y,onSubmit:r?l:w,...p,"data-discover":!v&&t==="render"?"true":void 0})});L3.displayName="Form";function R3(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Iv(t){let e=g.useContext(Rs);return Ce(e,R3(t)),e}function I3(t,{target:e,replace:n,state:r,preventScrollReset:s,relative:i,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let d=Pt(),u=In(),h=nl(t,{relative:i});return g.useCallback(f=>{if(d3(f,e)){f.preventDefault();let p=n!==void 0?n:rr(u)===rr(h),m=()=>d(t,{replace:p,state:r,preventScrollReset:s,relative:i,viewTransition:o,unstable_defaultShouldRevalidate:a});l?g.startTransition(()=>m()):m()}},[u,d,h,n,r,e,t,s,i,o,a,l])}function rl(t){We(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let e=g.useRef(Kh(t)),n=g.useRef(!1),r=In(),s=g.useMemo(()=>u3(r.search,n.current?null:e.current),[r.search]),i=Pt(),o=g.useCallback((a,l)=>{const d=Kh(typeof a=="function"?a(new URLSearchParams(s)):a);n.current=!0,i("?"+d,l)},[i,s]);return[s,o]}var $3=0,B3=()=>`__${String(++$3)}__`;function _3(){let{router:t}=Iv("useSubmit"),{basename:e}=g.useContext(Zt),n=Kj(),r=t.fetch,s=t.navigate;return g.useCallback(async(i,o={})=>{let{action:a,method:l,encType:d,formData:u,body:h}=p3(i,e);if(o.navigate===!1){let f=o.fetcherKey||B3();await r(f,n,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:u,body:h,formMethod:o.method||l,formEncType:o.encType||d,flushSync:o.flushSync})}else await s(o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:u,body:h,formMethod:o.method||l,formEncType:o.encType||d,replace:o.replace,state:o.state,fromRouteId:n,flushSync:o.flushSync,viewTransition:o.viewTransition})},[r,s,e,n])}function F3(t,{relative:e}={}){let{basename:n}=g.useContext(Zt),r=g.useContext(wn);Ce(r,"useFormAction must be used inside a RouteContext");let[s]=r.matches.slice(-1),i={...nl(t||".",{relative:e})},o=In();if(t==null){i.search=o.search;let a=new URLSearchParams(i.search),l=a.getAll("index");if(l.some(u=>u==="")){a.delete("index"),l.filter(h=>h).forEach(h=>a.append("index",h));let u=a.toString();i.search=u?`?${u}`:""}}return(!t||t===".")&&s.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(i.pathname=i.pathname==="/"?n:er([n,i.pathname])),rr(i)}function z3(t,{relative:e}={}){let n=g.useContext(pp);Ce(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Iv("useViewTransitionState"),s=nl(t,{relative:e});if(!n.isTransitioning)return!1;let i=yn(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=yn(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Bc(s.pathname,o)!=null||Bc(s.pathname,i)!=null}function H3(t){return g.createElement(e3,{flushSync:xs.flushSync,...t})}const V3={en:{loading:"Loading...",error:"Error",selectProject:"Select a project to view dashboard",controlCenter:"Control Center",settings:"Settings",sync:"Sync",offline:"Offline",switchToLight:"Switch to light mode",switchToDark:"Switch to dark mode",settingsSection:"Settings",overviewSection:"Overview",entitiesSection:"Entities",toolsSection:"Tools",configEditor:"Config Editor",projects:"Projects",addProject:"Add Project",global:"Global",skills:"Skills",skillsNav:"Skills",health:"Health",collapse:"Collapse",expand:"Expand",installing:"Installing...",manage:"Manage",uninstall:"Uninstall",installGlobally:"Install Globally",installGloballyDesc:"Available to all projects instead of current project only",selectAtLeastOneAgent:"Please select at least one agent",installationFailed:"Installation failed",allSkills:"All Skills",refresh:"Refresh",browseAndManageSkills:"Browse and manage skills for your agents",detected:"Detected",notDetected:"Not detected",sessions:"sessions",noSessions:"No sessions",terminal:"Terminal",terminalSub:"Open bash at path",editor:"Editor",editorSub:"Open in VS Code",useGlobalFallback:"Use global fallback",openAtPath:"Open at project path",openAppOnly:"Open app only",actionOptionsLoadFailed:"Could not load editor/terminal options",launch:"Launch",launchSub:"Start Claude Code",config:"Config",configSub:"Manage project settings",recentSessions:"Recent Sessions",viewAllHistory:"View All History",showLess:"Show Less",actionFailed:"Action failed",loadingSessions:"Loading sessions...",noSessionsFound:"No sessions found",configuration:"Claude Settings",activeKit:"Active Kit",aiModel:"Model",hooks:"Hooks",active:"active",mcpServers:"MCP Servers",connected:"connected",editProjectConfig:"Edit Project Config",globalSettings:"(Global)",globalSkills:"Global Skills",loadingSkills:"Loading skills...",noDescription:"No description",browseSkillsMarketplace:"Browse Skills Marketplace",backToDashboard:"Back to Dashboard",educationalConfigEditor:"Educational Config Editor",discard:"Discard",saveChanges:"Save Changes",mergedView:"Merged View",localConfig:"Local (.ck.json)",globalConfig:"Global",syntaxValid:"Syntax Valid",configurationHelp:"Configuration Help",field:"Field",type:"Type",default:"Default",description:"Description",validValues:"Valid Values",systemEffect:"System Effect",exampleUsage:"Example Usage",knowledgeBase:"Knowledge Base",clickToSeeHelp:"Click on any configuration field to see detailed documentation and usage examples.",extractedFrom:"Extracted from ClaudeKit v2.x Specification",resetToDefault:"Reset",saving:"Saving...",saved:"Saved",confirmReset:"Reset to Default?",confirmResetMessage:"All changes will be lost and replaced with default values.",confirm:"Confirm",saveFailed:"Save failed",configTab:"Config",systemTab:"System",formTab:"Form",jsonTab:"JSON",readOnly:"Read-only",installedKit:"Installed Kit",kitVersion:"Kit Version",installedOn:"Installed On",noKitInstalled:"No kit installed",components:"Components",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"File Ownership",ownershipCk:"kit-managed",ownershipUser:"user-owned",ownershipModified:"modified",componentInventory:"Component Inventory",installedHooks:"Installed Hooks",installedMcpServers:"MCP Servers",lastChecked:"Last update check",staleIndicator:"Stale",skippedVersion:"Skipped",filesModifiedFromDefaults:"files modified from kit defaults",cliCard:"ClaudeKit CLI",checkForUpdates:"Check for Updates",checking:"Checking...",upToDate:"Up to date",updateAvailable:"Update available",updateNow:"Update Now",updating:"Updating...",updateSuccess:"Update Complete!",updateFailed:"Update Failed",closeModal:"Close",showDetails:"Show Details",hideDetails:"Hide Details",environment:"Environment",claudeConfigPath:"Claude config",nodeVersion:"Node",bunVersion:"Bun",osVersion:"OS",envShell:"Shell",envHomeDir:"Home",envCpuCores:"CPU Cores",envTotalMemory:"Memory",cliPackageManager:"Package Manager",cliInstallLocation:"Install Location",cliGitVersion:"Git",cliGhVersion:"GitHub CLI",channelStable:"Stable",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Latest",selectVersion:"Select version",loadingVersions:"Loading versions...",prereleaseLabel:"Pre",currentVersionLabel:"Current",checkAll:"Check All",checkingAll:"Checking...",updateAll:"Update All",updatesAvailable:"{count} updates available",allUpToDate:"All up to date",systemControlTower:"System Control Tower",systemOverviewTitle:"Update & Runtime Overview",systemOverviewDesc:"Track CLI and kit health, then run upgrades from one place.",installedComponentsHeading:"Installed Components",updateReadiness:"Update Readiness",checkedComponents:"Checked",activeChannel:"Channel",readyToScan:"Ready to scan",noTrackedFiles:"No tracked files detected",kitsLabel:"Kits",componentFilterAll:"All",componentFilterUpdates:"Updates",componentFilterUpdatesCount:"Updates ({count})",componentFilterUpToDate:"Up to date",componentFilterUpToDateCount:"Up to date ({count})",componentFilterCli:"CLI",componentFilterKits:"Kits",noComponentsMatchFilter:"No components match the current filter.",runCheckAllForFilter:"Run Check All to populate this filter.",noUpdatesFound:"No updates found. Checked components are up to date.",noUpToDateYet:"No components are up to date yet.",configWorkspaceHint:"Edit configuration or manage system updates from one workspace.",settingsJsonHeading:"Claude Settings JSON",settingsJsonMissing:"No settings file found at ~/.claude/settings.json.",settingsJsonLoadFailed:"Failed to load ~/.claude/settings.json.",settingsBackupSaved:"Backup saved",hookDiagnosticsTitle:"Hook Diagnostics",hookDiagnosticsDesc:"Inspect recent hook activity and failures without opening JSONL files manually.",hookDiagnosticsPathPending:"Resolving log path...",hookDiagnosticsScopeGlobal:"Global hooks",hookDiagnosticsEntries:"Entries",hookDiagnosticsCrashes:"Crashes",hookDiagnosticsWarnings:"Warnings",hookDiagnosticsBlocks:"Blocks",hookDiagnosticsLastEvent:"Last event",hookDiagnosticsLoading:"Loading hook diagnostics...",hookDiagnosticsLoadFailed:"Failed to load hook diagnostics",hookDiagnosticsMissing:"No hook log file found for this scope yet.",hookDiagnosticsEmpty:"Hook log is present but contains no readable entries.",hookDiagnosticsParseErrorsNotice:"Skipped {count} malformed log line(s) while loading diagnostics.",hookDiagnosticsTruncatedNotice:"Showing a bounded recent window to keep diagnostics responsive on large logs.",hookDiagnosticsToolLabel:"tool",hookDiagnosticsTargetLabel:"target",hookDiagnosticsUnknown:"Unknown",hookDiagnostics:"Hook Diagnostics",hookEvent:"Event",hookExecutions:"Executions",hookAvgLatency:"Avg Latency",hookFailureRate:"Failure Rate",hookLastRun:"Last Run",hookLatencyWarning:"Latency > 500ms",activityMetrics:"Activity",activityTotalSessions:"Total Sessions",activityMostActive:"Most Active Projects",activityPeriod24h:"24h",activityPeriod7d:"7d",activityPeriod30d:"30d",activityNoData:"No activity data",addProjectTitle:"Add Project",addProjectDescription:"Add a new ClaudeKit project to the control center",projectPath:"Project Path",pathPlaceholder:"/path/to/project",alias:"Alias",aliasOptional:"(optional)",aliasPlaceholder:"my-project",aliasDescription:"Custom display name for the project",pathRequired:"Path is required",failedToAdd:"Failed to add project",cancel:"Cancel",adding:"Adding...",somethingWentWrong:"Something went wrong",reloadApp:"Reload App",serverNotRunning:"Server Not Running",startServerMessage:"The Config UI requires the backend server to be running.",runThisCommand:"Run this command",tryAgain:"Try Again",projectConfig:"Project Config",inheritedFromGlobal:"Inherited from Global",localOverride:"Local Override",viewGlobalConfig:"This field inherits from global config. View",onboardingTitle:"Welcome to ClaudeKit",onboardingSubtitle:"Choose your kit and get started in minutes",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"AI-powered coding with skills, hooks, and multi-agent workflows",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Content automation: campaigns, social media, analytics",featureAgents:"AI Agents",featureAgentsDesc:"Specialized agents for different tasks",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Customize Claude's behavior at key moments",featureSkills:"Skills Library",featureSkillsDesc:"Pre-built capabilities you can activate",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Coordinate multiple agents for complex tasks",featureContent:"Content Generation",featureContentDesc:"Automated content creation and optimization",featureSocial:"Social Media Tools",featureSocialDesc:"Scheduling, analytics, and engagement automation",stepChooseKit:"Choose Kit",stepConfigure:"Configure",stepInstall:"Install",back:"Back",next:"Next",install:"Install",installSuccess:"Installation Complete!",installSuccessDesc:"{kit} is ready to use",getStarted:"Get Started",goToDashboard:"Go to Dashboard",kitConfig:"Kit Config",kitConfigSubtitle:"Configure ClaudeKit Engineer settings",scopeGlobal:"Global",scopeProject:"Project",sectionGeneral:"General",sectionPaths:"Paths",sectionPrivacy:"Privacy & Trust",sectionProject:"Project Detection",sectionIntegrations:"Integrations",sectionHooks:"Hooks",sectionAdvanced:"Advanced",fieldCodingLevel:"Coding Level",fieldCodingLevelDesc:"Your coding experience level (-1=auto, 0=beginner, 1=intermediate, 2=advanced, 3=expert, 4=tech-lead, 5=god-mode)",fieldStatusline:"Statusline Mode",fieldStatuslineDesc:"How much info to show in the status line",fieldStatuslineColors:"Statusline Colors",fieldStatuslineColorsDesc:"Enable ANSI color output in the statusline",fieldStatuslineQuota:"Statusline Quota Display",fieldStatuslineQuotaDesc:"Show the 5h / wk quota chips in the statusline",fieldThinkingLanguage:"Thinking Language",fieldThinkingLanguageDesc:"Language for Claude's internal reasoning (null=English)",fieldResponseLanguage:"Response Language",fieldResponseLanguageDesc:"Language for Claude's responses (null=match user)",fieldDocsPath:"Docs Directory",fieldDocsPathDesc:"Path to documentation directory",fieldPlansPath:"Plans Directory",fieldPlansPathDesc:"Path to plans directory",fieldPrivacyBlock:"Privacy Block",fieldPrivacyBlockDesc:"Block access to sensitive files (.env, credentials)",fieldTrustEnabled:"Trust Mode",fieldTrustEnabledDesc:"Enable auto-approval for tool calls",fieldTrustPassphrase:"Trust Passphrase",fieldTrustPassphraseDesc:"Passphrase to enable trust mode",fieldProjectType:"Project Type",fieldProjectTypeDesc:"Override auto-detected project type",fieldPackageManager:"Package Manager",fieldPackageManagerDesc:"Override auto-detected package manager",fieldFramework:"Framework",fieldFrameworkDesc:"Override auto-detected framework",fieldGeminiModel:"Gemini Model",fieldGeminiModelDesc:"Gemini model for CLI commands; legacy gemini-3.0-* ids auto-map",geminiModel25Flash:"Gemini 2.5 Flash — All tiers",geminiModel25Pro:"Gemini 2.5 Pro — May hit capacity limits",geminiModel3FlashPreview:"Gemini 3 Flash Preview — Pro/Ultra only",geminiModel3ProPreview:"Gemini 3 Pro Preview — Pro/Ultra only",fieldResearchUseGemini:"Use Gemini for Research",fieldResearchUseGeminiDesc:"Use Gemini CLI instead of WebSearch",fieldDocsMaxLoc:"Max Lines per Doc",fieldDocsMaxLocDesc:"Maximum lines of code per documentation file",fieldPlanNamingFormat:"Plan Naming Format",fieldPlanNamingFormatDesc:"Format for plan directory names",fieldPlanDateFormat:"Plan Date Format",fieldPlanDateFormatDesc:"Date format for plan names (moment.js)",fieldPlanValidationMode:"Validation Mode",fieldPlanValidationModeDesc:"How to validate plans before implementation",fieldPlanMinQuestions:"Min Questions",fieldPlanMinQuestionsDesc:"Minimum validation questions",fieldPlanMaxQuestions:"Max Questions",fieldPlanMaxQuestionsDesc:"Maximum validation questions",fieldAssertions:"Assertions",fieldAssertionsDesc:"Code assertions and rules to enforce",fieldHookSessionInit:"Session Init",fieldHookSessionInitDesc:"Project detection and environment setup",fieldHookSubagentInit:"Subagent Init",fieldHookSubagentInitDesc:"Inject context to subagents",fieldHookDescriptiveName:"Descriptive Name",fieldHookDescriptiveNameDesc:"Enforce kebab-case descriptive file naming for scripts",fieldHookDevRulesReminder:"Dev Rules Reminder",fieldHookDevRulesReminderDesc:"Inject development rules context",fieldHookUsageContextAwareness:"Usage Prompt Awareness",fieldHookUsageContextAwarenessDesc:"Inject usage-limit awareness into prompts",fieldHookContextTracking:"Context Tracking",fieldHookContextTrackingDesc:"Context window tracking (% used, token counts)",fieldHookScoutBlock:"Scout Block",fieldHookScoutBlockDesc:"Block heavy directories from exploration",fieldHookPrivacyBlock:"Privacy Block Hook",fieldHookPrivacyBlockDesc:"Block sensitive files from reading",fieldHookPostEditSimplify:"Post-Edit Simplify",fieldHookPostEditSimplifyDesc:"Simplify reminder after edits",sectionUpdatePipeline:"Update Pipeline",fieldAutoInitAfterUpdate:"Auto Init After Update",fieldAutoInitAfterUpdateDesc:"Automatically run ck init after ck update when kit has new version",fieldAutoMigrateAfterUpdate:"Auto Migrate After Update",fieldAutoMigrateAfterUpdateDesc:"Automatically run ck migrate after ck update (independent of init)",fieldMigrateProviders:"Migrate Providers",fieldMigrateProvidersDesc:"Which providers to auto-migrate. Use 'auto' to scan filesystem or a comma-separated list.",skillsPageTitle:"Skills Management",skillsPageDesc:"Install ClaudeKit skills to your coding agents",availableSkills:"Available Skills",installedSkills:"Installed Skills",noSkillsFound:"No skills found",installSkill:"Install",uninstallSkill:"Uninstall",manageSkill:"Manage",syncRegistry:"Sync",installSkillTitle:"Install Skill",selectAgents:"Select target agents",installLocation:"Installation location",globalInstall:"Global",projectInstall:"Project",confirmInstall:"Install to selected agents",installingSkill:"Installing...",skillInstallSuccess:"Skill installed successfully",skillInstallFailed:"Installation failed",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Installed",notInstalled:"Not installed",allAgents:"All Agents",filterByAgent:"Filter by agent",skillsTitle:"Skills",skillsSubtitle:"Browse, install, and manage skills for your coding agents",availableCount:"Available",installedCount:"Installed",agentsCount:"Agents",searchSkills:"Search skills...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Category",sortInstalledFirst:"Installed first",listView:"List view",gridView:"Grid view",categoryAll:"All",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Security",categoryDevOps:"DevOps",categoryDatabase:"Database",categoryDevelopment:"Development",categoryResearch:"Research",categoryGeneral:"General",categoryCore:"Core",categoryDocumentation:"Documentation",categoryTooling:"Tooling",categoryMedia:"Media",categoryFrameworks:"Frameworks",skillsCountLabel:"{count} skills",installToAll:"Install to All Detected",scopeLabel:"Installation Scope",agentInstalled:"Installed",agentNotInstalled:"Not installed",skillSource:"Source location",skillSourceBadge:"Source",detailPanelClose:"Close",versionLabel:"v{version}",installAllToAllAgents:"Install All to All Agents",bulkInstallFailed:"Bulk install failed",noAgentsDetected:"No agents detected",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Customized",installedVersionLabel:"Installed Version",installedAtLabel:"Installed At",sourceTimestampLabel:"Source Date",kitLabel:"Kit",skillMetadata:"Skill Info",migrate:"Migrate",migrateTitle:"Migrate",migrateSubtitle:"Migrate your Claude Code stack to other providers",migrateDetectedProviders:"Detected",migrateSelectedProviders:"Selected",migrateDiscovering:"Discovering migration sources...",migrateRefresh:"Refresh Discovery",migrateRun:"Run Migration",migrateRunning:"Migrating...",migrateSourceSummary:"Source Summary",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetCore:"Codex + Antigravity + Droid",migratePresetDetected:"All Detected",migrateScope:"Scope",migrateScopeProject:"Project",migrateScopeGlobal:"Global",migrateTypes:"Portable Types",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateTypeHooks:"Hooks",migrateSearchProviders:"Search providers...",migrateSelectVisible:"Select Visible",migrateClearSelection:"Clear Selection",migrateProvidersHeading:"Target Providers",migrateProvidersCountSuffix:"providers",migrateNoProvidersMatch:"No providers match current filters.",migrateSelectButton:"Select",migrateSelectedButton:"Selected",migrateSelectProviderAction:"Select Provider",migrateUnselectProvider:"Unselect Provider",migrateCapabilitiesLabel:"types",migrateCapabilitiesSection:"Capability Matrix",migrateSupported:"Supported",migrateUnsupportedShort:"Unsupported",migrateIncludedEnabled:"Enabled",migrateIncludedDisabled:"Disabled",migrateLatestTarget:"Latest Target",migrateNoResultForProvider:"No migration result for this provider yet.",migrateActionSummaryTitle:"Ready to Migrate",migrateGlobalOnlyCommandsShort:"Commands global-only",migrateNoProviders:"No providers available.",migrateUnsupported:"Will be skipped (unsupported)",migrateGlobalForced:"Codex commands are global-only. Scope will be forced to global.",migrateResults:"Migration Results",migrateInstalled:"Installed",migrateSkipped:"Skipped",migrateFailed:"Failed",migrateProvider:"Provider",migrateStatus:"Status",migratePath:"Path",migrateError:"Error",migrateStatusInstalled:"Installed",migrateStatusSkipped:"Skipped",migrateStatusFailed:"Failed",migrateNoResults:"No migration results yet.",migrateDetectFailed:"Failed to discover migration data",migrateExecuteFailed:"Migration execution failed",migrateSelectProvider:"Select at least one provider",migrateNoTypesEnabled:"Enable at least one portable type",migrateDetectedTag:"Detected",migrateNotDetectedTag:"Not detected",migrateFilterRecommended:"Recommended",migrateActionInstall:"Install",migrateActionUpdate:"Update",migrateActionSkip:"Skip",migrateActionConflict:"Conflict",migrateActionDelete:"Delete",migrateUnchanged:"unchanged",migrateConflictSectionTitle:"Conflicts",migrateConflictUseCK:"Use CK",migrateConflictKeepMine:"Keep Mine",migrateConflictSmartMerge:"Smart Merge",migrateConflictShowDiff:"Show Diff",migrateConflictHideDiff:"Hide Diff",migrateConflictResolved:"Resolved",migrateConflictManual:"Manual",migrateConflictOverwriteAll:"Overwrite All",migrateConflictKeepAll:"Keep All",migrateSummaryTitle:"Migration Complete",migrateSummaryNewMigration:"New Migration",migrateType:"Type",migrateItem:"Item",migrateReconciling:"Analyzing changes...",migrateReviewPlan:"Review Plan",migrateExecutePlan:"Execute Migration",migrateExecuting:"Executing migration...",migrateResolveConflicts:"Resolve all conflicts before executing",migrateSummarySubtitle:"items migrated",migrateSummarySearchPlaceholder:"Search items...",migrateSummaryFilterAll:"All",migrateSummaryCollapseAll:"Collapse all",migrateSummaryExpandAll:"Expand all",migrateSummaryNoResults:"No items match your search",migrateSummaryProviders:"Providers",migrateTypeUnknown:"Other",kanbanTitle:"Plan Kanban",kanbanNoFile:"No plan file specified. Use ?file= parameter.",kanbanNoPhases:"No phases detected in this plan",kanbanError400:"Invalid request — missing file parameter",kanbanError403:"Access denied — file is outside the project directory",kanbanError404:"Plan file not found",kanbanComplete:"complete",kanbanStatus_pending:"Pending","kanbanStatus_in-progress":"In Progress",kanbanStatus_completed:"Completed",kanbanPhases:"phases",kanbanProgress:"Progress",kanbanLoadError:"Failed to load plan data",plansNav:"Plans",plansTitle:"Plans Dashboard",plansSubtitle:"Browse active plans, inspect phase timelines, and manage progress from one place.",plansEmpty:"No plans found",plansSearch:"Search plans...",plansViewGrid:"Grid",plansViewKanban:"Kanban",plansFilterAll:"All statuses",plansSortDateDesc:"Newest first",plansSortDateAsc:"Oldest first",plansSortNameAsc:"Name A-Z",plansSortNameDesc:"Name Z-A",plansSortProgress:"Highest progress",plansLabel:"Plan",plansStatusPending:"Pending",plansStatusInProgress:"In Progress",plansStatusInReview:"In Review",plansStatusDone:"Done",plansStatusCancelled:"Cancelled",plansStatusUnknown:"Unknown",plansBackToPlans:"Back to Plans",plansBackToPlan:"Back to Plan",plansPrevious:"Previous",plansNext:"Next",plansContents:"Contents",plansValidate:"Validate",plansStartNext:"Start Next",plansRestart:"Restart",plansStart:"Start",plansComplete:"Complete",plansReset:"Reset",plansTimeline:"Timeline",plansActivity:"Activity",plansActivitySubtitle:"Last 12 weeks",plansActivityCombined:"Combined",plansActivityCommits:"Commits",plansActivityFiles:"Files",plansActivityEmpty:"No activity data available.",plansHeatmapLoadError:"Failed to load activity heatmap.",plansHeatmapChanges:"{date} • {count} changes",plansRead:"Read",plansPhases:"Phases",plansPhase:"Phase",plansPhaseCountCompact:"PH-{count}",plansKanbanEmpty:"Empty",plansLoadingPlan:"Loading plan...",plansLoadingReader:"Loading document...",plansLoadPlanFailed:"Failed to load plan ({status})",plansLoadPlanFallback:"Failed to load plan",plansLoadFileFailed:"Failed to load document ({status})",plansLoadFileFallback:"Failed to load document",plansProgressComplete:"{count}% complete",plansPhaseCount:"{count} phases",plansPriority:"Priority",plansUpdated:"Updated",plansLastUpdated:"Last Updated",plansPriorityLabel:"Priority {value}",plansUpdatedLabel:"Updated {value}",plansTimelineAvgDays:"{count} avg days",plansNoEffort:"No effort",plansNotFound:"Plan not found",plansQuickInfoTitle:"Plan Overview",plansQuickInfoDescription:"Use this view to track phase progress, timeline coverage, and recent activity for this plan.",plansCurrentStatus:"Current Status",plansHeatmapMon:"Mon",plansHeatmapWed:"Wed",plansHeatmapFri:"Fri",developmentFeature:"Development",betaFeature:"Beta",experimentalFeature:"Experimental",sectionModelTaxonomy:"Model Taxonomy",taxonomyDescription:"Customize model mappings for portable migration to other coding agents.",taxonomyTierHeavy:"Heavy (opus)",taxonomyTierBalanced:"Balanced (sonnet)",taxonomyTierLight:"Light (haiku)",taxonomyModel:"Model",taxonomyEffort:"Effort",taxonomyResetProvider:"Reset",taxonomyTier:"Tier",statuslineBuilder:"Status Line Builder",statuslineBuilderDescription:"Visually design your Claude Code status-line using drag-and-drop",statuslineSections:"Sections",statuslinePreview:"Preview",statuslineTheme:"Color Theme",statuslineSettings:"General Settings",statuslineResetDefaults:"Reset to Defaults",statuslineSave:"Save",statuslineBaseMode:"Base Mode",statuslineBreakpoint:"Responsive Breakpoint",statuslineMaxAgents:"Max Agent Rows",statuslineTodoTruncation:"Todo Truncation",statuslineEnable:"Enable",statuslineDisable:"Disable",statuslineDragHint:"Drag to reorder, toggle to enable/disable sections",statuslinePresetDefault:"Default",statuslinePresetMonochrome:"Monochrome",statuslinePresetSolarized:"Solarized",statuslinePresetNord:"Nord",statuslinePresetDracula:"Dracula",statuslinePresetCatppuccin:"Catppuccin",statuslinePresetGruvbox:"Gruvbox",statuslinePresetTokyoNight:"Tokyo Night",statuslinePresetRosePine:"Rosé Pine",statuslinePresetOneDark:"One Dark",statuslinePresetAyu:"Ayu",statuslinePresetKanagawa:"Kanagawa",statuslinePresetStealth:"Stealth",statuslinePresetHacker:"Hacker",statuslineSaved:"Saved successfully",statuslineSaveError:"Save failed",statusline:"Status Line",statuslineCollapseSettings:"Collapse settings",statuslineExpandSettings:"Expand settings",statuslineIconOverride:"Icon override",statuslineLabelOverride:"Label override",statuslineMaxWidth:"Max width (chars)",statuslineIconPlaceholder:"e.g. 🤖",statuslineMaxWidthPlaceholder:"auto",statuslineCustomColors:"Custom colors",statuslineColorContextGroup:"Context Window",statuslineColorQuotaGroup:"Usage Quota",statuslineColorGeneralGroup:"General",statuslineColorSectionGroup:"Section Colors",statuslineColorContextLow:"Low (<50%)",statuslineColorContextMid:"Mid (50-75%)",statuslineColorContextHigh:"High (>75%)",statuslineColorAccent:"Accent",statuslineColorMuted:"Muted",statuslineColorSeparator:"Separator",statuslineModeFullDesc:"All sections visible",statuslineModeCompactDesc:"Condensed display",statuslineModeMinimalDesc:"Essential info only",statuslineModeNoneDesc:"Disabled",statuslinePreviewTitle:"Claude Code — statusline preview",statuslinePreviewEmptyLine:"(empty line)",statuslinePreviewNoLines:"(no lines configured)",statuslineSectionModelLabel:"Model",statuslineSectionContextLabel:"Context Window",statuslineSectionQuotaLabel:"Usage Quota",statuslineSectionDirectoryLabel:"Directory",statuslineSectionGitLabel:"Git Status",statuslineSectionCostLabel:"Cost",statuslineSectionChangesLabel:"Changes",statuslineSectionAgentsLabel:"Agents",statuslineSectionTodosLabel:"Tasks",statuslineSectionModelDesc:"AI model name and provider",statuslineSectionContextDesc:"Context window usage bar",statuslineSectionQuotaDesc:"5-hour and weekly usage quota",statuslineSectionDirectoryDesc:"Current working directory",statuslineSectionGitDesc:"Git branch, staged/unstaged changes",statuslineSectionCostDesc:"Session cost estimate",statuslineSectionChangesDesc:"Lines added and removed",statuslineSectionAgentsDesc:"Recent agent activity",statuslineSectionTodosDesc:"Current task progress",statuslineSectionsVisible:"sections visible",statuslineLoadErrorSaveDisabled:"Could not load saved layout. Saving is disabled to prevent data loss.",statuslineAddLine:"Add Line",statuslineRemoveLine:"Remove",statuslineHiddenSections:"Hidden Sections",statuslineDragToLine:"Drag sections to a line to show them",statuslineQuotaLow:"Quota Low",statuslineQuotaHigh:"Quota High",statuslineLine:"Line",sessionsTitle:"Sessions",sessionDetail:"Session Detail",sessionMessages:"messages",sessionToolCalls:"tool calls",sessionDuration:"Duration",noSessionsData:"No sessions found",sessionReadOnly:"Read-only view",sessionLastActive:"Last active",sessionProjectSessions:"Project Sessions",sessionBack:"Back",sessionLoading:"Loading...",sessionError:"Failed to load",sessionCount:"sessions",sessionToolInput:"Input",sessionToolResult:"Result",sessionToolsUsed:"Tools Used",sessionSystemContext:"System Context",sessionExpandAll:"Expand all",sessionCollapseAll:"Collapse all",sessionNoContent:"No text content",sessionUser:"User",sessionAssistant:"Assistant",sessionThinking:"Thinking...",sessionSearchPlaceholder:"Search in conversation...",sessionSearchResults:"results",sessionNoResults:"No matches",sessionGroupMessages:"messages",palettePlaceholder:"Search agents, commands, skills...",paletteNoResults:"No results found",paletteAgents:"Agents",paletteCommands:"Commands",paletteSkills:"Skills",paletteProjects:"Projects",paletteNavigation:"Navigation",skillsBrowser:"Skills",skillsCount:"{count} skills",skillDetail:"Skill Detail",searchSkillsBrowserPlaceholder:"Search skills...",noSkillsBrowserFound:"No skills found",backToSkillsBrowser:"Back to Skills",skillTriggers:"Triggers",skillLocal:"Local",skillGithub:"GitHub",systemNavLabel:"System",dashboardTitle:"Dashboard",dashboardAgents:"Agents",dashboardCommands:"Commands",dashboardSkills:"Skills",dashboardMcpServers:"MCP Servers",configured:"Configured",available:"Available",modelDistribution:"Model Distribution",recentAgents:"Recent Agents",suggestionsTitle:"Suggestions",acrossAgents:"across {count} agents",noAgentsConfigured:"No agents configured in ~/.claude/agents/",mcpTitle:"MCP Servers",mcpServerName:"Server",mcpCommand:"Command",mcpArgs:"Arguments",mcpSource:"Source",mcpStatus:"Status",mcpConfigured:"Configured",mcpNoServers:"No MCP servers configured",mcpSourceSettings:"settings.json",mcpSourceMcpJson:".mcp.json",mcpSourceProject:"Project",mcpToolCount:"Tools",agentsBrowser:"Agents",agentsBrowserCount:"{count} agents",filterAll:"All",agentDetail:"Agent Detail",agentInstructions:"Instructions",agentFrontmatter:"Configuration",searchAgentsPlaceholder:"Search agents...",noAgentsFound:"No agents found",backToAgents:"Back to Agents",commandsBrowser:"Commands",commandsCount:"{count} commands",commandDetail:"Command Detail",searchCommandsPlaceholder:"Search commands...",noCommandsFound:"No commands found",backToCommands:"Back to Commands",rootCommands:"Root",selectToView:"Select an item to view details",indexingFrom:"Indexing from",workflowsTitle:"Workflows",workflowsSubtitle:"Learn ClaudeKit through interactive workflow visualization.",workflowsCredit:"Workflows data and visualization layout inspired by",workflowImplementationRecipe:"Implementation Recipe",workflowSearchPlaceholder:"Search workflows...",workflowNoResults:"No workflows found",loadingWorkflows:"Loading workflows...",workflowCategoryAll:"All",workflowCategoryGettingStarted:"Getting Started",workflowCategoryDesignFrontend:"Design & Frontend",workflowCategoryDebuggingFixes:"Debugging & Fixes",workflowCategoryPlanningReview:"Planning & Review",workflowCategoryResearchDocs:"Research & Docs",workflowCategoryShipping:"Shipping",workflowCategoryBackendInfra:"Backend & Infra",workflowCategoryMediaCreative:"Media & Creative",workflowCategoryAdvanced:"Advanced",workflowComplexityBeginner:"Beginner",workflowComplexityIntermediate:"Intermediate",workflowComplexityAdvanced:"Advanced",workflowBuildFeature:"Build a New Feature",workflowBuildFeatureDesc:"Add new functionality to applications systematically.",workflowQuickImplementation:"Quick Implementation",workflowQuickImplementationDesc:"Fast track implementation for small, understood features.",workflowStartNewProject:"Start New Project",workflowStartNewProjectDesc:"Bootstrap a brand new project with right foundations.",workflowFrontendDesign:"Frontend Design",workflowFrontendDesignDesc:"Create beautiful user interfaces guided by design taste bots.",workflowAiDesignStitch:"AI Design Stitch",workflowAiDesignStitchDesc:"Orchestrate Google Stitch for generating designs from prompt.",workflowExcalidraw:"Excalidraw Design",workflowExcalidrawDesc:"Visualize architectures or mockups using Excalidraw JSON.",workflowFixBug:"Fix Bug",workflowFixBugDesc:"Identify root cause and automatically fix codebase issues.",workflowSecurityAudit:"Security Audit",workflowSecurityAuditDesc:"Thorough security check on the repository.",workflowTestScenarios:"Test Scenarios",workflowTestScenariosDesc:"Generate edge cases and test scenarios by decomposing features.",workflowStride:"STRIDE Analysis",workflowStrideDesc:"Perform a STRIDE + OWASP-based security audit threat model.",workflowCodeReview:"Code Review",workflowCodeReviewDesc:"Review code quality with adversarial rigor.",workflowPlanValidate:"Plan + Validate",workflowPlanValidateDesc:"Draft an architectural plan and rigorously validate its technical feasible.",workflowAdversarialReview:"Adversarial Review",workflowAdversarialReviewDesc:"Trigger a harsh red-team review mapping out potential failure modes.",workflowAutoresearch:"Autonomous Loop",workflowAutoresearchDesc:"Run an autonomous iterative optimization loop for any metric.",workflowXia:"Extract/Port Feature",workflowXiaDesc:"Port or extract a feature algorithm from an external codebase.",workflowVisualDocumentation:"Visual Documentation",workflowVisualDocumentationDesc:"Build diagrams outlining current repo logic and architectures.",workflowTechnicalResearch:"Technical Research",workflowTechnicalResearchDesc:"Investigate technological solutions deeply before writing code.",workflowLlmsTxt:"Generate llms.txt",workflowLlmsTxtDesc:"Analyze the codebase and construct a comprehensive llms.txt file.",workflowDevops:"DevOps / Release",workflowDevopsDesc:"Configure Docker, CI/CD and deploy standard web platforms.",workflowShip:"Ship Pipeline",workflowShipDesc:"Merge, test, review, commit, bump semantic version and PR.",workflowDatabaseOps:"Database Operations",workflowDatabaseOpsDesc:"Write complex aggregation pipelines or optimize database performance.",workflowRemotion:"Remotion Video",workflowRemotionDesc:"Build programmatic video sequences internally.",workflowShowOff:"Show Off Demo",workflowShowOffDesc:"Build an interactive self-contained HTML showcase for a repo.",workflowAgentTeams:"Agent Teams",workflowAgentTeamsDesc:"Spawn isolated team members for parallel coordinated labor.",workflowWorktree:"Worktree Parallelism",workflowWorktreeDesc:"Instantly isolate feature iterations in new worktrees."},vi:{loading:"Đang tải...",error:"Lỗi",selectProject:"Chọn dự án để xem bảng điều khiển",controlCenter:"Trung tâm điều khiển",settings:"Cài đặt",sync:"Đồng bộ",offline:"Ngoại tuyến",switchToLight:"Chuyển sang chế độ sáng",switchToDark:"Chuyển sang chế độ tối",settingsSection:"Cài đặt",overviewSection:"Tổng quan",entitiesSection:"Thực thể",toolsSection:"Công cụ",configEditor:"Trình chỉnh sửa cấu hình",projects:"Dự án",addProject:"Thêm dự án",global:"Toàn cục",skills:"Kỹ năng",skillsNav:"Kỹ năng",health:"Sức khỏe",collapse:"Thu gọn",expand:"Mở rộng",installing:"Đang cài đặt...",manage:"Quản lý",uninstall:"Gỡ cài đặt",installGlobally:"Cài đặt toàn cục",installGloballyDesc:"Khả dụng cho tất cả dự án thay vì chỉ dự án hiện tại",selectAtLeastOneAgent:"Vui lòng chọn ít nhất một agent",installationFailed:"Cài đặt thất bại",allSkills:"Tất cả kỹ năng",refresh:"Làm mới",browseAndManageSkills:"Duyệt và quản lý kỹ năng cho agents của bạn",detected:"Đã phát hiện",notDetected:"Chưa phát hiện",sessions:"phiên",noSessions:"Không có phiên",terminal:"Terminal",terminalSub:"Mở bash tại đường dẫn",editor:"Trình soạn thảo",editorSub:"Mở trong VS Code",useGlobalFallback:"Dùng fallback global",openAtPath:"Mở tại đường dẫn dự án",openAppOnly:"Chỉ mở ứng dụng",actionOptionsLoadFailed:"Không thể tải tùy chọn editor/terminal",launch:"Khởi chạy",launchSub:"Bắt đầu Claude Code",config:"Cấu hình",configSub:"Quản lý cài đặt dự án",recentSessions:"Phiên gần đây",viewAllHistory:"Xem tất cả lịch sử",showLess:"Thu gọn",actionFailed:"Thao tác thất bại",loadingSessions:"Đang tải phiên...",noSessionsFound:"Không tìm thấy phiên nào",configuration:"Cài đặt Claude",activeKit:"Kit hoạt động",aiModel:"Mô hình",hooks:"Hooks",active:"hoạt động",mcpServers:"Máy chủ MCP",connected:"kết nối",editProjectConfig:"Chỉnh sửa cấu hình dự án",globalSettings:"(Toàn cục)",globalSkills:"Kỹ năng toàn cục",loadingSkills:"Đang tải kỹ năng...",noDescription:"Không có mô tả",browseSkillsMarketplace:"Duyệt Skills Marketplace",backToDashboard:"Quay lại bảng điều khiển",educationalConfigEditor:"Trình chỉnh sửa cấu hình hướng dẫn",discard:"Hủy bỏ",saveChanges:"Lưu thay đổi",mergedView:"Chế độ gộp",localConfig:"Cục bộ (.ck.json)",globalConfig:"Toàn cục",syntaxValid:"Cú pháp hợp lệ",configurationHelp:"Hướng dẫn cấu hình",field:"Trường",type:"Kiểu",default:"Mặc định",description:"Mô tả",validValues:"Giá trị hợp lệ",systemEffect:"Hiệu ứng hệ thống",exampleUsage:"Ví dụ sử dụng",knowledgeBase:"Cơ sở kiến thức",clickToSeeHelp:"Nhấp vào bất kỳ trường cấu hình nào để xem tài liệu chi tiết và ví dụ sử dụng.",extractedFrom:"Trích xuất từ ClaudeKit v2.x Specification",resetToDefault:"Đặt lại",saving:"Đang lưu...",saved:"Đã lưu",confirmReset:"Đặt lại về mặc định?",confirmResetMessage:"Tất cả thay đổi sẽ bị mất và được thay thế bằng giá trị mặc định.",confirm:"Xác nhận",saveFailed:"Lưu thất bại",configTab:"Cấu hình",systemTab:"Hệ thống",formTab:"Biểu mẫu",jsonTab:"JSON",readOnly:"Chỉ đọc",installedKit:"Kit đã cài",kitVersion:"Phiên bản Kit",installedOn:"Cài đặt vào",noKitInstalled:"Chưa cài kit",components:"Thành phần",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"Quyền sở hữu tệp",ownershipCk:"do kit quản lý",ownershipUser:"do người dùng",ownershipModified:"đã chỉnh sửa",componentInventory:"Thành phần đã cài",installedHooks:"Hooks đã cài",installedMcpServers:"MCP Servers",lastChecked:"Kiểm tra cập nhật",staleIndicator:"Cũ",skippedVersion:"Đã bỏ qua",filesModifiedFromDefaults:"tệp đã sửa so với mặc định",cliCard:"ClaudeKit CLI",checkForUpdates:"Kiểm tra cập nhật",checking:"Đang kiểm tra...",upToDate:"Đã cập nhật",updateAvailable:"Có bản cập nhật",updateNow:"Cập nhật ngay",updating:"Đang cập nhật...",updateSuccess:"Cập nhật hoàn tất!",updateFailed:"Cập nhật thất bại",closeModal:"Đóng",showDetails:"Xem chi tiết",hideDetails:"Ẩn chi tiết",environment:"Môi trường",claudeConfigPath:"Cấu hình Claude",nodeVersion:"Node",bunVersion:"Bun",osVersion:"Hệ điều hành",envShell:"Shell",envHomeDir:"Thư mục gốc",envCpuCores:"Nhân CPU",envTotalMemory:"Bộ nhớ",cliPackageManager:"Trình quản lý gói",cliInstallLocation:"Vị trí cài đặt",cliGitVersion:"Git",cliGhVersion:"GitHub CLI",channelStable:"Ổn định",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Mới nhất",selectVersion:"Chọn phiên bản",loadingVersions:"Đang tải...",prereleaseLabel:"Thử nghiệm",currentVersionLabel:"Hiện tại",checkAll:"Kiểm tra tất cả",checkingAll:"Đang kiểm tra...",updateAll:"Cập nhật tất cả",updatesAvailable:"{count} bản cập nhật",allUpToDate:"Tất cả đã cập nhật",systemControlTower:"Trung tâm hệ thống",systemOverviewTitle:"Tổng quan cập nhật & môi trường",systemOverviewDesc:"Theo dõi CLI và kit, rồi nâng cấp từ một nơi.",installedComponentsHeading:"Thành phần đã cài",updateReadiness:"Mức sẵn sàng cập nhật",checkedComponents:"Đã kiểm tra",activeChannel:"Kênh",readyToScan:"Sẵn sàng kiểm tra",noTrackedFiles:"Không phát hiện tệp theo dõi",kitsLabel:"Kit",componentFilterAll:"Tất cả",componentFilterUpdates:"Bản cập nhật",componentFilterUpdatesCount:"Bản cập nhật ({count})",componentFilterUpToDate:"Đã cập nhật",componentFilterUpToDateCount:"Đã cập nhật ({count})",componentFilterCli:"CLI",componentFilterKits:"Kit",noComponentsMatchFilter:"Không có thành phần phù hợp bộ lọc hiện tại.",runCheckAllForFilter:"Hãy chạy Kiểm tra tất cả để nạp dữ liệu cho bộ lọc này.",noUpdatesFound:"Không có bản cập nhật. Các thành phần đã kiểm tra đều mới nhất.",noUpToDateYet:"Chưa có thành phần nào ở trạng thái đã cập nhật.",configWorkspaceHint:"Chỉnh sửa cấu hình hoặc quản lý cập nhật hệ thống trong một màn hình.",settingsJsonHeading:"JSON Cài đặt Claude",settingsJsonMissing:"Không tìm thấy tệp ~/.claude/settings.json.",settingsJsonLoadFailed:"Không thể tải ~/.claude/settings.json.",settingsBackupSaved:"Đã lưu bản sao lưu",hookDiagnosticsTitle:"Chẩn đoán Hook",hookDiagnosticsDesc:"Xem hoạt động hook gần đây và lỗi mà không cần mở tệp JSONL thủ công.",hookDiagnosticsPathPending:"Đang xác định đường dẫn log...",hookDiagnosticsScopeGlobal:"Hook toàn cục",hookDiagnosticsEntries:"Bản ghi",hookDiagnosticsCrashes:"Sự cố",hookDiagnosticsWarnings:"Cảnh báo",hookDiagnosticsBlocks:"Chặn",hookDiagnosticsLastEvent:"Sự kiện cuối",hookDiagnosticsLoading:"Đang tải chẩn đoán hook...",hookDiagnosticsLoadFailed:"Không thể tải chẩn đoán hook",hookDiagnosticsMissing:"Chưa tìm thấy tệp log hook cho phạm vi này.",hookDiagnosticsEmpty:"Tệp log hook có tồn tại nhưng không có bản ghi đọc được.",hookDiagnosticsParseErrorsNotice:"Đã bỏ qua {count} dòng log bị lỗi khi tải chẩn đoán.",hookDiagnosticsTruncatedNotice:"Đang hiển thị cửa sổ bản ghi gần đây để giữ giao diện phản hồi tốt với log lớn.",hookDiagnosticsToolLabel:"công cụ",hookDiagnosticsTargetLabel:"mục tiêu",hookDiagnosticsUnknown:"Không rõ",hookDiagnostics:"Chẩn đoán Hook",hookEvent:"Sự kiện",hookExecutions:"Lần chạy",hookAvgLatency:"Trung bình",hookFailureRate:"Tỉ lệ lỗi",hookLastRun:"Lần cuối",hookLatencyWarning:"Độ trễ > 500ms",activityMetrics:"Hoạt động",activityTotalSessions:"Tổng phiên",activityMostActive:"Dự án hoạt động nhiều nhất",activityPeriod24h:"24h",activityPeriod7d:"7 ngày",activityPeriod30d:"30 ngày",activityNoData:"Không có dữ liệu",addProjectTitle:"Thêm dự án",addProjectDescription:"Thêm dự án ClaudeKit mới vào trung tâm điều khiển",projectPath:"Đường dẫn dự án",pathPlaceholder:"/đường/dẫn/dự/án",alias:"Bí danh",aliasOptional:"(tùy chọn)",aliasPlaceholder:"dự-án-của-tôi",aliasDescription:"Tên hiển thị tùy chỉnh cho dự án",pathRequired:"Đường dẫn bắt buộc",failedToAdd:"Không thể thêm dự án",cancel:"Hủy",adding:"Đang thêm...",somethingWentWrong:"Đã xảy ra lỗi",reloadApp:"Tải lại ứng dụng",serverNotRunning:"Máy chủ không chạy",startServerMessage:"Config UI yêu cầu máy chủ backend đang chạy.",runThisCommand:"Chạy lệnh này",tryAgain:"Thử lại",projectConfig:"Cấu hình dự án",inheritedFromGlobal:"Kế thừa từ toàn cục",localOverride:"Ghi đè cục bộ",viewGlobalConfig:"Trường này kế thừa từ cấu hình toàn cục. Xem",onboardingTitle:"Chào mừng đến ClaudeKit",onboardingSubtitle:"Chọn kit của bạn và bắt đầu trong vài phút",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"Lập trình AI với skills, hooks và multi-agent",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Tự động hóa nội dung: chiến dịch, mạng xã hội, phân tích",featureAgents:"AI Agents",featureAgentsDesc:"Các agent chuyên biệt cho từng tác vụ",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Tùy chỉnh hành vi của Claude tại các thời điểm quan trọng",featureSkills:"Thư viện Skills",featureSkillsDesc:"Các khả năng có sẵn bạn có thể kích hoạt",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Phối hợp nhiều agent cho các tác vụ phức tạp",featureContent:"Tạo nội dung",featureContentDesc:"Tự động tạo và tối ưu nội dung",featureSocial:"Công cụ mạng xã hội",featureSocialDesc:"Lên lịch, phân tích và tự động tương tác",stepChooseKit:"Chọn Kit",stepConfigure:"Cấu hình",stepInstall:"Cài đặt",back:"Quay lại",next:"Tiếp theo",install:"Cài đặt",installSuccess:"Cài đặt hoàn tất!",installSuccessDesc:"{kit} đã sẵn sàng sử dụng",getStarted:"Bắt đầu",goToDashboard:"Đi đến Dashboard",kitConfig:"Cấu hình Kit",kitConfigSubtitle:"Cấu hình ClaudeKit Engineer",scopeGlobal:"Toàn cục",scopeProject:"Dự án",sectionGeneral:"Cài đặt chung",sectionPaths:"Đường dẫn",sectionPrivacy:"Bảo mật & Tin cậy",sectionProject:"Phát hiện dự án",sectionIntegrations:"Tích hợp",sectionHooks:"Hooks",sectionAdvanced:"Nâng cao",fieldCodingLevel:"Cấp độ lập trình",fieldCodingLevelDesc:"Cấp độ kinh nghiệm (-1=tự động, 0=mới bắt đầu, 1=trung cấp, 2=nâng cao, 3=chuyên gia, 4=tech-lead, 5=thần)",fieldStatusline:"Chế độ thanh trạng thái",fieldStatuslineDesc:"Lượng thông tin hiển thị trên thanh trạng thái",fieldStatuslineColors:"Màu thanh trạng thái",fieldStatuslineColorsDesc:"Bật màu ANSI trong thanh trạng thái",fieldStatuslineQuota:"Hiển thị Quota Statusline",fieldStatuslineQuotaDesc:"Hiển thị các nhãn quota 5h / wk trong statusline",fieldThinkingLanguage:"Ngôn ngữ suy nghĩ",fieldThinkingLanguageDesc:"Ngôn ngữ cho suy luận nội bộ của Claude (null=Tiếng Anh)",fieldResponseLanguage:"Ngôn ngữ phản hồi",fieldResponseLanguageDesc:"Ngôn ngữ cho phản hồi của Claude (null=theo người dùng)",fieldDocsPath:"Thư mục tài liệu",fieldDocsPathDesc:"Đường dẫn đến thư mục tài liệu",fieldPlansPath:"Thư mục kế hoạch",fieldPlansPathDesc:"Đường dẫn đến thư mục kế hoạch",fieldPrivacyBlock:"Chặn quyền riêng tư",fieldPrivacyBlockDesc:"Chặn truy cập file nhạy cảm (.env, credentials)",fieldTrustEnabled:"Chế độ tin cậy",fieldTrustEnabledDesc:"Tự động phê duyệt các tool calls",fieldTrustPassphrase:"Mật khẩu tin cậy",fieldTrustPassphraseDesc:"Mật khẩu để bật chế độ tin cậy",fieldProjectType:"Loại dự án",fieldProjectTypeDesc:"Ghi đè loại dự án tự động phát hiện",fieldPackageManager:"Trình quản lý gói",fieldPackageManagerDesc:"Ghi đè trình quản lý gói tự động phát hiện",fieldFramework:"Framework",fieldFrameworkDesc:"Ghi đè framework tự động phát hiện",fieldGeminiModel:"Mô hình Gemini",fieldGeminiModelDesc:"Mô hình Gemini cho các lệnh CLI; id gemini-3.0-* cũ sẽ tự động ánh xạ",geminiModel25Flash:"Gemini 2.5 Flash — Mọi tài khoản",geminiModel25Pro:"Gemini 2.5 Pro — Có thể bị giới hạn dung lượng",geminiModel3FlashPreview:"Gemini 3 Flash Preview — Chỉ Pro/Ultra",geminiModel3ProPreview:"Gemini 3 Pro Preview — Chỉ Pro/Ultra",fieldResearchUseGemini:"Dùng Gemini cho nghiên cứu",fieldResearchUseGeminiDesc:"Dùng Gemini CLI thay vì WebSearch",fieldDocsMaxLoc:"Số dòng tối đa/tài liệu",fieldDocsMaxLocDesc:"Số dòng code tối đa cho mỗi file tài liệu",fieldPlanNamingFormat:"Định dạng tên kế hoạch",fieldPlanNamingFormatDesc:"Định dạng cho tên thư mục kế hoạch",fieldPlanDateFormat:"Định dạng ngày kế hoạch",fieldPlanDateFormatDesc:"Định dạng ngày cho tên kế hoạch (moment.js)",fieldPlanValidationMode:"Chế độ xác thực",fieldPlanValidationModeDesc:"Cách xác thực kế hoạch trước khi triển khai",fieldPlanMinQuestions:"Số câu hỏi tối thiểu",fieldPlanMinQuestionsDesc:"Số câu hỏi xác thực tối thiểu",fieldPlanMaxQuestions:"Số câu hỏi tối đa",fieldPlanMaxQuestionsDesc:"Số câu hỏi xác thực tối đa",fieldAssertions:"Assertions",fieldAssertionsDesc:"Các assertions và quy tắc cần thực thi",fieldHookSessionInit:"Khởi tạo phiên",fieldHookSessionInitDesc:"Phát hiện dự án và thiết lập môi trường",fieldHookSubagentInit:"Khởi tạo subagent",fieldHookSubagentInitDesc:"Inject context vào subagents",fieldHookDescriptiveName:"Tên mô tả",fieldHookDescriptiveNameDesc:"Bắt buộc đặt tên file dạng kebab-case mô tả cho scripts",fieldHookDevRulesReminder:"Nhắc nhở quy tắc dev",fieldHookDevRulesReminderDesc:"Inject context quy tắc phát triển",fieldHookUsageContextAwareness:"Nhận thức sử dụng cho prompt",fieldHookUsageContextAwarenessDesc:"Inject nhận thức giới hạn sử dụng vào prompt",fieldHookContextTracking:"Theo dõi ngữ cảnh",fieldHookContextTrackingDesc:"Theo dõi cửa sổ ngữ cảnh (% đã dùng, số token)",fieldHookScoutBlock:"Chặn Scout",fieldHookScoutBlockDesc:"Chặn thư mục nặng khỏi việc khám phá",fieldHookPrivacyBlock:"Hook chặn quyền riêng tư",fieldHookPrivacyBlockDesc:"Chặn đọc file nhạy cảm",fieldHookPostEditSimplify:"Đơn giản sau chỉnh sửa",fieldHookPostEditSimplifyDesc:"Nhắc đơn giản sau khi chỉnh sửa",sectionUpdatePipeline:"Pipeline Cập nhật",fieldAutoInitAfterUpdate:"Tự động Init sau Update",fieldAutoInitAfterUpdateDesc:"Tự động chạy ck init sau ck update khi kit có phiên bản mới",fieldAutoMigrateAfterUpdate:"Tự động Migrate sau Update",fieldAutoMigrateAfterUpdateDesc:"Tự động chạy ck migrate sau ck update (độc lập với init)",fieldMigrateProviders:"Provider Migrate",fieldMigrateProvidersDesc:"Provider nào tự động migrate. Dùng 'auto' để quét hệ thống hoặc danh sách phân cách bằng dấu phẩy.",skillsPageTitle:"Quản lý Kỹ năng",skillsPageDesc:"Cài đặt kỹ năng ClaudeKit cho các agent lập trình",availableSkills:"Kỹ năng có sẵn",installedSkills:"Kỹ năng đã cài",noSkillsFound:"Không tìm thấy kỹ năng",installSkill:"Cài đặt",uninstallSkill:"Gỡ cài đặt",manageSkill:"Quản lý",syncRegistry:"Đồng bộ",installSkillTitle:"Cài đặt Kỹ năng",selectAgents:"Chọn agent đích",installLocation:"Vị trí cài đặt",globalInstall:"Toàn cục",projectInstall:"Dự án",confirmInstall:"Cài đặt cho các agent đã chọn",installingSkill:"Đang cài đặt...",skillInstallSuccess:"Cài đặt kỹ năng thành công",skillInstallFailed:"Cài đặt thất bại",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Đã cài",notInstalled:"Chưa cài",allAgents:"Tất cả Agent",filterByAgent:"Lọc theo agent",skillsTitle:"Kỹ năng",skillsSubtitle:"Duyệt, cài đặt và quản lý kỹ năng cho coding agents",availableCount:"Có sẵn",installedCount:"Đã cài",agentsCount:"Agents",searchSkills:"Tìm kiếm kỹ năng...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Danh mục",sortInstalledFirst:"Đã cài trước",listView:"Dạng danh sách",gridView:"Dạng lưới",categoryAll:"Tất cả",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Bảo mật",categoryDevOps:"DevOps",categoryDatabase:"Cơ sở dữ liệu",categoryDevelopment:"Phát triển",categoryResearch:"Nghiên cứu",categoryGeneral:"Tổng quát",categoryCore:"Cốt lõi",categoryDocumentation:"Tài liệu",categoryTooling:"Công cụ",categoryMedia:"Phương tiện",categoryFrameworks:"Framework",skillsCountLabel:"{count} kỹ năng",installToAll:"Cài cho tất cả đã phát hiện",scopeLabel:"Phạm vi cài đặt",agentInstalled:"Đã cài",agentNotInstalled:"Chưa cài",skillSource:"Vị trí nguồn",skillSourceBadge:"Nguồn",detailPanelClose:"Đóng",versionLabel:"v{version}",installAllToAllAgents:"Cài tất cả cho tất cả Agent",bulkInstallFailed:"Cài hàng loạt thất bại",noAgentsDetected:"Không phát hiện agent nào",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Đã tùy chỉnh",installedVersionLabel:"Phiên bản cài đặt",installedAtLabel:"Cài đặt lúc",sourceTimestampLabel:"Ngày nguồn",kitLabel:"Kit",skillMetadata:"Thông tin Skill",migrate:"Di trú",migrateTitle:"Di trú",migrateSubtitle:"Chuyển toàn bộ stack Claude Code sang provider khác",migrateDetectedProviders:"Đã phát hiện",migrateSelectedProviders:"Đã chọn",migrateDiscovering:"Đang quét nguồn di trú...",migrateRefresh:"Làm mới quét",migrateRun:"Chạy di trú",migrateRunning:"Đang di trú...",migrateSourceSummary:"Tổng quan nguồn",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetCore:"Codex + Antigravity + Droid",migratePresetDetected:"Tất cả đã phát hiện",migrateScope:"Phạm vi",migrateScopeProject:"Dự án",migrateScopeGlobal:"Toàn cục",migrateTypes:"Loại di trú",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateTypeHooks:"Hooks",migrateSearchProviders:"Tìm provider...",migrateSelectVisible:"Chọn phần đang hiện",migrateClearSelection:"Bỏ chọn tất cả",migrateProvidersHeading:"Provider đích",migrateProvidersCountSuffix:"provider",migrateNoProvidersMatch:"Không có provider khớp bộ lọc hiện tại.",migrateSelectButton:"Chọn",migrateSelectedButton:"Đã chọn",migrateSelectProviderAction:"Chọn provider",migrateUnselectProvider:"Bỏ chọn provider",migrateCapabilitiesLabel:"loại",migrateCapabilitiesSection:"Ma trận khả năng",migrateSupported:"Hỗ trợ",migrateUnsupportedShort:"Không hỗ trợ",migrateIncludedEnabled:"Đang bật",migrateIncludedDisabled:"Đang tắt",migrateLatestTarget:"Đích gần nhất",migrateNoResultForProvider:"Chưa có kết quả di trú cho provider này.",migrateActionSummaryTitle:"Sẵn sàng di trú",migrateGlobalOnlyCommandsShort:"Commands chỉ global",migrateNoProviders:"Không có provider khả dụng.",migrateUnsupported:"Sẽ bỏ qua (không hỗ trợ)",migrateGlobalForced:"Lệnh Codex chỉ hỗ trợ global. Phạm vi sẽ tự chuyển global.",migrateResults:"Kết quả di trú",migrateInstalled:"Đã cài",migrateSkipped:"Đã bỏ qua",migrateFailed:"Lỗi",migrateProvider:"Provider",migrateStatus:"Trạng thái",migratePath:"Đường dẫn",migrateError:"Lỗi",migrateStatusInstalled:"Đã cài",migrateStatusSkipped:"Đã bỏ qua",migrateStatusFailed:"Lỗi",migrateNoResults:"Chưa có kết quả di trú.",migrateDetectFailed:"Không thể quét dữ liệu di trú",migrateExecuteFailed:"Chạy di trú thất bại",migrateSelectProvider:"Vui lòng chọn ít nhất một provider",migrateNoTypesEnabled:"Bật ít nhất một loại di trú",migrateDetectedTag:"Đã phát hiện",migrateNotDetectedTag:"Chưa phát hiện",migrateFilterRecommended:"Đề xuất",migrateActionInstall:"Cài",migrateActionUpdate:"Cập nhật",migrateActionSkip:"Bỏ qua",migrateActionConflict:"Xung đột",migrateActionDelete:"Xóa",migrateUnchanged:"chưa thay đổi",migrateConflictSectionTitle:"Xung đột",migrateConflictUseCK:"Dùng CK",migrateConflictKeepMine:"Giữ của tôi",migrateConflictSmartMerge:"Merge thông minh",migrateConflictShowDiff:"Hiện diff",migrateConflictHideDiff:"Ẩn diff",migrateConflictResolved:"Đã giải quyết",migrateConflictManual:"Thủ công",migrateConflictOverwriteAll:"Ghi đè tất cả",migrateConflictKeepAll:"Giữ tất cả",migrateSummaryTitle:"Di trú hoàn tất",migrateSummaryNewMigration:"Di trú mới",migrateType:"Loại",migrateItem:"Mục",migrateReconciling:"Đang phân tích thay đổi...",migrateReviewPlan:"Xem kế hoạch",migrateExecutePlan:"Thực hiện di trú",migrateExecuting:"Đang thực hiện di trú...",migrateResolveConflicts:"Giải quyết xung đột trước khi thực hiện",migrateSummarySubtitle:"mục đã di trú",migrateSummarySearchPlaceholder:"Tìm kiếm...",migrateSummaryFilterAll:"Tất cả",migrateSummaryCollapseAll:"Thu gọn",migrateSummaryExpandAll:"Mở rộng",migrateSummaryNoResults:"Không tìm thấy mục nào",migrateSummaryProviders:"Provider",migrateTypeUnknown:"Khác",kanbanTitle:"Bảng Kanban Kế hoạch",kanbanNoFile:"Chưa chọn file kế hoạch. Dùng tham số ?file=.",kanbanNoPhases:"Không phát hiện giai đoạn nào trong kế hoạch này",kanbanError400:"Yêu cầu không hợp lệ — thiếu tham số file",kanbanError403:"Truy cập bị từ chối — file nằm ngoài thư mục dự án",kanbanError404:"Không tìm thấy file kế hoạch",kanbanComplete:"hoàn thành",kanbanStatus_pending:"Chờ xử lý","kanbanStatus_in-progress":"Đang thực hiện",kanbanStatus_completed:"Hoàn thành",kanbanPhases:"giai đoạn",kanbanProgress:"Tiến độ",kanbanLoadError:"Không thể tải dữ liệu kế hoạch",plansNav:"Kế hoạch",plansTitle:"Bảng điều khiển kế hoạch",plansSubtitle:"Xem mọi kế hoạch đang hoạt động, timeline giai đoạn và thao tác nhanh trong một nơi.",plansEmpty:"Không tìm thấy kế hoạch",plansSearch:"Tìm kế hoạch...",plansViewGrid:"Lưới",plansViewKanban:"Kanban",plansFilterAll:"Tất cả trạng thái",plansSortDateDesc:"Mới nhất",plansSortDateAsc:"Cũ nhất",plansSortNameAsc:"Tên A-Z",plansSortNameDesc:"Tên Z-A",plansSortProgress:"Tiến độ cao nhất",plansLabel:"Kế hoạch",plansStatusPending:"Chờ xử lý",plansStatusInProgress:"Đang thực hiện",plansStatusInReview:"Đang rà soát",plansStatusDone:"Hoàn tất",plansStatusCancelled:"Đã huỷ",plansStatusUnknown:"Chưa rõ",plansBackToPlans:"Quay lại danh sách kế hoạch",plansBackToPlan:"Quay lại kế hoạch",plansPrevious:"Trước",plansNext:"Sau",plansContents:"Mục lục",plansValidate:"Kiểm tra",plansStartNext:"Bắt đầu tiếp theo",plansRestart:"Bắt đầu lại",plansStart:"Bắt đầu",plansComplete:"Hoàn thành",plansReset:"Đặt lại",plansTimeline:"Timeline",plansActivity:"Hoạt động",plansActivitySubtitle:"12 tuần gần đây",plansActivityCombined:"Tổng hợp",plansActivityCommits:"Commit",plansActivityFiles:"Tệp",plansActivityEmpty:"Chưa có dữ liệu hoạt động.",plansHeatmapLoadError:"Không thể tải heatmap hoạt động.",plansHeatmapChanges:"{date} • {count} thay đổi",plansRead:"Đọc",plansPhases:"Giai đoạn",plansPhase:"Giai đoạn",plansPhaseCountCompact:"GD-{count}",plansKanbanEmpty:"Trống",plansLoadingPlan:"Đang tải kế hoạch...",plansLoadingReader:"Đang tải tài liệu...",plansLoadPlanFailed:"Không thể tải kế hoạch ({status})",plansLoadPlanFallback:"Không thể tải kế hoạch",plansLoadFileFailed:"Không thể tải tài liệu ({status})",plansLoadFileFallback:"Không thể tải tài liệu",plansProgressComplete:"Hoàn thành {count}%",plansPhaseCount:"{count} giai đoạn",plansPriority:"Ưu tiên",plansUpdated:"Cập nhật",plansLastUpdated:"Cập nhật lần cuối",plansPriorityLabel:"Ưu tiên {value}",plansUpdatedLabel:"Cập nhật {value}",plansTimelineAvgDays:"Trung bình {count} ngày",plansNoEffort:"Chưa có effort",plansNotFound:"Không tìm thấy kế hoạch",plansQuickInfoTitle:"Tổng quan kế hoạch",plansQuickInfoDescription:"Dùng chế độ xem này để theo dõi tiến độ giai đoạn, phạm vi timeline và hoạt động gần đây của kế hoạch.",plansCurrentStatus:"Trạng thái hiện tại",plansHeatmapMon:"T Hai",plansHeatmapWed:"T Tư",plansHeatmapFri:"T Sáu",developmentFeature:"Đang phát triển",betaFeature:"Beta",experimentalFeature:"Thử nghiệm",sectionModelTaxonomy:"Phân loại mô hình",taxonomyDescription:"Tuỳ chỉnh ánh xạ mô hình cho migration portable sang coding agent khác.",taxonomyTierHeavy:"Nặng (opus)",taxonomyTierBalanced:"Cân bằng (sonnet)",taxonomyTierLight:"Nhẹ (haiku)",taxonomyModel:"Mô hình",taxonomyEffort:"Mức nỗ lực",taxonomyResetProvider:"Đặt lại",taxonomyTier:"Cấp độ",statuslineBuilder:"Trình tạo dòng trạng thái",statuslineBuilderDescription:"Thiết kế bố cục dòng trạng thái bằng kéo và thả",statuslineSections:"Các mục",statuslinePreview:"Xem trước",statuslineTheme:"Giao diện màu sắc",statuslineSettings:"Cài đặt chung",statuslineResetDefaults:"Đặt lại mặc định",statuslineSave:"Lưu",statuslineBaseMode:"Chế độ cơ bản",statuslineBreakpoint:"Điểm ngắt responsive",statuslineMaxAgents:"Số agent tối đa",statuslineTodoTruncation:"Cắt ngắn task",statuslineEnable:"Bật",statuslineDisable:"Tắt",statuslineDragHint:"Kéo để thay đổi thứ tự, bật/tắt từng mục",statuslinePresetDefault:"Mặc định",statuslinePresetMonochrome:"Đơn sắc",statuslinePresetSolarized:"Solarized",statuslinePresetNord:"Nord",statuslinePresetDracula:"Dracula",statuslinePresetCatppuccin:"Catppuccin",statuslinePresetGruvbox:"Gruvbox",statuslinePresetTokyoNight:"Tokyo Night",statuslinePresetRosePine:"Rosé Pine",statuslinePresetOneDark:"One Dark",statuslinePresetAyu:"Ayu",statuslinePresetKanagawa:"Kanagawa",statuslinePresetStealth:"Ẩn mình",statuslinePresetHacker:"Hacker",statuslineSaved:"Đã lưu thành công",statuslineSaveError:"Lưu thất bại",statusline:"Dòng trạng thái",statuslineCollapseSettings:"Thu gọn cài đặt",statuslineExpandSettings:"Mở rộng cài đặt",statuslineIconOverride:"Ghi đè biểu tượng",statuslineLabelOverride:"Ghi đè nhãn",statuslineMaxWidth:"Chiều rộng tối đa (ký tự)",statuslineIconPlaceholder:"vd. 🤖",statuslineMaxWidthPlaceholder:"tự động",statuslineCustomColors:"Màu tùy chỉnh",statuslineColorContextGroup:"Cửa sổ ngữ cảnh",statuslineColorQuotaGroup:"Hạn mức sử dụng",statuslineColorGeneralGroup:"Chung",statuslineColorSectionGroup:"Màu từng mục",statuslineColorContextLow:"Thấp (<50%)",statuslineColorContextMid:"Trung (50-75%)",statuslineColorContextHigh:"Cao (>75%)",statuslineColorAccent:"Nhấn mạnh",statuslineColorMuted:"Giảm nhạt",statuslineColorSeparator:"Dấu phân cách",statuslineModeFullDesc:"Hiển thị tất cả các mục",statuslineModeCompactDesc:"Hiển thị thu gọn",statuslineModeMinimalDesc:"Chỉ thông tin cần thiết",statuslineModeNoneDesc:"Đã tắt",statuslinePreviewTitle:"Claude Code — xem trước dòng trạng thái",statuslinePreviewEmptyLine:"(dòng trống)",statuslinePreviewNoLines:"(chưa cấu hình dòng nào)",statuslineSectionModelLabel:"Mô hình",statuslineSectionContextLabel:"Cửa sổ ngữ cảnh",statuslineSectionQuotaLabel:"Hạn mức sử dụng",statuslineSectionDirectoryLabel:"Thư mục",statuslineSectionGitLabel:"Trạng thái Git",statuslineSectionCostLabel:"Chi phí",statuslineSectionChangesLabel:"Thay đổi",statuslineSectionAgentsLabel:"Agents",statuslineSectionTodosLabel:"Nhiệm vụ",statuslineSectionModelDesc:"Tên mô hình AI và nhà cung cấp",statuslineSectionContextDesc:"Thanh sử dụng cửa sổ ngữ cảnh",statuslineSectionQuotaDesc:"Hạn mức sử dụng 5 giờ và hàng tuần",statuslineSectionDirectoryDesc:"Thư mục làm việc hiện tại",statuslineSectionGitDesc:"Nhánh Git, thay đổi đã/chưa staged",statuslineSectionCostDesc:"Ước tính chi phí phiên",statuslineSectionChangesDesc:"Dòng thêm và xóa",statuslineSectionAgentsDesc:"Hoạt động agent gần đây",statuslineSectionTodosDesc:"Tiến độ tác vụ hiện tại",statuslineSectionsVisible:"mục hiển thị",statuslineLoadErrorSaveDisabled:"Không thể tải bố cục đã lưu. Tính năng lưu đã bị tắt để tránh mất dữ liệu.",statuslineAddLine:"Thêm dòng",statuslineRemoveLine:"Xóa",statuslineHiddenSections:"Mục ẩn",statuslineDragToLine:"Kéo mục vào dòng để hiển thị",statuslineQuotaLow:"Hạn mức thấp",statuslineQuotaHigh:"Hạn mức cao",statuslineLine:"Dòng",sessionsTitle:"Phiên làm việc",sessionDetail:"Chi tiết phiên",sessionMessages:"tin nhắn",sessionToolCalls:"lệnh gọi",sessionDuration:"Thời lượng",noSessionsData:"Không tìm thấy phiên",sessionReadOnly:"Chế độ chỉ xem",sessionLastActive:"Hoạt động lần cuối",sessionProjectSessions:"Phiên dự án",sessionBack:"Quay lại",sessionLoading:"Đang tải...",sessionError:"Tải thất bại",sessionCount:"phiên",sessionToolInput:"Đầu vào",sessionToolResult:"Kết quả",sessionToolsUsed:"Công cụ đã dùng",sessionSystemContext:"Ngữ cảnh hệ thống",sessionExpandAll:"Mở rộng tất cả",sessionCollapseAll:"Thu gọn tất cả",sessionNoContent:"Không có nội dung",sessionUser:"Người dùng",sessionAssistant:"Trợ lý",sessionThinking:"Đang suy nghĩ...",sessionSearchPlaceholder:"Tìm trong hội thoại...",sessionSearchResults:"kết quả",sessionNoResults:"Không tìm thấy",sessionGroupMessages:"tin nhắn",palettePlaceholder:"Tìm agents, lệnh, skills...",paletteNoResults:"Không tìm thấy kết quả",paletteAgents:"Agents",paletteCommands:"Lệnh",paletteSkills:"Skills",paletteProjects:"Dự án",paletteNavigation:"Điều hướng",skillsBrowser:"Skills",skillsCount:"{count} skills",skillDetail:"Chi tiết Skill",searchSkillsBrowserPlaceholder:"Tìm skills...",noSkillsBrowserFound:"Không tìm thấy skill",backToSkillsBrowser:"Quay lại Skills",skillTriggers:"Kích hoạt",skillLocal:"Cục bộ",skillGithub:"GitHub",systemNavLabel:"Hệ thống",dashboardTitle:"Bảng điều khiển",dashboardAgents:"Agents",dashboardCommands:"Lệnh",dashboardSkills:"Skills",dashboardMcpServers:"MCP Servers",configured:"Đã cấu hình",available:"Có sẵn",modelDistribution:"Phân bổ Model",recentAgents:"Agents gần đây",suggestionsTitle:"Gợi ý",acrossAgents:"trên {count} agents",noAgentsConfigured:"Chưa có agents trong ~/.claude/agents/",mcpTitle:"MCP Servers",mcpServerName:"Server",mcpCommand:"Lệnh",mcpArgs:"Tham số",mcpSource:"Nguồn",mcpStatus:"Trạng thái",mcpConfigured:"Đã cấu hình",mcpNoServers:"Chưa cấu hình MCP server",mcpSourceSettings:"settings.json",mcpSourceMcpJson:".mcp.json",mcpSourceProject:"Dự án",mcpToolCount:"Công cụ",agentsBrowser:"Agents",agentsBrowserCount:"{count} agents",filterAll:"Tất cả",agentDetail:"Chi tiết Agent",agentInstructions:"Hướng dẫn",agentFrontmatter:"Cấu hình",searchAgentsPlaceholder:"Tìm agents...",noAgentsFound:"Không tìm thấy agent",backToAgents:"Quay lại Agents",commandsBrowser:"Lệnh",commandsCount:"{count} lệnh",commandDetail:"Chi tiết lệnh",searchCommandsPlaceholder:"Tìm lệnh...",noCommandsFound:"Không tìm thấy lệnh",backToCommands:"Quay lại Lệnh",rootCommands:"Gốc",selectToView:"Chọn mục để xem chi tiết",indexingFrom:"Lấy từ",workflowsTitle:"Quy trình",workflowsSubtitle:"Tìm hiểu ClaudeKit thông qua hình ảnh hóa quy trình tương tác.",workflowsCredit:"Dữ liệu quy trình và giao diện được lấy cảm hứng từ",workflowImplementationRecipe:"Công thức triển khai",workflowSearchPlaceholder:"Tìm quy trình...",workflowNoResults:"Không tìm thấy quy trình",loadingWorkflows:"Đang tải quy trình...",workflowCategoryAll:"Tất cả",workflowCategoryGettingStarted:"Bắt đầu",workflowCategoryDesignFrontend:"Thiết kế & Frontend",workflowCategoryDebuggingFixes:"Xóa lỗi & Kiểm thử",workflowCategoryPlanningReview:"Lập kế hoạch & Đánh giá",workflowCategoryResearchDocs:"Nghiên cứu & Tài liệu",workflowCategoryShipping:"Triển khai",workflowCategoryBackendInfra:"Backend & Hạ tầng",workflowCategoryMediaCreative:"Truyền thông & Sáng tạo",workflowCategoryAdvanced:"Nâng cao",workflowComplexityBeginner:"Cơ bản",workflowComplexityIntermediate:"Trung bình",workflowComplexityAdvanced:"Nâng cao",workflowBuildFeature:"Xây dựng tính năng mới",workflowBuildFeatureDesc:"Thêm chức năng mới vào ứng dụng một cách hệ thống.",workflowQuickImplementation:"Triển khai nhanh",workflowQuickImplementationDesc:"Triển khai nhanh chóng các tính năng nhỏ gọn.",workflowStartNewProject:"Bắt đầu dự án mới",workflowStartNewProjectDesc:"Tạo lập một dự án mới hoàn toàn với nền tảng tiêu chuẩn.",workflowFrontendDesign:"Thiết kế Frontend",workflowFrontendDesignDesc:"Tạo giao diện người dùng dựa trên nguyên tắc thẩm mỹ cao.",workflowAiDesignStitch:"Thiết kế bằng AI Stitch",workflowAiDesignStitchDesc:"Điều khiển Google Stitch để tạo bản thiết kế từ văn bản.",workflowExcalidraw:"Bản vẽ Excalidraw",workflowExcalidrawDesc:"Diễn họa kiến trúc hoạt động sử dụng Excalidraw JSON.",workflowFixBug:"Sửa lỗi (Fix Bug)",workflowFixBugDesc:"Xác định nguyên nhân gốc rễ và tự động sửa các lỗi trong mã nguồn.",workflowSecurityAudit:"Kiểm toán Bảo mật",workflowSecurityAuditDesc:"Kiểm tra bảo mật toàn diện trên kho ứng dụng.",workflowTestScenarios:"Tình huống thử nghiệm",workflowTestScenariosDesc:"Tạo các trường hợp biên và tình huống thử nghiệm tính năng con.",workflowStride:"Phân tích STRIDE",workflowStrideDesc:"Thực hiện mô hình hóa và phân tích rủi ro bảo mật theo chuẩn STRIDE.",workflowCodeReview:"Code Review",workflowCodeReviewDesc:"Đánh giá chất lượng mã nguồn một cách kỹ lưỡng.",workflowPlanValidate:"Lập Kế hoạch + Kiểm chứng",workflowPlanValidateDesc:"Lập bản thảo thiết kế kiến trúc và đánh giá tính khả thi kỹ thuật.",workflowAdversarialReview:"Đánh giá Đối kháng",workflowAdversarialReviewDesc:"Kích hoạt chức năng đánh giá mức độ rủi ro hệ thống.",workflowAutoresearch:"Vòng lặp tự động (Autoloop)",workflowAutoresearchDesc:"Chạy vòng lặp tối ưu hóa tự động cho bất kỳ chỉ số nào.",workflowXia:"Chuyển giao thuật toán",workflowXiaDesc:"Chuyển giao hoặc tách rời thuật toán từ một kho lưu trữ bên ngoài.",workflowVisualDocumentation:"Diễn họa Tài liệu",workflowVisualDocumentationDesc:"Tạo sơ đồ mô tả logic và kiến trúc trong hệ thống hiện tại.",workflowTechnicalResearch:"Nghiên cứu Kỹ thuật",workflowTechnicalResearchDesc:"Phân tích sâu rộng cho các giải pháp kiến trúc trước khi triển khai.",workflowLlmsTxt:"Tạo cấu trúc llms.txt",workflowLlmsTxtDesc:"Phân tích mã nguồn và sinh tập tin llms.txt tiêu chuẩn.",workflowDevops:"DevOps / Triển khai",workflowDevopsDesc:"Cấu hình Docker, CI/CD và triển khai quy trình nền tảng web.",workflowShip:"Cập bến (Ship Pipeline)",workflowShipDesc:"Hợp nhất, kiểm thử, đánh giá, commit, và tạo Pull Request mới.",workflowDatabaseOps:"Thao tác CSDL",workflowDatabaseOpsDesc:"Tái cấu trúc các pipeline dữ liệu phức tạp tăng cường hiệu năng CSDL.",workflowRemotion:"Remotion Video",workflowRemotionDesc:"Xây dựng chuỗi video code thông qua thư viện Remotion.",workflowShowOff:"Show-Off Demo",workflowShowOffDesc:"Tạo file demo HTML tĩnh và trực quan cho mục đích showcase ứng dụng.",workflowAgentTeams:"Đội ngũ Agents",workflowAgentTeamsDesc:"Sinh các agent song song thực hiện nhiều tác vụ kết nối với nhau.",workflowWorktree:"Worktree Song song",workflowWorktreeDesc:"Cách ly và làm việc đồng thời trên nhiều luồng phát triển bằng worktrees."}},vp=g.createContext(null),$v="ck-dashboard-lang";function W3(){const t=localStorage.getItem($v);return t==="en"||t==="vi"?t:navigator.language.startsWith("vi")?"vi":"en"}function K3({children:t}){const[e,n]=g.useState(W3),r=g.useCallback(o=>{localStorage.setItem($v,o),n(o)},[]),s=g.useCallback(o=>V3[e][o],[e]),i=g.useMemo(()=>({lang:e,setLang:r,t:s}),[e,r,s]);return c.jsx(vp.Provider,{value:i,children:t})}function re(){const t=g.useContext(vp);if(!t)throw new Error("useI18n must be used within I18nProvider");return t}class U3 extends g.Component{constructor(){super(...arguments);Km(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,r){console.error("App error:",n,r.componentStack)}render(){if(this.state.hasError){const n=this.state.error?.name==="ServerUnavailableError";return c.jsx(vp.Consumer,{children:r=>c.jsx("div",{className:"flex h-screen items-center justify-center bg-dash-bg",children:c.jsx("div",{className:"text-center space-y-4 max-w-md px-6",children:n?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-orange-500/10 border border-orange-500/30 flex items-center justify-center text-3xl",children:"🔌"}),c.jsx("h1",{className:"text-2xl font-bold text-orange-500",children:r?.t("serverNotRunning")??"Server Not Running"}),c.jsx("p",{className:"text-dash-text-secondary",children:r?.t("startServerMessage")??"The Config UI requires the backend server to be running."}),c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-4",children:[c.jsx("p",{className:"text-xs text-dash-text-muted uppercase tracking-widest mb-2 font-bold",children:r?.t("runThisCommand")??"Run this command"}),c.jsx("code",{className:"block text-sm text-dash-accent font-mono bg-dash-bg px-3 py-2 rounded border border-dash-border",children:"ck config"})]}),c.jsx("button",{onClick:()=>window.location.reload(),className:"px-6 py-2 bg-dash-accent text-dash-bg rounded-lg font-bold hover:bg-dash-accent-hover transition-colors",children:r?.t("tryAgain")??"Try Again"})]}):c.jsxs(c.Fragment,{children:[c.jsx("h1",{className:"text-2xl font-bold text-red-500",children:r?.t("somethingWentWrong")??"Something went wrong"}),c.jsx("p",{className:"text-dash-text-muted",children:this.state.error?.message}),c.jsx("button",{onClick:()=>window.location.reload(),className:"px-4 py-2 bg-dash-accent text-white rounded-md hover:opacity-90",children:r?.t("reloadApp")??"Reload App"})]})})})})}return this.props.children}}const xn=({direction:t="horizontal",isDragging:e=!1,onMouseDown:n})=>{const r=t==="horizontal";return c.jsx("div",{onMouseDown:n,className:`
23
+ group flex items-center justify-center shrink-0
24
+ ${r?"w-2 cursor-col-resize":"h-2 cursor-row-resize"}
25
+ ${e?"bg-dash-accent/20":"hover:bg-dash-surface-hover/50"}
26
+ transition-colors
27
+ `,children:c.jsx("div",{className:`
28
+ rounded-full transition-all
29
+ ${r?"w-0.5 h-8":"h-0.5 w-8"}
30
+ ${e?"bg-dash-accent":"bg-dash-border group-hover:bg-dash-text-muted"}
31
+ `})})},G3=[{type:"navigation",name:"Dashboard",description:"Project overview",route:"/"},{type:"navigation",name:"Config Editor",description:"Edit Claude configuration",route:"/config/global"},{type:"navigation",name:"Skills",description:"Browse and manage skills",route:"/skills"},{type:"navigation",name:"Migrate",description:"Migrate stack to other providers",route:"/migrate"},{type:"navigation",name:"Status Line",description:"Customize Claude Code statusline",route:"/statusline"},{type:"navigation",name:"Plans",description:"Visual dashboard for plans and phases",route:"/plans"},{type:"navigation",name:"System",description:"System updates and environment info",route:"/system"}];function q3(t,e){if(!e.trim())return!0;const n=`${t.name} ${t.description}`.toLowerCase();return e.toLowerCase().trim().split(/\s+/).every(r=>n.includes(r))}function Bv(t){const e=[];for(const n of t)n.children?e.push(...Bv(n.children)):e.push({type:"command",name:n.name,description:n.description??"",route:`/commands?selected=${encodeURIComponent(n.path)}`});return e}function Y3({projects:t}){const[e,n]=g.useState([]),[r,s]=g.useState(!0);g.useEffect(()=>{let l=!1;async function d(){const u=[],[h,f,p]=await Promise.allSettled([fetch("/api/agents/browser"),fetch("/api/commands"),fetch("/api/skills/browse")]);if(h.status==="fulfilled"&&h.value.ok)try{const m=await h.value.json();for(const x of m.agents??[])u.push({type:"agent",name:x.name||x.slug,description:x.description??"",route:`/agents?selected=${encodeURIComponent(x.slug)}`})}catch{}if(f.status==="fulfilled"&&f.value.ok)try{const m=await f.value.json();u.push(...Bv(m.tree??[]))}catch{}if(p.status==="fulfilled"&&p.value.ok)try{const m=await p.value.json();for(const x of m.skills??[])u.push({type:"skill",name:x.name,description:x.description??"",route:`/skills?selected=${encodeURIComponent(x.name)}`})}catch{}l||(n(u),s(!1))}return d(),()=>{l=!0}},[]);const i=g.useMemo(()=>t.filter(l=>!l.path.endsWith("/.claude")&&l.path!=="~/.claude").map(l=>({type:"project",name:l.name||l.path.split("/").pop()||l.path,description:l.path,route:`/project/${l.id}`})),[t]),o=g.useMemo(()=>[...G3,...i,...e],[i,e]);return{search:g.useMemo(()=>l=>{const u=l.trim()?o.filter(f=>q3(f,l)):o,h={project:[],navigation:[],agent:[],command:[],skill:[]};for(const f of u){const p=h[f.type];p.length<5&&p.push(f)}return h},[o]),loading:r}}const wg=["navigation","project","agent","command","skill"],X3={navigation:"bg-dash-accent/20 text-dash-accent",project:"bg-dash-text-muted/20 text-dash-text-muted",agent:"bg-[#e85d4a]/20 text-[#e85d4a]",command:"bg-blue-500/20 text-blue-400",skill:"bg-green-500/20 text-green-400"};function kg({text:t,query:e}){if(!e.trim())return c.jsx("span",{children:t});const n=e.trim().toLowerCase().split(/\s+/).filter(Boolean).sort((i,o)=>o.length-i.length),r=[];let s=t;for(;s.length>0;){let i=-1,o=0,a="";for(const l of n){const d=s.toLowerCase().indexOf(l);d!==-1&&(i===-1||d<i||d===i&&l.length>o)&&(i=d,o=l.length,a=l)}if(i===-1||!a){r.push({text:s,match:!1});break}i>0&&r.push({text:s.slice(0,i),match:!1}),r.push({text:s.slice(i,i+o),match:!0}),s=s.slice(i+o)}return c.jsx("span",{children:r.map((i,o)=>i.match?c.jsx("mark",{className:"bg-dash-accent/30 text-dash-text rounded-sm px-0.5",children:i.text},`m${o}`):c.jsx("span",{children:i.text},`s${o}`))})}const Q3=({open:t,projects:e,onClose:n})=>{const{t:r}=re(),s=Pt(),i=g.useRef(null),o=g.useRef(null),[a,l]=g.useState(""),[d,u]=g.useState(0),{search:h,loading:f}=Y3({projects:e}),p=h(a),m=wg.flatMap(w=>p[w]??[]);g.useEffect(()=>{t&&(l(""),u(0),setTimeout(()=>i.current?.focus(),0))},[t]),g.useEffect(()=>{o.current?.querySelector(`[data-idx="${d}"]`)?.scrollIntoView({block:"nearest"})},[d]);const x=g.useCallback(w=>{s(w.route),n()},[s,n]),b=g.useCallback(w=>{if(w.key==="Escape"){n();return}if(w.key==="ArrowDown"){w.preventDefault(),u(C=>Math.min(C+1,m.length-1));return}if(w.key==="ArrowUp"){w.preventDefault(),u(C=>Math.max(C-1,0));return}if(w.key==="Enter"){w.preventDefault();const C=m[d];C&&x(C)}},[m,d,n,x]),y=w=>{l(w.target.value),u(0)};if(!t)return null;let k=0;const v=w=>{switch(w){case"navigation":return r("paletteNavigation");case"project":return r("paletteProjects");case"agent":return r("paletteAgents");case"command":return r("paletteCommands");case"skill":return r("paletteSkills")}};return c.jsx("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-[12vh]",style:{background:"rgba(0,0,0,0.5)",backdropFilter:"blur(4px)"},"aria-label":"Search",onClick:n,onKeyDown:w=>w.key==="Escape"&&n(),children:c.jsxs("div",{className:"w-full max-w-[600px] mx-4 bg-dash-surface border border-dash-border rounded-xl shadow-2xl overflow-hidden",onClick:w=>w.stopPropagation(),onKeyDown:w=>w.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-dash-border",children:[c.jsx("svg",{className:"w-4 h-4 text-dash-text-muted shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),c.jsx("input",{ref:i,type:"text",className:"flex-1 bg-transparent text-dash-text placeholder:text-dash-text-muted text-base outline-none",placeholder:r("palettePlaceholder"),value:a,onChange:y,onKeyDown:b,autoComplete:"off",spellCheck:!1}),c.jsx("kbd",{className:"hidden sm:block text-[10px] text-dash-text-muted bg-dash-surface border border-dash-border rounded px-1.5 py-0.5",children:"esc"})]}),c.jsxs("div",{ref:o,className:"max-h-[420px] overflow-y-auto py-2",children:[f&&c.jsx("div",{className:"px-4 py-6 text-center text-dash-text-muted text-sm",children:r("loading")}),!f&&m.length===0&&c.jsx("div",{className:"px-4 py-6 text-center text-dash-text-muted text-sm",children:r("paletteNoResults")}),!f&&wg.map(w=>{const C=p[w];if(!C||C.length===0)return null;const j=v(w);return c.jsxs("div",{children:[c.jsx("div",{className:"px-4 py-1.5 text-[10px] font-semibold uppercase tracking-widest text-dash-text-muted",children:j}),C.map(S=>{const E=k++,O=E===d;return c.jsxs("button",{type:"button","data-idx":E,className:`w-full flex items-center gap-3 px-4 py-2.5 text-left cursor-pointer transition-colors ${O?"bg-dash-accent/10 text-dash-text":"text-dash-text hover:bg-dash-surface"}`,onClick:()=>x(S),onMouseEnter:()=>u(E),children:[c.jsx("span",{className:`shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded ${X3[w]}`,children:j}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"text-sm font-medium truncate",children:c.jsx(kg,{text:S.name,query:a})}),S.description&&c.jsx("div",{className:"text-xs text-dash-text-muted truncate mt-0.5",children:c.jsx(kg,{text:S.description,query:a})})]}),O&&c.jsx("kbd",{className:"shrink-0 text-[10px] text-dash-text-muted bg-dash-surface border border-dash-border rounded px-1.5 py-0.5",children:"↵"})]},`${w}-${S.route}`)})]},w)})]}),m.length>0&&c.jsxs("div",{className:"px-4 py-2 border-t border-dash-border flex gap-4 text-[10px] text-dash-text-muted",children:[c.jsx("span",{children:"↑↓ navigate"}),c.jsx("span",{children:"↵ select"}),c.jsx("span",{children:"esc close"})]})]})})};function J3(){const[t,e]=g.useState(null),[n,r]=g.useState(!0),[s,i]=g.useState(null);return g.useEffect(()=>{let o=!1;async function a(){r(!0),i(null);try{const l=await fetch("/api/dashboard/stats");if(!l.ok)throw new Error(`Dashboard stats fetch failed: ${l.status}`);const d=await l.json();if(o)return;e({agents:d.agents??0,commands:d.commands??0,skills:d.skills??0,mcpServers:d.mcpServers??0})}catch(l){if(o)return;i(l instanceof Error?l.message:"Failed to load counts")}finally{o||r(!1)}}return a(),()=>{o=!0}},[]),{counts:t,loading:n,error:s}}var _r=(t=>(t.HEALTHY="healthy",t.WARNING="warning",t.ERROR="error",t.LOADING="loading",t.UNKNOWN="unknown",t))(_r||{}),qn=(t=>(t.ENGINEER="engineer",t.MARKETING="marketing",t.ARCHITECT="architect",t.RESEARCHER="researcher",t.DEVOP="devops",t))(qn||{});const Z3=({isOpen:t,onClose:e,onAdd:n})=>{const{t:r}=re(),[s,i]=g.useState(""),[o,a]=g.useState(""),[l,d]=g.useState(!1),[u,h]=g.useState(null);g.useEffect(()=>{t||(i(""),a(""),h(null),d(!1))},[t]),g.useEffect(()=>{if(!t)return;const p=m=>{m.key==="Escape"&&e()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[t]),g.useEffect(()=>{if(!t)return;const p=document.activeElement;return document.querySelector("#project-path")?.focus(),()=>{p?.focus()}},[t]);const f=async p=>{if(p.preventDefault(),!s.trim()){h(r("pathRequired"));return}try{d(!0),h(null);const m={path:s.trim(),...o.trim()&&{alias:o.trim()}};await n(m),e()}catch(m){h(m instanceof Error?m.message:r("failedToAdd"))}finally{d(!1)}};return t?c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-xl max-w-md w-full mx-4",onClick:p=>p.stopPropagation(),children:[c.jsxs("div",{className:"px-6 py-4 border-b border-dash-border",children:[c.jsx("h2",{className:"text-lg font-bold text-dash-text",children:r("addProjectTitle")}),c.jsx("p",{className:"text-sm text-dash-text-muted mt-1",children:r("addProjectDescription")})]}),c.jsxs("form",{onSubmit:f,className:"p-6 space-y-4",children:[c.jsxs("div",{children:[c.jsxs("label",{htmlFor:"project-path",className:"block text-sm font-medium text-dash-text mb-2",children:[r("projectPath")," ",c.jsx("span",{className:"text-red-500",children:"*"})]}),c.jsx("input",{id:"project-path",type:"text",value:s,onChange:p=>i(p.target.value),placeholder:r("pathPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"})]}),c.jsxs("div",{children:[c.jsxs("label",{htmlFor:"project-alias",className:"block text-sm font-medium text-dash-text mb-2",children:[r("alias")," ",r("aliasOptional")]}),c.jsx("input",{id:"project-alias",type:"text",value:o,onChange:p=>a(p.target.value),placeholder:r("aliasPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"}),c.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:r("aliasDescription")})]}),u&&c.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/20 rounded-md",children:c.jsx("p",{className:"text-sm text-red-500",children:u})}),c.jsxs("div",{className:"flex gap-3 pt-2",children:[c.jsx("button",{type:"button",onClick:e,disabled:l,className:"flex-1 px-4 py-2 border border-dash-border rounded-md text-dash-text-secondary hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r("cancel")}),c.jsx("button",{type:"submit",disabled:l||!s.trim(),className:"flex-1 px-4 py-2 bg-dash-accent text-white rounded-md hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r(l?"adding":"addProject")})]})]})]})}):null},e4=({vertical:t=!1})=>{const{lang:e,setLang:n}=re();return c.jsxs("div",{className:`flex ${t?"flex-col":""} items-center rounded-lg border border-dash-border overflow-hidden`,children:[c.jsx("button",{onClick:()=>n("en"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="en"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"English",children:"EN"}),c.jsx("button",{onClick:()=>n("vi"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="vi"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"Tiếng Việt",children:"VI"})]})},t4=({projects:t,currentProjectId:e,isCollapsed:n,width:r,isConnected:s,theme:i,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:d})=>{const{t:u}=re(),h=Pt(),f=In(),[p,m]=g.useState(!1),{counts:x}=J3(),b=f.pathname==="/"||f.pathname==="/dashboard",y=b,k=f.pathname==="/config/global",v=f.pathname==="/migrate",w=f.pathname==="/statusline",C=f.pathname==="/mcp",j=f.pathname.startsWith("/plans"),S=f.pathname==="/agents",E=f.pathname==="/commands",O=f.pathname==="/skills",A=f.pathname==="/workflows",P=[...t].filter(M=>!M.path.endsWith("/.claude")&&M.path!=="~/.claude").sort((M,D)=>M.pinned&&!D.pinned?-1:!M.pinned&&D.pinned?1:M.name.localeCompare(D.name)),L=r?{width:`${r}px`}:void 0,_=r?"":n?"w-14":"w-72",N=r?r>=160:!n;return c.jsxs("aside",{style:L,className:`${_} bg-dash-surface border-r border-dash-border flex flex-col transition-all duration-300 ease-in-out z-20 h-full overflow-hidden`,children:[c.jsxs("div",{className:`flex items-center ${N?"p-6 gap-3":"p-2 justify-center"}`,children:[c.jsx("img",{src:"/images/logo-transparent-32.png",alt:"ClaudeKit",className:"w-8 h-8 shrink-0"}),N&&c.jsxs("div",{className:"overflow-hidden",children:[c.jsx("h1",{className:"text-sm font-bold truncate tracking-tight text-dash-text",children:"ClaudeKit"}),c.jsx("p",{className:"text-[10px] text-dash-text-muted font-medium uppercase tracking-wider",children:u("controlCenter")})]})]}),c.jsxs("div",{className:`${N?"px-4":"px-2"} py-2 space-y-1`,children:[N&&c.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:u("overviewSection")}),c.jsx(Hn,{icon:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 104 0M9 5a2 2 0 014 0m-6 4h10M9 12h6m-6 4h4"})}),label:u("plansNav"),isCollapsed:!N,active:j,onClick:()=>h("/plans")}),c.jsx(Hn,{icon:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"})}),label:u("systemNavLabel"),isCollapsed:!N,active:b,onClick:()=>h("/")})]}),c.jsxs("div",{className:`${N?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[N&&c.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:u("entitiesSection")}),c.jsx(Hn,{icon:c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})}),label:u("workflowsTitle"),isCollapsed:!N,active:A,onClick:()=>h("/workflows")}),c.jsx(Hn,{icon:c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"})}),label:u("agentsBrowser"),isCollapsed:!N,active:S,onClick:()=>h("/agents"),badge:N&&x?String(x.agents):void 0}),c.jsx(Hn,{icon:c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}),label:u("commandsBrowser"),isCollapsed:!N,active:E,onClick:()=>h("/commands"),badge:N&&x?String(x.commands):void 0}),c.jsx(Hn,{icon:c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})}),label:u("skillsNav"),isCollapsed:!N,active:O,onClick:()=>h("/skills"),badge:N&&x?String(x.skills):void 0}),c.jsx(Hn,{icon:c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 12h14M12 5l7 7-7 7"})}),label:u("mcpTitle"),isCollapsed:!N,active:C,onClick:()=>h("/mcp"),badge:N&&x?String(x.mcpServers):void 0})]}),c.jsxs("div",{className:`${N?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[N&&c.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:u("toolsSection")}),c.jsx(Hn,{icon:c.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]}),label:u("configEditor"),isCollapsed:!N,active:k,onClick:()=>h("/config/global")}),c.jsx(Hn,{icon:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2"})}),label:u("statusline"),isCollapsed:!N,active:w,onClick:()=>h("/statusline")}),c.jsx(Hn,{icon:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"})}),label:u("migrate"),isCollapsed:!N,active:v,onClick:()=>h("/migrate")})]}),c.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${N?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[N&&c.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:u("projects")}),P.map(M=>{const D=f.pathname.endsWith("/config"),I=e===M.id&&!k&&!D&&!v&&!w&&!C&&!j&&!S&&!E&&!O&&!A&&!y;return c.jsxs("button",{onClick:()=>o(M.id),className:`w-full group relative flex items-center ${N?"gap-2.5 px-2 py-1.5":"justify-center p-2"} rounded-md transition-colors ${I?"bg-dash-accent-subtle text-dash-accent border border-dash-accent/10":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text border border-transparent"}`,children:[c.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${M.health===_r.HEALTHY?"bg-dash-accent":M.health===_r.WARNING?"bg-orange-400":"bg-red-500"} ${I?"animate-pulse":""}`}),N&&c.jsxs(c.Fragment,{children:[M.pinned&&c.jsx("span",{className:"text-xs",children:"📌"}),c.jsx("span",{className:"text-sm font-medium truncate",children:M.name})]}),!N&&c.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:[M.pinned&&"📌 ",M.name]})]},M.id)}),c.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${N?"gap-3 p-2.5":"justify-center p-2"} rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text-secondary transition-colors mt-4`,children:[c.jsx("div",{className:`${N?"w-5 h-5":""} flex items-center justify-center`,children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),N&&c.jsx("span",{className:"text-sm font-medium",children:u("addProject")})]})]}),c.jsx(Z3,{isOpen:p,onClose:()=>m(!1),onAdd:l}),c.jsx("div",{className:"border-t border-dash-border",children:c.jsxs("div",{className:`py-3 flex items-center ${N?"px-3 justify-between":"justify-center flex-col gap-2"}`,children:[c.jsxs("div",{className:"flex items-center gap-2",title:u(s?"sync":"offline"),children:[c.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${s?"bg-dash-accent shadow-[0_0_8px_var(--dash-accent-glow)]":"bg-red-500"}`}),N&&c.jsx("span",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:u(s?"sync":"offline")})]}),c.jsxs("div",{className:`flex items-center gap-1 ${N?"":"flex-col"}`,children:[c.jsx(e4,{vertical:!N}),c.jsx("button",{onClick:d,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:u(i==="dark"?"switchToLight":"switchToDark"),children:i==="dark"?c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707M17.657 17.657l-.707-.707M6.343 6.343l-.707-.707M12 5a7 7 0 100 14 7 7 0 000-14z"})}):c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}),c.jsx("button",{onClick:a,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:u(n?"expand":"collapse"),children:n?c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M5 5l7 7-7 7"})}):c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"})})})]})]})})]})},Hn=({icon:t,label:e,badge:n,isCollapsed:r,active:s,onClick:i,disabled:o})=>c.jsxs("button",{onClick:i,disabled:o,className:`w-full group relative flex items-center ${r?"justify-center p-2":"gap-3 p-2"} rounded-md transition-colors ${o?"opacity-50 cursor-not-allowed":s?"bg-dash-surface-hover text-dash-text":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[c.jsx("div",{className:`${r?"":"w-5 h-5"} flex items-center justify-center`,children:t}),!r&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-sm font-medium flex-1 text-left",children:e}),n&&c.jsx("span",{className:"ml-auto text-[10px] font-mono text-dash-text-disabled bg-dash-surface px-1.5 py-0.5 rounded",children:n})]}),r&&c.jsx("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:e})]}),Tt="/api";class Cu extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function kn(){try{if(!(await fetch(`${Tt}/health`,{method:"GET"})).ok)throw new Cu}catch(t){throw t instanceof Cu?t:new Cu}}function wp(t){return{id:t.id,name:t.name,path:t.path,health:t.health,kitType:t.kitType||"engineer",model:t.model,activeHooks:t.activeHooks,mcpServers:t.mcpServers,skills:t.skills,pinned:t.pinned,tags:t.tags,addedAt:t.addedAt,lastOpened:t.lastOpened,preferences:t.preferences}}async function _v(){await kn();const t=await fetch(`${Tt}/projects`);if(!t.ok)throw new Error("Failed to fetch projects");return(await t.json()).map(wp)}async function n4(){await kn();const t=await fetch(`${Tt}/skills`);if(!t.ok)throw new Error("Failed to fetch skills");return t.json()}async function r4(t,e){try{await kn();const n=e!==void 0?`?limit=${e}`:"",r=await fetch(`${Tt}/sessions/${encodeURIComponent(t)}${n}`);return r.ok?r.json():[]}catch{return[]}}async function s4(t,e){await kn();const n=new URLSearchParams;t&&n.set("projectId",t);const r=await fetch(`${Tt}/actions/options?${n.toString()}`,{signal:e});if(!r.ok)throw new Error("Failed to fetch action options");return r.json()}async function i4(t,e,n,r){await kn();const s=await fetch(`${Tt}/actions/open`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t,path:e,appId:n,projectId:r})});if(!s.ok){const i=await s.json().catch(()=>({error:"Action failed"}));throw new Error(i.error||"Action failed")}}async function o4(){await kn();try{const r=await fetch(`${Tt}/settings/raw`);if(r.ok)return r.json()}catch{}const t=await fetch(`${Tt}/settings`);if(!t.ok)throw new Error("Failed to fetch settings file");const e=await t.json(),n=e.settings&&typeof e.settings=="object"?e.settings:{model:e.model,permissions:e.permissions,hookCount:e.hookCount,mcpServerCount:e.mcpServerCount};return{path:e.settingsPath??"~/.claude/settings.json",exists:e.settingsExists??!0,settings:n}}async function a4(t){await kn();const e=await fetch(`${Tt}/settings/raw`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:t})});if(!e.ok){const n=await e.json().catch(()=>({error:"Failed to save settings file"}));throw new Error(n.error||"Failed to save settings file")}return e.json()}async function l4(t){await kn();const e=await fetch(`${Tt}/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!e.ok){const r=await e.text();throw new Error(r||"Failed to add project")}const n=await e.json();return wp(n)}async function c4(t){await kn();const e=await fetch(`${Tt}/projects/${encodeURIComponent(t)}`,{method:"DELETE"});if(!e.ok){const n=await e.text();throw new Error(n||"Failed to remove project")}}async function Fv(t,e){await kn();const n=await fetch(`${Tt}/projects/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok){const s=await n.text();throw new Error(s||"Failed to update project")}const r=await n.json();return wp(r)}async function d4(){const t=await fetch(`${Tt}/metadata/global`);return t.ok?t.json():(console.error("Failed to fetch global metadata"),{})}async function u4(){await kn();const t=await fetch(`${Tt}/migrate/providers`);if(!t.ok)throw new Error("Failed to fetch migration providers");return t.json()}async function Sg(){await kn();const t=await fetch(`${Tt}/migrate/discovery`);if(!t.ok)throw new Error("Failed to discover migration items");return t.json()}function h4(){const[t,e]=g.useState([]),[n,r]=g.useState(!0),[s,i]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),i(null);const a=await n4();e(a)}catch(a){i(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{skills:t,loading:n,error:s,reload:o}}function f4(t){const[e,n]=g.useState([]),[r,s]=g.useState(!1),[i,o]=g.useState(null),a=g.useCallback(async()=>{if(!t){n([]);return}try{s(!0),o(null);const l=await r4(t,999);n(l)}catch(l){o(l instanceof Error?l.message:"Failed to load sessions")}finally{s(!1)}},[t]);return g.useEffect(()=>{a()},[a]),{sessions:e,loading:r,error:i,reload:a}}function p4(){const[t,e]=g.useState([]),[n,r]=g.useState(!0),[s,i]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),i(null);const u=await _v();e(u)}catch(u){i(u instanceof Error?u.message:"Failed to load projects")}finally{r(!1)}},[]),a=g.useCallback(async u=>{const h=await l4(u);return await o(),h},[o]),l=g.useCallback(async u=>{await c4(u),await o()},[o]),d=g.useCallback(async(u,h)=>{const f=await Fv(u,h);return await o(),f},[o]);return g.useEffect(()=>{o()},[o]),{projects:t,loading:n,error:s,reload:o,addProject:a,removeProject:l,updateProject:d}}function m4(){return typeof window<"u"&&"__TAURI_INTERNALS__"in window}function g4(t,e,n=50,r=0){const[s,i]=g.useState(null),[o,a]=g.useState(!1),[l,d]=g.useState(null),u=g.useCallback(async()=>{if(!t||!e){i(null);return}try{a(!0),d(null);const h=new URLSearchParams({limit:String(n),offset:String(r)}),f=await fetch(`/api/sessions/${encodeURIComponent(t)}/${encodeURIComponent(e)}?${h.toString()}`);if(!f.ok)throw new Error(`HTTP ${f.status}`);const p=await f.json();i(p)}catch(h){d(h instanceof Error?h.message:"Failed to load")}finally{a(!1)}},[t,e,n,r]);return g.useEffect(()=>{u()},[u]),{data:s,loading:o,error:l,reload:u}}const x4="modulepreload",b4=function(t){return"/"+t},Cg={},jg=function(e,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=o?.nonce||o?.getAttribute("nonce");s=Promise.allSettled(n.map(l=>{if(l=b4(l),l in Cg)return;Cg[l]=!0;const d=l.endsWith(".css"),u=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${u}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":x4,d||(h.as="script"),h.crossOrigin="",h.href=l,a&&h.setAttribute("nonce",a),document.head.appendChild(h),d)return new Promise((f,p)=>{h.addEventListener("load",f),h.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return e().catch(i)})};function y4(){const[t,e]=g.useState(!1);return g.useEffect(()=>{if(!m4())return;let n=!1,r;return Promise.all([jg(()=>import("./event-BR0sBAas.js"),__vite__mapDeps([0,1])),jg(()=>import("./index-Bnd1bUG3.js"),__vite__mapDeps([2,1]))]).then(([{listen:s},{check:i}])=>{n||s("check-updates",async()=>{try{(await i())?.available&&e(!0)}catch{}}).then(o=>{if(n){o();return}r=o})}),()=>{n=!0,r?.()}},[]),{updateAvailable:t}}function Ii({storageKey:t,defaultSize:e,minSize:n,maxSize:r,direction:s="horizontal",invert:i=!1}){const[o,a]=g.useState(()=>{if(typeof window>"u")return e;const p=localStorage.getItem(t);if(p){const m=Number.parseInt(p,10);if(!Number.isNaN(m)&&m>=n&&m<=r)return m}return e}),[l,d]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(t,String(o))},[o,t]);const u=g.useCallback(p=>{p.preventDefault(),d(!0);const m=s==="horizontal"?p.clientX:p.clientY,x=o,b=k=>{const w=((s==="horizontal"?k.clientX:k.clientY)-m)*(i?-1:1),C=Math.max(n,Math.min(r,x+w));a(C)},y=()=>{d(!1),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.body.style.cursor=s==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none"},[o,n,r,s,i]),h=g.useCallback(()=>{a(e)},[e]),f=g.useCallback(p=>{a(Math.max(n,Math.min(r,p)))},[n,r]);return{size:o,isDragging:l,startDrag:u,setSize:f,reset:h}}const v4=()=>{const{t}=re(),e=Pt(),n=In(),{projectId:r}=tl();y4();const[s,i]=g.useState(null);g.useEffect(()=>{r&&i(r)},[r]);const[o,a]=g.useState(()=>typeof window<"u"&&localStorage.getItem("claudekit-theme")||"dark"),[l]=g.useState(!0),[d,u]=g.useState(!1);g.useEffect(()=>{const O=A=>{(A.metaKey||A.ctrlKey)&&A.key==="k"&&(A.preventDefault(),u(P=>!P))};return window.addEventListener("keydown",O),()=>window.removeEventListener("keydown",O)},[]);const{size:h,isDragging:f,startDrag:p,setSize:m}=Ii({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),x=h<=56,{projects:b,loading:y,error:k,addProject:v}=p4(),w=async O=>{await v(O)};g.useEffect(()=>{const O=n.pathname.startsWith("/project/");b.length===0||r||!O||e(`/project/${b[0].id}`,{replace:!0})},[b,r,e,n.pathname]),g.useEffect(()=>{const O=window.document.documentElement;o==="dark"?(O.classList.add("dark"),O.setAttribute("data-theme","dark")):(O.classList.remove("dark"),O.setAttribute("data-theme","light")),localStorage.setItem("claudekit-theme",o)},[o]);const C=()=>a(O=>O==="light"?"dark":"light"),j=g.useMemo(()=>b.find(O=>O.id===s)||null,[b,s]),S=O=>{e(`/project/${O}`)},E=()=>{m(x?288:56)};return y?c.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:c.jsx("div",{className:"animate-pulse text-dash-text-muted",children:t("loading")})}):k?c.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:c.jsxs("div",{className:"text-red-500",children:[t("error"),": ",k]})}):c.jsxs("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text overflow-hidden font-sans transition-colors duration-300",children:[c.jsx(Q3,{open:d,projects:b,onClose:()=>u(!1)}),c.jsx(t4,{projects:b,currentProjectId:s,isCollapsed:x,width:h,isConnected:l,theme:o,onSwitchProject:S,onToggle:E,onAddProject:w,onToggleTheme:C}),c.jsx(xn,{direction:"horizontal",isDragging:f,onMouseDown:p}),c.jsx("div",{className:"flex-1 flex flex-col min-w-0 h-full relative",children:c.jsx("main",{className:"flex-1 flex flex-col overflow-hidden p-4 md:p-6",children:c.jsx(s3,{context:{project:j,isConnected:l,theme:o,onToggleTheme:C}})})})]})};function wc(t){return t.toLowerCase().trim().replace(/[`*_~]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function w4(t){return t.split(`
32
+ `).flatMap(e=>{const n=/^(#{1,6})\s+(.+)$/.exec(e.trim());return n?[{level:n[1].length,text:n[2].trim(),id:wc(n[2])}]:[]})}function fr(t,e){const n=/(\*\*(.+?)\*\*|\*(.+?)\*|_(.+?)_|`([^`]+)`|\[([^\]]+)\]\(([^)]+)\))/g,r=[];let s=0,i=0;for(const o of t.matchAll(n)){o.index!==void 0&&o.index>s&&r.push(t.slice(s,o.index));const a=`${e}-inline-${i++}`;o[0].startsWith("**")?r.push(c.jsx("strong",{children:o[2]},a)):o[0].startsWith("`")?r.push(c.jsx("code",{className:"bg-[var(--dash-surface)] border border-[var(--dash-border)] px-1.5 py-0.5 rounded text-sm font-mono text-[var(--dash-accent)]",children:o[5]},a)):o[0].startsWith("[")?r.push(c.jsx("a",{href:o[7],target:"_blank",rel:"noopener noreferrer",className:"text-[var(--dash-accent)] hover:underline",children:o[6]},a)):r.push(c.jsx("em",{children:o[3]??o[4]},a)),o.index!==void 0&&(s=o.index+o[0].length)}return s<t.length&&r.push(t.slice(s)),r.length===1?r[0]:c.jsx(c.Fragment,{children:r})}const Is=({content:t,className:e=""})=>{const n=t.split(`
33
+ `),r=[];let s=0,i=0;function o(){return i+=1,`md-${i}`}if(n[0]?.trim()==="---"){for(s=1;s<n.length&&n[s]?.trim()!=="---";)s++;s++}for(;s<n.length;){const a=n[s];if(a.startsWith("```")){const l=a.slice(3).trim(),d=[];for(s++;s<n.length&&!n[s].startsWith("```");)d.push(n[s]),s++;const u=o();r.push(c.jsxs("div",{className:"my-3",children:[l&&c.jsx("div",{className:"text-[10px] font-mono text-[var(--dash-text-muted)] bg-[var(--dash-surface)] border border-b-0 border-[var(--dash-border)] rounded-t px-3 py-1",children:l}),c.jsx("pre",{className:["overflow-x-auto p-4 text-xs font-mono text-[var(--dash-text)]","bg-[var(--dash-surface)] border border-[var(--dash-border)]",l?"rounded-b":"rounded"].join(" "),children:c.jsx("code",{children:d.join(`
34
+ `)})})]},u)),s++;continue}if(/^(-{3,}|\*{3,}|_{3,})$/.test(a.trim())){r.push(c.jsx("hr",{className:"border-[var(--dash-border)] my-4"},o())),s++;continue}if(a.startsWith("### ")){const l=a.slice(4);r.push(c.jsx("h3",{id:wc(l),className:"text-sm font-semibold text-[var(--dash-text)] mt-4 mb-1 scroll-mt-24",children:fr(l,`h3-${i}`)},o())),s++;continue}if(a.startsWith("## ")){const l=a.slice(3);r.push(c.jsx("h2",{id:wc(l),className:"text-base font-semibold text-[var(--dash-text)] mt-5 mb-2 pb-1 border-b border-[var(--dash-border)] scroll-mt-24",children:fr(l,`h2-${i}`)},o())),s++;continue}if(a.startsWith("# ")){const l=a.slice(2);r.push(c.jsx("h1",{id:wc(l),className:"text-xl font-bold text-[var(--dash-text)] mt-4 mb-2 first:mt-0 scroll-mt-24",children:fr(l,`h1-${i}`)},o())),s++;continue}if(a.trim().startsWith("|")&&/^\|(?:\s*:?-+:?\s*\|)+\s*$/.test(n[s+1]?.trim()??"")){const l=a.trim().split("|").slice(1,-1).map(h=>h.trim()),d=[];for(s+=2;s<n.length&&n[s].trim().startsWith("|");)d.push(n[s].trim().split("|").slice(1,-1).map(h=>h.trim())),s++;const u=o();r.push(c.jsx("div",{className:"my-4 overflow-x-auto rounded-lg border border-[var(--dash-border)]",children:c.jsxs("table",{className:"min-w-full text-sm",children:[c.jsx("thead",{className:"bg-[var(--dash-surface)] text-[var(--dash-text)]",children:c.jsx("tr",{children:l.map((h,f)=>c.jsx("th",{className:"px-3 py-2 text-left font-semibold",children:fr(h,`${u}-head-${f}`)},`${u}-head-${f}`))})}),c.jsx("tbody",{children:d.map((h,f)=>c.jsx("tr",{className:"border-t border-[var(--dash-border)] text-[var(--dash-text-muted)]",children:h.map((p,m)=>c.jsx("td",{className:"px-3 py-2 align-top",children:fr(p,`${u}-cell-${f}-${m}`)},`${u}-cell-${f}-${m}`))},`${u}-row-${f}`))})]})},u));continue}if(a.startsWith("> ")){const l=[];for(;s<n.length&&n[s].startsWith("> ");)l.push(n[s].slice(2)),s++;const d=o();r.push(c.jsx("blockquote",{className:"border-l-2 border-[var(--dash-accent)] pl-4 italic text-[var(--dash-text-muted)] my-2",children:l.map((u,h)=>c.jsx("p",{className:"text-sm leading-relaxed",children:fr(u,`${d}-q${h}`)},`${d}-q${h}`))},d));continue}if(/^\s*[-*+] /.test(a)){const l=[];for(;s<n.length&&/^\s*[-*+] /.test(n[s]);)l.push(n[s].replace(/^\s*[-*+] /,"")),s++;const d=o();r.push(c.jsx("ul",{className:"list-disc pl-6 space-y-1 my-2",children:l.map((u,h)=>c.jsx("li",{className:"text-sm text-[var(--dash-text)] leading-relaxed",children:fr(u,`${d}-li${h}`)},`${d}-li${h}`))},d));continue}if(/^\d+\. /.test(a)){const l=[];for(;s<n.length&&/^\d+\. /.test(n[s]);)l.push(n[s].replace(/^\d+\. /,"")),s++;const d=o();r.push(c.jsx("ol",{className:"list-decimal pl-6 space-y-1 my-2",children:l.map((u,h)=>c.jsx("li",{className:"text-sm text-[var(--dash-text)] leading-relaxed",children:fr(u,`${d}-ol${h}`)},`${d}-ol${h}`))},d));continue}if(a.trim()===""){r.push(c.jsx("div",{className:"h-2"},o())),s++;continue}r.push(c.jsx("p",{className:"text-sm text-[var(--dash-text)] leading-relaxed my-1",children:fr(a,`p-${i}`)},o())),s++}return c.jsx("div",{className:`markdown-content ${e}`.trim(),children:r})};function k4(){const[t,e]=g.useState([]),[n,r]=g.useState(!0),[s,i]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),i(null);const a=await fetch("/api/agents/browser");if(!a.ok)throw new Error(`Request failed: ${a.status}`);const l=await a.json();e(l.agents)}catch(a){i(a instanceof Error?a.message:"Failed to load agents")}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{agents:t,loading:n,error:s,reload:o}}function S4(t){const[e,n]=g.useState(null),[r,s]=g.useState(!1),[i,o]=g.useState(null),a=g.useCallback(async()=>{if(t)try{s(!0),o(null);const l=await fetch(`/api/agents/browser/${encodeURIComponent(t)}`);if(l.status===404)throw new Error("Agent not found");if(!l.ok)throw new Error(`Request failed: ${l.status}`);const d=await l.json();n(d)}catch(l){o(l instanceof Error?l.message:"Failed to load agent")}finally{s(!1)}},[t]);return g.useEffect(()=>{a()},[a]),{agent:e,loading:r,error:i}}function C4(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3.5 h-3.5 shrink-0 text-dash-accent",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.75 3.104v5.714a2.25 2.25 0 01-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 014.5 0m0 0v5.714a2.25 2.25 0 001.357 2.059l1.045.467A4.5 4.5 0 0121 15.75v.75m-4.5-6.75a.75.75 0 00-.75.75v3a.75.75 0 001.5 0v-3a.75.75 0 00-.75-.75z"})})}function zv(t){if(!t)return"unset";const e=t.toLowerCase();return e.includes("opus")?"opus":e.includes("sonnet")?"sonnet":e.includes("haiku")?"haiku":"unset"}function j4(t){if(!t)return"unset";const e=zv(t);return e!=="unset"?e:t.length>16?`${t.slice(0,14)}…`:t}const N4=({label:t,active:e,onClick:n})=>c.jsx("button",{type:"button",onClick:n,className:["px-2.5 py-0.5 rounded-full text-xs font-medium border transition-colors",e?"bg-dash-accent-subtle text-dash-accent border-dash-accent/30":"bg-transparent text-dash-text-muted border-dash-border hover:border-dash-accent/40 hover:text-dash-text"].join(" "),children:t});function P4({agent:t,selected:e,onClick:n}){return c.jsxs("button",{type:"button",onClick:n,className:["w-full flex items-start gap-2 px-3 py-2 rounded-md transition-colors text-left group",e?"bg-dash-accent/10 border border-dash-accent/30":"hover:bg-dash-surface-hover border border-transparent"].join(" "),children:[c.jsx(C4,{}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[c.jsx("span",{className:"text-sm font-semibold text-dash-accent font-mono",children:t.name}),t.model&&c.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-medium shrink-0",children:j4(t.model)})]}),t.description&&c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5 truncate",children:t.description})]})]})}function E4({label:t,count:e}){return c.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5",children:[c.jsx("span",{className:"text-xs font-bold text-dash-text-muted uppercase tracking-wider flex-1",children:t}),c.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold",children:e})]})}const O4=new Set(["name","description","color"]),M4=({frontmatter:t})=>{const e=Object.entries(t).filter(([n,r])=>!O4.has(n)&&r!==void 0&&r!==null&&r!=="");return e.length===0?null:c.jsx("div",{className:"rounded-lg border border-dash-border overflow-hidden text-sm",children:c.jsx("table",{className:"w-full",children:c.jsx("tbody",{children:e.map(([n,r])=>c.jsxs("tr",{className:"border-b border-dash-border last:border-0",children:[c.jsx("td",{className:"px-3 py-2 font-mono text-xs text-dash-text-muted bg-dash-surface w-32 shrink-0 align-top",children:n}),c.jsx("td",{className:"px-3 py-2 text-xs text-dash-text break-all",children:typeof r=="object"?JSON.stringify(r):String(r)})]},n))})})})},D4=({slug:t})=>{const{t:e}=re(),{agent:n,loading:r,error:s}=S4(t);return r?c.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-dash-text-muted",children:e("loading")}):s?c.jsx("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm",children:s}):n?c.jsxs("div",{className:"flex flex-col gap-4",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("h2",{className:"text-base font-semibold text-dash-text font-mono truncate flex-1",children:n.name}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:e("sessionReadOnly")})]}),n.description&&c.jsx("div",{className:"rounded-lg border border-dash-border bg-dash-surface px-4 py-3",children:c.jsx("p",{className:"text-sm text-dash-text-muted",children:n.description})}),c.jsx("div",{className:"flex items-center gap-2 text-xs text-dash-text-muted",children:c.jsxs("span",{className:"font-mono px-2 py-0.5 rounded bg-dash-surface border border-dash-border text-dash-accent",children:[n.dirLabel,"/",t,".md"]})}),c.jsx(M4,{frontmatter:n.frontmatter}),n.body&&c.jsx("div",{className:"rounded-lg border border-dash-border bg-dash-surface p-5 overflow-x-auto",children:c.jsx(Is,{content:n.body})})]}):null},A4=({message:t})=>c.jsx("div",{className:"flex items-center justify-center h-full text-sm text-dash-text-muted",children:t}),T4=()=>{const{t}=re(),{agents:e,loading:n,error:r}=k4(),[s,i]=g.useState(""),[o,a]=g.useState("all"),[l,d]=g.useState(null),{size:u,isDragging:h,startDrag:f}=Ii({storageKey:"ck-agents-panel-width",defaultSize:380,minSize:260,maxSize:650}),p=g.useMemo(()=>{let b=e;if(s.trim()){const y=s.toLowerCase();b=b.filter(k=>k.name.toLowerCase().includes(y)||k.description.toLowerCase().includes(y))}return o!=="all"&&(b=b.filter(y=>zv(y.model)===o)),b},[e,s,o]),m=g.useMemo(()=>{const b=new Map;for(const y of p){const k=b.get(y.dirLabel)??[];k.push(y),b.set(y.dirLabel,k)}return b},[p]),x=[{key:"all",label:t("filterAll")},{key:"opus",label:"Opus"},{key:"sonnet",label:"Sonnet"},{key:"haiku",label:"Haiku"},{key:"unset",label:"Unset"}];return c.jsxs("div",{className:"flex h-full overflow-hidden",children:[c.jsxs("div",{style:{width:`${u}px`},className:"shrink-0 flex flex-col overflow-hidden border-r border-dash-border",children:[c.jsxs("div",{className:"shrink-0 px-4 pt-4 pb-3 border-b border-dash-border",children:[c.jsxs("div",{className:"flex items-start justify-between mb-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-base font-bold text-dash-text",children:t("agentsBrowser")}),!n&&!r&&c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5",children:t("agentsBrowserCount").replace("{count}",String(e.length))}),c.jsx("p",{className:"text-[11px] text-dash-text-muted font-mono mt-0.5",children:"~/.claude/agents/"})]}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:t("sessionReadOnly")})]}),c.jsxs("div",{className:"relative mb-2",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-dash-text-muted pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),c.jsx("input",{type:"text",value:s,onChange:b=>i(b.target.value),placeholder:t("searchAgentsPlaceholder"),className:"w-full pl-9 pr-4 py-2 text-sm bg-dash-surface border border-dash-border rounded-lg text-dash-text placeholder:text-dash-text-muted focus:outline-none focus:border-dash-accent/50 transition-colors"}),s&&c.jsx("button",{type:"button",onClick:()=>i(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),c.jsx("div",{className:"flex items-center gap-1 flex-wrap",children:x.map(({key:b,label:y})=>c.jsx(N4,{label:y,active:o===b,onClick:()=>a(b)},b))})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto px-2 py-2",children:[n&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-dash-text-muted text-sm p-8",children:t("loading")}),!n&&r&&c.jsx("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm m-2",children:r}),!n&&!r&&m.size===0&&c.jsx("div",{className:"flex items-center justify-center p-8 text-dash-text-muted text-sm",children:t("noAgentsFound")}),!n&&!r&&m.size>0&&c.jsx("div",{className:"flex flex-col gap-2 pb-4",children:Array.from(m.entries()).map(([b,y])=>c.jsxs("div",{children:[m.size>1&&c.jsx(E4,{label:b,count:y.length}),c.jsx("div",{className:"space-y-0.5",children:y.map(k=>c.jsx(P4,{agent:k,selected:l===k.slug,onClick:()=>d(k.slug)},`${k.dirLabel}/${k.slug}`))})]},b))})]})]}),c.jsx(xn,{onMouseDown:f,isDragging:h,direction:"horizontal"}),c.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:l?c.jsx(D4,{slug:l}):c.jsx(A4,{message:t("selectToView")})})]})};function L4(){const[t,e]=g.useState([]),[n,r]=g.useState(!0),[s,i]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),i(null);const a=await fetch("/api/commands");if(!a.ok)throw new Error(`HTTP ${a.status}`);const l=await a.json();e(l.tree)}catch(a){i(a instanceof Error?a.message:"Failed to load")}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{tree:t,loading:n,error:s,reload:o}}function R4(t){const[e,n]=g.useState(null),[r,s]=g.useState(!1),[i,o]=g.useState(null),a=g.useCallback(async()=>{if(!t){n(null);return}try{s(!0),o(null);const l=t.replace(/\//g,"--"),d=await fetch(`/api/commands/detail/${encodeURIComponent(l)}`);if(!d.ok)throw new Error(`HTTP ${d.status}`);const u=await d.json();n(u)}catch(l){o(l instanceof Error?l.message:"Failed to load")}finally{s(!1)}},[t]);return g.useEffect(()=>{a()},[a]),{detail:e,loading:r,error:i,reload:a}}function Hv(t){const e=[];for(const n of t)n.children?e.push(...Hv(n.children)):e.push(n);return e}function Vv(t){return Hv(t).length}function I4(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4 shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"})})}function Wv({open:t}){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`w-3 h-3 shrink-0 transition-transform ${t?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}function $4(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3.5 h-3.5 shrink-0 text-dash-accent",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3"})})}function Kv(t,e){if(!e)return!0;const n=e.toLowerCase();return t.name.toLowerCase().includes(n)||t.description?.toLowerCase().includes(n)?!0:t.children?t.children.some(r=>Kv(r,n)):!1}function Uv(t,e){return e?t.filter(n=>Kv(n,e)).map(n=>n.children?{...n,children:Uv(n.children,e)}:n):t}function Gv({node:t,selected:e,onSelect:n}){return c.jsxs("button",{type:"button",onClick:()=>n(t.path),className:["w-full flex items-start gap-2 px-3 py-2 rounded-md transition-colors text-left group",e?"bg-dash-accent/10 border border-dash-accent/30":"hover:bg-dash-surface-hover border border-transparent"].join(" "),children:[c.jsx($4,{}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("span",{className:"text-sm font-semibold text-dash-accent font-mono",children:["/",t.name]}),t.description&&c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5 truncate",children:t.description})]})]})}function qv({node:t,depth:e,forceOpen:n,selectedPath:r,onSelect:s}){const[i,o]=g.useState(!0),a=n||i,l=Vv(t.children??[]);return c.jsxs("div",{className:e>0?"ml-3 border-l border-dash-border pl-2":"",children:[c.jsxs("button",{type:"button",onClick:()=>o(d=>!d),className:"w-full flex items-center gap-2 px-2 py-1.5 rounded-md hover:bg-dash-surface-hover transition-colors text-left",children:[c.jsx(Wv,{open:a}),c.jsx(I4,{}),c.jsx("span",{className:"text-xs font-bold text-dash-text-muted uppercase tracking-wider flex-1",children:t.name}),c.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold",children:l})]}),a&&c.jsx("div",{className:"mt-0.5 space-y-0.5",children:(t.children??[]).map(d=>d.children?c.jsx(qv,{node:d,depth:e+1,forceOpen:n,selectedPath:r,onSelect:s},d.path):c.jsx(Gv,{node:d,selected:r===d.path,onSelect:s},d.path))})]})}function B4({nodes:t,forceOpen:e,selectedPath:n,onSelect:r,label:s}){const[i,o]=g.useState(!0),a=e||i;return t.length===0?null:c.jsxs("div",{children:[c.jsxs("button",{type:"button",onClick:()=>o(l=>!l),className:"w-full flex items-center gap-2 px-2 py-1.5 rounded-md hover:bg-dash-surface-hover transition-colors text-left",children:[c.jsx(Wv,{open:a}),c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4 shrink-0 text-dash-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"})}),c.jsx("span",{className:"text-xs font-bold text-dash-text-muted uppercase tracking-wider flex-1",children:s}),c.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold",children:t.length})]}),a&&c.jsx("div",{className:"mt-0.5 space-y-0.5",children:t.map(l=>c.jsx(Gv,{node:l,selected:n===l.path,onSelect:r},l.path))})]})}const _4=({commandPath:t})=>{const{t:e}=re(),{detail:n,loading:r,error:s}=R4(t);return r?c.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-dash-text-muted",children:e("sessionLoading")}):s?c.jsxs("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm",children:[e("sessionError"),": ",s]}):n?c.jsxs("div",{className:"flex flex-col gap-4",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("h2",{className:"text-base font-semibold text-dash-text font-mono truncate flex-1",children:["/",n.name]}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:e("sessionReadOnly")})]}),n.description&&c.jsx("div",{className:"rounded-lg border border-dash-border bg-dash-surface px-4 py-3",children:c.jsx("p",{className:"text-sm text-dash-text-muted",children:n.description})}),c.jsx("div",{className:"flex items-center gap-2 text-xs text-dash-text-muted",children:c.jsxs("span",{className:"font-mono px-2 py-0.5 rounded bg-dash-surface border border-dash-border text-dash-accent",children:["~/.claude/commands/",n.path]})}),c.jsx("div",{className:"rounded-lg border border-dash-border bg-dash-surface p-5 overflow-x-auto",children:c.jsx(Is,{content:n.content})})]}):null},F4=({message:t})=>c.jsx("div",{className:"flex items-center justify-center h-full text-sm text-dash-text-muted",children:t}),z4=()=>{const{t}=re(),{tree:e,loading:n,error:r}=L4(),[s,i]=g.useState(""),[o,a]=g.useState(null),{size:l,isDragging:d,startDrag:u}=Ii({storageKey:"ck-commands-panel-width",defaultSize:380,minSize:260,maxSize:650}),h=g.useMemo(()=>Uv(e,s),[e,s]),f=h.filter(b=>!b.children),p=h.filter(b=>b.children),m=g.useMemo(()=>Vv(e),[e]),x=s.trim().length>0;return c.jsxs("div",{className:"flex h-full overflow-hidden",children:[c.jsxs("div",{style:{width:`${l}px`},className:"shrink-0 flex flex-col overflow-hidden border-r border-dash-border",children:[c.jsxs("div",{className:"shrink-0 px-4 pt-4 pb-3 border-b border-dash-border",children:[c.jsxs("div",{className:"flex items-start justify-between mb-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-base font-bold text-dash-text",children:t("commandsBrowser")}),!n&&!r&&c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5",children:t("commandsCount").replace("{count}",String(m))}),c.jsx("p",{className:"text-[11px] text-dash-text-muted font-mono mt-0.5",children:"~/.claude/commands/"})]}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:t("sessionReadOnly")})]}),c.jsxs("div",{className:"relative",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-dash-text-muted pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),c.jsx("input",{type:"text",value:s,onChange:b=>i(b.target.value),placeholder:t("searchCommandsPlaceholder"),className:"w-full pl-9 pr-4 py-2 text-sm bg-dash-surface border border-dash-border rounded-lg text-dash-text placeholder:text-dash-text-muted focus:outline-none focus:border-dash-accent/50 transition-colors"}),s&&c.jsx("button",{type:"button",onClick:()=>i(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto px-2 py-2",children:[n&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-dash-text-muted text-sm p-8",children:t("sessionLoading")}),!n&&r&&c.jsxs("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm m-2",children:[t("sessionError"),": ",r]}),!n&&!r&&h.length===0&&c.jsx("div",{className:"flex items-center justify-center p-8 text-dash-text-muted text-sm",children:t("noCommandsFound")}),!n&&!r&&h.length>0&&c.jsxs("div",{className:"flex flex-col gap-2 pb-4",children:[c.jsx(B4,{nodes:f,forceOpen:x,selectedPath:o,onSelect:a,label:t("rootCommands")}),p.map(b=>c.jsx(qv,{node:b,depth:0,forceOpen:x,selectedPath:o,onSelect:a},b.path))]})]})]}),c.jsx(xn,{onMouseDown:u,isDragging:d,direction:"horizontal"}),c.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:o?c.jsx(_4,{commandPath:o}):c.jsx(F4,{message:t("selectToView")})})]})},Yv=({title:t,filePath:e,onBack:n,onSave:r,onReset:s,saveStatus:i,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:d,showActions:u=!0,showFilePath:h=!0})=>{const{t:f}=re();return c.jsxs("div",{className:"flex items-center justify-between mb-3 shrink-0",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("button",{onClick:n,className:"px-2 py-1 rounded-lg bg-dash-surface hover:bg-dash-surface-hover border border-dash-border text-sm text-dash-text-secondary hover:text-dash-text flex items-center group transition-all font-medium shadow-sm",title:f("backToDashboard"),children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4 group-hover:-translate-x-0.5 transition-transform",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),c.jsx("h1",{className:"text-xl font-bold tracking-tight text-dash-text",children:t}),d,h&&c.jsx("span",{className:"text-xs text-dash-text-muted mono",children:e})]}),u&&c.jsxs("div",{className:"flex items-center gap-2 relative",children:[a?c.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[c.jsx("span",{className:"text-xs text-red-500 font-medium",children:f("confirmReset")}),c.jsx("button",{onClick:s,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:f("confirm")}),c.jsx("button",{onClick:()=>l(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:f("cancel")})]}):c.jsx("button",{onClick:()=>l(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:f("resetToDefault")}),c.jsx("button",{onClick:r,disabled:!!o||i==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${o?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":i==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":i==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:f(i==="saving"?"saving":i==="saved"?"saved":i==="error"?"saveFailed":"saveChanges")})]})]})},Xv={plan:{path:"plan",type:"object",default:"{}",description:"Configuration for plan management including naming conventions, resolution strategies, and validation workflows.",descriptionVi:"Cấu hình quản lý kế hoạch bao gồm quy ước đặt tên, chiến lược giải quyết và quy trình xác thực.",effect:"Controls how plans are created (namingFormat), located (resolution), and reviewed (validation) during development.",effectVi:"Điều khiển cách tạo kế hoạch (namingFormat), định vị (resolution) và xem xét (validation) trong quá trình phát triển."},"plan.resolution":{path:"plan.resolution",type:"object",default:"{}",description:"Settings for resolving which plan is currently active. Uses cascading resolution: session state (explicit) → branch name matching (suggested).",descriptionVi:"Cài đặt để xác định kế hoạch đang hoạt động. Sử dụng giải quyết theo tầng: trạng thái phiên (rõ ràng) → khớp tên nhánh (gợi ý).",effect:"'session' = ACTIVE (explicitly set via set-active-plan). 'branch' = SUGGESTED (hint from git branch name). 'mostRecent' was removed to avoid stale plan pollution.",effectVi:"'session' = ĐANG HOẠT ĐỘNG (đặt rõ ràng qua set-active-plan). 'branch' = GỢI Ý (từ tên nhánh git). 'mostRecent' đã bị xóa để tránh ô nhiễm kế hoạch cũ."},"plan.validation":{path:"plan.validation",type:"object",default:"{}",description:"Settings for the plan validation interview that reviews assumptions, risks, and architecture decisions.",descriptionVi:"Cài đặt cho phỏng vấn xác thực kế hoạch để xem xét giả định, rủi ro và quyết định kiến trúc.",effect:"Runs validation interview based on mode: 'prompt' (ask first), 'auto' (run automatically), 'strict' (enforce validation), 'none' (skip). Questions focus on configured areas.",effectVi:"Chạy phỏng vấn xác thực dựa trên chế độ: 'prompt' (hỏi trước), 'auto' (tự chạy), 'strict' (bắt buộc xác thực), 'none' (bỏ qua). Câu hỏi tập trung vào các lĩnh vực đã cấu hình."},paths:{path:"paths",type:"object",default:"{}",description:"Custom paths for project directories. Supports relative paths (from project root) or absolute paths for consolidated setups.",descriptionVi:"Đường dẫn tùy chỉnh cho các thư mục dự án. Hỗ trợ đường dẫn tương đối (từ thư mục gốc) hoặc tuyệt đối cho thiết lập tập trung.",effect:"Relative paths are resolved from project root. Absolute paths allow consolidated plans across repos.",effectVi:"Đường dẫn tương đối được giải quyết từ thư mục gốc dự án. Đường dẫn tuyệt đối cho phép kế hoạch tập trung giữa các repo."},locale:{path:"locale",type:"object",default:"{}",description:"Language settings separating internal AI reasoning from user-facing output for optimal precision.",descriptionVi:"Cài đặt ngôn ngữ tách suy luận AI nội bộ khỏi đầu ra cho người dùng để có độ chính xác tối ưu.",effect:"thinkingLanguage: for reasoning/logic (recommended: 'en'). responseLanguage: for user output (e.g., 'vi' for Vietnamese responses).",effectVi:"thinkingLanguage: cho suy luận/logic (khuyến nghị: 'en'). responseLanguage: cho đầu ra người dùng (vd: 'vi' cho phản hồi tiếng Việt)."},trust:{path:"trust",type:"object",default:"{}",description:"Trusted execution mode for bypassing certain security confirmations in controlled environments.",descriptionVi:"Chế độ thực thi tin cậy để bỏ qua một số xác nhận bảo mật trong môi trường được kiểm soát.",effect:"When trust.enabled=true, security prompts may be skipped. passphrase is used for context injection testing.",effectVi:"Khi trust.enabled=true, các lời nhắc bảo mật có thể bị bỏ qua. passphrase dùng để kiểm tra tiêm ngữ cảnh."},project:{path:"project",type:"object",default:"{}",description:"Override automatic project detection. Set to 'auto' for automatic detection or specify exact values.",descriptionVi:"Ghi đè phát hiện dự án tự động. Đặt 'auto' để tự động phát hiện hoặc chỉ định giá trị cụ thể.",effect:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/etc.",effectVi:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/v.v."},codingLevel:{path:"codingLevel",type:"number",default:"-1",validValues:["-1","0","1","2","3","4","5"],description:"Controls the communication style and depth of explanations based on user's coding experience level.",descriptionVi:"Điều khiển phong cách giao tiếp và độ sâu giải thích dựa trên trình độ lập trình của người dùng.",effect:"Loads corresponding output style and injects it into the session context. Changes how Claude explains code and structures responses.",effectVi:"Tải phong cách đầu ra tương ứng và đưa vào ngữ cảnh phiên. Thay đổi cách Claude giải thích code và cấu trúc phản hồi.",example:`{
35
+ "codingLevel": 1
36
+ }`},privacyBlock:{path:"privacyBlock",type:"boolean",default:"true",description:"Enables or disables the privacy protection hook that blocks access to sensitive files and domains.",descriptionVi:"Bật hoặc tắt hook bảo vệ quyền riêng tư, chặn truy cập vào các tệp và domain nhạy cảm.",effect:"When true, blocks reading files like .env, passwords, credentials, SSH keys, and API tokens.",effectVi:"Khi bật, chặn đọc các tệp như .env, mật khẩu, thông tin xác thực, SSH keys và API tokens.",example:`{
37
+ "privacyBlock": false
38
+ }`},"plan.namingFormat":{path:"plan.namingFormat",type:"string",default:'"{date}-{issue}-{slug}"',description:"Template for naming plan directories. Uses placeholder tokens that get replaced at runtime.",descriptionVi:"Mẫu đặt tên thư mục kế hoạch. Sử dụng các token placeholder được thay thế khi chạy.",effect:"{date} is replaced with formatted date, {issue} is extracted from branch, {slug} is for agent substitution.",effectVi:"{date} được thay bằng ngày đã định dạng, {issue} trích xuất từ branch, {slug} cho agent thay thế.",example:`{
39
+ "plan": {
40
+ "namingFormat": "{date}-{slug}"
41
+ }
42
+ }`},"plan.dateFormat":{path:"plan.dateFormat",type:"string",default:'"YYMMDD-HHmm"',description:"Date format string for {date} token in naming pattern.",descriptionVi:"Chuỗi định dạng ngày cho token {date} trong mẫu đặt tên.",example:`{
43
+ "plan": {
44
+ "dateFormat": "YYMMDD"
45
+ }
46
+ }`},"plan.issuePrefix":{path:"plan.issuePrefix",type:"string | null",default:"null",description:"Prefix to prepend to extracted issue numbers in plan naming (e.g., 'GH-', 'JIRA-').",descriptionVi:"Tiền tố thêm vào số issue trích xuất trong đặt tên kế hoạch (vd: 'GH-', 'JIRA-').",example:`{
47
+ "plan": {
48
+ "issuePrefix": "GH-"
49
+ }
50
+ }`},"plan.reportsDir":{path:"plan.reportsDir",type:"string",default:'"reports"',description:"Subdirectory name within plan directory for storing reports.",descriptionVi:"Tên thư mục con trong thư mục kế hoạch để lưu trữ báo cáo.",example:`{
51
+ "plan": {
52
+ "reportsDir": "reports"
53
+ }
54
+ }`},"plan.resolution.order":{path:"plan.resolution.order",type:"string[]",default:'["session", "branch"]',validValues:["session","branch","directory"],description:"Order of resolution methods to try when finding the active plan.",descriptionVi:"Thứ tự các phương thức giải quyết để tìm kế hoạch đang hoạt động.",example:`{
55
+ "plan": {
56
+ "resolution": {
57
+ "order": ["session", "branch"]
58
+ }
59
+ }
60
+ }`},"plan.resolution.branchPattern":{path:"plan.resolution.branchPattern",type:"string (regex)",default:'"(?:feat|fix|chore|refactor|docs)/(?:[^/]+/)?(.+)"',description:"Regex pattern for extracting plan slug from git branch name. Capture group 1 is used as the slug.",descriptionVi:"Mẫu regex để trích xuất slug kế hoạch từ tên nhánh git. Nhóm bắt 1 được dùng làm slug.",example:`{
61
+ "plan": {
62
+ "resolution": {
63
+ "branchPattern": "(?:feat|fix)/(.+)"
64
+ }
65
+ }
66
+ }`},"plan.validation.mode":{path:"plan.validation.mode",type:"string",default:'"prompt"',validValues:["prompt","auto","strict","none"],description:"Controls when plan validation interview runs.",descriptionVi:"Điều khiển thời điểm chạy phỏng vấn xác thực kế hoạch.",example:`{
67
+ "plan": {
68
+ "validation": {
69
+ "mode": "auto"
70
+ }
71
+ }
72
+ }`},"plan.validation.minQuestions":{path:"plan.validation.minQuestions",type:"number",default:"3",description:"Minimum number of validation questions to ask during plan review.",descriptionVi:"Số câu hỏi xác thực tối thiểu trong quá trình xem xét kế hoạch.",example:`{
73
+ "plan": {
74
+ "validation": {
75
+ "minQuestions": 5
76
+ }
77
+ }
78
+ }`},"plan.validation.maxQuestions":{path:"plan.validation.maxQuestions",type:"number",default:"8",description:"Maximum number of validation questions to ask during plan review.",descriptionVi:"Số câu hỏi xác thực tối đa trong quá trình xem xét kế hoạch.",example:`{
79
+ "plan": {
80
+ "validation": {
81
+ "maxQuestions": 10
82
+ }
83
+ }
84
+ }`},"plan.validation.focusAreas":{path:"plan.validation.focusAreas",type:"string[]",default:'["assumptions", "risks", "tradeoffs", "architecture"]',description:"Categories of questions to focus on during validation interview.",descriptionVi:"Các danh mục câu hỏi tập trung trong phỏng vấn xác thực.",example:`{
85
+ "plan": {
86
+ "validation": {
87
+ "focusAreas": ["security", "performance"]
88
+ }
89
+ }
90
+ }`},"paths.docs":{path:"paths.docs",type:"string",default:'"docs"',description:"Path to documentation directory (relative to project root or absolute).",descriptionVi:"Đường dẫn thư mục tài liệu (tương đối với thư mục gốc hoặc tuyệt đối).",example:`{
91
+ "paths": {
92
+ "docs": "docs"
93
+ }
94
+ }`},"paths.plans":{path:"paths.plans",type:"string",default:'"plans"',description:"Path to plans directory (relative to project root or absolute).",descriptionVi:"Đường dẫn thư mục kế hoạch (tương đối với thư mục gốc hoặc tuyệt đối).",example:`{
95
+ "paths": {
96
+ "plans": "plans"
97
+ }
98
+ }`},"locale.thinkingLanguage":{path:"locale.thinkingLanguage",type:"string | null",default:"null",description:"Language for internal reasoning and logic. Recommended: 'en' for precision.",descriptionVi:"Ngôn ngữ suy luận nội bộ và logic. Khuyến nghị: 'en' để chính xác.",example:`{
99
+ "locale": {
100
+ "thinkingLanguage": "en"
101
+ }
102
+ }`},"locale.responseLanguage":{path:"locale.responseLanguage",type:"string | null",default:"null",description:"Language for user-facing output (responses, explanations, comments).",descriptionVi:"Ngôn ngữ cho đầu ra người dùng (phản hồi, giải thích, nhận xét).",example:`{
103
+ "locale": {
104
+ "responseLanguage": "fr"
105
+ }
106
+ }`},"trust.enabled":{path:"trust.enabled",type:"boolean",default:"false",description:"Enables trusted execution mode. When enabled, bypasses certain security prompts.",descriptionVi:"Bật chế độ thực thi tin cậy. Khi bật, bỏ qua một số lời nhắc bảo mật.",example:`{
107
+ "trust": {
108
+ "enabled": true
109
+ }
110
+ }`},"trust.passphrase":{path:"trust.passphrase",type:"string | null",default:"null",description:"Secret passphrase for testing context injection and trust verification.",descriptionVi:"Cụm mật khẩu bí mật để kiểm tra tiêm ngữ cảnh và xác minh tin cậy.",example:`{
111
+ "trust": {
112
+ "passphrase": "super-secret-key"
113
+ }
114
+ }`},"project.type":{path:"project.type",type:"string",default:'"auto"',validValues:["auto","library","application","monorepo","cli","api","web","mobile"],description:"Override automatic project type detection.",descriptionVi:"Ghi đè phát hiện loại dự án tự động.",example:`{
115
+ "project": {
116
+ "type": "monorepo"
117
+ }
118
+ }`},"project.packageManager":{path:"project.packageManager",type:"string",default:'"auto"',validValues:["auto","npm","yarn","pnpm","bun"],description:"Override automatic package manager detection.",descriptionVi:"Ghi đè phát hiện trình quản lý gói tự động.",example:`{
119
+ "project": {
120
+ "packageManager": "pnpm"
121
+ }
122
+ }`},"project.framework":{path:"project.framework",type:"string",default:'"auto"',validValues:["auto","react","vue","angular","svelte","nextjs","nuxt","express","nestjs","fastify","none"],description:"Override automatic framework detection.",descriptionVi:"Ghi đè phát hiện framework tự động.",example:`{
123
+ "project": {
124
+ "framework": "nextjs"
125
+ }
126
+ }`},docs:{path:"docs",type:"object",default:"{}",description:"Configuration for documentation management including file size limits and splitting behavior.",descriptionVi:"Cấu hình quản lý tài liệu bao gồm giới hạn kích thước tệp và hành vi chia nhỏ.",effect:"Controls how documentation files are processed and split when they exceed size limits.",effectVi:"Điều khiển cách các tệp tài liệu được xử lý và chia nhỏ khi vượt quá giới hạn kích thước."},"docs.maxLoc":{path:"docs.maxLoc",type:"number",default:"800",description:"Maximum lines of code per documentation file before automatic splitting is triggered.",descriptionVi:"Số dòng code tối đa mỗi tệp tài liệu trước khi tự động chia nhỏ được kích hoạt.",effect:"When a documentation file exceeds this line count, the system will suggest or automatically split it into smaller files for better readability and maintenance.",effectVi:"Khi tệp tài liệu vượt quá số dòng này, hệ thống sẽ đề xuất hoặc tự động chia nhỏ thành các tệp nhỏ hơn để dễ đọc và bảo trì hơn.",example:`{
127
+ "docs": {
128
+ "maxLoc": 1000
129
+ }
130
+ }`},gemini:{path:"gemini",type:"object",default:"{}",description:"Configuration for Google Gemini API integration used for CLI commands and research tasks.",descriptionVi:"Cấu hình tích hợp Google Gemini API dùng cho lệnh CLI và tác vụ nghiên cứu.",effect:"Controls which Gemini model is used for research, web search, and other AI-powered CLI operations.",effectVi:"Điều khiển model Gemini nào được dùng cho nghiên cứu, tìm kiếm web và các thao tác CLI hỗ trợ AI khác."},"gemini.model":{path:"gemini.model",type:"string",default:'"gemini-3-flash-preview"',validValues:["gemini-2.5-flash","gemini-2.5-pro","gemini-3-pro-preview","gemini-3-flash-preview"],description:"Gemini model used for CLI commands and research operations. Pick a known model or type any valid model ID. Legacy gemini-3.0-* ids are auto-mapped on load.",descriptionVi:"Model Gemini dùng cho lệnh CLI và thao tác nghiên cứu. Chọn model có sẵn hoặc nhập ID model bất kỳ. Các id gemini-3.0-* cũ sẽ được tự động ánh xạ khi tải.",effect:"Determines which Gemini model handles research, web search, and other auxiliary tasks. Flash models are faster but less capable than Pro models.",effectVi:"Xác định model Gemini nào xử lý nghiên cứu, tìm kiếm web và các tác vụ phụ trợ khác. Model Flash nhanh hơn nhưng kém khả năng hơn model Pro.",example:`{
131
+ "gemini": {
132
+ "model": "gemini-2.5-pro"
133
+ }
134
+ }`},skills:{path:"skills",type:"object",default:"{}",description:"Configuration for skills system including research behavior and custom skill settings.",descriptionVi:"Cấu hình hệ thống kỹ năng bao gồm hành vi nghiên cứu và cài đặt kỹ năng tùy chỉnh.",effect:"Controls how skills are executed, particularly research operations and their AI provider choices.",effectVi:"Điều khiển cách các kỹ năng được thực thi, đặc biệt là thao tác nghiên cứu và lựa chọn nhà cung cấp AI."},"skills.research":{path:"skills.research",type:"object",default:"{}",description:"Configuration specific to the research skill behavior and AI provider selection.",descriptionVi:"Cấu hình riêng cho hành vi kỹ năng nghiên cứu và lựa chọn nhà cung cấp AI.",effect:"Determines whether research operations use Gemini CLI or Claude's built-in WebSearch tool.",effectVi:"Xác định liệu thao tác nghiên cứu có dùng Gemini CLI hay công cụ WebSearch tích hợp của Claude."},"skills.research.useGemini":{path:"skills.research.useGemini",type:"boolean",default:"true",description:"When enabled, uses Gemini CLI for research operations instead of Claude's WebSearch tool.",descriptionVi:"Khi bật, dùng Gemini CLI cho thao tác nghiên cứu thay vì công cụ WebSearch của Claude.",effect:"Gemini CLI offers faster search results and lower token costs for research, but requires Gemini API setup. WebSearch is built-in but more expensive.",effectVi:"Gemini CLI cung cấp kết quả tìm kiếm nhanh hơn và chi phí token thấp hơn cho nghiên cứu, nhưng cần thiết lập Gemini API. WebSearch tích hợp sẵn nhưng đắt hơn.",example:`{
135
+ "skills": {
136
+ "research": {
137
+ "useGemini": false
138
+ }
139
+ }
140
+ }`},hooks:{path:"hooks",type:"object",default:"{}",description:"Configuration for lifecycle hooks that inject context, enforce rules, and enhance safety throughout the development workflow.",descriptionVi:"Cấu hình các hook vòng đời tiêm ngữ cảnh, thực thi quy tắc và tăng cường an toàn trong suốt quy trình phát triển.",effect:"Controls which hooks are active. Each hook fires at specific points in the workflow to inject context or enforce guardrails.",effectVi:"Điều khiển hook nào đang hoạt động. Mỗi hook kích hoạt tại các điểm cụ thể trong quy trình để tiêm ngữ cảnh hoặc thực thi bảo vệ."},"hooks.session-init":{path:"hooks.session-init",type:"boolean",default:"true",description:"Runs project detection and environment setup at the start of every Claude Code session.",descriptionVi:"Chạy phát hiện dự án và thiết lập môi trường khi bắt đầu mỗi phiên Claude Code.",effect:"When enabled, automatically detects project type, framework, package manager, and injects relevant context into the session.",effectVi:"Khi bật, tự động phát hiện loại dự án, framework, trình quản lý gói và tiêm ngữ cảnh liên quan vào phiên.",example:`{
141
+ "hooks": {
142
+ "session-init": false
143
+ }
144
+ }`},"hooks.subagent-init":{path:"hooks.subagent-init",type:"boolean",default:"true",description:"Injects context (paths, plans, reports) into spawned subagents to ensure consistency.",descriptionVi:"Tiêm ngữ cảnh (đường dẫn, kế hoạch, báo cáo) vào các subagent được tạo để đảm bảo nhất quán.",effect:"Ensures subagents inherit work context, know where to save reports, and follow the same plan structure as the parent agent.",effectVi:"Đảm bảo subagent kế thừa ngữ cảnh làm việc, biết nơi lưu báo cáo và tuân theo cùng cấu trúc kế hoạch với agent cha.",example:`{
145
+ "hooks": {
146
+ "subagent-init": false
147
+ }
148
+ }`},"hooks.descriptive-name":{path:"hooks.descriptive-name",type:"boolean",default:"true",description:"Injects descriptive naming context so agents generate meaningful, self-documenting file and variable names.",descriptionVi:"Tiêm ngữ cảnh đặt tên mô tả để agent tạo tên tệp và biến có ý nghĩa, tự tài liệu hóa.",effect:"When enabled, reminds the agent to use long, descriptive kebab-case names for files and clear variable naming conventions.",effectVi:"Khi bật, nhắc nhở agent sử dụng tên kebab-case dài, mô tả cho tệp và quy ước đặt tên biến rõ ràng.",example:`{
149
+ "hooks": {
150
+ "descriptive-name": false
151
+ }
152
+ }`},"hooks.dev-rules-reminder":{path:"hooks.dev-rules-reminder",type:"boolean",default:"true",description:"Injects development rules context before tool execution to maintain coding standards.",descriptionVi:"Tiêm ngữ cảnh quy tắc phát triển trước khi thực thi công cụ để duy trì chuẩn code.",effect:"Reminds the agent of coding standards, file naming conventions, and project-specific rules before file operations.",effectVi:"Nhắc nhở agent về chuẩn code, quy ước đặt tên tệp và quy tắc riêng của dự án trước thao tác tệp.",example:`{
153
+ "hooks": {
154
+ "dev-rules-reminder": false
155
+ }
156
+ }`},"hooks.usage-context-awareness":{path:"hooks.usage-context-awareness",type:"boolean",default:"true",description:"Injects usage-limit awareness into prompt context so the agent can react before overruns.",descriptionVi:"Tiêm nhận biết giới hạn sử dụng vào ngữ cảnh prompt để agent phản ứng trước khi vượt quá.",effect:"When enabled, reminder context can warn the agent to stay concise or split work when usage windows are tight.",effectVi:"Khi bật, ngữ cảnh nhắc nhở có thể cảnh báo agent nên ngắn gọn hơn hoặc chia nhỏ công việc khi cửa sổ sử dụng trở nên chặt.",example:`{
157
+ "hooks": {
158
+ "usage-context-awareness": false
159
+ }
160
+ }`},"hooks.context-tracking":{path:"hooks.context-tracking",type:"boolean",default:"true",description:"Tracks context window usage and injects awareness data so agents can optimize token consumption.",descriptionVi:"Theo dõi sử dụng cửa sổ ngữ cảnh và tiêm dữ liệu nhận biết để agent tối ưu hóa tiêu thụ token.",effect:"When enabled, monitors context percentage and remaining capacity, warning the agent when approaching limits to prevent truncation.",effectVi:"Khi bật, giám sát phần trăm ngữ cảnh và dung lượng còn lại, cảnh báo agent khi tiến gần giới hạn để ngăn cắt xén.",example:`{
161
+ "hooks": {
162
+ "context-tracking": false
163
+ }
164
+ }`},"hooks.scout-block":{path:"hooks.scout-block",type:"boolean",default:"true",description:"Blocks heavy directories (node_modules, .git, dist) from exploration to save tokens.",descriptionVi:"Chặn các thư mục nặng (node_modules, .git, dist) khỏi khám phá để tiết kiệm token.",effect:"Prevents the agent from reading irrelevant or large directories that waste tokens and context window space.",effectVi:"Ngăn agent đọc các thư mục không liên quan hoặc lớn lãng phí token và không gian cửa sổ ngữ cảnh.",example:`{
165
+ "hooks": {
166
+ "scout-block": false
167
+ }
168
+ }`},"hooks.privacy-block":{path:"hooks.privacy-block",type:"boolean",default:"true",description:"Blocks reading sensitive files (.env, credentials, secrets) to protect user privacy.",descriptionVi:"Chặn đọc các tệp nhạy cảm (.env, thông tin xác thực, bí mật) để bảo vệ quyền riêng tư người dùng.",effect:"When enabled, prompts user for permission before accessing files that may contain API keys, passwords, or other secrets.",effectVi:"Khi bật, nhắc người dùng cho phép trước khi truy cập tệp có thể chứa API keys, mật khẩu hoặc bí mật khác.",example:`{
169
+ "hooks": {
170
+ "privacy-block": false
171
+ }
172
+ }`},"hooks.post-edit-simplify-reminder":{path:"hooks.post-edit-simplify-reminder",type:"boolean",default:"true",description:"Reminds the agent to simplify code after file edits to maintain readability and prevent bloat.",descriptionVi:"Nhắc nhở agent đơn giản hóa code sau khi chỉnh sửa tệp để duy trì khả năng đọc và ngăn phình to.",effect:"After editing files, suggests reviewing for unnecessary complexity, redundant code, or opportunities to refactor.",effectVi:"Sau khi chỉnh sửa tệp, đề xuất xem xét độ phức tạp không cần thiết, code dư thừa hoặc cơ hội refactor.",example:`{
173
+ "hooks": {
174
+ "post-edit-simplify-reminder": false
175
+ }
176
+ }`},"updatePipeline.autoInitAfterUpdate":{path:"updatePipeline.autoInitAfterUpdate",type:"boolean",default:"false",description:"Automatically runs `ck init` after `ck update` when the installed kit content has a newer version.",descriptionVi:"Tự động chạy `ck init` sau `ck update` khi nội dung kit đã cài có phiên bản mới hơn.",effect:"Power users can reduce the update flow to one command. This setting is read from global config for update runs.",effectVi:"Người dùng nâng cao có thể rút gọn quy trình cập nhật còn một lệnh. Thiết lập này được đọc từ global config trong lúc update.",example:`{
177
+ "updatePipeline": {
178
+ "autoInitAfterUpdate": true,
179
+ "autoMigrateAfterUpdate": true,
180
+ "migrateProviders": ["codex"]
181
+ }
182
+ }`},"updatePipeline.autoMigrateAfterUpdate":{path:"updatePipeline.autoMigrateAfterUpdate",type:"boolean",default:"false",description:"Automatically runs `ck migrate` as an independent step after `ck update` for detected or configured providers.",descriptionVi:"Tự động chạy `ck migrate` như bước độc lập sau `ck update` cho các provider được phát hiện hoặc đã cấu hình.",effect:"Runs independently of kit init — even if kit is already at latest, providers can still be synced.",effectVi:"Chạy độc lập với kit init — ngay cả khi kit đã ở phiên bản mới nhất, provider vẫn có thể được đồng bộ.",example:`{
183
+ "updatePipeline": {
184
+ "autoInitAfterUpdate": true,
185
+ "autoMigrateAfterUpdate": true,
186
+ "migrateProviders": ["codex"]
187
+ }
188
+ }`},"updatePipeline.migrateProviders":{path:"updatePipeline.migrateProviders",type:'"auto" | string[]',default:'"auto"',validValues:["auto"],description:'Choose which providers are auto-migrated. Use `auto` to scan the filesystem, enter a comma-separated list such as `codex, cursor`, or paste a JSON array like `["codex"]` and the form will normalize it.',descriptionVi:'Chọn provider nào sẽ được auto-migrate. Dùng `auto` để quét hệ thống tệp, nhập danh sách phân tách bằng dấu phẩy như `codex, cursor`, hoặc dán JSON array như `["codex"]` và form sẽ tự chuẩn hóa.',effect:"`auto` targets every detected provider. A specific list limits the auto-migrate step to those providers only.",effectVi:"`auto` nhắm đến mọi provider được phát hiện. Danh sách cụ thể sẽ giới hạn bước auto-migrate chỉ còn các provider đó.",example:`{
189
+ "updatePipeline": {
190
+ "autoInitAfterUpdate": true,
191
+ "autoMigrateAfterUpdate": true,
192
+ "migrateProviders": ["codex"]
193
+ }
194
+ }`},statusline:{path:"statusline",type:"string",default:'"full"',validValues:["full","compact","minimal","none"],description:"Controls how much information is displayed in the Claude Code status line during operations.",descriptionVi:"Điều khiển lượng thông tin hiển thị trong dòng trạng thái Claude Code trong khi thao tác.",effect:"'full' shows all details (tokens, model, cost). 'compact' shows summary. 'minimal' shows only critical info. 'none' hides status line.",effectVi:"'full' hiển thị tất cả chi tiết (token, model, chi phí). 'compact' hiển thị tóm tắt. 'minimal' chỉ hiển thị thông tin quan trọng. 'none' ẩn dòng trạng thái.",example:`{
195
+ "statusline": "compact"
196
+ }`},statuslineColors:{path:"statuslineColors",type:"boolean",default:"true",description:"Controls whether the statusline uses ANSI color codes. When false, renders plain text. NO_COLOR/FORCE_COLOR env vars are also respected.",descriptionVi:"Kiểm soát việc thanh trạng thái sử dụng mã màu ANSI. Khi tắt, hiển thị văn bản thuần. Biến môi trường NO_COLOR/FORCE_COLOR cũng được hỗ trợ.",effect:"When enabled, statusline elements are colorized (model=cyan, dir=yellow, branch=magenta, context=threshold). When disabled, all output is plain text.",effectVi:"Khi bật, các phần tử thanh trạng thái được tô màu (model=xanh lam, thư mục=vàng, nhánh=tím, ngữ cảnh=theo ngưỡng). Khi tắt, tất cả đầu ra là văn bản thuần.",example:`{
197
+ "statuslineColors": false
198
+ }`},statuslineQuota:{path:"statuslineQuota",type:"boolean",default:"true",description:"Controls whether the cosmetic 5h / wk quota chips are shown in the statusline.",descriptionVi:"Kiểm soát việc các nhãn quota 5h / wk mang tính thẩm mỹ có được hiển thị trong thanh trạng thái hay không.",effect:"When enabled, the statusline shows cached 5h and weekly quota percentages. When disabled, the rest of the statusline stays intact and only the quota chips are hidden.",effectVi:"Khi bật, thanh trạng thái hiển thị phần trăm quota 5h và hàng tuần từ cache. Khi tắt, phần còn lại của thanh trạng thái vẫn giữ nguyên và chỉ ẩn các nhãn quota.",example:`{
199
+ "statuslineQuota": false
200
+ }`},assertions:{path:"assertions",type:"string[]",default:"[]",description:"List of user-defined assertions that are injected at the start of every session.",descriptionVi:"Danh sách các khẳng định do người dùng định nghĩa, được tiêm vào đầu mỗi phiên.",example:`{
201
+ "assertions": ["Use strict mode", "No console.logs"]
202
+ }`}};function H4(t,e,n){const r={...t},s=e.split(".");let i=r;for(let o=0;o<s.length-1;o++){const a=s[o];!(a in i)||typeof i[a]!="object"||i[a]===null?i[a]={}:i[a]={...i[a]},i=i[a]}return i[s[s.length-1]]=n,r}function Uh(t,e){const n=e.split(".");let r=t;for(const s of n){if(r==null||typeof r!="object")return;r=r[s]}return r}function Qv(t,e){const n=e.split(".");let r=t;for(const s of n){if(!r.properties)return{};const i=r.properties;if(!i[s])return{};r=i[s]}return r}function V4(t){if(Array.isArray(t.oneOf)){const e=t.oneOf.map(n=>{if(!n||typeof n!="object")return null;const r=n;return r.const!==void 0?JSON.stringify(r.const):r.type==="array"&&r.items?"string[]":Array.isArray(r.type)?r.type.join(" | "):typeof r.type=="string"?r.type:null}).filter(n=>!!n);return e.length>0?e.join(" | "):"unknown"}return Array.isArray(t.type)?t.type.join(" | "):typeof t.type=="string"?t.type:"unknown"}function W4(t,e){if(!t)return null;const n=Xv[t];if(n)return n;if(!e)return null;const r=Qv(e,t);if(Object.keys(r).length===0)return null;const s=Array.isArray(r.enum)?r.enum.map(i=>String(i)):Array.isArray(r.oneOf)?r.oneOf.map(i=>{if(!i||typeof i!="object")return null;const o=i;return o.const!==void 0?String(o.const):null}).filter(i=>!!i):void 0;return{path:t,type:V4(r),default:r.default!==void 0?JSON.stringify(r.default):"n/a",validValues:s&&s.length>0?s:void 0,description:typeof r.description=="string"?r.description:"Schema-derived help is available for this field.",descriptionVi:typeof r.description=="string"?r.description:"Trường này đang hiển thị mô tả được suy ra từ schema."}}function K4(t,e){return t??e??null}function to(t){return t==="auto"?"auto":Array.isArray(t)?t.join(", "):typeof t=="string"?t:""}function U4(t){const e=t.trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e).trim().toLowerCase()}function G4(t){const e=t.trim();if(!e)return[];try{const n=JSON.parse(e);if(typeof n=="string"||Array.isArray(n))return n}catch{}return e.startsWith("[")&&e.endsWith("]")?e.slice(1,-1).split(",").map(n=>n.trim()).filter(Boolean):e}function Jv(t){const e=G4(t),n=(Array.isArray(e)?e:String(e).split(",")).map(U4).filter(Boolean).filter((r,s,i)=>i.indexOf(r)===s);return n.length===0||n.length===1&&n[0]==="auto"?"auto":n.filter(r=>r!=="auto")}function q4(t){return t.trim()===""?null:Jv(t)}const Y4=({value:t,onChange:e,onFocus:n,disabled:r})=>c.jsx("input",{type:"text",value:t??"",onChange:s=>e(s.target.value||null),onFocus:n,disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
203
+ text-dash-text placeholder-dash-text-muted
204
+ focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
205
+ disabled:opacity-50 disabled:cursor-not-allowed
206
+ transition-colors`,placeholder:"Enter value..."}),X4=({value:t,onChange:e,onFocus:n,schema:r,disabled:s})=>c.jsx("input",{type:"number",value:t!=null?String(t):"",onChange:i=>{const o=i.target.value;if(o==="")e(null);else{const a=r.type==="integer"?Number.parseInt(o,10):Number.parseFloat(o);Number.isNaN(a)||e(a)}},onFocus:n,min:r.minimum,max:r.maximum,disabled:s,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
207
+ text-dash-text placeholder-dash-text-muted
208
+ focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
209
+ disabled:opacity-50 disabled:cursor-not-allowed
210
+ transition-colors`}),Q4=({value:t,onChange:e,onFocus:n,disabled:r})=>{const s=t===!0;return c.jsx("button",{type:"button",role:"switch","aria-checked":s,onClick:()=>e(!s),onFocus:n,disabled:r,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors
211
+ focus:outline-none focus:ring-2 focus:ring-dash-accent/50
212
+ disabled:opacity-50 disabled:cursor-not-allowed
213
+ ${s?"bg-dash-accent":"bg-dash-border"}`,children:c.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform
214
+ ${s?"translate-x-6":"translate-x-1"}`})})},J4=({value:t,onChange:e,onFocus:n,schema:r,disabled:s,enumLabels:i,editable:o})=>{const a=r.enum||[],l=`enum-list-${a.join("-").slice(0,32)}`;if(o){const d=h=>i?.[String(h)]??String(h),u=t!=null?d(t):"";return c.jsxs(c.Fragment,{children:[c.jsx("input",{type:"text",list:l,value:u,onChange:h=>{const f=h.target.value,p=a.find(m=>d(m)===f);e(p!=null?String(p):f===""?null:f)},onFocus:n,disabled:s,placeholder:"Select or type a model...",className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
215
+ text-dash-text
216
+ focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
217
+ disabled:opacity-50 disabled:cursor-not-allowed
218
+ transition-colors`}),c.jsx("datalist",{id:l,children:a.map(h=>{const f=d(h);return c.jsx("option",{value:f},String(h))})})]})}return c.jsxs("select",{value:t!=null?String(t):"",onChange:d=>{const u=d.target.value;u===""?e(null):a.includes(Number(u))?e(Number(u)):e(u)},onFocus:n,disabled:s,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
219
+ text-dash-text
220
+ focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
221
+ disabled:opacity-50 disabled:cursor-not-allowed
222
+ transition-colors appearance-none cursor-pointer`,children:[c.jsx("option",{value:"",children:"-- Select --"}),a.map(d=>c.jsx("option",{value:String(d),children:i?.[String(d)]??String(d)},String(d)))]})},Z4=({value:t,onChange:e,onFocus:n,disabled:r})=>{const[s,i]=g.useState(()=>to(t)),[o,a]=g.useState(!1);return g.useEffect(()=>{o||i(to(t))},[o,t]),c.jsx("input",{type:"text",value:o?s:to(t),onChange:l=>{const d=l.target.value;i(d);const u=q4(d);u!==null&&e(u)},onFocus:()=>{a(!0),i(to(t)),n?.()},onBlur:l=>{const d=l.target.value,u=Jv(d);a(!1),i(to(u)),e(u)},disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
223
+ text-dash-text placeholder-dash-text-muted
224
+ focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
225
+ disabled:opacity-50 disabled:cursor-not-allowed
226
+ transition-colors`,placeholder:"auto or codex, cursor"})},eN=({value:t,onChange:e,onFocus:n,disabled:r})=>{const s=Array.isArray(t)?t:[],[i,o]=g.useState(""),a=()=>{i.trim()&&(e([...s,i.trim()]),o(""))},l=d=>{const u=s.filter((h,f)=>f!==d);e(u.length>0?u:[])};return c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"flex flex-wrap gap-1.5",children:s.map((d,u)=>c.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 bg-dash-bg border border-dash-border rounded text-xs text-dash-text",children:[String(d),!r&&c.jsx("button",{type:"button",onClick:()=>l(u),className:"text-dash-text-muted hover:text-red-500 transition-colors",children:c.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},u))}),!r&&c.jsxs("div",{className:"flex gap-2",children:[c.jsx("input",{type:"text",value:i,onChange:d=>o(d.target.value),onFocus:n,onKeyDown:d=>{d.key==="Enter"&&(d.preventDefault(),a())},placeholder:"Add item...",className:`flex-1 px-2 py-1 text-xs bg-dash-bg border border-dash-border rounded
227
+ text-dash-text placeholder-dash-text-muted
228
+ focus:outline-none focus:ring-1 focus:ring-dash-accent/50`}),c.jsx("button",{type:"button",onClick:a,className:"px-2 py-1 text-xs bg-dash-accent text-white rounded hover:bg-dash-accent-hover transition-colors",children:"+"})]})]})},tN=({value:t,onChange:e,onFocus:n,disabled:r})=>{const[s,i]=g.useState(!1);return c.jsxs("div",{className:"relative",children:[c.jsx("input",{type:s?"text":"password",value:t??"",onChange:o=>e(o.target.value||null),onFocus:n,disabled:r,className:`w-full px-3 py-2 pr-10 text-sm bg-dash-bg border border-dash-border rounded-lg
229
+ text-dash-text placeholder-dash-text-muted
230
+ focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
231
+ disabled:opacity-50 disabled:cursor-not-allowed
232
+ transition-colors`,placeholder:"Enter passphrase..."}),c.jsx("button",{type:"button",onClick:()=>i(!s),className:"absolute right-2 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:s?c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"})}):c.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})]})})]})},nN={default:"bg-gray-500/10 text-gray-500 dark:bg-gray-400/10 dark:text-gray-400",project:"bg-orange-500/10 text-orange-600 dark:text-orange-400",global:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},rN=({source:t})=>{const{t:e}=re(),n=()=>{switch(t){case"default":return e("default");case"project":return e("scopeProject");case"global":return e("scopeGlobal")}};return c.jsx("span",{className:`text-[9px] px-1.5 py-0.5 rounded font-bold uppercase tracking-wider ${nN[t]}`,children:n()})};function sN(t,e){if(e.includes("passphrase")||e.includes("password"))return"password";if(Array.isArray(t.oneOf)&&t.oneOf.some(r=>r.const==="auto")&&t.oneOf.some(r=>r.type==="array"&&r.items?.type==="string"))return"string-array-union";if(t.enum&&t.enum.length>0)return"enum";switch(Array.isArray(t.type)?t.type.find(r=>r!=="null")||"string":t.type||"string"){case"boolean":return"boolean";case"integer":case"number":return"number";case"array":return"array";case"object":return"object";default:return"string"}}const iN=({fieldPath:t,label:e,description:n,schema:r,value:s,source:i,onChange:o,onFocus:a,disabled:l,enumLabels:d,editable:u})=>{const h=sN(r,t),f=()=>{const p={value:s,onChange:o,onFocus:a,schema:r,disabled:l};switch(h){case"boolean":return c.jsx(Q4,{...p});case"number":return c.jsx(X4,{...p});case"enum":return c.jsx(J4,{...p,enumLabels:d,editable:u});case"string-array-union":return c.jsx(Z4,{...p});case"array":return c.jsx(eN,{...p});case"password":return c.jsx(tN,{...p});case"object":return null;default:return c.jsx(Y4,{...p})}};return h==="object"?null:c.jsx("div",{className:"py-3 border-b border-dash-border/50 last:border-b-0",children:c.jsxs("div",{className:"flex items-start justify-between gap-4",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[c.jsx("span",{className:"text-sm font-medium text-dash-text",children:e}),c.jsx(rN,{source:i})]}),n&&c.jsx("p",{className:"text-xs text-dash-text-muted mb-2 leading-relaxed",children:n}),c.jsx("p",{className:"text-[10px] text-dash-text-muted/50 font-mono mb-2",children:t})]}),c.jsx("div",{className:h==="boolean"?"shrink-0":"w-1/2 max-w-xs",children:f()})]})})},oN=({id:t,title:e,defaultCollapsed:n=!1,children:r})=>{const[s,i]=g.useState(n);return c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg overflow-hidden",children:[c.jsxs("button",{type:"button",onClick:()=>i(!s),className:"w-full flex items-center justify-between px-4 py-3 bg-dash-surface-hover/30 hover:bg-dash-surface-hover/50 transition-colors","aria-expanded":!s,"aria-controls":`section-${t}`,children:[c.jsx("h3",{className:"text-sm font-bold text-dash-text uppercase tracking-wider",children:e}),c.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform duration-200 ${s?"":"rotate-180"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),c.jsx("div",{id:`section-${t}`,className:`transition-all duration-200 ease-in-out ${s?"max-h-0 overflow-hidden":"max-h-[2000px]"}`,children:c.jsx("div",{className:"px-4 py-2",children:r})})]})},aN=({schema:t,value:e,sources:n,sections:r,onChange:s,onFieldFocus:i,disabled:o})=>c.jsx("div",{className:"space-y-4",children:r.map((a,l)=>c.jsx(oN,{id:a.id,title:a.title,defaultCollapsed:a.defaultCollapsed??l>1,children:a.fields.map(d=>{const u=Qv(t,d.path),h=Uh(e,d.path),f=n[d.path]||"default";return c.jsx(iN,{fieldPath:d.path,label:d.label,description:d.description||u.description,schema:u,value:h,source:f,onChange:p=>s(d.path,p),onFocus:()=>i?.(d.path),disabled:o,enumLabels:d.enumLabels,editable:d.editable},d.path)})},a.id))}),Zv=({width:t,isLoading:e,schema:n,config:r,sources:s,sections:i,onChange:o,onFieldFocus:a,onNaturalHeightChange:l})=>{const{t:d}=re(),u=g.useRef(null),h=g.useRef(null),f=g.useRef(null),p=g.useRef(null);return g.useEffect(()=>{if(!l)return;const m=()=>{const b=h.current?.getBoundingClientRect().height??0,y=f.current;if(!y){l(Math.ceil(b));return}const k=window.getComputedStyle(y),v=Number.parseFloat(k.paddingTop||"0"),w=Number.parseFloat(k.paddingBottom||"0"),C=p.current?.getBoundingClientRect().height??0;l(Math.ceil(b+v+w+C))};if(m(),typeof ResizeObserver>"u")return;const x=new ResizeObserver(()=>{m()});return u.current&&x.observe(u.current),h.current&&x.observe(h.current),f.current&&x.observe(f.current),p.current&&x.observe(p.current),()=>x.disconnect()},[l]),c.jsxs("div",{ref:u,"data-form-panel":!0,style:{width:`${t}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0 h-full",children:[c.jsx("div",{ref:h,"data-form-panel-header":!0,className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:c.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:d("formTab")})}),c.jsx("div",{ref:f,"data-form-panel-scroll":!0,className:"flex-1 overflow-auto p-4",children:c.jsx("div",{ref:p,"data-form-panel-content":!0,children:e?c.jsx("div",{className:"h-full flex items-center justify-center",children:c.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:d("loading")})}):n?c.jsx(aN,{schema:n,value:r,sources:s,sections:i,onChange:o,onFieldFocus:a}):null})})]})},e1=1024;let lN=0,ju=class{constructor(e,n){this.from=e,this.to=n}};class je{constructor(e={}){this.id=lN++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Vt.match(e)),n=>{let r=e(n);return r===void 0?null:[this,r]}}}je.closedBy=new je({deserialize:t=>t.split(" ")});je.openedBy=new je({deserialize:t=>t.split(" ")});je.group=new je({deserialize:t=>t.split(" ")});je.isolate=new je({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});je.contextHash=new je({perNode:!0});je.lookAhead=new je({perNode:!0});je.mounted=new je({perNode:!0});class ko{constructor(e,n,r,s=!1){this.tree=e,this.overlay=n,this.parser=r,this.bracketed=s}static get(e){return e&&e.props&&e.props[je.mounted.id]}}const cN=Object.create(null);class Vt{constructor(e,n,r,s=0){this.name=e,this.props=n,this.id=r,this.flags=s}static define(e){let n=e.props&&e.props.length?Object.create(null):cN,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new Vt(e.name||"",n,e.id,r);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(s)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[i[0].id]=i[1]}}return s}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(je.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let r in e)for(let s of r.split(" "))n[s]=e[r];return r=>{for(let s=r.prop(je.group),i=-1;i<(s?s.length:0);i++){let o=n[i<0?r.name:s[i]];if(o)return o}}}}Vt.none=new Vt("",Object.create(null),0,8);class kp{constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let r of this.types){let s=null;for(let i of e){let o=i(r);if(o){s||(s=Object.assign({},r.props));let a=o[1],l=o[0];l.combine&&l.id in s&&(a=l.combine(s[l.id],a)),s[l.id]=a}}n.push(s?new Vt(r.name,s,r.id,r.flags):r)}return new kp(n)}}const Tl=new WeakMap,Ng=new WeakMap;var qe;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(qe||(qe={}));class Qe{constructor(e,n,r,s,i){if(this.type=e,this.children=n,this.positions=r,this.length=s,this.props=null,i&&i.length){this.props=Object.create(null);for(let[o,a]of i)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=ko.get(this);if(e&&!e.overlay)return e.tree.toString();let n="";for(let r of this.children){let s=r.toString();s&&(n&&(n+=","),n+=s)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new qh(this.topNode,e)}cursorAt(e,n=0,r=0){let s=Tl.get(this)||this.topNode,i=new qh(s);return i.moveTo(e,n),Tl.set(this,i._tree),i}get topNode(){return new bn(this,0,0,null)}resolve(e,n=0){let r=Bo(Tl.get(this)||this.topNode,e,n,!1);return Tl.set(this,r),r}resolveInner(e,n=0){let r=Bo(Ng.get(this)||this.topNode,e,n,!0);return Ng.set(this,r),r}resolveStack(e,n=0){return hN(this,e,n)}iterate(e){let{enter:n,leave:r,from:s=0,to:i=this.length}=e,o=e.mode||0,a=(o&qe.IncludeAnonymous)>0;for(let l=this.cursor(o|qe.IncludeAnonymous);;){let d=!1;if(l.from<=i&&l.to>=s&&(!a&&l.type.isAnonymous||n(l)!==!1)){if(l.firstChild())continue;d=!0}for(;d&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;d=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:jp(Vt.none,this.children,this.positions,0,this.children.length,0,this.length,(n,r,s)=>new Qe(this.type,n,r,s,this.propValues),e.makeTree||((n,r,s)=>new Qe(Vt.none,n,r,s)))}static build(e){return fN(e)}}Qe.empty=new Qe(Vt.none,[],[],0);class Sp{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Sp(this.buffer,this.index)}}class qr{constructor(e,n,r){this.buffer=e,this.length=n,this.set=r}get type(){return Vt.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],r=this.buffer[e+3],s=this.set.types[n],i=s.name;if(/\W/.test(i)&&!s.isError&&(i=JSON.stringify(i)),e+=4,r==e)return i;let o=[];for(;e<r;)o.push(this.childString(e)),e=this.buffer[e+3];return i+"("+o.join(",")+")"}findChild(e,n,r,s,i){let{buffer:o}=this,a=-1;for(let l=e;l!=n&&!(t1(i,s,o[l+1],o[l+2])&&(a=l,r>0));l=o[l+3]);return a}slice(e,n,r){let s=this.buffer,i=new Uint16Array(n-e),o=0;for(let a=e,l=0;a<n;){i[l++]=s[a++],i[l++]=s[a++]-r;let d=i[l++]=s[a++]-r;i[l++]=s[a++]-e,o=Math.max(o,d)}return new qr(i,o,this.set)}}function t1(t,e,n,r){switch(t){case-2:return n<e;case-1:return r>=e&&n<e;case 0:return n<e&&r>e;case 1:return n<=e&&r>e;case 2:return r>e;case 4:return!0}}function Bo(t,e,n,r){for(var s;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let o=!r&&t instanceof bn&&t.index<0?null:t.parent;if(!o)return t;t=o}let i=r?0:qe.IgnoreOverlays;if(r)for(let o=t,a=o.parent;a;o=a,a=o.parent)o instanceof bn&&o.index<0&&((s=a.enter(e,n,i))===null||s===void 0?void 0:s.from)!=o.from&&(t=a);for(;;){let o=t.enter(e,n,i);if(!o)return t;t=o}}class n1{cursor(e=0){return new qh(this,e)}getChild(e,n=null,r=null){let s=Pg(this,e,n,r);return s.length?s[0]:null}getChildren(e,n=null,r=null){return Pg(this,e,n,r)}resolve(e,n=0){return Bo(this,e,n,!1)}resolveInner(e,n=0){return Bo(this,e,n,!0)}matchContext(e){return Gh(this.parent,e)}enterUnfinishedNodesBefore(e){let n=this.childBefore(e),r=this;for(;n;){let s=n.lastChild;if(!s||s.to!=n.to)break;s.type.isError&&s.from==s.to?(r=n,n=s.prevSibling):n=s}return r}get node(){return this}get next(){return this.parent}}class bn extends n1{constructor(e,n,r,s){super(),this._tree=e,this.from=n,this.index=r,this._parent=s}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,r,s,i=0){var o;for(let a=this;;){for(let{children:l,positions:d}=a._tree,u=n>0?l.length:-1;e!=u;e+=n){let h=l[e],f=d[e]+a.from;if(!(!(i&qe.EnterBracketed&&h instanceof Qe&&((o=ko.get(h))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+h.length<=r))&&!t1(s,r,f,f+h.length))){if(h instanceof qr){if(i&qe.ExcludeBuffers)continue;let p=h.findChild(0,h.buffer.length,n,r-f,s);if(p>-1)return new Vr(new dN(a,h,e,f),null,p)}else if(i&qe.IncludeAnonymous||!h.type.isAnonymous||Cp(h)){let p;if(!(i&qe.IgnoreMounts)&&(p=ko.get(h))&&!p.overlay)return new bn(p.tree,f,e,a);let m=new bn(h,f,e,a);return i&qe.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(n<0?h.children.length-1:0,n,r,s,i)}}}if(i&qe.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+n:e=n<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,n,r=0){let s;if(!(r&qe.IgnoreOverlays)&&(s=ko.get(this._tree))&&s.overlay){let i=e-this.from,o=r&qe.EnterBracketed&&s.bracketed;for(let{from:a,to:l}of s.overlay)if((n>0||o?a<=i:a<i)&&(n<0||o?l>=i:l>i))return new bn(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Pg(t,e,n,r){let s=t.cursor(),i=[];if(!s.firstChild())return i;if(n!=null){for(let o=!1;!o;)if(o=s.type.is(n),!s.nextSibling())return i}for(;;){if(r!=null&&s.type.is(r))return i;if(s.type.is(e)&&i.push(s.node),!s.nextSibling())return r==null?i:[]}}function Gh(t,e,n=e.length-1){for(let r=t;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}class dN{constructor(e,n,r,s){this.parent=e,this.buffer=n,this.index=r,this.start=s}}class Vr extends n1{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,r){super(),this.context=e,this._parent=n,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,n,r){let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],e,n-this.context.start,r);return i<0?null:new Vr(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,n,r=0){if(r&qe.ExcludeBuffers)return null;let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return i<0?null:new Vr(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Vr(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new Vr(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],n=[],{buffer:r}=this.context,s=this.index+4,i=r.buffer[this.index+3];if(i>s){let o=r.buffer[this.index+1];e.push(r.slice(s,i,o)),n.push(0)}return new Qe(this.type,e,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function r1(t){if(!t.length)return null;let e=0,n=t[0];for(let i=1;i<t.length;i++){let o=t[i];(o.from>n.from||o.to<n.to)&&(n=o,e=i)}let r=n instanceof bn&&n.index<0?null:n.parent,s=t.slice();return r?s[e]=r:s.splice(e,1),new uN(s,n)}class uN{constructor(e,n){this.heads=e,this.node=n}get next(){return r1(this.heads)}}function hN(t,e,n){let r=t.resolveInner(e,n),s=null;for(let i=r instanceof bn?r:r.context.parent;i;i=i.parent)if(i.index<0){let o=i.parent;(s||(s=[r])).push(o.resolve(e,n)),i=o}else{let o=ko.get(i.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new bn(o.tree,o.overlay[0].from+i.from,-1,i);(s||(s=[r])).push(Bo(a,e,n,!1))}}return s?r1(s):r}class qh{get name(){return this.type.name}constructor(e,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~qe.EnterBracketed,e instanceof bn)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:r,buffer:s}=this.buffer;return this.type=n||s.set.types[s.buffer[e]],this.from=r+s.buffer[e+1],this.to=r+s.buffer[e+2],!0}yield(e){return e?e instanceof bn?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,r,this.mode));let{buffer:s}=this.buffer,i=s.findChild(this.index+4,s.buffer[this.index+3],e,n-this.buffer.start,r);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,r=this.mode){return this.buffer?r&qe.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&qe.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&qe.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,r=this.stack.length-1;if(e<0){let s=r<0?0:this.stack[r]+4;if(this.index!=s)return this.yieldBuf(n.findChild(s,this.index,-1,0,4))}else{let s=n.buffer[this.index+3];if(s<(r<0?n.buffer.length:n.buffer[this.stack[r]+3]))return this.yieldBuf(s)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,r,{buffer:s}=this;if(s){if(e>0){if(this.index<s.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(s.buffer.buffer[i+3]<this.index)return!1;({index:n,parent:r}=s)}else({index:n,_parent:r}=this._tree);for(;r;{index:n,_parent:r}=r)if(n>-1)for(let i=n+e,o=e<0?-1:r._tree.children.length;i!=o;i+=e){let a=r._tree.children[i];if(this.mode&qe.IncludeAnonymous||a instanceof qr||!a.type.isAnonymous||Cp(a))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,r=0;if(e&&e.context==this.buffer)e:for(let s=this.index,i=this.stack.length;i>=0;){for(let o=e;o;o=o._parent)if(o.index==s){if(s==this.index)return o;n=o,r=i+1;break e}s=this.stack[--i]}for(let s=r;s<this.stack.length;s++)n=new Vr(this.buffer,n,this.stack[s]);return this.bufferNode=new Vr(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let r=0;;){let s=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(s=!0)}for(;;){if(s&&n&&n(this),s=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,s=!0}}}matchContext(e){if(!this.buffer)return Gh(this.node.parent,e);let{buffer:n}=this.buffer,{types:r}=n.set;for(let s=e.length-1,i=this.stack.length-1;s>=0;i--){if(i<0)return Gh(this._tree,e,s);let o=r[n.buffer[this.stack[i]]];if(!o.isAnonymous){if(e[s]&&e[s]!=o.name)return!1;s--}}return!0}}function Cp(t){return t.children.some(e=>e instanceof qr||!e.type.isAnonymous||Cp(e))}function fN(t){var e;let{buffer:n,nodeSet:r,maxBufferLength:s=e1,reused:i=[],minRepeatType:o=r.types.length}=t,a=Array.isArray(n)?new Sp(n,n.length):n,l=r.types,d=0,u=0;function h(C,j,S,E,O,A){let{id:P,start:L,end:_,size:N}=a,M=u,D=d;if(N<0)if(a.next(),N==-1){let W=i[P];S.push(W),E.push(L-C);return}else if(N==-3){d=P;return}else if(N==-4){u=P;return}else throw new RangeError(`Unrecognized record size: ${N}`);let I=l[P],R,$,V=L-C;if(_-L<=s&&($=b(a.pos-j,O))){let W=new Uint16Array($.size-$.skip),F=a.pos-$.size,Y=W.length;for(;a.pos>F;)Y=y($.start,W,Y);R=new qr(W,_-$.start,r),V=$.start-C}else{let W=a.pos-N;a.next();let F=[],Y=[],q=P>=o?P:-1,ne=0,ue=_;for(;a.pos>W;)q>=0&&a.id==q&&a.size>=0?(a.end<=ue-s&&(m(F,Y,L,ne,a.end,ue,q,M,D),ne=F.length,ue=a.end),a.next()):A>2500?f(L,W,F,Y):h(L,W,F,Y,q,A+1);if(q>=0&&ne>0&&ne<F.length&&m(F,Y,L,ne,L,ue,q,M,D),F.reverse(),Y.reverse(),q>-1&&ne>0){let ae=p(I,D);R=jp(I,F,Y,0,F.length,0,_-L,ae,ae)}else R=x(I,F,Y,_-L,M-_,D)}S.push(R),E.push(V)}function f(C,j,S,E){let O=[],A=0,P=-1;for(;a.pos>j;){let{id:L,start:_,end:N,size:M}=a;if(M>4)a.next();else{if(P>-1&&_<P)break;P<0&&(P=N-s),O.push(L,_,N),A++,a.next()}}if(A){let L=new Uint16Array(A*4),_=O[O.length-2];for(let N=O.length-3,M=0;N>=0;N-=3)L[M++]=O[N],L[M++]=O[N+1]-_,L[M++]=O[N+2]-_,L[M++]=M;S.push(new qr(L,O[2]-_,r)),E.push(_-C)}}function p(C,j){return(S,E,O)=>{let A=0,P=S.length-1,L,_;if(P>=0&&(L=S[P])instanceof Qe){if(!P&&L.type==C&&L.length==O)return L;(_=L.prop(je.lookAhead))&&(A=E[P]+L.length+_)}return x(C,S,E,O,A,j)}}function m(C,j,S,E,O,A,P,L,_){let N=[],M=[];for(;C.length>E;)N.push(C.pop()),M.push(j.pop()+S-O);C.push(x(r.types[P],N,M,A-O,L-A,_)),j.push(O-S)}function x(C,j,S,E,O,A,P){if(A){let L=[je.contextHash,A];P=P?[L].concat(P):[L]}if(O>25){let L=[je.lookAhead,O];P=P?[L].concat(P):[L]}return new Qe(C,j,S,E,P)}function b(C,j){let S=a.fork(),E=0,O=0,A=0,P=S.end-s,L={size:0,start:0,skip:0};e:for(let _=S.pos-C;S.pos>_;){let N=S.size;if(S.id==j&&N>=0){L.size=E,L.start=O,L.skip=A,A+=4,E+=4,S.next();continue}let M=S.pos-N;if(N<0||M<_||S.start<P)break;let D=S.id>=o?4:0,I=S.start;for(S.next();S.pos>M;){if(S.size<0)if(S.size==-3||S.size==-4)D+=4;else break e;else S.id>=o&&(D+=4);S.next()}O=I,E+=N,A+=D}return(j<0||E==C)&&(L.size=E,L.start=O,L.skip=A),L.size>4?L:void 0}function y(C,j,S){let{id:E,start:O,end:A,size:P}=a;if(a.next(),P>=0&&E<o){let L=S;if(P>4){let _=a.pos-(P-4);for(;a.pos>_;)S=y(C,j,S)}j[--S]=L,j[--S]=A-C,j[--S]=O-C,j[--S]=E}else P==-3?d=E:P==-4&&(u=E);return S}let k=[],v=[];for(;a.pos>0;)h(t.start||0,t.bufferStart||0,k,v,-1,0);let w=(e=t.length)!==null&&e!==void 0?e:k.length?v[0]+k[0].length:0;return new Qe(l[t.topID],k.reverse(),v.reverse(),w)}const Eg=new WeakMap;function kc(t,e){if(!t.isAnonymous||e instanceof qr||e.type!=t)return 1;let n=Eg.get(e);if(n==null){n=1;for(let r of e.children){if(r.type!=t||!(r instanceof Qe)){n=1;break}n+=kc(t,r)}Eg.set(e,n)}return n}function jp(t,e,n,r,s,i,o,a,l){let d=0;for(let m=r;m<s;m++)d+=kc(t,e[m]);let u=Math.ceil(d*1.5/8),h=[],f=[];function p(m,x,b,y,k){for(let v=b;v<y;){let w=v,C=x[v],j=kc(t,m[v]);for(v++;v<y;v++){let S=kc(t,m[v]);if(j+S>=u)break;j+=S}if(v==w+1){if(j>u){let S=m[w];p(S.children,S.positions,0,S.children.length,x[w]+k);continue}h.push(m[w])}else{let S=x[v-1]+m[v-1].length-C;h.push(jp(t,m,x,w,v,C,S,null,l))}f.push(C+k-i)}}return p(e,n,r,s,0),(a||l)(h,f,o)}class Ss{constructor(e,n,r,s,i=!1,o=!1){this.from=e,this.to=n,this.tree=r,this.offset=s,this.open=(i?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,n=[],r=!1){let s=[new Ss(0,e.length,e,0,!1,r)];for(let i of n)i.to>e.length&&s.push(i);return s}static applyChanges(e,n,r=128){if(!n.length)return e;let s=[],i=1,o=e.length?e[0]:null;for(let a=0,l=0,d=0;;a++){let u=a<n.length?n[a]:null,h=u?u.fromA:1e9;if(h-l>=r)for(;o&&o.from<h;){let f=o;if(l>=f.from||h<=f.to||d){let p=Math.max(f.from,l)-d,m=Math.min(f.to,h)-d;f=p>=m?null:new Ss(p,m,f.tree,f.offset+d,a>0,!!u)}if(f&&s.push(f),o.to>h)break;o=i<e.length?e[i++]:null}if(!u)break;l=u.toA,d=u.toA-u.toB}return s}}class s1{startParse(e,n,r){return typeof e=="string"&&(e=new pN(e)),r=r?r.length?r.map(s=>new ju(s.from,s.to)):[new ju(0,0)]:[new ju(0,e.length)],this.createParse(e,n||[],r)}parse(e,n,r){let s=this.startParse(e,n,r);for(;;){let i=s.advance();if(i)return i}}}class pN{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}}new je({perNode:!0});var Og={};class _c{constructor(e,n,r,s,i,o,a,l,d,u=0,h){this.p=e,this.stack=n,this.state=r,this.reducePos=s,this.pos=i,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=d,this.lookAhead=u,this.parent=h}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let s=e.parser.context;return new _c(e,[],n,r,r,0,[],0,s?new Mg(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,s=e&65535,{parser:i}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=i.dynamicPrecedence(s);if(a&&(this.score+=a),r==0){this.pushState(i.getGoto(this.state,s,!0),this.reducePos),s<i.minRepeatTerm&&this.storeNode(s,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(s,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),d=l?this.stack[l-2]:this.p.ranges[0].from,u=this.reducePos-d;u>=2e3&&!(!((n=this.p.parser.nodeSet.types[s])===null||n===void 0)&&n.isAnonymous)&&(d==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=d,this.p.lastBigReductionSize=u));let h=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-h;if(s<i.minRepeatTerm||e&131072){let p=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(s,d,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=i.getGoto(p,s,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(s,d)}storeNode(e,n,r,s=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(n==r)return;if(o.buffer[a-2]>=n){o.buffer[a-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,n,r,s);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,s>4&&(s-=4)}this.buffer[o]=e,this.buffer[o+1]=n,this.buffer[o+2]=r,this.buffer[o+3]=s}}shift(e,n,r,s){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=s,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,s,4);else{let i=e,{parser:o}=this.p;(s>this.pos||n<=o.maxNode)&&(this.pos=s,o.stateFlag(i,1)||(this.reducePos=s)),this.pushState(i,r),this.shiftContext(n,r),n<=o.maxNode&&this.buffer.push(n,r,s,4)}}apply(e,n,r,s){e&65536?this.reduce(e):this.shift(e,n,r,s)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(n,s),this.buffer.push(r,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),s=e.bufferBase+n;for(;e&&s==e.bufferBase;)e=e.parent;return new _c(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new mN(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if(!(r&65536))return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let s=[];for(let i=0,o;i<n.length;i+=2)(o=n[i+1])!=this.state&&this.p.parser.hasAction(o,e)&&s.push(n[i],o);if(this.stack.length<120)for(let i=0;s.length<8&&i<n.length;i+=2){let o=n[i+1];s.some((a,l)=>l&1&&a==o)||s.push(n[i],o)}n=s}let r=[];for(let s=0;s<n.length&&r.length<4;s+=2){let i=n[s+1];if(i==this.state)continue;let o=this.split();o.pushState(i,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(n[s],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if(!(n&65536))return!1;if(!e.validAction(this.state,n)){let r=n>>19,s=n&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],s,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;n=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=(s,i)=>{if(!n.includes(s))return n.push(s),e.allActions(s,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-i;if(a>1){let l=o&65535,d=this.stack.length-a*3;if(d>=0&&e.getGoto(this.stack[d],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,i+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new Mg(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Mg{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class mN{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=s}}class Fc{constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new Fc(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Fc(this.stack,this.pos,this.index)}}function Ll(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,s=0;r<t.length;){let i=0;for(;;){let o=t.charCodeAt(r++),a=!1;if(o==126){i=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),i+=l,a)break;i*=46}n?n[s++]=i:n=new e(i)}return n}class Sc{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Dg=new Sc;class gN{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Dg,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,s=this.rangeIndex,i=this.pos+e;for(;i<r.from;){if(!s)return null;let o=this.ranges[--s];i-=r.from-o.to,r=o}for(;n<0?i>r.to:i>=r.to;){if(s==this.ranges.length-1)return null;let o=this.ranges[++s];i+=o.from-r.to,r=o}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,s;if(n>=0&&n<this.chunk.length)r=this.pos+e,s=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(r=i,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)s=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),s=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),s}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=Dg,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let s of this.ranges){if(s.from>=n)break;s.to>e&&(r+=this.input.read(Math.max(s.from,e),Math.min(s.to,n)))}return r}}class ai{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;xN(this.data,e,n,this.id,r.data,r.tokenPrecTable)}}ai.prototype.contextual=ai.prototype.fallback=ai.prototype.extend=!1;ai.prototype.fallback=ai.prototype.extend=!1;function xN(t,e,n,r,s,i){let o=0,a=1<<r,{dialect:l}=n.p.parser;e:for(;a&t[o];){let d=t[o+1];for(let p=o+3;p<d;p+=2)if((t[p+1]&a)>0){let m=t[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||bN(m,e.token.value,s,i))){e.acceptToken(m);break}}let u=e.next,h=0,f=t[o+2];if(e.next<0&&f>h&&t[d+f*3-3]==65535){o=t[d+f*3-1];continue e}for(;h<f;){let p=h+f>>1,m=d+p+(p<<1),x=t[m],b=t[m+1]||65536;if(u<x)f=p;else if(u>=b)h=p+1;else{o=t[m+2],e.advance();continue e}}break}}function Ag(t,e,n){for(let r=e,s;(s=t[r])!=65535;r++)if(s==n)return r-e;return-1}function bN(t,e,n,r){let s=Ag(n,r,e);return s<0||Ag(n,r,t)<s}const Kt=typeof process<"u"&&Og&&/\bparse\b/.test(Og.LOG);let Nu=null;function Tg(t,e,n){let r=t.cursor(qe.IncludeAnonymous);for(r.moveTo(e);;)if(!(n<0?r.childBefore(e):r.childAfter(e)))for(;;){if((n<0?r.to<e:r.from>e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}class yN{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Tg(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Tg(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let r=this.trees[n],s=this.index[n];if(s==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=r.children[s],o=this.start[n]+r.positions[s];if(o>e)return this.nextStart=o,null;if(i instanceof Qe){if(o==e){if(o<this.safeFrom)return null;let a=o+i.length;if(a<=this.safeTo){let l=i.prop(je.lookAhead);if(!l||a+l<this.fragment.to)return i}}this.index[n]++,o+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(o),this.index.push(0))}else this.index[n]++,this.nextStart=o+i.length}}}class vN{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Sc)}getActions(e){let n=0,r=null,{parser:s}=e.p,{tokenizers:i}=s,o=s.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let d=0;d<i.length;d++){if(!(1<<d&o))continue;let u=i[d],h=this.tokens[d];if(!(r&&!u.fallback)&&((u.contextual||h.start!=e.pos||h.mask!=o||h.context!=a)&&(this.updateCachedToken(h,u,e),h.mask=o,h.context=a),h.lookAhead>h.end+25&&(l=Math.max(h.lookAhead,l)),h.value!=0)){let f=n;if(h.extended>-1&&(n=this.addActions(e,h.extended,h.end,n)),n=this.addActions(e,h.value,h.end,n),!u.extend&&(r=h,n>f))break}}for(;this.actions.length>n;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Sc,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Sc,{pos:r,p:s}=e;return n.start=r,n.end=Math.min(r+1,s.stream.end),n.value=r==s.stream.end?s.parser.eofTerm:0,n}updateCachedToken(e,n,r){let s=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(s,e),r),e.value>-1){let{parser:i}=r.p;for(let o=0;o<i.specialized.length;o++)if(i.specialized[o]==e.value){let a=i.specializers[o](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,n,r,s){for(let i=0;i<s;i+=3)if(this.actions[i]==e)return s;return this.actions[s++]=e,this.actions[s++]=n,this.actions[s++]=r,s}addActions(e,n,r,s){let{state:i}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let d=o.stateSlot(i,l?2:1);;d+=3){if(a[d]==65535)if(a[d+1]==1)d=xr(a,d+2);else{s==0&&a[d+1]==2&&(s=this.putAction(xr(a,d+2),n,r,s));break}a[d]==n&&(s=this.putAction(xr(a,d+1),n,r,s))}return s}}class wN{constructor(e,n,r,s){this.parser=e,this.input=n,this.ranges=s,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new gN(n,s),this.tokens=new vN(e,this.stream),this.topTerm=e.top[1];let{from:i}=s[0];this.stacks=[_c.start(this,e.top[0],i)],this.fragments=r.length&&this.stream.end-i>e.bufferLength*4?new yN(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],s,i;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>n)r.push(a);else{if(this.advanceStack(a,r,e))continue;{s||(s=[],i=[]),s.push(a);let l=this.tokens.getMainToken(a);i.push(l.value,l.end)}}break}}if(!r.length){let o=s&&SN(s);if(o)return Kt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Kt&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&s){let o=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,i,r);if(o)return Kt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let o=0;o<r.length-1;o++){let a=r[o];for(let l=o+1;l<r.length;l++){let d=r[l];if(a.sameState(d)||a.buffer.length>500&&d.buffer.length>500)if((a.score-d.score||a.buffer.length-d.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o<r.length;o++)r[o].pos<this.minStackPos&&(this.minStackPos=r[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,r){let s=e.pos,{parser:i}=this,o=Kt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let d=e.curContext&&e.curContext.tracker.strict,u=d?e.curContext.hash:0;for(let h=this.fragments.nodeAt(s);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?i.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!d||(h.prop(je.contextHash)||0)==u))return e.useNode(h,f),Kt&&console.log(o+this.stackID(e)+` (via reuse of ${i.getName(h.type.id)})`),!0;if(!(h instanceof Qe)||h.children.length==0||h.positions[0]>0)break;let p=h.children[0];if(p instanceof Qe&&h.positions[0]==0)h=p;else break}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),Kt&&console.log(o+this.stackID(e)+` (via always-reduce ${i.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let d=0;d<l.length;){let u=l[d++],h=l[d++],f=l[d++],p=d==l.length||!r,m=p?e:e.split(),x=this.tokens.mainToken;if(m.apply(u,h,x?x.start:m.pos,f),Kt&&console.log(o+this.stackID(m)+` (via ${u&65536?`reduce of ${i.getName(u&65535)}`:"shift"} for ${i.getName(h)} @ ${s}${m==e?"":", split"})`),p)return!0;m.pos>s?n.push(m):r.push(m)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return Lg(e,n),!0}}runRecovery(e,n,r){let s=null,i=!1;for(let o=0;o<e.length;o++){let a=e[o],l=n[o<<1],d=n[(o<<1)+1],u=Kt?this.stackID(a)+" -> ":"";if(a.deadEnd&&(i||(i=!0,a.restart(),Kt&&console.log(u+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let h=a.split(),f=u;for(let p=0;p<10&&h.forceReduce()&&(Kt&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,r));p++)Kt&&(f=this.stackID(h)+" -> ");for(let p of a.recoverByInsert(l))Kt&&console.log(u+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(d==a.pos&&(d++,l=0),a.recoverByDelete(l,d),Kt&&console.log(u+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Lg(a,r)):(!s||s.score<a.score)&&(s=a)}return s}stackToTree(e){return e.close(),Qe.build({buffer:Fc.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(Nu||(Nu=new WeakMap)).get(e);return n||Nu.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}}function Lg(t,e){for(let n=0;n<e.length;n++){let r=e[n];if(r.pos==t.pos&&r.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}class kN{constructor(e,n,r){this.source=e,this.flags=n,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class zc extends s1{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let a=0;a<e.repeatNodeCount;a++)n.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),s=[];for(let a=0;a<n.length;a++)s.push([]);function i(a,l,d){s[a].push([l,l.deserialize(String(d))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=je[l]);for(let d=1;d<a.length;){let u=a[d++];if(u>=0)i(u,l,a[d++]);else{let h=a[d+-u];for(let f=-u;f>0;f--)i(a[d++],l,h);d++}}}this.nodeSet=new kp(n.map((a,l)=>Vt.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:s[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=e1;let o=Ll(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(Rg),this.states=Ll(e.states,Uint32Array),this.data=Ll(e.stateData),this.goto=Ll(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new ai(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let s=new wN(this,e,n,r);for(let i of this.wrappers)s=i(s,e,n,r);return s}getGoto(e,n,r=!1){let s=this.goto;if(n>=s[0])return-1;for(let i=s[n+1];;){let o=s[i++],a=o&1,l=s[i++];if(a&&r)return l;for(let d=i+(o>>1);i<d;i++)if(s[i]==e)return l;if(a)return-1}}hasAction(e,n){let r=this.data;for(let s=0;s<2;s++)for(let i=this.stateSlot(e,s?2:1),o;;i+=3){if((o=r[i])==65535)if(r[i+1]==1)o=r[i=xr(r,i+2)];else{if(r[i+1]==2)return xr(r,i+2);break}if(o==n||o==0)return xr(r,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),s=r?n(r):void 0;for(let i=this.stateSlot(e,1);s==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=xr(this.data,i+2);else break;s=n(xr(this.data,i+1))}return s}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=xr(this.data,r+2);else break;if(!(this.data[r+2]&1)){let s=this.data[r+1];n.some((i,o)=>o&1&&i==s)||n.push(this.data[r],s)}}return n}configure(e){let n=Object.assign(Object.create(zc.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let s=e.tokenizers.find(i=>i.from==r);return s?s.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,s)=>{let i=e.specializers.find(a=>a.from==r.external);if(!i)return r;let o=Object.assign(Object.assign({},r),{external:i.to});return n.specializers[s]=Rg(o),o})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let i of e.split(" ")){let o=n.indexOf(i);o>=0&&(r[o]=!0)}let s=null;for(let i=0;i<n.length;i++)if(!r[i])for(let o=this.dialects[n[i]],a;(a=this.data[o++])!=65535;)(s||(s=new Uint8Array(this.maxTerm+1)))[a]=1;return new kN(e,r,s)}static deserialize(e){return new zc(e)}}function xr(t,e){return t[e]|t[e+1]<<16}function SN(t){let e=null;for(let n of t){let r=n.p.stoppedAt;(n.pos==n.p.stream.end||r!=null&&n.pos>r)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function Rg(t){if(t.external){let e=t.extend?1:0;return(n,r)=>t.external(n,r)<<1|e}return t.get}let CN=0;class fn{constructor(e,n,r,s){this.name=e,this.set=n,this.base=r,this.modified=s,this.id=CN++}toString(){let{name:e}=this;for(let n of this.modified)n.name&&(e=`${n.name}(${e})`);return e}static define(e,n){let r=typeof e=="string"?e:"?";if(e instanceof fn&&(n=e),n?.base)throw new Error("Can not derive from a modified tag");let s=new fn(r,[],null,[]);if(s.set.push(s),n)for(let i of n.set)s.set.push(i);return s}static defineModifier(e){let n=new Hc(e);return r=>r.modified.indexOf(n)>-1?r:Hc.get(r.base||r,r.modified.concat(n).sort((s,i)=>s.id-i.id))}}let jN=0;class Hc{constructor(e){this.name=e,this.instances=[],this.id=jN++}static get(e,n){if(!n.length)return e;let r=n[0].instances.find(a=>a.base==e&&NN(n,a.modified));if(r)return r;let s=[],i=new fn(e.name,s,e,n);for(let a of n)a.instances.push(i);let o=PN(n);for(let a of e.set)if(!a.modified.length)for(let l of o)s.push(Hc.get(a,l));return i}}function NN(t,e){return t.length==e.length&&t.every((n,r)=>n==e[r])}function PN(t){let e=[[]];for(let n=0;n<t.length;n++)for(let r=0,s=e.length;r<s;r++)e.push(e[r].concat(t[n]));return e.sort((n,r)=>r.length-n.length)}function i1(t){let e=Object.create(null);for(let n in t){let r=t[n];Array.isArray(r)||(r=[r]);for(let s of n.split(" "))if(s){let i=[],o=2,a=s;for(let h=0;;){if(a=="..."&&h>0&&h+3==s.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+s);if(i.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==s.length)break;let p=s[h++];if(h==s.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+s);a=s.slice(h)}let l=i.length-1,d=i[l];if(!d)throw new RangeError("Invalid path: "+s);let u=new _o(r,o,l>0?i.slice(0,l):null);e[d]=u.sort(e[d])}}return o1.add(e)}const o1=new je({combine(t,e){let n,r,s;for(;t||e;){if(!t||e&&t.depth>=e.depth?(s=e,e=e.next):(s=t,t=t.next),n&&n.mode==s.mode&&!s.context&&!n.context)continue;let i=new _o(s.tags,s.mode,s.context);n?n.next=i:r=i,n=i}return r}});class _o{constructor(e,n,r,s){this.tags=e,this.mode=n,this.context=r,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}_o.empty=new _o([],2,null);function a1(t,e){let n=Object.create(null);for(let i of t)if(!Array.isArray(i.tag))n[i.tag.id]=i.class;else for(let o of i.tag)n[o.id]=i.class;let{scope:r,all:s=null}=e||{};return{style:i=>{let o=s;for(let a of i)for(let l of a.set){let d=n[l.id];if(d){o=o?o+" "+d:d;break}}return o},scope:r}}function EN(t,e){let n=null;for(let r of t){let s=r.style(e);s&&(n=n?n+" "+s:s)}return n}function ON(t,e,n,r=0,s=t.length){let i=new MN(r,Array.isArray(e)?e:[e],n);i.highlightRange(t.cursor(),r,s,"",i.highlighters),i.flush(s)}class MN{constructor(e,n,r){this.at=e,this.highlighters=n,this.span=r,this.class=""}startSpan(e,n){n!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=n)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,n,r,s,i){let{type:o,from:a,to:l}=e;if(a>=r||l<=n)return;o.isTop&&(i=this.highlighters.filter(p=>!p.scope||p.scope(o)));let d=s,u=DN(e)||_o.empty,h=EN(i,u.tags);if(h&&(d&&(d+=" "),d+=h,u.mode==1&&(s+=(s?" ":"")+h)),this.startSpan(Math.max(n,a),d),u.opaque)return;let f=e.tree&&e.tree.prop(je.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+a,1),m=this.highlighters.filter(b=>!b.scope||b.scope(f.tree.type)),x=e.firstChild();for(let b=0,y=a;;b++){let k=b<f.overlay.length?f.overlay[b]:null,v=k?k.from+a:l,w=Math.max(n,y),C=Math.min(r,v);if(w<C&&x)for(;e.from<C&&(this.highlightRange(e,w,C,s,i),this.startSpan(Math.min(C,e.to),d),!(e.to>=v||!e.nextSibling())););if(!k||v>r)break;y=k.to+a,y>n&&(this.highlightRange(p.cursor(),Math.max(n,k.from+a),Math.min(r,y),"",m),this.startSpan(Math.min(r,y),d))}x&&e.parent()}else if(e.firstChild()){f&&(s="");do if(!(e.to<=n)){if(e.from>=r)break;this.highlightRange(e,n,r,s,i),this.startSpan(Math.min(r,e.to),d)}while(e.nextSibling());e.parent()}}}function DN(t){let e=t.type.prop(o1);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const se=fn.define,Rl=se(),Tr=se(),Ig=se(Tr),$g=se(Tr),Lr=se(),Il=se(Lr),Pu=se(Lr),Un=se(),cs=se(Un),Vn=se(),Wn=se(),Yh=se(),no=se(Yh),$l=se(),K={comment:Rl,lineComment:se(Rl),blockComment:se(Rl),docComment:se(Rl),name:Tr,variableName:se(Tr),typeName:Ig,tagName:se(Ig),propertyName:$g,attributeName:se($g),className:se(Tr),labelName:se(Tr),namespace:se(Tr),macroName:se(Tr),literal:Lr,string:Il,docString:se(Il),character:se(Il),attributeValue:se(Il),number:Pu,integer:se(Pu),float:se(Pu),bool:se(Lr),regexp:se(Lr),escape:se(Lr),color:se(Lr),url:se(Lr),keyword:Vn,self:se(Vn),null:se(Vn),atom:se(Vn),unit:se(Vn),modifier:se(Vn),operatorKeyword:se(Vn),controlKeyword:se(Vn),definitionKeyword:se(Vn),moduleKeyword:se(Vn),operator:Wn,derefOperator:se(Wn),arithmeticOperator:se(Wn),logicOperator:se(Wn),bitwiseOperator:se(Wn),compareOperator:se(Wn),updateOperator:se(Wn),definitionOperator:se(Wn),typeOperator:se(Wn),controlOperator:se(Wn),punctuation:Yh,separator:se(Yh),bracket:no,angleBracket:se(no),squareBracket:se(no),paren:se(no),brace:se(no),content:Un,heading:cs,heading1:se(cs),heading2:se(cs),heading3:se(cs),heading4:se(cs),heading5:se(cs),heading6:se(cs),contentSeparator:se(Un),list:se(Un),quote:se(Un),emphasis:se(Un),strong:se(Un),link:se(Un),monospace:se(Un),strikethrough:se(Un),inserted:se(),deleted:se(),changed:se(),invalid:se(),meta:$l,documentMeta:se($l),annotation:se($l),processingInstruction:se($l),definition:fn.defineModifier("definition"),constant:fn.defineModifier("constant"),function:fn.defineModifier("function"),standard:fn.defineModifier("standard"),local:fn.defineModifier("local"),special:fn.defineModifier("special")};for(let t in K){let e=K[t];e instanceof fn&&(e.name=t)}a1([{tag:K.link,class:"tok-link"},{tag:K.heading,class:"tok-heading"},{tag:K.emphasis,class:"tok-emphasis"},{tag:K.strong,class:"tok-strong"},{tag:K.keyword,class:"tok-keyword"},{tag:K.atom,class:"tok-atom"},{tag:K.bool,class:"tok-bool"},{tag:K.url,class:"tok-url"},{tag:K.labelName,class:"tok-labelName"},{tag:K.inserted,class:"tok-inserted"},{tag:K.deleted,class:"tok-deleted"},{tag:K.literal,class:"tok-literal"},{tag:K.string,class:"tok-string"},{tag:K.number,class:"tok-number"},{tag:[K.regexp,K.escape,K.special(K.string)],class:"tok-string2"},{tag:K.variableName,class:"tok-variableName"},{tag:K.local(K.variableName),class:"tok-variableName tok-local"},{tag:K.definition(K.variableName),class:"tok-variableName tok-definition"},{tag:K.special(K.variableName),class:"tok-variableName2"},{tag:K.definition(K.propertyName),class:"tok-propertyName tok-definition"},{tag:K.typeName,class:"tok-typeName"},{tag:K.namespace,class:"tok-namespace"},{tag:K.className,class:"tok-className"},{tag:K.macroName,class:"tok-macroName"},{tag:K.propertyName,class:"tok-propertyName"},{tag:K.operator,class:"tok-operator"},{tag:K.comment,class:"tok-comment"},{tag:K.meta,class:"tok-meta"},{tag:K.invalid,class:"tok-invalid"},{tag:K.punctuation,class:"tok-punctuation"}]);const AN=i1({String:K.string,Number:K.number,"True False":K.bool,PropertyName:K.propertyName,Null:K.null,", :":K.separator,"[ ]":K.squareBracket,"{ }":K.brace}),TN=zc.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[AN],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let Xh=[],l1=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,n=0;e<t.length;e++)(e%2?l1:Xh).push(n=n+t[e])})();function LN(t){if(t<768)return!1;for(let e=0,n=Xh.length;;){let r=e+n>>1;if(t<Xh[r])n=r;else if(t>=l1[r])e=r+1;else return!0;if(e==n)return!1}}function Bg(t){return t>=127462&&t<=127487}const _g=8205;function RN(t,e,n=!0,r=!0){return(n?c1:IN)(t,e,r)}function c1(t,e,n){if(e==t.length)return e;e&&d1(t.charCodeAt(e))&&u1(t.charCodeAt(e-1))&&e--;let r=Eu(t,e);for(e+=Fg(r);e<t.length;){let s=Eu(t,e);if(r==_g||s==_g||n&&LN(s))e+=Fg(s),r=s;else if(Bg(s)){let i=0,o=e-2;for(;o>=0&&Bg(Eu(t,o));)i++,o-=2;if(i%2==0)break;e+=2}else break}return e}function IN(t,e,n){for(;e>0;){let r=c1(t,e-2,n);if(r<e)return r;e--}return 0}function Eu(t,e){let n=t.charCodeAt(e);if(!u1(n)||e+1==t.length)return n;let r=t.charCodeAt(e+1);return d1(r)?(n-55296<<10)+(r-56320)+65536:n}function d1(t){return t>=56320&&t<57344}function u1(t){return t>=55296&&t<56320}function Fg(t){return t<65536?1:2}class Te{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,n,r){[e,n]=bi(this,e,n);let s=[];return this.decompose(0,e,s,2),r.length&&r.decompose(0,r.length,s,3),this.decompose(n,this.length,s,1),Yn.from(s,this.length-(n-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,n=this.length){[e,n]=bi(this,e,n);let r=[];return this.decompose(e,n,r,0),Yn.from(r,n-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let n=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),s=new So(this),i=new So(e);for(let o=n,a=n;;){if(s.next(o),i.next(o),o=0,s.lineBreak!=i.lineBreak||s.done!=i.done||s.value!=i.value)return!1;if(a+=s.value.length,s.done||a>=r)return!0}}iter(e=1){return new So(this,e)}iterRange(e,n=this.length){return new h1(this,e,n)}iterLines(e,n){let r;if(e==null)r=this.iter();else{n==null&&(n=this.lines+1);let s=this.line(e).from;r=this.iterRange(s,Math.max(s,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new f1(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Te.empty:e.length<=32?new Xe(e):Yn.from(Xe.split(e,[]))}}class Xe extends Te{constructor(e,n=$N(e)){super(),this.text=e,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(e,n,r,s){for(let i=0;;i++){let o=this.text[i],a=s+o.length;if((n?r:a)>=e)return new BN(s,a,r,o);s=a+1,r++}}decompose(e,n,r,s){let i=e<=0&&n>=this.length?this:new Xe(zg(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(s&1){let o=r.pop(),a=Cc(i.text,o.text.slice(),0,i.length);if(a.length<=32)r.push(new Xe(a,o.length+i.length));else{let l=a.length>>1;r.push(new Xe(a.slice(0,l)),new Xe(a.slice(l)))}}else r.push(i)}replace(e,n,r){if(!(r instanceof Xe))return super.replace(e,n,r);[e,n]=bi(this,e,n);let s=Cc(this.text,Cc(r.text,zg(this.text,0,e)),n),i=this.length+r.length-(n-e);return s.length<=32?new Xe(s,i):Yn.from(Xe.split(s,[]),i)}sliceString(e,n=this.length,r=`
233
+ `){[e,n]=bi(this,e,n);let s="";for(let i=0,o=0;i<=n&&o<this.text.length;o++){let a=this.text[o],l=i+a.length;i>e&&o&&(s+=r),e<l&&n>i&&(s+=a.slice(Math.max(0,e-i),n-i)),i=l+1}return s}flatten(e){for(let n of this.text)e.push(n)}scanIdentical(){return 0}static split(e,n){let r=[],s=-1;for(let i of e)r.push(i),s+=i.length+1,r.length==32&&(n.push(new Xe(r,s)),r=[],s=-1);return s>-1&&n.push(new Xe(r,s)),n}}class Yn extends Te{constructor(e,n){super(),this.children=e,this.length=n,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,n,r,s){for(let i=0;;i++){let o=this.children[i],a=s+o.length,l=r+o.lines-1;if((n?l:a)>=e)return o.lineInner(e,n,r,s);s=a+1,r=l+1}}decompose(e,n,r,s){for(let i=0,o=0;o<=n&&i<this.children.length;i++){let a=this.children[i],l=o+a.length;if(e<=l&&n>=o){let d=s&((o<=e?1:0)|(l>=n?2:0));o>=e&&l<=n&&!d?r.push(a):a.decompose(e-o,n-o,r,d)}o=l+1}}replace(e,n,r){if([e,n]=bi(this,e,n),r.lines<this.lines)for(let s=0,i=0;s<this.children.length;s++){let o=this.children[s],a=i+o.length;if(e>=i&&n<=a){let l=o.replace(e-i,n-i,r),d=this.lines-o.lines+l.lines;if(l.lines<d>>4&&l.lines>d>>6){let u=this.children.slice();return u[s]=l,new Yn(u,this.length-(n-e)+r.length)}return super.replace(i,a,l)}i=a+1}return super.replace(e,n,r)}sliceString(e,n=this.length,r=`
234
+ `){[e,n]=bi(this,e,n);let s="";for(let i=0,o=0;i<this.children.length&&o<=n;i++){let a=this.children[i],l=o+a.length;o>e&&i&&(s+=r),e<l&&n>o&&(s+=a.sliceString(e-o,n-o,r)),o=l+1}return s}flatten(e){for(let n of this.children)n.flatten(e)}scanIdentical(e,n){if(!(e instanceof Yn))return 0;let r=0,[s,i,o,a]=n>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=n,i+=n){if(s==o||i==a)return r;let l=this.children[s],d=e.children[i];if(l!=d)return r+l.scanIdentical(d,n);r+=l.length+1}}static from(e,n=e.reduce((r,s)=>r+s.length+1,-1)){let r=0;for(let p of e)r+=p.lines;if(r<32){let p=[];for(let m of e)m.flatten(p);return new Xe(p,n)}let s=Math.max(32,r>>5),i=s<<1,o=s>>1,a=[],l=0,d=-1,u=[];function h(p){let m;if(p.lines>i&&p instanceof Yn)for(let x of p.children)h(x);else p.lines>o&&(l>o||!l)?(f(),a.push(p)):p instanceof Xe&&l&&(m=u[u.length-1])instanceof Xe&&p.lines+m.lines<=32?(l+=p.lines,d+=p.length+1,u[u.length-1]=new Xe(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>s&&f(),l+=p.lines,d+=p.length+1,u.push(p))}function f(){l!=0&&(a.push(u.length==1?u[0]:Yn.from(u,d)),d=-1,l=u.length=0)}for(let p of e)h(p);return f(),a.length==1?a[0]:new Yn(a,n)}}Te.empty=new Xe([""],0);function $N(t){let e=-1;for(let n of t)e+=n.length+1;return e}function Cc(t,e,n=0,r=1e9){for(let s=0,i=0,o=!0;i<t.length&&s<=r;i++){let a=t[i],l=s+a.length;l>=n&&(l>r&&(a=a.slice(0,r-s)),s<n&&(a=a.slice(n-s)),o?(e[e.length-1]+=a,o=!1):e.push(a)),s=l+1}return e}function zg(t,e,n){return Cc(t,[""],e,n)}class So{constructor(e,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[n>0?1:(e instanceof Xe?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,s=this.nodes[r],i=this.offsets[r],o=i>>1,a=s instanceof Xe?s.text.length:s.children.length;if(o==(n>0?a:0)){if(r==0)return this.done=!0,this.value="",this;n>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(n>0?0:1)){if(this.offsets[r]+=n,e==0)return this.lineBreak=!0,this.value=`
235
+ `,this;e--}else if(s instanceof Xe){let l=s.text[o+(n<0?-1:0)];if(this.offsets[r]+=n,l.length>Math.max(0,e))return this.value=e==0?l:n>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=s.children[o+(n<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=n):(n<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(n>0?1:(l instanceof Xe?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class h1{constructor(e,n,r){this.value="",this.done=!1,this.cursor=new So(e,n>r?-1:1),this.pos=n>r?e.length:0,this.from=Math.min(n,r),this.to=Math.max(n,r)}nextInner(e,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let r=n<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*n,this.value=s.length<=r?s:n<0?s.slice(s.length-r):s.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class f1{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:n,lineBreak:r,value:s}=this.inner.next(e);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Te.prototype[Symbol.iterator]=function(){return this.iter()},So.prototype[Symbol.iterator]=h1.prototype[Symbol.iterator]=f1.prototype[Symbol.iterator]=function(){return this});class BN{constructor(e,n,r,s){this.from=e,this.to=n,this.number=r,this.text=s}get length(){return this.to-this.from}}function bi(t,e,n){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,n))]}function at(t,e,n=!0,r=!0){return RN(t,e,n,r)}function _N(t){return t>=56320&&t<57344}function FN(t){return t>=55296&&t<56320}function $t(t,e){let n=t.charCodeAt(e);if(!FN(n)||e+1==t.length)return n;let r=t.charCodeAt(e+1);return _N(r)?(n-55296<<10)+(r-56320)+65536:n}function Np(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Xn(t){return t<65536?1:2}const Qh=/\r\n?|\n/;var Dt=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(Dt||(Dt={}));class tr{constructor(e){this.sections=e}get length(){let e=0;for(let n=0;n<this.sections.length;n+=2)e+=this.sections[n];return e}get newLength(){let e=0;for(let n=0;n<this.sections.length;n+=2){let r=this.sections[n+1];e+=r<0?this.sections[n]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let n=0,r=0,s=0;n<this.sections.length;){let i=this.sections[n++],o=this.sections[n++];o<0?(e(r,s,i),s+=i):s+=o,r+=i}}iterChangedRanges(e,n=!1){Jh(this,e,n)}get invertedDesc(){let e=[];for(let n=0;n<this.sections.length;){let r=this.sections[n++],s=this.sections[n++];s<0?e.push(r,s):e.push(s,r)}return new tr(e)}composeDesc(e){return this.empty?e:e.empty?this:p1(this,e)}mapDesc(e,n=!1){return e.empty?this:Zh(this,e,n)}mapPos(e,n=-1,r=Dt.Simple){let s=0,i=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],d=s+a;if(l<0){if(d>e)return i+(e-s);i+=a}else{if(r!=Dt.Simple&&d>=e&&(r==Dt.TrackDel&&s<e&&d>e||r==Dt.TrackBefore&&s<e||r==Dt.TrackAfter&&d>e))return null;if(d>e||d==e&&n<0&&!a)return e==s||n<0?i:i+l;i+=l}s=d}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return i}touchesRange(e,n=e){for(let r=0,s=0;r<this.sections.length&&s<=n;){let i=this.sections[r++],o=this.sections[r++],a=s+i;if(o>=0&&s<=n&&a>=e)return s<e&&a>n?"cover":!0;s=a}return!1}toString(){let e="";for(let n=0;n<this.sections.length;){let r=this.sections[n++],s=this.sections[n++];e+=(e?" ":"")+r+(s>=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new tr(e)}static create(e){return new tr(e)}}class it extends tr{constructor(e,n){super(e),this.inserted=n}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Jh(this,(n,r,s,i,o)=>e=e.replace(s,s+(r-n),o),!1),e}mapDesc(e,n=!1){return Zh(this,e,n,!0)}invert(e){let n=this.sections.slice(),r=[];for(let s=0,i=0;s<n.length;s+=2){let o=n[s],a=n[s+1];if(a>=0){n[s]=a,n[s+1]=o;let l=s>>1;for(;r.length<l;)r.push(Te.empty);r.push(o?e.slice(i,i+o):Te.empty)}i+=o}return new it(n,r)}compose(e){return this.empty?e:e.empty?this:p1(this,e,!0)}map(e,n=!1){return e.empty?this:Zh(this,e,n,!0)}iterChanges(e,n=!1){Jh(this,e,n)}get desc(){return tr.create(this.sections)}filter(e){let n=[],r=[],s=[],i=new Fo(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&i.len==0;){if(i.done)break e;let u=Math.min(i.len,l-a);jt(s,u,-1);let h=i.ins==-1?-1:i.off==0?i.ins:0;jt(n,u,h),h>0&&Wr(r,n,i.text),i.forward(u),a+=u}let d=e[o++];for(;a<d;){if(i.done)break e;let u=Math.min(i.len,d-a);jt(n,u,-1),jt(s,u,i.ins==-1?-1:i.off==0?i.ins:0),i.forward(u),a+=u}}return{changes:new it(n,r),filtered:tr.create(s)}}toJSON(){let e=[];for(let n=0;n<this.sections.length;n+=2){let r=this.sections[n],s=this.sections[n+1];s<0?e.push(r):s==0?e.push([r]):e.push([r].concat(this.inserted[n>>1].toJSON()))}return e}static of(e,n,r){let s=[],i=[],o=0,a=null;function l(u=!1){if(!u&&!s.length)return;o<n&&jt(s,n-o,-1);let h=new it(s,i);a=a?a.compose(h.map(a)):h,s=[],i=[],o=0}function d(u){if(Array.isArray(u))for(let h of u)d(h);else if(u instanceof it){if(u.length!=n)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${n})`);l(),a=a?a.compose(u.map(a)):u}else{let{from:h,to:f=h,insert:p}=u;if(h>f||h<0||f>n)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${n})`);let m=p?typeof p=="string"?Te.of(p.split(r||Qh)):p:Te.empty,x=m.length;if(h==f&&x==0)return;h<o&&l(),h>o&&jt(s,h-o,-1),jt(s,f-h,x),Wr(i,s,m),o=f}}return d(e),l(!a),a}static empty(e){return new it(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],r=[];for(let s=0;s<e.length;s++){let i=e[s];if(typeof i=="number")n.push(i,-1);else{if(!Array.isArray(i)||typeof i[0]!="number"||i.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(i.length==1)n.push(i[0],0);else{for(;r.length<s;)r.push(Te.empty);r[s]=Te.of(i.slice(1)),n.push(i[0],r[s].length)}}}return new it(n,r)}static createSet(e,n){return new it(e,n)}}function jt(t,e,n,r=!1){if(e==0&&n<=0)return;let s=t.length-2;s>=0&&n<=0&&n==t[s+1]?t[s]+=e:s>=0&&e==0&&t[s]==0?t[s+1]+=n:r?(t[s]+=e,t[s+1]+=n):t.push(e,n)}function Wr(t,e,n){if(n.length==0)return;let r=e.length-2>>1;if(r<t.length)t[t.length-1]=t[t.length-1].append(n);else{for(;t.length<r;)t.push(Te.empty);t.push(n)}}function Jh(t,e,n){let r=t.inserted;for(let s=0,i=0,o=0;o<t.sections.length;){let a=t.sections[o++],l=t.sections[o++];if(l<0)s+=a,i+=a;else{let d=s,u=i,h=Te.empty;for(;d+=a,u+=l,l&&r&&(h=h.append(r[o-2>>1])),!(n||o==t.sections.length||t.sections[o+1]<0);)a=t.sections[o++],l=t.sections[o++];e(s,d,i,u,h),s=d,i=u}}}function Zh(t,e,n,r=!1){let s=[],i=r?[]:null,o=new Fo(t),a=new Fo(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let d=Math.min(o.len,a.len);jt(s,d,-1),o.forward(d),a.forward(d)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len<o.len||a.len==o.len&&!n))){let d=a.len;for(jt(s,a.ins,-1);d;){let u=Math.min(o.len,d);o.ins>=0&&l<o.i&&o.len<=u&&(jt(s,0,o.ins),i&&Wr(i,s,o.text),l=o.i),o.forward(u),d-=u}a.next()}else if(o.ins>=0){let d=0,u=o.len;for(;u;)if(a.ins==-1){let h=Math.min(u,a.len);d+=h,u-=h,a.forward(h)}else if(a.ins==0&&a.len<u)u-=a.len,a.next();else break;jt(s,d,l<o.i?o.ins:0),i&&l<o.i&&Wr(i,s,o.text),l=o.i,o.forward(o.len-u)}else{if(o.done&&a.done)return i?it.createSet(s,i):tr.create(s);throw new Error("Mismatched change set lengths")}}}function p1(t,e,n=!1){let r=[],s=n?[]:null,i=new Fo(t),o=new Fo(e);for(let a=!1;;){if(i.done&&o.done)return s?it.createSet(r,s):tr.create(r);if(i.ins==0)jt(r,i.len,0,a),i.next();else if(o.len==0&&!o.done)jt(r,0,o.ins,a),s&&Wr(s,r,o.text),o.next();else{if(i.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(i.len2,o.len),d=r.length;if(i.ins==-1){let u=o.ins==-1?-1:o.off?0:o.ins;jt(r,l,u,a),s&&u&&Wr(s,r,o.text)}else o.ins==-1?(jt(r,i.off?0:i.len,l,a),s&&Wr(s,r,i.textBit(l))):(jt(r,i.off?0:i.len,o.off?0:o.ins,a),s&&!o.off&&Wr(s,r,o.text));a=(i.ins>l||o.ins>=0&&o.len>l)&&(a||r.length>d),i.forward2(l),o.forward(l)}}}}class Fo{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,n=this.i-2>>1;return n>=e.length?Te.empty:e[n]}textBit(e){let{inserted:n}=this.set,r=this.i-2>>1;return r>=n.length&&!e?Te.empty:n[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class ys{constructor(e,n,r){this.from=e,this.to=n,this.flags=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,n=-1){let r,s;return this.empty?r=s=e.mapPos(this.from,n):(r=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),r==this.from&&s==this.to?this:new ys(r,s,this.flags)}extend(e,n=e){if(e<=this.anchor&&n>=this.anchor)return G.range(e,n);let r=Math.abs(e-this.anchor)>Math.abs(n-this.anchor)?e:n;return G.range(this.anchor,r)}eq(e,n=!1){return this.anchor==e.anchor&&this.head==e.head&&(!n||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return G.range(e.anchor,e.head)}static create(e,n,r){return new ys(e,n,r)}}class G{constructor(e,n){this.ranges=e,this.mainIndex=n}map(e,n=-1){return e.empty?this:G.create(this.ranges.map(r=>r.map(e,n)),this.mainIndex)}eq(e,n=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],n))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new G([this.main],0)}addRange(e,n=!0){return G.create([e].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(e,n=this.mainIndex){let r=this.ranges.slice();return r[n]=e,G.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new G(e.ranges.map(n=>ys.fromJSON(n)),e.main)}static single(e,n=e){return new G([G.range(e,n)],0)}static create(e,n=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,s=0;s<e.length;s++){let i=e[s];if(i.empty?i.from<=r:i.from<r)return G.normalized(e.slice(),n);r=i.to}return new G(e,n)}static cursor(e,n=0,r,s){return ys.create(e,e,(n==0?0:n<0?8:16)|(r==null?7:Math.min(6,r))|(s??16777215)<<6)}static range(e,n,r,s){let i=(r??16777215)<<6|(s==null?7:Math.min(6,s));return n<e?ys.create(n,e,48|i):ys.create(e,n,(n>e?8:0)|i)}static normalized(e,n=0){let r=e[n];e.sort((s,i)=>s.from-i.from),n=e.indexOf(r);for(let s=1;s<e.length;s++){let i=e[s],o=e[s-1];if(i.empty?i.from<=o.to:i.from<o.to){let a=o.from,l=Math.max(i.to,o.to);s<=n&&n--,e.splice(--s,2,i.anchor>i.head?G.range(l,a):G.range(a,l))}}return new G(e,n)}}function m1(t,e){for(let n of t.ranges)if(n.to>e)throw new RangeError("Selection points outside of document")}let Pp=0;class de{constructor(e,n,r,s,i){this.combine=e,this.compareInput=n,this.compare=r,this.isStatic=s,this.id=Pp++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}get reader(){return this}static define(e={}){return new de(e.combine||(n=>n),e.compareInput||((n,r)=>n===r),e.compare||(e.combine?(n,r)=>n===r:Ep),!!e.static,e.enables)}of(e){return new jc([],this,0,e)}compute(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new jc(e,this,1,n)}computeN(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new jc(e,this,2,n)}from(e,n){return n||(n=r=>r),this.compute([e],r=>n(r.field(e)))}}function Ep(t,e){return t==e||t.length==e.length&&t.every((n,r)=>n===e[r])}class jc{constructor(e,n,r,s){this.dependencies=e,this.facet=n,this.type=r,this.value=s,this.id=Pp++}dynamicSlot(e){var n;let r=this.value,s=this.facet.compareInput,i=this.id,o=e[i]>>1,a=this.type==2,l=!1,d=!1,u=[];for(let h of this.dependencies)h=="doc"?l=!0:h=="selection"?d=!0:((n=e[h.id])!==null&&n!==void 0?n:1)&1||u.push(e[h.id]);return{create(h){return h.values[o]=r(h),1},update(h,f){if(l&&f.docChanged||d&&(f.docChanged||f.selection)||ef(h,u)){let p=r(h);if(a?!Hg(p,h.values[o],s):!s(p,h.values[o]))return h.values[o]=p,1}return 0},reconfigure:(h,f)=>{let p,m=f.config.address[i];if(m!=null){let x=Wc(f,m);if(this.dependencies.every(b=>b instanceof de?f.facet(b)===h.facet(b):b instanceof kt?f.field(b,!1)==h.field(b,!1):!0)||(a?Hg(p=r(h),x,s):s(p=r(h),x)))return h.values[o]=x,0}else p=r(h);return h.values[o]=p,1}}}}function Hg(t,e,n){if(t.length!=e.length)return!1;for(let r=0;r<t.length;r++)if(!n(t[r],e[r]))return!1;return!0}function ef(t,e){let n=!1;for(let r of e)Co(t,r)&1&&(n=!0);return n}function zN(t,e,n){let r=n.map(l=>t[l.id]),s=n.map(l=>l.type),i=r.filter(l=>!(l&1)),o=t[e.id]>>1;function a(l){let d=[];for(let u=0;u<r.length;u++){let h=Wc(l,r[u]);if(s[u]==2)for(let f of h)d.push(f);else d.push(h)}return e.combine(d)}return{create(l){for(let d of r)Co(l,d);return l.values[o]=a(l),1},update(l,d){if(!ef(l,i))return 0;let u=a(l);return e.compare(u,l.values[o])?0:(l.values[o]=u,1)},reconfigure(l,d){let u=ef(l,r),h=d.config.facets[e.id],f=d.facet(e);if(h&&!u&&Ep(n,h))return l.values[o]=f,0;let p=a(l);return e.compare(p,f)?(l.values[o]=f,0):(l.values[o]=p,1)}}}const Bl=de.define({static:!0});class kt{constructor(e,n,r,s,i){this.id=e,this.createF=n,this.updateF=r,this.compareF=s,this.spec=i,this.provides=void 0}static define(e){let n=new kt(Pp++,e.create,e.update,e.compare||((r,s)=>r===s),e);return e.provide&&(n.provides=e.provide(n)),n}create(e){let n=e.facet(Bl).find(r=>r.field==this);return(n?.create||this.createF)(e)}slot(e){let n=e[this.id]>>1;return{create:r=>(r.values[n]=this.create(r),1),update:(r,s)=>{let i=r.values[n],o=this.updateF(i,s);return this.compareF(i,o)?0:(r.values[n]=o,1)},reconfigure:(r,s)=>{let i=r.facet(Bl),o=s.facet(Bl),a;return(a=i.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(r.values[n]=a.create(r),1):s.config.address[this.id]!=null?(r.values[n]=s.field(this),0):(r.values[n]=this.create(r),1)}}}init(e){return[this,Bl.of({field:this,create:e})]}get extension(){return this}}const fs={lowest:4,low:3,default:2,high:1,highest:0};function ro(t){return e=>new g1(e,t)}const $s={highest:ro(fs.highest),high:ro(fs.high),default:ro(fs.default),low:ro(fs.low),lowest:ro(fs.lowest)};class g1{constructor(e,n){this.inner=e,this.prec=n}}class $d{of(e){return new tf(this,e)}reconfigure(e){return $d.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class tf{constructor(e,n){this.compartment=e,this.inner=n}}class Vc{constructor(e,n,r,s,i,o){for(this.base=e,this.compartments=n,this.dynamicSlots=r,this.address=s,this.staticValues=i,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let n=this.address[e.id];return n==null?e.default:this.staticValues[n>>1]}static resolve(e,n,r){let s=[],i=Object.create(null),o=new Map;for(let f of HN(e,n,o))f instanceof kt?s.push(f):(i[f.facet.id]||(i[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],d=[];for(let f of s)a[f.id]=d.length<<1,d.push(p=>f.slot(p));let u=r?.config.facets;for(let f in i){let p=i[f],m=p[0].facet,x=u&&u[f]||[];if(p.every(b=>b.type==0))if(a[m.id]=l.length<<1|1,Ep(x,p))l.push(r.facet(m));else{let b=m.combine(p.map(y=>y.value));l.push(r&&m.compare(b,r.facet(m))?r.facet(m):b)}else{for(let b of p)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=d.length<<1,d.push(y=>b.dynamicSlot(y)));a[m.id]=d.length<<1,d.push(b=>zN(b,m,p))}}let h=d.map(f=>f(a));return new Vc(e,o,h,a,l,i)}}function HN(t,e,n){let r=[[],[],[],[],[]],s=new Map;function i(o,a){let l=s.get(o);if(l!=null){if(l<=a)return;let d=r[l].indexOf(o);d>-1&&r[l].splice(d,1),o instanceof tf&&n.delete(o.compartment)}if(s.set(o,a),Array.isArray(o))for(let d of o)i(d,a);else if(o instanceof tf){if(n.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let d=e.get(o.compartment)||o.inner;n.set(o.compartment,d),i(d,a)}else if(o instanceof g1)i(o.inner,o.prec);else if(o instanceof kt)r[a].push(o),o.provides&&i(o.provides,a);else if(o instanceof jc)r[a].push(o),o.facet.extensions&&i(o.facet.extensions,fs.default);else{let d=o.extension;if(!d)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);i(d,a)}}return i(t,fs.default),r.reduce((o,a)=>o.concat(a))}function Co(t,e){if(e&1)return 2;let n=e>>1,r=t.status[n];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;t.status[n]=4;let s=t.computeSlot(t,t.config.dynamicSlots[n]);return t.status[n]=2|s}function Wc(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const x1=de.define(),nf=de.define({combine:t=>t.some(e=>e),static:!0}),b1=de.define({combine:t=>t.length?t[0]:void 0,static:!0}),y1=de.define(),v1=de.define(),w1=de.define(),k1=de.define({combine:t=>t.length?t[0]:!1});class ir{constructor(e,n){this.type=e,this.value=n}static define(){return new VN}}class VN{of(e){return new ir(this,e)}}class WN{constructor(e){this.map=e}of(e){return new Se(this,e)}}class Se{constructor(e,n){this.type=e,this.value=n}map(e){let n=this.type.map(this.value,e);return n===void 0?void 0:n==this.value?this:new Se(this.type,n)}is(e){return this.type==e}static define(e={}){return new WN(e.map||(n=>n))}static mapEffects(e,n){if(!e.length)return e;let r=[];for(let s of e){let i=s.map(n);i&&r.push(i)}return r}}Se.reconfigure=Se.define();Se.appendConfig=Se.define();class lt{constructor(e,n,r,s,i,o){this.startState=e,this.changes=n,this.selection=r,this.effects=s,this.annotations=i,this.scrollIntoView=o,this._doc=null,this._state=null,r&&m1(r,n.newLength),i.some(a=>a.type==lt.time)||(this.annotations=i.concat(lt.time.of(Date.now())))}static create(e,n,r,s,i,o){return new lt(e,n,r,s,i,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let n of this.annotations)if(n.type==e)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let n=this.annotation(lt.userEvent);return!!(n&&(n==e||n.length>e.length&&n.slice(0,e.length)==e&&n[e.length]=="."))}}lt.time=ir.define();lt.userEvent=ir.define();lt.addToHistory=ir.define();lt.remote=ir.define();function KN(t,e){let n=[];for(let r=0,s=0;;){let i,o;if(r<t.length&&(s==e.length||e[s]>=t[r]))i=t[r++],o=t[r++];else if(s<e.length)i=e[s++],o=e[s++];else return n;!n.length||n[n.length-1]<i?n.push(i,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function S1(t,e,n){var r;let s,i,o;return n?(s=e.changes,i=it.empty(e.changes.length),o=t.changes.compose(e.changes)):(s=e.changes.map(t.changes),i=t.changes.mapDesc(e.changes,!0),o=t.changes.compose(s)),{changes:o,selection:e.selection?e.selection.map(i):(r=t.selection)===null||r===void 0?void 0:r.map(s),effects:Se.mapEffects(t.effects,s).concat(Se.mapEffects(e.effects,i)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function rf(t,e,n){let r=e.selection,s=li(e.annotations);return e.userEvent&&(s=s.concat(lt.userEvent.of(e.userEvent))),{changes:e.changes instanceof it?e.changes:it.of(e.changes||[],n,t.facet(b1)),selection:r&&(r instanceof G?r:G.single(r.anchor,r.head)),effects:li(e.effects),annotations:s,scrollIntoView:!!e.scrollIntoView}}function C1(t,e,n){let r=rf(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(n=!1);for(let i=1;i<e.length;i++){e[i].filter===!1&&(n=!1);let o=!!e[i].sequential;r=S1(r,rf(t,e[i],o?r.changes.newLength:t.doc.length),o)}let s=lt.create(t,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return GN(n?UN(s):s)}function UN(t){let e=t.startState,n=!0;for(let s of e.facet(y1)){let i=s(t);if(i===!1){n=!1;break}Array.isArray(i)&&(n=n===!0?i:KN(n,i))}if(n!==!0){let s,i;if(n===!1)i=t.changes.invertedDesc,s=it.empty(e.doc.length);else{let o=t.changes.filter(n);s=o.changes,i=o.filtered.mapDesc(o.changes).invertedDesc}t=lt.create(e,s,t.selection&&t.selection.map(i),Se.mapEffects(t.effects,i),t.annotations,t.scrollIntoView)}let r=e.facet(v1);for(let s=r.length-1;s>=0;s--){let i=r[s](t);i instanceof lt?t=i:Array.isArray(i)&&i.length==1&&i[0]instanceof lt?t=i[0]:t=C1(e,li(i),!1)}return t}function GN(t){let e=t.startState,n=e.facet(w1),r=t;for(let s=n.length-1;s>=0;s--){let i=n[s](t);i&&Object.keys(i).length&&(r=S1(r,rf(e,i,t.changes.newLength),!0))}return r==t?t:lt.create(e,t.changes,t.selection,r.effects,r.annotations,r.scrollIntoView)}const qN=[];function li(t){return t==null?qN:Array.isArray(t)?t:[t]}var ze=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(ze||(ze={}));const YN=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let sf;try{sf=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function XN(t){if(sf)return sf.test(t);for(let e=0;e<t.length;e++){let n=t[e];if(/\w/.test(n)||n>"€"&&(n.toUpperCase()!=n.toLowerCase()||YN.test(n)))return!0}return!1}function QN(t){return e=>{if(!/\S/.test(e))return ze.Space;if(XN(e))return ze.Word;for(let n=0;n<t.length;n++)if(e.indexOf(t[n])>-1)return ze.Word;return ze.Other}}class Oe{constructor(e,n,r,s,i,o){this.config=e,this.doc=n,this.selection=r,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=i,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)Co(this,a<<1);this.computeSlot=null}field(e,n=!0){let r=this.config.address[e.id];if(r==null){if(n)throw new RangeError("Field is not present in this state");return}return Co(this,r),Wc(this,r)}update(...e){return C1(this,e,!0)}applyTransaction(e){let n=this.config,{base:r,compartments:s}=n;for(let a of e.effects)a.is($d.reconfigure)?(n&&(s=new Map,n.compartments.forEach((l,d)=>s.set(d,l)),n=null),s.set(a.value.compartment,a.value.extension)):a.is(Se.reconfigure)?(n=null,r=a.value):a.is(Se.appendConfig)&&(n=null,r=li(r).concat(a.value));let i;n?i=e.startState.values.slice():(n=Vc.resolve(r,s,this),i=new Oe(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(l,d)=>d.reconfigure(l,this),null).values);let o=e.startState.facet(nf)?e.newSelection:e.newSelection.asSingle();new Oe(n,e.newDoc,o,i,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:e},range:G.cursor(n.from+e.length)}))}changeByRange(e){let n=this.selection,r=e(n.ranges[0]),s=this.changes(r.changes),i=[r.range],o=li(r.effects);for(let a=1;a<n.ranges.length;a++){let l=e(n.ranges[a]),d=this.changes(l.changes),u=d.map(s);for(let f=0;f<a;f++)i[f]=i[f].map(u);let h=s.mapDesc(d,!0);i.push(l.range.map(h)),s=s.compose(u),o=Se.mapEffects(o,u).concat(Se.mapEffects(li(l.effects),h))}return{changes:s,selection:G.create(i,n.mainIndex),effects:o}}changes(e=[]){return e instanceof it?e:it.of(e,this.doc.length,this.facet(Oe.lineSeparator))}toText(e){return Te.of(e.split(this.facet(Oe.lineSeparator)||Qh))}sliceDoc(e=0,n=this.doc.length){return this.doc.sliceString(e,n,this.lineBreak)}facet(e){let n=this.config.address[e.id];return n==null?e.default:(Co(this,n),Wc(this,n))}toJSON(e){let n={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let s=e[r];s instanceof kt&&this.config.address[s.id]!=null&&(n[r]=s.spec.toJSON(this.field(e[r]),this))}return n}static fromJSON(e,n={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let s=[];if(r){for(let i in r)if(Object.prototype.hasOwnProperty.call(e,i)){let o=r[i],a=e[i];s.push(o.init(l=>o.spec.fromJSON(a,l)))}}return Oe.create({doc:e.doc,selection:G.fromJSON(e.selection),extensions:n.extensions?s.concat([n.extensions]):s})}static create(e={}){let n=Vc.resolve(e.extensions||[],new Map),r=e.doc instanceof Te?e.doc:Te.of((e.doc||"").split(n.staticFacet(Oe.lineSeparator)||Qh)),s=e.selection?e.selection instanceof G?e.selection:G.single(e.selection.anchor,e.selection.head):G.single(0);return m1(s,r.length),n.staticFacet(nf)||(s=s.asSingle()),new Oe(n,r,s,n.dynamicSlots.map(()=>null),(i,o)=>o.create(i),null)}get tabSize(){return this.facet(Oe.tabSize)}get lineBreak(){return this.facet(Oe.lineSeparator)||`
236
+ `}get readOnly(){return this.facet(k1)}phrase(e,...n){for(let r of this.facet(Oe.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return n.length&&(e=e.replace(/\$(\$|\d*)/g,(r,s)=>{if(s=="$")return"$";let i=+(s||1);return!i||i>n.length?r:n[i-1]})),e}languageDataAt(e,n,r=-1){let s=[];for(let i of this.facet(x1))for(let o of i(this,n,r))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){let n=this.languageDataAt("wordChars",e);return QN(n.length?n[0]:"")}wordAt(e){let{text:n,from:r,length:s}=this.doc.lineAt(e),i=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=at(n,o,!1);if(i(n.slice(l,o))!=ze.Word)break;o=l}for(;a<s;){let l=at(n,a);if(i(n.slice(a,l))!=ze.Word)break;a=l}return o==a?null:G.range(o+r,a+r)}}Oe.allowMultipleSelections=nf;Oe.tabSize=de.define({combine:t=>t.length?t[0]:4});Oe.lineSeparator=b1;Oe.readOnly=k1;Oe.phrases=de.define({compare(t,e){let n=Object.keys(t),r=Object.keys(e);return n.length==r.length&&n.every(s=>t[s]==e[s])}});Oe.languageData=x1;Oe.changeFilter=y1;Oe.transactionFilter=v1;Oe.transactionExtender=w1;$d.reconfigure=Se.define();function or(t,e,n={}){let r={};for(let s of t)for(let i of Object.keys(s)){let o=s[i],a=r[i];if(a===void 0)r[i]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(n,i))r[i]=n[i](a,o);else throw new Error("Config merge conflict for field "+i)}for(let s in e)r[s]===void 0&&(r[s]=e[s]);return r}class Yr{eq(e){return this==e}range(e,n=e){return zo.create(e,n,this)}}Yr.prototype.startSide=Yr.prototype.endSide=0;Yr.prototype.point=!1;Yr.prototype.mapMode=Dt.TrackDel;function Op(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}class zo{constructor(e,n,r){this.from=e,this.to=n,this.value=r}static create(e,n,r){return new zo(e,n,r)}}function of(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Mp{constructor(e,n,r,s){this.from=e,this.to=n,this.value=r,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,n,r,s=0){let i=r?this.to:this.from;for(let o=s,a=i.length;;){if(o==a)return o;let l=o+a>>1,d=i[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-n;if(l==o)return d>=0?o:a;d>=0?a=l:o=l+1}}between(e,n,r,s){for(let i=this.findIndex(n,-1e9,!0),o=this.findIndex(r,1e9,!1,i);i<o;i++)if(s(this.from[i]+e,this.to[i]+e,this.value[i])===!1)return!1}map(e,n){let r=[],s=[],i=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let d=this.value[l],u=this.from[l]+e,h=this.to[l]+e,f,p;if(u==h){let m=n.mapPos(u,d.startSide,d.mapMode);if(m==null||(f=p=m,d.startSide!=d.endSide&&(p=n.mapPos(u,d.endSide),p<f)))continue}else if(f=n.mapPos(u,d.startSide),p=n.mapPos(h,d.endSide),f>p||f==p&&d.startSide>0&&d.endSide<=0)continue;(p-f||d.endSide-d.startSide)<0||(o<0&&(o=f),d.point&&(a=Math.max(a,p-f)),r.push(d),s.push(f-o),i.push(p-o))}return{mapped:r.length?new Mp(s,i,r,a):null,pos:o}}}class Ne{constructor(e,n,r,s){this.chunkPos=e,this.chunk=n,this.nextLayer=r,this.maxPoint=s}static create(e,n,r,s){return new Ne(e,n,r,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let n of this.chunk)e+=n.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:n=[],sort:r=!1,filterFrom:s=0,filterTo:i=this.length}=e,o=e.filter;if(n.length==0&&!o)return this;if(r&&(n=n.slice().sort(of)),this.isEmpty)return n.length?Ne.of(n):this;let a=new j1(this,null,-1).goto(0),l=0,d=[],u=new wr;for(;a.value||l<n.length;)if(l<n.length&&(a.from-n[l].from||a.startSide-n[l].value.startSide)>=0){let h=n[l++];u.addInner(h.from,h.to,h.value)||d.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==n.length||this.chunkEnd(a.chunkIndex)<n[l].from)&&(!o||s>this.chunkEnd(a.chunkIndex)||i<this.chunkPos[a.chunkIndex])&&u.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||s>a.to||i<a.from||o(a.from,a.to,a.value))&&(u.addInner(a.from,a.to,a.value)||d.push(zo.create(a.from,a.to,a.value))),a.next());return u.finishInner(this.nextLayer.isEmpty&&!d.length?Ne.empty:this.nextLayer.update({add:d,filter:o,filterFrom:s,filterTo:i}))}map(e){if(e.empty||this.isEmpty)return this;let n=[],r=[],s=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],d=e.touchesRange(a,a+l.length);if(d===!1)s=Math.max(s,l.maxPoint),n.push(l),r.push(e.mapPos(a));else if(d===!0){let{mapped:u,pos:h}=l.map(a,e);u&&(s=Math.max(s,u.maxPoint),n.push(u),r.push(h))}}let i=this.nextLayer.map(e);return n.length==0?i:new Ne(r,n,i||Ne.empty,s)}between(e,n,r){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let i=this.chunkPos[s],o=this.chunk[s];if(n>=i&&e<=i+o.length&&o.between(i,e-i,n-i,r)===!1)return}this.nextLayer.between(e,n,r)}}iter(e=0){return Ho.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,n=0){return Ho.from(e).goto(n)}static compare(e,n,r,s,i=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=i),a=n.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=i),l=Vg(o,a,r),d=new so(o,l,i),u=new so(a,l,i);r.iterGaps((h,f,p)=>Wg(d,h,u,f,p,s)),r.empty&&r.length==0&&Wg(d,0,u,0,0,s)}static eq(e,n,r=0,s){s==null&&(s=999999999);let i=e.filter(u=>!u.isEmpty&&n.indexOf(u)<0),o=n.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(i.length!=o.length)return!1;if(!i.length)return!0;let a=Vg(i,o),l=new so(i,a,0).goto(r),d=new so(o,a,0).goto(r);for(;;){if(l.to!=d.to||!af(l.active,d.active)||l.point&&(!d.point||!Op(l.point,d.point)))return!1;if(l.to>s)return!0;l.next(),d.next()}}static spans(e,n,r,s,i=-1){let o=new so(e,null,i).goto(n),a=n,l=o.openStart;for(;;){let d=Math.min(o.to,r);if(o.point){let u=o.activeForPoint(o.to),h=o.pointFrom<n?u.length+1:o.point.startSide<0?u.length:Math.min(u.length,l);s.point(a,d,o.point,u,h,o.pointRank),l=Math.min(o.openEnd(d),u.length)}else d>a&&(s.span(a,d,o.active,l),l=o.openEnd(d));if(o.to>r)return l+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,n=!1){let r=new wr;for(let s of e instanceof zo?[e]:n?JN(e):e)r.add(s.from,s.to,s.value);return r.finish()}static join(e){if(!e.length)return Ne.empty;let n=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let s=e[r];s!=Ne.empty;s=s.nextLayer)n=new Ne(s.chunkPos,s.chunk,n,Math.max(s.maxPoint,n.maxPoint));return n}}Ne.empty=new Ne([],[],null,-1);function JN(t){if(t.length>1)for(let e=t[0],n=1;n<t.length;n++){let r=t[n];if(of(e,r)>0)return t.slice().sort(of);e=r}return t}Ne.empty.nextLayer=Ne.empty;class wr{finishChunk(e){this.chunks.push(new Mp(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,n,r){this.addInner(e,n,r)||(this.nextLayer||(this.nextLayer=new wr)).add(e,n,r)}addInner(e,n,r){let s=e-this.lastTo||r.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(n-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=n,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,n-e)),!0)}addChunk(e,n){if((e-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(e);let r=n.value.length-1;return this.last=n.value[r],this.lastFrom=n.from[r]+e,this.lastTo=n.to[r]+e,!0}finish(){return this.finishInner(Ne.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let n=Ne.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,n}}function Vg(t,e,n){let r=new Map;for(let i of t)for(let o=0;o<i.chunk.length;o++)i.chunk[o].maxPoint<=0&&r.set(i.chunk[o],i.chunkPos[o]);let s=new Set;for(let i of e)for(let o=0;o<i.chunk.length;o++){let a=r.get(i.chunk[o]);a!=null&&(n?n.mapPos(a):a)==i.chunkPos[o]&&!n?.touchesRange(a,a+i.chunk[o].length)&&s.add(i.chunk[o])}return s}class j1{constructor(e,n,r,s=0){this.layer=e,this.skip=n,this.minPoint=r,this.rank=s}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,n=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,n,!1),this}gotoInner(e,n,r){for(;this.chunkIndex<this.layer.chunk.length;){let s=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(s)||this.layer.chunkEnd(this.chunkIndex)<e||s.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let s=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],n,!0);(!r||this.rangeIndex<s)&&this.setRangeIndex(s)}this.next()}forward(e,n){(this.to-e||this.endSide-n)<0&&this.gotoInner(e,n,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],n=this.layer.chunk[this.chunkIndex],r=e+n.from[this.rangeIndex];if(this.from=r,this.to=e+n.to[this.rangeIndex],this.value=n.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Ho{constructor(e){this.heap=e}static from(e,n=null,r=-1){let s=[];for(let i=0;i<e.length;i++)for(let o=e[i];!o.isEmpty;o=o.nextLayer)o.maxPoint>=r&&s.push(new j1(o,n,r,i));return s.length==1?s[0]:new Ho(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,n=-1e9){for(let r of this.heap)r.goto(e,n);for(let r=this.heap.length>>1;r>=0;r--)Ou(this.heap,r);return this.next(),this}forward(e,n){for(let r of this.heap)r.forward(e,n);for(let r=this.heap.length>>1;r>=0;r--)Ou(this.heap,r);(this.to-e||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Ou(this.heap,0)}}}function Ou(t,e){for(let n=t[e];;){let r=(e<<1)+1;if(r>=t.length)break;let s=t[r];if(r+1<t.length&&s.compare(t[r+1])>=0&&(s=t[r+1],r++),n.compare(s)<0)break;t[r]=n,t[e]=s,e=r}}class so{constructor(e,n,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ho.from(e,n,r)}goto(e,n=-1e9){return this.cursor.goto(e,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=n,this.openStart=-1,this.next(),this}forward(e,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(e,n)}removeActive(e){_l(this.active,e),_l(this.activeTo,e),_l(this.activeRank,e),this.minActive=Kg(this.active,this.activeTo)}addActive(e){let n=0,{value:r,to:s,rank:i}=this.cursor;for(;n<this.activeRank.length&&(i-this.activeRank[n]||s-this.activeTo[n])>0;)n++;Fl(this.active,n,r),Fl(this.activeTo,n,s),Fl(this.activeRank,n,i),e&&Fl(e,n,this.cursor.from),this.minActive=Kg(this.active,this.activeTo)}next(){let e=this.to,n=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),r&&_l(r,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let i=this.cursor.value;if(!i.point)this.addActive(r),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=i,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=i.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let s=r.length-1;s>=0&&r[s]<e;s--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let n=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&n.push(this.active[r]);return n.reverse()}openEnd(e){let n=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)n++;return n}}function Wg(t,e,n,r,s,i){t.goto(e),n.goto(r);let o=r+s,a=r,l=r-e,d=!!i.boundChange;for(let u=!1;;){let h=t.to+l-n.to,f=h||t.endSide-n.endSide,p=f<0?t.to+l:n.to,m=Math.min(p,o);if(t.point||n.point?(t.point&&n.point&&Op(t.point,n.point)&&af(t.activeForPoint(t.to),n.activeForPoint(n.to))||i.comparePoint(a,m,t.point,n.point),u=!1):(u&&i.boundChange(a),m>a&&!af(t.active,n.active)&&i.compareRange(a,m,t.active,n.active),d&&m<o&&(h||t.openEnd(p)!=n.openEnd(p))&&(u=!0)),p>o)break;a=p,f<=0&&t.next(),f>=0&&n.next()}}function af(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!=e[n]&&!Op(t[n],e[n]))return!1;return!0}function _l(t,e){for(let n=e,r=t.length-1;n<r;n++)t[n]=t[n+1];t.pop()}function Fl(t,e,n){for(let r=t.length-1;r>=e;r--)t[r+1]=t[r];t[e]=n}function Kg(t,e){let n=-1,r=1e9;for(let s=0;s<e.length;s++)(e[s]-r||t[s].endSide-t[n].endSide)<0&&(n=s,r=e[s]);return n}function $i(t,e,n=t.length){let r=0;for(let s=0;s<n&&s<t.length;)t.charCodeAt(s)==9?(r+=e-r%e,s++):(r++,s=at(t,s));return r}function lf(t,e,n,r){for(let s=0,i=0;;){if(i>=e)return s;if(s==t.length)break;i+=t.charCodeAt(s)==9?n-i%n:1,s=at(t,s)}return r===!0?-1:t.length}const cf="ͼ",Ug=typeof Symbol>"u"?"__"+cf:Symbol.for(cf),df=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Gg=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Xr{constructor(e,n){this.rules=[];let{finish:r}=n||{};function s(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function i(o,a,l,d){let u=[],h=/^@(\w+)\b/.exec(o[0]),f=h&&h[1]=="keyframes";if(h&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))i(p.split(/,\s*/).map(x=>o.map(b=>x.replace(/&/,b))).reduce((x,b)=>x.concat(b)),m,l);else if(m&&typeof m=="object"){if(!h)throw new RangeError("The value of a property ("+p+") should be a primitive value.");i(s(p),m,u,f)}else m!=null&&u.push(p.replace(/_.*/,"").replace(/[A-Z]/g,x=>"-"+x.toLowerCase())+": "+m+";")}(u.length||f)&&l.push((r&&!h&&!d?o.map(r):o).join(", ")+" {"+u.join(" ")+"}")}for(let o in e)i(s(o),e[o],this.rules)}getRules(){return this.rules.join(`
237
+ `)}static newName(){let e=Gg[Ug]||1;return Gg[Ug]=e+1,cf+e.toString(36)}static mount(e,n,r){let s=e[df],i=r&&r.nonce;s?i&&s.setNonce(i):s=new ZN(e,i),s.mount(Array.isArray(n)?n:[n],e)}}let qg=new Map;class ZN{constructor(e,n){let r=e.ownerDocument||e,s=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let i=qg.get(r);if(i)return e[df]=i;this.sheet=new s.CSSStyleSheet,qg.set(r,this)}else this.styleTag=r.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],e[df]=this}mount(e,n){let r=this.sheet,s=0,i=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<i&&l>-1&&(this.modules.splice(l,1),i--,l=-1),l==-1){if(this.modules.splice(i++,0,a),r)for(let d=0;d<a.rules.length;d++)r.insertRule(a.rules[d],s++)}else{for(;i<l;)s+=this.modules[i++].rules.length;s+=a.rules.length,i++}}if(r)n.adoptedStyleSheets.indexOf(this.sheet)<0&&(n.adoptedStyleSheets=[this.sheet,...n.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
238
+ `;this.styleTag.textContent=o;let a=n.head||n;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Qr={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Vo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},eP=typeof navigator<"u"&&/Mac/.test(navigator.platform),tP=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var vt=0;vt<10;vt++)Qr[48+vt]=Qr[96+vt]=String(vt);for(var vt=1;vt<=24;vt++)Qr[vt+111]="F"+vt;for(var vt=65;vt<=90;vt++)Qr[vt]=String.fromCharCode(vt+32),Vo[vt]=String.fromCharCode(vt);for(var Mu in Qr)Vo.hasOwnProperty(Mu)||(Vo[Mu]=Qr[Mu]);function nP(t){var e=eP&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||tP&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?Vo:Qr)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function Re(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var s=n[r];typeof s=="string"?t.setAttribute(r,s):s!=null&&(t[r]=s)}e++}for(;e<arguments.length;e++)N1(t,arguments[e]);return t}function N1(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var n=0;n<e.length;n++)N1(t,e[n]);else throw new RangeError("Unsupported child node: "+e)}let Mt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},uf=typeof document<"u"?document:{documentElement:{style:{}}};const hf=/Edge\/(\d+)/.exec(Mt.userAgent),P1=/MSIE \d/.test(Mt.userAgent),ff=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Mt.userAgent),Bd=!!(P1||ff||hf),Yg=!Bd&&/gecko\/(\d+)/i.test(Mt.userAgent),Du=!Bd&&/Chrome\/(\d+)/.exec(Mt.userAgent),rP="webkitFontSmoothing"in uf.documentElement.style,pf=!Bd&&/Apple Computer/.test(Mt.vendor),Xg=pf&&(/Mobile\/\w+/.test(Mt.userAgent)||Mt.maxTouchPoints>2);var ce={mac:Xg||/Mac/.test(Mt.platform),windows:/Win/.test(Mt.platform),linux:/Linux|X11/.test(Mt.platform),ie:Bd,ie_version:P1?uf.documentMode||6:ff?+ff[1]:hf?+hf[1]:0,gecko:Yg,gecko_version:Yg?+(/Firefox\/(\d+)/.exec(Mt.userAgent)||[0,0])[1]:0,chrome:!!Du,chrome_version:Du?+Du[1]:0,ios:Xg,android:/Android\b/.test(Mt.userAgent),webkit_version:rP?+(/\bAppleWebKit\/(\d+)/.exec(Mt.userAgent)||[0,0])[1]:0,safari:pf,safari_version:pf?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Mt.userAgent)||[0,0])[1]:0,tabSize:uf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Dp(t,e){for(let n in t)n=="class"&&e.class?e.class+=" "+t.class:n=="style"&&e.style?e.style+=";"+t.style:e[n]=t[n];return e}const Kc=Object.create(null);function Ap(t,e,n){if(t==e)return!0;t||(t=Kc),e||(e=Kc);let r=Object.keys(t),s=Object.keys(e);if(r.length-0!=s.length-0)return!1;for(let i of r)if(i!=n&&(s.indexOf(i)==-1||t[i]!==e[i]))return!1;return!0}function sP(t,e){for(let n=t.attributes.length-1;n>=0;n--){let r=t.attributes[n].name;e[r]==null&&t.removeAttribute(r)}for(let n in e){let r=e[n];n=="style"?t.style.cssText=r:t.getAttribute(n)!=r&&t.setAttribute(n,r)}}function Qg(t,e,n){let r=!1;if(e)for(let s in e)n&&s in n||(r=!0,s=="style"?t.style.cssText="":t.removeAttribute(s));if(n)for(let s in n)e&&e[s]==n[s]||(r=!0,s=="style"?t.style.cssText=n[s]:t.setAttribute(s,n[s]));return r}function iP(t){let e=Object.create(null);for(let n=0;n<t.attributes.length;n++){let r=t.attributes[n];e[r.name]=r.value}return e}class ar{eq(e){return!1}updateDOM(e,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,n,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var wt=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(wt||(wt={}));class ve extends Yr{constructor(e,n,r,s){super(),this.startSide=e,this.endSide=n,this.widget=r,this.spec=s}get heightRelevant(){return!1}static mark(e){return new sl(e)}static widget(e){let n=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return n+=r&&!e.inlineOrder?n>0?3e8:-4e8:n>0?1e8:-1e8,new Ps(e,n,n,r,e.widget||null,!1)}static replace(e){let n=!!e.block,r,s;if(e.isBlockGap)r=-5e8,s=4e8;else{let{start:i,end:o}=E1(e,n);r=(i?n?-3e8:-1:5e8)-1,s=(o?n?2e8:1:-6e8)+1}return new Ps(e,r,s,n,e.widget||null,!0)}static line(e){return new il(e)}static set(e,n=!1){return Ne.of(e,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ve.none=Ne.empty;class sl extends ve{constructor(e){let{start:n,end:r}=E1(e);super(n?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Dp(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Kc}eq(e){return this==e||e instanceof sl&&this.tagName==e.tagName&&Ap(this.attrs,e.attrs)}range(e,n=e){if(e>=n)throw new RangeError("Mark decorations may not be empty");return super.range(e,n)}}sl.prototype.point=!1;class il extends ve{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof il&&this.spec.class==e.spec.class&&Ap(this.spec.attributes,e.spec.attributes)}range(e,n=e){if(n!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,n)}}il.prototype.mapMode=Dt.TrackBefore;il.prototype.point=!0;class Ps extends ve{constructor(e,n,r,s,i,o){super(n,r,i,e),this.block=s,this.isReplace=o,this.mapMode=s?n<=0?Dt.TrackBefore:Dt.TrackAfter:Dt.TrackDel}get type(){return this.startSide!=this.endSide?wt.WidgetRange:this.startSide<=0?wt.WidgetBefore:wt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Ps&&oP(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,n=e){if(this.isReplace&&(e>n||e==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,n)}}Ps.prototype.point=!0;function E1(t,e=!1){let{inclusiveStart:n,inclusiveEnd:r}=t;return n==null&&(n=t.inclusive),r==null&&(r=t.inclusive),{start:n??e,end:r??e}}function oP(t,e){return t==e||!!(t&&e&&t.compare(e))}function ci(t,e,n,r=0){let s=n.length-1;s>=0&&n[s]+r>=t?n[s]=Math.max(n[s],e):n.push(t,e)}class Wo extends Yr{constructor(e,n){super(),this.tagName=e,this.attributes=n}eq(e){return e==this||e instanceof Wo&&this.tagName==e.tagName&&Ap(this.attributes,e.attributes)}static create(e){return new Wo(e.tagName,e.attributes||Kc)}static set(e,n=!1){return Ne.of(e,n)}}Wo.prototype.startSide=Wo.prototype.endSide=-1;function Ko(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function mf(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Nc(t,e){if(!e.anchorNode)return!1;try{return mf(t,e.anchorNode)}catch{return!1}}function jo(t){return t.nodeType==3?Go(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function No(t,e,n,r){return n?Jg(t,e,n,r,-1)||Jg(t,e,n,r,1):!1}function Jr(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Uc(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function Jg(t,e,n,r,s){for(;;){if(t==n&&e==r)return!0;if(e==(s<0?0:kr(t))){if(t.nodeName=="DIV")return!1;let i=t.parentNode;if(!i||i.nodeType!=1)return!1;e=Jr(t)+(s<0?0:1),t=i}else if(t.nodeType==1){if(t=t.childNodes[e+(s<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=s<0?kr(t):0}else return!1}}function kr(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Uo(t,e){let n=e?t.left:t.right;return{left:n,right:n,top:t.top,bottom:t.bottom}}function aP(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function O1(t,e){let n=e.width/t.offsetWidth,r=e.height/t.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.width-t.offsetWidth)<1)&&(n=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-t.offsetHeight)<1)&&(r=1),{scaleX:n,scaleY:r}}function lP(t,e,n,r,s,i,o,a){let l=t.ownerDocument,d=l.defaultView||window;for(let u=t,h=!1;u&&!h;)if(u.nodeType==1){let f,p=u==l.body,m=1,x=1;if(p)f=aP(d);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(h=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let k=u.getBoundingClientRect();({scaleX:m,scaleY:x}=O1(u,k)),f={left:k.left,right:k.left+u.clientWidth*m,top:k.top,bottom:k.top+u.clientHeight*x}}let b=0,y=0;if(s=="nearest")e.top<f.top?(y=e.top-(f.top+o),n>0&&e.bottom>f.bottom+y&&(y=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(y=e.bottom-f.bottom+o,n<0&&e.top-y<f.top&&(y=e.top-(f.top+o)));else{let k=e.bottom-e.top,v=f.bottom-f.top;y=(s=="center"&&k<=v?e.top+k/2-v/2:s=="start"||s=="center"&&n<0?e.top-o:e.bottom-v+o)-f.top}if(r=="nearest"?e.left<f.left?(b=e.left-(f.left+i),n>0&&e.right>f.right+b&&(b=e.right-f.right+i)):e.right>f.right&&(b=e.right-f.right+i,n<0&&e.left<f.left+b&&(b=e.left-(f.left+i))):b=(r=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:r=="start"==a?e.left-i:e.right-(f.right-f.left)+i)-f.left,b||y)if(p)d.scrollBy(b,y);else{let k=0,v=0;if(y){let w=u.scrollTop;u.scrollTop+=y/x,v=(u.scrollTop-w)*x}if(b){let w=u.scrollLeft;u.scrollLeft+=b/m,k=(u.scrollLeft-w)*m}e={left:e.left-k,top:e.top-v,right:e.right-k,bottom:e.bottom-v},k&&Math.abs(k-b)<1&&(r="nearest"),v&&Math.abs(v-y)<1&&(s="nearest")}if(p)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function cP(t){let e=t.ownerDocument,n,r;for(let s=t.parentNode;s&&!(s==e.body||n&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}class dP{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:n,focusNode:r}=e;this.set(n,Math.min(e.anchorOffset,n?kr(n):0),r,Math.min(e.focusOffset,r?kr(r):0))}set(e,n,r,s){this.anchorNode=e,this.anchorOffset=n,this.focusNode=r,this.focusOffset=s}}let us=null;ce.safari&&ce.safari_version>=26&&(us=!1);function M1(t){if(t.setActive)return t.setActive();if(us)return t.focus(us);let e=[];for(let n=t;n&&(e.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(t.focus(us==null?{get preventScroll(){return us={preventScroll:!0},!0}}:void 0),!us){us=!1;for(let n=0;n<e.length;){let r=e[n++],s=e[n++],i=e[n++];r.scrollTop!=s&&(r.scrollTop=s),r.scrollLeft!=i&&(r.scrollLeft=i)}}}let Zg;function Go(t,e,n=e){let r=Zg||(Zg=document.createRange());return r.setEnd(t,n),r.setStart(t,e),r}function di(t,e,n,r){let s={key:e,code:e,keyCode:n,which:n,cancelable:!0};r&&({altKey:s.altKey,ctrlKey:s.ctrlKey,shiftKey:s.shiftKey,metaKey:s.metaKey}=r);let i=new KeyboardEvent("keydown",s);i.synthetic=!0,t.dispatchEvent(i);let o=new KeyboardEvent("keyup",s);return o.synthetic=!0,t.dispatchEvent(o),i.defaultPrevented||o.defaultPrevented}function uP(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function hP(t,e){let n=e.focusNode,r=e.focusOffset;if(!n||e.anchorNode!=n||e.anchorOffset!=r)return!1;for(r=Math.min(r,kr(n));;)if(r){if(n.nodeType!=1)return!1;let s=n.childNodes[r-1];s.contentEditable=="false"?r--:(n=s,r=kr(n))}else{if(n==t)return!0;r=Jr(n),n=n.parentNode}}function D1(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function A1(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&r>0)return{node:n,offset:r};if(n.nodeType==1&&r>0){if(n.contentEditable=="false")return null;n=n.childNodes[r-1],r=kr(n)}else if(n.parentNode&&!Uc(n))r=Jr(n),n=n.parentNode;else return null}}function T1(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&r<n.nodeValue.length)return{node:n,offset:r};if(n.nodeType==1&&r<n.childNodes.length){if(n.contentEditable=="false")return null;n=n.childNodes[r],r=0}else if(n.parentNode&&!Uc(n))r=Jr(n)+1,n=n.parentNode;else return null}}class On{constructor(e,n,r=!0){this.node=e,this.offset=n,this.precise=r}static before(e,n){return new On(e.parentNode,Jr(e),n)}static after(e,n){return new On(e.parentNode,Jr(e)+1,n)}}var Be=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(Be||(Be={}));const Es=Be.LTR,Tp=Be.RTL;function L1(t){let e=[];for(let n=0;n<t.length;n++)e.push(1<<+t[n]);return e}const fP=L1("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),pP=L1("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),gf=Object.create(null),Kn=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),n=t.charCodeAt(1);gf[e]=n,gf[n]=-e}function R1(t){return t<=247?fP[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?pP[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const mP=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class yr{get dir(){return this.level%2?Tp:Es}constructor(e,n,r){this.from=e,this.to=n,this.level=r}side(e,n){return this.dir==n==e?this.to:this.from}forward(e,n){return e==(this.dir==n)}static find(e,n,r,s){let i=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=n&&a.to>=n){if(a.level==r)return o;(i<0||(s!=0?s<0?a.from<n:a.to>n:e[i].level>a.level))&&(i=o)}}if(i<0)throw new RangeError("Index out of range");return i}}function I1(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++){let r=t[n],s=e[n];if(r.from!=s.from||r.to!=s.to||r.direction!=s.direction||!I1(r.inner,s.inner))return!1}return!0}const Ie=[];function gP(t,e,n,r,s){for(let i=0;i<=r.length;i++){let o=i?r[i-1].to:e,a=i<r.length?r[i].from:n,l=i?256:s;for(let d=o,u=l,h=l;d<a;d++){let f=R1(t.charCodeAt(d));f==512?f=u:f==8&&h==4&&(f=16),Ie[d]=f==4?2:f,f&7&&(h=f),u=f}for(let d=o,u=l,h=l;d<a;d++){let f=Ie[d];if(f==128)d<a-1&&u==Ie[d+1]&&u&24?f=Ie[d]=u:Ie[d]=256;else if(f==64){let p=d+1;for(;p<a&&Ie[p]==64;)p++;let m=d&&u==8||p<n&&Ie[p]==8?h==1?1:8:256;for(let x=d;x<p;x++)Ie[x]=m;d=p-1}else f==8&&h==1&&(Ie[d]=1);u=f,f&7&&(h=f)}}}function xP(t,e,n,r,s){let i=s==1?2:1;for(let o=0,a=0,l=0;o<=r.length;o++){let d=o?r[o-1].to:e,u=o<r.length?r[o].from:n;for(let h=d,f,p,m;h<u;h++)if(p=gf[f=t.charCodeAt(h)])if(p<0){for(let x=a-3;x>=0;x-=3)if(Kn[x+1]==-p){let b=Kn[x+2],y=b&2?s:b&4?b&1?i:s:0;y&&(Ie[h]=Ie[Kn[x]]=y),a=x;break}}else{if(Kn.length==189)break;Kn[a++]=h,Kn[a++]=f,Kn[a++]=l}else if((m=Ie[h])==2||m==1){let x=m==s;l=x?0:1;for(let b=a-3;b>=0;b-=3){let y=Kn[b+2];if(y&2)break;if(x)Kn[b+2]|=2;else{if(y&4)break;Kn[b+2]|=4}}}}}function bP(t,e,n,r){for(let s=0,i=r;s<=n.length;s++){let o=s?n[s-1].to:t,a=s<n.length?n[s].from:e;for(let l=o;l<a;){let d=Ie[l];if(d==256){let u=l+1;for(;;)if(u==a){if(s==n.length)break;u=n[s++].to,a=s<n.length?n[s].from:e}else if(Ie[u]==256)u++;else break;let h=i==1,f=(u<e?Ie[u]:r)==1,p=h==f?h?1:2:r;for(let m=u,x=s,b=x?n[x-1].to:t;m>l;)m==b&&(m=n[--x].from,b=x?n[x-1].to:t),Ie[--m]=p;l=u}else i=d,l++}}}function xf(t,e,n,r,s,i,o){let a=r%2?2:1;if(r%2==s%2)for(let l=e,d=0;l<n;){let u=!0,h=!1;if(d==i.length||l<i[d].from){let x=Ie[l];x!=a&&(u=!1,h=x==16)}let f=!u&&a==1?[]:null,p=u?r:r+1,m=l;e:for(;;)if(d<i.length&&m==i[d].from){if(h)break e;let x=i[d];if(!u)for(let b=x.to,y=d+1;;){if(b==n)break e;if(y<i.length&&i[y].from==b)b=i[y++].to;else{if(Ie[b]==a)break e;break}}if(d++,f)f.push(x);else{x.from>l&&o.push(new yr(l,x.from,p));let b=x.direction==Es!=!(p%2);bf(t,b?r+1:r,s,x.inner,x.from,x.to,o),l=x.to}m=x.to}else{if(m==n||(u?Ie[m]!=a:Ie[m]==a))break;m++}f?xf(t,l,m,r+1,s,f,o):l<m&&o.push(new yr(l,m,p)),l=m}else for(let l=n,d=i.length;l>e;){let u=!0,h=!1;if(!d||l>i[d-1].to){let x=Ie[l-1];x!=a&&(u=!1,h=x==16)}let f=!u&&a==1?[]:null,p=u?r:r+1,m=l;e:for(;;)if(d&&m==i[d-1].to){if(h)break e;let x=i[--d];if(!u)for(let b=x.from,y=d;;){if(b==e)break e;if(y&&i[y-1].to==b)b=i[--y].from;else{if(Ie[b-1]==a)break e;break}}if(f)f.push(x);else{x.to<l&&o.push(new yr(x.to,l,p));let b=x.direction==Es!=!(p%2);bf(t,b?r+1:r,s,x.inner,x.from,x.to,o),l=x.from}m=x.from}else{if(m==e||(u?Ie[m-1]!=a:Ie[m-1]==a))break;m--}f?xf(t,m,l,r+1,s,f,o):m<l&&o.push(new yr(m,l,p)),l=m}}function bf(t,e,n,r,s,i,o){let a=e%2?2:1;gP(t,s,i,r,a),xP(t,s,i,r,a),bP(s,i,r,a),xf(t,s,i,e,n,r,o)}function yP(t,e,n){if(!t)return[new yr(0,0,e==Tp?1:0)];if(e==Es&&!n.length&&!mP.test(t))return $1(t.length);if(n.length)for(;t.length>Ie.length;)Ie[Ie.length]=256;let r=[],s=e==Es?0:1;return bf(t,s,s,n,0,t.length,r),r}function $1(t){return[new yr(0,t,0)]}let B1="";function vP(t,e,n,r,s){var i;let o=r.head-t.from,a=yr.find(e,o,(i=r.bidiLevel)!==null&&i!==void 0?i:-1,r.assoc),l=e[a],d=l.side(s,n);if(o==d){let f=a+=s?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],o=l.side(!s,n),d=l.side(s,n)}let u=at(t.text,o,l.forward(s,n));(u<l.from||u>l.to)&&(u=d),B1=t.text.slice(Math.min(o,u),Math.max(o,u));let h=a==(s?e.length-1:0)?null:e[a+(s?1:-1)];return h&&u==d&&h.level+(s?0:1)<l.level?G.cursor(h.side(!s,n)+t.from,h.forward(s,n)?1:-1,h.level):G.cursor(u+t.from,l.forward(s,n)?-1:1,l.level)}function wP(t,e,n){for(let r=e;r<n;r++){let s=R1(t.charCodeAt(r));if(s==1)return Es;if(s==2||s==4)return Tp}return Es}const _1=de.define(),F1=de.define(),z1=de.define(),H1=de.define(),yf=de.define(),V1=de.define(),W1=de.define(),Lp=de.define(),Rp=de.define(),K1=de.define({combine:t=>t.some(e=>e)}),U1=de.define({combine:t=>t.some(e=>e)}),G1=de.define();class ui{constructor(e,n="nearest",r="nearest",s=5,i=5,o=!1){this.range=e,this.y=n,this.x=r,this.yMargin=s,this.xMargin=i,this.isSnapshot=o}map(e){return e.empty?this:new ui(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new ui(G.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const zl=Se.define({map:(t,e)=>t.map(e)}),q1=Se.define();function Ft(t,e,n){let r=t.facet(H1);r.length?r[0](e):window.onerror&&window.onerror(String(e),n,void 0,void 0,e)||(n?console.error(n+":",e):console.error(e))}const br=de.define({combine:t=>t.length?t[0]:!0});let kP=0;const Zs=de.define({combine(t){return t.filter((e,n)=>{for(let r=0;r<n;r++)if(t[r].plugin==e.plugin)return!1;return!0})}});class Je{constructor(e,n,r,s,i){this.id=e,this.create=n,this.domEventHandlers=r,this.domEventObservers=s,this.baseExtensions=i(this),this.extension=this.baseExtensions.concat(Zs.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Zs.of({plugin:this,arg:e}))}static define(e,n){const{eventHandlers:r,eventObservers:s,provide:i,decorations:o}=n||{};return new Je(kP++,e,r,s,a=>{let l=[];return o&&l.push(qo.of(d=>{let u=d.plugin(a);return u?o(u):ve.none})),i&&l.push(i(a)),l})}static fromClass(e,n){return Je.define((r,s)=>new e(r,s),n)}}class Au{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(r){if(Ft(n.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(n){Ft(e.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(r){Ft(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Y1=de.define(),Ip=de.define(),qo=de.define(),X1=de.define(),Q1=de.define(),ol=de.define(),J1=de.define();function e0(t,e){let n=t.state.facet(J1);if(!n.length)return n;let r=n.map(i=>i instanceof Function?i(t):i),s=[];return Ne.spans(r,e.from,e.to,{point(){},span(i,o,a,l){let d=i-e.from,u=o-e.from,h=s;for(let f=a.length-1;f>=0;f--,l--){let p=a[f].spec.bidiIsolate,m;if(p==null&&(p=wP(e.text,d,u)),l>0&&h.length&&(m=h[h.length-1]).to==d&&m.direction==p)m.to=u,h=m.inner;else{let x={from:d,to:u,direction:p,inner:[]};h.push(x),h=x.inner}}}}),s}const Z1=de.define();function $p(t){let e=0,n=0,r=0,s=0;for(let i of t.state.facet(Z1)){let o=i(t);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(n=Math.max(n,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(s=Math.max(s,o.bottom)))}return{left:e,right:n,top:r,bottom:s}}const mo=de.define();class pn{constructor(e,n,r,s){this.fromA=e,this.toA=n,this.fromB=r,this.toB=s}join(e){return new pn(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let n=e.length,r=this;for(;n>0;n--){let s=e[n-1];if(!(s.fromA>r.toA)){if(s.toA<r.fromA)break;r=r.join(s),e.splice(n-1,1)}}return e.splice(n,0,r),e}static extendWithRanges(e,n){if(n.length==0)return e;let r=[];for(let s=0,i=0,o=0;;){let a=s<e.length?e[s].fromB:1e9,l=i<n.length?n[i]:1e9,d=Math.min(a,l);if(d==1e9)break;let u=d+o,h=d,f=u;for(;;)if(i<n.length&&n[i]<=h){let p=n[i+1];i+=2,h=Math.max(h,p);for(let m=s;m<e.length&&e[m].fromB<=h;m++)o=e[m].toA-e[m].toB;f=Math.max(f,p+o)}else if(s<e.length&&e[s].fromB<=h){let p=e[s++];h=Math.max(h,p.toB),f=Math.max(f,p.toA),o=p.toA-p.toB}else break;r.push(new pn(u,f,d,h))}return r}}class Gc{constructor(e,n,r){this.view=e,this.state=n,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=it.empty(this.startState.doc.length);for(let i of r)this.changes=this.changes.compose(i.changes);let s=[];this.changes.iterChangedRanges((i,o,a,l)=>s.push(new pn(i,o,a,l))),this.changedRanges=s}static create(e,n,r){return new Gc(e,n,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const SP=[];class tt{constructor(e,n,r=0){this.dom=e,this.length=n,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return SP}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&sP(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,n=this.posAtStart){let r=n;for(let s of this.children){if(s==e)return r;r+=s.length+s.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,n){return null}domPosFor(e,n){let r=Jr(this.dom),s=this.length?e>0:n>0;return new On(this.parent.dom,r+(s?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Fd)return e;return null}static get(e){return e.cmTile}}class _d extends tt{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let n=this.dom,r=null,s,i=e?.node==n?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,s=r?r.nextSibling:n.firstChild,i&&s!=a.dom&&(i.written=!0),a.dom.parentNode==n)for(;s&&s!=a.dom;)s=t0(s);else n.insertBefore(a.dom,s);r=a.dom}for(s=r?r.nextSibling:n.firstChild,i&&s&&(i.written=!0);s;)s=t0(s);this.length=o}}function t0(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class Fd extends _d{constructor(e,n){super(n),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let n=tt.get(e);if(n&&this.owns(n))return n;e=e.parentNode}}blockTiles(e){for(let n=[],r=this,s=0,i=0;;)if(s==r.children.length){if(!n.length)return;r=r.parent,r.breakAfter&&i++,s=n.pop()}else{let o=r.children[s++];if(o instanceof Kr)n.push(s),r=o,s=0;else{let a=i+o.length,l=e(o,i);if(l!==void 0)return l;i=a+o.breakAfter}}}resolveBlock(e,n){let r,s=-1,i,o=-1;if(this.blockTiles((a,l)=>{let d=l+a.length;if(e>=l&&e<=d){if(a.isWidget()&&n>=-1&&n<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(l<e||e==d&&(n<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,s=e-l),(d>e||e==l&&(n>1?a.length:a.covers(-1)))&&(!i||!a.isWidget()&&i.isWidget())&&(i=a,o=e-l)}}),!r&&!i)throw new Error("No tile at position "+e);return r&&n<0||!i?{tile:r,offset:s}:{tile:i,offset:o}}}class Kr extends _d{constructor(e,n){super(e),this.wrapper=n}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,n){let r=new Kr(n||document.createElement(e.tagName),e);return n||(r.flags|=4),r}}class yi extends _d{constructor(e,n){super(e),this.attrs=n}isLine(){return!0}static start(e,n,r){let s=new yi(n||document.createElement("div"),e);return(!n||!r)&&(s.flags|=4),s}get domAttrs(){return this.attrs}resolveInline(e,n,r){let s=null,i=-1,o=null,a=-1;function l(u,h){for(let f=0,p=0;f<u.children.length&&p<=h;f++){let m=u.children[f],x=p+m.length;x>=h&&(m.isComposite()?l(m,h-p):(!o||o.isHidden&&(n>0||r&&jP(o,m)))&&(x>h||m.flags&32)?(o=m,a=h-p):(p<h||m.flags&16&&!m.isHidden)&&(s=m,i=h-p)),p=x}}l(this,e);let d=(n<0?s:o)||s||o;return d?{tile:d,offset:d==s?i:a}:null}coordsIn(e,n){let r=this.resolveInline(e,n,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),n):CP(this)}domIn(e,n){let r=this.resolveInline(e,n);if(r){let{tile:s,offset:i}=r;if(this.dom.contains(s.dom))return s.isText()?new On(s.dom,Math.min(s.dom.nodeValue.length,i)):s.domPosFor(i,s.flags&16?1:s.flags&32?-1:n);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new On(l.dom,0);l==r.tile&&(a=!0)}}return new On(this.dom,0)}}function CP(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let n=jo(e);return n[n.length-1]||null}function jP(t,e){let n=t.coordsIn(0,1),r=e.coordsIn(0,1);return n&&r&&r.top<n.bottom}class _t extends _d{constructor(e,n){super(e),this.mark=n}get domAttrs(){return this.mark.attrs}static of(e,n){let r=new _t(n||document.createElement(e.tagName),e);return n||(r.flags|=4),r}}class vs extends tt{constructor(e,n){super(e,n.length),this.text=n}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,n){let r=this.dom.nodeValue.length;e>r&&(e=r);let s=e,i=e,o=0;e==0&&n<0||e==r&&n>=0?ce.chrome||ce.gecko||(e?(s--,o=1):i<r&&(i++,o=-1)):n<0?s--:i<r&&i++;let a=Go(this.dom,s,i).getClientRects();if(!a.length)return null;let l=a[(o?o<0:n>=0)?0:a.length-1];return ce.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,d=>d.width)||l),o?Uo(l,o<0):l||null}static of(e,n){let r=new vs(n||document.createTextNode(e),e);return n||(r.flags|=2),r}}class vi extends tt{constructor(e,n,r,s){super(e,n,s),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,n){return this.coordsInWidget(e,n,!1)}coordsInWidget(e,n,r){let s=this.widget.coordsAt(this.dom,e,n);if(s)return s;if(r)return Uo(this.dom.getBoundingClientRect(),this.length?e==0:n<=0);{let i=this.dom.getClientRects(),o=null;if(!i.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?i.length-1:0;o=i[l],!(e>0?l==0:l==i.length-1||o.top<o.bottom);l+=a?-1:1);return Uo(o,!a)}}get overrideDOMText(){if(!this.length)return Te.empty;let{root:e}=this;if(!e)return Te.empty;let n=this.posAtStart;return e.view.state.doc.slice(n,n+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,n,r,s,i){return i||(i=e.toDOM(n),e.editable||(i.contentEditable="false")),new vi(i,r,e,s)}}class qc extends tt{constructor(e){let n=document.createElement("img");n.className="cm-widgetBuffer",n.setAttribute("aria-hidden","true"),super(n,0,e)}get isHidden(){return!1}get overrideDOMText(){return Te.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class NP{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,n,r){let{tile:s,index:i,beforeBreak:o,parents:a}=this;for(;e||n>0;)if(s.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(i==s.children.length){if(!e&&!a.length)break;r&&r.leave(s),o=!!s.breakAfter,{tile:s,index:i}=a.pop(),i++}else{let l=s.children[i],d=l.breakAfter;(n>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(o=!!d,i++,e-=l.length):(a.push({tile:s,index:i}),s=l,i=0,r&&l.isComposite()&&r.enter(l))}else if(i==s.length)o=!!s.breakAfter,{tile:s,index:i}=a.pop(),i++;else if(e){let l=Math.min(e,s.length-i);r&&r.skip(s,i,i+l),e-=l,i+=l}else break;return this.tile=s,this.index=i,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class PP{constructor(e,n,r,s){this.from=e,this.to=n,this.wrapper=r,this.rank=s}}class EP{constructor(e,n,r){this.cache=e,this.root=n,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,n,r,s){var i;this.flushBuffer();let o=this.ensureMarks(n,r),a=o.lastChild;if(a&&a.isText()&&!(a.flags&8)){this.cache.reused.set(a,2);let l=o.children[o.children.length-1]=new vs(a.dom,a.text+e);l.parent=o}else o.append(s||vs.of(e,(i=this.cache.find(vs))===null||i===void 0?void 0:i.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,n){let r=this.curLine;r.dom!=n.line.dom&&(r.setDOM(this.cache.reused.has(n.line)?Tu(n.line.dom):n.line.dom),this.cache.reused.set(n.line,2));let s=r;for(let a=n.marks.length-1;a>=0;a--){let l=n.marks[a],d=s.lastChild;if(d instanceof _t&&d.mark.eq(l.mark))d.dom!=l.dom&&d.setDOM(Tu(l.dom)),s=d;else{if(this.cache.reused.get(l)){let h=tt.get(l.dom);h&&h.setDOM(Tu(l.dom))}let u=_t.of(l.mark,l.dom);s.append(u),s=u}this.cache.reused.set(l,2)}let i=tt.get(e.text);i&&this.cache.reused.set(i,2);let o=new vs(e.text,e.text.nodeValue);o.flags|=8,s.append(o)}addInlineWidget(e,n,r){let s=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);s||this.flushBuffer();let i=this.ensureMarks(n,r);!s&&!(e.flags&16)&&i.append(this.getBuffer(1)),i.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,n,r){this.flushBuffer(),this.ensureMarks(n,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let n=this.afterWidget||this.lastBlock;n.length+=e,this.pos+=e}addLineStart(e,n){var r;e||(e=ew);let s=yi.start(e,n||((r=this.cache.find(yi))===null||r===void 0?void 0:r.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=s)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,n){var r;let s=this.curLine;for(let i=e.length-1;i>=0;i--){let o=e[i],a;if(n>0&&(a=s.lastChild)&&a instanceof _t&&a.mark.eq(o))s=a,n--;else{let l=_t.of(o,(r=this.cache.find(_t,d=>d.mark.eq(o)))===null||r===void 0?void 0:r.dom);s.append(l),s=l,n=0}}return s}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!n0(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(ce.ios&&n0(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Lu,0,32)||new vi(Lu.toDOM(),0,Lu,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let n=new PP(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let n=this.root;for(let r of this.wrappers){let s=n.lastChild;if(r.from<this.pos&&s instanceof Kr&&s.wrapper.eq(r.wrapper))n=s;else{let i=Kr.of(r.wrapper,(e=this.cache.find(Kr,o=>o.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);n.append(i),n=i}}return n}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let n=2|(e<0?16:32),r=this.cache.find(qc,void 0,1);return r&&(r.flags=n),r||new qc(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class OP{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:s,lineBreak:i,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=s;let a=this.textOff=Math.min(e,s.length);return i?null:s.slice(0,a)}let n=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,n);return this.textOff=n,r}}const Yc=[vi,yi,vs,_t,qc,Kr,Fd];for(let t=0;t<Yc.length;t++)Yc[t].bucket=t;class MP{constructor(e){this.view=e,this.buckets=Yc.map(()=>[]),this.index=Yc.map(()=>0),this.reused=new Map}add(e){let n=e.constructor.bucket,r=this.buckets[n];r.length<6?r.push(e):r[this.index[n]=(this.index[n]+1)%6]=e}find(e,n,r=2){let s=e.bucket,i=this.buckets[s],o=this.index[s];for(let a=i.length-1;a>=0;a--){let l=(a+o)%i.length,d=i[l];if((!n||n(d))&&!this.reused.has(d))return i.splice(l,1),l<o&&this.index[s]--,this.reused.set(d,r),d}return null}findWidget(e,n,r){let s=this.buckets[0];if(s.length)for(let i=0,o=0;;i++){if(i==s.length){if(o)return null;o=1,i=0}let a=s[i];if(!this.reused.has(a)&&(o==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view)))return s.splice(i,1),i<this.index[0]&&this.index[0]--,this.reused.set(a,1),a.length=n,a.flags=a.flags&-498|r,a}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,n=2){if(!this.reused.has(e))return this.reused.set(e,n),e.dom}}class DP{constructor(e,n,r,s,i){this.view=e,this.decorations=s,this.disallowBlockEffectsFor=i,this.openWidget=!1,this.openMarks=0,this.cache=new MP(e),this.text=new OP(e.state.doc),this.builder=new EP(this.cache,new Fd(e,e.contentDOM),Ne.iter(r)),this.cache.reused.set(n,2),this.old=new NP(n),this.reuseWalker={skip:(o,a,l)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,n){let r=n&&this.getCompositionContext(n.text);for(let s=0,i=0,o=0;;){let a=o<e.length?e[o++]:null,l=a?a.fromA:this.old.root.length;if(l>s){let d=l-s;this.preserve(d,!o,!a),s=l,i+=d}if(!a)break;this.forward(a.fromA,a.toA),n&&a.fromA<=n.range.fromA&&a.toA>=n.range.toA?(this.emit(i,n.range.fromB),this.builder.addComposition(n,r),this.text.skip(n.range.toB-n.range.fromB),this.emit(n.range.toB,a.toB)):this.emit(i,a.toB),i=a.toB,s=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,n,r){let s=LP(this.old),i=this.openMarks;this.old.advance(e,r?1:-1,{skip:(o,a,l)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let d=l>0||a<o.length?vi.of(o.widget,this.view,l-a,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);d.flags&256?(d.flags&=-2,this.builder.addBlockWidget(d)):(this.builder.ensureLine(null),this.builder.addInlineWidget(d,s,i),i=s.length)}else if(o.isText())this.builder.ensureLine(null),!a&&l==o.length?this.builder.addText(o.text,s,i,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(a,l),s,i)),i=s.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof qc)this.cache.add(o);else if(o instanceof _t)this.builder.ensureLine(null),this.builder.addMark(o,s,i),this.cache.reused.set(o,1),i=s.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof _t&&s.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?s.length&&(s.length=i=0):o instanceof _t&&(s.shift(),i=Math.min(i,s.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,n){let r=null,s=this.builder,i=0,o=Ne.spans(this.decorations,e,n,{point:(a,l,d,u,h,f)=>{if(d instanceof Ps){if(this.disallowBlockEffectsFor[f]){if(d.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(i=u.length,h>u.length)s.continueWidget(l-a);else{let p=d.widget||(d.block?wi.block:wi.inline),m=AP(d),x=this.cache.findWidget(p,l-a,m)||vi.of(p,this.view,l-a,m);d.block?(d.startSide>0&&s.addLineStartIfNotCovered(r),s.addBlockWidget(x)):(s.ensureLine(r),s.addInlineWidget(x,u,h))}r=null}else r=TP(r,d);l>a&&this.text.skip(l-a)},span:(a,l,d,u)=>{for(let h=a;h<l;){let f=this.text.next(Math.min(512,l-h));f==null?(s.addLineStartIfNotCovered(r),s.addBreak(),h++):(s.ensureLine(r),s.addText(f,d,u),h+=f.length),r=null}}});s.addLineStartIfNotCovered(r),this.openWidget=o>i,this.openMarks=o}forward(e,n){n-e<=10?this.old.advance(n-e,1,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-e-10,-1),this.old.advance(5,1,this.reuseWalker))}getCompositionContext(e){let n=[],r=null;for(let s=e.parentNode;;s=s.parentNode){let i=tt.get(s);if(s==this.view.contentDOM)break;i instanceof _t?n.push(i):i?.isLine()?r=i:s.nodeName=="DIV"&&!r&&s!=this.view.contentDOM?r=new yi(s,ew):n.push(_t.of(new sl({tagName:s.nodeName.toLowerCase(),attributes:iP(s)}),s))}return{line:r,marks:n}}}function n0(t,e){let n=r=>{for(let s of r.children)if((e?s.isText():s.length)||n(s))return!0;return!1};return n(t)}function AP(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const ew={class:"cm-line"};function TP(t,e){let n=e.spec.attributes,r=e.spec.class;return!n&&!r||(t||(t={class:"cm-line"}),n&&Dp(n,t),r&&(t.class+=" "+r)),t}function LP(t){let e=[];for(let n=t.parents.length;n>1;n--){let r=n==t.parents.length?t.tile:t.parents[n].tile;r instanceof _t&&e.push(r.mark)}return e}function Tu(t){let e=tt.get(t);return e&&e.setDOM(t.cloneNode()),t}class wi extends ar{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}wi.inline=new wi("span");wi.block=new wi("div");const Lu=new class extends ar{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class r0{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ve.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Fd(e,e.contentDOM),this.updateInner([new pn(0,0,0,e.state.doc.length)],null)}update(e){var n;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:u,toA:h})=>h<this.minWidthFrom||u>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?s=this.domChanged.newSel.head:!VP(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let i=s>-1?IP(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){let{from:u,to:h}=this.hasComposition;r=new pn(u,h,e.changes.mapPos(u,-1),e.changes.mapPos(h,1)).addToSet(r.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(ce.ie||ce.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=_P(o,this.decorations,e.changes);l.length&&(r=pn.extendWithRanges(r,l));let d=zP(a,this.blockWrappers,e.changes);return d.length&&(r=pn.extendWithRanges(r,d)),i&&!r.some(u=>u.fromA<=i.range.fromA&&u.toA>=i.range.toA)&&(r=i.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,n){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(n||e.length){let o=this.tile,a=new DP(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,n),vf(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let i=ce.chrome||ce.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(i),i&&(i.written||r.selectionRange.focusNode!=i.node||!this.tile.dom.contains(i.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let i of this.tile.children)i.isWidget()&&i.widget instanceof Ru&&s.push(i.dom);r.updateGaps(s)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let n of e.transactions)for(let r of n.effects)r.is(q1)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,n=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,s=this.view.root.activeElement,i=s==r,o=!i&&!(this.view.state.facet(br)||r.tabIndex>-1)&&Nc(r,this.view.observer.selectionRange)&&!(s&&r.contains(s));if(!(i||n||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,d,u;if(l.empty?u=d=this.inlineDOMNearPos(l.anchor,l.assoc||1):(u=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),d=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),ce.gecko&&l.empty&&!this.hasComposition&&RP(d)){let f=document.createTextNode("");this.view.observer.ignore(()=>d.node.insertBefore(f,d.node.childNodes[d.offset]||null)),d=u=new On(f,0),a=!0}let h=this.view.observer.selectionRange;(a||!h.focusNode||(!No(d.node,d.offset,h.anchorNode,h.anchorOffset)||!No(u.node,u.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,l))&&(this.view.observer.ignore(()=>{ce.android&&ce.chrome&&r.contains(h.focusNode)&&HP(h.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=Ko(this.view.root);if(f)if(l.empty){if(ce.gecko){let p=$P(d.node,d.offset);if(p&&p!=3){let m=(p==1?A1:T1)(d.node,d.offset);m&&(d=new On(m.node,m.offset))}}f.collapse(d.node,d.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(d.node,d.offset);try{f.extend(u.node,u.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([d,u]=[u,d]),p.setEnd(u.node,u.offset),p.setStart(d.node,d.offset),f.removeAllRanges(),f.addRange(p)}o&&this.view.root.activeElement==r&&(r.blur(),s&&s.focus())}),this.view.observer.setSelectionRange(d,u)),this.impreciseAnchor=d.precise?null:new On(h.anchorNode,h.anchorOffset),this.impreciseHead=u.precise?null:new On(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,n){return this.hasComposition&&n.empty&&No(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,n=e.state.selection.main,r=Ko(e.root),{anchorNode:s,anchorOffset:i}=e.observer.selectionRange;if(!r||!n.empty||!n.assoc||!r.modify)return;let o=this.lineAt(n.head,n.assoc);if(!o)return;let a=o.posAtStart;if(n.head==a||n.head==a+o.length)return;let l=this.coordsAt(n.head,-1),d=this.coordsAt(n.head,1);if(!l||!d||l.bottom>d.top)return;let u=this.domAtPos(n.head+n.assoc,n.assoc);r.collapse(u.node,u.offset),r.modify("move",n.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=n.from&&r.collapse(s,i)}posFromDOM(e,n){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let s=r.posAtStart;if(r.isComposite()){let i;if(e==r.dom)i=r.dom.childNodes[n];else{let o=kr(e)==0?0:n==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?i=e:i=e.nextSibling}if(i==r.dom.firstChild)return s;for(;i&&!tt.get(i);)i=i.nextSibling;if(!i)return s+r.length;for(let o=0,a=s;;o++){let l=r.children[o];if(l.dom==i)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?s+n:s+(n?r.length:0):s}domAtPos(e,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,n);return r.isWidget()?r.domPosFor(e,n):r.domIn(s,n)}inlineDOMNearPos(e,n){let r,s=-1,i=!1,o,a=-1,l=!1;return this.tile.blockTiles((d,u)=>{if(d.isWidget()){if(d.flags&32&&u>=e)return!0;d.flags&16&&(i=!0)}else{let h=u+d.length;if(u<=e&&(r=d,s=e-u,i=h<e),h>=e&&!o&&(o=d,a=e-u,l=u>e),u>e&&o)return!0}}),!r&&!o?this.domAtPos(e,n):(i&&o?r=null:l&&r&&(o=null),r&&n<0||!o?r.domIn(s,n):o.domIn(a,n))}coordsAt(e,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,n);return r.isWidget()?r.widget instanceof Ru?null:r.coordsInWidget(s,n,!0):r.coordsIn(s,n)}lineAt(e,n){let{tile:r}=this.tile.resolveBlock(e,n);return r.isLine()?r:null}coordsForChar(e){let{tile:n,offset:r}=this.tile.resolveBlock(e,1);if(!n.isLine())return null;function s(i,o){if(i.isComposite())for(let a of i.children){if(a.length>=o){let l=s(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(i.isText()&&o<i.length){let a=at(i.text,o);if(a==o)return null;let l=Go(i.dom,o,a).getClientRects();for(let d=0;d<l.length;d++){let u=l[d];if(d==l.length-1||u.top<u.bottom&&u.left<u.right)return u}}return null}return s(n,r)}measureVisibleLineHeights(e){let n=[],{from:r,to:s}=e,i=this.view.contentDOM.clientWidth,o=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Be.LTR,d=0,u=(h,f,p)=>{for(let m=0;m<h.children.length&&!(f>s);m++){let x=h.children[m],b=f+x.length,y=x.dom.getBoundingClientRect(),{height:k}=y;if(p&&!m&&(d+=y.top-p.top),x instanceof Kr)b>r&&u(x,f,y);else if(f>=r&&(d>0&&n.push(-d),n.push(k+d),d=0,o)){let v=x.dom.lastChild,w=v?jo(v):[];if(w.length){let C=w[w.length-1],j=l?C.right-y.left:y.right-C.left;j>a&&(a=j,this.minWidth=i,this.minWidthFrom=f,this.minWidthTo=b)}}p&&m==h.children.length-1&&(d+=p.bottom-y.bottom),f=b+x.breakAfter}};return u(this.tile,0,null),n}textDirectionAt(e){let{tile:n}=this.tile.resolveBlock(e,1);return getComputedStyle(n.dom).direction=="rtl"?Be.RTL:Be.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let d of o.children){if(!d.isText()||/[^ -~]/.test(d.text))return;let u=jo(d.dom);if(u.length!=1)return;a+=u[0].width,l=u[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let n=document.createElement("div"),r,s,i;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let o=jo(n.firstChild)[0];r=n.getBoundingClientRect().height,s=o&&o.width?o.width/27:7,i=o&&o.height?o.height:r,n.remove()}),{lineHeight:r,charWidth:s,textHeight:i}}computeBlockGapDeco(){let e=[],n=this.view.viewState;for(let r=0,s=0;;s++){let i=s==n.viewports.length?null:n.viewports[s],o=i?i.from-1:this.view.state.doc.length;if(o>r){let a=(n.lineBlockAt(o).bottom-n.lineBlockAt(r).top)/this.view.scaleY;e.push(ve.replace({widget:new Ru(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!i)break;r=i.to+1}return ve.set(e)}updateDeco(){let e=1,n=this.view.state.facet(qo).map(i=>(this.dynamicDecorationMap[e++]=typeof i=="function")?i(this.view):i),r=!1,s=this.view.state.facet(Q1).map((i,o)=>{let a=typeof i=="function";return a&&(r=!0),a?i(this.view):i});for(s.length&&(this.dynamicDecorationMap[e++]=r,n.push(Ne.join(s))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(X1).map(i=>typeof i=="function"?i(this.view):i)}scrollIntoView(e){if(e.isSnapshot){let d=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=d.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let d of this.view.state.facet(G1))try{if(d(this.view,e.range,e))return!0}catch(u){Ft(this.view.state,u,"scroll handler")}let{range:n}=e,r=this.coordsAt(n.head,n.empty?n.assoc:n.head>n.anchor?-1:1),s;if(!r)return;!n.empty&&(s=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(r={left:Math.min(r.left,s.left),top:Math.min(r.top,s.top),right:Math.max(r.right,s.right),bottom:Math.max(r.bottom,s.bottom)});let i=$p(this.view),o={left:r.left-i.left,top:r.top-i.top,right:r.right+i.right,bottom:r.bottom+i.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;lP(this.view.scrollDOM,o,n.head<n.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Be.LTR)}lineHasWidget(e){let n=r=>r.isWidget()||r.children.some(n);return n(this.tile.resolveBlock(e,1).tile)}destroy(){vf(this.tile)}}function vf(t,e){let n=e?.get(t);if(n!=1){n==null&&t.destroy();for(let r of t.children)vf(r,e)}}function RP(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function tw(t,e){let n=t.observer.selectionRange;if(!n.focusNode)return null;let r=A1(n.focusNode,n.focusOffset),s=T1(n.focusNode,n.focusOffset),i=r||s;if(s&&r&&s.node!=r.node){let a=tt.get(s.node);if(!a||a.isText()&&a.text!=s.node.nodeValue)i=s;else if(t.docView.lastCompositionAfterCursor){let l=tt.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(i=s)}}if(t.docView.lastCompositionAfterCursor=i!=r,!i)return null;let o=e-i.offset;return{from:o,to:o+i.node.nodeValue.length,node:i.node}}function IP(t,e,n){let r=tw(t,n);if(!r)return null;let{node:s,from:i,to:o}=r,a=s.nodeValue;if(/[\n\r]/.test(a)||t.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new pn(l.mapPos(i),l.mapPos(o),i,o),text:s}}function $P(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}let BP=class{constructor(){this.changes=[]}compareRange(e,n){ci(e,n,this.changes)}comparePoint(e,n){ci(e,n,this.changes)}boundChange(e){ci(e,e,this.changes)}};function _P(t,e,n){let r=new BP;return Ne.compare(t,e,n,r),r.changes}class FP{constructor(){this.changes=[]}compareRange(e,n){ci(e,n,this.changes)}comparePoint(){}boundChange(e){ci(e,e,this.changes)}}function zP(t,e,n){let r=new FP;return Ne.compare(t,e,n,r),r.changes}function HP(t,e){for(let n=t;n&&n!=e;n=n.assignedSlot||n.parentNode)if(n.nodeType==1&&n.contentEditable=="false")return!0;return!1}function VP(t,e){let n=!1;return e&&t.iterChangedRanges((r,s)=>{r<e.to&&s>e.from&&(n=!0)}),n}class Ru extends ar{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function WP(t,e,n=1){let r=t.charCategorizer(e),s=t.doc.lineAt(e),i=e-s.from;if(s.length==0)return G.cursor(e);i==0?n=1:i==s.length&&(n=-1);let o=i,a=i;n<0?o=at(s.text,i,!1):a=at(s.text,i);let l=r(s.text.slice(o,a));for(;o>0;){let d=at(s.text,o,!1);if(r(s.text.slice(d,o))!=l)break;o=d}for(;a<s.length;){let d=at(s.text,a);if(r(s.text.slice(a,d))!=l)break;a=d}return G.range(o+s.from,a+s.from)}function KP(t,e,n,r,s){let i=Math.round((r-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&n.height>t.defaultLineHeight*1.5){let a=t.viewState.heightOracle.textHeight,l=Math.floor((s-n.top-(t.defaultLineHeight-a)*.5)/a);i+=l*t.viewState.heightOracle.lineLength}let o=t.state.sliceDoc(n.from,n.to);return n.from+lf(o,i,t.state.tabSize)}function wf(t,e,n){let r=t.lineBlockAt(e);if(Array.isArray(r.type)){let s;for(let i of r.type){if(i.from>e)break;if(!(i.to<e)){if(i.from<e&&i.to>e)return i;(!s||i.type==wt.Text&&(s.type!=i.type||(n<0?i.from<e:i.to>e)))&&(s=i)}}return s||r}return r}function UP(t,e,n,r){let s=wf(t,e.head,e.assoc||-1),i=!r||s.type!=wt.Text||!(t.lineWrapping||s.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(i){let o=t.dom.getBoundingClientRect(),a=t.textDirectionAt(s.from),l=t.posAtCoords({x:n==(a==Be.LTR)?o.right-1:o.left+1,y:(i.top+i.bottom)/2});if(l!=null)return G.cursor(l,n?-1:1)}return G.cursor(n?s.to:s.from,n?-1:1)}function s0(t,e,n,r){let s=t.state.doc.lineAt(e.head),i=t.bidiSpans(s),o=t.textDirectionAt(s.from);for(let a=e,l=null;;){let d=vP(s,i,o,a,n),u=B1;if(!d){if(s.number==(n?t.state.doc.lines:1))return a;u=`
239
+ `,s=t.state.doc.line(s.number+(n?1:-1)),i=t.bidiSpans(s),d=t.visualLineSide(s,!n)}if(l){if(!l(u))return a}else{if(!r)return d;l=r(u)}a=d}}function GP(t,e,n){let r=t.state.charCategorizer(e),s=r(n);return i=>{let o=r(i);return s==ze.Space&&(s=o),s==o}}function qP(t,e,n,r){let s=e.head,i=n?1:-1;if(s==(n?t.state.doc.length:0))return G.cursor(s,e.assoc);let o=e.goalColumn,a,l=t.contentDOM.getBoundingClientRect(),d=t.coordsAtPos(s,e.assoc||-1),u=t.documentTop;if(d)o==null&&(o=d.left-l.left),a=i<0?d.top:d.bottom;else{let p=t.viewState.lineBlockAt(s);o==null&&(o=Math.min(l.right-l.left,t.defaultCharacterWidth*(s-p.from))),a=(i<0?p.top:p.bottom)+u}let h=l.left+o,f=r??t.viewState.heightOracle.textHeight>>1;for(let p=0;;p+=10){let m=a+(f+p)*i,x=kf(t,{x:h,y:m},!1,i);return G.cursor(x.pos,x.assoc,void 0,o)}}function Po(t,e,n){for(;;){let r=0;for(let s of t)s.between(e-1,e+1,(i,o,a)=>{if(e>i&&e<o){let l=r||n||(e-i<o-e?-1:1);e=l<0?i:o,r=l}});if(!r)return e}}function nw(t,e){let n=null;for(let r=0;r<e.ranges.length;r++){let s=e.ranges[r],i=null;if(s.empty){let o=Po(t,s.from,0);o!=s.from&&(i=G.cursor(o,-1))}else{let o=Po(t,s.from,-1),a=Po(t,s.to,1);(o!=s.from||a!=s.to)&&(i=G.range(s.from==s.anchor?o:a,s.from==s.head?o:a))}i&&(n||(n=e.ranges.slice()),n[r]=i)}return n?G.create(n,e.mainIndex):e}function Iu(t,e,n){let r=Po(t.state.facet(ol).map(s=>s(t)),n.from,e.head>n.from?-1:1);return r==n.from?n:G.cursor(r,r<n.from?1:-1)}class Qn{constructor(e,n){this.pos=e,this.assoc=n}}function kf(t,e,n,r){let s=t.contentDOM.getBoundingClientRect(),i=s.top+t.viewState.paddingTop,{x:o,y:a}=e,l=a-i,d;for(;;){if(l<0)return new Qn(0,1);if(l>t.viewState.docHeight)return new Qn(t.state.doc.length,-1);if(d=t.elementAtHeight(l),r==null)break;if(d.type==wt.Text){let f=t.docView.coordsAt(r<0?d.from:d.to,r);if(f&&(r<0?f.top<=l+i:f.bottom>=l+i))break}let h=t.viewState.heightOracle.textHeight/2;l=r>0?d.bottom+h:d.top-h}if(t.viewport.from>=d.to||t.viewport.to<=d.from){if(n)return null;if(d.type==wt.Text){let h=KP(t,s,d,o,a);return new Qn(h,h==d.from?1:-1)}}if(d.type!=wt.Text)return l<(d.top+d.bottom)/2?new Qn(d.from,1):new Qn(d.to,-1);let u=t.docView.lineAt(d.from,2);return(!u||u.length!=d.length)&&(u=t.docView.lineAt(d.from,-2)),rw(t,u,d.from,o,a)}function rw(t,e,n,r,s){let i=-1,o=null,a=1e9,l=1e9,d=s,u=s,h=(f,p)=>{for(let m=0;m<f.length;m++){let x=f[m];if(x.top==x.bottom)continue;let b=x.left>r?x.left-r:x.right<r?r-x.right:0,y=x.top>s?x.top-s:x.bottom<s?s-x.bottom:0;x.top<=u&&x.bottom>=d&&(d=Math.min(x.top,d),u=Math.max(x.bottom,u),y=0),(i<0||(y-l||b-a)<0)&&(i>=0&&l&&a<b&&o.top<=u-2&&o.bottom>=d+2?l=0:(i=p,a=b,l=y,o=x))}};if(e.isText()){for(let p=0;p<e.length;){let m=at(e.text,p);if(h(Go(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(o.left+o.right)/2==(i0(t,i+n)==Be.LTR)?new Qn(n+at(e.text,i),-1):new Qn(n+i,1)}else{if(!e.length)return new Qn(n,1);for(let x=0;x<e.children.length;x++){let b=e.children[x];if(b.flags&48)continue;let y=(b.dom.nodeType==1?b.dom:Go(b.dom,0,b.length)).getClientRects();if(h(y,x),!a&&!l)break}let f=e.children[i],p=e.posBefore(f,n);return f.isComposite()||f.isText()?rw(t,f,p,Math.max(o.left,Math.min(o.right,r)),s):r>(o.left+o.right)/2==(i0(t,i+n)==Be.LTR)?new Qn(p+f.length,-1):new Qn(p,1)}}function i0(t,e){let n=t.state.doc.lineAt(e);return t.bidiSpans(n)[yr.find(t.bidiSpans(n),e-n.from,-1,1)].dir}const go="￿";class YP{constructor(e,n){this.points=e,this.view=n,this.text="",this.lineSeparator=n.state.facet(Oe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=go}readRange(e,n){if(!e)return this;let r=e.parentNode;for(let s=e;;){this.findPointBefore(r,s);let i=this.text.length;this.readNode(s);let o=tt.get(s),a=s.nextSibling;if(a==n){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=tt.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:Uc(s))||Uc(a)&&(s.nodeName!="BR"||o?.isWidget())&&this.text.length>i)&&!QP(a,n)&&this.lineBreak(),s=a}return this.findPointBefore(r,n),this}readTextNode(e){let n=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,n.length));for(let r=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,o=1,a;if(this.lineSeparator?(i=n.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=s.exec(n))&&(i=a.index,o=a[0].length),this.append(n.slice(r,i<0?n.length:i)),i<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);r=i+o}}readNode(e){let n=tt.get(e),r=n&&n.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let s=r.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,n){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==n&&(r.pos=this.text.length)}findPointInside(e,n){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(XP(e,r.node,r.offset)?n:0))}}function XP(t,e,n){for(;;){if(!e||n<kr(e))return!1;if(e==t)return!0;n=Jr(e)+1,e=e.parentNode}}function QP(t,e){let n;for(;!(t==e||!t);t=t.nextSibling){let r=tt.get(t);if(!r?.isWidget())return!1;r&&(n||(n=[])).push(r)}if(n)for(let r of n){let s=r.overrideDOMText;if(s?.length)return!1}return!0}class o0{constructor(e,n){this.node=e,this.offset=n,this.pos=-1}}class JP{constructor(e,n,r,s){this.typeOver=s,this.bounds=null,this.text="",this.domChanged=n>-1;let{impreciseHead:i,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=sw(e.docView.tile,n,r,0))){let a=i||o?[]:eE(e),l=new YP(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=tE(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=i&&i.node==a.focusNode&&i.offset==a.focusOffset||!mf(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),d=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!mf(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((ce.ios||ce.chrome)&&e.state.selection.main.empty&&l!=d&&(u.from>0||u.to<e.state.doc.length)){let h=Math.min(l,d),f=Math.max(l,d),p=u.from-h,m=u.to-f;(p==0||p==1||h==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,d=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(G.range(d,l)):this.newSel=G.single(d,l)}}}function sw(t,e,n,r){if(t.isComposite()){let s=-1,i=-1,o=-1,a=-1;for(let l=0,d=r,u=r;l<t.children.length;l++){let h=t.children[l],f=d+h.length;if(d<e&&f>n)return sw(h,e,n,d);if(f>=e&&s==-1&&(s=l,i=d),d>n&&h.dom.parentNode==t.dom){o=l,a=u;break}u=f,d=f+h.breakAfter}return{from:i,to:a<0?r+t.length:a,startDOM:(s?t.children[s-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:o<t.children.length&&o>=0?t.children[o].dom:null}}else return t.isText()?{from:r,to:r+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function iw(t,e){let n,{newSel:r}=e,s=t.state.selection.main,i=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=s.from,d=null;(i===8||ce.android&&e.text.length<a-o)&&(l=s.to,d="end");let u=ow(t.state.doc.sliceString(o,a,go),e.text,l-o,d);u&&(ce.chrome&&i==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==go+go&&u.toB--,n={from:o+u.from,to:o+u.toA,insert:Te.of(e.text.slice(u.from,u.toB).split(go))})}else r&&(!t.hasFocus&&t.state.facet(br)||r.main.eq(s))&&(r=null);if(!n&&!r)return!1;if(!n&&e.typeOver&&!s.empty&&r&&r.main.empty?n={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,s.to)}:(ce.mac||ce.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\. ?$/.test(n.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(r&&n.insert.length==2&&(r=G.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:Te.of([n.insert.toString().replace("."," ")])}):n&&n.from>=s.from&&n.to<=s.to&&(n.from!=s.from||n.to!=s.to)&&s.to-s.from-(n.to-n.from)<=4?n={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,s.to))}:t.state.doc.lineAt(s.from).to<s.to&&t.docView.lineHasWidget(s.to)&&t.inputState.insertingTextAt>Date.now()-50?n={from:s.from,to:s.to,insert:t.state.toText(t.inputState.insertingText)}:ce.chrome&&n&&n.from==n.to&&n.from==s.head&&n.insert.toString()==`
240
+ `&&t.lineWrapping&&(r&&(r=G.single(r.main.anchor-1,r.main.head-1)),n={from:s.from,to:s.to,insert:Te.of([" "])}),n)return Bp(t,n,r,i);if(r&&!r.main.eq(s)){let o=!1,a="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(o=!0),a=t.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=nw(t.state.facet(ol).map(l=>l(t)),r))),t.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function Bp(t,e,n,r=-1){if(ce.ios&&t.inputState.flushIOSKey(e))return!0;let s=t.state.selection.main;if(ce.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&t.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&di(t.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>s.head)&&di(t.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&di(t.contentDOM,"Delete",46)))return!0;let i=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let o,a=()=>o||(o=ZP(t,e,n));return t.state.facet(V1).some(l=>l(t,e.from,e.to,i,a))||t.dispatch(a()),!0}function ZP(t,e,n){let r,s=t.state,i=s.selection.main,o=-1;if(e.from==e.to&&e.from<i.from||e.from>i.to){let l=e.from<i.from?-1:1,d=l<0?i.from:i.to,u=Po(s.facet(ol).map(h=>h(t)),d,l);e.from==u&&(o=u)}if(o>-1)r={changes:e,selection:G.cursor(e.from+e.insert.length,-1)};else if(e.from>=i.from&&e.to<=i.to&&e.to-e.from>=(i.to-i.from)/3&&(!n||n.main.empty&&n.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=i.from<e.from?s.sliceDoc(i.from,e.from):"",d=i.to>e.to?s.sliceDoc(e.to,i.to):"";r=s.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+d))}else{let l=s.changes(e),d=n&&n.main.to<=l.newLength?n.main:void 0;if(s.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=i.to+10&&e.to>=i.to-10){let u=t.state.sliceDoc(e.from,e.to),h,f=n&&tw(t,n.main.head);if(f){let m=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-m}}else h=t.state.doc.lineAt(i.head);let p=i.to-e.to;r=s.changeByRange(m=>{if(m.from==i.from&&m.to==i.to)return{changes:l,range:d||m.map(l)};let x=m.to-p,b=x-u.length;if(t.state.sliceDoc(b,x)!=u||x>=h.from&&b<=h.to)return{range:m};let y=s.changes({from:b,to:x,insert:e.insert}),k=m.to-i.to;return{changes:y,range:d?G.range(Math.max(0,d.anchor+k),Math.max(0,d.head+k)):m.map(y)}})}else r={changes:l,selection:d&&s.selection.replaceRange(d)}}let a="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,a+=".compose",t.inputState.compositionFirstChange&&(a+=".start",t.inputState.compositionFirstChange=!1)),s.update(r,{userEvent:a,scrollIntoView:!0})}function ow(t,e,n,r){let s=Math.min(t.length,e.length),i=0;for(;i<s&&t.charCodeAt(i)==e.charCodeAt(i);)i++;if(i==s&&t.length==e.length)return null;let o=t.length,a=e.length;for(;o>0&&a>0&&t.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,i-Math.min(o,a));n-=o+l-i}if(o<i&&t.length<e.length){let l=n<=i&&n>=o?i-n:0;i-=l,a=i+(a-o),o=i}else if(a<i){let l=n<=i&&n>=a?i-n:0;i-=l,o=i+(o-a),a=i}return{from:i,toA:o,toB:a}}function eE(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:r,focusNode:s,focusOffset:i}=t.observer.selectionRange;return n&&(e.push(new o0(n,r)),(s!=n||i!=r)&&e.push(new o0(s,i))),e}function tE(t,e){if(t.length==0)return null;let n=t[0].pos,r=t.length==2?t[1].pos:n;return n>-1&&r>-1?G.single(n+e,r+e):null}class nE{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ce.safari&&e.contentDOM.addEventListener("input",()=>null),ce.gecko&&xE(e.contentDOM.ownerDocument)}handleEvent(e){!dE(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,n){let r=this.handlers[e];if(r){for(let s of r.observers)s(this.view,n);for(let s of r.handlers){if(n.defaultPrevented)break;if(s(this.view,n)){n.preventDefault();break}}}}ensureHandlers(e){let n=rE(e),r=this.handlers,s=this.view.contentDOM;for(let i in n)if(i!="scroll"){let o=!n[i].handlers.length,a=r[i];a&&o!=!a.handlers.length&&(s.removeEventListener(i,this.handleEvent),a=null),a||s.addEventListener(i,this.handleEvent,{passive:o})}for(let i in r)i!="scroll"&&!n[i]&&s.removeEventListener(i,this.handleEvent);this.handlers=n}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&lw.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ce.android&&ce.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let n;return ce.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((n=aw.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||sE.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=n||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,di(this.view.contentDOM,n.key,n.keyCode,n instanceof KeyboardEvent?n:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:ce.safari&&!ce.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function a0(t,e){return(n,r)=>{try{return e.call(t,r,n)}catch(s){Ft(n.state,s)}}}function rE(t){let e=Object.create(null);function n(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let s=r.spec,i=s&&s.plugin.domEventHandlers,o=s&&s.plugin.domEventObservers;if(i)for(let a in i){let l=i[a];l&&n(a).handlers.push(a0(r.value,l))}if(o)for(let a in o){let l=o[a];l&&n(a).observers.push(a0(r.value,l))}}for(let r in Tn)n(r).handlers.push(Tn[r]);for(let r in vn)n(r).observers.push(vn[r]);return e}const aw=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],sE="dthko",lw=[16,17,18,20,91,92,224,225],Hl=6;function Vl(t){return Math.max(0,t)*.7+8}function iE(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class oE{constructor(e,n,r,s){this.view=e,this.startEvent=n,this.style=r,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=cP(e.contentDOM),this.atoms=e.state.facet(ol).map(o=>o(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(Oe.allowMultipleSelections)&&aE(e,n),this.dragging=cE(e,n)&&uw(n)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&iE(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,r=0,s=0,i=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:i,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=$p(this.view);e.clientX-l.left<=s+Hl?n=-Vl(s-e.clientX):e.clientX+l.right>=o-Hl&&(n=Vl(e.clientX-o)),e.clientY-l.top<=i+Hl?r=-Vl(i-e.clientY):e.clientY+l.bottom>=a-Hl&&(r=Vl(e.clientY-a)),this.setScrollSpeed(n,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,n){this.scrollSpeed={x:e,y:n},e||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:n}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(e||n)&&this.view.win.scrollBy(e,n),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:n}=this,r=nw(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function aE(t,e){let n=t.state.facet(_1);return n.length?n[0](e):ce.mac?e.metaKey:e.ctrlKey}function lE(t,e){let n=t.state.facet(F1);return n.length?n[0](e):ce.mac?!e.altKey:!e.ctrlKey}function cE(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let r=Ko(t.root);if(!r||r.rangeCount==0)return!0;let s=r.getRangeAt(0).getClientRects();for(let i=0;i<s.length;i++){let o=s[i];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function dE(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target,r;n!=t.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(r=tt.get(n))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Tn=Object.create(null),vn=Object.create(null),cw=ce.ie&&ce.ie_version<15||ce.ios&&ce.webkit_version<604;function uE(t){let e=t.dom.parentNode;if(!e)return;let n=e.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{t.focus(),n.remove(),dw(t,n.value)},50)}function zd(t,e,n){for(let r of t.facet(e))n=r(n,t);return n}function dw(t,e){e=zd(t.state,Lp,e);let{state:n}=t,r,s=1,i=n.toText(e),o=i.lines==n.selection.ranges.length;if(Sf!=null&&n.selection.ranges.every(l=>l.empty)&&Sf==i.toString()){let l=-1;r=n.changeByRange(d=>{let u=n.doc.lineAt(d.from);if(u.from==l)return{range:d};l=u.from;let h=n.toText((o?i.line(s++).text:e)+n.lineBreak);return{changes:{from:u.from,insert:h},range:G.cursor(d.from+h.length)}})}else o?r=n.changeByRange(l=>{let d=i.line(s++);return{changes:{from:l.from,to:l.to,insert:d.text},range:G.cursor(l.from+d.length)}}):r=n.replaceSelection(i);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}vn.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Tn.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);vn.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};vn.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};Tn.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let r of t.state.facet(z1))if(n=r(t,e),n)break;if(!n&&e.button==0&&(n=fE(t,e)),n){let r=!t.hasFocus;t.inputState.startMouseSelection(new oE(t,e,n,r)),r&&t.observer.ignore(()=>{M1(t.contentDOM);let i=t.root.activeElement;i&&!i.contains(t.contentDOM)&&i.blur()});let s=t.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function l0(t,e,n,r){if(r==1)return G.cursor(e,n);if(r==2)return WP(t.state,e,n);{let s=t.docView.lineAt(e,n),i=t.state.doc.lineAt(s?s.posAtEnd:e),o=s?s.posAtStart:i.from,a=s?s.posAtEnd:i.to;return a<t.state.doc.length&&a==i.to&&a++,G.range(o,a)}}const hE=ce.ie&&ce.ie_version<=11;let c0=null,d0=0,u0=0;function uw(t){if(!hE)return t.detail;let e=c0,n=u0;return c0=t,u0=Date.now(),d0=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(d0+1)%3:1}function fE(t,e){let n=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=uw(e),s=t.state.selection;return{update(i){i.docChanged&&(n.pos=i.changes.mapPos(n.pos),s=s.map(i.changes))},get(i,o,a){let l=t.posAndSideAtCoords({x:i.clientX,y:i.clientY},!1),d,u=l0(t,l.pos,l.assoc,r);if(n.pos!=l.pos&&!o){let h=l0(t,n.pos,n.assoc,r),f=Math.min(h.from,u.from),p=Math.max(h.to,u.to);u=f<u.from?G.range(f,p):G.range(p,f)}return o?s.replaceRange(s.main.extend(u.from,u.to)):a&&r==1&&s.ranges.length>1&&(d=pE(s,l.pos))?d:a?s.addRange(u):G.create([u])}}}function pE(t,e){for(let n=0;n<t.ranges.length;n++){let{from:r,to:s}=t.ranges[n];if(r<=e&&s>=e)return G.create(t.ranges.slice(0,n).concat(t.ranges.slice(n+1)),t.mainIndex==n?0:t.mainIndex-(t.mainIndex>n?1:0))}return null}Tn.dragstart=(t,e)=>{let{selection:{main:n}}=t.state;if(e.target.draggable){let s=t.docView.tile.nearest(e.target);if(s&&s.isWidget()){let i=s.posAtStart,o=i+s.length;(i>=n.to||o<=n.from)&&(n=G.range(i,o))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,e.dataTransfer&&(e.dataTransfer.setData("Text",zd(t.state,Rp,t.state.sliceDoc(n.from,n.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Tn.dragend=t=>(t.inputState.draggedContent=null,!1);function h0(t,e,n,r){if(n=zd(t.state,Lp,n),!n)return;let s=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:i}=t.inputState,o=r&&i&&lE(t,e)?{from:i.from,to:i.to}:null,a={from:s,insert:n},l=t.state.changes(o?[o,a]:a);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(s,-1),head:l.mapPos(s,1)},userEvent:o?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Tn.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let n=e.dataTransfer.files;if(n&&n.length){let r=Array(n.length),s=0,i=()=>{++s==n.length&&h0(t,e,r.filter(o=>o!=null).join(t.state.lineBreak),!1)};for(let o=0;o<n.length;o++){let a=new FileReader;a.onerror=i,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),i()},a.readAsText(n[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return h0(t,e,r,!0),!0}return!1};Tn.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let n=cw?null:e.clipboardData;return n?(dw(t,n.getData("text/plain")||n.getData("text/uri-list")),!0):(uE(t),!1)};function mE(t,e){let n=t.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),t.focus()},50)}function gE(t){let e=[],n=[],r=!1;for(let s of t.selection.ranges)s.empty||(e.push(t.sliceDoc(s.from,s.to)),n.push(s));if(!e.length){let s=-1;for(let{from:i}of t.selection.ranges){let o=t.doc.lineAt(i);o.number>s&&(e.push(o.text),n.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),s=o.number}r=!0}return{text:zd(t,Rp,e.join(t.lineBreak)),ranges:n,linewise:r}}let Sf=null;Tn.copy=Tn.cut=(t,e)=>{let{text:n,ranges:r,linewise:s}=gE(t.state);if(!n&&!s)return!1;Sf=s?n:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let i=cw?null:e.clipboardData;return i?(i.clearData(),i.setData("text/plain",n),!0):(mE(t,n),!1)};const hw=ir.define();function fw(t,e){let n=[];for(let r of t.facet(W1)){let s=r(t,e);s&&n.push(s)}return n.length?t.update({effects:n,annotations:hw.of(!0)}):null}function pw(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=fw(t.state,e);n?t.dispatch(n):t.update([])}},10)}vn.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),pw(t)};vn.blur=t=>{t.observer.clearSelectionRange(),pw(t)};vn.compositionstart=vn.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};vn.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,ce.chrome&&ce.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};vn.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};Tn.beforeinput=(t,e)=>{var n,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let i=(n=e.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),o=e.getTargetRanges();if(i&&o.length){let a=o[0],l=t.posAtDOM(a.startContainer,a.startOffset),d=t.posAtDOM(a.endContainer,a.endOffset);return Bp(t,{from:l,to:d,insert:t.state.toText(i)},null),!0}}let s;if(ce.chrome&&ce.android&&(s=aw.find(i=>i.inputType==e.inputType))&&(t.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let i=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>i+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return ce.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),ce.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>vn.compositionend(t,e),20),!1};const f0=new Set;function xE(t){f0.has(t)||(f0.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const p0=["pre-wrap","normal","pre-line","break-spaces"];let ki=!1;function m0(){ki=!1}class bE{constructor(e){this.lineWrapping=e,this.doc=Te.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,n){let r=this.doc.lineAt(n).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((n-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return p0.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let r=0;r<e.length;r++){let s=e[r];s<0?r++:this.heightSamples[Math.floor(s*10)]||(n=!0,this.heightSamples[Math.floor(s*10)]=!0)}return n}refresh(e,n,r,s,i,o){let a=p0.indexOf(e)>-1,l=Math.round(n)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=n,this.charWidth=r,this.textHeight=s,this.lineLength=i,l){this.heightSamples={};for(let d=0;d<o.length;d++){let u=o[d];u<0?d++:this.heightSamples[Math.floor(u*10)]=!0}}return l}}class yE{constructor(e,n){this.from=e,this.heights=n,this.index=0}get more(){return this.index<this.heights.length}}class Pn{constructor(e,n,r,s,i){this.from=e,this.length=n,this.top=r,this.height=s,this._content=i}get type(){return typeof this._content=="number"?wt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Ps?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Pn(this.from,this.length+e.length,this.top,this.height+e.height,n)}}var _e=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(_e||(_e={}));const Pc=.001;class At{constructor(e,n,r=2){this.length=e,this.height=n,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Pc&&(ki=!0),this.height=e)}replace(e,n,r){return At.of(r)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,r,s){let i=this,o=r.doc;for(let a=s.length-1;a>=0;a--){let{fromA:l,toA:d,fromB:u,toB:h}=s[a],f=i.lineAt(l,_e.ByPosNoHeight,r.setDoc(n),0,0),p=f.to>=d?f:i.lineAt(d,_e.ByPosNoHeight,r,0,0);for(h+=p.to-d,d=p.to;a>0&&f.from<=s[a-1].toA;)l=s[a-1].fromA,u=s[a-1].fromB,a--,l<f.from&&(f=i.lineAt(l,_e.ByPosNoHeight,r,0,0));u+=f.from-l,l=f.from;let m=_p.build(r.setDoc(o),e,u,h);i=Xc(i,i.replace(l,d,m))}return i.updateHeight(r,0)}static empty(){return new qt(0,0,0)}static of(e){if(e.length==1)return e[0];let n=0,r=e.length,s=0,i=0;for(;;)if(n==r)if(s>i*2){let a=e[n-1];a.break?e.splice(--n,1,a.left,null,a.right):e.splice(--n,1,a.left,a.right),r+=1+a.break,s-=a.size}else if(i>s*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,i-=a.size}else break;else if(s<i){let a=e[n++];a&&(s+=a.size)}else{let a=e[--r];a&&(i+=a.size)}let o=0;return e[n-1]==null?(o=1,n--):e[n]==null&&(o=1,r++),new wE(At.of(e.slice(0,n)),o,At.of(e.slice(r)))}}function Xc(t,e){return t==e?t:(t.constructor!=e.constructor&&(ki=!0),e)}At.prototype.size=1;const vE=ve.replace({});class mw extends At{constructor(e,n,r){super(e,n),this.deco=r,this.spaceAbove=0}mainBlock(e,n){return new Pn(n,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,n,r,s){return this.spaceAbove&&e<r+this.spaceAbove?new Pn(s,0,r,this.spaceAbove,vE):this.mainBlock(r,s)}lineAt(e,n,r,s,i){let o=this.mainBlock(s,i);return this.spaceAbove?this.blockAt(0,r,s,i).join(o):o}forEachLine(e,n,r,s,i,o){e<=i+this.length&&n>=i&&o(this.lineAt(0,_e.ByPos,r,s,i))}setMeasuredHeight(e){let n=e.heights[e.index++];n<0?(this.spaceAbove=-n,n=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(e,n=0,r=!1,s){return s&&s.from<=n&&s.more&&this.setMeasuredHeight(s),this.outdated=!1,this}toString(){return`block(${this.length})`}}class qt extends mw{constructor(e,n,r){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,n){return new Pn(n,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,n,r){let s=r[0];return r.length==1&&(s instanceof qt||s instanceof yt&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof yt?s=new qt(s.length,this.height,this.spaceAbove):s.height=this.height,this.outdated||(s.outdated=!1),s):At.of(r)}updateHeight(e,n=0,r=!1,s){return s&&s.from<=n&&s.more?this.setMeasuredHeight(s):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class yt extends At{constructor(e){super(e,0)}heightMetrics(e,n){let r=e.doc.lineAt(n).number,s=e.doc.lineAt(n+this.length).number,i=s-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*i);o=l/i,this.length>i+1&&(a=(this.height-l)/(this.length-i-1))}else o=this.height/i;return{firstLine:r,lastLine:s,perLine:o,perChar:a}}blockAt(e,n,r,s){let{firstLine:i,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(n,s);if(n.lineWrapping){let d=s+(e<n.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),u=n.doc.lineAt(d),h=a+u.length*l,f=Math.max(r,e-h/2);return new Pn(u.from,u.length,f,h,0)}else{let d=Math.max(0,Math.min(o-i,Math.floor((e-r)/a))),{from:u,length:h}=n.doc.line(i+d);return new Pn(u,h,r+a*d,a,0)}}lineAt(e,n,r,s,i){if(n==_e.ByHeight)return this.blockAt(e,r,s,i);if(n==_e.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new Pn(p,m-p,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(r,i),d=r.doc.lineAt(e),u=a+d.length*l,h=d.number-o,f=s+a*h+l*(d.from-i-h);return new Pn(d.from,d.length,Math.max(s,Math.min(f,s+this.height-u)),u,0)}forEachLine(e,n,r,s,i,o){e=Math.max(e,i),n=Math.min(n,i+this.length);let{firstLine:a,perLine:l,perChar:d}=this.heightMetrics(r,i);for(let u=e,h=s;u<=n;){let f=r.doc.lineAt(u);if(u==e){let m=f.number-a;h+=l*m+d*(e-i-m)}let p=l+d*f.length;o(new Pn(f.from,f.length,h,p,0)),h+=p,u=f.to+1}}replace(e,n,r){let s=this.length-n;if(s>0){let i=r[r.length-1];i instanceof yt?r[r.length-1]=new yt(i.length+s):r.push(null,new yt(s-1))}if(e>0){let i=r[0];i instanceof yt?r[0]=new yt(e+i.length):r.unshift(new yt(e-1),null)}return At.of(r)}decomposeLeft(e,n){n.push(new yt(e-1),null)}decomposeRight(e,n){n.push(null,new yt(this.length-e-1))}updateHeight(e,n=0,r=!1,s){let i=n+this.length;if(s&&s.from<=n+this.length&&s.more){let o=[],a=Math.max(n,s.from),l=-1;for(s.from>n&&o.push(new yt(s.from-n-1).updateHeight(e,n));a<=i&&s.more;){let u=e.doc.lineAt(a).length;o.length&&o.push(null);let h=s.heights[s.index++],f=0;h<0&&(f=-h,h=s.heights[s.index++]),l==-1?l=h:Math.abs(h-l)>=Pc&&(l=-2);let p=new qt(u,h,f);p.outdated=!1,o.push(p),a+=u+1}a<=i&&o.push(null,new yt(i-a).updateHeight(e,a));let d=At.of(o);return(l<0||Math.abs(d.height-this.height)>=Pc||Math.abs(l-this.heightMetrics(e,n).perLine)>=Pc)&&(ki=!0),Xc(this,d)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class wE extends At{constructor(e,n,r){super(e.length+n+r.length,e.height+r.height,n|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,n,r,s){let i=r+this.left.height;return e<i?this.left.blockAt(e,n,r,s):this.right.blockAt(e,n,i,s+this.left.length+this.break)}lineAt(e,n,r,s,i){let o=s+this.left.height,a=i+this.left.length+this.break,l=n==_e.ByHeight?e<o:e<a,d=l?this.left.lineAt(e,n,r,s,i):this.right.lineAt(e,n,r,o,a);if(this.break||(l?d.to<a:d.from>a))return d;let u=n==_e.ByPosNoHeight?_e.ByPosNoHeight:_e.ByPos;return l?d.join(this.right.lineAt(a,u,r,o,a)):this.left.lineAt(a,u,r,s,i).join(d)}forEachLine(e,n,r,s,i,o){let a=s+this.left.height,l=i+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,n,r,s,i,o),n>=l&&this.right.forEachLine(e,n,r,a,l,o);else{let d=this.lineAt(l,_e.ByPos,r,s,i);e<d.from&&this.left.forEachLine(e,d.from-1,r,s,i,o),d.to>=e&&d.from<=n&&o(d),n>d.to&&this.right.forEachLine(d.to+1,n,r,a,l,o)}}replace(e,n,r){let s=this.left.length+this.break;if(n<s)return this.balanced(this.left.replace(e,n,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-s,n-s,r));let i=[];e>0&&this.decomposeLeft(e,i);let o=i.length;for(let a of r)i.push(a);if(e>0&&g0(i,o-1),n<this.length){let a=i.length;this.decomposeRight(n,i),g0(i,a)}return At.of(i)}decomposeLeft(e,n){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,n);n.push(this.left),this.break&&(r++,e>=r&&n.push(null)),e>r&&this.right.decomposeLeft(e-r,n)}decomposeRight(e,n){let r=this.left.length,s=r+this.break;if(e>=s)return this.right.decomposeRight(e-s,n);e<r&&this.left.decomposeRight(e,n),this.break&&e<s&&n.push(null),n.push(this.right)}balanced(e,n){return e.size>2*n.size||n.size>2*e.size?At.of(this.break?[e,null,n]:[e,n]):(this.left=Xc(this.left,e),this.right=Xc(this.right,n),this.setHeight(e.height+n.height),this.outdated=e.outdated||n.outdated,this.size=e.size+n.size,this.length=e.length+this.break+n.length,this)}updateHeight(e,n=0,r=!1,s){let{left:i,right:o}=this,a=n+i.length+this.break,l=null;return s&&s.from<=n+i.length&&s.more?l=i=i.updateHeight(e,n,r,s):i.updateHeight(e,n,r),s&&s.from<=a+o.length&&s.more?l=o=o.updateHeight(e,a,r,s):o.updateHeight(e,a,r),l?this.balanced(i,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function g0(t,e){let n,r;t[e]==null&&(n=t[e-1])instanceof yt&&(r=t[e+1])instanceof yt&&t.splice(e-1,3,new yt(n.length+1+r.length))}const kE=5;class _p{constructor(e,n){this.pos=e,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,n){if(this.lineStart>-1){let r=Math.min(n,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof qt?s.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new qt(r-this.pos,-1,0)),this.writtenTo=r,n>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,r){if(e<n||r.heightRelevant){let s=r.widget?r.widget.estimatedHeight:0,i=r.widget?r.widget.lineBreaks:0;s<0&&(s=this.oracle.lineHeight);let o=n-e;r.block?this.addBlock(new mw(o,s,r)):(o||i||s>=kE)&&this.addLineDeco(s,i,o)}else n>e&&this.span(e,n);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new qt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,n){let r=new yt(n-e);return this.oracle.doc.lineAt(e).to==n&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof qt)return e;let n=new qt(0,-1,0);return this.nodes.push(n),n}addBlock(e){this.enterLine();let n=e.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n&&n.endSide>0&&(this.covering=e)}addLineDeco(e,n,r){let s=this.ensureLine();s.length+=r,s.collapsed+=r,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=n,this.writtenTo=this.pos=this.pos+r}finish(e){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof qt)&&!this.isCovered?this.nodes.push(new qt(0,-1,0)):(this.writtenTo<this.pos||n==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let s of this.nodes)s instanceof qt&&s.updateHeight(this.oracle,r),r+=s?s.length:1;return this.nodes}static build(e,n,r,s){let i=new _p(r,e);return Ne.spans(n,r,s,i,0),i.finish(r)}}function SE(t,e,n){let r=new CE;return Ne.compare(t,e,n,r,0),r.changes}class CE{constructor(){this.changes=[]}compareRange(){}comparePoint(e,n,r,s){(e<n||r&&r.heightRelevant||s&&s.heightRelevant)&&ci(e,n,this.changes,5)}}function jE(t,e){let n=t.getBoundingClientRect(),r=t.ownerDocument,s=r.defaultView||window,i=Math.max(0,n.left),o=Math.min(s.innerWidth,n.right),a=Math.max(0,n.top),l=Math.min(s.innerHeight,n.bottom);for(let d=t.parentNode;d&&d!=r.body;)if(d.nodeType==1){let u=d,h=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&h.overflow!="visible"){let f=u.getBoundingClientRect();i=Math.max(i,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),l=Math.min(d==t.parentNode?s.innerHeight:l,f.bottom)}d=h.position=="absolute"||h.position=="fixed"?u.offsetParent:u.parentNode}else if(d.nodeType==11)d=d.host;else break;return{left:i-n.left,right:Math.max(i,o)-n.left,top:a-(n.top+e),bottom:Math.max(a,l)-(n.top+e)}}function NE(t){let e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView||window;return e.left<n.innerWidth&&e.right>0&&e.top<n.innerHeight&&e.bottom>0}function PE(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}class $u{constructor(e,n,r,s){this.from=e,this.to=n,this.size=r,this.displaySize=s}static same(e,n){if(e.length!=n.length)return!1;for(let r=0;r<e.length;r++){let s=e[r],i=n[r];if(s.from!=i.from||s.to!=i.to||s.size!=i.size)return!1}return!0}draw(e,n){return ve.replace({widget:new EE(this.displaySize*(n?e.scaleY:e.scaleX),n)}).range(this.from,this.to)}}class EE extends ar{constructor(e,n){super(),this.size=e,this.vertical=n}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class x0{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=b0,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Be.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=e.facet(Ip).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new bE(n),this.stateDeco=e.facet(qo).filter(r=>typeof r!="function"),this.heightMap=At.empty().applyChanges(this.stateDeco,Te.empty,this.heightOracle.setDoc(e.doc),[new pn(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ve.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let r=0;r<=1;r++){let s=r?n.head:n.anchor;if(!e.some(({from:i,to:o})=>s>=i&&s<=o)){let{from:i,to:o}=this.lineBlockAt(s);e.push(new Wl(i,o))}}return this.viewports=e.sort((r,s)=>r.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?b0:new Fp(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(xo(e,this.scaler))})}update(e,n=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(qo).filter(u=>typeof u!="function");let s=e.changedRanges,i=pn.extendWithRanges(s,SE(r,this.stateDeco,e?e.changes:it.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);m0(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=o||ki)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.head<l.from||n.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,n));let d=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(d||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(U1)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,r=window.getComputedStyle(n),s=this.heightOracle,i=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Be.RTL:Be.LTR;let o=this.heightOracle.mustRefreshForWrapping(i),a=n.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let d=0,u=0;if(a.width&&a.height){let{scaleX:w,scaleY:C}=O1(n,a);(w>.005&&Math.abs(this.scaleX-w)>.005||C>.005&&Math.abs(this.scaleY-C)>.005)&&(this.scaleX=w,this.scaleY=C,d|=16,o=l=!0)}let h=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,d|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,d|=16);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=D1(e.scrollDOM);let m=(this.printing?PE:jE)(n,this.paddingTop),x=m.top-this.pixelViewport.top,b=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(l=!0)),!this.inView&&!this.scrollTarget&&!NE(e.dom))return 0;let k=a.width;if((this.contentDOMWidth!=k||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,d|=16),l){let w=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(w)&&(o=!0),o||s.lineWrapping&&Math.abs(k-this.contentDOMWidth)>s.charWidth){let{lineHeight:C,charWidth:j,textHeight:S}=e.docView.measureTextSize();o=C>0&&s.refresh(i,C,j,S,Math.max(5,k/j),w),o&&(e.docView.minWidth=0,d|=16)}x>0&&b>0?u=Math.max(x,b):x<0&&b<0&&(u=Math.min(x,b)),m0();for(let C of this.viewports){let j=C.from==this.viewport.from?w:e.docView.measureVisibleLineHeights(C);this.heightMap=(o?At.empty().applyChanges(this.stateDeco,Te.empty,this.heightOracle,[new pn(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new yE(C.from,j))}ki&&(d|=2)}let v=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return v&&(d&2&&(d|=this.updateScaler()),this.viewport=this.getViewport(u,this.scrollTarget),d|=this.updateForViewport()),(d&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),d|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),d}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,n){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,i=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new Wl(s.lineAt(o-r*1e3,_e.ByHeight,i,0,0).from,s.lineAt(a+(1-r)*1e3,_e.ByHeight,i,0,0).to);if(n){let{head:d}=n.range;if(d<l.from||d>l.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=s.lineAt(d,_e.ByPos,i,0,0),f;n.y=="center"?f=(h.top+h.bottom)/2-u/2:n.y=="start"||n.y=="nearest"&&d<l.from?f=h.top:f=h.bottom-u,l=new Wl(s.lineAt(f-1e3/2,_e.ByHeight,i,0,0).from,s.lineAt(f+u+1e3/2,_e.ByHeight,i,0,0).to)}}return l}mapViewport(e,n){let r=n.mapPos(e.from,-1),s=n.mapPos(e.to,1);return new Wl(this.heightMap.lineAt(r,_e.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(s,_e.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:n},r=0){if(!this.inView)return!0;let{top:s}=this.heightMap.lineAt(e,_e.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(n,_e.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||s<=o-Math.max(10,Math.min(-r,250)))&&(n==this.state.doc.length||i>=a+Math.max(10,Math.min(r,250)))&&s>o-2*1e3&&i<a+2*1e3}mapLineGaps(e,n){if(!e.length||n.empty)return e;let r=[];for(let s of e)n.touchesRange(s.from,s.to)||r.push(new $u(n.mapPos(s.from),n.mapPos(s.to),s.size,s.displaySize));return r}ensureLineGaps(e,n){let r=this.heightOracle.lineWrapping,s=r?1e4:2e3,i=s>>1,o=s<<1;if(this.defaultTextDirection!=Be.LTR&&!r)return[];let a=[],l=(u,h,f,p)=>{if(h-u<i)return;let m=this.state.selection.main,x=[m.from];m.empty||x.push(m.to);for(let y of x)if(y>u&&y<h){l(u,y-10,f,p),l(y+10,h,f,p);return}let b=ME(e,y=>y.from>=f.from&&y.to<=f.to&&Math.abs(y.from-u)<i&&Math.abs(y.to-h)<i&&!x.some(k=>y.from<k&&y.to>k));if(!b){if(h<f.to&&n&&r&&n.visibleRanges.some(v=>v.from<=h&&v.to>=h)){let v=n.moveToLineBoundary(G.cursor(h),!1,!0).head;v>u&&(h=v)}let y=this.gapSize(f,u,h,p),k=r||y<2e6?y:2e6;b=new $u(u,h,y,k)}a.push(b)},d=u=>{if(u.length<o||u.type!=wt.Text)return;let h=OE(u.from,u.to,this.stateDeco);if(h.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,p,m;if(r){let x=s/this.heightOracle.lineLength*this.heightOracle.lineHeight,b,y;if(f!=null){let k=Ul(h,f),v=((this.visibleBottom-this.visibleTop)/2+x)/u.height;b=k-v,y=k+v}else b=(this.visibleTop-u.top-x)/u.height,y=(this.visibleBottom-u.top+x)/u.height;p=Kl(h,b),m=Kl(h,y)}else{let x=h.total*this.heightOracle.charWidth,b=s*this.heightOracle.charWidth,y=0;if(x>2e6)for(let j of e)j.from>=u.from&&j.from<u.to&&j.size!=j.displaySize&&j.from*this.heightOracle.charWidth+y<this.pixelViewport.left&&(y=j.size-j.displaySize);let k=this.pixelViewport.left+y,v=this.pixelViewport.right+y,w,C;if(f!=null){let j=Ul(h,f),S=((v-k)/2+b)/x;w=j-S,C=j+S}else w=(k-b)/x,C=(v+b)/x;p=Kl(h,w),m=Kl(h,C)}p>u.from&&l(u.from,p,u,h),m<u.to&&l(m,u.to,u,h)};for(let u of this.viewportLines)Array.isArray(u.type)?u.type.forEach(d):d(u);return a}gapSize(e,n,r,s){let i=Ul(s,r)-Ul(s,n);return this.heightOracle.lineWrapping?e.height*i:s.total*this.heightOracle.charWidth*i}updateLineGaps(e){$u.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ve.set(e.map(n=>n.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let r=[];Ne.spans(n,this.viewport.from,this.viewport.to,{span(i,o){r.push({from:i,to:o})},point(){}},20);let s=0;if(r.length!=this.visibleRanges.length)s=12;else for(let i=0;i<r.length&&!(s&8);i++){let o=this.visibleRanges[i],a=r[i];(o.from!=a.from||o.to!=a.to)&&(s|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(s|=8))}return this.visibleRanges=r,s}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||xo(this.heightMap.lineAt(e,_e.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=e&&n.bottom>=e)||xo(this.heightMap.lineAt(this.scaler.fromDOM(e),_e.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let n=this.lineBlockAtHeight(e+8);return n.from>=this.viewport.from||this.viewportLines[0].top-e>200?n:this.viewportLines[0]}elementAtHeight(e){return xo(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}let Wl=class{constructor(e,n){this.from=e,this.to=n}};function OE(t,e,n){let r=[],s=t,i=0;return Ne.spans(n,t,e,{span(){},point(o,a){o>s&&(r.push({from:s,to:o}),i+=o-s),s=a}},20),s<e&&(r.push({from:s,to:e}),i+=e-s),{total:i,ranges:r}}function Kl({total:t,ranges:e},n){if(n<=0)return e[0].from;if(n>=1)return e[e.length-1].to;let r=Math.floor(t*n);for(let s=0;;s++){let{from:i,to:o}=e[s],a=o-i;if(r<=a)return i+r;r-=a}}function Ul(t,e){let n=0;for(let{from:r,to:s}of t.ranges){if(e<=s){n+=e-r;break}n+=s-r}return n/t.total}function ME(t,e){for(let n of t)if(e(n))return n}const b0={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};class Fp{constructor(e,n,r){let s=0,i=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let d=n.lineAt(a,_e.ByPos,e,0,0).top,u=n.lineAt(l,_e.ByPos,e,0,0).bottom;return s+=u-d,{from:a,to:l,top:d,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(n.height-s);for(let a of this.viewports)a.domTop=o+(a.top-i)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),i=a.bottom}toDOM(e){for(let n=0,r=0,s=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.top)return s+(e-r)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);r=i.bottom,s=i.domBottom}}fromDOM(e){for(let n=0,r=0,s=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.domTop)return r+(e-s)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);r=i.bottom,s=i.domBottom}}eq(e){return e instanceof Fp?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((n,r)=>n.from==e.viewports[r].from&&n.to==e.viewports[r].to):!1}}function xo(t,e){if(e.scale==1)return t;let n=e.toDOM(t.top),r=e.toDOM(t.bottom);return new Pn(t.from,t.length,n,r-n,Array.isArray(t._content)?t._content.map(s=>xo(s,e)):t._content)}const Gl=de.define({combine:t=>t.join(" ")}),Cf=de.define({combine:t=>t.indexOf(!0)>-1}),jf=Xr.newName(),gw=Xr.newName(),xw=Xr.newName(),bw={"&light":"."+gw,"&dark":"."+xw};function Nf(t,e,n){return new Xr(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,s=>{if(s=="&")return t;if(!n||!n[s])throw new RangeError(`Unsupported selector: ${s}`);return n[s]}):t+" "+r}})}const DE=Nf("."+jf,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},bw),AE={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Bu=ce.ie&&ce.ie_version<=11;class TE{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new dP,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(n=>{for(let r of n)this.queue.push(r);(ce.ie&&ce.ie_version<=11||ce.ios&&e.composing)&&n.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&ce.android&&e.constructor.EDIT_CONTEXT!==!1&&!(ce.chrome&&ce.chrome_version<126)&&(this.editContext=new RE(e),e.state.facet(br)&&(e.contentDOM.editContext=this.editContext.editContext)),Bu&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(n=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((n,r)=>n!=e[r]))){this.gapIntersection.disconnect();for(let n of e)this.gapIntersection.observe(n);this.gaps=e}}onSelectionChange(e){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,s=this.selectionRange;if(r.state.facet(br)?r.root.activeElement!=this.dom:!Nc(this.dom,s))return;let i=s.anchorNode&&r.docView.tile.nearest(s.anchorNode);if(i&&i.isWidget()&&i.widget.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(ce.ie&&ce.ie_version<=11||ce.android&&ce.chrome)&&!r.state.selection.main.empty&&s.focusNode&&No(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=Ko(e.root);if(!n)return!1;let r=ce.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&LE(this.view,n)||n;if(!r||this.selectionRange.eq(r))return!1;let s=Nc(this.dom,r);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&hP(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),s&&(this.selectionChanged=!0),!0)}setSelectionRange(e,n){this.selectionRange.set(e.node,e.offset,n.node,n.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,n=null;for(let r=this.dom;r;)if(r.nodeType==1)!n&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:n||(n=this.scrollTargets.slice(0,e)),n&&n.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!n&&(n=this.scrollTargets.slice(0,e)),n){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=n)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,AE),Bu&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Bu&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,n){var r;if(!this.delayedAndroidKey){let s=()=>{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&di(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let n=-1,r=-1,s=!1;for(let i of e){let o=this.readMutation(i);o&&(o.typeOver&&(s=!0),n==-1?{from:n,to:r}=o:(n=Math.min(o.from,n),r=Math.max(o.to,r)))}return{from:n,to:r,typeOver:s}}readChange(){let{from:e,to:n,typeOver:r}=this.processRecords(),s=this.selectionChanged&&Nc(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new JP(this.view,e,n,r);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let r=this.view.state,s=iw(this.view,n);return this.view.state==r&&(n.domChanged||n.newSel&&!n.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let n=this.view.docView.tile.nearest(e.target);if(!n||n.isWidget())return null;if(n.markDirty(e.type=="attributes"),e.type=="childList"){let r=y0(n,e.previousSibling||e.target.previousSibling,-1),s=y0(n,e.nextSibling||e.target.nextSibling,1);return{from:r?n.posAfter(r):n.posAtStart,to:s?n.posBefore(s):n.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(br)!=e.state.facet(br)&&(e.view.contentDOM.editContext=e.state.facet(br)?this.editContext.editContext:null))}destroy(){var e,n,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function y0(t,e,n){for(;e;){let r=tt.get(e);if(r&&r.parent==t)return r;let s=e.parentNode;e=s!=t.dom?s:n>0?e.nextSibling:e.previousSibling}return null}function v0(t,e){let n=e.startContainer,r=e.startOffset,s=e.endContainer,i=e.endOffset,o=t.docView.domAtPos(t.state.selection.main.anchor,1);return No(o.node,o.offset,s,i)&&([n,r,s,i]=[s,i,n,r]),{anchorNode:n,anchorOffset:r,focusNode:s,focusOffset:i}}function LE(t,e){if(e.getComposedRanges){let s=e.getComposedRanges(t.root)[0];if(s)return v0(t,s)}let n=null;function r(s){s.preventDefault(),s.stopImmediatePropagation(),n=s.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),n?v0(t,n):null}class RE{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let n=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let s=e.state.selection.main,{anchor:i,head:o}=s,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let d=l-a>r.text.length;a==this.from&&i<this.from?a=i:l==this.to&&i>this.to&&(l=i);let u=ow(e.state.sliceDoc(a,l),r.text,(d?s.from:s.to)-a,d?"end":null);if(!u){let f=G.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));f.main.eq(s)||e.dispatch({selection:f,userEvent:"select"});return}let h={from:u.from+a,to:u.toA+a,insert:Te.of(r.text.slice(u.from,u.toB).split(`
241
+ `))};if((ce.mac||ce.android)&&h.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:l,insert:Te.of([r.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);Bp(e,h,G.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(n.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let s=[],i=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);i=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||i||new DOMRect,s.push(i)}n.updateCharacterBounds(r.rangeStart,s)},this.handlers.textformatupdate=r=>{let s=[];for(let i of r.getTextFormats()){let o=i.underlineStyle,a=i.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(i.rangeStart),d=this.toEditorPos(i.rangeEnd);if(l<d){let u=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;s.push(ve.mark({attributes:{style:u}}).range(l,d))}}}e.dispatch({effects:q1.of(ve.set(s))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)n.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let s=Ko(r.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let n=0,r=!1,s=this.pendingContextChange;return e.changes.iterChanges((i,o,a,l,d)=>{if(r)return;let u=d.length-(o-i);if(s&&o>=s.to)if(s.from==i&&s.to==o&&s.insert.eq(d)){s=this.pendingContextChange=null,n+=u,this.to+=u;return}else s=null,this.revertPending(e.state);if(i+=n,o+=n,o<=this.from)this.from+=u,this.to+=u;else if(i<this.to){if(i<this.from||o>this.to||this.to-this.from+d.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(o),d.toString()),this.to+=u}n+=u}),s&&!r&&this.revertPending(e.state),!r}update(e){let n=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||n)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:n}=e.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(e.doc.length,n+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),e.doc.sliceString(n.from,n.to))}setSelection(e){let{main:n}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),s=this.toContextPos(n.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(r,s)}rangeIsValid(e){let{head:n}=e.selection.main;return!(this.from>0&&n-this.from<500||this.to<e.doc.length&&this.to-n<500||this.to-this.from>1e4*3)}toEditorPos(e,n=this.to-this.from){e=Math.min(e,n);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let n=this.composing;return n&&n.drifted?n.contextBase+(e-n.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class ie{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(s=>s.forEach(i=>r(i,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||uP(e.parent)||document,this.viewState=new x0(e.state||Oe.create(e)),e.scrollTo&&e.scrollTo.is(zl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Zs).map(s=>new Au(s));for(let s of this.plugins)s.update(this);this.observer=new TE(this),this.inputState=new nE(this),this.inputState.ensureHandlers(this.plugins),this.docView=new r0(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let n=e.length==1&&e[0]instanceof lt?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(n,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,r=!1,s,i=this.state;for(let f of e){if(f.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=f.state}if(this.destroyed){this.viewState.state=i;return}let o=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(hw))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=fw(i,o),l||(a=1));let d=this.observer.delayedAndroidKey,u=null;if(d?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(u=null)):this.observer.clear(),i.facet(Oe.phrases)!=this.state.facet(Oe.phrases))return this.setState(i);s=Gc.create(this,i,e),s.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;h=new ui(p.empty?p:G.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(zl)&&(h=p.value.clip(this.state))}this.viewState.update(s,h),this.bidiCache=Qc.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),n=this.docView.update(s),this.state.facet(mo)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(Gl)!=s.state.facet(Gl)&&(this.viewState.mustMeasureContent=!0),(n||r||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!s.empty)for(let f of this.state.facet(yf))try{f(s)}catch(p){Ft(this.state,p,"update listener")}(l||u)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),u&&!iw(this,u)&&d.force&&di(this.contentDOM,d.key,d.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let n=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new x0(e),this.plugins=e.facet(Zs).map(r=>new Au(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new r0(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(e){let n=e.startState.facet(Zs),r=e.state.facet(Zs);if(n!=r){let s=[];for(let i of r){let o=n.indexOf(i);if(o<0)s.push(new Au(i));else{let a=this.plugins[o];a.mustUpdate=e,s.push(a)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s<this.plugins.length;s++)this.plugins[s].update(this);n!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let n=e.value;if(n&&n.docViewUpdate)try{n.docViewUpdate(this)}catch(r){Ft(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let n=null,r=this.scrollDOM,s=r.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:o}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(D1(r))i=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(s);i=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let d=[];l&4||([this.measureRequests,d]=[d,this.measureRequests]);let u=d.map(p=>{try{return p.read(this)}catch(m){return Ft(this.state,m),w0}}),h=Gc.create(this,this.state,[]),f=!1;h.flags|=l,n?n.flags|=l:n=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let p=0;p<d.length;p++)if(u[p]!=w0)try{let m=d[p];m.write&&m.write(u[p],this)}catch(m){Ft(this.state,m)}if(f&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let m=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-o;if(m>1||m<-1){s=s+m,r.scrollTop=s/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let a of this.state.facet(yf))a(n)}get themeClasses(){return jf+" "+(this.state.facet(Cf)?xw:gw)+" "+this.state.facet(Gl)}updateAttrs(){let e=k0(this,Y1,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(br)?"true":"false",class:"cm-content",style:`${ce.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),k0(this,Ip,n);let r=this.observer.ignore(()=>{let s=Qg(this.contentDOM,this.contentAttrs,n),i=Qg(this.dom,this.editorAttrs,e);return s||i});return this.editorAttrs=e,this.contentAttrs=n,r}showAnnouncements(e){let n=!0;for(let r of e)for(let s of r.effects)if(s.is(ie.announce)){n&&(this.announceDOM.textContent=""),n=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(mo);let e=this.state.facet(ie.cspNonce);Xr.mount(this.root,this.styleModules.concat(DE).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let n=0;n<this.measureRequests.length;n++)if(this.measureRequests[n].key===e.key){this.measureRequests[n]=e;return}}this.measureRequests.push(e)}}plugin(e){let n=this.pluginMap.get(e);return(n===void 0||n&&n.plugin!=e)&&this.pluginMap.set(e,n=this.plugins.find(r=>r.plugin==e)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,n,r){return Iu(this,e,s0(this,e,n,r))}moveByGroup(e,n){return Iu(this,e,s0(this,e,n,r=>GP(this,e.head,r)))}visualLineSide(e,n){let r=this.bidiSpans(e),s=this.textDirectionAt(e.from),i=r[n?r.length-1:0];return G.cursor(i.side(n,s)+e.from,i.forward(!n,s)?1:-1)}moveToLineBoundary(e,n,r=!0){return UP(this,e,n,r)}moveVertically(e,n,r){return Iu(this,e,qP(this,e,n,r))}domAtPos(e,n=1){return this.docView.domAtPos(e,n)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){this.readMeasured();let r=kf(this,e,n);return r&&r.pos}posAndSideAtCoords(e,n=!0){return this.readMeasured(),kf(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let r=this.docView.coordsAt(e,n);if(!r||r.left==r.right)return r;let s=this.state.doc.lineAt(e),i=this.bidiSpans(s),o=i[yr.find(i,e-s.from,-1,n)];return Uo(r,o.dir==Be.LTR==n>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(K1)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>IE)return $1(e.length);let n=this.textDirectionAt(e.from),r;for(let i of this.bidiCache)if(i.from==e.from&&i.dir==n&&(i.fresh||I1(i.isolates,r=e0(this,e))))return i.order;r||(r=e0(this,e));let s=yP(e.text,n,r);return this.bidiCache.push(new Qc(e.from,e.to,n,r,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ce.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{M1(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,n={}){return zl.of(new ui(typeof e=="number"?G.cursor(e):e,n.y,n.x,n.yMargin,n.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:n}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return zl.of(new ui(G.cursor(r.from),"start","start",r.top-e,n,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Je.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Je.define(()=>({}),{eventObservers:e})}static theme(e,n){let r=Xr.newName(),s=[Gl.of(r),mo.of(Nf(`.${r}`,e))];return n&&n.dark&&s.push(Cf.of(!0)),s}static baseTheme(e){return $s.lowest(mo.of(Nf("."+jf,e,bw)))}static findFromDOM(e){var n;let r=e.querySelector(".cm-content"),s=r&&tt.get(r)||tt.get(e);return((n=s?.root)===null||n===void 0?void 0:n.view)||null}}ie.styleModule=mo;ie.inputHandler=V1;ie.clipboardInputFilter=Lp;ie.clipboardOutputFilter=Rp;ie.scrollHandler=G1;ie.focusChangeEffect=W1;ie.perLineTextDirection=K1;ie.exceptionSink=H1;ie.updateListener=yf;ie.editable=br;ie.mouseSelectionStyle=z1;ie.dragMovesSelection=F1;ie.clickAddsSelectionRange=_1;ie.decorations=qo;ie.blockWrappers=X1;ie.outerDecorations=Q1;ie.atomicRanges=ol;ie.bidiIsolatedRanges=J1;ie.scrollMargins=Z1;ie.darkTheme=Cf;ie.cspNonce=de.define({combine:t=>t.length?t[0]:""});ie.contentAttributes=Ip;ie.editorAttributes=Y1;ie.lineWrapping=ie.contentAttributes.of({class:"cm-lineWrapping"});ie.announce=Se.define();const IE=4096,w0={};class Qc{constructor(e,n,r,s,i,o){this.from=e,this.to=n,this.dir=r,this.isolates=s,this.fresh=i,this.order=o}static update(e,n){if(n.empty&&!e.some(i=>i.fresh))return e;let r=[],s=e.length?e[e.length-1].dir:Be.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let o=e[i];o.dir==s&&!n.touchesRange(o.from,o.to)&&r.push(new Qc(n.mapPos(o.from,1),n.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function k0(t,e,n){for(let r=t.state.facet(e),s=r.length-1;s>=0;s--){let i=r[s],o=typeof i=="function"?i(t):i;o&&Dp(o,n)}return n}const $E=ce.mac?"mac":ce.windows?"win":ce.linux?"linux":"key";function BE(t,e){const n=t.split(/-(?!$)/);let r=n[n.length-1];r=="Space"&&(r=" ");let s,i,o,a;for(let l=0;l<n.length-1;++l){const d=n[l];if(/^(cmd|meta|m)$/i.test(d))a=!0;else if(/^a(lt)?$/i.test(d))s=!0;else if(/^(c|ctrl|control)$/i.test(d))i=!0;else if(/^s(hift)?$/i.test(d))o=!0;else if(/^mod$/i.test(d))e=="mac"?a=!0:i=!0;else throw new Error("Unrecognized modifier name: "+d)}return s&&(r="Alt-"+r),i&&(r="Ctrl-"+r),a&&(r="Meta-"+r),o&&(r="Shift-"+r),r}function ql(t,e,n){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n!==!1&&e.shiftKey&&(t="Shift-"+t),t}const _E=$s.default(ie.domEventHandlers({keydown(t,e){return vw(yw(e.state),t,e,"editor")}})),Hd=de.define({enables:_E}),S0=new WeakMap;function yw(t){let e=t.facet(Hd),n=S0.get(e);return n||S0.set(e,n=HE(e.reduce((r,s)=>r.concat(s),[]))),n}function FE(t,e,n){return vw(yw(t.state),e,t,n)}let Fr=null;const zE=4e3;function HE(t,e=$E){let n=Object.create(null),r=Object.create(null),s=(o,a)=>{let l=r[o];if(l==null)r[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},i=(o,a,l,d,u)=>{var h,f;let p=n[o]||(n[o]=Object.create(null)),m=a.split(/ (?!$)/).map(y=>BE(y,e));for(let y=1;y<m.length;y++){let k=m.slice(0,y).join(" ");s(k,!0),p[k]||(p[k]={preventDefault:!0,stopPropagation:!1,run:[v=>{let w=Fr={view:v,prefix:k,scope:o};return setTimeout(()=>{Fr==w&&(Fr=null)},zE),!0}]})}let x=m.join(" ");s(x,!1);let b=p[x]||(p[x]={preventDefault:!1,stopPropagation:!1,run:((f=(h=p._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});l&&b.run.push(l),d&&(b.preventDefault=!0),u&&(b.stopPropagation=!0)};for(let o of t){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let d of a){let u=n[d]||(n[d]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=o;for(let f in u)u[f].run.push(p=>h(p,Pf))}let l=o[e]||o.key;if(l)for(let d of a)i(d,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&i(d,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return n}let Pf=null;function vw(t,e,n,r){Pf=e;let s=nP(e),i=$t(s,0),o=Xn(i)==s.length&&s!=" ",a="",l=!1,d=!1,u=!1;Fr&&Fr.view==n&&Fr.scope==r&&(a=Fr.prefix+" ",lw.indexOf(e.keyCode)<0&&(d=!0,Fr=null));let h=new Set,f=b=>{if(b){for(let y of b.run)if(!h.has(y)&&(h.add(y),y(n)))return b.stopPropagation&&(u=!0),!0;b.preventDefault&&(b.stopPropagation&&(u=!0),d=!0)}return!1},p=t[r],m,x;return p&&(f(p[a+ql(s,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ce.windows&&e.ctrlKey&&e.altKey)&&!(ce.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Qr[e.keyCode])&&m!=s?(f(p[a+ql(m,e,!0)])||e.shiftKey&&(x=Vo[e.keyCode])!=s&&x!=m&&f(p[a+ql(x,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+ql(s,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),d&&(l=!0),l&&u&&e.stopPropagation(),Pf=null,l}class al{constructor(e,n,r,s,i){this.className=e,this.left=n,this.top=r,this.width=s,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,n){return n.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,n,r){if(r.empty){let s=e.coordsAtPos(r.head,r.assoc||1);if(!s)return[];let i=ww(e);return[new al(n,s.left-i.left,s.top-i.top,null,s.bottom-s.top)]}else return VE(e,n,r)}}function ww(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Be.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function C0(t,e,n,r){let s=t.coordsAtPos(e,n*2);if(!s)return r;let i=t.dom.getBoundingClientRect(),o=(s.top+s.bottom)/2,a=t.posAtCoords({x:i.left+1,y:o}),l=t.posAtCoords({x:i.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function VE(t,e,n){if(n.to<=t.viewport.from||n.from>=t.viewport.to)return[];let r=Math.max(n.from,t.viewport.from),s=Math.min(n.to,t.viewport.to),i=t.textDirection==Be.LTR,o=t.contentDOM,a=o.getBoundingClientRect(),l=ww(t),d=o.querySelector(".cm-line"),u=d&&window.getComputedStyle(d),h=a.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),f=a.right-(u?parseInt(u.paddingRight):0),p=wf(t,r,1),m=wf(t,s,-1),x=p.type==wt.Text?p:null,b=m.type==wt.Text?m:null;if(x&&(t.lineWrapping||p.widgetLineBreaks)&&(x=C0(t,r,1,x)),b&&(t.lineWrapping||m.widgetLineBreaks)&&(b=C0(t,s,-1,b)),x&&b&&x.from==b.from&&x.to==b.to)return k(v(n.from,n.to,x));{let C=x?v(n.from,null,x):w(p,!1),j=b?v(null,n.to,b):w(m,!0),S=[];return(x||p).to<(b||m).from-(x&&b?1:0)||p.widgetLineBreaks>1&&C.bottom+t.defaultLineHeight/2<j.top?S.push(y(h,C.bottom,f,j.top)):C.bottom<j.top&&t.elementAtHeight((C.bottom+j.top)/2).type==wt.Text&&(C.bottom=j.top=(C.bottom+j.top)/2),k(C).concat(S).concat(k(j))}function y(C,j,S,E){return new al(e,C-l.left,j-l.top,S-C,E-j)}function k({top:C,bottom:j,horizontal:S}){let E=[];for(let O=0;O<S.length;O+=2)E.push(y(S[O],C,S[O+1],j));return E}function v(C,j,S){let E=1e9,O=-1e9,A=[];function P(N,M,D,I,R){let $=t.coordsAtPos(N,N==S.to?-2:2),V=t.coordsAtPos(D,D==S.from?2:-2);!$||!V||(E=Math.min($.top,V.top,E),O=Math.max($.bottom,V.bottom,O),R==Be.LTR?A.push(i&&M?h:$.left,i&&I?f:V.right):A.push(!i&&I?h:V.left,!i&&M?f:$.right))}let L=C??S.from,_=j??S.to;for(let N of t.visibleRanges)if(N.to>L&&N.from<_)for(let M=Math.max(N.from,L),D=Math.min(N.to,_);;){let I=t.state.doc.lineAt(M);for(let R of t.bidiSpans(I)){let $=R.from+I.from,V=R.to+I.from;if($>=D)break;V>M&&P(Math.max($,M),C==null&&$<=L,Math.min(V,D),j==null&&V>=_,R.dir)}if(M=I.to+1,M>=D)break}return A.length==0&&P(L,C==null,_,j==null,t.textDirection),{top:E,bottom:O,horizontal:A}}function w(C,j){let S=a.top+(j?C.top:C.bottom);return{top:S,bottom:S,horizontal:[]}}}function WE(t,e){return t.constructor==e.constructor&&t.eq(e)}class KE{constructor(e,n){this.view=e,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,e)}update(e){e.startState.facet(Ec)!=e.state.facet(Ec)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let n=0,r=e.facet(Ec);for(;n<r.length&&r[n]!=this.layer;)n++;this.dom.style.zIndex=String((this.layer.above?150:-1)-n)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:n}=this.view;(e!=this.scaleX||n!=this.scaleY)&&(this.scaleX=e,this.scaleY=n,this.dom.style.transform=`scale(${1/e}, ${1/n})`)}draw(e){if(e.length!=this.drawn.length||e.some((n,r)=>!WE(n,this.drawn[r]))){let n=this.dom.firstChild,r=0;for(let s of e)s.update&&n&&s.constructor&&this.drawn[r].constructor&&s.update(n,this.drawn[r])?(n=n.nextSibling,r++):this.dom.insertBefore(s.draw(),n);for(;n;){let s=n.nextSibling;n.remove(),n=s}this.drawn=e,ce.safari&&ce.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Ec=de.define();function kw(t){return[Je.define(e=>new KE(e,t)),Ec.of(t)]}const Yo=de.define({combine(t){return or(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function UE(t={}){return[Yo.of(t),GE,qE,YE,U1.of(!0)]}function Sw(t){return t.startState.facet(Yo)!=t.state.facet(Yo)}const GE=kw({above:!0,markers(t){let{state:e}=t,n=e.facet(Yo),r=[];for(let s of e.selection.ranges){let i=s==e.selection.main;if(s.empty||n.drawRangeCursor){let o=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=s.empty?s:G.cursor(s.head,s.head>s.anchor?-1:1);for(let l of al.forRange(t,o,a))r.push(l)}}return r},update(t,e){t.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=Sw(t);return n&&j0(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){j0(e.state,t)},class:"cm-cursorLayer"});function j0(t,e){e.style.animationDuration=t.facet(Yo).cursorBlinkRate+"ms"}const qE=kw({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:al.forRange(t,"cm-selectionBackground",e)).reduce((e,n)=>e.concat(n))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||Sw(t)},class:"cm-selectionLayer"}),YE=$s.highest(ie.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Cw=Se.define({map(t,e){return t==null?null:e.mapPos(t)}}),bo=kt.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((n,r)=>r.is(Cw)?r.value:n,t)}}),XE=Je.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let n=t.state.field(bo);n==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(bo)!=n||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(bo),n=e!=null&&t.coordsAtPos(e);if(!n)return null;let r=t.scrollDOM.getBoundingClientRect();return{left:n.left-r.left+t.scrollDOM.scrollLeft*t.scaleX,top:n.top-r.top+t.scrollDOM.scrollTop*t.scaleY,height:n.bottom-n.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:n}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/n+"px",this.cursor.style.height=t.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(bo)!=t&&this.view.dispatch({effects:Cw.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function QE(){return[bo,XE]}function N0(t,e,n,r,s){e.lastIndex=0;for(let i=t.iterRange(n,r),o=n,a;!i.next().done;o+=i.value.length)if(!i.lineBreak)for(;a=e.exec(i.value);)s(o+a.index,a)}function JE(t,e){let n=t.visibleRanges;if(n.length==1&&n[0].from==t.viewport.from&&n[0].to==t.viewport.to)return n;let r=[];for(let{from:s,to:i}of n)s=Math.max(t.state.doc.lineAt(s).from,s-e),i=Math.min(t.state.doc.lineAt(i).to,i+e),r.length&&r[r.length-1].to>=s?r[r.length-1].to=i:r.push({from:s,to:i});return r}class ZE{constructor(e){const{regexp:n,decoration:r,decorate:s,boundary:i,maxLength:o=1e3}=e;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,s)this.addMatch=(a,l,d,u)=>s(u,d,d+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,d,u)=>{let h=r(a,l,d);h&&u(d,d+a[0].length,h)};else if(r)this.addMatch=(a,l,d,u)=>u(d,d+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=o}createDeco(e){let n=new wr,r=n.add.bind(n);for(let{from:s,to:i}of JE(e,this.maxLength))N0(e.state.doc,this.regexp,s,i,(o,a)=>this.addMatch(a,e,o,r));return n.finish()}updateDeco(e,n){let r=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((i,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),s=Math.max(l,s))}),e.viewportMoved||s-r>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,n.map(e.changes),r,s):n}updateRange(e,n,r,s){for(let i of e.visibleRanges){let o=Math.max(i.from,r),a=Math.min(i.to,s);if(a>=o){let l=e.state.doc.lineAt(o),d=l.to<a?e.state.doc.lineAt(a):l,u=Math.max(i.from,l.from),h=Math.min(i.to,d.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){u=o;break}for(;a<d.to;a++)if(this.boundary.test(d.text[a-d.from])){h=a;break}}let f=[],p,m=(x,b,y)=>f.push(y.range(x,b));if(l==d)for(this.regexp.lastIndex=u-l.from;(p=this.regexp.exec(l.text))&&p.index<h-l.from;)this.addMatch(p,e,p.index+l.from,m);else N0(e.state.doc,this.regexp,u,h,(x,b)=>this.addMatch(b,e,x,m));n=n.update({filterFrom:u,filterTo:h,filter:(x,b)=>x<u||b>h,add:f})}}return n}}const Ef=/x/.unicode!=null?"gu":"g",eO=new RegExp(`[\0-\b
242
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Ef),tO={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let _u=null;function nO(){var t;if(_u==null&&typeof document<"u"&&document.body){let e=document.body.style;_u=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return _u||!1}const Oc=de.define({combine(t){let e=or(t,{render:null,specialChars:eO,addSpecialChars:null});return(e.replaceTabs=!nO())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Ef)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Ef)),e}});function rO(t={}){return[Oc.of(t),sO()]}let P0=null;function sO(){return P0||(P0=Je.fromClass(class{constructor(t){this.view=t,this.decorations=ve.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Oc)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new ZE({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:s}=n.state,i=$t(e[0],0);if(i==9){let o=s.lineAt(r),a=n.state.tabSize,l=$i(o.text,a,r-o.from);return ve.replace({widget:new lO((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=ve.replace({widget:new aO(t,i)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Oc);t.startState.facet(Oc)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const iO="•";function oO(t){return t>=32?iO:t==10?"␤":String.fromCharCode(9216+t)}class aO extends ar{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=oO(this.code),r=e.state.phrase("Control character")+" "+(tO[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,r,n);if(s)return s;let i=document.createElement("span");return i.textContent=n,i.title=r,i.setAttribute("aria-label",r),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class lO extends ar{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function cO(){return uO}const dO=ve.line({class:"cm-activeLine"}),uO=Je.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let r of t.state.selection.ranges){let s=t.lineBlockAt(r.head);s.from>e&&(n.push(dO.range(s.from)),e=s.from)}return ve.set(n)}},{decorations:t=>t.decorations});class hO extends ar{constructor(e){super(),this.content=e}toDOM(e){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(e){let n=e.firstChild?jo(e.firstChild):[];if(!n.length)return null;let r=window.getComputedStyle(e.parentNode),s=Uo(n[0],r.direction!="rtl"),i=parseInt(r.lineHeight);return s.bottom-s.top>i*1.5?{left:s.left,right:s.right,top:s.top,bottom:s.top+i}:s}ignoreEvent(){return!1}}function fO(t){let e=Je.fromClass(class{constructor(n){this.view=n,this.placeholder=t?ve.set([ve.widget({widget:new hO(t),side:1}).range(0)]):ve.none}get decorations(){return this.view.state.doc.length?ve.none:this.placeholder}},{decorations:n=>n.decorations});return typeof t=="string"?[e,ie.contentAttributes.of({"aria-placeholder":t})]:e}const Of=2e3;function pO(t,e,n){let r=Math.min(e.line,n.line),s=Math.max(e.line,n.line),i=[];if(e.off>Of||n.off>Of||e.col<0||n.col<0){let o=Math.min(e.off,n.off),a=Math.max(e.off,n.off);for(let l=r;l<=s;l++){let d=t.doc.line(l);d.length<=a&&i.push(G.range(d.from+o,d.to+a))}}else{let o=Math.min(e.col,n.col),a=Math.max(e.col,n.col);for(let l=r;l<=s;l++){let d=t.doc.line(l),u=lf(d.text,o,t.tabSize,!0);if(u<0)i.push(G.cursor(d.to));else{let h=lf(d.text,a,t.tabSize);i.push(G.range(d.from+u,d.from+h))}}}return i}function mO(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function E0(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),s=n-r.from,i=s>Of?-1:s==r.length?mO(t,e.clientX):$i(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:i,off:s}}function gO(t,e){let n=E0(t,e),r=t.state.selection;return n?{update(s){if(s.docChanged){let i=s.changes.mapPos(s.startState.doc.line(n.line).from),o=s.state.doc.lineAt(i);n={line:o.number,col:n.col,off:Math.min(n.off,o.length)},r=r.map(s.changes)}},get(s,i,o){let a=E0(t,s);if(!a)return r;let l=pO(t.state,n,a);return l.length?o?G.create(l.concat(r.ranges)):G.create(l):r}}:null}function xO(t){let e=n=>n.altKey&&n.button==0;return ie.mouseSelectionStyle.of((n,r)=>e(r)?gO(n,r):null)}const bO={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},yO={style:"cursor: crosshair"};function vO(t={}){let[e,n]=bO[t.key||"Alt"],r=Je.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==e||n(s))},keyup(s){(s.keyCode==e||!n(s))&&this.set(!1)},mousemove(s){this.set(n(s))}}});return[r,ie.contentAttributes.of(s=>{var i;return!((i=s.plugin(r))===null||i===void 0)&&i.isDown?yO:null})]}const Yl="-10000px";class jw{constructor(e,n,r,s){this.facet=n,this.createTooltipView=r,this.removeTooltipView=s,this.input=e.state.facet(n),this.tooltips=this.input.filter(o=>o);let i=null;this.tooltipViews=this.tooltips.map(o=>i=r(o,i))}update(e,n){var r;let s=e.state.facet(this.facet),i=s.filter(l=>l);if(s===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=n?[]:null;for(let l=0;l<i.length;l++){let d=i[l],u=-1;if(d){for(let h=0;h<this.tooltips.length;h++){let f=this.tooltips[h];f&&f.create==d.create&&(u=h)}if(u<0)o[l]=this.createTooltipView(d,l?o[l-1]:null),a&&(a[l]=!!d.above);else{let h=o[l]=this.tooltipViews[u];a&&(a[l]=n[u]),h.update&&h.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return n&&(a.forEach((l,d)=>n[d]=l),n.length=a.length),this.input=s,this.tooltips=i,this.tooltipViews=o,!0}}function wO(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const Fu=de.define({combine:t=>{var e,n,r;return{position:ce.ios?"absolute":((e=t.find(s=>s.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(s=>s.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((r=t.find(s=>s.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||wO}}}),O0=new WeakMap,zp=Je.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(Fu);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new jw(t,Hp,(n,r)=>this.createTooltip(n,r),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,r=t.state.facet(Fu);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),r=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",n.dom.appendChild(s)}return n.dom.style.position=this.position,n.dom.style.top=Yl,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:i}=this.manager.tooltipViews[0];if(ce.safari){let o=i.getBoundingClientRect();n=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else n=!!i.offsetParent&&i.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(t=i.width/this.parent.offsetWidth,e=i.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),s=$p(this.view);return{visible:{left:r.left+s.left,top:r.top+s.top,right:r.right-s.right,bottom:r.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((i,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(i.pos):this.view.coordsAtPos(i.pos)}),size:this.manager.tooltipViews.map(({dom:i})=>i.getBoundingClientRect()),space:this.view.state.facet(Fu).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:n,space:r,scaleX:s,scaleY:i}=t,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],d=this.manager.tooltipViews[a],{dom:u}=d,h=t.pos[a],f=t.size[a];if(!h||l.clip!==!1&&(h.bottom<=Math.max(n.top,r.top)||h.top>=Math.min(n.bottom,r.bottom)||h.right<Math.max(n.left,r.left)-.1||h.left>Math.min(n.right,r.right)+.1)){u.style.top=Yl;continue}let p=l.arrow?d.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,x=f.right-f.left,b=(e=O0.get(d))!==null&&e!==void 0?e:f.bottom-f.top,y=d.offset||SO,k=this.view.textDirection==Be.LTR,v=f.width>r.right-r.left?k?r.left:r.right-f.width:k?Math.max(r.left,Math.min(h.left-(p?14:0)+y.x,r.right-x)):Math.min(Math.max(r.left,h.left-x+(p?14:0)-y.x),r.right-x),w=this.above[a];!l.strictSide&&(w?h.top-b-m-y.y<r.top:h.bottom+b+m+y.y>r.bottom)&&w==r.bottom-h.bottom>h.top-r.top&&(w=this.above[a]=!w);let C=(w?h.top-r.top:r.bottom-h.bottom)-m;if(C<b&&d.resize!==!1){if(C<this.view.defaultLineHeight){u.style.top=Yl;continue}O0.set(d,b),u.style.height=(b=C)/i+"px"}else u.style.height&&(u.style.height="");let j=w?h.top-b-m-y.y:h.bottom+m+y.y,S=v+x;if(d.overlap!==!0)for(let E of o)E.left<S&&E.right>v&&E.top<j+b&&E.bottom>j&&(j=w?E.top-b-2-m:E.bottom+m+2);if(this.position=="absolute"?(u.style.top=(j-t.parent.top)/i+"px",M0(u,(v-t.parent.left)/s)):(u.style.top=j/i+"px",M0(u,v/s)),p){let E=h.left+(k?y.x:-y.x)-(v+14-7);p.style.left=E/s+"px"}d.overlap!==!0&&o.push({left:v,top:j,right:S,bottom:j+b}),u.classList.toggle("cm-tooltip-above",w),u.classList.toggle("cm-tooltip-below",!w),d.positioned&&d.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Yl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function M0(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const kO=ie.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),SO={x:0,y:0},Hp=de.define({enables:[zp,kO]}),Jc=de.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class Vd{static create(e){return new Vd(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new jw(e,Jc,(n,r)=>this.createHostedView(n,r),n=>n.dom.remove())}createHostedView(e,n){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let r of this.manager.tooltipViews){let s=r[e];if(s!==void 0){if(n===void 0)n=s;else if(n!==s)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const CO=Hp.compute([Jc],t=>{let e=t.facet(Jc);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var r;return(r=n.end)!==null&&r!==void 0?r:n.pos})),create:Vd.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class jO{constructor(e,n,r,s,i){this.view=e,this.source=n,this.field=r,this.setHover=s,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:n}=this,r=e.docView.tile.nearest(n.target);if(!r)return;let s,i=1;if(r.isWidget())s=r.posAtStart;else{if(s=e.posAtCoords(n),s==null)return;let a=e.coordsAtPos(s);if(!a||n.y<a.top||n.y>a.bottom||n.x<a.left-e.defaultCharacterWidth||n.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(s)).find(u=>u.from<=s&&u.to>=s),d=l&&l.dir==Be.RTL?-1:1;i=n.x<a.left?-d:d}let o=this.source(e,s,i);if(o?.then){let a=this.pending={pos:s};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>Ft(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(zp),n=e?e.manager.tooltips.findIndex(r=>r.create==Vd.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:i}=this;if(s.length&&i&&!NO(i.dom,e)||this.pending){let{pos:o}=s[0]||this.pending,a=(r=(n=s[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!PO(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=r=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Xl=4;function NO(t,e){let{left:n,right:r,top:s,bottom:i}=t.getBoundingClientRect(),o;if(o=t.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();s=Math.min(a.top,s),i=Math.max(a.bottom,i)}return e.clientX>=n-Xl&&e.clientX<=r+Xl&&e.clientY>=s-Xl&&e.clientY<=i+Xl}function PO(t,e,n,r,s,i){let o=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(o.left>r||o.right<r||o.top>s||Math.min(o.bottom,a)<s)return!1;let l=t.posAtCoords({x:r,y:s},!1);return l>=e&&l<=n}function EO(t,e={}){let n=Se.define(),r=kt.define({create(){return[]},update(s,i){if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:e.hideOn&&(s=s.filter(o=>!e.hideOn(i,o))),i.docChanged)){let o=[];for(let a of s){let l=i.changes.mapPos(a.pos,-1,Dt.TrackDel);if(l!=null){let d=Object.assign(Object.create(null),a);d.pos=l,d.end!=null&&(d.end=i.changes.mapPos(d.end)),o.push(d)}}s=o}for(let o of i.effects)o.is(n)&&(s=o.value),o.is(OO)&&(s=[]);return s},provide:s=>Jc.from(s)});return{active:r,extension:[r,Je.define(s=>new jO(s,t,r,n,e.hoverTime||300)),CO]}}function Nw(t,e){let n=t.plugin(zp);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const OO=Se.define(),D0=de.define({combine(t){let e,n;for(let r of t)e=e||r.topContainer,n=n||r.bottomContainer;return{topContainer:e,bottomContainer:n}}});function Xo(t,e){let n=t.plugin(Pw),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const Pw=Je.fromClass(class{constructor(t){this.input=t.state.facet(Qo),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(D0);this.top=new Ql(t,!0,e.topContainer),this.bottom=new Ql(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(D0);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Ql(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Ql(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Qo);if(n!=this.input){let r=n.filter(l=>l),s=[],i=[],o=[],a=[];for(let l of r){let d=this.specs.indexOf(l),u;d<0?(u=l(t.view),a.push(u)):(u=this.panels[d],u.update&&u.update(t)),s.push(u),(u.top?i:o).push(u)}this.specs=r,this.panels=s,this.top.sync(i),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>ie.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Ql{constructor(e,n,r){this.view=e,this.top=n,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=A0(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=A0(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function A0(t){let e=t.nextSibling;return t.remove(),e}const Qo=de.define({enables:Pw});class Sr extends Yr{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Sr.prototype.elementClass="";Sr.prototype.toDOM=void 0;Sr.prototype.mapMode=Dt.TrackBefore;Sr.prototype.startSide=Sr.prototype.endSide=-1;Sr.prototype.point=!0;const Mc=de.define(),MO=de.define(),DO={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Ne.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Eo=de.define();function AO(t){return[Ew(),Eo.of({...DO,...t})]}const T0=de.define({combine:t=>t.some(e=>e)});function Ew(t){return[TO]}const TO=Je.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Eo).map(e=>new R0(t,e)),this.fixed=!t.state.facet(T0);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(T0)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Ne.iter(this.view.state.facet(Mc),this.view.viewport.from),r=[],s=this.gutters.map(i=>new LO(i,this.view.viewport,-this.view.documentPadding.top));for(let i of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(i.type)){let o=!0;for(let a of i.type)if(a.type==wt.Text&&o){Mf(n,r,a.from);for(let l of s)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of s)l.widget(this.view,a)}else if(i.type==wt.Text){Mf(n,r,i.from);for(let o of s)o.line(this.view,i,r)}else if(i.widget)for(let o of s)o.widget(this.view,i);for(let i of s)i.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Eo),n=t.state.facet(Eo),r=t.docChanged||t.heightChanged||t.viewportChanged||!Ne.eq(t.startState.facet(Mc),t.state.facet(Mc),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let s of this.gutters)s.update(t)&&(r=!0);else{r=!0;let s=[];for(let i of n){let o=e.indexOf(i);o<0?s.push(new R0(this.view,i)):(this.gutters[o].update(t),s.push(this.gutters[o]))}for(let i of this.gutters)i.dom.remove(),s.indexOf(i)<0&&i.destroy();for(let i of s)i.config.side=="after"?this.getDOMAfter().appendChild(i.dom):this.dom.appendChild(i.dom);this.gutters=s}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>ie.scrollMargins.of(e=>{let n=e.plugin(t);if(!n||n.gutters.length==0||!n.fixed)return null;let r=n.dom.offsetWidth*e.scaleX,s=n.domAfter?n.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Be.LTR?{left:r,right:s}:{right:r,left:s}})});function L0(t){return Array.isArray(t)?t:[t]}function Mf(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class LO{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=Ne.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:s}=this,i=(n.top-this.height)/e.scaleY,o=n.height/e.scaleY;if(this.i==s.elements.length){let a=new Ow(e,o,i,r);s.elements.push(a),s.dom.appendChild(a.dom)}else s.elements[this.i].update(e,o,i,r);this.height=n.bottom,this.i++}line(e,n,r){let s=[];Mf(this.cursor,s,n.from),r.length&&(s=s.concat(r));let i=this.gutter.config.lineMarker(e,n,s);i&&s.unshift(i);let o=this.gutter;s.length==0&&!o.config.renderEmptyElements||this.addElement(e,n,s)}widget(e,n){let r=this.gutter.config.widgetMarker(e,n.widget,n),s=r?[r]:null;for(let i of e.state.facet(MO)){let o=i(e,n.widget,n);o&&(s||(s=[])).push(o)}s&&this.addElement(e,n,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class R0{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in n.domEventHandlers)this.dom.addEventListener(r,s=>{let i=s.target,o;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let l=i.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=s.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);n.domEventHandlers[r](e,a,s)&&s.preventDefault()});this.markers=L0(n.markers(e)),n.initialSpacer&&(this.spacer=new Ow(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=L0(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],e);s!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[s])}let r=e.view.viewport;return!Ne.eq(this.markers,n,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class Ow{constructor(e,n,r,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,r,s)}update(e,n,r,s){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),RO(this.markers,s)||this.setMarkers(e,s)}setMarkers(e,n){let r="cm-gutterElement",s=this.dom.firstChild;for(let i=0,o=0;;){let a=o,l=i<n.length?n[i++]:null,d=!1;if(l){let u=l.elementClass;u&&(r+=" "+u);for(let h=o;h<this.markers.length;h++)if(this.markers[h].compare(l)){a=h,d=!0;break}}else a=this.markers.length;for(;o<a;){let u=this.markers[o++];if(u.toDOM){u.destroy(s);let h=s.nextSibling;s.remove(),s=h}}if(!l)break;l.toDOM&&(d?s=s.nextSibling:this.dom.insertBefore(l.toDOM(e),s)),d&&o++}this.dom.className=r,this.markers=n}destroy(){this.setMarkers(null,[])}}function RO(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].compare(e[n]))return!1;return!0}const IO=de.define(),$O=de.define(),ei=de.define({combine(t){return or(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,n){let r=Object.assign({},e);for(let s in n){let i=r[s],o=n[s];r[s]=i?(a,l,d)=>i(a,l,d)||o(a,l,d):o}return r}})}});class zu extends Sr{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Hu(t,e){return t.state.facet(ei).formatNumber(e,t.state)}const BO=Eo.compute([ei],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(IO)},lineMarker(e,n,r){return r.some(s=>s.toDOM)?null:new zu(Hu(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let s of e.state.facet($O)){let i=s(e,n,r);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(ei)!=e.state.facet(ei),initialSpacer(e){return new zu(Hu(e,I0(e.state.doc.lines)))},updateSpacer(e,n){let r=Hu(n.view,I0(n.view.state.doc.lines));return r==e.number?e:new zu(r)},domEventHandlers:t.facet(ei).domEventHandlers,side:"before"}));function _O(t={}){return[ei.of(t),Ew(),BO]}function I0(t){let e=9;for(;e<t;)e=e*10+9;return e}const FO=new class extends Sr{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},zO=Mc.compute(["selection"],t=>{let e=[],n=-1;for(let r of t.selection.ranges){let s=t.doc.lineAt(r.head).from;s>n&&(n=s,e.push(FO.range(s)))}return Ne.of(e)});function HO(){return zO}var Vu;const ti=new je;function VO(t){return de.define({combine:t?e=>e.concat(t):void 0})}const WO=new je;class Mn{constructor(e,n,r=[],s=""){this.data=e,this.name=s,Oe.prototype.hasOwnProperty("tree")||Object.defineProperty(Oe.prototype,"tree",{get(){return Nt(this)}}),this.parser=n,this.extension=[Zr.of(this),Oe.languageData.of((i,o,a)=>{let l=$0(i,o,a),d=l.type.prop(ti);if(!d)return[];let u=i.facet(d),h=l.type.prop(WO);if(h){let f=l.resolve(o-l.from,a);for(let p of h)if(p.test(f,i)){let m=i.facet(p.facet);return p.type=="replace"?m:m.concat(u)}}return u})].concat(r)}isActiveAt(e,n,r=-1){return $0(e,n,r).type.prop(ti)==this.data}findRegions(e){let n=e.facet(Zr);if(n?.data==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],s=(i,o)=>{if(i.prop(ti)==this.data){r.push({from:o,to:o+i.length});return}let a=i.prop(je.mounted);if(a){if(a.tree.prop(ti)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+i.length});return}else if(a.overlay){let l=r.length;if(s(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;l<i.children.length;l++){let d=i.children[l];d instanceof Qe&&s(d,i.positions[l]+o)}};return s(Nt(e),0),r}get allowsNesting(){return!0}}Mn.setState=Se.define();function $0(t,e,n){let r=t.facet(Zr),s=Nt(t).topNode;if(!r||r.allowsNesting)for(let i=s;i;i=i.enter(e,n,qe.ExcludeBuffers|qe.EnterBracketed))i.type.isTop&&(s=i);return s}class Zc extends Mn{constructor(e,n,r){super(e,n,[],r),this.parser=n}static define(e){let n=VO(e.languageData);return new Zc(n,e.parser.configure({props:[ti.add(r=>r.isTop?n:void 0)]}),e.name)}configure(e,n){return new Zc(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Nt(t){let e=t.field(Mn.state,!1);return e?e.tree:Qe.empty}class KO{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let r=this.cursorPos-this.string.length;return e<r||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let io=null;class ed{constructor(e,n,r=[],s,i,o,a,l){this.parser=e,this.state=n,this.fragments=r,this.tree=s,this.treeLen=i,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new ed(e,n,[],Qe.empty,0,r,[],null)}startParse(){return this.parser.startParse(new KO(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Qe.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let s=this.parse.advance();if(s)if(this.fragments=this.withoutTempSkipped(Ss.addTree(s,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=s,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(Ss.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=io;io=this;try{return e()}finally{io=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=B0(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:s,treeLen:i,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((d,u,h,f)=>l.push({fromA:d,toA:u,fromB:h,toB:f})),r=Ss.applyChanges(r,l),s=Qe.empty,i=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let d of this.skipped){let u=e.mapPos(d.from,1),h=e.mapPos(d.to,-1);u<h&&a.push({from:u,to:h})}}}return new ed(this.parser,n,r,s,i,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:s,to:i}=this.skipped[r];s<e.to&&i>e.from&&(this.fragments=B0(this.fragments,s,i),this.skipped.splice(r--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends s1{createParse(n,r,s){let i=s[0].from,o=s[s.length-1].to;return{parsedPos:i,advance(){let l=io;if(l){for(let d of s)l.tempSkipped.push(d);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new Qe(Vt.none,[],[],o-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return io}}function B0(t,e,n){return Ss.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class Si{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new Si(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=ed.create(e.facet(Zr).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new Si(r)}}Mn.state=kt.define({create:Si.init,update(t,e){for(let n of e.effects)if(n.is(Mn.setState))return n.value;return e.startState.facet(Zr)!=e.state.facet(Zr)?Si.init(e.state):t.apply(e)}});let Mw=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Mw=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const Wu=typeof navigator<"u"&&(!((Vu=navigator.scheduling)===null||Vu===void 0)&&Vu.isInputPending)?()=>navigator.scheduling.isInputPending():null,UO=Je.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(Mn.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(Mn.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=Mw(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:s}}=this.view,i=r.field(Mn.state);if(i.tree==i.context.tree&&i.context.isDone(s+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!Wu?Math.max(25,e.timeRemaining()-5):1e9),a=i.context.treeLen<s&&r.doc.length>s+1e3,l=i.context.work(()=>Wu&&Wu()||Date.now()>o,s+(a?0:1e5));this.chunkBudget-=Date.now()-n,(l||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:Mn.setState.of(new Si(i.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Ft(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Zr=de.define({combine(t){return t.length?t[0]:null},enables:t=>[Mn.state,UO,ie.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class GO{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const qO=de.define(),Wd=de.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function td(t){let e=t.facet(Wd);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Jo(t,e){let n="",r=t.tabSize,s=t.facet(Wd)[0];if(s==" "){for(;e>=r;)n+=" ",e-=r;s=" "}for(let i=0;i<e;i++)n+=s;return n}function Vp(t,e){t instanceof Oe&&(t=new Kd(t));for(let r of t.state.facet(qO)){let s=r(t,e);if(s!==void 0)return s}let n=Nt(t.state);return n.length>=e?YO(t,n,e):null}class Kd{constructor(e,n={}){this.state=e,this.options=n,this.unit=td(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:i}=this.options;return s!=null&&s>=r.from&&s<=r.to?i&&s==e?{text:"",from:e}:(n<0?s<e:s<=e)?{text:r.text.slice(s-r.from),from:s}:{text:r.text.slice(0,s-r.from),from:r.from}:r}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:s}=this.lineAt(e,n);return r.slice(e-s,Math.min(r.length,e+100-s))}column(e,n=1){let{text:r,from:s}=this.lineAt(e,n),i=this.countColumn(r,e-s),o=this.options.overrideIndentation?this.options.overrideIndentation(s):-1;return o>-1&&(i+=o-this.countColumn(r,r.search(/\S|$/))),i}countColumn(e,n=e.length){return $i(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:s}=this.lineAt(e,n),i=this.options.overrideIndentation;if(i){let o=i(s);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Dw=new je;function YO(t,e,n){let r=e.resolveStack(n),s=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(s!=r.node){let i=[];for(let o=s;o&&!(o.from<r.node.from||o.to>r.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)i.push(o);for(let o=i.length-1;o>=0;o--)r={node:i[o],next:r}}return Aw(r,t,n)}function Aw(t,e,n){for(let r=t;r;r=r.next){let s=QO(r.node);if(s)return s(Wp.create(e,n,r))}return 0}function XO(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function QO(t){let e=t.type.prop(Dw);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(je.closedBy))){let s=t.lastChild,i=s&&r.indexOf(s.name)>-1;return o=>t6(o,!0,1,void 0,i&&!XO(o)?s.from:void 0)}return t.parent==null?JO:null}function JO(){return 0}class Wp extends Kd{constructor(e,n,r){super(e.state,e.options),this.base=e,this.pos=n,this.context=r}get node(){return this.context.node}static create(e,n,r){return new Wp(e,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(n.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(ZO(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return Aw(this.context.next,this.base,this.pos)}}function ZO(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function e6(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let s=t.options.simulateBreak,i=t.state.doc.lineAt(n.from),o=s==null||s<=i.from?i.to:Math.min(i.to,s);for(let a=n.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let d=/^ */.exec(i.text.slice(n.to-i.from))[0].length;return{from:n.from,to:n.to+d}}a=l.to}}function t6(t,e,n,r,s){let i=t.textAfter,o=i.match(/^\s*/)[0].length,a=r&&i.slice(o,o+r.length)==r||s==t.pos+o,l=e6(t);return l?a?t.column(l.from):t.column(l.to):t.baseIndent+(a?0:t.unit*n)}function _0({except:t,units:e=1}={}){return n=>{let r=t&&t.test(n.textAfter);return n.baseIndent+(r?0:e*n.unit)}}const n6=200;function r6(){return Oe.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:r}=t.newSelection.main,s=n.lineAt(r);if(r>s.from+n6)return t;let i=n.sliceString(s.from,r);if(!e.some(d=>d.test(i)))return t;let{state:o}=t,a=-1,l=[];for(let{head:d}of o.selection.ranges){let u=o.doc.lineAt(d);if(u.from==a)continue;a=u.from;let h=Vp(o,u.from);if(h==null)continue;let f=/^\s*/.exec(u.text)[0],p=Jo(o,h);f!=p&&l.push({from:u.from,to:u.from+f.length,insert:p})}return l.length?[t,{changes:l,sequential:!0}]:t})}const s6=de.define(),Tw=new je;function i6(t){let e=t.firstChild,n=t.lastChild;return e&&e.to<n.from?{from:e.to,to:n.type.isError?t.to:n.from}:null}function o6(t,e,n){let r=Nt(t);if(r.length<n)return null;let s=r.resolveStack(n,1),i=null;for(let o=s;o;o=o.next){let a=o.node;if(a.to<=n||a.from>n)continue;if(i&&a.from<e)break;let l=a.type.prop(Tw);if(l&&(a.to<r.length-50||r.length==t.doc.length||!a6(a))){let d=l(a,t);d&&d.from<=n&&d.from>=e&&d.to>n&&(i=d)}}return i}function a6(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function nd(t,e,n){for(let r of t.facet(s6)){let s=r(t,e,n);if(s)return s}return o6(t,e,n)}function Lw(t,e){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return n>=r?void 0:{from:n,to:r}}const Ud=Se.define({map:Lw}),ll=Se.define({map:Lw});function Rw(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(r=>r.from<=n&&r.to>=n)||e.push(t.lineBlockAt(n));return e}const Os=kt.define({create(){return ve.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((n,r)=>t=F0(t,n,r)),t=t.map(e.changes);for(let n of e.effects)if(n.is(Ud)&&!l6(t,n.value.from,n.value.to)){let{preparePlaceholder:r}=e.state.facet(Bw),s=r?ve.replace({widget:new m6(r(e.state,n.value))}):z0;t=t.update({add:[s.range(n.value.from,n.value.to)]})}else n.is(ll)&&(t=t.update({filter:(r,s)=>n.value.from!=r||n.value.to!=s,filterFrom:n.value.from,filterTo:n.value.to}));return e.selection&&(t=F0(t,e.selection.main.head)),t},provide:t=>ie.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(r,s)=>{n.push(r,s)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n<t.length;){let r=t[n++],s=t[n++];if(typeof r!="number"||typeof s!="number")throw new RangeError("Invalid JSON for fold state");e.push(z0.range(r,s))}return ve.set(e,!0)}});function F0(t,e,n=e){let r=!1;return t.between(e,n,(s,i)=>{s<n&&i>e&&(r=!0)}),r?t.update({filterFrom:e,filterTo:n,filter:(s,i)=>s>=n||i<=e}):t}function rd(t,e,n){var r;let s=null;return(r=t.field(Os,!1))===null||r===void 0||r.between(e,n,(i,o)=>{(!s||s.from>i)&&(s={from:i,to:o})}),s}function l6(t,e,n){let r=!1;return t.between(e,e,(s,i)=>{s==e&&i==n&&(r=!0)}),r}function Iw(t,e){return t.field(Os,!1)?e:e.concat(Se.appendConfig.of(_w()))}const c6=t=>{for(let e of Rw(t)){let n=nd(t.state,e.from,e.to);if(n)return t.dispatch({effects:Iw(t.state,[Ud.of(n),$w(t,n)])}),!0}return!1},d6=t=>{if(!t.state.field(Os,!1))return!1;let e=[];for(let n of Rw(t)){let r=rd(t.state,n.from,n.to);r&&e.push(ll.of(r),$w(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function $w(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,s=t.state.doc.lineAt(e.to).number;return ie.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${s}.`)}const u6=t=>{let{state:e}=t,n=[];for(let r=0;r<e.doc.length;){let s=t.lineBlockAt(r),i=nd(e,s.from,s.to);i&&n.push(Ud.of(i)),r=(i?t.lineBlockAt(i.to):s).to+1}return n.length&&t.dispatch({effects:Iw(t.state,n)}),!!n.length},h6=t=>{let e=t.state.field(Os,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,s)=>{n.push(ll.of({from:r,to:s}))}),t.dispatch({effects:n}),!0},f6=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:c6},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:d6},{key:"Ctrl-Alt-[",run:u6},{key:"Ctrl-Alt-]",run:h6}],p6={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Bw=de.define({combine(t){return or(t,p6)}});function _w(t){return[Os,b6]}function Fw(t,e){let{state:n}=t,r=n.facet(Bw),s=o=>{let a=t.lineBlockAt(t.posAtDOM(o.target)),l=rd(t.state,a.from,a.to);l&&t.dispatch({effects:ll.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,s,e);let i=document.createElement("span");return i.textContent=r.placeholderText,i.setAttribute("aria-label",n.phrase("folded code")),i.title=n.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=s,i}const z0=ve.replace({widget:new class extends ar{toDOM(t){return Fw(t,null)}}});class m6 extends ar{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Fw(e,this.value)}}const g6={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Ku extends Sr{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function x6(t={}){let e={...g6,...t},n=new Ku(e,!0),r=new Ku(e,!1),s=Je.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(Zr)!=o.state.facet(Zr)||o.startState.field(Os,!1)!=o.state.field(Os,!1)||Nt(o.startState)!=Nt(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new wr;for(let l of o.viewportLineBlocks){let d=rd(o.state,l.from,l.to)?r:nd(o.state,l.from,l.to)?n:null;d&&a.add(l.from,l.from,d)}return a.finish()}}),{domEventHandlers:i}=e;return[s,AO({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(s))===null||a===void 0?void 0:a.markers)||Ne.empty},initialSpacer(){return new Ku(e,!1)},domEventHandlers:{...i,click:(o,a,l)=>{if(i.click&&i.click(o,a,l))return!0;let d=rd(o.state,a.from,a.to);if(d)return o.dispatch({effects:ll.of(d)}),!0;let u=nd(o.state,a.from,a.to);return u?(o.dispatch({effects:Ud.of(u)}),!0):!1}}}),_w()]}const b6=ie.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Bi{constructor(e,n){this.specs=e;let r;function s(a){let l=Xr.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const i=typeof n.all=="string"?n.all:n.all?s(n.all):void 0,o=n.scope;this.scope=o instanceof Mn?a=>a.prop(ti)==o.data:o?a=>a==o:void 0,this.style=a1(e.map(a=>({tag:a.tag,class:a.class||s(Object.assign({},a,{tag:null}))})),{all:i}).style,this.module=r?new Xr(r):null,this.themeType=n.themeType}static define(e,n){return new Bi(e,n||{})}}const Df=de.define(),zw=de.define({combine(t){return t.length?[t[0]]:null}});function Uu(t){let e=t.facet(Df);return e.length?e:t.facet(zw)}function Kp(t,e){let n=[v6],r;return t instanceof Bi&&(t.module&&n.push(ie.styleModule.of(t.module)),r=t.themeType),e?.fallback?n.push(zw.of(t)):r?n.push(Df.computeN([ie.darkTheme],s=>s.facet(ie.darkTheme)==(r=="dark")?[t]:[])):n.push(Df.of(t)),n}class y6{constructor(e){this.markCache=Object.create(null),this.tree=Nt(e.state),this.decorations=this.buildDeco(e,Uu(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=Nt(e.state),r=Uu(e.state),s=r!=Uu(e.startState),{viewport:i}=e.view,o=e.changes.mapPos(this.decoratedTo,1);n.length<i.to&&!s&&n.type==this.tree.type&&o>=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(n!=this.tree||e.viewportChanged||s)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=i.to)}buildDeco(e,n){if(!n||!this.tree.length)return ve.none;let r=new wr;for(let{from:s,to:i}of e.visibleRanges)ON(this.tree,n,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ve.mark({class:l})))},s,i);return r.finish()}}const v6=$s.high(Je.fromClass(y6,{decorations:t=>t.decorations})),w6=Bi.define([{tag:K.meta,color:"#404740"},{tag:K.link,textDecoration:"underline"},{tag:K.heading,textDecoration:"underline",fontWeight:"bold"},{tag:K.emphasis,fontStyle:"italic"},{tag:K.strong,fontWeight:"bold"},{tag:K.strikethrough,textDecoration:"line-through"},{tag:K.keyword,color:"#708"},{tag:[K.atom,K.bool,K.url,K.contentSeparator,K.labelName],color:"#219"},{tag:[K.literal,K.inserted],color:"#164"},{tag:[K.string,K.deleted],color:"#a11"},{tag:[K.regexp,K.escape,K.special(K.string)],color:"#e40"},{tag:K.definition(K.variableName),color:"#00f"},{tag:K.local(K.variableName),color:"#30a"},{tag:[K.typeName,K.namespace],color:"#085"},{tag:K.className,color:"#167"},{tag:[K.special(K.variableName),K.macroName],color:"#256"},{tag:K.definition(K.propertyName),color:"#00c"},{tag:K.comment,color:"#940"},{tag:K.invalid,color:"#f00"}]),k6=ie.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Hw=1e4,Vw="()[]{}",Ww=de.define({combine(t){return or(t,{afterCursor:!0,brackets:Vw,maxScanDistance:Hw,renderMatch:j6})}}),S6=ve.mark({class:"cm-matchingBracket"}),C6=ve.mark({class:"cm-nonmatchingBracket"});function j6(t){let e=[],n=t.matched?S6:C6;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const N6=kt.define({create(){return ve.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],r=e.state.facet(Ww);for(let s of e.state.selection.ranges){if(!s.empty)continue;let i=Jn(e.state,s.head,-1,r)||s.head>0&&Jn(e.state,s.head-1,1,r)||r.afterCursor&&(Jn(e.state,s.head,1,r)||s.head<e.state.doc.length&&Jn(e.state,s.head+1,-1,r));i&&(n=n.concat(r.renderMatch(i,e.state)))}return ve.set(n,!0)},provide:t=>ie.decorations.from(t)}),P6=[N6,k6];function E6(t={}){return[Ww.of(t),P6]}const O6=new je;function Af(t,e,n){let r=t.prop(e<0?je.openedBy:je.closedBy);if(r)return r;if(t.name.length==1){let s=n.indexOf(t.name);if(s>-1&&s%2==(e<0?1:0))return[n[s+e]]}return null}function Tf(t){let e=t.type.prop(O6);return e?e(t.node):t}function Jn(t,e,n,r={}){let s=r.maxScanDistance||Hw,i=r.brackets||Vw,o=Nt(t),a=o.resolveInner(e,n);for(let l=a;l;l=l.parent){let d=Af(l.type,n,i);if(d&&l.from<l.to){let u=Tf(l);if(u&&(n>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return M6(t,e,n,l,u,d,i)}}return D6(t,e,n,o,a.type,s,i)}function M6(t,e,n,r,s,i,o){let a=r.parent,l={from:s.from,to:s.to},d=0,u=a?.cursor();if(u&&(n<0?u.childBefore(r.from):u.childAfter(r.to)))do if(n<0?u.to<=r.from:u.from>=r.to){if(d==0&&i.indexOf(u.type.name)>-1&&u.from<u.to){let h=Tf(u);return{start:l,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(Af(u.type,n,o))d++;else if(Af(u.type,-n,o)){if(d==0){let h=Tf(u);return{start:l,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}d--}}while(n<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}function D6(t,e,n,r,s,i,o){let a=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=n>0)return null;let d={from:n<0?e-1:e,to:n>0?e+1:e},u=t.doc.iterRange(e,n>0?t.doc.length:0),h=0;for(let f=0;!u.next().done&&f<=i;){let p=u.value;n<0&&(f+=p.length);let m=e+f*n;for(let x=n>0?0:p.length-1,b=n>0?p.length:-1;x!=b;x+=n){let y=o.indexOf(p[x]);if(!(y<0||r.resolveInner(m+x,1).type!=s))if(y%2==0==n>0)h++;else{if(h==1)return{start:d,end:{from:m+x,to:m+x+1},matched:y>>1==l>>1};h--}}n>0&&(f+=p.length)}return u.done?{start:d,matched:!1}:null}const A6=Object.create(null),H0=[Vt.none],V0=[],W0=Object.create(null),T6=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])T6[t]=L6(A6,e);function Gu(t,e){V0.indexOf(t)>-1||(V0.push(t),console.warn(e))}function L6(t,e){let n=[];for(let a of e.split(" ")){let l=[];for(let d of a.split(".")){let u=t[d]||K[d];u?typeof u=="function"?l.length?l=l.map(u):Gu(d,`Modifier ${d} used at start of tag`):l.length?Gu(d,`Tag ${d} used as modifier`):l=Array.isArray(u)?u:[u]:Gu(d,`Unknown highlighting tag ${d}`)}for(let d of l)n.push(d)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),s=r+" "+n.map(a=>a.id),i=W0[s];if(i)return i.id;let o=W0[s]=Vt.define({id:H0.length,name:r,props:[i1({[r]:n})]});return H0.push(o),o.id}Be.RTL,Be.LTR;const R6=Zc.define({name:"json",parser:TN.configure({props:[Dw.add({Object:_0({except:/^\s*\}/}),Array:_0({except:/^\s*\]/})}),Tw.add({"Object Array":i6})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function I6(){return new GO(R6)}function Lf(){return Lf=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Lf.apply(null,arguments)}function $6(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}const B6=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=Gp(t.state,n.from);return r.line?_6(t):r.block?z6(t):!1};function Up(t,e){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let s=t(e,n);return s?(r(n.update(s)),!0):!1}}const _6=Up(W6,0),F6=Up(Kw,0),z6=Up((t,e)=>Kw(t,e,V6(e)),0);function Gp(t,e){let n=t.languageDataAt("commentTokens",e,1);return n.length?n[0]:{}}const oo=50;function H6(t,{open:e,close:n},r,s){let i=t.sliceDoc(r-oo,r),o=t.sliceDoc(s,s+oo),a=/\s*$/.exec(i)[0].length,l=/^\s*/.exec(o)[0].length,d=i.length-a;if(i.slice(d-e.length,d)==e&&o.slice(l,l+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:s+l,margin:l&&1}};let u,h;s-r<=2*oo?u=h=t.sliceDoc(r,s):(u=t.sliceDoc(r,r+oo),h=t.sliceDoc(s-oo,s));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(h)[0].length,m=h.length-p-n.length;return u.slice(f,f+e.length)==e&&h.slice(m,m+n.length)==n?{open:{pos:r+f+e.length,margin:/\s/.test(u.charAt(f+e.length))?1:0},close:{pos:s-p-n.length,margin:/\s/.test(h.charAt(m-1))?1:0}}:null}function V6(t){let e=[];for(let n of t.selection.ranges){let r=t.doc.lineAt(n.from),s=n.to<=r.to?r:t.doc.lineAt(n.to);s.from>r.from&&s.from==n.to&&(s=n.to==r.to+1?r:t.doc.lineAt(n.to-1));let i=e.length-1;i>=0&&e[i].to>r.from?e[i].to=s.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return e}function Kw(t,e,n=e.selection.ranges){let r=n.map(i=>Gp(e,i.from).block);if(!r.every(i=>i))return null;let s=n.map((i,o)=>H6(e,r[o],i.from,i.to));if(t!=2&&!s.every(i=>i))return{changes:e.changes(n.map((i,o)=>s[o]?[]:[{from:i.from,insert:r[o].open+" "},{from:i.to,insert:" "+r[o].close}]))};if(t!=1&&s.some(i=>i)){let i=[];for(let o=0,a;o<s.length;o++)if(a=s[o]){let l=r[o],{open:d,close:u}=a;i.push({from:d.pos-l.open.length,to:d.pos+d.margin},{from:u.pos-u.margin,to:u.pos+l.close.length})}return{changes:i}}return null}function W6(t,e,n=e.selection.ranges){let r=[],s=-1;for(let{from:i,to:o}of n){let a=r.length,l=1e9,d=Gp(e,i).line;if(d){for(let u=i;u<=o;){let h=e.doc.lineAt(u);if(h.from>s&&(i==o||o>h.from)){s=h.from;let f=/^\s*/.exec(h.text)[0].length,p=f==h.length,m=h.text.slice(f,f+d.length)==d?f:-1;f<h.text.length&&f<l&&(l=f),r.push({line:h,comment:m,token:d,indent:f,empty:p,single:!1})}u=h.to+1}if(l<1e9)for(let u=a;u<r.length;u++)r[u].indent<r[u].line.text.length&&(r[u].indent=l);r.length==a+1&&(r[a].single=!0)}}if(t!=2&&r.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:a,token:l,indent:d,empty:u,single:h}of r)(h||!u)&&i.push({from:a.from+d,insert:l+" "});let o=e.changes(i);return{changes:o,selection:e.selection.map(o,1)}}else if(t!=1&&r.some(i=>i.comment>=0)){let i=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let d=o.from+a,u=d+l.length;o.text[u-o.from]==" "&&u++,i.push({from:d,to:u})}return{changes:i}}return null}const Rf=ir.define(),K6=ir.define(),U6=de.define(),Uw=de.define({combine(t){return or(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(r,s)=>e(r,s)||n(r,s)})}}),Gw=kt.define({create(){return Zn.empty},update(t,e){let n=e.state.facet(Uw),r=e.annotation(Rf);if(r){let l=zt.fromTransaction(e,r.selection),d=r.side,u=d==0?t.undone:t.done;return l?u=sd(u,u.length,n.minDepth,l):u=Xw(u,e.startState.selection),new Zn(d==0?r.rest:u,d==0?u:r.rest)}let s=e.annotation(K6);if((s=="full"||s=="before")&&(t=t.isolate()),e.annotation(lt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=zt.fromTransaction(e),o=e.annotation(lt.time),a=e.annotation(lt.userEvent);return i?t=t.addChanges(i,o,a,n,e):e.selection&&(t=t.addSelection(e.startState.selection,o,a,n.newGroupDelay)),(s=="full"||s=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Zn(t.done.map(zt.fromJSON),t.undone.map(zt.fromJSON))}});function G6(t={}){return[Gw,Uw.of(t),ie.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?qw:e.inputType=="historyRedo"?If:null;return r?(e.preventDefault(),r(n)):!1}})]}function Gd(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let s=n.field(Gw,!1);if(!s)return!1;let i=s.pop(t,n,e);return i?(r(i),!0):!1}}const qw=Gd(0,!1),If=Gd(1,!1),q6=Gd(0,!0),Y6=Gd(1,!0);class zt{constructor(e,n,r,s,i){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=s,this.selectionsAfter=i}setSelAfter(e){return new zt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new zt(e.changes&&it.fromJSON(e.changes),[],e.mapped&&tr.fromJSON(e.mapped),e.startSelection&&G.fromJSON(e.startSelection),e.selectionsAfter.map(G.fromJSON))}static fromTransaction(e,n){let r=mn;for(let s of e.startState.facet(U6)){let i=s(e);i.length&&(r=r.concat(i))}return!r.length&&e.changes.empty?null:new zt(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,mn)}static selection(e){return new zt(void 0,mn,void 0,void 0,e)}}function sd(t,e,n,r){let s=e+1>n+20?e-n-1:0,i=t.slice(s,e);return i.push(r),i}function X6(t,e){let n=[],r=!1;return t.iterChangedRanges((s,i)=>n.push(s,i)),e.iterChangedRanges((s,i,o,a)=>{for(let l=0;l<n.length;){let d=n[l++],u=n[l++];a>=d&&o<=u&&(r=!0)}}),r}function Q6(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function Yw(t,e){return t.length?e.length?t.concat(e):t:e}const mn=[],J6=200;function Xw(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-J6));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),sd(t,t.length-1,1e9,n.setSelAfter(r)))}else return[zt.selection([e])]}function Z6(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function qu(t,e){if(!t.length)return t;let n=t.length,r=mn;for(;n;){let s=eM(t[n-1],e,r);if(s.changes&&!s.changes.empty||s.effects.length){let i=t.slice(0,n);return i[n-1]=s,i}else e=s.mapped,n--,r=s.selectionsAfter}return r.length?[zt.selection(r)]:mn}function eM(t,e,n){let r=Yw(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):mn,n);if(!t.changes)return zt.selection(r);let s=t.changes.map(e),i=e.mapDesc(t.changes,!0),o=t.mapped?t.mapped.composeDesc(i):i;return new zt(s,Se.mapEffects(t.effects,e),o,t.startSelection.map(i),r)}const tM=/^(input\.type|delete)($|\.)/;class Zn{constructor(e,n,r=0,s=void 0){this.done=e,this.undone=n,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new Zn(this.done,this.undone):this}addChanges(e,n,r,s,i){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||tM.test(r))&&(!a.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(i,X6(a.changes,e.changes))||r=="input.type.compose")?o=sd(o,o.length-1,s.minDepth,new zt(e.changes.compose(a.changes),Yw(Se.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,mn)):o=sd(o,o.length,s.minDepth,e),new Zn(o,mn,n,r)}addSelection(e,n,r,s){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:mn;return i.length>0&&n-this.prevTime<s&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&Q6(i[i.length-1],e)?this:new Zn(Xw(this.done,e),this.undone,n,r)}addMapping(e){return new Zn(qu(this.done,e),qu(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,r){let s=e==0?this.done:this.undone;if(s.length==0)return null;let i=s[s.length-1],o=i.selectionsAfter[0]||n.selection;if(r&&i.selectionsAfter.length)return n.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Rf.of({side:e,rest:Z6(s),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let a=s.length==1?mn:s.slice(0,s.length-1);return i.mapped&&(a=qu(a,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Rf.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Zn.empty=new Zn(mn,mn);const nM=[{key:"Mod-z",run:qw,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:If,preventDefault:!0},{linux:"Ctrl-Shift-z",run:If,preventDefault:!0},{key:"Mod-u",run:q6,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Y6,preventDefault:!0}];function _i(t,e){return G.create(t.ranges.map(e),t.mainIndex)}function $n(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Bn({state:t,dispatch:e},n){let r=_i(t.selection,n);return r.eq(t.selection,!0)?!1:(e($n(t,r)),!0)}function qd(t,e){return G.cursor(e?t.to:t.from)}function Qw(t,e){return Bn(t,n=>n.empty?t.moveByChar(n,e):qd(n,e))}function Et(t){return t.textDirectionAt(t.state.selection.main.head)==Be.LTR}const Jw=t=>Qw(t,!Et(t)),Zw=t=>Qw(t,Et(t));function e2(t,e){return Bn(t,n=>n.empty?t.moveByGroup(n,e):qd(n,e))}const rM=t=>e2(t,!Et(t)),sM=t=>e2(t,Et(t));function iM(t,e,n){if(e.type.prop(n))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Yd(t,e,n){let r=Nt(t).resolveInner(e.head),s=n?je.closedBy:je.openedBy;for(let l=e.head;;){let d=n?r.childAfter(l):r.childBefore(l);if(!d)break;iM(t,d,s)?r=d:l=n?d.to:d.from}let i=r.type.prop(s),o,a;return i&&(o=n?Jn(t,r.from,1):Jn(t,r.to,-1))&&o.matched?a=n?o.end.to:o.end.from:a=n?r.to:r.from,G.cursor(a,n?-1:1)}const oM=t=>Bn(t,e=>Yd(t.state,e,!Et(t))),aM=t=>Bn(t,e=>Yd(t.state,e,Et(t)));function t2(t,e){return Bn(t,n=>{if(!n.empty)return qd(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const n2=t=>t2(t,!1),r2=t=>t2(t,!0);function s2(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,r=0,s;if(e){for(let i of t.state.facet(ie.scrollMargins)){let o=i(t);o?.top&&(n=Math.max(o?.top,n)),o?.bottom&&(r=Math.max(o?.bottom,r))}s=t.scrollDOM.clientHeight-n-r}else s=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,s-5)}}function i2(t,e){let n=s2(t),{state:r}=t,s=_i(r.selection,o=>o.empty?t.moveVertically(o,e,n.height):qd(o,e));if(s.eq(r.selection))return!1;let i;if(n.selfScroll){let o=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),l=a.top+n.marginTop,d=a.bottom-n.marginBottom;o&&o.top>l&&o.bottom<d&&(i=ie.scrollIntoView(s.main.head,{y:"start",yMargin:o.top-l}))}return t.dispatch($n(r,s),{effects:i}),!0}const K0=t=>i2(t,!1),$f=t=>i2(t,!0);function ns(t,e,n){let r=t.lineBlockAt(e.head),s=t.moveToLineBoundary(e,n);if(s.head==e.head&&s.head!=(n?r.to:r.from)&&(s=t.moveToLineBoundary(e,n,!1)),!n&&s.head==r.from&&r.length){let i=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&e.head!=r.from+i&&(s=G.cursor(r.from+i))}return s}const lM=t=>Bn(t,e=>ns(t,e,!0)),cM=t=>Bn(t,e=>ns(t,e,!1)),dM=t=>Bn(t,e=>ns(t,e,!Et(t))),uM=t=>Bn(t,e=>ns(t,e,Et(t))),hM=t=>Bn(t,e=>G.cursor(t.lineBlockAt(e.head).from,1)),fM=t=>Bn(t,e=>G.cursor(t.lineBlockAt(e.head).to,-1));function pM(t,e,n){let r=!1,s=_i(t.selection,i=>{let o=Jn(t,i.head,-1)||Jn(t,i.head,1)||i.head>0&&Jn(t,i.head-1,1)||i.head<t.doc.length&&Jn(t,i.head+1,-1);if(!o||!o.end)return i;r=!0;let a=o.start.from==i.head?o.end.to:o.end.from;return G.cursor(a)});return r?(e($n(t,s)),!0):!1}const mM=({state:t,dispatch:e})=>pM(t,e);function Sn(t,e){let n=_i(t.state.selection,r=>{let s=e(r);return G.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch($n(t.state,n)),!0)}function o2(t,e){return Sn(t,n=>t.moveByChar(n,e))}const a2=t=>o2(t,!Et(t)),l2=t=>o2(t,Et(t));function c2(t,e){return Sn(t,n=>t.moveByGroup(n,e))}const gM=t=>c2(t,!Et(t)),xM=t=>c2(t,Et(t)),bM=t=>Sn(t,e=>Yd(t.state,e,!Et(t))),yM=t=>Sn(t,e=>Yd(t.state,e,Et(t)));function d2(t,e){return Sn(t,n=>t.moveVertically(n,e))}const u2=t=>d2(t,!1),h2=t=>d2(t,!0);function f2(t,e){return Sn(t,n=>t.moveVertically(n,e,s2(t).height))}const U0=t=>f2(t,!1),G0=t=>f2(t,!0),vM=t=>Sn(t,e=>ns(t,e,!0)),wM=t=>Sn(t,e=>ns(t,e,!1)),kM=t=>Sn(t,e=>ns(t,e,!Et(t))),SM=t=>Sn(t,e=>ns(t,e,Et(t))),CM=t=>Sn(t,e=>G.cursor(t.lineBlockAt(e.head).from)),jM=t=>Sn(t,e=>G.cursor(t.lineBlockAt(e.head).to)),q0=({state:t,dispatch:e})=>(e($n(t,{anchor:0})),!0),Y0=({state:t,dispatch:e})=>(e($n(t,{anchor:t.doc.length})),!0),X0=({state:t,dispatch:e})=>(e($n(t,{anchor:t.selection.main.anchor,head:0})),!0),Q0=({state:t,dispatch:e})=>(e($n(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),NM=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),PM=({state:t,dispatch:e})=>{let n=Xd(t).map(({from:r,to:s})=>G.range(r,Math.min(s+1,t.doc.length)));return e(t.update({selection:G.create(n),userEvent:"select"})),!0},EM=({state:t,dispatch:e})=>{let n=_i(t.selection,r=>{let s=Nt(t),i=s.resolveStack(r.from,1);if(r.empty){let o=s.resolveStack(r.from,-1);o.node.from>=i.node.from&&o.node.to<=i.node.to&&(i=o)}for(let o=i;o;o=o.next){let{node:a}=o;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return G.range(a.to,a.from)}return r});return n.eq(t.selection)?!1:(e($n(t,n)),!0)};function p2(t,e){let{state:n}=t,r=n.selection,s=n.selection.ranges.slice();for(let i of n.selection.ranges){let o=n.doc.lineAt(i.head);if(e?o.to<t.state.doc.length:o.from>0)for(let a=i;;){let l=t.moveVertically(a,e);if(l.head<o.from||l.head>o.to){s.some(d=>d.head==l.head)||s.push(l);break}else{if(l.head==a.head)break;a=l}}}return s.length==r.ranges.length?!1:(t.dispatch($n(n,G.create(s,s.length-1))),!0)}const OM=t=>p2(t,!1),MM=t=>p2(t,!0),DM=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=G.create([n.main]):n.main.empty||(r=G.create([G.cursor(n.main.head)])),r?(e($n(t,r)),!0):!1};function cl(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,s=r.changeByRange(i=>{let{from:o,to:a}=i;if(o==a){let l=e(i);l<o?(n="delete.backward",l=Jl(t,l,!1)):l>o&&(n="delete.forward",l=Jl(t,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Jl(t,o,!1),a=Jl(t,a,!0);return o==a?{range:i}:{changes:{from:o,to:a},range:G.cursor(o,o<i.head?-1:1)}});return s.changes.empty?!1:(t.dispatch(r.update(s,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?ie.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Jl(t,e,n){if(t instanceof ie)for(let r of t.state.facet(ie.atomicRanges).map(s=>s(t)))r.between(e,e,(s,i)=>{s<e&&i>e&&(e=n?i:s)});return e}const m2=(t,e,n)=>cl(t,r=>{let s=r.from,{state:i}=t,o=i.doc.lineAt(s),a,l;if(n&&!e&&s>o.from&&s<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,s-o.from))){if(a[a.length-1]==" ")return s-1;let d=$i(a,i.tabSize),u=d%td(i)||td(i);for(let h=0;h<u&&a[a.length-1-h]==" ";h++)s--;l=s}else l=at(o.text,s-o.from,e,e)+o.from,l==s&&o.number!=(e?i.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,s-o.from))&&(l=at(o.text,l-o.from,!1,!1)+o.from);return l}),Bf=t=>m2(t,!1,!0),g2=t=>m2(t,!0,!1),x2=(t,e)=>cl(t,n=>{let r=n.head,{state:s}=t,i=s.doc.lineAt(r),o=s.charCategorizer(r);for(let a=null;;){if(r==(e?i.to:i.from)){r==n.head&&i.number!=(e?s.doc.lines:1)&&(r+=e?1:-1);break}let l=at(i.text,r-i.from,e)+i.from,d=i.text.slice(Math.min(r,l)-i.from,Math.max(r,l)-i.from),u=o(d);if(a!=null&&u!=a)break;(d!=" "||r!=n.head)&&(a=u),r=l}return r}),b2=t=>x2(t,!1),AM=t=>x2(t,!0),TM=t=>cl(t,e=>{let n=t.lineBlockAt(e.head).to;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),LM=t=>cl(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),RM=t=>cl(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),IM=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:Te.of(["",""])},range:G.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},$M=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let s=r.from,i=t.doc.lineAt(s),o=s==i.from?s-1:at(i.text,s-i.from,!1)+i.from,a=s==i.to?s+1:at(i.text,s-i.from,!0)+i.from;return{changes:{from:o,to:a,insert:t.doc.slice(s,a).append(t.doc.slice(o,s))},range:G.cursor(a)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Xd(t){let e=[],n=-1;for(let r of t.selection.ranges){let s=t.doc.lineAt(r.from),i=t.doc.lineAt(r.to);if(!r.empty&&r.to==i.from&&(i=t.doc.lineAt(r.to-1)),n>=s.number){let o=e[e.length-1];o.to=i.to,o.ranges.push(r)}else e.push({from:s.from,to:i.to,ranges:[r]});n=i.number+1}return e}function y2(t,e,n){if(t.readOnly)return!1;let r=[],s=[];for(let i of Xd(t)){if(n?i.to==t.doc.length:i.from==0)continue;let o=t.doc.lineAt(n?i.to+1:i.from-1),a=o.length+1;if(n){r.push({from:i.to,to:o.to},{from:i.from,insert:o.text+t.lineBreak});for(let l of i.ranges)s.push(G.range(Math.min(t.doc.length,l.anchor+a),Math.min(t.doc.length,l.head+a)))}else{r.push({from:o.from,to:i.from},{from:i.to,insert:t.lineBreak+o.text});for(let l of i.ranges)s.push(G.range(l.anchor-a,l.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:G.create(s,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const BM=({state:t,dispatch:e})=>y2(t,e,!1),_M=({state:t,dispatch:e})=>y2(t,e,!0);function v2(t,e,n){if(t.readOnly)return!1;let r=[];for(let i of Xd(t))n?r.push({from:i.from,insert:t.doc.slice(i.from,i.to)+t.lineBreak}):r.push({from:i.to,insert:t.lineBreak+t.doc.slice(i.from,i.to)});let s=t.changes(r);return e(t.update({changes:s,selection:t.selection.map(s,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const FM=({state:t,dispatch:e})=>v2(t,e,!1),zM=({state:t,dispatch:e})=>v2(t,e,!0),HM=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(Xd(e).map(({from:s,to:i})=>(s>0?s--:i<e.doc.length&&i++,{from:s,to:i}))),r=_i(e.selection,s=>{let i;if(t.lineWrapping){let o=t.lineBlockAt(s.head),a=t.coordsAtPos(s.head,s.assoc||1);a&&(i=o.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(s,!0,i)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function VM(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=Nt(t).resolveInner(e),r=n.childBefore(e),s=n.childAfter(e),i;return r&&s&&r.to<=e&&s.from>=e&&(i=r.type.prop(je.closedBy))&&i.indexOf(s.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(s.from).from&&!/\S/.test(t.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const J0=w2(!1),WM=w2(!0);function w2(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(s=>{let{from:i,to:o}=s,a=e.doc.lineAt(i),l=!t&&i==o&&VM(e,i);t&&(i=o=(o<=a.to?a:e.doc.lineAt(o)).to);let d=new Kd(e,{simulateBreak:i,simulateDoubleBreak:!!l}),u=Vp(d,i);for(u==null&&(u=$i(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:i,to:o}=l:i>a.from&&i<a.from+100&&!/\S/.test(a.text.slice(0,i))&&(i=a.from);let h=["",Jo(e,u)];return l&&h.push(Jo(e,d.lineIndent(a.from,-1))),{changes:{from:i,to:o,insert:Te.of(h)},range:G.cursor(i+1+h[1].length)}});return n(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function qp(t,e){let n=-1;return t.changeByRange(r=>{let s=[];for(let o=r.from;o<=r.to;){let a=t.doc.lineAt(o);a.number>n&&(r.empty||r.to>a.from)&&(e(a,s,r),n=a.number),o=a.to+1}let i=t.changes(s);return{changes:s,range:G.range(i.mapPos(r.anchor,1),i.mapPos(r.head,1))}})}const KM=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new Kd(t,{overrideIndentation:i=>{let o=n[i];return o??-1}}),s=qp(t,(i,o,a)=>{let l=Vp(r,i.from);if(l==null)return;/\S/.test(i.text)||(l=0);let d=/^\s*/.exec(i.text)[0],u=Jo(t,l);(d!=u||a.from<i.from+d.length)&&(n[i.from]=l,o.push({from:i.from,to:i.from+d.length,insert:u}))});return s.changes.empty||e(t.update(s,{userEvent:"indent"})),!0},k2=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(qp(t,(n,r)=>{r.push({from:n.from,insert:t.facet(Wd)})}),{userEvent:"input.indent"})),!0),S2=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(qp(t,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let i=$i(s,t.tabSize),o=0,a=Jo(t,Math.max(0,i-td(t)));for(;o<s.length&&o<a.length&&s.charCodeAt(o)==a.charCodeAt(o);)o++;r.push({from:n.from+o,to:n.from+s.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),UM=t=>(t.setTabFocusMode(),!0),GM=[{key:"Ctrl-b",run:Jw,shift:a2,preventDefault:!0},{key:"Ctrl-f",run:Zw,shift:l2},{key:"Ctrl-p",run:n2,shift:u2},{key:"Ctrl-n",run:r2,shift:h2},{key:"Ctrl-a",run:hM,shift:CM},{key:"Ctrl-e",run:fM,shift:jM},{key:"Ctrl-d",run:g2},{key:"Ctrl-h",run:Bf},{key:"Ctrl-k",run:TM},{key:"Ctrl-Alt-h",run:b2},{key:"Ctrl-o",run:IM},{key:"Ctrl-t",run:$M},{key:"Ctrl-v",run:$f}],qM=[{key:"ArrowLeft",run:Jw,shift:a2,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:rM,shift:gM,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:dM,shift:kM,preventDefault:!0},{key:"ArrowRight",run:Zw,shift:l2,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:sM,shift:xM,preventDefault:!0},{mac:"Cmd-ArrowRight",run:uM,shift:SM,preventDefault:!0},{key:"ArrowUp",run:n2,shift:u2,preventDefault:!0},{mac:"Cmd-ArrowUp",run:q0,shift:X0},{mac:"Ctrl-ArrowUp",run:K0,shift:U0},{key:"ArrowDown",run:r2,shift:h2,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Y0,shift:Q0},{mac:"Ctrl-ArrowDown",run:$f,shift:G0},{key:"PageUp",run:K0,shift:U0},{key:"PageDown",run:$f,shift:G0},{key:"Home",run:cM,shift:wM,preventDefault:!0},{key:"Mod-Home",run:q0,shift:X0},{key:"End",run:lM,shift:vM,preventDefault:!0},{key:"Mod-End",run:Y0,shift:Q0},{key:"Enter",run:J0,shift:J0},{key:"Mod-a",run:NM},{key:"Backspace",run:Bf,shift:Bf,preventDefault:!0},{key:"Delete",run:g2,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:b2,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:AM,preventDefault:!0},{mac:"Mod-Backspace",run:LM,preventDefault:!0},{mac:"Mod-Delete",run:RM,preventDefault:!0}].concat(GM.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),YM=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:oM,shift:bM},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:aM,shift:yM},{key:"Alt-ArrowUp",run:BM},{key:"Shift-Alt-ArrowUp",run:FM},{key:"Alt-ArrowDown",run:_M},{key:"Shift-Alt-ArrowDown",run:zM},{key:"Mod-Alt-ArrowUp",run:OM},{key:"Mod-Alt-ArrowDown",run:MM},{key:"Escape",run:DM},{key:"Mod-Enter",run:WM},{key:"Alt-l",mac:"Ctrl-l",run:PM},{key:"Mod-i",run:EM,preventDefault:!0},{key:"Mod-[",run:S2},{key:"Mod-]",run:k2},{key:"Mod-Alt-\\",run:KM},{key:"Shift-Mod-k",run:HM},{key:"Shift-Mod-\\",run:mM},{key:"Mod-/",run:B6},{key:"Alt-A",run:F6},{key:"Ctrl-m",mac:"Shift-Alt-m",run:UM}].concat(qM),XM={key:"Tab",run:k2,shift:S2},Z0=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class Ci{constructor(e,n,r=0,s=e.length,i,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,s),this.bufferStart=r,this.normalize=i?a=>i(Z0(a)):Z0,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return $t(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=Np(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Xn(e);let s=this.normalize(n);if(s.length)for(let i=0,o=r;;i++){let a=s.charCodeAt(i),l=this.match(a,o,this.bufferPos+this.bufferStart);if(i==s.length-1){if(l)return this.value=l,this;break}o==r&&i<n.length&&n.charCodeAt(i)==a&&o++}}}match(e,n,r){let s=null;for(let i=0;i<this.matches.length;i+=2){let o=this.matches[i],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?s={from:this.matches[i+1],to:r}:(this.matches[i]++,a=!0)),a||(this.matches.splice(i,2),i-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:n,to:r}:this.matches.push(1,n)),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}}typeof Symbol<"u"&&(Ci.prototype[Symbol.iterator]=function(){return this});const C2={from:-1,to:-1,match:/.*/.exec("")},Yp="gm"+(/x/.unicode==null?"":"u");class j2{constructor(e,n,r,s=0,i=e.length){if(this.text=e,this.to=i,this.curLine="",this.done=!1,this.value=C2,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new N2(e,n,r,s,i);this.re=new RegExp(n,Yp+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(s);this.curLineStart=o.from,this.matchPos=id(e,s),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,s=r+n[0].length;if(this.matchPos=id(this.text,s+(r==s?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<s||r>this.value.to)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Yu=new WeakMap;class hi{constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,r){let s=Yu.get(e);if(!s||s.from>=r||s.to<=n){let a=new hi(n,e.sliceString(n,r));return Yu.set(e,a),a}if(s.from==n&&s.to==r)return s;let{text:i,from:o}=s;return o>n&&(i=e.sliceString(n,o)+i,o=n),s.to<r&&(i+=e.sliceString(s.to,r)),Yu.set(e,new hi(o,i)),new hi(n,i.slice(n-o,r-o))}}class N2{constructor(e,n,r,s,i){this.text=e,this.to=i,this.done=!1,this.value=C2,this.matchPos=id(e,s),this.re=new RegExp(n,Yp+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=hi.get(e,s,this.chunkEnd(s+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,s=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,match:n},this.matchPos=id(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=hi.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(j2.prototype[Symbol.iterator]=N2.prototype[Symbol.iterator]=function(){return this});function QM(t){try{return new RegExp(t,Yp),!0}catch{return!1}}function id(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e<n.to&&(r=n.text.charCodeAt(e-n.from))>=56320&&r<57344;)e++;return e}function _f(t){let e=String(t.state.doc.lineAt(t.state.selection.main.head).number),n=Re("input",{class:"cm-textfield",name:"line",value:e}),r=Re("form",{class:"cm-gotoLine",onkeydown:i=>{i.keyCode==27?(i.preventDefault(),t.dispatch({effects:Oo.of(!1)}),t.focus()):i.keyCode==13&&(i.preventDefault(),s())},onsubmit:i=>{i.preventDefault(),s()}},Re("label",t.state.phrase("Go to line"),": ",n)," ",Re("button",{class:"cm-button",type:"submit"},t.state.phrase("go")),Re("button",{name:"close",onclick:()=>{t.dispatch({effects:Oo.of(!1)}),t.focus()},"aria-label":t.state.phrase("close"),type:"button"},["×"]));function s(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.value);if(!i)return;let{state:o}=t,a=o.doc.lineAt(o.selection.main.head),[,l,d,u,h]=i,f=u?+u.slice(1):0,p=d?+d:a.number;if(d&&h){let b=p/100;l&&(b=b*(l=="-"?-1:1)+a.number/o.doc.lines),p=Math.round(o.doc.lines*b)}else d&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=o.doc.line(Math.max(1,Math.min(o.doc.lines,p))),x=G.cursor(m.from+Math.max(0,Math.min(f,m.length)));t.dispatch({effects:[Oo.of(!1),ie.scrollIntoView(x.from,{y:"center"})],selection:x}),t.focus()}return{dom:r}}const Oo=Se.define(),ex=kt.define({create(){return!0},update(t,e){for(let n of e.effects)n.is(Oo)&&(t=n.value);return t},provide:t=>Qo.from(t,e=>e?_f:null)}),JM=t=>{let e=Xo(t,_f);if(!e){let n=[Oo.of(!0)];t.state.field(ex,!1)==null&&n.push(Se.appendConfig.of([ex,ZM])),t.dispatch({effects:n}),e=Xo(t,_f)}return e&&e.dom.querySelector("input").select(),!0},ZM=ie.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),eD={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},tD=de.define({combine(t){return or(t,eD,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function nD(t){return[aD,oD]}const rD=ve.mark({class:"cm-selectionMatch"}),sD=ve.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function tx(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=ze.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=ze.Word)}function iD(t,e,n,r){return t(e.sliceDoc(n,n+1))==ze.Word&&t(e.sliceDoc(r-1,r))==ze.Word}const oD=Je.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(tD),{state:n}=t,r=n.selection;if(r.ranges.length>1)return ve.none;let s=r.main,i,o=null;if(s.empty){if(!e.highlightWordAroundCursor)return ve.none;let l=n.wordAt(s.head);if(!l)return ve.none;o=n.charCategorizer(s.head),i=n.sliceDoc(l.from,l.to)}else{let l=s.to-s.from;if(l<e.minSelectionLength||l>200)return ve.none;if(e.wholeWords){if(i=n.sliceDoc(s.from,s.to),o=n.charCategorizer(s.head),!(tx(o,n,s.from,s.to)&&iD(o,n,s.from,s.to)))return ve.none}else if(i=n.sliceDoc(s.from,s.to),!i)return ve.none}let a=[];for(let l of t.visibleRanges){let d=new Ci(n.doc,i,l.from,l.to);for(;!d.next().done;){let{from:u,to:h}=d.value;if((!o||tx(o,n,u,h))&&(s.empty&&u<=s.from&&h>=s.to?a.push(sD.range(u,h)):(u>=s.to||h<=s.from)&&a.push(rD.range(u,h)),a.length>e.maxMatches))return ve.none}}return ve.set(a)}},{decorations:t=>t.decorations}),aD=ie.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),lD=({state:t,dispatch:e})=>{let{selection:n}=t,r=G.create(n.ranges.map(s=>t.wordAt(s.head)||G.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function cD(t,e){let{main:n,ranges:r}=t.selection,s=t.wordAt(n.head),i=s&&s.from==n.from&&s.to==n.to;for(let o=!1,a=new Ci(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Ci(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(i){let l=t.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const dD=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(i=>i.from===i.to))return lD({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(i=>t.sliceDoc(i.from,i.to)!=r))return!1;let s=cD(t,r);return s?(e(t.update({selection:t.selection.addRange(G.range(s.from,s.to),!1),effects:ie.scrollIntoView(s.to)})),!0):!1},Fi=de.define({combine(t){return or(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new kD(e),scrollToMatch:e=>ie.scrollIntoView(e)})}});class P2{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||QM(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
243
+ `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new pD(this):new hD(this)}getCursor(e,n=0,r){let s=e.doc?e:Oe.create({doc:e});return r==null&&(r=s.doc.length),this.regexp?Qs(this,s,n,r):Xs(this,s,n,r)}}class E2{constructor(e){this.spec=e}}function Xs(t,e,n,r){return new Ci(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:s=>s.toLowerCase(),t.wholeWord?uD(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function uD(t,e){return(n,r,s,i)=>((i>n||i+s.length<r)&&(i=Math.max(0,n-2),s=t.sliceString(i,Math.min(t.length,r+2))),(e(od(s,n-i))!=ze.Word||e(ad(s,n-i))!=ze.Word)&&(e(ad(s,r-i))!=ze.Word||e(od(s,r-i))!=ze.Word))}class hD extends E2{constructor(e){super(e)}nextMatch(e,n,r){let s=Xs(this.spec,e,r,e.doc.length).nextOverlapping();if(s.done){let i=Math.min(e.doc.length,n+this.spec.unquoted.length);s=Xs(this.spec,e,0,i).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(e,n,r){for(let s=r;;){let i=Math.max(n,s-1e4-this.spec.unquoted.length),o=Xs(this.spec,e,i,s),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(i==n)return null;s-=1e4}}prevMatch(e,n,r){let s=this.prevMatchInRange(e,0,n);return s||(s=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let r=Xs(this.spec,e,0,e.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(e,n,r,s){let i=Xs(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}function Qs(t,e,n,r){return new j2(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:t.wholeWord?fD(e.charCategorizer(e.selection.main.head)):void 0},n,r)}function od(t,e){return t.slice(at(t,e,!1),e)}function ad(t,e){return t.slice(e,at(t,e))}function fD(t){return(e,n,r)=>!r[0].length||(t(od(r.input,r.index))!=ze.Word||t(ad(r.input,r.index))!=ze.Word)&&(t(ad(r.input,r.index+r[0].length))!=ze.Word||t(od(r.input,r.index+r[0].length))!=ze.Word)}class pD extends E2{nextMatch(e,n,r){let s=Qs(this.spec,e,r,e.doc.length).next();return s.done&&(s=Qs(this.spec,e,0,n).next()),s.done?null:s.value}prevMatchInRange(e,n,r){for(let s=1;;s++){let i=Math.max(n,r-s*1e4),o=Qs(this.spec,e,i,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(i==n||a.from>i+10))return a;if(i==n)return null}}prevMatch(e,n,r){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let i=+r.slice(0,s);if(i>0&&i<e.match.length)return e.match[i]+r.slice(s)}return n})}matchAll(e,n){let r=Qs(this.spec,e,0,e.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(e,n,r,s){let i=Qs(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}const Zo=Se.define(),Xp=Se.define(),Ur=kt.define({create(t){return new Xu(Ff(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Zo)?t=new Xu(n.value.create(),t.panel):n.is(Xp)&&(t=new Xu(t.query,n.value?Qp:null));return t},provide:t=>Qo.from(t,e=>e.panel)});class Xu{constructor(e,n){this.query=e,this.panel=n}}const mD=ve.mark({class:"cm-searchMatch"}),gD=ve.mark({class:"cm-searchMatch cm-searchMatch-selected"}),xD=Je.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Ur))}update(t){let e=t.state.field(Ur);(e!=t.startState.field(Ur)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return ve.none;let{view:n}=this,r=new wr;for(let s=0,i=n.visibleRanges,o=i.length;s<o;s++){let{from:a,to:l}=i[s];for(;s<o-1&&l>i[s+1].from-2*250;)l=i[++s].to;t.highlight(n.state,a,l,(d,u)=>{let h=n.state.selection.ranges.some(f=>f.from==d&&f.to==u);r.add(d,u,h?gD:mD)})}return r.finish()}},{decorations:t=>t.decorations});function dl(t){return e=>{let n=e.state.field(Ur,!1);return n&&n.query.spec.valid?t(e,n):D2(e)}}const ld=dl((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return!1;let s=G.single(r.from,r.to),i=t.state.facet(Fi);return t.dispatch({selection:s,effects:[Jp(t,r),i.scrollToMatch(s.main,t)],userEvent:"select.search"}),M2(t),!0}),cd=dl((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,s=e.prevMatch(n,r,r);if(!s)return!1;let i=G.single(s.from,s.to),o=t.state.facet(Fi);return t.dispatch({selection:i,effects:[Jp(t,s),o.scrollToMatch(i.main,t)],userEvent:"select.search"}),M2(t),!0}),bD=dl((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:G.create(n.map(r=>G.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),yD=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,i=[],o=0;for(let a=new Ci(t.doc,t.sliceDoc(r,s));!a.next().done;){if(i.length>1e3)return!1;a.value.from==r&&(o=i.length),i.push(G.range(a.value.from,a.value.to))}return e(t.update({selection:G.create(i,o),userEvent:"select.search.matches"})),!0},nx=dl((t,{query:e})=>{let{state:n}=t,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let i=e.nextMatch(n,r,r);if(!i)return!1;let o=i,a=[],l,d,u=[];o.from==r&&o.to==s&&(d=n.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:d}),o=e.nextMatch(n,o.from,o.to),u.push(ie.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let h=t.state.changes(a);return o&&(l=G.single(o.from,o.to).map(h),u.push(Jp(t,o)),u.push(n.facet(Fi).scrollToMatch(l.main,t))),t.dispatch({changes:h,selection:l,effects:u,userEvent:"input.replace"}),!0}),vD=dl((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(s=>{let{from:i,to:o}=s;return{from:i,to:o,insert:e.getReplacement(s)}});if(!n.length)return!1;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:ie.announce.of(r),userEvent:"input.replace.all"}),!0});function Qp(t){return t.state.facet(Fi).createPanel(t)}function Ff(t,e){var n,r,s,i,o;let a=t.selection.main,l=a.empty||a.to>a.from+100?"":t.sliceDoc(a.from,a.to);if(e&&!l)return e;let d=t.facet(Fi);return new P2({search:((n=e?.literal)!==null&&n!==void 0?n:d.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:d.caseSensitive,literal:(s=e?.literal)!==null&&s!==void 0?s:d.literal,regexp:(i=e?.regexp)!==null&&i!==void 0?i:d.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:d.wholeWord})}function O2(t){let e=Xo(t,Qp);return e&&e.dom.querySelector("[main-field]")}function M2(t){let e=O2(t);e&&e==t.root.activeElement&&e.select()}const D2=t=>{let e=t.state.field(Ur,!1);if(e&&e.panel){let n=O2(t);if(n&&n!=t.root.activeElement){let r=Ff(t.state,e.query.spec);r.valid&&t.dispatch({effects:Zo.of(r)}),n.focus(),n.select()}}else t.dispatch({effects:[Xp.of(!0),e?Zo.of(Ff(t.state,e.query.spec)):Se.appendConfig.of(CD)]});return!0},A2=t=>{let e=t.state.field(Ur,!1);if(!e||!e.panel)return!1;let n=Xo(t,Qp);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Xp.of(!1)}),!0},wD=[{key:"Mod-f",run:D2,scope:"editor search-panel"},{key:"F3",run:ld,shift:cd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ld,shift:cd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:A2,scope:"editor search-panel"},{key:"Mod-Shift-l",run:yD},{key:"Mod-Alt-g",run:JM},{key:"Mod-d",run:dD,preventDefault:!0}];class kD{constructor(e){this.view=e;let n=this.query=e.state.field(Ur).query.spec;this.commit=this.commit.bind(this),this.searchField=Re("input",{value:n.search,placeholder:Ut(e,"Find"),"aria-label":Ut(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Re("input",{value:n.replace,placeholder:Ut(e,"Replace"),"aria-label":Ut(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Re("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Re("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Re("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,i,o){return Re("button",{class:"cm-button",name:s,onclick:i,type:"button"},o)}this.dom=Re("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>ld(e),[Ut(e,"next")]),r("prev",()=>cd(e),[Ut(e,"previous")]),r("select",()=>bD(e),[Ut(e,"all")]),Re("label",null,[this.caseField,Ut(e,"match case")]),Re("label",null,[this.reField,Ut(e,"regexp")]),Re("label",null,[this.wordField,Ut(e,"by word")]),...e.state.readOnly?[]:[Re("br"),this.replaceField,r("replace",()=>nx(e),[Ut(e,"replace")]),r("replaceAll",()=>vD(e),[Ut(e,"replace all")])],Re("button",{name:"close",onclick:()=>A2(e),"aria-label":Ut(e,"close"),type:"button"},["×"])])}commit(){let e=new P2({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Zo.of(e)}))}keydown(e){FE(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?cd:ld)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),nx(this.view))}update(e){for(let n of e.transactions)for(let r of n.effects)r.is(Zo)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Fi).top}}function Ut(t,e){return t.state.phrase(e)}const Zl=30,ec=/[\s\.,:;?!]/;function Jp(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),s=t.state.doc.lineAt(n).to,i=Math.max(r.from,e-Zl),o=Math.min(s,n+Zl),a=t.state.sliceDoc(i,o);if(i!=r.from){for(let l=0;l<Zl;l++)if(!ec.test(a[l+1])&&ec.test(a[l])){a=a.slice(l);break}}if(o!=s){for(let l=a.length-1;l>a.length-Zl;l--)if(!ec.test(a[l-1])&&ec.test(a[l])){a=a.slice(0,l);break}}return ie.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${r.number}.`)}const SD=ie.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),CD=[Ur,$s.low(xD),SD];class T2{constructor(e,n,r,s){this.state=e,this.pos=n,this.explicit=r,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=Nt(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),r=Math.max(n.from,this.pos-250),s=n.text.slice(r-n.from,this.pos-n.from),i=s.search(L2(e,!1));return i<0?null:{from:r+i,to:this.pos,text:s.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function rx(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function jD(t){let e=Object.create(null),n=Object.create(null);for(let{label:s}of t){e[s[0]]=!0;for(let i=1;i<s.length;i++)n[s[i]]=!0}let r=rx(e)+rx(n)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function ND(t){let e=t.map(s=>typeof s=="string"?{label:s}:s),[n,r]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:jD(e);return s=>{let i=s.matchBefore(r);return i||s.explicit?{from:i?i.from:s.pos,options:e,validFor:n}:null}}class sx{constructor(e,n,r,s){this.completion=e,this.source=n,this.match=r,this.score=s}}function Cs(t){return t.selection.main.from}function L2(t,e){var n;let{source:r}=t,s=e&&r[0]!="^",i=r[r.length-1]!="$";return!s&&!i?t:new RegExp(`${s?"^":""}(?:${r})${i?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const R2=ir.define();function PD(t,e,n,r){let{main:s}=t.selection,i=n-s.from,o=r-s.from;return{...t.changeByRange(a=>{if(a!=s&&n!=r&&t.sliceDoc(a.from+i,a.from+o)!=t.sliceDoc(n,r))return{range:a};let l=t.toText(e);return{changes:{from:a.from+i,to:r==s.from?a.to:a.from+o,insert:l},range:G.cursor(a.from+i+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const ix=new WeakMap;function ED(t){if(!Array.isArray(t))return t;let e=ix.get(t);return e||ix.set(t,e=ND(t)),e}const dd=Se.define(),ea=Se.define();class OD{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let r=$t(e,n),s=Xn(r);this.chars.push(r);let i=e.slice(n,n+s),o=i.toUpperCase();this.folded.push($t(o==i?i.toLowerCase():o,0)),n+=s}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:n,folded:r,any:s,precise:i,byWord:o}=this;if(n.length==1){let k=$t(e,0),v=Xn(k),w=v==e.length?0:-100;if(k!=n[0])if(k==r[0])w+=-200;else return null;return this.ret(w,[0,v])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=n.length,d=0;if(a<0){for(let k=0,v=Math.min(e.length,200);k<v&&d<l;){let w=$t(e,k);(w==n[d]||w==r[d])&&(s[d++]=k),k+=Xn(w)}if(d<l)return null}let u=0,h=0,f=!1,p=0,m=-1,x=-1,b=/[a-z]/.test(e),y=!0;for(let k=0,v=Math.min(e.length,200),w=0;k<v&&h<l;){let C=$t(e,k);a<0&&(u<l&&C==n[u]&&(i[u++]=k),p<l&&(C==n[p]||C==r[p]?(p==0&&(m=k),x=k+1,p++):p=0));let j,S=C<255?C>=48&&C<=57||C>=97&&C<=122?2:C>=65&&C<=90?1:0:(j=Np(C))!=j.toLowerCase()?1:j!=j.toUpperCase()?2:0;(!k||S==1&&b||w==0&&S!=0)&&(n[h]==C||r[h]==C&&(f=!0)?o[h++]=k:o.length&&(y=!1)),w=S,k+=Xn(C)}return h==l&&o[0]==0&&y?this.result(-100+(f?-200:0),o,e):p==l&&m==0?this.ret(-200-e.length+(x==e.length?0:-100),[0,x]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,x]):h==l?this.result(-100+(f?-200:0)+-700+(y?0:-1100),o,e):n.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,e)}result(e,n,r){let s=[],i=0;for(let o of n){let a=o+(this.astral?Xn($t(r,o)):1);i&&s[i-1]==o?s[i-1]=a:(s[i++]=o,s[i++]=a)}return this.ret(e-r.length,s)}}class MD{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let n=e.slice(0,this.pattern.length),r=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,n.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const ft=de.define({combine(t){return or(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:DD,filterStrict:!1,compareCompletions:(e,n)=>(e.sortText||e.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>r=>ox(e(r),n(r)),optionClass:(e,n)=>r=>ox(e(r),n(r)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function ox(t,e){return t?e?t+" "+e:t:e}function DD(t,e,n,r,s,i){let o=t.textDirection==Be.RTL,a=o,l=!1,d="top",u,h,f=e.left-s.left,p=s.right-e.right,m=r.right-r.left,x=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))u=Math.max(s.top,Math.min(n.top,s.bottom-x))-e.top,h=Math.min(400,a?f:p);else{l=!0,h=Math.min(400,(o?e.right:s.right-e.left)-30);let k=s.bottom-e.bottom;k>=x||k>e.top?u=n.bottom-e.top:(d="bottom",u=e.bottom-n.top)}let b=(e.bottom-e.top)/i.offsetHeight,y=(e.right-e.left)/i.offsetWidth;return{style:`${d}: ${u/b}px; max-width: ${h/y}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function AD(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),n.type&&r.classList.add(...n.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(n,r,s,i){let o=document.createElement("span");o.className="cm-completionLabel";let a=n.displayLabel||n.label,l=0;for(let d=0;d<i.length;){let u=i[d++],h=i[d++];u>l&&o.appendChild(document.createTextNode(a.slice(l,u)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(u,h))),f.className="cm-completionMatchedText",l=h}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(n){if(!n.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=n.detail,r},position:80}),e.sort((n,r)=>n.position-r.position).map(n=>n.render)}function Qu(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let s=Math.floor(e/n);return{from:s*n,to:(s+1)*n}}let r=Math.floor((t-e)/n);return{from:t-(r+1)*n,to:t-r*n}}class TD{constructor(e,n,r){this.view=e,this.stateField=n,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let s=e.state.field(n),{options:i,selected:o}=s.open,a=e.state.facet(ft);this.optionContent=AD(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Qu(i.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:d}=e.state.field(n).open;for(let u=l.target,h;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(h=/-(\d+)$/.exec(u.id))&&+h[1]<d.length){this.applyCompletion(e,d[+h[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let d=e.state.field(this.stateField,!1);d&&d.tooltip&&e.state.facet(ft).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:ea.of(null)})}),this.showOptions(i,s.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let r=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=s){let{options:i,selected:o,disabled:a}=r.open;(!s.open||s.open.options!=i)&&(this.range=Qu(i.length,o,e.state.facet(ft).maxRenderedOptions),this.showOptions(i,r.id)),this.updateSel(),a!=((n=s.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of n.split(" "))r&&this.dom.classList.add(r);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;(n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=Qu(n.options.length,n.selected,this.view.state.facet(ft).maxRenderedOptions),this.showOptions(n.options,e.id));let r=this.updateSelectedOption(n.selected);if(r){this.destroyInfo();let{completion:s}=n.options[n.selected],{info:i}=s;if(!i)return;let o=typeof i=="string"?document.createTextNode(i):i(s);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,s)}).catch(a=>Ft(this.view.state,a,"completion info")):(this.addInfoPane(o,s),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:s,destroy:i}=e;r.appendChild(s),this.infoDestroy=i||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let r=this.list.firstChild,s=this.range.from;r;r=r.nextSibling,s++)r.nodeName!="LI"||!r.id?s--:s==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),n=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return n&&RD(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),i=this.space;if(!i){let o=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return s.top>Math.min(i.bottom,n.bottom)-10||s.bottom<Math.max(i.top,n.top)+10?null:this.view.state.facet(ft).positionInfo(this.view,n,s,r,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,r){const s=document.createElement("ul");s.id=n,s.setAttribute("role","listbox"),s.setAttribute("aria-expanded","true"),s.setAttribute("aria-label",this.view.state.phrase("Completions")),s.addEventListener("mousedown",o=>{o.target==s&&o.preventDefault()});let i=null;for(let o=r.from;o<r.to;o++){let{completion:a,match:l}=e[o],{section:d}=a;if(d){let f=typeof d=="string"?d:d.name;if(f!=i&&(o>r.from||r.from==0))if(i=f,typeof d!="string"&&d.header)s.appendChild(d.header(d));else{let p=s.appendChild(document.createElement("completion-section"));p.textContent=f}}const u=s.appendChild(document.createElement("li"));u.id=n+"-"+o,u.setAttribute("role","option");let h=this.optionClass(a);h&&(u.className=h);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&u.appendChild(p)}}return r.from&&s.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&s.classList.add("cm-completionListIncompleteBottom"),s}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function LD(t,e){return n=>new TD(n,t,e)}function RD(t,e){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),s=n.height/t.offsetHeight;r.top<n.top?t.scrollTop-=(n.top-r.top)/s:r.bottom>n.bottom&&(t.scrollTop+=(r.bottom-n.bottom)/s)}function ax(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function ID(t,e){let n=[],r=null,s=null,i=u=>{n.push(u);let{section:h}=u.completion;if(h){r||(r=[]);let f=typeof h=="string"?h:h.name;r.some(p=>p.name==f)||r.push(typeof h=="string"?{name:f}:h)}},o=e.facet(ft);for(let u of t)if(u.hasResult()){let h=u.result.getMatch;if(u.result.filter===!1)for(let f of u.result.options)i(new sx(f,u.source,h?h(f):[],1e9-n.length));else{let f=e.sliceDoc(u.from,u.to),p,m=o.filterStrict?new MD(f):new OD(f);for(let x of u.result.options)if(p=m.match(x.label)){let b=x.displayLabel?h?h(x,p.matched):[]:p.matched,y=p.score+(x.boost||0);if(i(new sx(x,u.source,b,y)),typeof x.section=="object"&&x.section.rank==="dynamic"){let{name:k}=x.section;s||(s=Object.create(null)),s[k]=Math.max(y,s[k]||-1e9)}}}}if(r){let u=Object.create(null),h=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?s[m.name]-s[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))h-=1e5,u[p.name]=h;for(let p of n){let{section:m}=p.completion;m&&(p.score+=u[typeof m=="string"?m:m.name])}}let a=[],l=null,d=o.compareCompletions;for(let u of n.sort((h,f)=>f.score-h.score||d(h.completion,f.completion))){let h=u.completion;!l||l.label!=h.label||l.detail!=h.detail||l.type!=null&&h.type!=null&&l.type!=h.type||l.apply!=h.apply||l.boost!=h.boost?a.push(u):ax(u.completion)>ax(l)&&(a[a.length-1]=u),l=u.completion}return a}class ni{constructor(e,n,r,s,i,o){this.options=e,this.attrs=n,this.tooltip=r,this.timestamp=s,this.selected=i,this.disabled=o}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new ni(this.options,lx(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,r,s,i,o){if(s&&!o&&e.some(d=>d.isPending))return s.setDisabled();let a=ID(e,n);if(!a.length)return s&&e.some(d=>d.isPending)?s.setDisabled():null;let l=n.facet(ft).selectOnOpen?0:-1;if(s&&s.selected!=l&&s.selected!=-1){let d=s.options[s.selected].completion;for(let u=0;u<a.length;u++)if(a[u].completion==d){l=u;break}}return new ni(a,lx(r,l),{pos:e.reduce((d,u)=>u.hasResult()?Math.min(d,u.from):d,1e8),create:HD,above:i.aboveCursor},s?s.timestamp:Date.now(),l,!1)}map(e){return new ni(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new ni(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class ud{constructor(e,n,r){this.active=e,this.id=n,this.open=r}static start(){return new ud(FD,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,r=n.facet(ft),i=(r.override||n.languageDataAt("autocomplete",Cs(n)).map(ED)).map(l=>(this.active.find(u=>u.source==l)||new gn(l,this.active.some(u=>u.state!=0)?1:0)).update(e,r));i.length==this.active.length&&i.every((l,d)=>l==this.active[d])&&(i=this.active);let o=this.open,a=e.effects.some(l=>l.is(Zp));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||i.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!$D(i,this.active)||a?o=ni.build(i,n,this.id,o,r,a):o&&o.disabled&&!i.some(l=>l.isPending)&&(o=null),!o&&i.every(l=>!l.isPending)&&i.some(l=>l.hasResult())&&(i=i.map(l=>l.hasResult()?new gn(l.source,0):l));for(let l of e.effects)l.is($2)&&(o=o&&o.setSelected(l.value,this.id));return i==this.active&&o==this.open?this:new ud(i,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?BD:_D}}function $D(t,e){if(t==e)return!0;for(let n=0,r=0;;){for(;n<t.length&&!t[n].hasResult();)n++;for(;r<e.length&&!e[r].hasResult();)r++;let s=n==t.length,i=r==e.length;if(s||i)return s==i;if(t[n++].result!=e[r++].result)return!1}}const BD={"aria-autocomplete":"list"},_D={};function lx(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}const FD=[];function I2(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(R2);if(r&&e.activateOnCompletion(r))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class gn{constructor(e,n,r=!1){this.source=e,this.state=n,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let r=I2(e,n),s=this;(r&8||r&16&&this.touches(e))&&(s=new gn(s.source,0)),r&4&&s.state==0&&(s=new gn(this.source,1)),s=s.updateFor(e,r);for(let i of e.effects)if(i.is(dd))s=new gn(s.source,1,i.value);else if(i.is(ea))s=new gn(s.source,0);else if(i.is(Zp))for(let o of i.value)o.source==s.source&&(s=o);return s}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Cs(e.state))}}class fi extends gn{constructor(e,n,r,s,i,o){super(e,3,n),this.limit=r,this.result=s,this.from=i,this.to=o}hasResult(){return!0}updateFor(e,n){var r;if(!(n&3))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let i=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=Cs(e.state);if(a>o||!s||n&2&&(Cs(e.startState)==this.from||a<this.limit))return new gn(this.source,n&4?1:0);let l=e.changes.mapPos(this.limit);return zD(s.validFor,e.state,i,o)?new fi(this.source,this.explicit,l,s,i,o):s.update&&(s=s.update(s,i,o,new T2(e.state,a,!1)))?new fi(this.source,this.explicit,l,s,s.from,(r=s.to)!==null&&r!==void 0?r:Cs(e.state)):new gn(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new fi(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new gn(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function zD(t,e,n,r){if(!t)return!1;let s=e.sliceDoc(n,r);return typeof t=="function"?t(s,n,r,e):L2(t,!0).test(s)}const Zp=Se.define({map(t,e){return t.map(n=>n.map(e))}}),$2=Se.define(),Bt=kt.define({create(){return ud.start()},update(t,e){return t.update(e)},provide:t=>[Hp.from(t,e=>e.tooltip),ie.contentAttributes.from(t,e=>e.attrs)]});function em(t,e){const n=e.completion.apply||e.completion.label;let r=t.state.field(Bt).active.find(s=>s.source==e.source);return r instanceof fi?(typeof n=="string"?t.dispatch({...PD(t.state,n,r.from,r.to),annotations:R2.of(e.completion)}):n(t,e.completion,r.from,r.to),!0):!1}const HD=LD(Bt,em);function tc(t,e="option"){return n=>{let r=n.state.field(Bt,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(ft).interactionDelay)return!1;let s=1,i;e=="page"&&(i=Nw(n,r.open.tooltip))&&(s=Math.max(2,Math.floor(i.dom.offsetHeight/i.dom.querySelector("li").offsetHeight)-1));let{length:o}=r.open.options,a=r.open.selected>-1?r.open.selected+s*(t?1:-1):t?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),n.dispatch({effects:$2.of(a)}),!0}}const VD=t=>{let e=t.state.field(Bt,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(ft).interactionDelay?!1:em(t,e.open.options[e.open.selected])},Ju=t=>t.state.field(Bt,!1)?(t.dispatch({effects:dd.of(!0)}),!0):!1,WD=t=>{let e=t.state.field(Bt,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:ea.of(null)}),!0)};class KD{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const UD=50,GD=1e3,qD=Je.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Bt).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Bt),n=t.state.facet(ft);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Bt)==e)return;let r=t.transactions.some(i=>{let o=I2(i,n);return o&8||(i.selection||i.docChanged)&&!(o&3)});for(let i=0;i<this.running.length;i++){let o=this.running[i];if(r||o.context.abortOnDocChange&&t.docChanged||o.updates.length+t.transactions.length>UD&&Date.now()-o.time>GD){for(let a of o.context.abortListeners)try{a()}catch(l){Ft(this.view.state,l)}o.context.abortListeners=null,this.running.splice(i--,1)}else o.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(i=>i.effects.some(o=>o.is(dd)))&&(this.pendingStart=!0);let s=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(i=>i.isPending&&!this.running.some(o=>o.active.source==i.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let i of t.transactions)i.isUserEvent("input.type")?this.composing=2:this.composing==2&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Bt);for(let n of e.active)n.isPending&&!this.running.some(r=>r.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ft).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=Cs(e),r=new T2(e,n,t.explicit,this.view),s=new KD(t,r);this.running.push(s),Promise.resolve(t.source(r)).then(i=>{s.context.aborted||(s.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:ea.of(null)}),Ft(this.view.state,i)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ft).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(ft),r=this.view.state.field(Bt);for(let s=0;s<this.running.length;s++){let i=this.running[s];if(i.done===void 0)continue;if(this.running.splice(s--,1),i.done){let a=Cs(i.updates.length?i.updates[0].startState:this.view.state),l=Math.min(a,i.done.from+(i.active.explicit?0:1)),d=new fi(i.active.source,i.active.explicit,l,i.done,i.done.from,(t=i.done.to)!==null&&t!==void 0?t:a);for(let u of i.updates)d=d.update(u,n);if(d.hasResult()){e.push(d);continue}}let o=r.active.find(a=>a.source==i.active.source);if(o&&o.isPending)if(i.done==null){let a=new gn(i.active.source,0);for(let l of i.updates)a=a.update(l,n);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:Zp.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Bt,!1);if(e&&e.tooltip&&this.view.state.facet(ft).closeOnBlur){let n=e.open&&Nw(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:ea.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:dd.of(!1)}),20),this.composing=0}}}),YD=typeof navigator=="object"&&/Win/.test(navigator.platform),XD=$s.highest(ie.domEventHandlers({keydown(t,e){let n=e.state.field(Bt,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(YD&&t.altKey)||t.metaKey)return!1;let r=n.open.options[n.open.selected],s=n.active.find(o=>o.source==r.source),i=r.completion.commitCharacters||s.result.commitCharacters;return i&&i.indexOf(t.key)>-1&&em(e,r),!1}})),QD=ie.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),ta={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},ws=Se.define({map(t,e){let n=e.mapPos(t,-1,Dt.TrackAfter);return n??void 0}}),tm=new class extends Yr{};tm.startSide=1;tm.endSide=-1;const B2=kt.define({create(){return Ne.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=n.from&&r<=n.to})}for(let n of e.effects)n.is(ws)&&(t=t.update({add:[tm.range(n.value,n.value+1)]}));return t}});function JD(){return[eA,B2]}const Zu="()[]{}<>«»»«[]{}";function _2(t){for(let e=0;e<Zu.length;e+=2)if(Zu.charCodeAt(e)==t)return Zu.charAt(e+1);return Np(t<128?t:t+1)}function F2(t,e){return t.languageDataAt("closeBrackets",e)[0]||ta}const ZD=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),eA=ie.inputHandler.of((t,e,n,r)=>{if((ZD?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let s=t.state.selection.main;if(r.length>2||r.length==2&&Xn($t(r,0))==1||e!=s.from||n!=s.to)return!1;let i=rA(t.state,r);return i?(t.dispatch(i),!0):!1}),tA=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=F2(t,t.selection.main.head).brackets||ta.brackets,s=null,i=t.changeByRange(o=>{if(o.empty){let a=sA(t.doc,o.head);for(let l of r)if(l==a&&Qd(t.doc,o.head)==_2($t(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:G.cursor(o.head-l.length)}}return{range:s=o}});return s||e(t.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},nA=[{key:"Backspace",run:tA}];function rA(t,e){let n=F2(t,t.selection.main.head),r=n.brackets||ta.brackets;for(let s of r){let i=_2($t(s,0));if(e==s)return i==s?aA(t,s,r.indexOf(s+s+s)>-1,n):iA(t,s,i,n.before||ta.before);if(e==i&&z2(t,t.selection.main.from))return oA(t,s,i)}return null}function z2(t,e){let n=!1;return t.field(B2).between(0,t.doc.length,r=>{r==e&&(n=!0)}),n}function Qd(t,e){let n=t.sliceString(e,e+2);return n.slice(0,Xn($t(n,0)))}function sA(t,e){let n=t.sliceString(e-2,e);return Xn($t(n,0))==n.length?n:n.slice(1)}function iA(t,e,n,r){let s=null,i=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:n,from:o.to}],effects:ws.of(o.to+e.length),range:G.range(o.anchor+e.length,o.head+e.length)};let a=Qd(t.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+n,from:o.head},effects:ws.of(o.head+e.length),range:G.cursor(o.head+e.length)}:{range:s=o}});return s?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function oA(t,e,n){let r=null,s=t.changeByRange(i=>i.empty&&Qd(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:G.cursor(i.head+n.length)}:r={range:i});return r?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function aA(t,e,n,r){let s=r.stringPrefixes||ta.stringPrefixes,i=null,o=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:ws.of(a.to+e.length),range:G.range(a.anchor+e.length,a.head+e.length)};let l=a.head,d=Qd(t.doc,l),u;if(d==e){if(cx(t,l))return{changes:{insert:e+e,from:l},effects:ws.of(l+e.length),range:G.cursor(l+e.length)};if(z2(t,l)){let f=n&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:G.cursor(l+f.length)}}}else{if(n&&t.sliceDoc(l-2*e.length,l)==e+e&&(u=dx(t,l-2*e.length,s))>-1&&cx(t,u))return{changes:{insert:e+e+e+e,from:l},effects:ws.of(l+e.length),range:G.cursor(l+e.length)};if(t.charCategorizer(l)(d)!=ze.Word&&dx(t,l,s)>-1&&!lA(t,l,e,s))return{changes:{insert:e+e,from:l},effects:ws.of(l+e.length),range:G.cursor(l+e.length)}}return{range:i=a}});return i?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function cx(t,e){let n=Nt(t).resolveInner(e+1);return n.parent&&n.from==e}function lA(t,e,n,r){let s=Nt(t).resolveInner(e,-1),i=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=t.sliceDoc(s.from,Math.min(s.to,s.from+n.length+i)),l=a.indexOf(n);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let u=s.firstChild;for(;u&&u.from==s.from&&u.to-u.from>n.length+l;){if(t.sliceDoc(u.to-n.length,u.to)==n)return!1;u=u.firstChild}return!0}let d=s.to==e&&s.parent;if(!d)break;s=d}return!1}function dx(t,e,n){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=ze.Word)return e;for(let s of n){let i=e-s.length;if(t.sliceDoc(i,e)==s&&r(t.sliceDoc(i-1,i))!=ze.Word)return i}return-1}function cA(t={}){return[XD,Bt,ft.of(t),qD,dA,QD]}const H2=[{key:"Ctrl-Space",run:Ju},{mac:"Alt-`",run:Ju},{mac:"Alt-i",run:Ju},{key:"Escape",run:WD},{key:"ArrowDown",run:tc(!0)},{key:"ArrowUp",run:tc(!1)},{key:"PageDown",run:tc(!0,"page")},{key:"PageUp",run:tc(!1,"page")},{key:"Enter",run:VD}],dA=$s.highest(Hd.computeN([ft],t=>t.facet(ft).defaultKeymap?[H2]:[]));class ux{constructor(e,n,r){this.from=e,this.to=n,this.diagnostic=r}}class ps{constructor(e,n,r){this.diagnostics=e,this.panel=n,this.selected=r}static init(e,n,r){let s=r.facet(na).markerFilter;s&&(e=s(e,r));let i=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),o=new wr,a=[],l=0,d=r.doc.iter(),u=0,h=r.doc.length;for(let p=0;;){let m=p==i.length?null:i[p];if(!m&&!a.length)break;let x,b;if(a.length)x=l,b=a.reduce((v,w)=>Math.min(v,w.to),m&&m.from>x?m.from:1e8);else{if(x=m.from,x>h)break;b=m.to,a.push(m),p++}for(;p<i.length;){let v=i[p];if(v.from==x&&(v.to>v.from||v.to==x))a.push(v),p++,b=Math.min(v.to,b);else{b=Math.min(v.from,b);break}}b=Math.min(b,h);let y=!1;if(a.some(v=>v.from==x&&(v.to==b||b==h))&&(y=x==b,!y&&b-x<10)){let v=x-(u+d.value.length);v>0&&(d.next(v),u=x);for(let w=x;;){if(w>=b){y=!0;break}if(!d.lineBreak&&u+d.value.length>w)break;w=u+d.value.length,u+=d.value.length,d.next()}}let k=SA(a);if(y)o.add(x,x,ve.widget({widget:new yA(k),diagnostics:a.slice()}));else{let v=a.reduce((w,C)=>C.markClass?w+" "+C.markClass:w,"");o.add(x,b,ve.mark({class:"cm-lintRange cm-lintRange-"+k+v,diagnostics:a.slice(),inclusiveEnd:a.some(w=>w.to>b)}))}if(l=b,l==h)break;for(let v=0;v<a.length;v++)a[v].to<=l&&a.splice(v--,1)}let f=o.finish();return new ps(f,n,ji(f))}}function ji(t,e=null,n=0){let r=null;return t.between(n,1e9,(s,i,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new ux(s,i,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new ux(r.from,i,r.diagnostic)}}),r}function uA(t,e){let n=e.pos,r=e.end||n,s=t.state.facet(na).hideOn(t,n,r);if(s!=null)return s;let i=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(o=>o.is(V2))||t.changes.touchesRange(i.from,Math.max(i.to,r)))}function hA(t,e){return t.field(Qt,!1)?e:e.concat(Se.appendConfig.of(CA))}const V2=Se.define(),nm=Se.define(),W2=Se.define(),Qt=kt.define({create(){return new ps(ve.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),r=null,s=t.panel;if(t.selected){let i=e.changes.mapPos(t.selected.from,1);r=ji(n,t.selected.diagnostic,i)||ji(n,null,i)}!n.size&&s&&e.state.facet(na).autoPanel&&(s=null),t=new ps(n,s,r)}for(let n of e.effects)if(n.is(V2)){let r=e.state.facet(na).autoPanel?n.value.length?ra.open:null:t.panel;t=ps.init(n.value,r,e.state)}else n.is(nm)?t=new ps(t.diagnostics,n.value?ra.open:null,t.selected):n.is(W2)&&(t=new ps(t.diagnostics,t.panel,n.value));return t},provide:t=>[Qo.from(t,e=>e.panel),ie.decorations.from(t,e=>e.diagnostics)]}),fA=ve.mark({class:"cm-lintRange cm-lintRange-active"});function pA(t,e,n){let{diagnostics:r}=t.state.field(Qt),s,i=-1,o=-1;r.between(e-(n<0?1:0),e+(n>0?1:0),(l,d,{spec:u})=>{if(e>=l&&e<=d&&(l==d||(e>l||n>0)&&(e<d||n<0)))return s=u.diagnostics,i=l,o=d,!1});let a=t.state.facet(na).tooltipFilter;return s&&a&&(s=a(s,t.state)),s?{pos:i,end:o,above:t.state.doc.lineAt(i).to<o,create(){return{dom:mA(t,s)}}}:null}function mA(t,e){return Re("ul",{class:"cm-tooltip-lint"},e.map(n=>U2(t,n,!1)))}const gA=t=>{let e=t.state.field(Qt,!1);(!e||!e.panel)&&t.dispatch({effects:hA(t.state,[nm.of(!0)])});let n=Xo(t,ra.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},hx=t=>{let e=t.state.field(Qt,!1);return!e||!e.panel?!1:(t.dispatch({effects:nm.of(!1)}),!0)},xA=t=>{let e=t.state.field(Qt,!1);if(!e)return!1;let n=t.state.selection.main,r=e.diagnostics.iter(n.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},bA=[{key:"Mod-Shift-m",run:gA,preventDefault:!0},{key:"F8",run:xA}],na=de.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...or(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:fx,tooltipFilter:fx,needsRefresh:(e,n)=>e?n?r=>e(r)||n(r):e:n,hideOn:(e,n)=>e?n?(r,s,i)=>e(r,s,i)||n(r,s,i):e:n,autoPanel:(e,n)=>e||n})}}});function fx(t,e){return t?e?(n,r)=>e(t(n,r),r):t:e}function K2(t){let e=[];if(t)e:for(let{name:n}of t){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!e.some(i=>i.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function U2(t,e,n){var r;let s=n?K2(e.actions):[];return Re("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Re("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((i,o)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=ji(t.state.field(Qt).diagnostics,e);m&&i.apply(t,m.from,m.to)},{name:d}=i,u=s[o]?d.indexOf(s[o]):-1,h=u<0?d:[d.slice(0,u),Re("u",d.slice(u,u+1)),d.slice(u+1)],f=i.markClass?" "+i.markClass:"";return Re("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${d}${u<0?"":` (access key "${s[o]})"`}.`},h)}),e.source&&Re("div",{class:"cm-diagnosticSource"},e.source))}class yA extends ar{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Re("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class px{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=U2(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class ra{constructor(e){this.view=e,this.items=[];let n=s=>{if(s.keyCode==27)hx(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:i}=this.items[this.selectedIndex],o=K2(i.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==s.keyCode){let l=ji(this.view.state.field(Qt).diagnostics,i);l&&i.actions[a].apply(e,l.from,l.to)}}else return;s.preventDefault()},r=s=>{for(let i=0;i<this.items.length;i++)this.items[i].dom.contains(s.target)&&this.moveSelection(i)};this.list=Re("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=Re("div",{class:"cm-panel-lint"},this.list,Re("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>hx(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Qt).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(Qt),r=0,s=!1,i=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:d})=>{for(let u of d.diagnostics){if(o.has(u))continue;o.add(u);let h=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==u){h=p;break}h<0?(f=new px(this.view,u),this.items.splice(r,0,f),s=!0):(f=this.items[h],h>r&&(this.items.splice(r,h-r),s=!0)),n&&f.diagnostic==n.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),i=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new px(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),i?(this.list.setAttribute("aria-activedescendant",i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let d=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/d:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/d)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function n(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)n();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(Qt),r=ji(n.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:W2.of(r)})}static open(e){return new ra(e)}}function vA(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function nc(t){return vA(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const wA=ie.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:nc("#d11")},".cm-lintRange-warning":{backgroundImage:nc("orange")},".cm-lintRange-info":{backgroundImage:nc("#999")},".cm-lintRange-hint":{backgroundImage:nc("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function kA(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function SA(t){let e="hint",n=1;for(let r of t){let s=kA(r.severity);s>n&&(n=s,e=r.severity)}return e}const CA=[Qt,ie.decorations.compute([Qt],t=>{let{selected:e,panel:n}=t.field(Qt);return!e||!n||e.from==e.to?ve.none:ve.set([fA.range(e.from,e.to)])}),EO(pA,{hideOn:uA}),wA];var mx=function(e){e===void 0&&(e={});var{crosshairCursor:n=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(nA)),e.defaultKeymap!==!1&&(r=r.concat(YM)),e.searchKeymap!==!1&&(r=r.concat(wD)),e.historyKeymap!==!1&&(r=r.concat(nM)),e.foldKeymap!==!1&&(r=r.concat(f6)),e.completionKeymap!==!1&&(r=r.concat(H2)),e.lintKeymap!==!1&&(r=r.concat(bA));var s=[];return e.lineNumbers!==!1&&s.push(_O()),e.highlightActiveLineGutter!==!1&&s.push(HO()),e.highlightSpecialChars!==!1&&s.push(rO()),e.history!==!1&&s.push(G6()),e.foldGutter!==!1&&s.push(x6()),e.drawSelection!==!1&&s.push(UE()),e.dropCursor!==!1&&s.push(QE()),e.allowMultipleSelections!==!1&&s.push(Oe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&s.push(r6()),e.syntaxHighlighting!==!1&&s.push(Kp(w6,{fallback:!0})),e.bracketMatching!==!1&&s.push(E6()),e.closeBrackets!==!1&&s.push(JD()),e.autocompletion!==!1&&s.push(cA()),e.rectangularSelection!==!1&&s.push(xO()),n!==!1&&s.push(vO()),e.highlightActiveLine!==!1&&s.push(cO()),e.highlightSelectionMatches!==!1&&s.push(nD()),e.tabSize&&typeof e.tabSize=="number"&&s.push(Wd.of(" ".repeat(e.tabSize))),s.concat([Hd.of(r.flat())]).filter(Boolean)};const jA="#e5c07b",gx="#e06c75",NA="#56b6c2",PA="#ffffff",Dc="#abb2bf",zf="#7d8799",EA="#61afef",OA="#98c379",xx="#d19a66",MA="#c678dd",DA="#21252b",bx="#2c313a",yx="#282c34",eh="#353a42",AA="#3E4451",vx="#528bff",TA=ie.theme({"&":{color:Dc,backgroundColor:yx},".cm-content":{caretColor:vx},".cm-cursor, .cm-dropCursor":{borderLeftColor:vx},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:AA},".cm-panels":{backgroundColor:DA,color:Dc},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:yx,color:zf,border:"none"},".cm-activeLineGutter":{backgroundColor:bx},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:eh},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:eh,borderBottomColor:eh},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:bx,color:Dc}}},{dark:!0}),LA=Bi.define([{tag:K.keyword,color:MA},{tag:[K.name,K.deleted,K.character,K.propertyName,K.macroName],color:gx},{tag:[K.function(K.variableName),K.labelName],color:EA},{tag:[K.color,K.constant(K.name),K.standard(K.name)],color:xx},{tag:[K.definition(K.name),K.separator],color:Dc},{tag:[K.typeName,K.className,K.number,K.changed,K.annotation,K.modifier,K.self,K.namespace],color:jA},{tag:[K.operator,K.operatorKeyword,K.url,K.escape,K.regexp,K.link,K.special(K.string)],color:NA},{tag:[K.meta,K.comment],color:zf},{tag:K.strong,fontWeight:"bold"},{tag:K.emphasis,fontStyle:"italic"},{tag:K.strikethrough,textDecoration:"line-through"},{tag:K.link,color:zf,textDecoration:"underline"},{tag:K.heading,fontWeight:"bold",color:gx},{tag:[K.atom,K.bool,K.special(K.variableName)],color:xx},{tag:[K.processingInstruction,K.string,K.inserted],color:OA},{tag:K.invalid,color:PA}]),RA=[TA,Kp(LA)];var IA=ie.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),$A=function(e){e===void 0&&(e={});var{indentWithTab:n=!0,editable:r=!0,readOnly:s=!1,theme:i="light",placeholder:o="",basicSetup:a=!0}=e,l=[];switch(n&&l.unshift(Hd.of([XM])),a&&(typeof a=="boolean"?l.unshift(mx()):l.unshift(mx(a))),o&&l.unshift(fO(o)),i){case"light":l.push(IA);break;case"dark":l.push(RA);break;case"none":break;default:l.push(i);break}return r===!1&&l.push(ie.editable.of(!1)),s&&l.push(Oe.readOnly.of(!0)),[...l]},BA=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class _A{constructor(e,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class wx{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var th=null,FA=()=>typeof window>"u"?new wx:(th||(th=new wx),th),kx=ir.define(),zA=200,HA=[];function VA(t){var{value:e,selection:n,onChange:r,onStatistics:s,onCreateEditor:i,onUpdate:o,extensions:a=HA,autoFocus:l,theme:d="light",height:u=null,minHeight:h=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:x=null,placeholder:b="",editable:y=!0,readOnly:k=!1,indentWithTab:v=!0,basicSetup:w=!0,root:C,initialState:j}=t,[S,E]=g.useState(),[O,A]=g.useState(),[P,L]=g.useState(),_=g.useState(()=>({current:null}))[0],N=g.useState(()=>({current:null}))[0],M=ie.theme({"&":{height:u,minHeight:h,maxHeight:f,width:p,minWidth:m,maxWidth:x},"& .cm-scroller":{height:"100% !important"}}),D=ie.updateListener.of($=>{if($.docChanged&&typeof r=="function"&&!$.transactions.some(F=>F.annotation(kx))){_.current?_.current.reset():(_.current=new _A(()=>{if(N.current){var F=N.current;N.current=null,F()}_.current=null},zA),FA().add(_.current));var V=$.state.doc,W=V.toString();r(W,$)}s&&s(BA($))}),I=$A({theme:d,editable:y,readOnly:k,placeholder:b,indentWithTab:v,basicSetup:w}),R=[D,M,...I];return o&&typeof o=="function"&&R.push(ie.updateListener.of(o)),R=R.concat(a),g.useLayoutEffect(()=>{if(S&&!P){var $={doc:e,selection:n,extensions:R},V=j?Oe.fromJSON(j.json,$,j.fields):Oe.create($);if(L(V),!O){var W=new ie({state:V,parent:S,root:C});A(W),i&&i(W,V)}}return()=>{O&&(L(void 0),A(void 0))}},[S,P]),g.useEffect(()=>{t.container&&E(t.container)},[t.container]),g.useEffect(()=>()=>{O&&(O.destroy(),A(void 0)),_.current&&(_.current.cancel(),_.current=null)},[O]),g.useEffect(()=>{l&&O&&O.focus()},[l,O]),g.useEffect(()=>{O&&O.dispatch({effects:Se.reconfigure.of(R)})},[d,a,u,h,f,p,m,x,b,y,k,v,w,r,o]),g.useEffect(()=>{if(e!==void 0){var $=O?O.state.doc.toString():"";if(O&&e!==$){var V=_.current&&!_.current.isDone,W=()=>{O&&e!==O.state.doc.toString()&&O.dispatch({changes:{from:0,to:O.state.doc.toString().length,insert:e||""},annotations:[kx.of(!0)]})};V?N.current=W:W()}}},[e,O]),{state:P,setState:L,view:O,setView:A,container:S,setContainer:E}}var WA=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],G2=g.forwardRef((t,e)=>{var{className:n,value:r="",selection:s,extensions:i=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:d,autoFocus:u,theme:h="light",height:f,minHeight:p,maxHeight:m,width:x,minWidth:b,maxWidth:y,basicSetup:k,placeholder:v,indentWithTab:w,editable:C,readOnly:j,root:S,initialState:E}=t,O=$6(t,WA),A=g.useRef(null),{state:P,view:L,container:_,setContainer:N}=VA({root:S,value:r,autoFocus:u,theme:h,height:f,minHeight:p,maxHeight:m,width:x,minWidth:b,maxWidth:y,basicSetup:k,placeholder:v,indentWithTab:w,editable:C,readOnly:j,selection:s,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:d,extensions:i,initialState:E});g.useImperativeHandle(e,()=>({editor:A.current,state:P,view:L}),[A,_,P,L]);var M=g.useCallback(I=>{A.current=I,N(I)},[N]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var D=typeof h=="string"?"cm-theme-"+h:"cm-theme";return c.jsx("div",Lf({ref:M,className:""+D+(n?" "+n:"")},O))});G2.displayName="CodeMirror";const KA=()=>{const t=ie.theme({"&":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text)",height:"100%"},".cm-editor":{height:"100% !important"},".cm-content":{caretColor:"var(--dash-accent)",fontFamily:"'JetBrains Mono', Menlo, monospace",padding:"1rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--dash-accent)"},"& ::selection":{backgroundColor:"var(--dash-accent-selection) !important",color:"inherit !important"},".cm-gutters":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text-muted)",border:"none",borderRight:"1px solid var(--dash-border)",paddingRight:"0.5rem"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 1rem",minWidth:"3rem"},".cm-activeLineGutter":{backgroundColor:"var(--dash-accent-subtle)",color:"var(--dash-accent)",fontWeight:"600"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--dash-accent) 8%, transparent)"},".cm-matchingBracket":{backgroundColor:"var(--dash-accent-subtle)",outline:"1px solid var(--dash-accent)"},".cm-scroller":{overflow:"auto !important",height:"100%",maxHeight:"100%"}}),e=Bi.define([{tag:K.propertyName,color:"var(--dash-accent)"},{tag:K.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:K.number,color:"var(--dash-accent-hover)"},{tag:K.bool,color:"var(--dash-accent-hover)"},{tag:K.null,color:"var(--dash-text-muted)"},{tag:K.punctuation,color:"var(--dash-text-secondary)"},{tag:K.brace,color:"var(--dash-text-secondary)"},{tag:K.bracket,color:"var(--dash-text-secondary)"}]);return[t,Kp(e)]},UA=({value:t,onChange:e,onCursorLineChange:n,onEditorFocus:r,height:s="100%",readOnly:i=!1,className:o})=>{const a=g.useMemo(()=>[I6(),ie.lineWrapping,...KA()],[]),l=g.useMemo(()=>{if(n)return d=>{const u=d.state.selection.main.head,h=d.view.state.doc.lineAt(u).number-1;n(h)}},[n]);return c.jsx("div",{className:`h-full [&_.cm-editor]:h-full [&_.cm-editor]:outline-none [&_.cm-focused]:outline-none ${o??""}`.trim(),children:c.jsx(G2,{value:t,height:s,extensions:a,onChange:e,onFocus:r,onUpdate:l,theme:"none",readOnly:i,basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightActiveLine:!0,foldGutter:!1,dropCursor:!0,drawSelection:!1,allowMultipleSelections:!1,indentOnInput:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,rectangularSelection:!1,crosshairCursor:!1,highlightSelectionMatches:!0}})})},rm=({width:t,isLoading:e,jsonText:n,cursorLine:r,syntaxError:s,onChange:i,onEditorFocus:o,onCursorLineChange:a,readOnly:l=!1,headerTitle:d,headerPath:u,headerActions:h})=>{const{t:f}=re(),p=m=>{if(l||!m.target.closest(".cm-editor"))return;const b=m.currentTarget;b.scrollHeight<=b.clientHeight||(b.scrollTop+=m.deltaY)};return c.jsxs("div",{style:{width:`${t}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0 h-full",children:[c.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:c.jsxs("div",{className:"flex items-end justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:d??f("jsonTab")}),u&&c.jsx("p",{className:"mt-1 mono text-[11px] text-dash-text-muted truncate",children:u})]}),h&&c.jsx("div",{className:"flex items-center gap-2 shrink-0",children:h})]})}),c.jsx("div",{className:"flex-1 min-h-0 overflow-auto",onWheelCapture:p,children:e?c.jsx("div",{className:"h-full flex items-center justify-center",children:c.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:f("loading")})}):l?c.jsx("pre",{className:"h-full overflow-auto p-4 font-mono text-xs leading-4 text-dash-text whitespace-pre m-0",children:n}):c.jsx(UA,{value:n,onChange:i,onEditorFocus:o,onCursorLineChange:a,readOnly:l,className:"[&_.cm-content]:text-xs [&_.cm-content]:leading-4 [&_.cm-gutters]:text-xs [&_.cm-gutters]:leading-4"})}),c.jsxs("div",{className:"px-4 py-2 bg-dash-surface-hover/30 border-t border-dash-border text-[10px] text-dash-text-muted flex justify-between uppercase tracking-widest font-bold",children:[c.jsxs("div",{className:"flex gap-4",children:[c.jsx("span",{children:"UTF-8"}),c.jsx("span",{children:"JSON"}),c.jsxs("span",{children:["L:",r+1]})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[l&&c.jsx("span",{children:f("readOnly")}),s?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"}),c.jsx("span",{className:"text-red-500 normal-case",children:s})]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),f("syntaxValid")]})]})]})]})},Sx=({label:t,value:e})=>c.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 bg-dash-bg border border-dash-border rounded-md",children:[c.jsxs("span",{className:"text-[9px] font-bold text-dash-text-muted uppercase",children:[t,":"]}),c.jsx("span",{className:"text-[10px] mono font-bold text-dash-text-secondary",children:e})]}),q2=({width:t,fieldDoc:e,activeFieldPath:n,extraContent:r,overrideBadge:s})=>{const{t:i,lang:o}=re(),a=e??(n?Xv[n]??{path:n,type:"unknown",default:"n/a",description:"Help is being resolved for this field. Try editing the value or switching to the JSON view for schema-based details.",descriptionVi:"Đang tải trợ giúp cho trường này. Hãy thử chỉnh sửa giá trị hoặc chuyển sang chế độ JSON để xem mô tả suy ra từ schema."}:null);return c.jsxs("div",{style:{width:`${t}%`},className:"bg-dash-surface border border-dash-border rounded-xl flex flex-col shadow-sm overflow-hidden min-w-0",children:[c.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:c.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:i("configurationHelp")})}),c.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:a?c.jsxs("div",{className:"space-y-5 animate-in fade-in duration-500",children:[c.jsxs("header",{children:[c.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[c.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded font-mono uppercase font-bold",children:i("field")}),c.jsx("h2",{className:"text-base font-bold text-dash-text mono break-all",children:a.path}),s]}),c.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[c.jsx(Sx,{label:i("type"),value:a.type}),c.jsx(Sx,{label:i("default"),value:a.default})]})]}),c.jsxs("section",{children:[c.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:i("description")}),c.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed italic",children:o==="vi"?a.descriptionVi:a.description})]}),a.validValues&&c.jsxs("section",{children:[c.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:i("validValues")}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:a.validValues.map(l=>c.jsx("span",{className:"px-2 py-0.5 bg-dash-bg border border-dash-border rounded text-[11px] mono text-dash-text",children:l},l))})]}),a.effect&&c.jsxs("section",{className:"bg-dash-accent-subtle/30 p-3 rounded-lg border border-dash-accent/10",children:[c.jsx("h4",{className:"text-[10px] font-bold text-dash-accent uppercase tracking-widest mb-1",children:i("systemEffect")}),c.jsx("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:o==="vi"&&a.effectVi?a.effectVi:a.effect})]}),a.example&&c.jsxs("section",{children:[c.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:i("exampleUsage")}),c.jsx("div",{className:"bg-dash-bg p-3 rounded-lg border border-dash-border overflow-hidden",children:c.jsx("pre",{className:"text-[11px] mono text-dash-text-secondary whitespace-pre overflow-x-auto",children:a.example})})]}),r]}):c.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center opacity-40 space-y-4",children:[c.jsx("div",{className:"w-10 h-10 rounded-full bg-dash-bg border border-dash-border flex items-center justify-center text-lg",children:"?"}),c.jsxs("div",{className:"max-w-[180px]",children:[c.jsx("p",{className:"text-sm font-bold text-dash-text mb-1 italic",children:i("knowledgeBase")}),c.jsx("p",{className:"text-xs text-dash-text-secondary",children:i("clickToSeeHelp")})]})]})}),a&&c.jsx("div",{className:"p-3 bg-dash-surface-hover/20 border-t border-dash-border shrink-0",children:c.jsxs("p",{className:"text-[10px] text-dash-text-muted font-medium flex items-center gap-1.5 italic",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),i("extractedFrom")]})})]})},GA=({variant:t="development"})=>{const{t:e}=re(),n={development:e("developmentFeature"),beta:e("betaFeature"),experimental:e("experimentalFeature")};return c.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-2 py-0.5 rounded-full font-bold border border-orange-500/30 uppercase tracking-wider",children:n[t]})},Cx={codex:{heavy:{model:"gpt-5.4",effort:"xhigh"},balanced:{model:"gpt-5.4",effort:"high"},light:{model:"gpt-5.4-mini",effort:"medium"}},"gemini-cli":{heavy:{model:"gemini-3.1-pro-preview"},balanced:{model:"gemini-3.1-pro-preview"},light:{model:"gemini-3-flash-preview"}}},qA={codex:"Codex","gemini-cli":"Gemini CLI"},jx=["heavy","balanced","light"];function Nx(t,e){return e.split(".").reduce((n,r)=>{if(n!=null&&typeof n=="object"&&r in n)return n[r]},t)}const Px="bg-transparent border border-dash-border rounded px-2 py-1 text-sm text-dash-text placeholder:text-dash-text-muted focus:border-dash-accent focus:outline-none w-full",YA=({config:t,onChange:e})=>{const{t:n}=re(),[r,s]=g.useState(!1),i=(l,d,u,h)=>{const f=`modelTaxonomy.${l}.${d}.${u}`;e(f,h===""?void 0:h)},o=l=>{for(const d of jx)e(`modelTaxonomy.${l}.${d}.model`,void 0),Cx[l]?.[d]?.effort!==void 0&&e(`modelTaxonomy.${l}.${d}.effort`,void 0)},a=l=>n(l==="heavy"?"taxonomyTierHeavy":l==="balanced"?"taxonomyTierBalanced":"taxonomyTierLight");return c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg overflow-hidden flex flex-col h-full",children:[c.jsxs("button",{type:"button",onClick:()=>s(!r),className:"w-full flex items-center justify-between px-4 py-3 bg-dash-surface-hover/30 hover:bg-dash-surface-hover/50 transition-colors","aria-expanded":!r,"aria-controls":"section-model-taxonomy",children:[c.jsx("h3",{className:"text-sm font-bold text-dash-text uppercase tracking-wider",children:n("sectionModelTaxonomy")}),c.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform duration-200 ${r?"":"rotate-180"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),!r&&c.jsx("div",{id:"section-model-taxonomy",className:"flex-1 overflow-y-auto min-h-0",children:c.jsxs("div",{className:"px-4 py-3 space-y-4",children:[c.jsx("p",{className:"text-xs text-dash-text-secondary",children:n("taxonomyDescription")}),Object.entries(Cx).map(([l,d])=>{const u=Object.values(d).some(h=>h.effort!==void 0);return c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs font-semibold text-dash-text uppercase tracking-wider",children:qA[l]??l}),c.jsx("button",{type:"button",onClick:()=>o(l),className:"text-xs text-dash-text-muted hover:text-dash-text px-2 py-0.5 rounded border border-dash-border hover:border-dash-accent transition-colors",children:n("taxonomyResetProvider")})]}),c.jsx("div",{className:"overflow-hidden rounded border border-dash-border",children:c.jsxs("table",{className:"w-full text-xs",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"bg-dash-surface-hover/40 border-b border-dash-border",children:[c.jsx("th",{className:"text-left px-3 py-2 text-dash-text-secondary font-medium w-1/4",children:n("taxonomyTier")}),c.jsx("th",{className:"text-left px-3 py-2 text-dash-text-secondary font-medium",children:n("taxonomyModel")}),u&&c.jsx("th",{className:"text-left px-3 py-2 text-dash-text-secondary font-medium w-1/4",children:n("taxonomyEffort")})]})}),c.jsx("tbody",{children:jx.map(h=>{const f=d[h],p=Nx(t,`modelTaxonomy.${l}.${h}.model`),m=Nx(t,`modelTaxonomy.${l}.${h}.effort`);return c.jsxs("tr",{className:"border-b border-dash-border last:border-0",children:[c.jsx("td",{className:"px-3 py-2 text-dash-text-secondary",children:a(h)}),c.jsx("td",{className:"px-3 py-2",children:c.jsx("input",{type:"text",className:Px,placeholder:f?.model??"",value:p??"",onChange:x=>i(l,h,"model",x.target.value)})}),u&&c.jsx("td",{className:"px-3 py-2",children:f?.effort!==void 0?c.jsx("input",{type:"text",className:Px,placeholder:f.effort,value:m??"",onChange:x=>i(l,h,"effort",x.target.value)}):null})]},h)})})]})})]},l)})]})})]})},XA=(t,e)=>{const[n,r]=g.useState(null);return g.useEffect(()=>{const s=t.split(`
244
+ `),i=[];let o=null;for(let a=0;a<=Math.min(e,s.length-1);a++){const l=s[a].trim(),d=l.match(/"([^"]+)"\s*:\s*{/);if(d){i.push(d[1]),a===e&&(o=i.join("."));continue}if(l==="}"||l==="},"){i.pop();continue}const u=l.match(/"([^"]+)"\s*:/);if(u){const h=u[1];if(a===e){o=i.length>0?`${i.join(".")}.${h}`:h;break}}}r(o)},[t,e]),n};function Y2(t){const{scope:e,fetchConfig:n,fetchSchema:r,saveConfig:s,onReset:i}=t,[o,a]=g.useState("{}"),[l,d]=g.useState(0),[u,h]=g.useState(null),[f,p]=g.useState(null),[m,x]=g.useState({}),[b,y]=g.useState({}),[k,v]=g.useState({}),[w,C]=g.useState(!0),[j,S]=g.useState("idle"),[E,O]=g.useState(!1),[A,P]=g.useState(null),[L,_]=g.useState(null),N=XA(o,l),M=K4(L,N),D=g.useMemo(()=>W4(M,f),[M,f]);g.useEffect(()=>{(async()=>{try{const[Y,q]=await Promise.all([n(),r()]),ne=Y.local??Y.config;x(ne),y(Y.global??{}),v(Y.sources),p(q),a(JSON.stringify(ne,null,2))}catch(Y){console.error("Failed to load config data:",Y)}finally{C(!1)}})()},[n,r]),g.useEffect(()=>{try{JSON.parse(o),h(null)}catch(F){h(F instanceof Error?F.message:"Invalid JSON")}},[o]),g.useEffect(()=>{if(A==="json")try{const F=JSON.parse(o);x(F)}catch{}},[o,A]);const I=g.useCallback(F=>{_(null),P("json"),a(F)},[]),R=g.useCallback(()=>{_(null)},[]),$=g.useCallback((F,Y)=>{_(F),P("form"),x(q=>{const ne=H4(q,F,Y);return a(JSON.stringify(ne,null,2)),ne}),v(q=>({...q,[F]:e}))},[e]),V=g.useCallback(async()=>{if(!u){S("saving");try{const F=JSON.parse(o),q=await s(F)??F;x(q),a(JSON.stringify(q,null,2)),S("saved"),setTimeout(()=>S("idle"),2e3)}catch{S("error"),setTimeout(()=>S("idle"),3e3)}}},[o,u,s]),W=g.useCallback(async()=>{if(O(!1),i){C(!0);try{const F=await i(),Y=F.local??F.config;x(Y),v(F.sources),a(JSON.stringify(Y,null,2))}catch(F){console.error("Failed to reset:",F)}finally{C(!1)}}else{const F={};x(F),a(JSON.stringify(F,null,2))}},[i]);return{jsonText:o,config:m,globalConfig:b,sources:k,schema:f,isLoading:w,saveStatus:j,syntaxError:u,cursorLine:l,showResetConfirm:E,activeFieldPath:M,fieldDoc:D,handleJsonChange:I,handleJsonEditorFocus:R,handleFormChange:$,handleSave:V,handleReset:W,setCursorLine:d,setFocusedFieldPath:_,setShowResetConfirm:O}}function sm({storageKey:t,defaultSizes:e,minSizes:n}){const[r,s]=g.useState(()=>{if(typeof window>"u")return e;const d=localStorage.getItem(t);if(d)try{const u=JSON.parse(d);if(Array.isArray(u)&&u.length===e.length){const h=u.reduce((f,p)=>f+p,0);if(Math.abs(h-100)<1)return u}}catch{}return e}),[i,o]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(t,JSON.stringify(r))},[r,t]);const a=g.useCallback((d,u)=>{u.preventDefault(),o(!0);let h=u.currentTarget.parentElement;for(;h&&getComputedStyle(h).display!=="flex";)h=h.parentElement;if(!h)return;const p=h.getBoundingClientRect().width,m=u.clientX,x=[...r],b=k=>{const w=(k.clientX-m)/p*100,C=[...x],j=d,S=d+1;let E=x[j]+w,O=x[S]-w;E<n[j]&&(E=n[j],O=x[j]+x[S]-E),O<n[S]&&(O=n[S],E=x[j]+x[S]-O),C[j]=E,C[S]=O,s(C)},y=()=>{o(!1),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[r,n]),l=g.useCallback(()=>{s(e)},[e]);return{sizes:r,isDragging:i,startDrag:a,reset:l}}const ul="/api";async function Ex(t){const e=`${ul}/ck-config`,n=await fetch(e);if(!n.ok)throw new Error(`Failed to fetch ck-config: ${n.status}`);return n.json()}async function Ox(t,e){const n=new URLSearchParams({scope:t});e&&n.set("projectId",e);const r=await fetch(`${ul}/ck-config?${n}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function X2(t){const e=await fetch(`${ul}/ck-config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!e.ok){const n=await e.json().catch(()=>({error:"Unknown error"}));throw new Error(n.error||`Failed to save ck-config: ${e.status}`)}return e.json()}async function Q2(){const t=await fetch(`${ul}/ck-config/schema`);if(!t.ok)throw new Error(`Failed to fetch schema: ${t.status}`);return t.json()}async function QA(t,e,n,r){const s=await fetch(`${ul}/ck-config/field`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({scope:n,projectId:r,fieldPath:t,value:e})});if(!s.ok){const i=await s.json().catch(()=>({error:"Unknown error"}));throw new Error(i.error||`Failed to update field: ${s.status}`)}}function JA(t,e,n,r){const[s,i]=g.useState(()=>{if(typeof window>"u")return e;const d=localStorage.getItem(t);if(d){const u=Number.parseFloat(d);if(!Number.isNaN(u)&&u>=n&&u<=100-r)return u}return e}),[o,a]=g.useState(!1),l=g.useCallback(d=>{d.preventDefault(),a(!0);const u=d.target.closest("[data-vresize-container]");if(!u)return;const h=p=>{const m=u.getBoundingClientRect(),x=(p.clientY-m.top)/m.height*100;i(Math.max(n,Math.min(100-r,x)))},f=()=>{a(!1),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",f),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",h),document.addEventListener("mouseup",f),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[n,r]);return g.useEffect(()=>{localStorage.setItem(t,String(s))},[t,s]),{topPct:s,isDragging:o,startDrag:l}}const ZA=()=>{const{t}=re(),e=Pt(),{sizes:n,isDragging:r,startDrag:s}=sm({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),i=JA("claudekit-form-taxonomy-split",70,25,15),o=g.useCallback(async()=>await Ex(),[]),a=g.useCallback(async f=>{await X2({scope:"global",config:f})},[]),l=g.useCallback(async()=>await Ex(),[]),d=Y2({scope:"global",fetchConfig:o,fetchSchema:Q2,saveConfig:a,onReset:l}),u=g.useMemo(()=>[{id:"general",title:t("sectionGeneral"),fields:[{path:"codingLevel",label:t("fieldCodingLevel"),description:t("fieldCodingLevelDesc")},{path:"statusline",label:t("fieldStatusline"),description:t("fieldStatuslineDesc")},{path:"statuslineColors",label:t("fieldStatuslineColors"),description:t("fieldStatuslineColorsDesc")},{path:"locale.thinkingLanguage",label:t("fieldThinkingLanguage"),description:t("fieldThinkingLanguageDesc")},{path:"locale.responseLanguage",label:t("fieldResponseLanguage"),description:t("fieldResponseLanguageDesc")}]},{id:"paths",title:t("sectionPaths"),fields:[{path:"paths.docs",label:t("fieldDocsPath"),description:t("fieldDocsPathDesc")},{path:"paths.plans",label:t("fieldPlansPath"),description:t("fieldPlansPathDesc")}]},{id:"privacy",title:t("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:t("fieldPrivacyBlock"),description:t("fieldPrivacyBlockDesc")},{path:"trust.enabled",label:t("fieldTrustEnabled"),description:t("fieldTrustEnabledDesc")},{path:"trust.passphrase",label:t("fieldTrustPassphrase"),description:t("fieldTrustPassphraseDesc")}]},{id:"project",title:t("sectionProject"),defaultCollapsed:!0,fields:[{path:"project.type",label:t("fieldProjectType"),description:t("fieldProjectTypeDesc")},{path:"project.packageManager",label:t("fieldPackageManager"),description:t("fieldPackageManagerDesc")},{path:"project.framework",label:t("fieldFramework"),description:t("fieldFrameworkDesc")}]},{id:"integrations",title:t("sectionIntegrations"),defaultCollapsed:!0,fields:[{path:"gemini.model",label:t("fieldGeminiModel"),description:t("fieldGeminiModelDesc")},{path:"skills.research.useGemini",label:t("fieldResearchUseGemini"),description:t("fieldResearchUseGeminiDesc")}]},{id:"hooks",title:t("sectionHooks"),defaultCollapsed:!0,fields:[{path:"hooks.session-init",label:t("fieldHookSessionInit"),description:t("fieldHookSessionInitDesc")},{path:"hooks.subagent-init",label:t("fieldHookSubagentInit"),description:t("fieldHookSubagentInitDesc")},{path:"hooks.descriptive-name",label:t("fieldHookDescriptiveName"),description:t("fieldHookDescriptiveNameDesc")},{path:"hooks.dev-rules-reminder",label:t("fieldHookDevRulesReminder"),description:t("fieldHookDevRulesReminderDesc")},{path:"hooks.usage-context-awareness",label:t("fieldHookUsageContextAwareness"),description:t("fieldHookUsageContextAwarenessDesc")},{path:"hooks.context-tracking",label:t("fieldHookContextTracking"),description:t("fieldHookContextTrackingDesc")},{path:"hooks.scout-block",label:t("fieldHookScoutBlock"),description:t("fieldHookScoutBlockDesc")},{path:"hooks.privacy-block",label:t("fieldHookPrivacyBlock"),description:t("fieldHookPrivacyBlockDesc")},{path:"hooks.post-edit-simplify-reminder",label:t("fieldHookPostEditSimplify"),description:t("fieldHookPostEditSimplifyDesc")}]},{id:"advanced",title:t("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:t("fieldDocsMaxLoc"),description:t("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:t("fieldPlanNamingFormat"),description:t("fieldPlanNamingFormatDesc")},{path:"plan.dateFormat",label:t("fieldPlanDateFormat"),description:t("fieldPlanDateFormatDesc")},{path:"plan.validation.mode",label:t("fieldPlanValidationMode"),description:t("fieldPlanValidationModeDesc")},{path:"plan.validation.minQuestions",label:t("fieldPlanMinQuestions"),description:t("fieldPlanMinQuestionsDesc")},{path:"plan.validation.maxQuestions",label:t("fieldPlanMaxQuestions"),description:t("fieldPlanMaxQuestionsDesc")},{path:"assertions",label:t("fieldAssertions"),description:t("fieldAssertionsDesc")}]}],[t]),h=d.showResetConfirm?c.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[c.jsx("span",{className:"text-xs text-red-500 font-medium",children:t("confirmReset")}),c.jsx("button",{type:"button",onClick:d.handleReset,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:t("confirm")}),c.jsx("button",{type:"button",onClick:()=>d.setShowResetConfirm(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:t("cancel")})]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:()=>d.setShowResetConfirm(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:t("resetToDefault")}),c.jsx("button",{type:"button",onClick:d.handleSave,disabled:!!d.syntaxError||d.saveStatus==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${d.syntaxError?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":d.saveStatus==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":d.saveStatus==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:d.saveStatus==="saving"?t("saving"):d.saveStatus==="saved"?t("saved"):d.saveStatus==="error"?t("saveFailed"):t("saveChanges")})]});return c.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[c.jsx(Yv,{title:t("globalConfig"),filePath:"~/.claude/.ck.json",onBack:()=>e(-1),onSave:d.handleSave,onReset:d.handleReset,saveStatus:d.saveStatus,syntaxError:d.syntaxError,showResetConfirm:d.showResetConfirm,setShowResetConfirm:d.setShowResetConfirm,showActions:!1,showFilePath:!1}),c.jsx("div",{className:"flex-1 flex min-h-0",children:c.jsxs(c.Fragment,{children:[c.jsxs("div",{"data-vresize-container":!0,style:{width:`${n[0]}%`},className:"flex flex-col min-w-0 min-h-0",children:[c.jsx("div",{style:{height:`${d.isLoading?100:i.topPct}%`},className:"min-h-0",children:c.jsx(Zv,{width:100,isLoading:d.isLoading,schema:d.schema,config:d.config,sources:d.sources,sections:u,onChange:d.handleFormChange})}),!d.isLoading&&c.jsxs(c.Fragment,{children:[c.jsx(xn,{direction:"vertical",isDragging:i.isDragging,onMouseDown:i.startDrag}),c.jsx("div",{style:{height:`${100-i.topPct}%`},className:"min-h-0",children:c.jsx(YA,{config:d.config,onChange:d.handleFormChange})})]})]}),c.jsx(xn,{direction:"horizontal",isDragging:r,onMouseDown:f=>s(0,f)}),c.jsx(rm,{width:n[1],isLoading:d.isLoading,jsonText:d.jsonText,cursorLine:d.cursorLine,syntaxError:d.syntaxError,onChange:d.handleJsonChange,onCursorLineChange:d.setCursorLine,headerPath:"~/.claude/.ck.json",headerActions:h}),c.jsx(xn,{direction:"horizontal",isDragging:r,onMouseDown:f=>s(1,f)}),c.jsx(q2,{width:n[2],fieldDoc:d.fieldDoc,activeFieldPath:d.activeFieldPath})]})})]})};function e7({phase:t}){const e=t.status==="completed"?"border-green-500":t.status==="in-progress"?"border-blue-500":"border-amber-400";return c.jsx("div",{className:`rounded border-l-4 ${e} bg-white dark:bg-gray-800 p-3 shadow-sm`,children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-xs font-mono text-gray-400 dark:text-gray-500",children:t.phaseId}),c.jsx("span",{className:"text-sm font-medium text-gray-800 dark:text-gray-100",children:t.name})]})})}function nh({title:t,phases:e,borderColor:n}){return c.jsxs("div",{className:"flex flex-1 flex-col gap-3 min-w-0","aria-label":`${t} phases`,children:[c.jsxs("div",{className:`rounded-t border-t-2 ${n} bg-gray-50 dark:bg-gray-900 px-3 py-2`,children:[c.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-200",children:t}),c.jsx("span",{className:"ml-2 text-xs text-gray-400",children:e.length})]}),c.jsx("div",{className:"flex flex-col gap-2 px-1",children:e.map((r,s)=>c.jsx(e7,{phase:r},`${r.phaseId}-${s}`))})]})}function t7({completed:t,total:e}){const{t:n}=re(),r=e===0?0:Math.round(t/e*100);return c.jsxs("div",{className:"flex flex-col gap-1",children:[c.jsxs("div",{className:"flex justify-between text-xs text-gray-500 dark:text-gray-400",children:[c.jsx("span",{children:n("kanbanProgress")}),c.jsxs("span",{children:[t,"/",e," ",n("kanbanPhases")," — ",r,"% ",n("kanbanComplete")]})]}),c.jsx("div",{className:"h-2 w-full rounded bg-gray-200 dark:bg-gray-700",children:c.jsx("div",{className:"h-2 rounded bg-green-500 transition-all",style:{width:`${r}%`}})})]})}function n7(){const{t}=re(),[e]=rl(),n=e.get("file")??"",[r,s]=g.useState([]),[i,o]=g.useState(!1),[a,l]=g.useState(null);if(g.useEffect(()=>{n&&(o(!0),l(null),s([]),fetch(`/api/plan/parse?file=${encodeURIComponent(n)}`).then(p=>{if(!p.ok){const m={400:"kanbanError400",403:"kanbanError403",404:"kanbanError404"};throw new Error(m[p.status]??`error:HTTP:${p.status}`)}return p.json()}).then(p=>s(p.phases)).catch(p=>l(p instanceof Error?p.message:String(p))).finally(()=>o(!1)))},[n]),!n)return c.jsx("div",{className:"flex h-full items-center justify-center text-gray-400 dark:text-gray-500",children:t("kanbanNoFile")});let d=[],u=[],h=[],f=null;try{d=r.filter(p=>p.status==="pending"),u=r.filter(p=>p.status==="in-progress"),h=r.filter(p=>p.status==="completed")}catch(p){f=p instanceof Error?p.message:String(p)}return f?c.jsx("div",{className:"flex h-full items-center justify-center text-red-500 dark:text-red-400",children:t("kanbanLoadError")}):c.jsxs("div",{className:"flex h-full flex-col gap-4 p-6",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("h1",{className:"text-xl font-bold text-gray-900 dark:text-white",children:t("kanbanTitle")}),c.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500 truncate max-w-xs",title:n,children:n.replaceAll("\\","/")})]}),r.length>0&&c.jsx(t7,{completed:h.length,total:r.length}),i&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-gray-400",children:t("loading")}),a&&c.jsxs("div",{className:"rounded border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400",children:[t("error"),":"," ",a in{kanbanError400:"",kanbanError403:"",kanbanError404:""}?t(a):a]}),!i&&!a&&r.length===0&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-gray-400 dark:text-gray-500",children:t("kanbanNoPhases")}),!i&&!a&&r.length>0&&c.jsxs("section",{"aria-label":t("kanbanTitle"),className:"flex flex-1 flex-col gap-4 overflow-auto md:flex-row",children:[c.jsx(nh,{title:t("kanbanStatus_pending"),phases:d,borderColor:"border-amber-400"}),c.jsx(nh,{title:t("kanbanStatus_in-progress"),phases:u,borderColor:"border-blue-500"}),c.jsx(nh,{title:t("kanbanStatus_completed"),phases:h,borderColor:"border-green-500"})]})]})}function r7(){const[t,e]=g.useState([]),[n,r]=g.useState(!0),[s,i]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),i(null);const a=await fetch("/api/mcp-servers");if(!a.ok)throw new Error(`Failed to fetch MCP servers: ${a.status}`);const l=await a.json();e(l.servers??[])}catch(a){i(a instanceof Error?a.message:"Failed to load MCP servers"),e([])}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{servers:t,loading:n,error:s,reload:o}}function s7(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3.5 h-3.5 shrink-0 text-dash-accent",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 12h14M12 5l7 7-7 7"})})}function i7({label:t,count:e}){return c.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5",children:[c.jsx("span",{className:"text-xs font-bold text-dash-text-muted uppercase tracking-wider flex-1",children:t}),c.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold",children:e})]})}function o7({server:t,selected:e,onClick:n}){return c.jsxs("button",{type:"button",onClick:n,className:["w-full flex items-start gap-2 px-3 py-2 rounded-md transition-colors text-left group",e?"bg-dash-accent/10 border border-dash-accent/30":"hover:bg-dash-surface-hover border border-transparent"].join(" "),children:[c.jsx(s7,{}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("span",{className:"text-sm font-semibold text-dash-accent font-mono",children:t.name}),c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5 truncate font-mono",children:t.command})]})]})}function a7({server:t}){const{t:e}=re();return c.jsxs("div",{className:"flex flex-col gap-4",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("h2",{className:"text-base font-semibold text-dash-text font-mono truncate flex-1",children:t.name}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:e("sessionReadOnly")})]}),c.jsx("div",{className:"flex items-center gap-2 text-xs text-dash-text-muted",children:c.jsx("span",{className:"font-mono px-2 py-0.5 rounded bg-dash-surface border border-dash-border text-dash-accent",children:t.sourceLabel})}),c.jsx("div",{className:"rounded-lg border border-dash-border bg-dash-surface p-5 overflow-x-auto",children:c.jsx("table",{className:"w-full text-sm",children:c.jsxs("tbody",{children:[c.jsxs("tr",{className:"border-b border-dash-border",children:[c.jsx("td",{className:"py-2 pr-4 font-mono text-xs text-dash-text-muted w-28 shrink-0 align-top",children:e("mcpCommand")}),c.jsx("td",{className:"py-2 font-mono text-xs text-dash-text break-all",children:t.command})]}),t.args.length>0&&c.jsxs("tr",{className:"border-b border-dash-border",children:[c.jsx("td",{className:"py-2 pr-4 font-mono text-xs text-dash-text-muted w-28 align-top",children:e("mcpArgs")}),c.jsx("td",{className:"py-2 text-xs text-dash-text",children:c.jsx("div",{className:"flex flex-col gap-1",children:t.args.map((n,r)=>c.jsx("code",{className:"font-mono bg-dash-surface border border-dash-border rounded px-1.5 py-0.5 text-[11px] break-all",children:n},r))})})]}),t.env&&Object.keys(t.env).length>0&&c.jsxs("tr",{className:"border-b border-dash-border",children:[c.jsx("td",{className:"py-2 pr-4 font-mono text-xs text-dash-text-muted w-28 align-top",children:"env"}),c.jsx("td",{className:"py-2 text-xs text-dash-text",children:c.jsx("div",{className:"flex flex-col gap-1",children:Object.keys(t.env).map(n=>c.jsxs("code",{className:"font-mono bg-dash-surface border border-dash-border rounded px-1.5 py-0.5 text-[11px]",children:[n,"=",c.jsx("span",{className:"text-dash-text-muted",children:"***"})]},n))})})]}),c.jsxs("tr",{children:[c.jsx("td",{className:"py-2 pr-4 font-mono text-xs text-dash-text-muted w-28 align-top",children:e("mcpSource")}),c.jsx("td",{className:"py-2 text-xs text-dash-text font-mono",children:t.sourceLabel})]})]})})})]})}const l7=({message:t})=>c.jsx("div",{className:"flex items-center justify-center h-full text-sm text-dash-text-muted",children:t}),c7=()=>{const{t}=re(),{servers:e,loading:n,error:r}=r7(),[s,i]=g.useState(""),[o,a]=g.useState(null),{size:l,isDragging:d,startDrag:u}=Ii({storageKey:"ck-mcp-panel-width",defaultSize:380,minSize:260,maxSize:650}),h=x=>`${x.source}-${x.name}`,f=e.find(x=>h(x)===o)??null,p=g.useMemo(()=>{if(!s.trim())return e;const x=s.toLowerCase();return e.filter(b=>b.name.toLowerCase().includes(x)||b.command.toLowerCase().includes(x)||b.sourceLabel.toLowerCase().includes(x))},[e,s]),m=g.useMemo(()=>{const x=new Map;for(const b of p){const y=x.get(b.sourceLabel)??[];y.push(b),x.set(b.sourceLabel,y)}return x},[p]);return c.jsxs("div",{className:"flex h-full overflow-hidden",children:[c.jsxs("div",{style:{width:`${l}px`},className:"shrink-0 flex flex-col overflow-hidden border-r border-dash-border",children:[c.jsxs("div",{className:"shrink-0 px-4 pt-4 pb-3 border-b border-dash-border",children:[c.jsxs("div",{className:"flex items-start justify-between mb-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-base font-bold text-dash-text",children:t("mcpTitle")}),!n&&!r&&c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5",children:e.length===0?t("mcpNoServers"):`${e.length} ${e.length===1?"server":"servers"} configured`}),c.jsx("p",{className:"text-[11px] text-dash-text-muted font-mono mt-0.5",children:"~/.claude.json + settings.json + .mcp.json"})]}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:t("sessionReadOnly")})]}),c.jsxs("div",{className:"relative",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-dash-text-muted pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),c.jsx("input",{type:"text",value:s,onChange:x=>i(x.target.value),placeholder:t("mcpServerName"),className:"w-full pl-9 pr-4 py-2 text-sm bg-dash-surface border border-dash-border rounded-lg text-dash-text placeholder:text-dash-text-muted focus:outline-none focus:border-dash-accent/50 transition-colors"}),s&&c.jsx("button",{type:"button",onClick:()=>i(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto px-2 py-2",children:[n&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-dash-text-muted text-sm p-8",children:t("loading")}),!n&&r&&c.jsx("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm m-2",children:r}),!n&&!r&&m.size===0&&c.jsx("div",{className:"flex items-center justify-center p-8 text-dash-text-muted text-sm",children:t("mcpNoServers")}),!n&&!r&&m.size>0&&c.jsx("div",{className:"flex flex-col gap-2 pb-4",children:Array.from(m.entries()).map(([x,b])=>c.jsxs("div",{children:[m.size>1&&c.jsx(i7,{label:x,count:b.length}),c.jsx("div",{className:"space-y-0.5",children:b.map(y=>{const k=h(y);return c.jsx(o7,{server:y,selected:o===k,onClick:()=>a(k)},k)})})]},x))})]})]}),c.jsx(xn,{onMouseDown:u,isDragging:d,direction:"horizontal"}),c.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:f?c.jsx(a7,{server:f}):c.jsx(l7,{message:t("selectToView")})})]})},Mx=[{key:"agent",labelKey:"migrateTypeAgents",badgeClass:"border-dash-accent/30 text-dash-accent"},{key:"command",labelKey:"migrateTypeCommands",badgeClass:"border-yellow-500/30 text-yellow-400"},{key:"skill",labelKey:"migrateTypeSkills",badgeClass:"border-purple-500/30 text-purple-400"},{key:"config",labelKey:"migrateTypeConfig",badgeClass:"border-teal-500/30 text-teal-400"},{key:"rules",labelKey:"migrateTypeRules",badgeClass:"border-rose-500/30 text-rose-400"},{key:"hooks",labelKey:"migrateTypeHooks",badgeClass:"border-cyan-500/30 text-cyan-400"}],d7=new Set([8203,8204,8205,8288,65279,8232,8233,8234,8235,8236,8237,8238,8294,8295,8296,8297]);function u7(t){return t===9||t===10||t===13?!0:t>=0&&t<=8||t>=11&&t<=31||t>=127&&t<=159||d7.has(t)}function ms(t){let e="";for(const n of t){const r=n.codePointAt(0);r!==void 0&&(u7(r)||(e+=n))}return e}function Dx(t){if(!t)return"-";const e=t.replace(/\\/g,"/"),n=e.match(/.*\/(\.[^/]+\/)/);if(n?.[1]){const s=(n.index??0)+n[0].length-n[1].length;return e.slice(s)}const r=e.split("/");return r.length>3?`.../${r.slice(-3).join("/")}`:e}function ri(t){return t.success?t.skipped?"skipped":"installed":"failed"}function h7(t){const e={installed:0,skipped:0,failed:0};for(const n of t){const r=ri(n);r==="installed"?e.installed+=1:r==="skipped"?e.skipped+=1:e.failed+=1}return e}function J2(t){switch(t){case"agent":case"command":case"skill":case"config":case"rules":case"hooks":case"unknown":return t;default:return"unknown"}}function f7(t,e){switch(t){case"failed":return{label:e("migrateStatusFailed"),className:"border-red-500/30 bg-red-500/10 text-red-400"};case"skipped":return{label:e("migrateStatusSkipped"),className:"border-yellow-500/30 bg-yellow-500/10 text-yellow-400"};default:return{label:e("migrateStatusInstalled"),className:"border-green-500/30 bg-green-500/10 text-green-400"}}}function p7(t){const e=new Map;for(const n of t){const r=J2(n.portableType),s=e.get(r)||[];s.push(n),e.set(r,s)}return e}function m7(t){return[J2(t.portableType),t.provider,t.providerDisplayName,t.itemName,t.path,t.success,t.skipped,t.overwritten,t.error,t.skipReason].map(n=>n===void 0?"":String(n)).join("|")}function g7(t){if(t.length===0)return!0;const e=t[0].provider;return t.every(n=>n.provider===e)}const pi=({label:t,count:e,className:n})=>e<=0?null:c.jsxs("span",{className:`inline-flex items-center gap-1 rounded-md border px-2.5 py-1 text-xs ${n}`,children:[c.jsx("span",{className:"font-semibold",children:e}),c.jsx("span",{children:t})]}),Ax=({labelKey:t,badgeClass:e,items:n,isExpanded:r,onToggle:s,singleProvider:i})=>{const{t:o}=re(),a=n.filter(f=>ri(f)==="installed").length,l=n.filter(f=>ri(f)==="skipped").length,d=n.filter(f=>ri(f)==="failed").length,u=i?"md:grid-cols-[minmax(0,1.5fr)_minmax(0,1.35fr)_auto_minmax(0,1fr)]":"md:grid-cols-[minmax(0,1.2fr)_minmax(0,0.8fr)_minmax(0,1.2fr)_auto_minmax(0,1fr)]",h=new Map;return c.jsxs("div",{className:"rounded-xl border border-dash-border bg-dash-surface overflow-hidden",children:[c.jsxs("button",{type:"button",onClick:s,className:"w-full flex flex-wrap items-center gap-2 px-4 py-3 text-left hover:bg-dash-surface-hover transition-colors",children:[c.jsx("svg",{className:`w-3.5 h-3.5 text-dash-text-muted transition-transform ${r?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:c.jsx("path",{d:"M9 5l7 7-7 7"})}),c.jsx("p",{className:"text-sm font-semibold text-dash-text",children:o(t)}),c.jsx("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-semibold ${e}`,children:n.length}),c.jsx("span",{className:"hidden sm:block flex-1"}),c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 text-[11px]",children:[c.jsx(pi,{label:o("migrateStatusInstalled"),count:a,className:"border-green-500/30 bg-green-500/10 text-green-400"}),c.jsx(pi,{label:o("migrateStatusSkipped"),count:l,className:"border-yellow-500/30 bg-yellow-500/10 text-yellow-400"}),c.jsx(pi,{label:o("migrateStatusFailed"),count:d,className:"border-red-500/30 bg-red-500/10 text-red-400"})]})]}),r&&c.jsxs("div",{className:"border-t border-dash-border/80",children:[c.jsxs("div",{className:`hidden md:grid ${u} items-center gap-3 px-4 py-2 border-b border-dash-border/70 text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted`,children:[c.jsx("p",{children:o("migrateItem")}),!i&&c.jsx("p",{children:o("migrateProvider")}),c.jsx("p",{children:o("migratePath")}),c.jsx("p",{children:o("migrateStatus")}),c.jsx("p",{children:o("migrateError")})]}),c.jsx("div",{className:"divide-y divide-dash-border/70",children:n.map(f=>{const p=m7(f),m=h.get(p)??0;h.set(p,m+1);const x=m===0?p:`${p}#${m}`,b=ri(f),y=f7(b,o),k=ms(f.itemName||Dx(f.path)),v=ms(f.providerDisplayName||f.provider||""),w=ms(f.path||""),C=ms(Dx(f.path)),j=ms(f.error||f.skipReason||"");return c.jsxs("div",{className:`grid gap-1.5 ${u} items-start px-4 py-2.5 hover:bg-dash-bg/60 transition-colors`,children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"text-xs font-semibold text-dash-text truncate",title:k,children:k}),c.jsxs("div",{className:"mt-0.5 space-y-0.5 md:hidden",children:[!i&&c.jsx("p",{className:"text-[11px] text-dash-text-secondary truncate",children:v}),c.jsx("p",{className:"font-mono text-[11px] text-dash-text-muted truncate",title:w,children:C}),j&&c.jsx("p",{className:"text-[11px] text-red-400/80 line-clamp-2",title:j,children:j})]})]}),!i&&c.jsx("p",{className:"hidden md:block text-[11px] text-dash-text-secondary truncate",children:v}),c.jsx("p",{className:"hidden md:block font-mono text-[11px] text-dash-text-muted truncate",title:w,children:C}),c.jsx("span",{className:`inline-flex w-fit items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${y.className}`,children:y.label}),c.jsx("p",{className:`hidden md:block text-[11px] truncate ${j?"text-red-400/80":"text-dash-text-muted"}`,title:j,children:j||"-"})]},x)})})]})]})},x7=({results:t,onReset:e})=>{const{t:n}=re(),[r,s]=g.useState(""),i=g.useDeferredValue(r),[o,a]=g.useState("all"),[l,d]=g.useState(()=>new Set(Mx.map(w=>w.key))),u=g.useMemo(()=>{const w=i.trim().toLowerCase();return t.results.filter(C=>{if(o!=="all"&&ri(C)!==o)return!1;if(!w)return!0;const j=(C.itemName||"").toLowerCase(),S=(C.path||"").toLowerCase(),E=(C.providerDisplayName||C.provider||"").toLowerCase();return j.includes(w)||S.includes(w)||E.includes(w)})},[t.results,i,o]),h=g.useMemo(()=>g7(u),[u]),f=g.useMemo(()=>{if(!h||u.length===0)return"";const w=Array.from(new Set(u.map(C=>C.providerDisplayName?.trim()||"").filter(C=>C.length>0)));return w.length===1?w[0]:u[0]?.provider||""},[u,h]),p=g.useMemo(()=>p7(u),[u]),m=g.useMemo(()=>h7(t.results),[t.results]),x=g.useMemo(()=>[...p.keys()],[p]),b=m.installed+m.skipped+m.failed,y=x.length>0&&x.every(w=>l.has(w)),k=w=>{d(C=>{const j=new Set(C);return j.has(w)?j.delete(w):j.add(w),j})},v=()=>{if(y){d(new Set);return}d(new Set(x))};return c.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[c.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-start md:justify-between",children:[c.jsxs("div",{children:[c.jsxs("h2",{className:"text-base font-semibold text-dash-text",children:[n("migrateSummaryTitle"),h&&f&&c.jsxs("span",{className:"text-dash-text-muted font-normal",children:[" ","· ",ms(f)]})]}),c.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[b," ",n("migrateSummarySubtitle")]})]}),c.jsx("button",{type:"button",onClick:e,className:"dash-focus-ring px-4 py-2 text-sm font-semibold rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migrateSummaryNewMigration")})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[c.jsx(pi,{label:n("migrateStatusInstalled"),count:m.installed,className:"border-green-500/30 bg-green-500/10 text-green-400"}),c.jsx(pi,{label:n("migrateStatusSkipped"),count:m.skipped,className:"border-yellow-500/30 bg-yellow-500/10 text-yellow-400"}),c.jsx(pi,{label:n("migrateStatusFailed"),count:m.failed,className:"border-red-500/30 bg-red-500/10 text-red-400"})]}),t.warnings.length>0&&c.jsx("div",{className:"space-y-2",children:t.warnings.map((w,C)=>c.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded-md text-xs text-yellow-400",children:ms(w)},C))}),c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsxs("div",{className:"relative",children:[c.jsxs("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 stroke-dash-text-muted",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("circle",{cx:"11",cy:"11",r:"8"}),c.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),c.jsx("input",{type:"text",value:r,onChange:w=>s(w.target.value),placeholder:n("migrateSummarySearchPlaceholder"),className:"dash-focus-ring w-full pl-9 pr-3 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:border-dash-accent transition-colors"})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[["all","installed","skipped","failed"].map(w=>{const C=w==="all"?"migrateSummaryFilterAll":w==="installed"?"migrateStatusInstalled":w==="skipped"?"migrateStatusSkipped":"migrateStatusFailed";return c.jsx("button",{type:"button",onClick:()=>a(w),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-colors ${o===w?"bg-dash-accent/10 border-dash-accent text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:n(C)},w)}),c.jsx("button",{type:"button",onClick:v,className:"dash-focus-ring ml-1 px-3 py-1 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:n(y?"migrateSummaryCollapseAll":"migrateSummaryExpandAll")})]})]}),u.length===0?c.jsx("div",{className:"text-center py-8 text-sm text-dash-text-muted",children:n("migrateSummaryNoResults")}):c.jsxs("div",{className:"space-y-2.5",children:[Mx.map(w=>{const C=p.get(w.key);return!C||C.length===0?null:c.jsx(Ax,{labelKey:w.labelKey,badgeClass:w.badgeClass,items:C,isExpanded:l.has(w.key),onToggle:()=>k(w.key),singleProvider:h},w.key)}),(()=>{const w=p.get("unknown");return!w||w.length===0?null:c.jsx(Ax,{labelKey:"migrateTypeUnknown",badgeClass:"border-dash-border text-dash-text-muted",items:w,isExpanded:l.has("unknown"),onToggle:()=>k("unknown"),singleProvider:h})})()]})]})},b7=500;function y7(t){return t>=0&&t<=8||t>=11&&t<=31||t>=127&&t<=159}function v7(t){let e="";for(const n of t){const r=n.codePointAt(0);r!==void 0&&(y7(r)||(e+=n))}return e}const w7=({diff:t,className:e=""})=>{const n=t.split(`
245
+ `),r=n.slice(0,b7),s=n.length-r.length;return c.jsxs("pre",{className:`text-xs font-mono overflow-x-auto p-3 rounded bg-dash-bg border border-dash-border ${e}`,children:[r.map((i,o)=>{const a=v7(i);let l="text-dash-text";return a.startsWith("+")?l="text-green-400 bg-green-500/10":a.startsWith("-")?l="text-red-400 bg-red-500/10":a.startsWith("@@")&&(l="text-blue-400"),c.jsx("div",{className:l,children:a},`${o}:${a.slice(0,24)}`)}),s>0&&c.jsxs("div",{className:"text-dash-text-muted",children:["... truncated ",s," additional line(s)"]})]})};function k7(t){return t>=0&&t<=8||t>=11&&t<=31||t>=127&&t<=159}function ao(t){let e="";for(const n of t){const r=n.codePointAt(0);r!==void 0&&(k7(r)||(e+=n))}return e}const S7=({action:t,resolution:e,onResolve:n})=>{const{t:r}=re(),[s,i]=g.useState(!1),o=t.ownedSections&&t.ownedSections.length>0;return c.jsxs("div",{className:"border border-dash-border rounded-lg p-4 mb-3 bg-dash-surface",children:[c.jsxs("div",{className:"flex justify-between items-start gap-4",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"font-mono text-sm text-dash-text truncate",children:[ao(t.provider),"/",ao(t.type),"/",ao(t.item)]}),c.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:ao(t.reason)}),t.targetPath&&c.jsx("p",{className:"text-xs text-dash-text-secondary mt-1 font-mono truncate",children:ao(t.targetPath)})]}),c.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[c.jsx("button",{type:"button",onClick:()=>n({type:"overwrite"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="overwrite"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictUseCK")}),c.jsx("button",{type:"button",onClick:()=>n({type:"keep"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="keep"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictKeepMine")}),o&&c.jsx("button",{type:"button",onClick:()=>n({type:"smart-merge"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="smart-merge"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictSmartMerge")}),t.diff&&c.jsx("button",{type:"button",onClick:()=>i(!s),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:r(s?"migrateConflictHideDiff":"migrateConflictShowDiff")})]})]}),s&&t.diff&&c.jsx(w7,{diff:t.diff,className:"mt-3"}),e&&c.jsxs("div",{className:"mt-2 text-xs text-green-400 flex items-center gap-1.5",children:[c.jsx("svg",{className:"w-3.5 h-3.5",fill:"currentColor",viewBox:"0 0 20 20",children:c.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),c.jsxs("span",{children:[r("migrateConflictResolved"),": ",C7(e.type,r)]})]})]})};function C7(t,e){switch(t){case"overwrite":return e("migrateConflictUseCK");case"keep":return e("migrateConflictKeepMine");case"smart-merge":return e("migrateConflictSmartMerge");case"resolved":return e("migrateConflictManual");default:return String(t)}}const j7=[{key:"install",labelKey:"migrateActionInstall",activeClass:"border-green-400 text-green-400",badgeClass:"bg-green-500/10 border-green-500/30 text-green-400"},{key:"update",labelKey:"migrateActionUpdate",activeClass:"border-yellow-400 text-yellow-400",badgeClass:"bg-yellow-500/10 border-yellow-500/30 text-yellow-400"},{key:"conflict",labelKey:"migrateActionConflict",activeClass:"border-red-400 text-red-400",badgeClass:"bg-red-500/10 border-red-500/30 text-red-400"},{key:"delete",labelKey:"migrateActionDelete",activeClass:"border-dash-text-secondary text-dash-text-secondary",badgeClass:"bg-dash-bg border-dash-border text-dash-text-secondary"},{key:"skip",labelKey:"migrateActionSkip",activeClass:"border-dash-text-muted text-dash-text-muted",badgeClass:"bg-dash-bg border-dash-border text-dash-text-muted"}],Tx=["agent","command","skill","config","rules","hooks"],N7={agent:"migrateTypeAgents",command:"migrateTypeCommands",skill:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules",hooks:"migrateTypeHooks"},P7={agent:"border-dash-accent/30 text-dash-accent",command:"border-yellow-500/30 text-yellow-400",skill:"border-purple-500/30 text-purple-400",config:"border-teal-500/30 text-teal-400",rules:"border-rose-500/30 text-rose-400",hooks:"border-cyan-500/30 text-cyan-400"},Us=200;function E7(t){return t>=0&&t<=8||t>=11&&t<=31||t>=127&&t<=159}function rc(t){let e="";for(const n of t){const r=n.codePointAt(0);r!==void 0&&(E7(r)||(e+=n))}return e}function O7(t){const e={install:[],update:[],skip:[],conflict:[],delete:[]};for(const n of t)e[n.action].push(n);return e}function M7(t){const e=new Map;for(const n of t){const r=e.get(n.type)||[];r.push(n),e.set(n.type,r)}return e}const D7=({plan:t,resolutions:e,onResolve:n,actionKey:r})=>{const{t:s}=re(),i=g.useMemo(()=>O7(t.actions),[t.actions]),o=g.useMemo(()=>j7.filter(f=>i[f.key].length>0),[i]),[a,l]=g.useState(()=>i.conflict.length>0?"conflict":i.install.length>0?"install":o[0]?.key??"install");g.useEffect(()=>{i[a]?.length===0&&o.length>0&&l(o[0].key)},[i,a,o]);const d=g.useMemo(()=>i[a]??[],[i,a]),u=g.useMemo(()=>M7(d),[d]),h=f=>{for(const p of i.conflict)n(p,{type:f})};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex flex-wrap gap-2 text-xs",children:[t.summary.install>0&&c.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-green-500/10 border border-green-500/30 text-green-400",children:[t.summary.install," ",s("migrateActionInstall")]}),t.summary.update>0&&c.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-yellow-500/10 border border-yellow-500/30 text-yellow-400",children:[t.summary.update," ",s("migrateActionUpdate")]}),t.summary.skip>0&&c.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-muted",children:[t.summary.skip," ",s("migrateActionSkip")]}),t.summary.conflict>0&&c.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-red-500/10 border border-red-500/30 text-red-400",children:[t.summary.conflict," ",s("migrateActionConflict")]}),t.summary.delete>0&&c.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary",children:[t.summary.delete," ",s("migrateActionDelete")]})]}),o.length>1&&c.jsx("div",{className:"flex gap-1 border-b border-dash-border",children:o.map(f=>{const p=a===f.key;return c.jsxs("button",{type:"button",onClick:()=>l(f.key),className:`px-3 py-2 text-xs font-medium border-b-2 transition-colors ${p?f.activeClass:"border-transparent text-dash-text-muted hover:text-dash-text-secondary"}`,children:[s(f.labelKey)," ",c.jsx("span",{className:`ml-1 px-1.5 py-0.5 rounded text-[10px] border ${f.badgeClass}`,children:i[f.key].length})]},f.key)})}),a==="conflict"&&i.conflict.length>0&&c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("h3",{className:"text-sm font-semibold text-red-400",children:[s("migrateConflictSectionTitle")," (",i.conflict.length,")"]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx("button",{type:"button",onClick:()=>h("overwrite"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:s("migrateConflictOverwriteAll")}),c.jsx("button",{type:"button",onClick:()=>h("keep"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:s("migrateConflictKeepAll")})]})]}),a==="conflict"?Tx.map(f=>{const p=u.get(f);return!p||p.length===0?null:c.jsxs(Lx,{type:f,count:p.length,children:[p.slice(0,Us).map(m=>c.jsx(S7,{action:m,resolution:e.get(r(m))||null,onResolve:x=>n(m,x)},r(m))),p.length>Us&&c.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",p.length-Us," more"]})]},`${a}:${f}`)}):Tx.map(f=>{const p=u.get(f);return!p||p.length===0?null:c.jsxs(Lx,{type:f,count:p.length,defaultExpanded:a!=="skip",children:[p.slice(0,Us).map(m=>c.jsx(A7,{action:m},`${m.provider}:${m.type}:${m.item}:${m.global}:${m.action}`)),p.length>Us&&c.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",p.length-Us," more"]})]},`${a}:${f}`)})]})},Lx=({type:t,count:e,defaultExpanded:n=!0,children:r})=>{const{t:s}=re(),[i,o]=g.useState(n),a=P7[t],l=s(N7[t]);return c.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[c.jsxs("button",{type:"button","aria-expanded":i,onClick:()=>o(!i),className:"w-full px-4 py-2.5 flex items-center justify-between text-left hover:bg-dash-surface-hover transition-colors",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("h4",{className:"text-sm font-semibold text-dash-text",children:l}),c.jsx("span",{className:`px-2 py-0.5 text-xs rounded-md border ${a}`,children:e})]}),c.jsx("svg",{"aria-hidden":"true",className:`w-4 h-4 text-dash-text-muted transition-transform ${i?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),i&&c.jsx("div",{className:"px-4 pt-1 pb-4 space-y-2",children:r})]})},A7=({action:t})=>c.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border",children:[c.jsxs("div",{className:"font-mono text-xs text-dash-text",children:[rc(t.provider),"/",rc(t.item)]}),c.jsx("div",{className:"text-xs text-dash-text-muted mt-1",children:rc(t.reason)}),t.targetPath&&c.jsx("div",{className:"text-xs text-dash-text-secondary mt-0.5 font-mono truncate",children:rc(t.targetPath)})]});var T7=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},rh,L7=g.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(rh=T7("dark"))!==null&&rh!==void 0&&rh.matches?"dark":"light"}),R7=function(){return g.useContext(L7)};const Z2=(t,e)=>{if(e)return"row";switch(t){case"horizontal":return"row";case"horizontal-reverse":return"row-reverse";case"vertical":default:return"column";case"vertical-reverse":return"column-reverse"}},I7=t=>{if(t)return["space-between","space-around","space-evenly"].includes(t)},$7=(t,e)=>Z2(t,e)==="row",Gs=t=>typeof t=="number"?`${t}px`:t,B7=({visible:t,flex:e,gap:n,direction:r,horizontal:s,align:i,justify:o,distribution:a,height:l,width:d,padding:u,paddingInline:h,paddingBlock:f,prefixCls:p,as:m="div",className:x,style:b,children:y,wrap:k,ref:v,...w})=>{const C=o||a,S=$7(r,s)&&!d&&I7(C)?"100%":Gs(d),E={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||s?{"--lobe-flex-direction":Z2(r,s)}:{},...k!==void 0?{"--lobe-flex-wrap":k}:{},...C!==void 0?{"--lobe-flex-justify":C}:{},...i!==void 0?{"--lobe-flex-align":i}:{},...S!==void 0?{"--lobe-flex-width":S}:{},...l!==void 0?{"--lobe-flex-height":Gs(l)}:{},...u!==void 0?{"--lobe-flex-padding":Gs(u)}:{},...h!==void 0?{"--lobe-flex-padding-inline":Gs(h)}:{},...f!==void 0?{"--lobe-flex-padding-block":Gs(f)}:{},...n!==void 0?{"--lobe-flex-gap":Gs(n)}:{},...b},O="lobe-flex",A=[O,t===!1?`${O}--hidden`:void 0,p?`${p}-flex`:void 0,x].filter(Boolean).join(" ");return c.jsx(m,{ref:v,...w,className:A,style:E,children:y})};var ek=g.memo(B7);const _7=({children:t,ref:e,...n})=>c.jsx(ek,{...n,align:"center",justify:"center",ref:e,children:t});var F7=_7;const z7=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function H7(t){return Array.from(t.match(z7)??[])}function V7(t){return H7(t).map(n=>n.toLowerCase()).join("-")}var tk={exports:{}},nk={};/**
246
+ * @license React
247
+ * use-sync-external-store-shim.production.js
248
+ *
249
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
250
+ *
251
+ * This source code is licensed under the MIT license found in the
252
+ * LICENSE file in the root directory of this source tree.
253
+ */var Ni=g;function W7(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var K7=typeof Object.is=="function"?Object.is:W7,U7=Ni.useState,G7=Ni.useEffect,q7=Ni.useLayoutEffect,Y7=Ni.useDebugValue;function X7(t,e){var n=e(),r=U7({inst:{value:n,getSnapshot:e}}),s=r[0].inst,i=r[1];return q7(function(){s.value=n,s.getSnapshot=e,sh(s)&&i({inst:s})},[t,n,e]),G7(function(){return sh(s)&&i({inst:s}),t(function(){sh(s)&&i({inst:s})})},[t]),Y7(n),n}function sh(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!K7(t,n)}catch{return!0}}function Q7(t,e){return e()}var J7=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Q7:X7;nk.useSyncExternalStore=Ni.useSyncExternalStore!==void 0?Ni.useSyncExternalStore:J7;tk.exports=nk;var Z7=tk.exports,rk={exports:{}},sk={};/**
254
+ * @license React
255
+ * use-sync-external-store-shim/with-selector.production.js
256
+ *
257
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
258
+ *
259
+ * This source code is licensed under the MIT license found in the
260
+ * LICENSE file in the root directory of this source tree.
261
+ */var Jd=g,eT=Z7;function tT(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var nT=typeof Object.is=="function"?Object.is:tT,rT=eT.useSyncExternalStore,sT=Jd.useRef,iT=Jd.useEffect,oT=Jd.useMemo,aT=Jd.useDebugValue;sk.useSyncExternalStoreWithSelector=function(t,e,n,r,s){var i=sT(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=oT(function(){function l(p){if(!d){if(d=!0,u=p,p=r(p),s!==void 0&&o.hasValue){var m=o.value;if(s(m,p))return h=m}return h=p}if(m=h,nT(u,p))return m;var x=r(p);return s!==void 0&&s(m,x)?(u=p,m):(u=p,h=x)}var d=!1,u,h,f=n===void 0?null:n;return[function(){return l(e())},f===null?void 0:function(){return l(f())}]},[e,n,r,s]);var a=rT(t,i[0],i[1]);return iT(function(){o.hasValue=!0,o.value=a},[a]),aT(a),a};rk.exports=sk;var lT=rk.exports;const cT=l5(lT);function dT(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return g.useMemo(()=>r=>{e.forEach(s=>s(r))},e)}const Zd=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function zi(t){const e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function im(t){return"nodeType"in t}function Lt(t){var e,n;return t?zi(t)?t:im(t)&&(e=(n=t.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function om(t){const{Document:e}=Lt(t);return t instanceof e}function hl(t){return zi(t)?!1:t instanceof Lt(t).HTMLElement}function ik(t){return t instanceof Lt(t).SVGElement}function Hi(t){return t?zi(t)?t.document:im(t)?om(t)?t:hl(t)||ik(t)?t.ownerDocument:document:document:document}const Ln=Zd?g.useLayoutEffect:g.useEffect;function eu(t){const e=g.useRef(t);return Ln(()=>{e.current=t}),g.useCallback(function(){for(var n=arguments.length,r=new Array(n),s=0;s<n;s++)r[s]=arguments[s];return e.current==null?void 0:e.current(...r)},[])}function uT(){const t=g.useRef(null),e=g.useCallback((r,s)=>{t.current=setInterval(r,s)},[]),n=g.useCallback(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[]);return[e,n]}function sa(t,e){e===void 0&&(e=[t]);const n=g.useRef(t);return Ln(()=>{n.current!==t&&(n.current=t)},e),n}function fl(t,e){const n=g.useRef();return g.useMemo(()=>{const r=t(n.current);return n.current=r,r},[...e])}function hd(t){const e=eu(t),n=g.useRef(null),r=g.useCallback(s=>{s!==n.current&&e?.(s,n.current),n.current=s},[]);return[n,r]}function fd(t){const e=g.useRef();return g.useEffect(()=>{e.current=t},[t]),e.current}let ih={};function pl(t,e){return g.useMemo(()=>{if(e)return e;const n=ih[t]==null?0:ih[t]+1;return ih[t]=n,t+"-"+n},[t,e])}function ok(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),s=1;s<n;s++)r[s-1]=arguments[s];return r.reduce((i,o)=>{const a=Object.entries(o);for(const[l,d]of a){const u=i[l];u!=null&&(i[l]=u+t*d)}return i},{...e})}}const mi=ok(1),ia=ok(-1);function hT(t){return"clientX"in t&&"clientY"in t}function tu(t){if(!t)return!1;const{KeyboardEvent:e}=Lt(t.target);return e&&t instanceof e}function fT(t){if(!t)return!1;const{TouchEvent:e}=Lt(t.target);return e&&t instanceof e}function pd(t){if(fT(t)){if(t.touches&&t.touches.length){const{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){const{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return hT(t)?{x:t.clientX,y:t.clientY}:null}const es=Object.freeze({Translate:{toString(t){if(!t)return;const{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;const{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[es.Translate.toString(t),es.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),Rx="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function pT(t){return t.matches(Rx)?t:t.querySelector(Rx)}const mT={display:"none"};function gT(t){let{id:e,value:n}=t;return $e.createElement("div",{id:e,style:mT},n)}function xT(t){let{id:e,announcement:n,ariaLiveType:r="assertive"}=t;const s={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return $e.createElement("div",{id:e,style:s,role:"status","aria-live":r,"aria-atomic":!0},n)}function bT(){const[t,e]=g.useState("");return{announce:g.useCallback(r=>{r!=null&&e(r)},[]),announcement:t}}const ak=g.createContext(null);function yT(t){const e=g.useContext(ak);g.useEffect(()=>{if(!e)throw new Error("useDndMonitor must be used within a children of <DndContext>");return e(t)},[t,e])}function vT(){const[t]=g.useState(()=>new Set),e=g.useCallback(r=>(t.add(r),()=>t.delete(r)),[t]);return[g.useCallback(r=>{let{type:s,event:i}=r;t.forEach(o=>{var a;return(a=o[s])==null?void 0:a.call(o,i)})},[t]),e]}const wT={draggable:`
262
+ To pick up a draggable item, press the space bar.
263
+ While dragging, use the arrow keys to move the item.
264
+ Press space again to drop the item in its new position, or press escape to cancel.
265
+ `},kT={onDragStart(t){let{active:e}=t;return"Picked up draggable item "+e.id+"."},onDragOver(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was moved over droppable area "+n.id+".":"Draggable item "+e.id+" is no longer over a droppable area."},onDragEnd(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was dropped over droppable area "+n.id:"Draggable item "+e.id+" was dropped."},onDragCancel(t){let{active:e}=t;return"Dragging was cancelled. Draggable item "+e.id+" was dropped."}};function ST(t){let{announcements:e=kT,container:n,hiddenTextDescribedById:r,screenReaderInstructions:s=wT}=t;const{announce:i,announcement:o}=bT(),a=pl("DndLiveRegion"),[l,d]=g.useState(!1);if(g.useEffect(()=>{d(!0)},[]),yT(g.useMemo(()=>({onDragStart(h){let{active:f}=h;i(e.onDragStart({active:f}))},onDragMove(h){let{active:f,over:p}=h;e.onDragMove&&i(e.onDragMove({active:f,over:p}))},onDragOver(h){let{active:f,over:p}=h;i(e.onDragOver({active:f,over:p}))},onDragEnd(h){let{active:f,over:p}=h;i(e.onDragEnd({active:f,over:p}))},onDragCancel(h){let{active:f,over:p}=h;i(e.onDragCancel({active:f,over:p}))}}),[i,e])),!l)return null;const u=$e.createElement($e.Fragment,null,$e.createElement(gT,{id:r,value:s.draggable}),$e.createElement(xT,{id:a,announcement:o}));return n?xs.createPortal(u,n):u}var ot;(function(t){t.DragStart="dragStart",t.DragMove="dragMove",t.DragEnd="dragEnd",t.DragCancel="dragCancel",t.DragOver="dragOver",t.RegisterDroppable="registerDroppable",t.SetDroppableDisabled="setDroppableDisabled",t.UnregisterDroppable="unregisterDroppable"})(ot||(ot={}));function md(){}function Ix(t,e){return g.useMemo(()=>({sensor:t,options:e??{}}),[t,e])}function CT(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return g.useMemo(()=>[...e].filter(r=>r!=null),[...e])}const Rn=Object.freeze({x:0,y:0});function lk(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function jT(t,e){const n=pd(t);if(!n)return"0 0";const r={x:(n.x-e.left)/e.width*100,y:(n.y-e.top)/e.height*100};return r.x+"% "+r.y+"%"}function ck(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return n-r}function NT(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return r-n}function $x(t){let{left:e,top:n,height:r,width:s}=t;return[{x:e,y:n},{x:e+s,y:n},{x:e,y:n+r},{x:e+s,y:n+r}]}function dk(t,e){if(!t||t.length===0)return null;const[n]=t;return n[e]}function Bx(t,e,n){return e===void 0&&(e=t.left),n===void 0&&(n=t.top),{x:e+t.width*.5,y:n+t.height*.5}}const PT=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const s=Bx(e,e.left,e.top),i=[];for(const o of r){const{id:a}=o,l=n.get(a);if(l){const d=lk(Bx(l),s);i.push({id:a,data:{droppableContainer:o,value:d}})}}return i.sort(ck)},ET=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const s=$x(e),i=[];for(const o of r){const{id:a}=o,l=n.get(a);if(l){const d=$x(l),u=s.reduce((f,p,m)=>f+lk(d[m],p),0),h=Number((u/4).toFixed(4));i.push({id:a,data:{droppableContainer:o,value:h}})}}return i.sort(ck)};function OT(t,e){const n=Math.max(e.top,t.top),r=Math.max(e.left,t.left),s=Math.min(e.left+e.width,t.left+t.width),i=Math.min(e.top+e.height,t.top+t.height),o=s-r,a=i-n;if(r<s&&n<i){const l=e.width*e.height,d=t.width*t.height,u=o*a,h=u/(l+d-u);return Number(h.toFixed(4))}return 0}const MT=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const s=[];for(const i of r){const{id:o}=i,a=n.get(o);if(a){const l=OT(a,e);l>0&&s.push({id:o,data:{droppableContainer:i,value:l}})}}return s.sort(NT)};function DT(t,e,n){return{...t,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function uk(t,e){return t&&e?{x:t.left-e.left,y:t.top-e.top}:Rn}function AT(t){return function(n){for(var r=arguments.length,s=new Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];return s.reduce((o,a)=>({...o,top:o.top+t*a.y,bottom:o.bottom+t*a.y,left:o.left+t*a.x,right:o.right+t*a.x}),{...n})}}const TT=AT(1);function hk(t){if(t.startsWith("matrix3d(")){const e=t.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(t.startsWith("matrix(")){const e=t.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function LT(t,e,n){const r=hk(e);if(!r)return t;const{scaleX:s,scaleY:i,x:o,y:a}=r,l=t.left-o-(1-s)*parseFloat(n),d=t.top-a-(1-i)*parseFloat(n.slice(n.indexOf(" ")+1)),u=s?t.width/s:t.width,h=i?t.height/i:t.height;return{width:u,height:h,top:d,right:l+u,bottom:d+h,left:l}}const RT={ignoreTransform:!1};function Vi(t,e){e===void 0&&(e=RT);let n=t.getBoundingClientRect();if(e.ignoreTransform){const{transform:d,transformOrigin:u}=Lt(t).getComputedStyle(t);d&&(n=LT(n,d,u))}const{top:r,left:s,width:i,height:o,bottom:a,right:l}=n;return{top:r,left:s,width:i,height:o,bottom:a,right:l}}function _x(t){return Vi(t,{ignoreTransform:!0})}function IT(t){const e=t.innerWidth,n=t.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function $T(t,e){return e===void 0&&(e=Lt(t).getComputedStyle(t)),e.position==="fixed"}function BT(t,e){e===void 0&&(e=Lt(t).getComputedStyle(t));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(s=>{const i=e[s];return typeof i=="string"?n.test(i):!1})}function nu(t,e){const n=[];function r(s){if(e!=null&&n.length>=e||!s)return n;if(om(s)&&s.scrollingElement!=null&&!n.includes(s.scrollingElement))return n.push(s.scrollingElement),n;if(!hl(s)||ik(s)||n.includes(s))return n;const i=Lt(t).getComputedStyle(s);return s!==t&&BT(s,i)&&n.push(s),$T(s,i)?n:r(s.parentNode)}return t?r(t):n}function fk(t){const[e]=nu(t,1);return e??null}function oh(t){return!Zd||!t?null:zi(t)?t:im(t)?om(t)||t===Hi(t).scrollingElement?window:hl(t)?t:null:null}function pk(t){return zi(t)?t.scrollX:t.scrollLeft}function mk(t){return zi(t)?t.scrollY:t.scrollTop}function Hf(t){return{x:pk(t),y:mk(t)}}var ht;(function(t){t[t.Forward=1]="Forward",t[t.Backward=-1]="Backward"})(ht||(ht={}));function gk(t){return!Zd||!t?!1:t===document.scrollingElement}function xk(t){const e={x:0,y:0},n=gk(t)?{height:window.innerHeight,width:window.innerWidth}:{height:t.clientHeight,width:t.clientWidth},r={x:t.scrollWidth-n.width,y:t.scrollHeight-n.height},s=t.scrollTop<=e.y,i=t.scrollLeft<=e.x,o=t.scrollTop>=r.y,a=t.scrollLeft>=r.x;return{isTop:s,isLeft:i,isBottom:o,isRight:a,maxScroll:r,minScroll:e}}const _T={x:.2,y:.2};function FT(t,e,n,r,s){let{top:i,left:o,right:a,bottom:l}=n;r===void 0&&(r=10),s===void 0&&(s=_T);const{isTop:d,isBottom:u,isLeft:h,isRight:f}=xk(t),p={x:0,y:0},m={x:0,y:0},x={height:e.height*s.y,width:e.width*s.x};return!d&&i<=e.top+x.height?(p.y=ht.Backward,m.y=r*Math.abs((e.top+x.height-i)/x.height)):!u&&l>=e.bottom-x.height&&(p.y=ht.Forward,m.y=r*Math.abs((e.bottom-x.height-l)/x.height)),!f&&a>=e.right-x.width?(p.x=ht.Forward,m.x=r*Math.abs((e.right-x.width-a)/x.width)):!h&&o<=e.left+x.width&&(p.x=ht.Backward,m.x=r*Math.abs((e.left+x.width-o)/x.width)),{direction:p,speed:m}}function zT(t){if(t===document.scrollingElement){const{innerWidth:i,innerHeight:o}=window;return{top:0,left:0,right:i,bottom:o,width:i,height:o}}const{top:e,left:n,right:r,bottom:s}=t.getBoundingClientRect();return{top:e,left:n,right:r,bottom:s,width:t.clientWidth,height:t.clientHeight}}function bk(t){return t.reduce((e,n)=>mi(e,Hf(n)),Rn)}function HT(t){return t.reduce((e,n)=>e+pk(n),0)}function VT(t){return t.reduce((e,n)=>e+mk(n),0)}function yk(t,e){if(e===void 0&&(e=Vi),!t)return;const{top:n,left:r,bottom:s,right:i}=e(t);fk(t)&&(s<=0||i<=0||n>=window.innerHeight||r>=window.innerWidth)&&t.scrollIntoView({block:"center",inline:"center"})}const WT=[["x",["left","right"],HT],["y",["top","bottom"],VT]];class am{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=nu(n),s=bk(r);this.rect={...e},this.width=e.width,this.height=e.height;for(const[i,o,a]of WT)for(const l of o)Object.defineProperty(this,l,{get:()=>{const d=a(r),u=s[i]-d;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Mo{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=e}add(e,n,r){var s;(s=this.target)==null||s.addEventListener(e,n,r),this.listeners.push([e,n,r])}}function KT(t){const{EventTarget:e}=Lt(t);return t instanceof e?t:Hi(t)}function ah(t,e){const n=Math.abs(t.x),r=Math.abs(t.y);return typeof e=="number"?Math.sqrt(n**2+r**2)>e:"x"in e&&"y"in e?n>e.x&&r>e.y:"x"in e?n>e.x:"y"in e?r>e.y:!1}var un;(function(t){t.Click="click",t.DragStart="dragstart",t.Keydown="keydown",t.ContextMenu="contextmenu",t.Resize="resize",t.SelectionChange="selectionchange",t.VisibilityChange="visibilitychange"})(un||(un={}));function Fx(t){t.preventDefault()}function UT(t){t.stopPropagation()}var Ee;(function(t){t.Space="Space",t.Down="ArrowDown",t.Right="ArrowRight",t.Left="ArrowLeft",t.Up="ArrowUp",t.Esc="Escape",t.Enter="Enter",t.Tab="Tab"})(Ee||(Ee={}));const vk={start:[Ee.Space,Ee.Enter],cancel:[Ee.Esc],end:[Ee.Space,Ee.Enter,Ee.Tab]},GT=(t,e)=>{let{currentCoordinates:n}=e;switch(t.code){case Ee.Right:return{...n,x:n.x+25};case Ee.Left:return{...n,x:n.x-25};case Ee.Down:return{...n,y:n.y+25};case Ee.Up:return{...n,y:n.y-25}}};class lm{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:n}}=e;this.props=e,this.listeners=new Mo(Hi(n)),this.windowListeners=new Mo(Lt(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(un.Resize,this.handleCancel),this.windowListeners.add(un.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(un.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:n}=this.props,r=e.node.current;r&&yk(r),n(Rn)}handleKeyDown(e){if(tu(e)){const{active:n,context:r,options:s}=this.props,{keyboardCodes:i=vk,coordinateGetter:o=GT,scrollBehavior:a="smooth"}=s,{code:l}=e;if(i.end.includes(l)){this.handleEnd(e);return}if(i.cancel.includes(l)){this.handleCancel(e);return}const{collisionRect:d}=r.current,u=d?{x:d.left,y:d.top}:Rn;this.referenceCoordinates||(this.referenceCoordinates=u);const h=o(e,{active:n,context:r.current,currentCoordinates:u});if(h){const f=ia(h,u),p={x:0,y:0},{scrollableAncestors:m}=r.current;for(const x of m){const b=e.code,{isTop:y,isRight:k,isLeft:v,isBottom:w,maxScroll:C,minScroll:j}=xk(x),S=zT(x),E={x:Math.min(b===Ee.Right?S.right-S.width/2:S.right,Math.max(b===Ee.Right?S.left:S.left+S.width/2,h.x)),y:Math.min(b===Ee.Down?S.bottom-S.height/2:S.bottom,Math.max(b===Ee.Down?S.top:S.top+S.height/2,h.y))},O=b===Ee.Right&&!k||b===Ee.Left&&!v,A=b===Ee.Down&&!w||b===Ee.Up&&!y;if(O&&E.x!==h.x){const P=x.scrollLeft+f.x,L=b===Ee.Right&&P<=C.x||b===Ee.Left&&P>=j.x;if(L&&!f.y){x.scrollTo({left:P,behavior:a});return}L?p.x=x.scrollLeft-P:p.x=b===Ee.Right?x.scrollLeft-C.x:x.scrollLeft-j.x,p.x&&x.scrollBy({left:-p.x,behavior:a});break}else if(A&&E.y!==h.y){const P=x.scrollTop+f.y,L=b===Ee.Down&&P<=C.y||b===Ee.Up&&P>=j.y;if(L&&!f.x){x.scrollTo({top:P,behavior:a});return}L?p.y=x.scrollTop-P:p.y=b===Ee.Down?x.scrollTop-C.y:x.scrollTop-j.y,p.y&&x.scrollBy({top:-p.y,behavior:a});break}}this.handleMove(e,mi(ia(h,this.referenceCoordinates),p))}}}handleMove(e,n){const{onMove:r}=this.props;e.preventDefault(),r(n)}handleEnd(e){const{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){const{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}lm.activators=[{eventName:"onKeyDown",handler:(t,e,n)=>{let{keyboardCodes:r=vk,onActivation:s}=e,{active:i}=n;const{code:o}=t.nativeEvent;if(r.start.includes(o)){const a=i.activatorNode.current;return a&&t.target!==a?!1:(t.preventDefault(),s?.({event:t.nativeEvent}),!0)}return!1}}];function zx(t){return!!(t&&"distance"in t)}function Hx(t){return!!(t&&"delay"in t)}class cm{constructor(e,n,r){var s;r===void 0&&(r=KT(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;const{event:i}=e,{target:o}=i;this.props=e,this.events=n,this.document=Hi(o),this.documentListeners=new Mo(this.document),this.listeners=new Mo(r),this.windowListeners=new Mo(Lt(o)),this.initialCoordinates=(s=pd(i))!=null?s:Rn,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(un.Resize,this.handleCancel),this.windowListeners.add(un.DragStart,Fx),this.windowListeners.add(un.VisibilityChange,this.handleCancel),this.windowListeners.add(un.ContextMenu,Fx),this.documentListeners.add(un.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Hx(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(zx(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){const{active:r,onPending:s}=this.props;s(r,e,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(un.Click,UT,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(un.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;const{activated:r,initialCoordinates:s,props:i}=this,{onMove:o,options:{activationConstraint:a}}=i;if(!s)return;const l=(n=pd(e))!=null?n:Rn,d=ia(s,l);if(!r&&a){if(zx(a)){if(a.tolerance!=null&&ah(d,a.tolerance))return this.handleCancel();if(ah(d,a.distance))return this.handleStart()}if(Hx(a)&&ah(d,a.tolerance))return this.handleCancel();this.handlePending(a,d);return}e.cancelable&&e.preventDefault(),o(l)}handleEnd(){const{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){const{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===Ee.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const qT={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class dm extends cm{constructor(e){const{event:n}=e,r=Hi(n.target);super(e,qT,r)}}dm.activators=[{eventName:"onPointerDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];const YT={move:{name:"mousemove"},end:{name:"mouseup"}};var Vf;(function(t){t[t.RightClick=2]="RightClick"})(Vf||(Vf={}));class XT extends cm{constructor(e){super(e,YT,Hi(e.event.target))}}XT.activators=[{eventName:"onMouseDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return n.button===Vf.RightClick?!1:(r?.({event:n}),!0)}}];const lh={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class QT extends cm{constructor(e){super(e,lh)}static setup(){return window.addEventListener(lh.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(lh.move.name,e)};function e(){}}}QT.activators=[{eventName:"onTouchStart",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;const{touches:s}=n;return s.length>1?!1:(r?.({event:n}),!0)}}];var Do;(function(t){t[t.Pointer=0]="Pointer",t[t.DraggableRect=1]="DraggableRect"})(Do||(Do={}));var gd;(function(t){t[t.TreeOrder=0]="TreeOrder",t[t.ReversedTreeOrder=1]="ReversedTreeOrder"})(gd||(gd={}));function JT(t){let{acceleration:e,activator:n=Do.Pointer,canScroll:r,draggingRect:s,enabled:i,interval:o=5,order:a=gd.TreeOrder,pointerCoordinates:l,scrollableAncestors:d,scrollableAncestorRects:u,delta:h,threshold:f}=t;const p=e8({delta:h,disabled:!i}),[m,x]=uT(),b=g.useRef({x:0,y:0}),y=g.useRef({x:0,y:0}),k=g.useMemo(()=>{switch(n){case Do.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Do.DraggableRect:return s}},[n,s,l]),v=g.useRef(null),w=g.useCallback(()=>{const j=v.current;if(!j)return;const S=b.current.x*y.current.x,E=b.current.y*y.current.y;j.scrollBy(S,E)},[]),C=g.useMemo(()=>a===gd.TreeOrder?[...d].reverse():d,[a,d]);g.useEffect(()=>{if(!i||!d.length||!k){x();return}for(const j of C){if(r?.(j)===!1)continue;const S=d.indexOf(j),E=u[S];if(!E)continue;const{direction:O,speed:A}=FT(j,E,k,e,f);for(const P of["x","y"])p[P][O[P]]||(A[P]=0,O[P]=0);if(A.x>0||A.y>0){x(),v.current=j,m(w,o),b.current=A,y.current=O;return}}b.current={x:0,y:0},y.current={x:0,y:0},x()},[e,w,r,x,i,o,JSON.stringify(k),JSON.stringify(p),m,d,C,u,JSON.stringify(f)])}const ZT={x:{[ht.Backward]:!1,[ht.Forward]:!1},y:{[ht.Backward]:!1,[ht.Forward]:!1}};function e8(t){let{delta:e,disabled:n}=t;const r=fd(e);return fl(s=>{if(n||!r||!s)return ZT;const i={x:Math.sign(e.x-r.x),y:Math.sign(e.y-r.y)};return{x:{[ht.Backward]:s.x[ht.Backward]||i.x===-1,[ht.Forward]:s.x[ht.Forward]||i.x===1},y:{[ht.Backward]:s.y[ht.Backward]||i.y===-1,[ht.Forward]:s.y[ht.Forward]||i.y===1}}},[n,e,r])}function t8(t,e){const n=e!=null?t.get(e):void 0,r=n?n.node.current:null;return fl(s=>{var i;return e==null?null:(i=r??s)!=null?i:null},[r,e])}function n8(t,e){return g.useMemo(()=>t.reduce((n,r)=>{const{sensor:s}=r,i=s.activators.map(o=>({eventName:o.eventName,handler:e(o.handler,r)}));return[...n,...i]},[]),[t,e])}var oa;(function(t){t[t.Always=0]="Always",t[t.BeforeDragging=1]="BeforeDragging",t[t.WhileDragging=2]="WhileDragging"})(oa||(oa={}));var Wf;(function(t){t.Optimized="optimized"})(Wf||(Wf={}));const Vx=new Map;function r8(t,e){let{dragging:n,dependencies:r,config:s}=e;const[i,o]=g.useState(null),{frequency:a,measure:l,strategy:d}=s,u=g.useRef(t),h=b(),f=sa(h),p=g.useCallback(function(y){y===void 0&&(y=[]),!f.current&&o(k=>k===null?y:k.concat(y.filter(v=>!k.includes(v))))},[f]),m=g.useRef(null),x=fl(y=>{if(h&&!n)return Vx;if(!y||y===Vx||u.current!==t||i!=null){const k=new Map;for(let v of t){if(!v)continue;if(i&&i.length>0&&!i.includes(v.id)&&v.rect.current){k.set(v.id,v.rect.current);continue}const w=v.node.current,C=w?new am(l(w),w):null;v.rect.current=C,C&&k.set(v.id,C)}return k}return y},[t,i,n,h,l]);return g.useEffect(()=>{u.current=t},[t]),g.useEffect(()=>{h||p()},[n,h]),g.useEffect(()=>{i&&i.length>0&&o(null)},[JSON.stringify(i)]),g.useEffect(()=>{h||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},a))},[a,h,p,...r]),{droppableRects:x,measureDroppableContainers:p,measuringScheduled:i!=null};function b(){switch(d){case oa.Always:return!1;case oa.BeforeDragging:return n;default:return!n}}}function um(t,e){return fl(n=>t?n||(typeof e=="function"?e(t):t):null,[e,t])}function s8(t,e){return um(t,e)}function i8(t){let{callback:e,disabled:n}=t;const r=eu(e),s=g.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:i}=window;return new i(r)},[r,n]);return g.useEffect(()=>()=>s?.disconnect(),[s]),s}function ru(t){let{callback:e,disabled:n}=t;const r=eu(e),s=g.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:i}=window;return new i(r)},[n]);return g.useEffect(()=>()=>s?.disconnect(),[s]),s}function o8(t){return new am(Vi(t),t)}function Wx(t,e,n){e===void 0&&(e=o8);const[r,s]=g.useState(null);function i(){s(l=>{if(!t)return null;if(t.isConnected===!1){var d;return(d=l??n)!=null?d:null}const u=e(t);return JSON.stringify(l)===JSON.stringify(u)?l:u})}const o=i8({callback(l){if(t)for(const d of l){const{type:u,target:h}=d;if(u==="childList"&&h instanceof HTMLElement&&h.contains(t)){i();break}}}}),a=ru({callback:i});return Ln(()=>{i(),t?(a?.observe(t),o?.observe(document.body,{childList:!0,subtree:!0})):(a?.disconnect(),o?.disconnect())},[t]),r}function a8(t){const e=um(t);return uk(t,e)}const Kx=[];function l8(t){const e=g.useRef(t),n=fl(r=>t?r&&r!==Kx&&t&&e.current&&t.parentNode===e.current.parentNode?r:nu(t):Kx,[t]);return g.useEffect(()=>{e.current=t},[t]),n}function c8(t){const[e,n]=g.useState(null),r=g.useRef(t),s=g.useCallback(i=>{const o=oh(i.target);o&&n(a=>a?(a.set(o,Hf(o)),new Map(a)):null)},[]);return g.useEffect(()=>{const i=r.current;if(t!==i){o(i);const a=t.map(l=>{const d=oh(l);return d?(d.addEventListener("scroll",s,{passive:!0}),[d,Hf(d)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=t}return()=>{o(t),o(i)};function o(a){a.forEach(l=>{const d=oh(l);d?.removeEventListener("scroll",s)})}},[s,t]),g.useMemo(()=>t.length?e?Array.from(e.values()).reduce((i,o)=>mi(i,o),Rn):bk(t):Rn,[t,e])}function Ux(t,e){e===void 0&&(e=[]);const n=g.useRef(null);return g.useEffect(()=>{n.current=null},e),g.useEffect(()=>{const r=t!==Rn;r&&!n.current&&(n.current=t),!r&&n.current&&(n.current=null)},[t]),n.current?ia(t,n.current):Rn}function d8(t){g.useEffect(()=>{if(!Zd)return;const e=t.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of e)n?.()}},t.map(e=>{let{sensor:n}=e;return n}))}function u8(t,e){return g.useMemo(()=>t.reduce((n,r)=>{let{eventName:s,handler:i}=r;return n[s]=o=>{i(o,e)},n},{}),[t,e])}function wk(t){return g.useMemo(()=>t?IT(t):null,[t])}const Gx=[];function h8(t,e){e===void 0&&(e=Vi);const[n]=t,r=wk(n?Lt(n):null),[s,i]=g.useState(Gx);function o(){i(()=>t.length?t.map(l=>gk(l)?r:new am(e(l),l)):Gx)}const a=ru({callback:o});return Ln(()=>{a?.disconnect(),o(),t.forEach(l=>a?.observe(l))},[t]),s}function kk(t){if(!t)return null;if(t.children.length>1)return t;const e=t.children[0];return hl(e)?e:t}function f8(t){let{measure:e}=t;const[n,r]=g.useState(null),s=g.useCallback(d=>{for(const{target:u}of d)if(hl(u)){r(h=>{const f=e(u);return h?{...h,width:f.width,height:f.height}:f});break}},[e]),i=ru({callback:s}),o=g.useCallback(d=>{const u=kk(d);i?.disconnect(),u&&i?.observe(u),r(u?e(u):null)},[e,i]),[a,l]=hd(o);return g.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const p8=[{sensor:dm,options:{}},{sensor:lm,options:{}}],m8={current:{}},Ac={draggable:{measure:_x},droppable:{measure:_x,strategy:oa.WhileDragging,frequency:Wf.Optimized},dragOverlay:{measure:Vi}};class Ao extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,r;return(n=(r=this.get(e))==null?void 0:r.node.current)!=null?n:void 0}}const g8={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ao,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:md},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ac,measureDroppableContainers:md,windowRect:null,measuringScheduled:!1},Sk={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:md,draggableNodes:new Map,over:null,measureDroppableContainers:md},ml=g.createContext(Sk),Ck=g.createContext(g8);function x8(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ao}}}function b8(t,e){switch(e.type){case ot.DragStart:return{...t,draggable:{...t.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case ot.DragMove:return t.draggable.active==null?t:{...t,draggable:{...t.draggable,translate:{x:e.coordinates.x-t.draggable.initialCoordinates.x,y:e.coordinates.y-t.draggable.initialCoordinates.y}}};case ot.DragEnd:case ot.DragCancel:return{...t,draggable:{...t.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ot.RegisterDroppable:{const{element:n}=e,{id:r}=n,s=new Ao(t.droppable.containers);return s.set(r,n),{...t,droppable:{...t.droppable,containers:s}}}case ot.SetDroppableDisabled:{const{id:n,key:r,disabled:s}=e,i=t.droppable.containers.get(n);if(!i||r!==i.key)return t;const o=new Ao(t.droppable.containers);return o.set(n,{...i,disabled:s}),{...t,droppable:{...t.droppable,containers:o}}}case ot.UnregisterDroppable:{const{id:n,key:r}=e,s=t.droppable.containers.get(n);if(!s||r!==s.key)return t;const i=new Ao(t.droppable.containers);return i.delete(n),{...t,droppable:{...t.droppable,containers:i}}}default:return t}}function y8(t){let{disabled:e}=t;const{active:n,activatorEvent:r,draggableNodes:s}=g.useContext(ml),i=fd(r),o=fd(n?.id);return g.useEffect(()=>{if(!e&&!r&&i&&o!=null){if(!tu(i)||document.activeElement===i.target)return;const a=s.get(o);if(!a)return;const{activatorNode:l,node:d}=a;if(!l.current&&!d.current)return;requestAnimationFrame(()=>{for(const u of[l.current,d.current]){if(!u)continue;const h=pT(u);if(h){h.focus();break}}})}},[r,e,s,o,i]),null}function jk(t,e){let{transform:n,...r}=e;return t!=null&&t.length?t.reduce((s,i)=>i({transform:s,...r}),n):n}function v8(t){return g.useMemo(()=>({draggable:{...Ac.draggable,...t?.draggable},droppable:{...Ac.droppable,...t?.droppable},dragOverlay:{...Ac.dragOverlay,...t?.dragOverlay}}),[t?.draggable,t?.droppable,t?.dragOverlay])}function w8(t){let{activeNode:e,measure:n,initialRect:r,config:s=!0}=t;const i=g.useRef(!1),{x:o,y:a}=typeof s=="boolean"?{x:s,y:s}:s;Ln(()=>{if(!o&&!a||!e){i.current=!1;return}if(i.current||!r)return;const d=e?.node.current;if(!d||d.isConnected===!1)return;const u=n(d),h=uk(u,r);if(o||(h.x=0),a||(h.y=0),i.current=!0,Math.abs(h.x)>0||Math.abs(h.y)>0){const f=fk(d);f&&f.scrollBy({top:h.y,left:h.x})}},[e,o,a,r,n])}const su=g.createContext({...Rn,scaleX:1,scaleY:1});var Rr;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Initializing=1]="Initializing",t[t.Initialized=2]="Initialized"})(Rr||(Rr={}));const k8=g.memo(function(e){var n,r,s,i;let{id:o,accessibility:a,autoScroll:l=!0,children:d,sensors:u=p8,collisionDetection:h=MT,measuring:f,modifiers:p,...m}=e;const x=g.useReducer(b8,void 0,x8),[b,y]=x,[k,v]=vT(),[w,C]=g.useState(Rr.Uninitialized),j=w===Rr.Initialized,{draggable:{active:S,nodes:E,translate:O},droppable:{containers:A}}=b,P=S!=null?E.get(S):null,L=g.useRef({initial:null,translated:null}),_=g.useMemo(()=>{var Ge;return S!=null?{id:S,data:(Ge=P?.data)!=null?Ge:m8,rect:L}:null},[S,P]),N=g.useRef(null),[M,D]=g.useState(null),[I,R]=g.useState(null),$=sa(m,Object.values(m)),V=pl("DndDescribedBy",o),W=g.useMemo(()=>A.getEnabled(),[A]),F=v8(f),{droppableRects:Y,measureDroppableContainers:q,measuringScheduled:ne}=r8(W,{dragging:j,dependencies:[O.x,O.y],config:F.droppable}),ue=t8(E,S),ae=g.useMemo(()=>I?pd(I):null,[I]),z=Vs(),te=s8(ue,F.draggable.measure);w8({activeNode:S!=null?E.get(S):null,config:z.layoutShiftCompensation,initialRect:te,measure:F.draggable.measure});const J=Wx(ue,F.draggable.measure,te),he=Wx(ue?ue.parentElement:null),ee=g.useRef({activatorEvent:null,active:null,activeNode:ue,collisionRect:null,collisions:null,droppableRects:Y,draggableNodes:E,draggingNode:null,draggingNodeRect:null,droppableContainers:A,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),fe=A.getNodeFor((n=ee.current.over)==null?void 0:n.id),U=f8({measure:F.dragOverlay.measure}),Q=(r=U.nodeRef.current)!=null?r:ue,oe=j?(s=U.rect)!=null?s:J:null,ke=!!(U.nodeRef.current&&U.rect),Ke=a8(ke?null:J),ct=wk(Q?Lt(Q):null),Ue=l8(j?fe??ue:null),tn=h8(Ue),nn=jk(p,{transform:{x:O.x-Ke.x,y:O.y-Ke.y,scaleX:1,scaleY:1},activatorEvent:I,active:_,activeNodeRect:J,containerNodeRect:he,draggingNodeRect:oe,over:ee.current.over,overlayNodeRect:U.rect,scrollableAncestors:Ue,scrollableAncestorRects:tn,windowRect:ct}),Fn=ae?mi(ae,O):null,Rt=c8(Ue),rn=Ux(Rt),Cn=Ux(Rt,[J]),St=mi(nn,rn),rt=oe?TT(oe,nn):null,pt=_&&rt?h({active:_,collisionRect:rt,droppableRects:Y,droppableContainers:W,pointerCoordinates:Fn}):null,cr=dk(pt,"id"),[sn,Nr]=g.useState(null),Xi=ke?nn:mi(nn,Cn),Wt=DT(Xi,(i=sn?.rect)!=null?i:null,J),Pr=g.useRef(null),is=g.useCallback((Ge,mt)=>{let{sensor:dt,options:on}=mt;if(N.current==null)return;const gt=E.get(N.current);if(!gt)return;const Ze=Ge.nativeEvent,xt=new dt({active:N.current,activeNode:gt,event:Ze,options:on,context:ee,onAbort(Ye){if(!E.get(Ye))return;const{onDragAbort:T}=$.current,B={id:Ye};T?.(B),k({type:"onDragAbort",event:B})},onPending(Ye,an,T,B){if(!E.get(Ye))return;const{onDragPending:X}=$.current,Z={id:Ye,constraint:an,initialCoordinates:T,offset:B};X?.(Z),k({type:"onDragPending",event:Z})},onStart(Ye){const an=N.current;if(an==null)return;const T=E.get(an);if(!T)return;const{onDragStart:B}=$.current,H={activatorEvent:Ze,active:{id:an,data:T.data,rect:L}};xs.unstable_batchedUpdates(()=>{B?.(H),C(Rr.Initializing),y({type:ot.DragStart,initialCoordinates:Ye,active:an}),k({type:"onDragStart",event:H}),D(Pr.current),R(Ze)})},onMove(Ye){y({type:ot.DragMove,coordinates:Ye})},onEnd:jn(ot.DragEnd),onCancel:jn(ot.DragCancel)});Pr.current=xt;function jn(Ye){return async function(){const{active:T,collisions:B,over:H,scrollAdjustedTranslate:X}=ee.current;let Z=null;if(T&&X){const{cancelDrop:pe}=$.current;Z={activatorEvent:Ze,active:T,collisions:B,delta:X,over:H},Ye===ot.DragEnd&&typeof pe=="function"&&await Promise.resolve(pe(Z))&&(Ye=ot.DragCancel)}N.current=null,xs.unstable_batchedUpdates(()=>{y({type:Ye}),C(Rr.Uninitialized),Nr(null),D(null),R(null),Pr.current=null;const pe=Ye===ot.DragEnd?"onDragEnd":"onDragCancel";if(Z){const le=$.current[pe];le?.(Z),k({type:pe,event:Z})}})}}},[E]),Fs=g.useCallback((Ge,mt)=>(dt,on)=>{const gt=dt.nativeEvent,Ze=E.get(on);if(N.current!==null||!Ze||gt.dndKit||gt.defaultPrevented)return;const xt={active:Ze};Ge(dt,mt.options,xt)===!0&&(gt.dndKit={capturedBy:mt.sensor},N.current=on,is(dt,mt))},[E,is]),zs=n8(u,Fs);d8(u),Ln(()=>{J&&w===Rr.Initializing&&C(Rr.Initialized)},[J,w]),g.useEffect(()=>{const{onDragMove:Ge}=$.current,{active:mt,activatorEvent:dt,collisions:on,over:gt}=ee.current;if(!mt||!dt)return;const Ze={active:mt,activatorEvent:dt,collisions:on,delta:{x:St.x,y:St.y},over:gt};xs.unstable_batchedUpdates(()=>{Ge?.(Ze),k({type:"onDragMove",event:Ze})})},[St.x,St.y]),g.useEffect(()=>{const{active:Ge,activatorEvent:mt,collisions:dt,droppableContainers:on,scrollAdjustedTranslate:gt}=ee.current;if(!Ge||N.current==null||!mt||!gt)return;const{onDragOver:Ze}=$.current,xt=on.get(cr),jn=xt&&xt.rect.current?{id:xt.id,rect:xt.rect.current,data:xt.data,disabled:xt.disabled}:null,Ye={active:Ge,activatorEvent:mt,collisions:dt,delta:{x:gt.x,y:gt.y},over:jn};xs.unstable_batchedUpdates(()=>{Nr(jn),Ze?.(Ye),k({type:"onDragOver",event:Ye})})},[cr]),Ln(()=>{ee.current={activatorEvent:I,active:_,activeNode:ue,collisionRect:rt,collisions:pt,droppableRects:Y,draggableNodes:E,draggingNode:Q,draggingNodeRect:oe,droppableContainers:A,over:sn,scrollableAncestors:Ue,scrollAdjustedTranslate:St},L.current={initial:oe,translated:rt}},[_,ue,pt,rt,E,Q,oe,Y,A,sn,Ue,St]),JT({...z,delta:O,draggingRect:rt,pointerCoordinates:Fn,scrollableAncestors:Ue,scrollableAncestorRects:tn});const Hs=g.useMemo(()=>({active:_,activeNode:ue,activeNodeRect:J,activatorEvent:I,collisions:pt,containerNodeRect:he,dragOverlay:U,draggableNodes:E,droppableContainers:A,droppableRects:Y,over:sn,measureDroppableContainers:q,scrollableAncestors:Ue,scrollableAncestorRects:tn,measuringConfiguration:F,measuringScheduled:ne,windowRect:ct}),[_,ue,J,I,pt,he,U,E,A,Y,sn,q,Ue,tn,F,ne,ct]),Er=g.useMemo(()=>({activatorEvent:I,activators:zs,active:_,activeNodeRect:J,ariaDescribedById:{draggable:V},dispatch:y,draggableNodes:E,over:sn,measureDroppableContainers:q}),[I,zs,_,J,y,V,E,sn,q]);return $e.createElement(ak.Provider,{value:v},$e.createElement(ml.Provider,{value:Er},$e.createElement(Ck.Provider,{value:Hs},$e.createElement(su.Provider,{value:Wt},d)),$e.createElement(y8,{disabled:a?.restoreFocus===!1})),$e.createElement(ST,{...a,hiddenTextDescribedById:V}));function Vs(){const Ge=M?.autoScrollEnabled===!1,mt=typeof l=="object"?l.enabled===!1:l===!1,dt=j&&!Ge&&!mt;return typeof l=="object"?{...l,enabled:dt}:{enabled:dt}}}),S8=g.createContext(null),qx="button",C8="Draggable";function j8(t){let{id:e,data:n,disabled:r=!1,attributes:s}=t;const i=pl(C8),{activators:o,activatorEvent:a,active:l,activeNodeRect:d,ariaDescribedById:u,draggableNodes:h,over:f}=g.useContext(ml),{role:p=qx,roleDescription:m="draggable",tabIndex:x=0}=s??{},b=l?.id===e,y=g.useContext(b?su:S8),[k,v]=hd(),[w,C]=hd(),j=u8(o,e),S=sa(n);Ln(()=>(h.set(e,{id:e,key:i,node:k,activatorNode:w,data:S}),()=>{const O=h.get(e);O&&O.key===i&&h.delete(e)}),[h,e]);const E=g.useMemo(()=>({role:p,tabIndex:x,"aria-disabled":r,"aria-pressed":b&&p===qx?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,x,b,m,u.draggable]);return{active:l,activatorEvent:a,activeNodeRect:d,attributes:E,isDragging:b,listeners:r?void 0:j,node:k,over:f,setNodeRef:v,setActivatorNodeRef:C,transform:y}}function Nk(){return g.useContext(Ck)}const N8="Droppable",P8={timeout:25};function Pk(t){let{data:e,disabled:n=!1,id:r,resizeObserverConfig:s}=t;const i=pl(N8),{active:o,dispatch:a,over:l,measureDroppableContainers:d}=g.useContext(ml),u=g.useRef({disabled:n}),h=g.useRef(!1),f=g.useRef(null),p=g.useRef(null),{disabled:m,updateMeasurementsFor:x,timeout:b}={...P8,...s},y=sa(x??r),k=g.useCallback(()=>{if(!h.current){h.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{d(Array.isArray(y.current)?y.current:[y.current]),p.current=null},b)},[b]),v=ru({callback:k,disabled:m||!o}),w=g.useCallback((E,O)=>{v&&(O&&(v.unobserve(O),h.current=!1),E&&v.observe(E))},[v]),[C,j]=hd(w),S=sa(e);return g.useEffect(()=>{!v||!C.current||(v.disconnect(),h.current=!1,v.observe(C.current))},[C,v]),g.useEffect(()=>(a({type:ot.RegisterDroppable,element:{id:r,key:i,disabled:n,node:C,rect:f,data:S}}),()=>a({type:ot.UnregisterDroppable,key:i,id:r})),[r]),g.useEffect(()=>{n!==u.current.disabled&&(a({type:ot.SetDroppableDisabled,id:r,key:i,disabled:n}),u.current.disabled=n)},[r,i,n,a]),{active:o,rect:f,isOver:l?.id===r,node:C,over:l,setNodeRef:j}}function E8(t){let{animation:e,children:n}=t;const[r,s]=g.useState(null),[i,o]=g.useState(null),a=fd(n);return!n&&!r&&a&&s(a),Ln(()=>{if(!i)return;const l=r?.key,d=r?.props.id;if(l==null||d==null){s(null);return}Promise.resolve(e(d,i)).then(()=>{s(null)})},[e,r,i]),$e.createElement($e.Fragment,null,n,r?g.cloneElement(r,{ref:o}):null)}const O8={x:0,y:0,scaleX:1,scaleY:1};function M8(t){let{children:e}=t;return $e.createElement(ml.Provider,{value:Sk},$e.createElement(su.Provider,{value:O8},e))}const D8={position:"fixed",touchAction:"none"},A8=t=>tu(t)?"transform 250ms ease":void 0,T8=g.forwardRef((t,e)=>{let{as:n,activatorEvent:r,adjustScale:s,children:i,className:o,rect:a,style:l,transform:d,transition:u=A8}=t;if(!a)return null;const h=s?d:{...d,scaleX:1,scaleY:1},f={...D8,width:a.width,height:a.height,top:a.top,left:a.left,transform:es.Transform.toString(h),transformOrigin:s&&r?jT(r,a):void 0,transition:typeof u=="function"?u(r):u,...l};return $e.createElement(n,{className:o,style:f,ref:e},i)}),L8=t=>e=>{let{active:n,dragOverlay:r}=e;const s={},{styles:i,className:o}=t;if(i!=null&&i.active)for(const[a,l]of Object.entries(i.active))l!==void 0&&(s[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(i!=null&&i.dragOverlay)for(const[a,l]of Object.entries(i.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(const[l,d]of Object.entries(s))n.node.style.setProperty(l,d);o!=null&&o.active&&n.node.classList.remove(o.active)}},R8=t=>{let{transform:{initial:e,final:n}}=t;return[{transform:es.Transform.toString(e)},{transform:es.Transform.toString(n)}]},I8={duration:250,easing:"ease",keyframes:R8,sideEffects:L8({styles:{active:{opacity:"0"}}})};function $8(t){let{config:e,draggableNodes:n,droppableContainers:r,measuringConfiguration:s}=t;return eu((i,o)=>{if(e===null)return;const a=n.get(i);if(!a)return;const l=a.node.current;if(!l)return;const d=kk(o);if(!d)return;const{transform:u}=Lt(o).getComputedStyle(o),h=hk(u);if(!h)return;const f=typeof e=="function"?e:B8(e);return yk(l,s.draggable.measure),f({active:{id:i,data:a.data,node:l,rect:s.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:o,rect:s.dragOverlay.measure(d)},droppableContainers:r,measuringConfiguration:s,transform:h})})}function B8(t){const{duration:e,easing:n,sideEffects:r,keyframes:s}={...I8,...t};return i=>{let{active:o,dragOverlay:a,transform:l,...d}=i;if(!e)return;const u={x:a.rect.left-o.rect.left,y:a.rect.top-o.rect.top},h={scaleX:l.scaleX!==1?o.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?o.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-u.x,y:l.y-u.y,...h},p=s({...d,active:o,dragOverlay:a,transform:{initial:l,final:f}}),[m]=p,x=p[p.length-1];if(JSON.stringify(m)===JSON.stringify(x))return;const b=r?.({active:o,dragOverlay:a,...d}),y=a.node.animate(p,{duration:e,easing:n,fill:"forwards"});return new Promise(k=>{y.onfinish=()=>{b?.(),k()}})}}let Yx=0;function _8(t){return g.useMemo(()=>{if(t!=null)return Yx++,Yx},[t])}const F8=$e.memo(t=>{let{adjustScale:e=!1,children:n,dropAnimation:r,style:s,transition:i,modifiers:o,wrapperElement:a="div",className:l,zIndex:d=999}=t;const{activatorEvent:u,active:h,activeNodeRect:f,containerNodeRect:p,draggableNodes:m,droppableContainers:x,dragOverlay:b,over:y,measuringConfiguration:k,scrollableAncestors:v,scrollableAncestorRects:w,windowRect:C}=Nk(),j=g.useContext(su),S=_8(h?.id),E=jk(o,{activatorEvent:u,active:h,activeNodeRect:f,containerNodeRect:p,draggingNodeRect:b.rect,over:y,overlayNodeRect:b.rect,scrollableAncestors:v,scrollableAncestorRects:w,transform:j,windowRect:C}),O=um(f),A=$8({config:r,draggableNodes:m,droppableContainers:x,measuringConfiguration:k}),P=O?b.setRef:void 0;return $e.createElement(M8,null,$e.createElement(E8,{animation:A},h&&S?$e.createElement(T8,{key:S,id:h.id,ref:P,as:a,activatorEvent:u,adjustScale:e,className:l,transition:i,rect:O,style:{zIndex:d,...s},transform:E},n):null))});function hm(t,e,n){const r=t.slice();return r.splice(n<0?r.length+n:n,0,r.splice(e,1)[0]),r}function z8(t,e){return t.reduce((n,r,s)=>{const i=e.get(r);return i&&(n[s]=i),n},Array(t.length))}function sc(t){return t!==null&&t>=0}function H8(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function V8(t){return typeof t=="boolean"?{draggable:t,droppable:t}:t}const ic={scaleX:1,scaleY:1},W8=t=>{var e;let{rects:n,activeNodeRect:r,activeIndex:s,overIndex:i,index:o}=t;const a=(e=n[s])!=null?e:r;if(!a)return null;const l=K8(n,o,s);if(o===s){const d=n[i];return d?{x:s<i?d.left+d.width-(a.left+a.width):d.left-a.left,y:0,...ic}:null}return o>s&&o<=i?{x:-a.width-l,y:0,...ic}:o<s&&o>=i?{x:a.width+l,y:0,...ic}:{x:0,y:0,...ic}};function K8(t,e,n){const r=t[e],s=t[e-1],i=t[e+1];return!r||!s&&!i?0:n<e?s?r.left-(s.left+s.width):i.left-(r.left+r.width):i?i.left-(r.left+r.width):r.left-(s.left+s.width)}const Ek=t=>{let{rects:e,activeIndex:n,overIndex:r,index:s}=t;const i=hm(e,r,n),o=e[s],a=i[s];return!a||!o?null:{x:a.left-o.left,y:a.top-o.top,scaleX:a.width/o.width,scaleY:a.height/o.height}},Ok="Sortable",Mk=$e.createContext({activeIndex:-1,containerId:Ok,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Ek,disabled:{draggable:!1,droppable:!1}});function U8(t){let{children:e,id:n,items:r,strategy:s=Ek,disabled:i=!1}=t;const{active:o,dragOverlay:a,droppableRects:l,over:d,measureDroppableContainers:u}=Nk(),h=pl(Ok,n),f=a.rect!==null,p=g.useMemo(()=>r.map(j=>typeof j=="object"&&"id"in j?j.id:j),[r]),m=o!=null,x=o?p.indexOf(o.id):-1,b=d?p.indexOf(d.id):-1,y=g.useRef(p),k=!H8(p,y.current),v=b!==-1&&x===-1||k,w=V8(i);Ln(()=>{k&&m&&u(p)},[k,p,m,u]),g.useEffect(()=>{y.current=p},[p]);const C=g.useMemo(()=>({activeIndex:x,containerId:h,disabled:w,disableTransforms:v,items:p,overIndex:b,useDragOverlay:f,sortedRects:z8(p,l),strategy:s}),[x,h,w.draggable,w.droppable,v,p,b,l,f,s]);return $e.createElement(Mk.Provider,{value:C},e)}const G8=t=>{let{id:e,items:n,activeIndex:r,overIndex:s}=t;return hm(n,r,s).indexOf(e)},q8=t=>{let{containerId:e,isSorting:n,wasDragging:r,index:s,items:i,newIndex:o,previousItems:a,previousContainerId:l,transition:d}=t;return!d||!r||a!==i&&s===o?!1:n?!0:o!==s&&e===l},Y8={duration:200,easing:"ease"},Dk="transform",X8=es.Transition.toString({property:Dk,duration:0,easing:"linear"}),Q8={roleDescription:"sortable"};function J8(t){let{disabled:e,index:n,node:r,rect:s}=t;const[i,o]=g.useState(null),a=g.useRef(n);return Ln(()=>{if(!e&&n!==a.current&&r.current){const l=s.current;if(l){const d=Vi(r.current,{ignoreTransform:!0}),u={x:l.left-d.left,y:l.top-d.top,scaleX:l.width/d.width,scaleY:l.height/d.height};(u.x||u.y)&&o(u)}}n!==a.current&&(a.current=n)},[e,n,r,s]),g.useEffect(()=>{i&&o(null)},[i]),i}function Z8(t){let{animateLayoutChanges:e=q8,attributes:n,disabled:r,data:s,getNewIndex:i=G8,id:o,strategy:a,resizeObserverConfig:l,transition:d=Y8}=t;const{items:u,containerId:h,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:x,overIndex:b,useDragOverlay:y,strategy:k}=g.useContext(Mk),v=eL(r,p),w=u.indexOf(o),C=g.useMemo(()=>({sortable:{containerId:h,index:w,items:u},...s}),[h,s,w,u]),j=g.useMemo(()=>u.slice(u.indexOf(o)),[u,o]),{rect:S,node:E,isOver:O,setNodeRef:A}=Pk({id:o,data:C,disabled:v.droppable,resizeObserverConfig:{updateMeasurementsFor:j,...l}}),{active:P,activatorEvent:L,activeNodeRect:_,attributes:N,setNodeRef:M,listeners:D,isDragging:I,over:R,setActivatorNodeRef:$,transform:V}=j8({id:o,data:C,attributes:{...Q8,...n},disabled:v.draggable}),W=dT(A,M),F=!!P,Y=F&&!m&&sc(f)&&sc(b),q=!y&&I,ne=q&&Y?V:null,ae=Y?ne??(a??k)({rects:x,activeNodeRect:_,activeIndex:f,overIndex:b,index:w}):null,z=sc(f)&&sc(b)?i({id:o,items:u,activeIndex:f,overIndex:b}):w,te=P?.id,J=g.useRef({activeId:te,items:u,newIndex:z,containerId:h}),he=u!==J.current.items,ee=e({active:P,containerId:h,isDragging:I,isSorting:F,id:o,index:w,items:u,newIndex:J.current.newIndex,previousItems:J.current.items,previousContainerId:J.current.containerId,transition:d,wasDragging:J.current.activeId!=null}),fe=J8({disabled:!ee,index:w,node:E,rect:S});return g.useEffect(()=>{F&&J.current.newIndex!==z&&(J.current.newIndex=z),h!==J.current.containerId&&(J.current.containerId=h),u!==J.current.items&&(J.current.items=u)},[F,z,h,u]),g.useEffect(()=>{if(te===J.current.activeId)return;if(te!=null&&J.current.activeId==null){J.current.activeId=te;return}const Q=setTimeout(()=>{J.current.activeId=te},50);return()=>clearTimeout(Q)},[te]),{active:P,activeIndex:f,attributes:N,data:C,rect:S,index:w,newIndex:z,items:u,isOver:O,isSorting:F,isDragging:I,listeners:D,node:E,overIndex:b,over:R,setNodeRef:W,setActivatorNodeRef:$,setDroppableNodeRef:A,setDraggableNodeRef:M,transform:fe??ae,transition:U()};function U(){if(fe||he&&J.current.newIndex===w)return X8;if(!(q&&!tu(L)||!d)&&(F||ee))return es.Transition.toString({...d,property:Dk})}}function eL(t,e){var n,r;return typeof t=="boolean"?{draggable:t,droppable:!1}:{draggable:(n=t?.draggable)!=null?n:e.draggable,droppable:(r=t?.droppable)!=null?r:e.droppable}}function xd(t){if(!t)return!1;const e=t.data.current;return!!(e&&"sortable"in e&&typeof e.sortable=="object"&&"containerId"in e.sortable&&"items"in e.sortable&&"index"in e.sortable)}const tL=[Ee.Down,Ee.Right,Ee.Up,Ee.Left],nL=(t,e)=>{let{context:{active:n,collisionRect:r,droppableRects:s,droppableContainers:i,over:o,scrollableAncestors:a}}=e;if(tL.includes(t.code)){if(t.preventDefault(),!n||!r)return;const l=[];i.getEnabled().forEach(h=>{if(!h||h!=null&&h.disabled)return;const f=s.get(h.id);if(f)switch(t.code){case Ee.Down:r.top<f.top&&l.push(h);break;case Ee.Up:r.top>f.top&&l.push(h);break;case Ee.Left:r.left>f.left&&l.push(h);break;case Ee.Right:r.left<f.left&&l.push(h);break}});const d=ET({collisionRect:r,droppableRects:s,droppableContainers:l});let u=dk(d,"id");if(u===o?.id&&d.length>1&&(u=d[1].id),u!=null){const h=i.get(n.id),f=i.get(u),p=f?s.get(f.id):null,m=f?.node.current;if(m&&p&&h&&f){const b=nu(m).some((j,S)=>a[S]!==j),y=Ak(h,f),k=rL(h,f),v=b||!y?{x:0,y:0}:{x:k?r.width-p.width:0,y:k?r.height-p.height:0},w={x:p.left,y:p.top};return v.x&&v.y?w:ia(w,v)}}}};function Ak(t,e){return!xd(t)||!xd(e)?!1:t.data.current.sortable.containerId===e.data.current.sortable.containerId}function rL(t,e){return!xd(t)||!xd(e)||!Ak(t,e)?!1:t.data.current.sortable.index<e.data.current.sortable.index}g.createContext(null);var sL=function(e,n){if(n){if(e&&n==="#000")return"0 0 0 1px rgba(255,255,255,0.1) inset";if(!e&&n==="#fff")return"0 0 0 1px rgba(0,0,0,0.05) inset"}};function aa(t){"@babel/helpers - typeof";return aa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},aa(t)}var iL=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function Xx(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function oc(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Xx(Object(n),!0).forEach(function(r){oL(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Xx(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function oL(t,e,n){return e=aL(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function aL(t){var e=lL(t,"string");return aa(e)=="symbol"?e:String(e)}function lL(t,e){if(aa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(aa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function cL(t,e){if(t==null)return{};var n=dL(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function dL(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var rs=g.memo(function(t){var e=t.shape,n=e===void 0?"circle":e,r=t.color,s=r===void 0?"#fff":r,i=t.background,o=t.size,a=t.style,l=t.iconMultiple,d=l===void 0?.75:l,u=t.Icon,h=t.iconStyle,f=t.iconClassName,p=cL(t,iL),m=R7(),x=m.isDarkMode;return c.jsx(F7,oc(oc({flex:"none",style:oc({background:i,borderRadius:n==="circle"?"50%":Math.floor(o*.1),boxShadow:sL(x,i),color:s,height:o,width:o},a)},p),{},{children:u&&c.jsx(u,{className:f,color:s,size:o,style:oc({transform:"scale(".concat(d,")")},h)})}))});function la(t){"@babel/helpers - typeof";return la=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},la(t)}var uL=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function Qx(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function Mr(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Qx(Object(n),!0).forEach(function(r){hL(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Qx(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function hL(t,e,n){return e=fL(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function fL(t){var e=pL(t,"string");return la(e)=="symbol"?e:String(e)}function pL(t,e){if(la(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(la(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function mL(t,e){if(t==null)return{};var n=gL(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function gL(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var ss=g.memo(function(t){var e=t.Icon,n=t.style,r=t.Text,s=t.color,i=t.size,o=i===void 0?24:i,a=t.spaceMultiple,l=a===void 0?1:a,d=t.textMultiple,u=d===void 0?1:d,h=t.extra,f=t.extraStyle,p=t.showText,m=p===void 0?!0:p,x=t.showLogo,b=x===void 0?!0:x,y=t.extraClassName,k=t.iconProps,v=t.inverse,w=mL(t,uL),C=e&&b&&c.jsx(e,Mr(Mr({size:o},k),{},{style:Mr(v?{marginLeft:o*l}:{marginRight:o*l},k?.style)})),j=m&&r&&c.jsx(r,{size:o*u});return c.jsxs(ek,Mr(Mr({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:Mr({color:s},n)},w),{},{children:[v?c.jsxs(c.Fragment,{children:[j,C]}):c.jsxs(c.Fragment,{children:[C,j]}),h&&c.jsx("span",{className:y,style:Mr({fontSize:o*u*.95,lineHeight:1},f),children:h})]}))}),xL=function(e,n){return g.useMemo(function(){var r=Array.from({length:n},function(s,i){var o="lobe-icons-".concat(V7(e),"-fill-").concat(i);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,n])},Wi="Claude",bL=.8,yL=.1,Tk="#D97757",vL=Tk,wL="#fff",kL=.75;function ca(t){"@babel/helpers - typeof";return ca=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ca(t)}var SL=["size","style"];function Jx(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function ch(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Jx(Object(n),!0).forEach(function(r){CL(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Jx(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function CL(t,e,n){return e=jL(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function jL(t){var e=NL(t,"string");return ca(e)=="symbol"?e:String(e)}function NL(t,e){if(ca(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ca(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function PL(t,e){if(t==null)return{};var n=EL(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function EL(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var fm=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=PL(t,SL);return c.jsxs("svg",ch(ch({fill:"currentColor",fillRule:"evenodd",height:n,style:ch({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:Wi}),c.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"})]}))});function da(t){"@babel/helpers - typeof";return da=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},da(t)}function Zx(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function OL(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Zx(Object(n),!0).forEach(function(r){ML(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Zx(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function ML(t,e,n){return e=DL(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function DL(t){var e=AL(t,"string");return da(e)=="symbol"?e:String(e)}function AL(t,e){if(da(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(da(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function TL(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var LL=g.memo(function(t){var e=Object.assign({},(TL(t),t));return c.jsx(rs,OL({Icon:fm,"aria-label":Wi,background:vL,color:wL,iconMultiple:kL},e))});function ua(t){"@babel/helpers - typeof";return ua=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ua(t)}var RL=["size","style"];function eb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function dh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?eb(Object(n),!0).forEach(function(r){IL(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):eb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function IL(t,e,n){return e=$L(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $L(t){var e=BL(t,"string");return ua(e)=="symbol"?e:String(e)}function BL(t,e){if(ua(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ua(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function _L(t,e){if(t==null)return{};var n=FL(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function FL(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Lk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=_L(t,RL);return c.jsxs("svg",dh(dh({height:n,style:dh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:Wi}),c.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z",fill:"#D97757",fillRule:"nonzero"})]}))});function ha(t){"@babel/helpers - typeof";return ha=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ha(t)}var zL=["size","style"];function tb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function uh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?tb(Object(n),!0).forEach(function(r){HL(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):tb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function HL(t,e,n){return e=VL(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function VL(t){var e=WL(t,"string");return ha(e)=="symbol"?e:String(e)}function WL(t,e){if(ha(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ha(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function KL(t,e){if(t==null)return{};var n=UL(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function UL(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Rk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=KL(t,zL);return c.jsxs("svg",uh(uh({fill:"currentColor",fillRule:"nonzero",height:n,style:uh({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:Wi}),c.jsx("path",{d:"M13.623 20.222c-3.417 0-5.753-1.901-6.855-4.827a12.992 12.992 0 01-.838-4.772c0-4.907 2.206-8.315 7.08-8.315 3.275 0 5.297 1.425 6.448 4.826h1.402l-.19-4.69C18.709 1.18 16.258.543 13.276.543c-4.2 0-7.775 1.874-9.763 5.254a11.357 11.357 0 00-1.511 5.872c0 3.753 1.777 7.08 5.113 8.926a11.95 11.95 0 005.943 1.398c3.254 0 5.835-.617 8.122-1.697l.593-5.172h-1.43c-.858 2.362-1.88 3.78-3.574 4.534-.831.373-1.88.564-3.146.564zm14.74-17.914L28.499 0h-.967L23.23 1.29v.699l1.907.882v16.142c0 1.1-.565 1.344-2.043 1.528v1.18h7.319v-1.18c-1.484-.184-2.042-.428-2.042-1.528V2.315l-.007-.007zm29.104 19.685h.565l4.95-.937v-1.208l-.695-.054c-1.157-.109-1.457-.346-1.457-1.29V9.897l.137-2.763h-.783l-4.678.672v1.181l.457.082c1.266.183 1.64.536 1.64 1.419v7.67c-1.212.937-2.369 1.527-3.744 1.527-1.525 0-2.471-.774-2.471-2.58V9.905l.136-2.763h-.804l-4.684.672v1.181l.484.082c1.266.183 1.64.536 1.64 1.418v7.08c0 3 1.703 4.426 4.412 4.426 2.07 0 3.765-1.1 5.038-2.627L57.474 22l-.007-.007zm-13.602-9.55c0-3.836-2.043-5.309-5.733-5.309-3.254 0-5.616 1.344-5.616 3.57 0 .666.238 1.175.721 1.528l2.478-.326c-.109-.746-.163-1.201-.163-1.391 0-1.263.674-1.901 2.042-1.901 2.022 0 3.044 1.419 3.044 3.7v.746l-5.106 1.527c-1.702.462-2.67.863-3.316 1.8a3.386 3.386 0 00-.476 1.9c0 2.172 1.497 3.706 4.057 3.706 1.852 0 3.493-.835 4.922-2.416.51 1.581 1.294 2.416 2.69 2.416 1.13 0 2.15-.455 3.063-1.344l-.272-.937a4.363 4.363 0 01-1.178.163c-.783 0-1.157-.617-1.157-1.826v-5.607zm-6.536 7.378c-1.396 0-2.26-.808-2.26-2.226 0-.964.456-1.528 1.43-1.854l4.139-1.31v3.965c-1.321.997-2.097 1.425-3.31 1.425zm43.095 1.235v-1.208l-.701-.054c-1.158-.109-1.45-.346-1.45-1.29V2.308L78.409 0h-.974l-4.302 1.29v.699l1.906.882V8.18a6.024 6.024 0 00-3.656-1.046c-4.276 0-7.612 3.245-7.612 8.098 0 3.998 2.397 6.761 6.346 6.761 2.042 0 3.819-.99 4.922-2.525l-.136 2.525h.571l4.95-.937zm-8.96-12.313c2.043 0 3.575 1.181 3.575 3.353v6.11a4.91 4.91 0 01-3.547 1.425c-2.928 0-4.412-2.308-4.412-5.39 0-3.462 1.695-5.498 4.385-5.498zm19.424 3.055c-.381-1.792-1.484-2.81-3.016-2.81-2.288 0-3.874 1.717-3.874 4.18 0 3.646 1.934 6.008 5.059 6.008a5.858 5.858 0 005.03-2.953l.913.245c-.408 3.163-3.281 5.525-6.808 5.525-4.14 0-6.992-3.054-6.992-7.399 0-4.378 3.098-7.46 7.237-7.46 3.09 0 5.27 1.853 5.97 5.07l-10.783 3.3V14.05l7.264-2.247v-.006z"})]}))});function fa(t){"@babel/helpers - typeof";return fa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fa(t)}var GL=["type"];function nb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function qL(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?nb(Object(n),!0).forEach(function(r){YL(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):nb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function YL(t,e,n){return e=XL(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function XL(t){var e=QL(t,"string");return fa(e)=="symbol"?e:String(e)}function QL(t,e){if(fa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(fa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function JL(t,e){if(t==null)return{};var n=ZL(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function ZL(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var eR=g.memo(function(t){var e=t.type,n=e===void 0?"mono":e,r=JL(t,GL),s=n==="color"?Lk:fm;return c.jsx(ss,qL({Icon:s,Text:Rk,"aria-label":Wi,spaceMultiple:yL,textMultiple:bL},r))}),Bs=fm;Bs.Color=Lk;Bs.Text=Rk;Bs.Combine=eR;Bs.Avatar=LL;Bs.colorPrimary=Tk;Bs.title=Wi;var gl="OpenAI",tR=.75,nR=.1,Ik="#000",$k="#19C37D",Bk="#AB68FF",_k="#F86AA4",pm="#F9C322",Fk="#0099FF",zk="#0000FE",rR=Ik,sR="#fff",iR=.75;function pa(t){"@babel/helpers - typeof";return pa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pa(t)}var oR=["size","style"];function rb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function hh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?rb(Object(n),!0).forEach(function(r){aR(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):rb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function aR(t,e,n){return e=lR(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function lR(t){var e=cR(t,"string");return pa(e)=="symbol"?e:String(e)}function cR(t,e){if(pa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(pa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function dR(t,e){if(t==null)return{};var n=uR(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function uR(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var mm=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=dR(t,oR);return c.jsxs("svg",hh(hh({fill:"currentColor",fillRule:"evenodd",height:n,style:hh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:gl}),c.jsx("path",{d:"M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"})]}))}),Ms="Gemini",hR=.8,fR=.2,Hk="#fff",pR=Hk,mR="#fff",gR=.8;function ma(t){"@babel/helpers - typeof";return ma=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ma(t)}var xR=["size","style"];function sb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function fh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?sb(Object(n),!0).forEach(function(r){bR(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):sb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function bR(t,e,n){return e=yR(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function yR(t){var e=vR(t,"string");return ma(e)=="symbol"?e:String(e)}function vR(t,e){if(ma(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ma(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function wR(t,e){return jR(t)||CR(t,e)||SR(t,e)||kR()}function kR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
266
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function SR(t,e){if(t){if(typeof t=="string")return ib(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ib(t,e)}}function ib(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function CR(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var r,s,i,o,a=[],l=!0,d=!1;try{if(i=(n=n.call(t)).next,e!==0)for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(u){d=!0,s=u}finally{try{if(!l&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(d)throw s}}return a}}function jR(t){if(Array.isArray(t))return t}function NR(t,e){if(t==null)return{};var n=PR(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function PR(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var gm=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=NR(t,xR),i=xL(Ms,3),o=wR(i,3),a=o[0],l=o[1],d=o[2];return c.jsxs("svg",fh(fh({height:n,style:fh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:Ms}),c.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"#3186FF"}),c.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:a.fill}),c.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:l.fill}),c.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:d.fill}),c.jsxs("defs",{children:[c.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:a.id,x1:"7",x2:"11",y1:"15.5",y2:"12",children:[c.jsx("stop",{stopColor:"#08B962"}),c.jsx("stop",{offset:"1",stopColor:"#08B962",stopOpacity:"0"})]}),c.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:l.id,x1:"8",x2:"11.5",y1:"5.5",y2:"11",children:[c.jsx("stop",{stopColor:"#F94543"}),c.jsx("stop",{offset:"1",stopColor:"#F94543",stopOpacity:"0"})]}),c.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:d.id,x1:"3.5",x2:"17.5",y1:"13.5",y2:"12",children:[c.jsx("stop",{stopColor:"#FABC12"}),c.jsx("stop",{offset:".46",stopColor:"#FABC12",stopOpacity:"0"})]})]})]}))});function ga(t){"@babel/helpers - typeof";return ga=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ga(t)}function ob(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function ER(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?ob(Object(n),!0).forEach(function(r){OR(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ob(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function OR(t,e,n){return e=MR(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function MR(t){var e=DR(t,"string");return ga(e)=="symbol"?e:String(e)}function DR(t,e){if(ga(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ga(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function AR(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var TR=g.memo(function(t){var e=Object.assign({},(AR(t),t));return c.jsx(rs,ER({Icon:gm,"aria-label":Ms,background:pR,color:mR,iconMultiple:gR},e))});function xa(t){"@babel/helpers - typeof";return xa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xa(t)}var LR=["size","style"];function ab(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function ph(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?ab(Object(n),!0).forEach(function(r){RR(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ab(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function RR(t,e,n){return e=IR(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function IR(t){var e=$R(t,"string");return xa(e)=="symbol"?e:String(e)}function $R(t,e){if(xa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(xa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function BR(t,e){if(t==null)return{};var n=_R(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function _R(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Vk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=BR(t,LR);return c.jsxs("svg",ph(ph({fill:"currentColor",fillRule:"evenodd",height:n,style:ph({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:Ms}),c.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"})]}))});function ba(t){"@babel/helpers - typeof";return ba=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ba(t)}var FR=["size","style"];function lb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function mh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?lb(Object(n),!0).forEach(function(r){zR(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):lb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function zR(t,e,n){return e=HR(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function HR(t){var e=VR(t,"string");return ba(e)=="symbol"?e:String(e)}function VR(t,e){if(ba(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ba(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function WR(t,e){if(t==null)return{};var n=KR(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function KR(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Wk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=WR(t,FR);return c.jsxs("svg",mh(mh({fill:"currentColor",fillRule:"evenodd",height:n,style:mh({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:Ms}),c.jsx("path",{d:"M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"})]}))});function ya(t){"@babel/helpers - typeof";return ya=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ya(t)}var UR=["type"];function cb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function GR(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?cb(Object(n),!0).forEach(function(r){qR(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):cb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function qR(t,e,n){return e=YR(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function YR(t){var e=XR(t,"string");return ya(e)=="symbol"?e:String(e)}function XR(t,e){if(ya(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ya(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function QR(t,e){if(t==null)return{};var n=JR(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function JR(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var ZR=g.memo(function(t){var e=t.type,n=e===void 0?"mono":e,r=QR(t,UR),s=n==="color"?gm:Vk;return c.jsx(ss,GR({Icon:s,Text:Wk,"aria-label":Ms,spaceMultiple:fR,textMultiple:hR},r))}),_s=Vk;_s.Color=gm;_s.Text=Wk;_s.Combine=ZR;_s.Avatar=TR;_s.colorPrimary=Hk;_s.title=Ms;function va(t){"@babel/helpers - typeof";return va=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},va(t)}var e9=["type"];function db(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function t9(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?db(Object(n),!0).forEach(function(r){n9(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):db(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function n9(t,e,n){return e=r9(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r9(t){var e=s9(t,"string");return va(e)=="symbol"?e:String(e)}function s9(t,e){if(va(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(va(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function i9(t,e){if(t==null)return{};var n=o9(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function o9(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var a9=g.memo(function(t){var e=t.type,n=e===void 0?"normal":e,r=i9(t,e9),s=g.useMemo(function(){switch(n){case"gpt3":return $k;case"gpt4":return Bk;case"gpt5":return _k;case"o3":case"o1":return pm;case"oss":return Fk;case"platform":return zk;default:return rR}},[n]);return c.jsx(rs,t9({Icon:mm,"aria-label":gl,background:s,color:sR,iconMultiple:iR},r))});function wa(t){"@babel/helpers - typeof";return wa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wa(t)}var l9=["size","style"];function ub(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function gh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?ub(Object(n),!0).forEach(function(r){c9(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ub(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function c9(t,e,n){return e=d9(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function d9(t){var e=u9(t,"string");return wa(e)=="symbol"?e:String(e)}function u9(t,e){if(wa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(wa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function h9(t,e){if(t==null)return{};var n=f9(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function f9(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Kk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=h9(t,l9);return c.jsxs("svg",gh(gh({fill:"currentColor",fillRule:"evenodd",height:n,style:gh({flex:"none",lineHeight:1},r),viewBox:"0 0 84 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:gl}),c.jsx("path",{d:"M2 10.955c0 5.276 3.376 8.955 8.054 8.955 4.678 0 8.054-3.679 8.054-8.955S14.732 2 10.054 2C5.423 2 2.068 5.606 2 10.797L2 10.955zm13.021 0c0 3.775-2.05 6.22-4.967 6.22-2.918 0-4.968-2.445-4.968-6.22 0-3.776 2.05-6.22 4.968-6.22 2.917 0 4.967 2.444 4.967 6.22zm11.778 8.955c3.545 0 5.57-3.001 5.57-6.607 0-3.607-2.025-6.608-5.57-6.608-1.64 0-2.845.654-3.64 1.598V6.937h-2.894V24h2.893v-5.688c.796.944 2.002 1.598 3.641 1.598zm-3.713-6.97c0-2.397 1.35-3.703 3.135-3.703 2.097 0 3.23 1.645 3.23 4.066 0 2.42-1.133 4.066-3.23 4.066-1.785 0-3.135-1.332-3.135-3.68v-.75zM40.2 19.91c2.532 0 4.533-1.331 5.425-3.558l-2.483-.944c-.386 1.307-1.52 2.033-2.942 2.033-1.857 0-3.159-1.331-3.376-3.51h8.874v-.967c0-3.485-1.953-6.269-5.619-6.269-3.665 0-6.028 2.88-6.028 6.608 0 3.92 2.532 6.607 6.15 6.607zm-.145-10.77c1.833 0 2.701 1.21 2.725 2.614H36.97c.434-1.719 1.591-2.614 3.086-2.614zm7.814 10.504h2.894v-7.455c0-1.815 1.326-2.783 2.628-2.783 1.591 0 2.218 1.137 2.218 2.71v7.528h2.894V11.27c0-2.735-1.592-4.575-4.244-4.575-1.64 0-2.773.75-3.496 1.598V6.937h-2.894v12.707zM66.978 2.266l-6.56 17.378h3.063l1.471-3.97h7.475l1.495 3.97h3.11L70.475 2.266h-3.496zm1.687 3.437l2.75 7.26h-5.45l2.7-7.26zM82 2.317h-3.086v17.377H82V2.317z"})]}))});function ka(t){"@babel/helpers - typeof";return ka=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ka(t)}var p9=["extraStyle"];function hb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function fb(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?hb(Object(n),!0).forEach(function(r){m9(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):hb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function m9(t,e,n){return e=g9(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function g9(t){var e=x9(t,"string");return ka(e)=="symbol"?e:String(e)}function x9(t,e){if(ka(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ka(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function b9(t,e){if(t==null)return{};var n=y9(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function y9(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var v9=g.memo(function(t){var e=t.extraStyle,n=b9(t,p9);return c.jsx(ss,fb({Icon:mm,Text:Kk,"aria-label":gl,extraStyle:fb({fontWeight:600},e),spaceMultiple:nR,textMultiple:tR},n))}),en=mm;en.Text=Kk;en.Combine=v9;en.Avatar=a9;en.colorPrimary=Ik;en.colorGpt3=$k;en.colorGpt4=Bk;en.colorGpt5=_k;en.colorO1=pm;en.colorO3=pm;en.colorOss=Fk;en.colorPlatform=zk;en.title=gl;var xl="GithubCopilot",w9=.75,k9=.3,Uk="#000",S9=Uk,C9="#fff",j9=.75;function Sa(t){"@babel/helpers - typeof";return Sa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Sa(t)}var N9=["size","style"];function pb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function xh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?pb(Object(n),!0).forEach(function(r){P9(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):pb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function P9(t,e,n){return e=E9(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function E9(t){var e=O9(t,"string");return Sa(e)=="symbol"?e:String(e)}function O9(t,e){if(Sa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Sa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function M9(t,e){if(t==null)return{};var n=D9(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function D9(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var xm=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=M9(t,N9);return c.jsxs("svg",xh(xh({fill:"currentColor",fillRule:"evenodd",height:n,style:xh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:xl}),c.jsx("path",{d:"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"})]}))});function Ca(t){"@babel/helpers - typeof";return Ca=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ca(t)}function mb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function A9(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?mb(Object(n),!0).forEach(function(r){T9(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):mb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function T9(t,e,n){return e=L9(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function L9(t){var e=R9(t,"string");return Ca(e)=="symbol"?e:String(e)}function R9(t,e){if(Ca(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ca(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function I9(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var $9=g.memo(function(t){var e=Object.assign({},(I9(t),t));return c.jsx(rs,A9({Icon:xm,"aria-label":xl,background:S9,color:C9,iconMultiple:j9},e))});function ja(t){"@babel/helpers - typeof";return ja=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ja(t)}var B9=["size","style"];function gb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function bh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?gb(Object(n),!0).forEach(function(r){_9(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):gb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function _9(t,e,n){return e=F9(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function F9(t){var e=z9(t,"string");return ja(e)=="symbol"?e:String(e)}function z9(t,e){if(ja(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ja(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function H9(t,e){if(t==null)return{};var n=V9(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function V9(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Gk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=H9(t,B9);return c.jsxs("svg",bh(bh({fill:"currentColor",fillRule:"evenodd",height:n,style:bh({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:xl}),c.jsx("path",{d:"M2 11.875c0 5.256 3.013 8.506 8.19 8.506 4.76 0 8.027-2.72 8.027-7.722v-1.545h-7.982v2.928h4.095c-.161 1.96-1.68 3.25-4.049 3.25-2.6 0-4.347-1.498-4.347-4.334V10.7c0-2.582 1.518-4.31 4.186-4.31 1.91 0 3.267.922 3.68 2.374h3.865c-.437-3.366-3.427-5.625-7.499-5.625C5.29 3.138 2 6.366 2 11.875zm17.308-5.44h3.496V3h-3.496v3.435zm0 13.715h3.496V7.795h-3.496V20.15zm10.544-9.52h2.438V7.795h-2.438V3.922h-3.496v3.873H24.17v2.835h2.186v6.8c0 1.637.69 2.72 2.76 2.72h3.174v-2.766h-2.438V10.63zm3.994 9.52h3.727v-7.076h7.568v7.076h3.726V3.346h-3.726v6.777h-7.568V3.346h-3.727V20.15zM62.385 7.795h-3.497v6.523c0 1.868-1.012 3.205-2.668 3.205-1.38 0-2.162-.83-2.162-2.56V7.796h-3.52v7.722c0 2.95 1.357 4.864 4.118 4.864 1.955 0 3.29-.945 4.002-2.49h.207l.46 2.26h3.06V7.794zm1.698 12.355h3.06l.436-2.213h.207c.713 1.591 2.3 2.444 4.072 2.444 3.174 0 5.015-2.374 5.015-6.385 0-4.057-1.887-6.432-5.084-6.432-1.978 0-3.428 1.014-4.003 2.49h-.207V3h-3.496v17.15zm3.496-5.624v-1.06c0-1.845 1.173-3.043 2.99-3.043 1.657 0 2.738.853 2.738 2.581v1.983c0 1.521-.874 2.559-2.714 2.559-1.864 0-3.014-1.222-3.014-3.02zm21.8 5.855c4.21 0 7.177-2.351 7.683-6.063h-3.151c-.46 2.098-2.186 3.389-4.486 3.389-2.852 0-4.67-1.867-4.67-4.518v-2.743c0-2.882 1.887-4.634 4.716-4.634 2.53 0 4.072 1.36 4.44 3.366h3.151c-.368-3.665-3.243-6.063-7.499-6.063-5.038 0-7.982 3.274-7.982 8.668 0 5.348 2.898 8.598 7.798 8.598zm8.533-6.34c0 3.92 2.346 6.34 5.98 6.34 3.796 0 6.004-2.536 6.004-6.34 0-4.056-2.484-6.338-6.003-6.338-3.635 0-5.981 2.397-5.981 6.339zm2.898.992V13.12c0-1.89 1.22-3.066 3.083-3.066 1.817 0 3.082 1.152 3.082 3.066v1.913c0 1.96-1.288 2.997-3.082 2.997-1.749 0-3.083-1.015-3.083-2.997zM111.018 24h2.853v-6.132h.184c.667 1.453 2.116 2.398 4.186 2.398 3.083 0 4.992-2.26 4.992-6.293 0-3.942-1.863-6.27-4.992-6.27-1.863 0-3.427.852-4.186 2.397h-.184l-.345-2.167h-2.508V24zm6.211-6.063c-2.024 0-3.358-1.314-3.358-3.342v-1.222c0-2.005 1.31-3.342 3.381-3.342 2.002 0 3.037 1.152 3.037 2.881v2.144c0 1.815-1.16 2.849-2.973 2.88l-.087.001zm7.1-11.733h2.83V3.115h-2.83v3.09zm0 13.946h2.83V7.933h-2.83V20.15zm4.338 0h2.83V3.115h-2.83V20.15zm9.927-12.447c3.52 0 6.004 2.282 6.004 6.339 0 3.803-2.208 6.339-6.004 6.339-3.634 0-5.98-2.42-5.98-6.34 0-3.941 2.346-6.338 5.98-6.338zm10.922-3.689v3.919H152v2.328h-2.484v7.607H152v2.282h-2.99c-1.749 0-2.324-.922-2.324-2.282v-7.607h-2.185V7.933h2.185V4.014h2.83zm-10.922 6.04c-1.863 0-3.082 1.175-3.082 3.066v1.913c0 1.982 1.334 2.997 3.082 2.997 1.795 0 3.083-1.038 3.083-2.997V13.12c0-1.914-1.265-3.066-3.083-3.066z"})]}))});function Na(t){"@babel/helpers - typeof";return Na=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Na(t)}function xb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function W9(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?xb(Object(n),!0).forEach(function(r){K9(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):xb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function K9(t,e,n){return e=U9(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function U9(t){var e=G9(t,"string");return Na(e)=="symbol"?e:String(e)}function G9(t,e){if(Na(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Na(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function q9(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var Y9=g.memo(function(t){var e=Object.assign({},(q9(t),t));return c.jsx(ss,W9({Icon:xm,Text:Gk,"aria-label":xl,spaceMultiple:k9,textMultiple:w9},e))}),Ki=xm;Ki.Text=Gk;Ki.Combine=Y9;Ki.Avatar=$9;Ki.colorPrimary=Uk;Ki.title=xl;var bl="Cline",X9=.7,Q9=.2,qk="#323B43",J9=qk,Z9="#fff",eI=.6;function Pa(t){"@babel/helpers - typeof";return Pa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pa(t)}var tI=["size","style"];function bb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function yh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?bb(Object(n),!0).forEach(function(r){nI(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):bb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function nI(t,e,n){return e=rI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function rI(t){var e=sI(t,"string");return Pa(e)=="symbol"?e:String(e)}function sI(t,e){if(Pa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Pa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function iI(t,e){if(t==null)return{};var n=oI(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function oI(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var bm=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=iI(t,tI);return c.jsxs("svg",yh(yh({fill:"currentColor",fillRule:"evenodd",height:n,style:yh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:bl}),c.jsx("path",{d:"M17.035 3.991c2.75 0 4.98 2.24 4.98 5.003v1.667l1.45 2.896a1.01 1.01 0 01-.002.909l-1.448 2.864v1.668c0 2.762-2.23 5.002-4.98 5.002H7.074c-2.751 0-4.98-2.24-4.98-5.002V17.33l-1.48-2.855a1.01 1.01 0 01-.003-.927l1.482-2.887V8.994c0-2.763 2.23-5.003 4.98-5.003h9.962zM8.265 9.6a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 004.547 0v-4.042A2.274 2.274 0 008.265 9.6zm7.326 0a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 104.548 0v-4.042A2.274 2.274 0 0015.59 9.6z"}),c.jsx("path",{d:"M12.054 5.558a2.779 2.779 0 100-5.558 2.779 2.779 0 000 5.558z"})]}))});function Ea(t){"@babel/helpers - typeof";return Ea=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ea(t)}function yb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function aI(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?yb(Object(n),!0).forEach(function(r){lI(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):yb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function lI(t,e,n){return e=cI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function cI(t){var e=dI(t,"string");return Ea(e)=="symbol"?e:String(e)}function dI(t,e){if(Ea(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ea(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function uI(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var hI=g.memo(function(t){var e=Object.assign({},(uI(t),t));return c.jsx(rs,aI({Icon:bm,"aria-label":bl,background:J9,color:Z9,iconMultiple:eI},e))});function Oa(t){"@babel/helpers - typeof";return Oa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oa(t)}var fI=["size","style"];function vb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function vh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?vb(Object(n),!0).forEach(function(r){pI(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):vb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function pI(t,e,n){return e=mI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function mI(t){var e=gI(t,"string");return Oa(e)=="symbol"?e:String(e)}function gI(t,e){if(Oa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Oa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function xI(t,e){if(t==null)return{};var n=bI(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function bI(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Yk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=xI(t,fI);return c.jsxs("svg",vh(vh({fill:"currentColor",fillRule:"evenodd",height:n,style:vh({flex:"none",lineHeight:1},r),viewBox:"0 0 88 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:bl}),c.jsx("path",{d:"M79.558 21.986c-1.13 0-2.167-.189-3.108-.565a7.128 7.128 0 01-2.403-1.569 6.933 6.933 0 01-1.554-2.331 7.876 7.876 0 01-.537-2.925v-.58c0-1.196.189-2.279.566-3.25.376-.97.894-1.798 1.554-2.486a6.84 6.84 0 012.289-1.582 7.005 7.005 0 012.797-.566c1.103 0 2.078.189 2.925.566.848.367 1.56.88 2.134 1.54.575.668 1.008 1.464 1.3 2.388.292.923.438 1.93.438 3.023v1.456H75.362v.07c.103.67.263 1.23.48 1.682.217.452.513.857.89 1.215.377.377.82.669 1.328.876.518.207 1.084.31 1.696.31.838 0 1.62-.16 2.346-.48a4.71 4.71 0 001.794-1.398l1.808 1.752c-.508.734-1.29 1.394-2.345 1.978-1.046.584-2.313.876-3.8.876zm-.41-13.113c-.48 0-.927.09-1.342.269-.405.17-.768.414-1.088.735-.32.33-.589.725-.805 1.187a6.25 6.25 0 00-.48 1.568h7.191v-.226c0-.443-.08-.88-.24-1.314a3.545 3.545 0 00-.678-1.159 3.004 3.004 0 00-1.074-.763c-.424-.198-.919-.297-1.484-.297zM55.043 21.703V6.415h3.052l.212 2.176c.207-.292.433-.56.678-.805.255-.255.523-.48.806-.679a5.555 5.555 0 013.179-.975 6.5 6.5 0 012.148.34 4.11 4.11 0 011.667 1.073c.461.49.82 1.117 1.074 1.88.254.753.381 1.667.381 2.74v9.538h-3.377v-9.48c0-.632-.07-1.16-.212-1.583-.141-.424-.348-.763-.621-1.018a2.3 2.3 0 00-.99-.537 4.736 4.736 0 00-1.328-.17c-.414 0-.8.057-1.158.17a3.421 3.421 0 00-1.611 1.004 4.282 4.282 0 00-.523.706v10.908h-3.377zM38.44 6.415h8.111v12.49h4.493v2.798H38.441v-2.797h4.705v-9.68H38.44V6.416zm4.395-3.956c0-.274.047-.523.141-.75a1.69 1.69 0 01.41-.607c.17-.16.372-.282.607-.367.245-.094.519-.141.82-.141.509 0 .918.131 1.23.395.32.254.503.584.55.99.066.414-.004.776-.212 1.087-.207.302-.508.504-.904.608a1.48 1.48 0 01-.706.353c-.273.057-.575.033-.905-.07a1.396 1.396 0 01-.777-.552 1.758 1.758 0 01-.254-.946zM20.934 0h8.238v18.906h4.634v2.797H20.934v-2.797h4.832V2.812h-4.832V0zM16.71 15.373c-.095.999-.33 1.908-.707 2.727a6.672 6.672 0 01-1.484 2.077 6.542 6.542 0 01-2.218 1.357c-.848.31-1.79.466-2.826.466-.848 0-1.63-.113-2.346-.339a6.467 6.467 0 01-1.893-.99 6.55 6.55 0 01-1.413-1.426 9.438 9.438 0 01-1.003-1.851c-.274-.66-.48-1.375-.622-2.148A14.34 14.34 0 012 12.83v-2.812c0-.8.066-1.573.198-2.317.132-.744.33-1.446.593-2.106A8.284 8.284 0 013.88 3.603a7.296 7.296 0 011.555-1.54 6.953 6.953 0 011.836-.904A7.256 7.256 0 019.49.834c1.083 0 2.049.16 2.896.48.858.32 1.588.773 2.19 1.357a6.337 6.337 0 011.442 2.147c.358.839.588 1.771.692 2.798h-3.391a6.568 6.568 0 00-.353-1.653c-.17-.5-.405-.923-.707-1.272a2.977 2.977 0 00-1.144-.791c-.453-.188-.994-.283-1.625-.283-.443 0-.843.062-1.201.184-.349.122-.66.297-.933.523a3.385 3.385 0 00-.947 1.074 7.033 7.033 0 00-.607 1.455c-.123.471-.217.975-.283 1.512a15.25 15.25 0 00-.084 1.625v2.84c0 .688.037 1.333.113 1.936.084.602.212 1.154.381 1.653.132.414.297.791.495 1.13.207.34.452.631.734.876.292.264.627.466 1.004.608.386.132.824.198 1.314.198.584 0 1.102-.085 1.554-.255.452-.17.838-.419 1.159-.749.31-.32.56-.72.748-1.2.189-.481.311-1.032.368-1.654h3.405z"})]}))});function Ma(t){"@babel/helpers - typeof";return Ma=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ma(t)}function wb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function yI(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?wb(Object(n),!0).forEach(function(r){vI(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):wb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function vI(t,e,n){return e=wI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function wI(t){var e=kI(t,"string");return Ma(e)=="symbol"?e:String(e)}function kI(t,e){if(Ma(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ma(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function SI(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var CI=g.memo(function(t){var e=Object.assign({},(SI(t),t));return c.jsx(ss,yI({Icon:bm,Text:Yk,"aria-label":bl,iconProps:{shape:"square"},spaceMultiple:Q9,textMultiple:X9},e))}),Ui=bm;Ui.Text=Yk;Ui.Combine=CI;Ui.Avatar=hI;Ui.colorPrimary=qk;Ui.title=bl;var yl="Cursor",jI=.7,NI=.1,Xk="#000",PI=Xk,EI="#fff",OI=.6;function Da(t){"@babel/helpers - typeof";return Da=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Da(t)}var MI=["size","style"];function kb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function wh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?kb(Object(n),!0).forEach(function(r){DI(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):kb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function DI(t,e,n){return e=AI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function AI(t){var e=TI(t,"string");return Da(e)=="symbol"?e:String(e)}function TI(t,e){if(Da(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Da(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function LI(t,e){if(t==null)return{};var n=RI(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function RI(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var ym=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=LI(t,MI);return c.jsxs("svg",wh(wh({fill:"currentColor",fillRule:"evenodd",height:n,style:wh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:yl}),c.jsx("path",{d:"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z"})]}))});function Aa(t){"@babel/helpers - typeof";return Aa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Aa(t)}function Sb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function II(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Sb(Object(n),!0).forEach(function(r){$I(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Sb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function $I(t,e,n){return e=BI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function BI(t){var e=_I(t,"string");return Aa(e)=="symbol"?e:String(e)}function _I(t,e){if(Aa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Aa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function FI(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var zI=g.memo(function(t){var e=Object.assign({},(FI(t),t));return c.jsx(rs,II({Icon:ym,"aria-label":yl,background:PI,color:EI,iconMultiple:OI},e))});function Ta(t){"@babel/helpers - typeof";return Ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ta(t)}var HI=["size","style"];function Cb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function kh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Cb(Object(n),!0).forEach(function(r){VI(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Cb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function VI(t,e,n){return e=WI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function WI(t){var e=KI(t,"string");return Ta(e)=="symbol"?e:String(e)}function KI(t,e){if(Ta(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ta(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function UI(t,e){if(t==null)return{};var n=GI(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function GI(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Qk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=UI(t,HI);return c.jsxs("svg",kh(kh({fill:"currentColor",fillRule:"evenodd",height:n,style:kh({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:yl}),c.jsx("path",{d:"M11.995 2.33h6.516v3.582h-6.295C8.82 5.912 6.169 7.868 6.169 12c0 4.133 2.65 6.089 6.047 6.089h6.295v3.581H11.72C6.03 21.67 2 18.336 2 12c0-6.337 4.307-9.67 9.995-9.67zm9.829 0h4.03V14.15c0 2.947 1.354 4.325 4.53 4.325 3.175 0 4.528-1.377 4.528-4.325V2.33h4.03v12.644c0 4.297-2.733 7.025-8.559 7.025-5.826 0-8.56-2.755-8.56-7.052V2.33zm38.185 5.483c0 2.149-1.243 3.801-2.9 4.518v.055c1.74.248 2.624 1.488 2.65 3.169l.084 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.71v7.41h-4.03V2.33h11.127c3.644 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561H46.84v5.123h6.626c1.518 0 2.485-.909 2.485-2.562zm19.3 7.66c0-1.378-.884-1.957-2.209-2.067l-4.473-.413c-3.866-.358-5.881-1.873-5.881-5.537 0-3.664 2.485-5.675 6.046-5.675h9.885V5.8h-9.609c-1.38 0-2.263.717-2.263 2.094 0 1.378.91 2.039 2.291 2.15l4.556.385c3.452.303 5.715 1.874 5.715 5.565 0 3.691-2.402 5.675-5.798 5.675H63.184V18.2h9.94c1.297 0 2.126-.882 2.126-2.177zM91.097 2c6.074 0 9.912 3.884 9.912 9.972C101.01 18.061 97.006 22 90.932 22s-9.912-3.94-9.912-10.028C81.02 5.884 85.024 2 91.098 2zm5.743 10c0-4.077-2.374-6.474-5.826-6.474-3.451 0-5.826 2.397-5.826 6.474s2.375 6.473 5.826 6.473c3.452 0 5.826-2.396 5.826-6.473zM121 7.813c0 2.149-1.242 3.801-2.899 4.518v.055c1.739.248 2.623 1.488 2.65 3.169l.083 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.709v7.41h-4.031V2.33h11.127c3.645 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561h-6.571v5.123h6.626c1.518 0 2.485-.909 2.485-2.562z"})]}))});function La(t){"@babel/helpers - typeof";return La=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},La(t)}function jb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function qI(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?jb(Object(n),!0).forEach(function(r){YI(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):jb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function YI(t,e,n){return e=XI(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function XI(t){var e=QI(t,"string");return La(e)=="symbol"?e:String(e)}function QI(t,e){if(La(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(La(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function JI(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var ZI=g.memo(function(t){var e=Object.assign({},(JI(t),t));return c.jsx(ss,qI({Icon:ym,Text:Qk,"aria-label":yl,spaceMultiple:NI,textMultiple:jI},e))}),Gi=ym;Gi.Text=Qk;Gi.Combine=ZI;Gi.Avatar=zI;Gi.colorPrimary=Xk;Gi.title=yl;var vl="Goose",e$=.7,t$=.2,Jk="#fff",n$=Jk,r$="#000",s$=.65;function Ra(t){"@babel/helpers - typeof";return Ra=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ra(t)}var i$=["size","style"];function Nb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function Sh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Nb(Object(n),!0).forEach(function(r){o$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Nb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function o$(t,e,n){return e=a$(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a$(t){var e=l$(t,"string");return Ra(e)=="symbol"?e:String(e)}function l$(t,e){if(Ra(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ra(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function c$(t,e){if(t==null)return{};var n=d$(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function d$(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var vm=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=c$(t,i$);return c.jsxs("svg",Sh(Sh({fill:"currentColor",fillRule:"evenodd",height:n,style:Sh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:vl}),c.jsx("path",{d:"M21.595 23.61c1.167-.254 2.405-.944 2.405-.944l-2.167-1.784a12.124 12.124 0 01-2.695-3.131 12.127 12.127 0 00-3.97-4.049l-.794-.462a1.115 1.115 0 01-.488-.815.844.844 0 01.154-.575c.413-.582 2.548-3.115 2.94-3.44.503-.416 1.065-.762 1.586-1.159.074-.056.148-.112.221-.17.003-.002.007-.004.009-.007.167-.131.325-.272.45-.438.453-.524.563-.988.59-1.193-.061-.197-.244-.639-.753-1.148.319.02.705.272 1.056.569.235-.376.481-.773.727-1.171.165-.266-.08-.465-.086-.471h-.001V3.22c-.007-.007-.206-.25-.471-.086-.567.35-1.134.702-1.639 1.021 0 0-.597-.012-1.305.599a2.464 2.464 0 00-.438.45l-.007.009c-.058.072-.114.147-.17.221-.397.521-.743 1.083-1.16 1.587-.323.391-2.857 2.526-3.44 2.94a.842.842 0 01-.574.153 1.115 1.115 0 01-.815-.488l-.462-.794a12.123 12.123 0 00-4.049-3.97 12.133 12.133 0 01-3.13-2.695L1.332 0S.643 1.238.39 2.405c.352.428 1.27 1.49 2.34 2.302C1.58 4.167.73 3.75.06 3.4c-.103.765-.063 1.92.043 2.816.726.317 1.961.806 3.219 1.066-1.006.236-2.11.278-2.961.262.15.554.358 1.119.64 1.688.119.263.25.52.39.77.452.125 2.222.383 3.164.171l-2.51.897a27.776 27.776 0 002.544 2.726c2.031-1.092 2.494-1.241 4.018-2.238-2.467 2.008-3.108 2.828-3.8 3.67l-.483.678c-.25.351-.469.725-.65 1.117-.61 1.31-1.47 4.1-1.47 4.1-.154.486.202.842.674.674 0 0 2.79-.861 4.1-1.47.392-.182.766-.4 1.118-.65l.677-.483c.227-.187.453-.37.701-.586 0 0 1.705 2.02 3.458 3.349l.896-2.511c-.211.942.046 2.712.17 3.163.252.142.509.272.772.392.569.28 1.134.49 1.688.64-.016-.853.026-1.956.261-2.962.26 1.258.75 2.493 1.067 3.219.895.106 2.051.146 2.816.043a73.87 73.87 0 01-1.308-2.67c.811 1.07 1.874 1.988 2.302 2.34h-.001z"})]}))});function Ia(t){"@babel/helpers - typeof";return Ia=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ia(t)}function Pb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function u$(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Pb(Object(n),!0).forEach(function(r){h$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Pb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function h$(t,e,n){return e=f$(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function f$(t){var e=p$(t,"string");return Ia(e)=="symbol"?e:String(e)}function p$(t,e){if(Ia(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ia(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function m$(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var g$=g.memo(function(t){var e=Object.assign({},(m$(t),t));return c.jsx(rs,u$({Icon:vm,"aria-label":vl,background:n$,color:r$,iconMultiple:s$},e))});function $a(t){"@babel/helpers - typeof";return $a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$a(t)}var x$=["size","style"];function Eb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function Ch(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Eb(Object(n),!0).forEach(function(r){b$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Eb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function b$(t,e,n){return e=y$(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function y$(t){var e=v$(t,"string");return $a(e)=="symbol"?e:String(e)}function v$(t,e){if($a(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if($a(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function w$(t,e){if(t==null)return{};var n=k$(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function k$(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var Zk=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=w$(t,x$);return c.jsxs("svg",Ch(Ch({fill:"currentColor",fillRule:"evenodd",height:n,style:Ch({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:vl}),c.jsx("path",{d:"M17.122 16.607c0 4.696-3.219 7.393-7.774 7.393-3.674 0-6.255-1.546-7.257-4.637l3.401-1.21c.486 1.786 1.852 2.907 3.856 2.907 2.46 0 4.13-1.211 4.13-4.12v-1.122c-.85 1.121-2.46 2-4.494 2C4.61 17.818 2 14.273 2 9.909 2 5.546 4.611 2 8.984 2c2.004 0 3.644.879 4.494 2V2.303h3.644v14.303zm-3.583-6.85c0-2.908-1.58-4.575-3.857-4.575-2.52 0-4.008 1.757-4.008 4.727 0 2.94 1.488 4.727 4.008 4.727 2.278 0 3.857-1.666 3.857-4.515v-.363zM35.546 10.273c0 4.94-3.188 8.273-7.683 8.273-4.494 0-7.682-3.334-7.682-8.273C20.181 5.333 23.37 2 27.863 2c4.495 0 7.683 3.333 7.683 8.273zm-11.69 0c0 3.242 1.548 5.212 4.007 5.212 2.46 0 4.009-1.97 4.009-5.212 0-3.243-1.549-5.212-4.009-5.212-2.46 0-4.008 1.97-4.008 5.212zM52.957 10.273c0 4.94-3.188 8.273-7.682 8.273s-7.682-3.334-7.682-8.273C37.593 5.333 40.78 2 45.275 2s7.682 3.333 7.682 8.273zm-11.69 0c0 3.242 1.548 5.212 4.008 5.212s4.008-1.97 4.008-5.212c0-3.243-1.549-5.212-4.008-5.212-2.46 0-4.008 1.97-4.008 5.212zM54.336 15.182L57.069 13c.941 1.546 2.763 2.576 4.615 2.576 1.549 0 2.976-.546 2.976-1.97 0-1.364-1.336-1.515-3.856-2.03-2.52-.515-5.405-1.152-5.405-4.546 0-2.909 2.55-5.03 6.224-5.03 2.794 0 5.284 1.242 6.438 3L65.6 7.212c-.91-1.424-2.429-2.242-4.19-2.242-1.488 0-2.46.666-2.46 1.727 0 1.152 1.154 1.364 3.158 1.788 2.703.576 6.104 1.151 6.104 4.788 0 3.211-2.946 5.273-6.56 5.273-2.945 0-5.89-1.182-7.317-3.364zM77.965 18.546c-4.555 0-7.743-3.364-7.743-8.273 0-4.667 3.157-8.273 7.59-8.273 4.616 0 7.076 3.485 7.076 7.849v1.212H73.713c.274 2.727 1.913 4.394 4.252 4.394 1.791 0 3.218-.91 3.704-2.546l3.128 1.182c-1.124 2.787-3.644 4.455-6.832 4.455zm-.183-13.485c-1.882 0-3.34 1.12-3.886 3.272h7.318c-.03-1.757-1.124-3.272-3.432-3.272z"})]}))});function Ba(t){"@babel/helpers - typeof";return Ba=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ba(t)}function Ob(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function S$(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Ob(Object(n),!0).forEach(function(r){C$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ob(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function C$(t,e,n){return e=j$(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function j$(t){var e=N$(t,"string");return Ba(e)=="symbol"?e:String(e)}function N$(t,e){if(Ba(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ba(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function P$(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var E$=g.memo(function(t){var e=Object.assign({},(P$(t),t));return c.jsx(ss,S$({Icon:vm,Text:Zk,"aria-label":vl,iconProps:{shape:"square"},spaceMultiple:t$,textMultiple:e$},e))}),qi=vm;qi.Text=Zk;qi.Combine=E$;qi.Avatar=g$;qi.colorPrimary=Jk;qi.title=vl;var wl="Windsurf",O$=.7,M$=.2,eS="#fff",D$=eS,A$="#000",T$=.75;function _a(t){"@babel/helpers - typeof";return _a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_a(t)}var L$=["size","style"];function Mb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function jh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Mb(Object(n),!0).forEach(function(r){R$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Mb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function R$(t,e,n){return e=I$(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function I$(t){var e=$$(t,"string");return _a(e)=="symbol"?e:String(e)}function $$(t,e){if(_a(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(_a(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function B$(t,e){if(t==null)return{};var n=_$(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function _$(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var wm=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=B$(t,L$);return c.jsxs("svg",jh(jh({fill:"currentColor",fillRule:"evenodd",height:n,style:jh({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:n,xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:wl}),c.jsx("path",{clipRule:"evenodd",d:"M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z"})]}))});function Fa(t){"@babel/helpers - typeof";return Fa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fa(t)}function Db(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function F$(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Db(Object(n),!0).forEach(function(r){z$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Db(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function z$(t,e,n){return e=H$(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function H$(t){var e=V$(t,"string");return Fa(e)=="symbol"?e:String(e)}function V$(t,e){if(Fa(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Fa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function W$(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var K$=g.memo(function(t){var e=Object.assign({},(W$(t),t));return c.jsx(rs,F$({Icon:wm,"aria-label":wl,background:D$,color:A$,iconMultiple:T$},e))});function za(t){"@babel/helpers - typeof";return za=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},za(t)}var U$=["size","style"];function Ab(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function Nh(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Ab(Object(n),!0).forEach(function(r){G$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ab(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function G$(t,e,n){return e=q$(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function q$(t){var e=Y$(t,"string");return za(e)=="symbol"?e:String(e)}function Y$(t,e){if(za(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(za(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function X$(t,e){if(t==null)return{};var n=Q$(t,e),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)r=i[s],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Q$(t,e){if(t==null)return{};var n={},r=Object.keys(t),s,i;for(i=0;i<r.length;i++)s=r[i],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}var tS=g.memo(function(t){var e=t.size,n=e===void 0?"1em":e,r=t.style,s=X$(t,U$);return c.jsxs("svg",Nh(Nh({fill:"currentColor",fillRule:"evenodd",height:n,style:Nh({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},s),{},{children:[c.jsx("title",{children:wl}),c.jsx("path",{clipRule:"evenodd",d:"M33.412 7.182h-1.715a.316.316 0 00-.315.316v13.79c0 .174.14.316.315.316h1.715a.316.316 0 00.316-.317V7.498a.316.316 0 00-.316-.316zm-1.772-5.18h1.828c.174 0 .315.141.315.316V4.57a.316.316 0 01-.315.316H31.64a.316.316 0 01-.315-.316V2.318c0-.175.141-.317.315-.317zM43.676 6.79c-1.927 0-3.324.671-4.218 1.653a.457.457 0 01-.782-.322v-.623a.316.316 0 00-.316-.316h-1.686a.316.316 0 00-.316.316v13.79c0 .174.142.316.316.316h1.687a.316.316 0 00.316-.317v-8.729c0-3.025.587-3.697 3.8-3.697s3.742.533 3.742 3.557v8.868c0 .175.142.317.316.317h1.715a.316.316 0 00.316-.317v-9.513c0-3.445-1.956-4.986-4.889-4.986v.003h-.001zm17.518 1.849a.457.457 0 00.782-.322V2.319c0-.175.142-.316.316-.316h1.687c.174 0 .316.141.316.316v18.97a.316.316 0 01-.316.316h-1.687a.316.316 0 01-.316-.316v-.819c.017-.418-.489-.62-.782-.322-.81 1.008-2.374 1.848-4.47 1.848-3.685 0-6.088-2.632-6.088-7.533 0-5.18 2.68-7.673 6.172-7.673 2.095 0 3.604.84 4.386 1.849zm-8.018 5.767c0 4.733.587 5.434 4.414 5.434 3.8 0 4.386-.701 4.386-5.434 0-4.733-.559-5.461-4.386-5.461s-4.414.728-4.414 5.461zm20.924-.894l-2.763-.476c-2.04-.364-2.404-.98-2.404-2.045.028-1.457.587-2.184 3.296-2.184 2.538 0 3.35.752 3.525 2.376.017.16.152.284.313.284h1.677c.18 0 .326-.151.316-.333-.163-2.788-2.709-4.346-5.746-4.346-3.408 0-5.67 1.82-5.67 4.426 0 2.38 1.844 3.417 4.05 3.837l3.046.56c1.676.31 2.235.87 2.235 1.933 0 1.709-.587 2.437-3.464 2.437s-3.673-.832-3.858-2.518a.315.315 0 00-.313-.282h-1.687a.318.318 0 00-.317.325c.08 3.004 2.797 4.493 6.034 4.493 3.52 0 5.949-1.82 5.949-4.566 0-2.408-1.845-3.501-4.219-3.921zm12.21 6.414c3.128 0 3.715-.672 3.715-3.697V7.502c0-.174.141-.316.316-.316h1.714c.175 0 .316.142.316.316v13.79a.316.316 0 01-.316.316h-1.714a.316.316 0 01-.316-.317v-.6c-.007-.429-.45-.642-.755-.343-.892.98-2.289 1.652-4.161 1.652-2.877 0-4.833-1.54-4.833-4.986V7.501c0-.175.142-.317.316-.317h1.715c.174 0 .316.142.316.317v8.868c0 3.024.558 3.557 3.687 3.557zm19.782-12.744v-1.85c0-.727.588-1.316 1.314-1.316h1.276a.316.316 0 00.315-.317V2.317a.316.316 0 00-.315-.317h-.885c-2.514 0-4.051 1.4-4.051 3.81v1.372h-1.859c-1.647.002-2.94.229-3.803 1.26-.317.302-.755.076-.755-.36V7.5a.316.316 0 00-.315-.317h-1.715a.316.316 0 00-.316.317v13.789c0 .174.141.316.316.316h1.715a.316.316 0 00.315-.316v-8.645c0-2.857.727-3.528 3.855-3.528h2.562V21.29c0 .175.141.317.316.317h1.715a.316.316 0 00.315-.317V9.116h2.593a.316.316 0 00.315-.317V7.501a.316.316 0 00-.315-.317h-2.593v-.002zM21.834 18.008a.561.561 0 001.091.005l3.933-15.772A.318.318 0 0127.166 2h1.963c.21 0 .363.199.31.403l-4.947 18.972a.305.305 0 01-.295.228h-3.502a.31.31 0 01-.3-.234L16.285 5.5a.56.56 0 00-.543-.42h-.036a.562.562 0 00-.542.42l-4.11 15.87a.31.31 0 01-.299.234H7.253a.304.304 0 01-.295-.228L2.011 2.403A.321.321 0 012.32 2h1.963c.145 0 .272.1.308.241l3.932 15.772a.56.56 0 001.09-.005l3.78-15.764A.316.316 0 0113.7 2h4.047c.146 0 .273.1.307.244l3.779 15.764z"})]}))});function Ha(t){"@babel/helpers - typeof";return Ha=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ha(t)}function Tb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function J$(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Tb(Object(n),!0).forEach(function(r){Z$(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Tb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Z$(t,e,n){return e=eB(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function eB(t){var e=tB(t,"string");return Ha(e)=="symbol"?e:String(e)}function tB(t,e){if(Ha(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ha(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function nB(t){if(t==null)throw new TypeError("Cannot destructure "+t)}var rB=g.memo(function(t){var e=Object.assign({},(nB(t),t));return c.jsx(ss,J$({Icon:wm,Text:tS,"aria-label":wl,iconProps:{shape:"square"},spaceMultiple:M$,textMultiple:O$},e))}),Yi=wm;Yi.Text=tS;Yi.Combine=rB;Yi.Avatar=K$;Yi.colorPrimary=eS;Yi.title=wl;const sB={"claude-code":Bs.Avatar,cursor:Gi.Avatar,codex:en.Avatar,"gemini-cli":_s.Avatar,goose:qi.Avatar,"github-copilot":Ki.Avatar,windsurf:Yi.Avatar,cline:Ui.Avatar},iB={antigravity:"/agents/antigravity.png",droid:"/agents/droid.png",opencode:"/agents/opencode.svg",amp:"/agents/amp.png",kilo:"/agents/kilo.png",roo:"/agents/roo.png",openhands:"/agents/openhands.png"};function oB(t){return t.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const nS=({agentName:t,displayName:e,size:n=20})=>{const r=sB[t];if(r)return c.jsx(r,{size:n});const s=iB[t];return s?c.jsx("img",{src:s,alt:e,className:"rounded object-contain",style:{width:n,height:n}}):c.jsx("div",{className:"flex items-center justify-center rounded bg-dash-surface-hover text-dash-text-muted font-semibold",style:{width:n,height:n,fontSize:n*.45},children:oB(e)})};function Ph(t){return JSON.stringify([t.provider,t.type,t.item,t.global])}function aB(t){if(typeof t=="string"){const e=t.trim();return e.length>0?e:null}if(typeof t=="object"&&t!==null){const e=t;for(const n of["message","error","detail","details","reason"]){const r=e[n];if(typeof r=="string"&&r.trim().length>0)return r.trim()}}return null}async function Lb(t,e){const r=(await t.text().catch(()=>"")).trim();if(!r)return e;try{const s=JSON.parse(r);return aB(s)||e}catch{return r}}function lB(){const[t,e]=g.useState("idle"),[n,r]=g.useState(null),[s,i]=g.useState(new Map),[o,a]=g.useState(null),[l,d]=g.useState(null),u=g.useRef(0),h=g.useRef(0),f=g.useRef(null),p=g.useRef(null),m=g.useCallback(async v=>{e("reconciling"),d(null),a(null),u.current+=1;const w=u.current;f.current?.abort();const C=new AbortController;f.current=C;try{const j=new URLSearchParams({providers:v.providers.join(","),global:String(v.global),agents:String(v.include.agents??!0),commands:String(v.include.commands??!0),skills:String(v.include.skills??!0),config:String(v.include.config??!0),rules:String(v.include.rules??!0),hooks:String(v.include.hooks??!0)});v.source&&j.set("source",v.source);const S=await fetch(`/api/migrate/reconcile?${j.toString()}`,{signal:C.signal});if(!S.ok){const O=await Lb(S,"Failed to reconcile migration plan");throw new Error(O)}const E=await S.json();if(w!==u.current)return;r(E.plan),i(new Map),e("reviewing")}catch(j){if(C.signal.aborted||j instanceof DOMException&&j.name==="AbortError"||w!==u.current)return;d(j instanceof Error?j.message:"Failed to reconcile"),e("error")}},[]),x=g.useCallback((v,w)=>{i(C=>{const j=new Map(C);return j.set(Ph(v),w),j})},[]),b=g.useCallback(async()=>{if(!n)return d("No plan to execute"),e("error"),!1;e("executing"),d(null),h.current+=1;const v=h.current;p.current?.abort();const w=new AbortController;p.current=w;try{const C=Object.fromEntries(s.entries()),j=await fetch("/api/migrate/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:n,resolutions:C}),signal:w.signal});if(v!==h.current)return!1;if(!j.ok){const E=await Lb(j,"Failed to execute migration");if(j.status===501)return d(E||"Plan execution is not available in this server build"),e("reviewing"),!1;throw new Error(E)}const S=await j.json();return v!==h.current?!1:(a({results:S.results,counts:S.counts,warnings:S.warnings??[],discovery:S.discovery}),e("complete"),!0)}catch(C){return w.signal.aborted||C instanceof DOMException&&C.name==="AbortError"||v!==h.current||(d(C instanceof Error?C.message:"Failed to execute migration"),e("error")),!1}},[n,s]),y=g.useCallback(()=>{f.current?.abort(),p.current?.abort(),e("idle"),r(null),i(new Map),a(null),d(null)},[]),k=g.useMemo(()=>n?n.actions.filter(v=>v.action==="conflict").every(v=>s.has(Ph(v))):!0,[n,s]);return{phase:t,plan:n,resolutions:s,results:o,error:l,reconcile:m,resolve:x,execute:b,reset:y,allConflictsResolved:k,actionKey:Ph}}const cB={agents:!0,commands:!0,skills:!0,config:!0,rules:!0,hooks:!0},hn=["agents","commands","skills","config","rules","hooks"],gs={agents:"migrateTypeAgents",commands:"migrateTypeCommands",skills:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules",hooks:"migrateTypeHooks"},Rb={detected:"#D4A574","not-detected":"#8B9DC3"},It=({label:t,value:e,tone:n="default"})=>{const r=n==="accent"?"text-dash-accent":n==="success"?"text-green-400":"text-dash-text";return c.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2.5",children:[c.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:t}),c.jsx("p",{className:`mt-1 text-lg font-semibold ${r}`,children:e})]})};function Ib(t,e){return t.success?t.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}const dB=new Set([8203,8204,8205,8288,65279,8232,8233,8234,8235,8236,8237,8238,8294,8295,8296,8297]);function uB(t){return t===9||t===10||t===13?!0:t>=0&&t<=8||t>=11&&t<=31||t>=127&&t<=159||dB.has(t)}function $b(t){let e="";for(const n of t){const r=n.codePointAt(0);r!==void 0&&(uB(r)||(e+=n))}return e}const hB=({provider:t,include:e,isSelected:n,cardClickToggles:r,onToggleSelect:s,onOpenDetails:i,t:o})=>{const a=hn.filter(d=>t.capabilities[d]).length,l=hn.some(d=>e[d]&&!t.capabilities[d]);return c.jsxs("div",{className:`relative rounded-xl border px-4 py-3 cursor-pointer transition-all ${n?"bg-dash-accent-subtle border-dash-accent/30 shadow-sm shadow-dash-accent/10":l?"bg-dash-surface border-yellow-500/25 hover:bg-dash-surface-hover hover:border-yellow-500/40":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-accent/25"}`,children:[c.jsx("button",{type:"button",onClick:()=>r?s(t.name):i(t.name),"aria-label":r?`${t.displayName} deselect`:`${t.displayName} details`,className:"absolute inset-0 z-10 rounded-xl dash-focus-ring"}),c.jsxs("div",{className:"relative flex flex-col gap-3 lg:grid lg:grid-cols-[minmax(0,1.25fr)_140px_minmax(0,220px)_auto] lg:items-center lg:gap-4",children:[c.jsxs("div",{className:"min-w-0 space-y-1.5",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(nS,{agentName:t.name,displayName:t.displayName,size:18}),c.jsx("span",{className:"text-sm font-semibold text-dash-text truncate",children:t.displayName}),t.recommended&&c.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:o("migrateFilterRecommended")}),t.commandsGlobalOnly&&c.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-yellow-500/30 text-yellow-400",children:o("migrateGlobalOnlyCommandsShort")})]}),c.jsxs("div",{className:"text-xs text-dash-text-muted truncate",children:[t.name," · ",a,"/",hn.length," ",o("migrateCapabilitiesLabel")]})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 text-[11px] lg:flex-col lg:items-start lg:gap-1",children:[c.jsx("span",{className:t.detected?"text-dash-accent":"text-dash-text-muted",children:t.detected?o("migrateDetectedTag"):o("migrateNotDetectedTag")}),c.jsx("span",{className:"text-dash-text-muted",children:t.recommended?o("migrateFilterRecommended"):"-"})]}),c.jsx("div",{className:"flex flex-wrap gap-1",children:hn.map(d=>{const u=t.capabilities[d],h=e[d];return c.jsx("span",{className:`text-[10px] uppercase px-1.5 py-0.5 rounded border ${u&&h?"border-dash-accent/45 text-dash-accent":u?"border-dash-border text-dash-text-secondary":"border-dash-border text-dash-text-muted opacity-60"}`,children:o(gs[d])},d)})}),c.jsx("div",{className:"relative z-20 flex justify-start lg:justify-end",children:c.jsx("button",{type:"button",onClick:d=>{d.stopPropagation(),s(t.name)},className:`dash-focus-ring px-4 py-1.5 text-xs font-semibold rounded-md transition-colors ${n?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:o(n?"migrateSelectedButton":"migrateSelectButton")})})]})]})},fB=({provider:t,include:e,isSelected:n,latestResult:r,onToggleSelect:s,onClose:i,t:o})=>{const a=g.useRef(null),l=g.useRef(null),d=g.useCallback(()=>{const f=l.current;l.current=null,f&&document.contains(f)&&f.focus()},[]),u=g.useCallback(()=>{i(),d()},[i,d]),h=g.useCallback(()=>{const f=a.current;if(f?.open){f.close();return}i(),d()},[i,d]);return g.useEffect(()=>{const f=a.current;if(f){if(!f.open){l.current=document.activeElement instanceof HTMLElement?document.activeElement:null;try{f.showModal()}catch{d(),i()}}return()=>{if(f.open){f.close();return}d()}}},[i,d]),c.jsx("dialog",{ref:a,"aria-label":t.displayName,onClose:u,onCancel:f=>{f.preventDefault(),h()},onClick:f=>{f.target===f.currentTarget&&h()},className:"fixed inset-0 z-50 m-0 h-full max-h-none w-full max-w-none overflow-hidden border-0 bg-transparent p-0 backdrop:bg-black/50",children:c.jsxs("div",{className:"ml-auto h-full w-full sm:w-[460px] bg-dash-surface border-l border-dash-border shadow-2xl flex flex-col animate-slide-in",children:[c.jsx("div",{className:"px-6 py-5 border-b border-dash-border",children:c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2.5",children:[c.jsx(nS,{agentName:t.name,displayName:t.displayName,size:22}),c.jsx("h2",{className:"text-xl font-bold text-dash-text truncate",children:t.displayName})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[c.jsx("span",{className:"text-[11px] text-dash-text-muted font-mono",children:t.name}),c.jsx("span",{className:`text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border ${t.detected?"border-dash-accent/30 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:t.detected?o("migrateDetectedTag"):o("migrateNotDetectedTag")}),t.recommended&&c.jsx("span",{className:"text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:o("migrateFilterRecommended")})]})]}),c.jsx("button",{type:"button",onClick:h,"aria-label":o("detailPanelClose"),className:"w-8 h-8 flex items-center justify-center rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",children:c.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[c.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18",strokeWidth:2}),c.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18",strokeWidth:2})]})})]})}),c.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-5 space-y-6",children:[c.jsxs("div",{children:[c.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateCapabilitiesSection")}),c.jsx("div",{className:"space-y-1.5",children:hn.map(f=>{const p=t.capabilities[f],m=e[f];return c.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-dash-bg rounded-md",children:[c.jsx("span",{className:"text-sm text-dash-text",children:o(gs[f])}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${m?"border-dash-accent/35 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:o(m?"migrateIncludedEnabled":"migrateIncludedDisabled")}),c.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${p?"border-green-500/35 text-green-400":"border-red-500/30 text-red-400"}`,children:o(p?"migrateSupported":"migrateUnsupportedShort")})]})]},f)})})]}),t.commandsGlobalOnly&&e.commands&&c.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:o("migrateGlobalForced")}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateLatestTarget")}),r?c.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs text-dash-text-muted",children:o("migrateStatus")}),c.jsx("span",{className:`text-xs font-semibold ${Ib(r,o).className}`,children:Ib(r,o).label})]}),c.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:$b(r.path||"-")}),(r.error||r.skipReason)&&c.jsx("p",{className:"text-xs text-red-400 break-words",children:$b(r.error||r.skipReason||"-")})]}):c.jsx("p",{className:"text-sm text-dash-text-muted",children:o("migrateNoResultForProvider")})]})]}),c.jsxs("div",{className:"px-6 py-4 border-t border-dash-border flex items-center justify-between gap-2",children:[c.jsx("button",{type:"button",onClick:()=>s(t.name),className:`px-4 py-2 text-sm font-semibold rounded-md transition-colors ${n?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:o(n?"migrateUnselectProvider":"migrateSelectProviderAction")}),c.jsx("button",{type:"button",onClick:h,"aria-label":o("detailPanelClose"),className:"px-4 py-2 text-sm font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:o("detailPanelClose")})]})]})})},pB=()=>{const{t}=re(),e=lB(),[n,r]=g.useState([]),[s,i]=g.useState(null),[o,a]=g.useState([]),[l,d]=g.useState(cB),[u,h]=g.useState(!0),[f,p]=g.useState(!0),[m,x]=g.useState(!1),[b,y]=g.useState(null),[k,v]=g.useState(""),w=g.useDeferredValue(k),[C,j]=g.useState("all"),[S,E]=g.useState(null),O=g.useRef(0),A=g.useCallback(async(U=!1)=>{O.current+=1;const Q=O.current;try{U?x(!0):p(!0),y(null);const[oe,ke]=await Promise.all([u4(),Sg()]);if(Q!==O.current)return;r(oe.providers),i(ke),a(Ke=>{if(Ke.length===0)return[];const ct=oe.providers.map(Ue=>Ue.name);return Ke.filter(Ue=>ct.includes(Ue))})}catch(oe){if(Q!==O.current)return;y(oe instanceof Error?oe.message:t("migrateDetectFailed"))}finally{Q===O.current&&(p(!1),x(!1))}},[t]);g.useEffect(()=>{A()},[A]);const P=g.useMemo(()=>{const U=new Map;for(const Q of n)U.set(Q.name,Q);return U},[n]),L=g.useMemo(()=>S&&P.get(S)||null,[S,P]);g.useEffect(()=>{S&&!P.has(S)&&E(null)},[S,P]);const _=g.useCallback(()=>{E(null)},[]),N=g.useMemo(()=>new Set(o),[o]),M=g.useMemo(()=>n.filter(U=>U.detected).length,[n]),D=o.length,I=g.useMemo(()=>n.filter(U=>U.recommended).length,[n]),R=g.useMemo(()=>hn.filter(U=>l[U]).length,[l]),$=g.useMemo(()=>{const U=[];l.commands&&o.includes("codex")&&!u&&P.get("codex")?.commandsGlobalOnly&&U.push(t("migrateGlobalForced"));for(const Q of hn){if(!l[Q])continue;const oe=o.filter(ke=>!P.get(ke)?.capabilities[Q]).map(ke=>P.get(ke)?.displayName||ke);oe.length>0&&U.push(`${t("migrateUnsupported")}: ${t(gs[Q])} -> ${oe.join(", ")}`)}return U},[l,u,P,o,t]),V=g.useCallback(U=>{if(U==="codex"){a(["codex"]);return}if(U==="antigravity"){a(["antigravity"]);return}if(U==="core"){const oe=["codex","antigravity","droid"].filter(ke=>n.some(Ke=>Ke.name===ke));a(oe);return}const Q=n.filter(oe=>oe.detected).map(oe=>oe.name);a(Q)},[n]),W=g.useCallback(U=>{a(Q=>Q.includes(U)?Q.filter(oe=>oe!==U):[...Q,U])},[]),F=g.useCallback(U=>{d(Q=>({...Q,[U]:!Q[U]}))},[]),Y=g.useMemo(()=>{const U=[...n];return U.sort((Q,oe)=>{const ke=N.has(Q.name),Ke=N.has(oe.name);return ke!==Ke?ke?-1:1:Q.detected!==oe.detected?Q.detected?-1:1:Q.recommended!==oe.recommended?Q.recommended?-1:1:Q.displayName.localeCompare(oe.displayName)}),U},[n,N]),q=g.useMemo(()=>{const U=w.trim().toLowerCase();return Y.filter(Q=>{if(C==="selected"&&!N.has(Q.name)||C==="detected"&&!Q.detected||C==="recommended"&&!Q.recommended||C==="not-detected"&&Q.detected)return!1;if(!U)return!0;const oe=hn.filter(ke=>Q.capabilities[ke]).map(ke=>t(gs[ke]).toLowerCase());return Q.displayName.toLowerCase().includes(U)||Q.name.toLowerCase().includes(U)||oe.some(ke=>ke.includes(U))})},[w,C,N,Y,t]),ne=g.useMemo(()=>{const U=q.filter(ke=>ke.detected),Q=q.filter(ke=>!ke.detected),oe=[];return U.length>0&&oe.push({key:"detected",label:t("migrateDetectedTag"),providers:U}),Q.length>0&&oe.push({key:"not-detected",label:t("migrateNotDetectedTag"),providers:Q}),oe},[q,t]),ue=g.useMemo(()=>({all:n.length,selected:D,detected:n.filter(U=>U.detected).length,recommended:n.filter(U=>U.recommended).length,"not-detected":n.filter(U=>!U.detected).length}),[n,D]),ae=g.useMemo(()=>q.map(U=>U.name),[q]),z=g.useCallback(()=>{a(U=>{const Q=new Set(U);for(const oe of ae)Q.add(oe);return Array.from(Q)})},[ae]),te=g.useCallback(()=>{a([])},[]),J=g.useCallback(async()=>{if(o.length===0){y(t("migrateSelectProvider"));return}if(R===0){y(t("migrateNoTypesEnabled"));return}await e.reconcile({providers:o,global:u,include:l})},[R,l,u,o,t,e]),he=g.useCallback(async()=>{if(y(null),!!await e.execute())try{const Q=await Sg();i(Q)}catch(Q){console.error("Failed to refresh discovery:",Q)}},[e]),ee=g.useMemo(()=>{const U=new Map;if(!e.results)return U;for(const Q of e.results.results)U.set(Q.provider,Q);return U},[e.results]);g.useEffect(()=>{const U=Q=>{const oe=Q.target,ke=!!(oe&&(oe instanceof HTMLInputElement||oe instanceof HTMLTextAreaElement||oe.isContentEditable||oe.closest('[contenteditable="true"], [role="textbox"]'))),Ke=Q.metaKey||Q.ctrlKey||Q.altKey;Q.key==="/"&&!ke&&!Ke&&(Q.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",U),()=>document.removeEventListener("keydown",U)},[]);const fe=e.phase==="idle"&&o.length>0&&R>0;return f?c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsxs("div",{className:"text-center",children:[c.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),c.jsx("p",{className:"text-dash-text-muted",children:t("migrateDiscovering")})]})}):c.jsxs("div",{className:"relative h-full overflow-hidden",children:[c.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[c.jsx("div",{className:"absolute -top-24 -right-8 h-64 w-64 rounded-full bg-dash-accent/10 blur-3xl"}),c.jsx("div",{className:"absolute -bottom-28 -left-10 h-72 w-72 rounded-full bg-dash-accent/5 blur-3xl"})]}),c.jsxs("div",{className:"h-full overflow-y-auto space-y-4 pb-8",children:[c.jsx("section",{className:"dash-panel dash-sticky-glass sticky top-0 z-20 px-4 py-4 md:px-6 md:py-5",children:c.jsxs("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:t("migrate")}),c.jsx("h1",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:t("migrateTitle")}),c.jsx("p",{className:"text-sm text-dash-text-secondary max-w-3xl",children:t("migrateSubtitle")})]}),e.phase==="complete"&&e.results?c.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:[c.jsx(It,{label:t("migrateInstalled"),value:e.results.counts.installed,tone:"success"}),c.jsx(It,{label:t("migrateSkipped"),value:e.results.counts.skipped}),c.jsx(It,{label:t("migrateFailed"),value:e.results.counts.failed})]}):c.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[c.jsx(It,{label:t("migrateTypeAgents"),value:s?.counts.agents??0}),c.jsx(It,{label:t("migrateDetectedProviders"),value:M,tone:"success"}),c.jsx(It,{label:t("migrateSelectedProviders"),value:D,tone:"accent"}),c.jsx(It,{label:t("migrateTypes"),value:R})]})]})}),b&&c.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:b}),c.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.55fr)_minmax(0,340px)]",children:[c.jsxs("section",{className:"order-2 xl:order-1 space-y-4",children:[e.phase==="reviewing"&&e.plan&&c.jsxs("div",{className:"dash-panel flex flex-col max-h-[calc(100vh-200px)]",children:[c.jsxs("div",{className:"flex items-center justify-between p-5 pb-4",children:[c.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:t("migrateReviewPlan")}),c.jsx("button",{type:"button",onClick:()=>e.reset(),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:t("cancel")})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto px-5 pb-4",children:[c.jsx(D7,{plan:e.plan,resolutions:e.resolutions,onResolve:e.resolve,actionKey:e.actionKey}),e.error&&c.jsx("div",{className:"mt-4 px-3 py-2 border border-red-500/30 bg-red-500/10 rounded text-xs text-red-400",children:e.error})]}),c.jsxs("div",{className:"flex items-center justify-end gap-3 px-5 py-4 border-t border-dash-border bg-dash-surface rounded-b-xl",children:[e.plan.hasConflicts&&!e.allConflictsResolved&&c.jsx("p",{className:"text-xs text-yellow-400",children:t("migrateResolveConflicts")}),c.jsx("button",{type:"button",onClick:he,disabled:e.plan.hasConflicts&&!e.allConflictsResolved,className:"dash-focus-ring px-4 py-2 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:t("migrateExecutePlan")})]})]}),e.phase==="complete"&&e.results&&c.jsx(x7,{results:e.results,onReset:e.reset}),e.phase==="error"&&e.error&&c.jsxs("div",{className:"dash-panel p-5",children:[c.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:e.error}),c.jsx("button",{type:"button",onClick:e.reset,className:"mt-4 dash-focus-ring px-4 py-2 bg-dash-bg border border-dash-border rounded-md text-sm text-dash-text-secondary hover:bg-dash-surface-hover",children:t("tryAgain")})]}),(e.phase==="reconciling"||e.phase==="executing")&&c.jsx("div",{className:"dash-panel p-5",children:c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsxs("div",{className:"text-center",children:[c.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),c.jsx("p",{className:"text-dash-text-muted",children:e.phase==="reconciling"?t("migrateReconciling"):t("migrateExecuting")})]})})}),e.phase==="idle"&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[c.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center",children:[c.jsxs("div",{className:"relative flex-1",children:[c.jsxs("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 stroke-dash-text-muted",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("circle",{cx:"11",cy:"11",r:"8"}),c.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),c.jsx("input",{id:"migrate-search",type:"text",value:k,onChange:U=>v(U.target.value),placeholder:t("migrateSearchProviders"),className:"dash-focus-ring w-full pl-9 pr-12 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:border-dash-accent transition-colors"}),c.jsx("span",{className:"absolute right-2.5 top-1/2 -translate-y-1/2 text-[11px] text-dash-text-muted bg-dash-surface-hover border border-dash-border px-1.5 py-0.5 rounded",children:t("searchShortcut")})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("button",{type:"button",onClick:()=>A(!0),disabled:m,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:t(m?"checking":"migrateRefresh")}),c.jsx("button",{type:"button",onClick:z,disabled:ae.length===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:t("migrateSelectVisible")}),c.jsx("button",{type:"button",onClick:te,disabled:D===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:t("migrateClearSelection")})]})]}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{key:"all",label:t("categoryAll")},{key:"selected",label:t("migrateSelectedProviders")},{key:"detected",label:t("migrateDetectedProviders")},{key:"recommended",label:t("migrateFilterRecommended")},{key:"not-detected",label:t("migrateNotDetectedTag")}].map(U=>c.jsxs("button",{type:"button",onClick:()=>j(U.key),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${C===U.key?"bg-dash-accent/10 border-dash-accent text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[U.label,c.jsx("span",{className:"opacity-60 ml-1 text-[10px]",children:ue[U.key]})]},U.key))}),c.jsxs("div",{children:[c.jsx("p",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:t("migrateTypes")}),c.jsx("div",{className:"flex flex-wrap items-center gap-2",children:hn.map(U=>c.jsx("button",{type:"button",onClick:()=>F(U),className:`dash-focus-ring px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${l[U]?"border-dash-accent/45 text-dash-accent bg-dash-accent/5":"border-dash-border text-dash-text-muted hover:bg-dash-surface-hover"}`,children:t(gs[U])},U))})]})]}),c.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[c.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:t("migrateSourceSummary")}),c.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 xl:grid-cols-6 gap-3",children:hn.map(U=>c.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-center",children:[c.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:t(gs[U])}),c.jsx("p",{className:"text-lg font-semibold text-dash-text",children:s?.counts[U]??0})]},U))})]}),c.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[c.jsxs("div",{className:"flex items-center justify-between mb-4",children:[c.jsx("h2",{className:"text-sm font-semibold text-dash-text",children:t("migrateProvidersHeading")}),c.jsxs("p",{className:"text-xs text-dash-text-muted",children:[q.length," ",t("migrateProvidersCountSuffix")]})]}),n.length===0?c.jsx("div",{className:"text-sm text-dash-text-muted",children:t("migrateNoProviders")}):q.length===0?c.jsx("div",{className:"text-sm text-dash-text-muted",children:t("migrateNoProvidersMatch")}):c.jsx("div",{className:"space-y-5",children:ne.map(U=>c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[c.jsx("div",{className:"w-2 h-2 rounded-full",style:{background:Rb[U.key]}}),c.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:Rb[U.key]},children:U.label}),c.jsxs("span",{className:"text-[11px] text-dash-text-muted ml-auto",children:[U.providers.length," ",t("migrateProvidersCountSuffix")]}),c.jsx("div",{className:"flex-1 h-px bg-dash-border ml-3"})]}),c.jsx("div",{className:"space-y-2",children:U.providers.map(Q=>c.jsx(hB,{provider:Q,include:l,isSelected:N.has(Q.name),cardClickToggles:C==="selected",onToggleSelect:W,onOpenDetails:E,t},Q.name))})]},U.key))})]})]})]}),c.jsx("aside",{className:"order-1 xl:order-2 space-y-4 self-start xl:sticky xl:top-[84px]",children:e.phase==="complete"&&e.results?c.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-semibold text-dash-text",children:t("migrateSummaryTitle")}),c.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[e.results.counts.installed+e.results.counts.skipped+e.results.counts.failed," ",t("migrateSummarySubtitle")]})]}),c.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[c.jsx(It,{label:t("migrateInstalled"),value:e.results.counts.installed,tone:"success"}),c.jsx(It,{label:t("migrateSkipped"),value:e.results.counts.skipped}),c.jsx(It,{label:t("migrateFailed"),value:e.results.counts.failed})]}),e.results.discovery&&c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:t("migrateTypes")}),hn.map(U=>{const Q=e.results?.discovery?.[U]??0;return Q===0?null:c.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 bg-dash-bg rounded-md text-xs",children:[c.jsx("span",{className:"text-dash-text-secondary",children:t(gs[U])}),c.jsx("span",{className:"font-semibold text-dash-text",children:Q})]},U)})]}),o.length>0&&c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:t("migrateSummaryProviders")}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:o.map(U=>{const Q=P.get(U);return c.jsx("span",{className:"text-[10px] px-2 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:Q?.displayName||U},U)})})]}),c.jsx("div",{className:"text-[10px] px-3 py-1.5 bg-dash-bg rounded-md text-dash-text-muted",children:t(u?"migrateScopeGlobal":"migrateScopeProject")}),c.jsx("button",{type:"button",onClick:e.reset,className:"dash-focus-ring w-full px-4 py-2.5 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors",children:t("migrateSummaryNewMigration")})]}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-semibold text-dash-text",children:t("migrateActionSummaryTitle")}),c.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[D," ",t("migrateProvidersCountSuffix")," ·"," ",R,"/",hn.length," ",t("migrateTypes")]})]}),c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsx(It,{label:t("migrateSelectedProviders"),value:D,tone:"accent"}),c.jsx(It,{label:t("migrateDetectedProviders"),value:M}),c.jsx(It,{label:t("migrateTypes"),value:R}),c.jsx(It,{label:t("migrateFilterRecommended"),value:I,tone:"success"})]}),c.jsxs("div",{className:"inline-flex w-full rounded-md border border-dash-border overflow-hidden",children:[c.jsx("button",{type:"button",onClick:()=>h(!1),className:`dash-focus-ring flex-1 px-3 py-2 text-sm ${u?"bg-dash-bg text-dash-text-secondary":"bg-dash-accent-subtle text-dash-accent"}`,children:t("migrateScopeProject")}),c.jsx("button",{type:"button",onClick:()=>h(!0),className:`dash-focus-ring flex-1 px-3 py-2 text-sm border-l border-dash-border ${u?"bg-dash-accent-subtle text-dash-accent":"bg-dash-bg text-dash-text-secondary"}`,children:t("migrateScopeGlobal")})]}),c.jsx("button",{type:"button",onClick:J,disabled:!fe,className:"dash-focus-ring w-full px-4 py-2.5 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:e.phase==="reconciling"?t("migrateRunning"):t("migrateRun")}),$.length>0&&c.jsx("div",{className:"space-y-2",children:$.map((U,Q)=>c.jsx("p",{className:"text-xs px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-yellow-400",children:U},`${U}-${Q}`))})]}),c.jsxs("div",{className:"dash-panel-muted p-4",children:[c.jsx("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:t("migrateSelectProviderAction")}),c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsx("button",{type:"button",onClick:()=>V("codex"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migratePresetCodex")}),c.jsx("button",{type:"button",onClick:()=>V("antigravity"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migratePresetAntigravity")}),c.jsx("button",{type:"button",onClick:()=>V("core"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migratePresetCore")}),c.jsx("button",{type:"button",onClick:()=>V("detected"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migratePresetDetected")})]})]})]})})]})]}),L&&c.jsx(fB,{provider:L,include:l,isSelected:N.has(L.name),latestResult:ee.get(L.name)||null,onToggleSelect:W,onClose:_,t})]})},mB=({featureId:t,name:e,description:n,included:r})=>{const{t:s}=re();return c.jsxs("div",{"data-testid":`feature-card-${t}`,className:`p-4 rounded-lg border transition-all ${r?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-sm":"border-[var(--dash-border)] bg-[var(--dash-bg)] opacity-50"}`,children:[c.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r?c.jsx("svg",{className:"w-5 h-5 text-[var(--dash-accent)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):c.jsx("svg",{className:"w-5 h-5 text-[var(--dash-text-muted)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),c.jsx("h4",{className:"font-medium text-[var(--dash-text)]",children:s(e)})]}),c.jsx("p",{className:"text-sm text-[var(--dash-text-muted)] leading-relaxed",children:s(n)})]})},gB=({selectedKit:t,onKitSelect:e,onInstall:n,installing:r})=>{const{t:s}=re(),[i,o]=g.useState(1);return c.jsxs("div",{className:"space-y-6","data-testid":"install-wizard",children:[c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(Eh,{number:1,active:i===1,label:s("stepChooseKit")}),c.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),c.jsx(Eh,{number:2,active:i===2,label:s("stepConfigure")}),c.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),c.jsx(Eh,{number:3,active:i===3,label:s("stepInstall")})]}),c.jsxs("div",{className:"min-h-[200px]",children:[i===1&&c.jsx(xB,{onSelect:e,selected:t}),i===2&&t&&c.jsx(bB,{kit:t}),i===3&&c.jsx(yB,{installing:r})]}),c.jsxs("div",{className:"flex justify-between pt-4 border-t border-[var(--dash-border)]",children:[i>1?c.jsx("button",{onClick:()=>o(a=>a-1),className:"px-4 py-2 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"wizard-back",children:s("back")}):c.jsx("div",{}),i<3&&t&&c.jsx("button",{onClick:()=>o(a=>a+1),className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"wizard-next",children:s("next")}),i===3&&c.jsx("button",{onClick:n,disabled:r,className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"wizard-install",children:s("install")})]})]})},Eh=({number:t,active:e,label:n})=>c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold transition-colors ${e?"bg-[var(--dash-accent)] text-white":"bg-[var(--dash-surface)] text-[var(--dash-text-muted)] border border-[var(--dash-border)]"}`,children:t}),c.jsx("span",{className:`text-sm font-medium ${e?"text-[var(--dash-text)]":"text-[var(--dash-text-muted)]"}`,children:n})]}),xB=({onSelect:t,selected:e})=>{const{t:n}=re();return c.jsxs("div",{className:"space-y-4",children:[c.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===qn.ENGINEER?n("kitEngineerName"):n("kitMarketingName")}`:"Please select a kit above"}),e&&c.jsxs("button",{type:"button",onClick:()=>t(e===qn.ENGINEER?qn.MARKETING:qn.ENGINEER),className:"text-sm text-[var(--dash-accent)] hover:underline",children:["Switch to ",e===qn.ENGINEER?n("kitMarketingName"):n("kitEngineerName")]})]})},bB=()=>c.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),yB=({installing:t})=>c.jsx("div",{className:"text-[var(--dash-text-muted)]",children:t?"Installing...":"Ready to install"}),vB=({kit:t,onGetStarted:e})=>{const{t:n}=re(),r=Pt(),s=t===qn.ENGINEER?"kitEngineerName":t===qn.MARKETING?"kitMarketingName":"kitEngineerName";return c.jsxs("div",{className:"text-center py-12 space-y-6","data-testid":"success-screen",children:[c.jsx("div",{className:"w-16 h-16 mx-auto bg-green-100 rounded-full flex items-center justify-center",children:c.jsx("svg",{className:"w-10 h-10 text-green-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}),c.jsx("h2",{className:"text-2xl font-bold text-[var(--dash-text)]",children:n("installSuccess")}),c.jsx("p",{className:"text-[var(--dash-text-muted)] max-w-md mx-auto",children:n("installSuccessDesc").replace("{kit}",n(s))}),c.jsxs("div",{className:"flex gap-4 justify-center pt-4",children:[c.jsx("button",{onClick:e,className:"px-6 py-2.5 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"get-started-btn",children:n("getStarted")}),c.jsx("button",{onClick:()=>r("/"),className:"px-6 py-2.5 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"dashboard-btn",children:n("goToDashboard")})]})]})},wB=[{id:"agents",name:"featureAgents",description:"featureAgentsDesc",engineer:!0,marketing:!0},{id:"hooks",name:"featureHooks",description:"featureHooksDesc",engineer:!0,marketing:!0},{id:"skills",name:"featureSkills",description:"featureSkillsDesc",engineer:!0,marketing:!0},{id:"multiagent",name:"featureMultiAgent",description:"featureMultiAgentDesc",engineer:!0,marketing:!1},{id:"content",name:"featureContent",description:"featureContentDesc",engineer:!1,marketing:!0},{id:"social",name:"featureSocial",description:"featureSocialDesc",engineer:!1,marketing:!0}],rS={engineer:{id:"engineer",name:"kitEngineerName",tagline:"kitEngineerTagline",primaryColor:"text-blue-500",features:["agents","hooks","skills","multiagent"]},marketing:{id:"marketing",name:"kitMarketingName",tagline:"kitMarketingTagline",primaryColor:"text-purple-500",features:["agents","hooks","skills","content","social"]}};function kB(t){const e=rS[t];return e?wB.filter(n=>e.features.includes(n.id)):(console.warn(`Unknown kit type: ${t}`),[])}const SB=({kit:t,selected:e,onSelect:n,features:r})=>{const{t:s}=re();return c.jsxs("button",{type:"button",onClick:n,className:`p-6 rounded-lg border-2 text-left transition-all w-full ${e?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-md":"border-[var(--dash-border)] hover:border-[var(--dash-accent)]/50"}`,children:[c.jsx("h3",{className:`text-xl font-bold ${t.primaryColor}`,children:s(t.name)}),c.jsx("p",{className:"text-[var(--dash-text-muted)] mt-1",children:s(t.tagline)}),c.jsx("div",{className:"mt-4 space-y-2",children:r.slice(0,3).map(i=>c.jsx(mB,{featureId:i.id,name:i.name,description:i.description,included:!0},i.id))})]})},CB=()=>{const{t}=re(),e=Pt(),[n,r]=g.useState(null),[s,i]=g.useState(!1),[o,a]=g.useState(!1),[l,d]=g.useState(null),u=async()=>{if(n){i(!0),d(null);try{const f=await fetch("/api/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kit:n})});if(!f.ok)throw new Error(`Installation failed: ${f.statusText}`);a(!0)}catch(f){const p=f instanceof Error?f.message:"Unknown error occurred";d(p),console.error("Install failed:",f)}finally{i(!1)}}};if(o&&n)return c.jsx(vB,{kit:n,onGetStarted:()=>e("/")});const h=f=>f==="engineer"?qn.ENGINEER:qn.MARKETING;return c.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[c.jsxs("header",{className:"text-center mb-8",children:[c.jsx("h1",{className:"text-3xl font-bold text-[var(--dash-text)]",children:t("onboardingTitle")}),c.jsx("p",{className:"mt-2 text-[var(--dash-text-muted)]",children:t("onboardingSubtitle")})]}),c.jsx("section",{className:"grid md:grid-cols-2 gap-6 mb-8",children:Object.values(rS).map(f=>{const p=h(f.id);return c.jsx(SB,{kit:f,selected:n===p,onSelect:()=>r(p),features:kB(f.id)},f.id)})}),l&&c.jsxs("div",{className:"mb-6 p-4 rounded-lg bg-red-100 border border-red-300 text-red-800",children:[c.jsx("p",{className:"font-medium",children:"Installation Error"}),c.jsx("p",{className:"text-sm mt-1",children:l}),c.jsx("button",{type:"button",onClick:()=>d(null),className:"mt-2 text-sm underline hover:no-underline",children:"Dismiss"})]}),n&&c.jsx(gB,{selectedKit:n,onKitSelect:r,onInstall:u,installing:s})]})},jB={0:"bg-dash-bg",1:"bg-emerald-500/20",2:"bg-emerald-500/50",3:"bg-emerald-400"};function NB({cells:t}){const{t:e}=re(),n=[{label:e("plansHeatmapMon"),index:1},{label:e("plansHeatmapWed"),index:3},{label:e("plansHeatmapFri"),index:5}];return c.jsxs("div",{className:"flex w-fit items-start gap-3",children:[c.jsx("div",{className:"grid grid-rows-7 gap-1 pt-[1px] text-[10px] uppercase tracking-tighter text-dash-text-muted",children:Array.from({length:7},(r,s)=>{const i=n.find(o=>o.index===s);return c.jsx("div",{className:"flex h-3.5 items-center justify-end pr-1",children:i?.label??""},s)})}),c.jsx("div",{className:"grid grid-cols-12 gap-1",children:Array.from({length:12},(r,s)=>c.jsx("div",{className:"grid grid-rows-7 gap-1",children:t.filter(i=>i.weekIndex===s).map(i=>c.jsx("div",{title:e("plansHeatmapChanges").replace("{date}",new Date(i.date).toLocaleDateString()).replace("{count}",String(i.totalActivity)),className:`h-3.5 w-3.5 rounded-sm transition-colors duration-300 ${jB[i.level]}`},i.date))},s))})]})}function PB({planDir:t}){const{t:e}=re(),[n,r]=g.useState("both"),[s,i]=g.useState(null),[o,a]=g.useState(null);return g.useEffect(()=>{let l=!1;async function d(){a(null);try{const u=await fetch(`/api/plan/heatmap?dir=${encodeURIComponent(t)}&source=${encodeURIComponent(n)}`);if(!u.ok)throw new Error(e("plansHeatmapLoadError"));const h=await u.json();l||i(h)}catch(u){l||a(u instanceof Error?u.message:e("plansHeatmapLoadError"))}}return d(),()=>{l=!0}},[t,n,e]),c.jsxs("section",{className:"rounded-xl border border-dash-border bg-dash-surface p-5",children:[c.jsxs("div",{className:"mb-4 flex items-center justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:e("plansActivity")}),c.jsx("p",{className:"text-sm text-dash-text-muted",children:e("plansActivitySubtitle")})]}),c.jsxs("select",{value:n,onChange:l=>r(l.target.value),className:"rounded-lg border border-dash-border bg-dash-bg px-3 py-2 text-sm text-dash-text",children:[c.jsx("option",{value:"both",children:e("plansActivityCombined")}),c.jsx("option",{value:"git",children:e("plansActivityCommits")}),c.jsx("option",{value:"mtime",children:e("plansActivityFiles")})]})]}),s?.cells?.length?c.jsx(NB,{cells:s.cells}):c.jsx("p",{className:"text-sm text-dash-text-muted",children:o??s?.error??e("plansActivityEmpty")})]})}function EB({planDir:t,phaseId:e,status:n,actions:r,onSuccess:s}){const{t:i}=re(),o=async a=>{await r.trigger({action:a,planDir:t,phaseId:e}),s()};return c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx("button",{type:"button",onClick:()=>void o("start"),disabled:r.loading,className:"rounded border border-dash-border px-2 py-1 text-xs text-dash-text disabled:cursor-not-allowed disabled:opacity-50",children:i(n==="in-progress"?"plansRestart":"plansStart")}),c.jsx("button",{type:"button",onClick:()=>void o("complete"),disabled:r.loading,className:"rounded border border-dash-border px-2 py-1 text-xs text-dash-text disabled:cursor-not-allowed disabled:opacity-50",children:i("plansComplete")}),c.jsx("button",{type:"button",onClick:()=>void o("reset"),disabled:r.loading,className:"rounded border border-dash-border px-2 py-1 text-xs text-dash-text-muted disabled:cursor-not-allowed disabled:opacity-50",children:i("plansReset")})]})}const OB={pending:"bg-amber-500","in-progress":"bg-sky-500",completed:"bg-emerald-500"},MB={pending:"kanbanStatus_pending","in-progress":"kanbanStatus_in-progress",completed:"kanbanStatus_completed"};function DB({planDir:t,phases:e,actions:n,onRead:r,onRefresh:s}){const{t:i}=re();return c.jsx("div",{className:"rounded-[2rem] bg-dash-border/20 p-1",style:{animation:"fade-in-up 0.8s cubic-bezier(0.32,0.72,0,1) 0.4s both"},children:c.jsxs("section",{className:"rounded-[calc(2rem-0.25rem)] border border-white/5 bg-dash-surface p-6 shadow-2xl",children:[c.jsxs("div",{className:"mb-6 flex items-center justify-between px-2",children:[c.jsx("h2",{className:"text-xl font-bold tracking-tight text-dash-text",children:i("plansPhases")}),c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-dash-text-muted bg-dash-bg px-2 py-1 rounded-md border border-white/5",children:i("plansPhaseCount").replace("{count}",String(e.length))})]}),c.jsx("div",{className:"space-y-4",children:e.map((o,a)=>c.jsx("div",{className:"group relative rounded-[1.5rem] bg-dash-border/10 p-1 transition-all duration-500 hover:bg-dash-accent/5",style:{animation:`fade-in-up 0.6s cubic-bezier(0.32,0.72,0,1) ${.5+a*.1}s both`},children:c.jsxs("div",{className:"flex flex-col gap-4 rounded-[calc(1.5rem-0.25rem)] border border-white/5 bg-dash-bg p-4 transition-colors duration-500 hover:bg-dash-bg/80 lg:flex-row lg:items-center lg:justify-between",children:[c.jsxs("div",{className:"flex items-start gap-4",children:[c.jsxs("div",{className:"mt-1 flex flex-col items-center gap-2",children:[c.jsx("div",{className:`h-3 w-3 rounded-full ${OB[o.status]} shadow-[0_0_8px_currentColor]`}),c.jsx("div",{className:"h-full w-px flex-1 bg-dash-border/30"})]}),c.jsxs("div",{children:[c.jsx("div",{className:"flex items-center gap-2",children:c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-dash-accent/80",children:o.phaseId})}),c.jsx("h3",{className:"text-sm font-semibold text-dash-text group-hover:text-dash-accent transition-colors",children:o.name}),c.jsx("p",{className:"mt-0.5 text-[10px] font-bold uppercase tracking-widest text-dash-text-muted",children:i(MB[o.status])})]})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx("button",{type:"button",onClick:()=>r(o.file),className:"flex h-8 items-center rounded-full border border-white/10 bg-dash-surface px-4 text-[11px] font-bold uppercase tracking-widest text-dash-text transition-all duration-300 hover:bg-dash-accent hover:text-white active:scale-95",children:i("plansRead")}),c.jsx("div",{className:"p-0.5 bg-dash-border/20 rounded-full border border-white/5",children:c.jsx(EB,{planDir:t,phaseId:o.phaseId,status:o.status,actions:n,onSuccess:s})})]})]})},o.phaseId))})]})})}function AB({planDir:t,actions:e,onSuccess:n}){const{t:r}=re(),s=async i=>{await e.trigger({action:i,planDir:t}),n()};return c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx("button",{type:"button",onClick:()=>void s("validate"),disabled:e.loading,className:"rounded-lg border border-dash-border px-3 py-2 text-sm text-dash-text disabled:cursor-not-allowed disabled:opacity-50",children:r("plansValidate")}),c.jsx("button",{type:"button",onClick:()=>void s("start-next"),disabled:e.loading,className:"rounded-lg bg-dash-accent px-3 py-2 text-sm font-medium text-dash-bg disabled:cursor-not-allowed disabled:opacity-50",children:r("plansStartNext")})]})}const TB={pending:"plansStatusPending","in-progress":"plansStatusInProgress","in-review":"plansStatusInReview",done:"plansStatusDone",cancelled:"plansStatusCancelled"};function LB({plan:t,planDir:e,actions:n,onActionSuccess:r}){const{t:s}=re(),i=t.status??"pending";return c.jsx("div",{className:"rounded-[2rem] bg-dash-border/20 p-1 transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)]",style:{animation:"fade-in-up 0.8s cubic-bezier(0.32,0.72,0,1) both"},children:c.jsxs("section",{className:"rounded-[calc(2rem-0.25rem)] border border-white/5 bg-dash-surface p-6 shadow-2xl",children:[c.jsxs("div",{className:"flex flex-col gap-6 lg:flex-row lg:items-start lg:justify-between",children:[c.jsxs("div",{className:"flex-1",children:[c.jsxs("div",{className:"mb-2 flex items-center gap-3",children:[c.jsx("span",{className:"rounded-full bg-dash-accent/10 border border-dash-accent/20 px-3 py-0.5 text-[10px] font-bold uppercase tracking-widest text-dash-accent",children:s(TB[i])}),c.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.2em] text-dash-text-muted",children:s("plansLabel")})]}),c.jsx("h1",{className:"text-3xl font-bold tracking-tight text-dash-text lg:text-4xl text-balance",children:t.title}),t.description&&c.jsx("p",{className:"mt-4 max-w-3xl text-sm leading-relaxed text-dash-text-muted",children:t.description})]}),c.jsx("div",{className:"shrink-0 p-1 bg-dash-border/10 rounded-2xl border border-white/5",children:c.jsx(AB,{planDir:e,actions:n,onSuccess:r})})]}),c.jsxs("div",{className:"mt-8",children:[c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-dash-text-muted",children:s("kanbanProgress")}),c.jsxs("span",{className:"text-sm font-bold text-dash-accent",children:[t.progressPct,"%"]})]}),c.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full bg-dash-bg shadow-inner",children:c.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-dash-accent/40 via-dash-accent to-dash-accent shadow-[0_0_12px_theme(colors.dash-accent/0.3)] transition-all duration-1000 ease-[cubic-bezier(0.32,0.72,0,1)]",style:{width:`${t.progressPct}%`}})})]}),c.jsxs("div",{className:"mt-8 flex flex-wrap gap-6 border-t border-white/5 pt-6",children:[c.jsxs("div",{className:"flex flex-col gap-1",children:[c.jsx("span",{className:"text-[10px] uppercase tracking-widest text-dash-text-muted",children:s("plansPhase")}),c.jsx("span",{className:"text-sm font-semibold text-dash-text",children:s("plansPhaseCount").replace("{count}",String(t.totalPhases))})]}),c.jsxs("div",{className:"flex flex-col gap-1",children:[c.jsx("span",{className:"text-[10px] uppercase tracking-widest text-dash-text-muted",children:s("plansPriority")}),c.jsx("span",{className:"text-sm font-semibold text-dash-text",children:t.priority??"—"})]}),c.jsxs("div",{className:"flex flex-col gap-1",children:[c.jsx("span",{className:"text-[10px] uppercase tracking-widest text-dash-text-muted",children:s("plansLastUpdated")}),c.jsx("span",{className:"text-sm font-semibold text-dash-text",children:t.lastModified?new Date(t.lastModified).toLocaleDateString():"—"})]})]})]})})}function RB(t){return new Date(t).toLocaleDateString(void 0,{month:"short",day:"numeric"})}const Bb={pending:"from-amber-500/40 to-amber-500/20 border-amber-500/30 text-amber-100","in-progress":"from-sky-500/40 to-sky-500/20 border-sky-500/30 text-sky-100",completed:"from-emerald-500/40 to-emerald-500/20 border-emerald-500/30 text-emerald-100"},IB={pending:"kanbanStatus_pending","in-progress":"kanbanStatus_in-progress",completed:"kanbanStatus_completed"};function $B({timeline:t,onOpenPhase:e}){const{t:n}=re(),r=Array.from({length:7},(s,i)=>{const o=new Date(t.rangeEnd).getTime()-new Date(t.rangeStart).getTime(),a=new Date(new Date(t.rangeStart).getTime()+o/6*i);return RB(a.toISOString())});return c.jsx("div",{className:"group rounded-[2rem] bg-dash-border/20 p-1 transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)] hover:bg-dash-accent/5",style:{animation:"fade-in-up 0.8s cubic-bezier(0.32,0.72,0,1) 0.2s both"},children:c.jsxs("section",{className:"rounded-[calc(2rem-0.25rem)] border border-white/5 bg-dash-surface p-6 shadow-2xl",children:[c.jsxs("div",{className:"mb-6 flex items-end justify-between px-2",children:[c.jsxs("div",{children:[c.jsx("h2",{className:"text-xl font-bold tracking-tight text-dash-text",children:n("plansTimeline")}),c.jsx("p",{className:"text-xs uppercase tracking-widest text-dash-text-muted mt-1",children:n("plansTimelineAvgDays").replace("{count}",t.summary.avgDurationDays.toFixed(1))})]}),c.jsx("div",{className:"flex gap-4",children:Object.entries(Bb).map(([s,i])=>c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:`h-1.5 w-6 rounded-full bg-gradient-to-r ${i.split(" ").slice(0,2).join(" ")}`}),c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-dash-text-muted",children:n(IB[s])})]},s))})]}),c.jsxs("div",{className:"relative mt-8",children:[c.jsx("div",{className:"grid grid-cols-7 gap-2 px-1 text-[10px] font-bold uppercase tracking-widest text-dash-text-muted/60",children:r.map(s=>c.jsx("span",{children:s},s))}),c.jsxs("div",{className:"relative mt-4 min-h-[160px] overflow-hidden rounded-2xl border border-white/5 bg-dash-bg/30 p-4 transition-all duration-500 group-hover:bg-dash-bg/50",style:{height:`${Math.max(160,t.layerCount*40+64)}px`},children:[c.jsx("div",{className:"absolute inset-0 grid grid-cols-7 pointer-events-none",children:Array.from({length:7}).map((s,i)=>c.jsx("div",{className:"h-full border-r border-white-[0.02] last:border-0"},i))}),c.jsx("div",{className:"absolute bottom-0 top-0 z-10 w-px bg-dash-accent/40",style:{left:`${t.todayPct}%`},children:c.jsx("div",{className:"absolute -top-1 -left-1 h-2.5 w-2.5 rounded-full bg-dash-accent shadow-[0_0_8px_theme(colors.dash-accent)]"})}),t.phases.map(s=>c.jsx("button",{type:"button",onClick:()=>e(s.file),title:`${s.name} • ${s.effort??n("plansNoEffort")}`,className:`absolute flex h-7 items-center rounded-lg border px-3 text-[11px] font-semibold text-white backdrop-blur-md shadow-sm transition-all duration-300 hover:scale-[1.02] hover:shadow-lg hover:brightness-110 active:scale-[0.98] bg-gradient-to-r ${Bb[s.status]}`,style:{top:`${s.layer*38+20}px`,left:`${s.leftPct}%`,width:`${s.widthPct}%`},children:c.jsxs("span",{className:"truncate drop-shadow-sm",children:[s.phaseId," · ",s.name]})},s.phaseId))]})]})]})})}function Kf(t,e){const n=e.replace(/\\/g,"/").replace(/\/$/,""),r=t.replace(/\\/g,"/");return r.startsWith(`${n}/`)?r.slice(n.length+1):r.split("/").slice(-1)[0]??r}function Uf(t){return t.split("/").filter(Boolean).map(e=>encodeURIComponent(e)).join("/")}function BB(){const[t,e]=g.useState(null),[n,r]=g.useState(!1),[s,i]=g.useState(null);return{pendingId:t,loading:n,error:s,trigger:async o=>{r(!0),i(null);try{const a=await fetch("/api/plan/action",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!a.ok)throw new Error(`Failed to run action (${a.status})`);const l=await a.json();if(e(l.id),l.status==="failed")throw new Error(l.error??"Action failed");return l}catch(a){const l=a instanceof Error?a.message:"Action failed";throw i(l),a}finally{e(null),r(!1)}}}}const _B={pending:"plansStatusPending","in-progress":"plansStatusInProgress","in-review":"plansStatusInReview",done:"plansStatusDone",cancelled:"plansStatusCancelled"};function FB(){const{t}=re(),e=Pt(),{planSlug:n=""}=tl(),[r]=rl(),s=r.get("dir")??"plans",i=BB(),[o,a]=g.useState(null),[l,d]=g.useState(!0),[u,h]=g.useState(null),f=`${s}/${n}`,p=g.useCallback(async()=>{d(!0),h(null);try{const m=await fetch(`/api/plan/timeline?dir=${encodeURIComponent(f)}`);if(!m.ok)throw new Error(t("plansLoadPlanFailed").replace("{status}",String(m.status)));a(await m.json())}catch(m){h(m instanceof Error?m.message:t("plansLoadPlanFallback"))}finally{d(!1)}},[f,t]);return g.useEffect(()=>{p()},[p]),l?c.jsx("div",{className:"flex h-full items-center justify-center",children:c.jsxs("div",{className:"flex flex-col items-center gap-4 animate-pulse",children:[c.jsx("div",{className:"h-12 w-12 rounded-full border-2 border-dash-accent border-t-transparent animate-spin"}),c.jsx("p",{className:"text-[10px] font-bold uppercase tracking-[0.3em] text-dash-accent/60",children:t("plansLoadingPlan")})]})}):u||!o?c.jsx("div",{className:"flex h-full flex-col items-center justify-center gap-4 p-8 text-center",children:c.jsxs("div",{className:"rounded-2xl border border-red-500/20 bg-red-500/5 p-6 backdrop-blur-md",children:[c.jsx("h2",{className:"text-sm font-bold uppercase tracking-widest text-red-400",children:t("error")}),c.jsx("p",{className:"mt-2 text-sm text-red-300/80",children:u??t("plansNotFound")}),c.jsx("button",{type:"button",onClick:()=>void p(),className:"mt-6 rounded-full bg-red-500 px-6 py-2 text-xs font-bold uppercase tracking-widest text-white transition-all hover:scale-105 active:scale-95",children:t("refresh")})]})}):c.jsxs("div",{className:"flex h-full flex-col overflow-hidden bg-dash-bg",children:[c.jsxs("div",{className:"flex items-center gap-4 border-b border-white/5 bg-dash-surface/30 px-6 py-3 backdrop-blur-xl",children:[c.jsxs("button",{type:"button",onClick:()=>e(`/plans?dir=${encodeURIComponent(s)}`),className:"group flex items-center gap-2 rounded-full border border-white/5 bg-dash-surface px-4 py-1.5 text-[10px] font-bold uppercase tracking-widest text-dash-text transition-all hover:bg-dash-accent hover:text-white",children:[c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",className:"h-3 w-3 transition-transform group-hover:-translate-x-1",children:c.jsx("polyline",{points:"15 18 9 12 15 6"})}),t("plansBackToPlans")]}),c.jsx("div",{className:"h-4 w-px bg-dash-border/50"}),c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-dash-text-muted",children:o.plan.title??n.toUpperCase()})]}),c.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden scrollbar-hide",children:c.jsxs("div",{className:"mx-auto max-w-[1600px] p-6 lg:p-10",children:[i.error&&c.jsxs("div",{className:"mb-6 rounded-[1.5rem] border border-red-500/20 bg-red-500/10 px-5 py-4 text-sm text-red-200 backdrop-blur-md",children:[c.jsx("p",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-red-300",children:t("actionFailed")}),c.jsx("p",{className:"mt-2 leading-relaxed",children:i.error})]}),c.jsxs("div",{className:"grid gap-10 lg:grid-cols-12 lg:items-start",children:[c.jsxs("div",{className:"space-y-10 lg:col-span-8",children:[c.jsx(LB,{plan:o.plan,planDir:f,actions:i,onActionSuccess:()=>void p()}),c.jsx($B,{timeline:o.timeline,onOpenPhase:m=>e(`/plans/${encodeURIComponent(n)}/read/${Uf(Kf(m,f))}?dir=${encodeURIComponent(s)}`)}),c.jsx(DB,{planDir:f,phases:o.plan.phases,actions:i,onRead:m=>e(`/plans/${encodeURIComponent(n)}/read/${Uf(Kf(m,f))}?dir=${encodeURIComponent(s)}`),onRefresh:()=>void p()})]}),c.jsxs("div",{className:"space-y-10 lg:col-span-4 lg:sticky lg:top-0",children:[c.jsx("div",{className:"rounded-[2.5rem] bg-dash-accent/5 p-1 backdrop-blur-3xl",style:{animation:"fade-in 1s cubic-bezier(0.32,0.72,0,1) 0.6s both"},children:c.jsx(PB,{planDir:f})}),c.jsxs("div",{className:"rounded-[2rem] border border-white/5 bg-dash-surface/50 p-6 backdrop-blur-md",style:{animation:"fade-in 1s cubic-bezier(0.32,0.72,0,1) 0.8s both"},children:[c.jsx("h3",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-dash-accent",children:t("plansQuickInfoTitle")}),c.jsxs("div",{className:"mt-4 space-y-4",children:[c.jsx("p",{className:"text-xs leading-relaxed text-dash-text-muted",children:t("plansQuickInfoDescription")}),c.jsxs("div",{className:"flex items-center gap-3 rounded-2xl bg-dash-bg/50 p-4 border border-white/5",children:[c.jsx("div",{className:"h-10 w-10 flex items-center justify-center rounded-full bg-dash-accent/10 border border-dash-accent/20",children:c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",className:"h-5 w-5 text-dash-accent",strokeWidth:"2.5",children:c.jsx("path",{d:"M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"})})}),c.jsxs("div",{children:[c.jsx("p",{className:"text-[9px] uppercase tracking-widest text-dash-text-muted",children:t("plansCurrentStatus")}),c.jsx("p",{className:"text-sm font-bold text-dash-text",children:o.plan.status?t(_B[o.plan.status]):t("plansStatusUnknown")})]})]})]})]})]})]})]})})]})}function _b({label:t,item:e,onClick:n}){return c.jsx("button",{type:"button",onClick:n,disabled:!e,className:"rounded-lg border border-dash-border px-3 py-2 text-sm text-dash-text transition hover:border-dash-accent/50 disabled:cursor-not-allowed disabled:opacity-40",title:e?.name,children:t})}function zB(t){const{t:e}=re();return c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(_b,{label:e("plansPrevious"),item:t.prev,onClick:()=>t.prev&&t.onNavigate(t.prev.file)}),c.jsx(_b,{label:e("plansNext"),item:t.next,onClick:()=>t.next&&t.onNavigate(t.next.file)})]})}function HB(t){const{t:e}=re();return c.jsxs("header",{className:"flex flex-col gap-4 rounded-xl border border-dash-border bg-dash-surface p-4 lg:flex-row lg:items-center lg:justify-between",children:[c.jsxs("div",{children:[c.jsx("button",{type:"button",onClick:t.onBack,className:"text-sm text-dash-accent",children:e("plansBackToPlan")}),c.jsx("p",{className:"mt-2 text-xs uppercase tracking-[0.2em] text-dash-text-muted",children:e("plansNav")}),c.jsxs("h1",{className:"text-lg font-semibold text-dash-text",children:[t.planTitle,t.phaseTitle?` / ${t.phaseTitle}`:""]})]}),c.jsx(zB,{prev:t.prev,next:t.next,onNavigate:t.onNavigate})]})}function VB({content:t}){const{t:e}=re(),n=w4(t).filter(r=>r.level<=3);return n.length===0?null:c.jsxs("aside",{className:"rounded-xl border border-dash-border bg-dash-surface p-4",children:[c.jsx("h2",{className:"mb-3 text-sm font-semibold text-dash-text",children:e("plansContents")}),c.jsx("nav",{className:"space-y-2",children:n.map(r=>c.jsx("a",{href:`#${r.id}`,className:"block text-sm text-dash-text-muted transition hover:text-dash-accent",style:{paddingLeft:`${(r.level-1)*12}px`},children:r.text},r.id))})]})}function WB(t,e){return`${t}/${e}/plan.md`}function KB(t,e,n){const r=`${t}/${e}`,[s,i]=g.useState({planTitle:e,phases:[],currentIndex:-1,prev:null,next:null,loading:!0,error:null}),o=g.useCallback(async()=>{i(a=>({...a,loading:!0,error:null}));try{const a=await fetch(`/api/plan/parse?file=${encodeURIComponent(WB(t,e))}`);if(!a.ok)throw new Error(`Failed to load navigation (${a.status})`);const l=await a.json();i({planTitle:typeof l.frontmatter.title=="string"?l.frontmatter.title:e,phases:l.phases.map(d=>({phaseId:d.phaseId,name:d.name,file:Kf(d.file,r)})),currentIndex:-1,prev:null,next:null,loading:!1,error:null})}catch(a){i(l=>({...l,loading:!1,error:a instanceof Error?a.message:"Failed to load navigation"}))}},[r,e,t]);return g.useEffect(()=>{o()},[o]),g.useMemo(()=>{const a=n?s.phases.findIndex(l=>l.file===n):-1;return{...s,currentIndex:a,prev:a>0?s.phases[a-1]:null,next:a>=0?s.phases[a+1]??null:s.phases.length>0?s.phases[0]:null}},[n,s])}function Fb(){const{t}=re(),e=Pt(),{planSlug:n="*","*":r}=tl(),[s]=rl(),i=s.get("dir")??"plans",o=KB(i,n,r),[a,l]=g.useState(null),[d,u]=g.useState(null),h=(o.currentIndex>=0?o.phases[o.currentIndex]?.name??null:null)??(typeof a?.frontmatter.title=="string"?a.frontmatter.title:null),f=g.useCallback(async()=>{u(null);try{const m=`${i}/${n}`,x=r?`${m}/${r}`:`${m}/plan.md`,b=await fetch(`/api/plan/file?file=${encodeURIComponent(x)}&dir=${encodeURIComponent(m)}`);if(!b.ok)throw new Error(t("plansLoadFileFailed").replace("{status}",String(b.status)));l(await b.json())}catch(m){u(m instanceof Error?m.message:t("plansLoadFileFallback"))}},[r,n,i,t]);g.useEffect(()=>{f()},[f]);const p=m=>e(`/plans/${encodeURIComponent(n)}/read/${Uf(m)}?dir=${encodeURIComponent(i)}`);return c.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-auto",children:[c.jsx(HB,{planTitle:o.planTitle,phaseTitle:h,prev:o.prev,next:o.next,onBack:()=>e(`/plans/${encodeURIComponent(n)}?dir=${encodeURIComponent(i)}`),onNavigate:p}),d&&c.jsx("p",{className:"text-sm text-red-300",children:d}),a&&c.jsxs("div",{className:"grid gap-4 xl:grid-cols-[280px_minmax(0,1fr)]",children:[c.jsx(VB,{content:a.content}),c.jsx("div",{className:"rounded-xl border border-dash-border bg-dash-surface p-5",children:c.jsx(Is,{content:a.raw})})]}),!a&&!d&&c.jsx("p",{className:"text-sm text-dash-text-muted",children:t("plansLoadingReader")})]})}const UB={pending:"bg-amber-500/10 text-amber-400/90 border border-amber-500/20","in-progress":"bg-sky-500/10 text-sky-400/90 border border-sky-500/20","in-review":"bg-violet-500/10 text-violet-400/90 border border-violet-500/20",done:"bg-emerald-500/10 text-emerald-400/90 border border-emerald-500/20",cancelled:"bg-rose-500/10 text-rose-400/90 border border-rose-500/20"},GB={pending:"plansStatusPending","in-progress":"plansStatusInProgress","in-review":"plansStatusInReview",done:"plansStatusDone",cancelled:"plansStatusCancelled"};function qB(t){return t?new Date(t).toLocaleDateString(void 0,{month:"short",day:"numeric"}):"—"}function sS({plan:t,onClick:e,compact:n=!1}){const{t:r}=re(),s=t.summary,i=s.status??"pending";return c.jsx("button",{type:"button",onClick:e,className:"group relative w-full rounded-[2rem] bg-dash-border/20 p-1 transition-all duration-500 ease-[cubic-bezier(0.32,0.72,0,1)] hover:bg-dash-accent/10 active:scale-[0.98]",children:c.jsxs("div",{className:"flex h-full flex-col rounded-[calc(2rem-0.25rem)] border border-white/5 bg-dash-surface p-5 shadow-[inset_0_1px_1px_rgba(255,255,255,0.05)] transition-colors duration-500 group-hover:bg-dash-surface-hover",children:[c.jsxs("div",{className:"mb-4 flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"flex-1",children:[c.jsxs("div",{className:"mb-1 flex items-center gap-2",children:[c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-dash-accent/80",children:t.slug.split("-")[0]}),c.jsx("span",{className:"h-1 w-1 rounded-full bg-dash-border"}),c.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.1em] text-dash-text-muted",children:r("plansPhaseCountCompact").replace("{count}",String(s.totalPhases))})]}),c.jsx("h3",{className:"text-base font-semibold tracking-tight text-dash-text group-hover:text-dash-accent transition-colors",children:s.title??t.name}),s.description&&!n&&c.jsx("p",{className:"mt-2 text-xs leading-relaxed text-dash-text-muted line-clamp-2",children:s.description})]}),c.jsxs("div",{className:"flex flex-col items-end gap-2",children:[c.jsx("span",{className:`rounded-full px-2.5 py-0.5 text-[10px] font-bold uppercase tracking-wider ${UB[i]}`,children:r(GB[i])}),c.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-dash-bg/50 border border-white/5 text-dash-text-muted transition-all duration-500 group-hover:translate-x-1 group-hover:-translate-y-1 group-hover:bg-dash-accent group-hover:text-white",children:c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:"h-4 w-4",children:[c.jsx("line",{x1:"7",y1:"17",x2:"17",y2:"7"}),c.jsx("polyline",{points:"7 7 17 7 17 17"})]})})]})]}),c.jsxs("div",{className:"mt-auto space-y-4",children:[c.jsxs("div",{className:"group/progress relative",children:[c.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[c.jsx("span",{className:"text-[10px] font-medium text-dash-text-muted uppercase tracking-wider",children:r("kanbanProgress")}),c.jsxs("span",{className:"text-[10px] font-bold text-dash-text",children:[s.progressPct,"%"]})]}),c.jsx("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-dash-bg shadow-[inset_0_1px_2px_rgba(0,0,0,0.2)]",children:c.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-dash-accent/80 to-dash-accent transition-all duration-1000 ease-[cubic-bezier(0.32,0.72,0,1)]",style:{width:`${s.progressPct}%`}})})]}),c.jsxs("div",{className:"flex items-center justify-between border-t border-white/5 pt-4",children:[c.jsxs("div",{className:"flex gap-4",children:[c.jsxs("div",{className:"flex flex-col",children:[c.jsx("span",{className:"text-[9px] uppercase tracking-widest text-dash-text-muted",children:r("plansPriority")}),c.jsx("span",{className:"text-xs font-semibold text-dash-text",children:s.priority??"—"})]}),c.jsxs("div",{className:"flex flex-col",children:[c.jsx("span",{className:"text-[9px] uppercase tracking-widest text-dash-text-muted",children:r("plansUpdated")}),c.jsx("span",{className:"text-xs font-semibold text-dash-text",children:qB(s.lastModified)})]})]}),!n&&s.tags.length>0&&c.jsx("div",{className:"flex -space-x-2",children:s.tags.slice(0,3).map((o,a)=>c.jsx("div",{className:"flex h-5 items-center rounded-full border border-dash-border bg-dash-surface px-2 text-[9px] font-medium text-dash-text-muted ring-2 ring-dash-surface",style:{zIndex:10-a},children:o},o))})]})]})]})})}const YB=[{status:"pending",color:"bg-amber-400/80",labelKey:"plansStatusPending"},{status:"in-progress",color:"bg-sky-400/80",labelKey:"plansStatusInProgress"},{status:"in-review",color:"bg-violet-400/80",labelKey:"plansStatusInReview"},{status:"done",color:"bg-emerald-400/80",labelKey:"plansStatusDone"},{status:"cancelled",color:"bg-rose-400/80",labelKey:"plansStatusCancelled"}];function XB({plans:t,onSelect:e}){const{t:n}=re();return c.jsx("div",{className:"grid h-full w-full gap-6 lg:grid-cols-3 xl:grid-cols-5",children:YB.map((r,s)=>{const i=t.filter(o=>(o.summary.status??"pending")===r.status);return c.jsx("div",{className:"group/col flex flex-col rounded-[2.5rem] bg-dash-border/10 p-2 transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)] hover:bg-dash-border/20",style:{animation:`fade-in-up 0.8s cubic-bezier(0.32,0.72,0,1) ${s*.1}s both`},children:c.jsxs("section",{className:"flex flex-1 flex-col rounded-[calc(2.5rem-0.5rem)] border border-white/5 bg-dash-bg/40 p-3 shadow-2xl backdrop-blur-sm",children:[c.jsxs("header",{className:"mb-6 flex items-center justify-between px-2 pt-2",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("div",{className:`h-2.5 w-2.5 rounded-full ${r.color} shadow-[0_0_12px_rgba(255,255,255,0.1)]`}),c.jsx("h2",{className:"text-xs font-bold uppercase tracking-[0.15em] text-dash-text",children:n(r.labelKey)})]}),c.jsx("div",{className:"flex h-6 min-w-[1.5rem] items-center justify-center rounded-full bg-dash-border px-2 text-[10px] font-bold text-dash-text-muted transition-colors group-hover/col:bg-dash-accent group-hover/col:text-white",children:i.length})]}),c.jsx("div",{className:"space-y-4 overflow-y-auto px-1 pb-4 scrollbar-hide",children:i.length>0?i.map(o=>c.jsx(sS,{plan:o,compact:!0,onClick:()=>e(o)},o.slug)):c.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center opacity-20",children:[c.jsx("div",{className:"mb-2 h-1 w-8 rounded-full bg-dash-border"}),c.jsx("p",{className:"text-[10px] font-medium uppercase tracking-widest text-dash-text-muted",children:n("plansKanbanEmpty")})]})})]})},r.status)})})}function QB(t){const{t:e}=re();return c.jsxs("div",{className:"grid gap-3 rounded-xl border border-dash-border bg-dash-surface p-4 lg:grid-cols-[minmax(0,1fr)_auto_auto_auto]",children:[c.jsx("input",{type:"search",value:t.searchQuery,onChange:n=>t.onSearchQueryChange(n.target.value),placeholder:e("plansSearch"),className:"rounded-lg border border-dash-border bg-dash-bg px-3 py-2 text-sm text-dash-text outline-none transition focus:border-dash-accent/60"}),c.jsxs("select",{value:t.statusFilter,onChange:n=>t.onStatusFilterChange(n.target.value),className:"rounded-lg border border-dash-border bg-dash-bg px-3 py-2 text-sm text-dash-text",children:[c.jsx("option",{value:"all",children:e("plansFilterAll")}),c.jsx("option",{value:"pending",children:e("plansStatusPending")}),c.jsx("option",{value:"in-progress",children:e("plansStatusInProgress")}),c.jsx("option",{value:"in-review",children:e("plansStatusInReview")}),c.jsx("option",{value:"done",children:e("plansStatusDone")}),c.jsx("option",{value:"cancelled",children:e("plansStatusCancelled")})]}),c.jsxs("select",{value:t.sortBy,onChange:n=>t.onSortByChange(n.target.value),className:"rounded-lg border border-dash-border bg-dash-bg px-3 py-2 text-sm text-dash-text",children:[c.jsx("option",{value:"date-desc",children:e("plansSortDateDesc")}),c.jsx("option",{value:"date-asc",children:e("plansSortDateAsc")}),c.jsx("option",{value:"name-asc",children:e("plansSortNameAsc")}),c.jsx("option",{value:"name-desc",children:e("plansSortNameDesc")}),c.jsx("option",{value:"progress-desc",children:e("plansSortProgress")})]}),c.jsx("div",{className:"inline-flex rounded-lg border border-dash-border bg-dash-bg p-1",children:["grid","kanban"].map(n=>c.jsx("button",{type:"button",onClick:()=>t.onViewModeChange(n),className:["rounded-md px-3 py-1.5 text-sm transition",t.viewMode===n?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:text-dash-text"].join(" "),children:e(n==="grid"?"plansViewGrid":"plansViewKanban")},n))})]})}function JB(t){const[e,n]=g.useState([]),[r,s]=g.useState(!0),[i,o]=g.useState(null),a=g.useCallback(async()=>{s(!0),o(null);try{const l=await fetch(`/api/plan/list?dir=${encodeURIComponent(t)}&limit=500&offset=0`);if(!l.ok)throw new Error(`Failed to load plans (${l.status})`);const d=await l.json();n(d.plans??[])}catch(l){o(l instanceof Error?l.message:"Failed to load plans")}finally{s(!1)}},[t]);return g.useEffect(()=>{a()},[a]),{plans:e,loading:r,error:i,reload:a}}function ZB(){const{t}=re(),e=Pt(),[n]=rl(),r=n.get("dir")??"plans",{plans:s,loading:i,error:o}=JB(r),[a,l]=g.useState(""),[d,u]=g.useState(()=>localStorage.getItem("ck-plans-view")??"grid"),[h,f]=g.useState("date-desc"),[p,m]=g.useState("all"),x=g.useMemo(()=>{const k=a.trim().toLowerCase();return[...s].filter(v=>p==="all"?!0:(v.summary.status??"pending")===p).filter(v=>k?[v.summary.title,v.summary.description,v.summary.tags.join(" ")].filter(Boolean).join(" ").toLowerCase().includes(k):!0).sort((v,w)=>{switch(h){case"name-asc":return(v.summary.title??v.name).localeCompare(w.summary.title??w.name);case"name-desc":return(w.summary.title??w.name).localeCompare(v.summary.title??v.name);case"date-asc":return(v.summary.lastModified??"").localeCompare(w.summary.lastModified??"");case"progress-desc":return w.summary.progressPct-v.summary.progressPct;default:return(w.summary.lastModified??"").localeCompare(v.summary.lastModified??"")}})},[s,a,h,p]),b=k=>e(`/plans/${encodeURIComponent(k)}?dir=${encodeURIComponent(r)}`),y=k=>{localStorage.setItem("ck-plans-view",k),u(k)};return c.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-auto",children:[c.jsxs("header",{children:[c.jsx("p",{className:"text-xs uppercase tracking-[0.2em] text-dash-text-muted",children:t("toolsSection")}),c.jsx("h1",{className:"mt-2 text-2xl font-semibold text-dash-text",children:t("plansTitle")}),c.jsx("p",{className:"mt-2 text-sm text-dash-text-muted",children:t("plansSubtitle")})]}),c.jsx(QB,{searchQuery:a,viewMode:d,sortBy:h,statusFilter:p,onSearchQueryChange:l,onViewModeChange:y,onSortByChange:f,onStatusFilterChange:m}),i&&c.jsx("p",{className:"text-sm text-dash-text-muted",children:t("loading")}),o&&c.jsx("p",{className:"rounded-lg border border-red-500/30 bg-red-500/10 p-4 text-sm text-red-300",children:o}),!i&&!o&&x.length===0&&c.jsx("p",{className:"rounded-xl border border-dash-border bg-dash-surface p-8 text-sm text-dash-text-muted",children:t("plansEmpty")}),!i&&!o&&x.length>0&&d==="grid"&&c.jsx("div",{className:"grid gap-4 xl:grid-cols-3",children:x.map(k=>c.jsx(sS,{plan:k,onClick:()=>b(k.slug)},k.slug))}),!i&&!o&&x.length>0&&d==="kanban"&&c.jsx(XB,{plans:x,onSelect:k=>b(k.slug)})]})}const e_=()=>{const{t}=re(),e=Pt(),{projectId:n}=tl(),[r,s]=g.useState(null),{sizes:i,isDragging:o,startDrag:a}=sm({storageKey:"claudekit-project-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),l=g.useCallback(async()=>{if(!n)throw new Error("No project ID");const[x,b,y]=await Promise.all([Ox("project",n),Ox("global"),_v()]),k=y.find(v=>v.id===n);return k&&s(k.path),{...x,global:b.config??{}}},[n]),d=g.useCallback(async x=>n?(await X2({scope:"project",projectId:n,config:x})).config:void 0,[n]),u=Y2({scope:"project",fetchConfig:l,fetchSchema:Q2,saveConfig:d}),h=g.useCallback(x=>{const b=Uh(u.config,x),y=Uh(u.globalConfig,x);return b!==void 0&&y!==void 0&&b!==y},[u.config,u.globalConfig]),f=g.useMemo(()=>[{id:"paths",title:t("sectionPaths"),fields:[{path:"paths.docs",label:t("fieldDocsPath"),description:t("fieldDocsPathDesc")},{path:"paths.plans",label:t("fieldPlansPath"),description:t("fieldPlansPathDesc")}]},{id:"project",title:t("sectionProject"),fields:[{path:"project.type",label:t("fieldProjectType"),description:t("fieldProjectTypeDesc")},{path:"project.packageManager",label:t("fieldPackageManager"),description:t("fieldPackageManagerDesc")},{path:"project.framework",label:t("fieldFramework"),description:t("fieldFrameworkDesc")}]},{id:"privacy",title:t("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:t("fieldPrivacyBlock"),description:t("fieldPrivacyBlockDesc")}]},{id:"advanced",title:t("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:t("fieldDocsMaxLoc"),description:t("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:t("fieldPlanNamingFormat"),description:t("fieldPlanNamingFormatDesc")}]}],[t]),p=u.activeFieldPath&&h(u.activeFieldPath)?c.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-1.5 py-0.5 rounded font-bold border border-orange-500/30",children:t("localOverride")}):null,m=u.fieldDoc?c.jsxs("section",{className:"bg-blue-500/5 p-3 rounded-lg border border-blue-500/20",children:[c.jsx("h4",{className:"text-[10px] font-bold text-blue-500 uppercase tracking-widest mb-1",children:t("inheritedFromGlobal")}),c.jsxs("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:[t("viewGlobalConfig")," ",c.jsx("button",{onClick:()=>e("/config/global"),className:"text-dash-accent hover:underline font-medium",children:t("globalConfig")})]})]}):null;return c.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[c.jsx(Yv,{title:t("projectConfig"),filePath:r?`${r}/.claude/.ck.json`:".claude/.ck.json",onBack:()=>e(`/project/${n}`),onSave:u.handleSave,onReset:u.handleReset,saveStatus:u.saveStatus,syntaxError:u.syntaxError,showResetConfirm:u.showResetConfirm,setShowResetConfirm:u.setShowResetConfirm}),c.jsxs("div",{className:"flex-1 flex min-h-0",children:[c.jsx(Zv,{width:i[0],isLoading:u.isLoading,schema:u.schema,config:u.config,sources:u.sources,sections:f,onChange:u.handleFormChange,onFieldFocus:u.setFocusedFieldPath}),c.jsx(xn,{direction:"horizontal",isDragging:o,onMouseDown:x=>a(0,x)}),c.jsx(rm,{width:i[1],isLoading:u.isLoading,jsonText:u.jsonText,cursorLine:u.cursorLine,syntaxError:u.syntaxError,onChange:u.handleJsonChange,onEditorFocus:u.handleJsonEditorFocus,onCursorLineChange:u.setCursorLine}),c.jsx(xn,{direction:"horizontal",isDragging:o,onMouseDown:x=>a(1,x)}),c.jsx(q2,{width:i[2],fieldDoc:u.fieldDoc,activeFieldPath:u.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},cn="__global__",t_=({project:t})=>{const{t:e}=re(),n=Pt(),{skills:r,loading:s}=h4(),{sessions:i,loading:o}=f4(t.id),[a,l]=g.useState(null),[d,u]=g.useState(!0),[h,f]=g.useState(null),[p,m]=g.useState(cn),[x,b]=g.useState(cn),y=async(P,L)=>{try{await i4(P,t.path,L,t.id)}catch(_){alert(`${e("actionFailed")}: ${_ instanceof Error?_.message:P}`)}},k=g.useCallback(()=>{const P=new AbortController;return u(!0),f(null),s4(t.id,P.signal).then(L=>{l(L),m(L.preferences.project.terminalApp||cn),b(L.preferences.project.editorApp||cn)}).catch(L=>{L instanceof DOMException&&L.name==="AbortError"||(l(null),m(cn),b(cn),f(e("actionOptionsLoadFailed")))}).finally(()=>{P.signal.aborted||u(!1)}),P},[t.id,e]);g.useEffect(()=>{const P=k();return()=>{P.abort()}},[k]);const v=r.filter(P=>t.skills.includes(P.id)),w=a?.terminals||[],C=a?.editors||[],j=w.find(P=>P.id===a?.defaults.terminalApp)?.label||a?.defaults.terminalApp,S=C.find(P=>P.id===a?.defaults.editorApp)?.label||a?.defaults.editorApp,E=g.useMemo(()=>w.find(P=>p===cn?P.id===a?.defaults.terminalApp:P.id===p),[w,p,a?.defaults.terminalApp]),O=g.useMemo(()=>C.find(P=>x===cn?P.id===a?.defaults.editorApp:P.id===x),[C,x,a?.defaults.editorApp]),A=async(P,L)=>{if(!t.id.startsWith("discovered-"))try{await Fv(t.id,{preferences:{[P]:L===cn?null:L}})}catch(_){const N=_ instanceof Error?_.message:"Failed to save preference";alert(`${e("actionFailed")}: ${N}`)}};return c.jsxs("div",{className:"animate-in fade-in slide-in-from-bottom-2 duration-500 transition-colors flex flex-col h-full",children:[c.jsx("section",{className:"mb-6 shrink-0",children:c.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-4",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[c.jsx("h1",{className:"text-3xl font-bold tracking-tight text-dash-text",children:t.name}),c.jsx(n_,{status:t.health}),c.jsx(GA,{variant:"beta"})]}),c.jsxs("p",{className:"text-dash-text-secondary mono text-sm flex items-center gap-2 italic",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})}),t.path]})]}),c.jsx("div",{className:"flex items-center gap-3",children:c.jsx("span",{className:"text-[10px] text-dash-text-muted font-bold uppercase tracking-widest bg-dash-surface border border-dash-border px-2 py-1 rounded",children:i.length>0?`${i.length} ${e("sessions")}`:e("noSessions")})})]})}),c.jsxs("section",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-6 shrink-0",children:[h?c.jsxs("div",{className:"col-span-2 md:col-span-4 rounded-lg border border-orange-500/30 bg-orange-500/5 px-3 py-2 text-xs text-orange-700 dark:text-orange-300 flex items-center justify-between gap-3",children:[c.jsx("span",{children:h}),c.jsx("button",{onClick:()=>void k(),className:"rounded border border-orange-500/40 px-2 py-1 font-semibold hover:bg-orange-500/10 transition-colors",children:e("tryAgain")})]}):null,c.jsx(zb,{icon:"📟",label:e("terminal"),sub:E?`${E.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${E.label}`:e("terminalSub"),onClick:()=>y("terminal",p===cn?void 0:p),disabled:d||!E&&w.length>0,options:w,value:p,fallbackLabel:a?`${e("useGlobalFallback")} (${j})`:e("useGlobalFallback"),onChange:async P=>{m(P),await A("terminalApp",P)}}),c.jsx(zb,{icon:"💻",label:e("editor"),sub:O?`${O.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${O.label}`:e("editorSub"),onClick:()=>y("editor",x===cn?void 0:x),disabled:d||!O&&C.length>0,options:C,value:x,fallbackLabel:a?`${e("useGlobalFallback")} (${S})`:e("useGlobalFallback"),onChange:async P=>{b(P),await A("editorApp",P)}}),c.jsx(Gf,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>y("launch")}),c.jsx(Gf,{icon:"⚙️",label:e("config"),sub:e("configSub"),onClick:()=>n(`/config/project/${t.id}`)})]}),c.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 flex-1 min-h-0",children:[c.jsx("div",{className:"lg:col-span-2 flex flex-col gap-6 min-h-0",children:c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden shadow-sm flex-1 flex flex-col min-h-0",children:[c.jsx("div",{className:"px-4 py-3 border-b border-dash-border flex items-center justify-between bg-dash-surface-hover/50 shrink-0",children:c.jsx("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest",children:e("recentSessions")})}),c.jsx("div",{className:"divide-y divide-dash-border overflow-y-auto flex-1",children:o?c.jsx("div",{className:"p-4 text-center text-dash-text-muted animate-pulse",children:e("loadingSessions")}):i.length===0?c.jsx("div",{className:"p-4 text-center text-dash-text-muted",children:e("noSessionsFound")}):i.map(P=>c.jsxs("button",{type:"button",className:"w-full text-left p-4 hover:bg-dash-surface-hover transition-colors group cursor-pointer",onClick:()=>n(`/sessions/${t.id}/${P.id}`),children:[c.jsxs("div",{className:"flex items-center justify-between mb-1",children:[c.jsx("span",{className:"text-xs font-bold text-dash-accent",children:P.timestamp}),c.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium group-hover:text-dash-text-secondary transition-colors",children:P.duration})]}),c.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed truncate",children:P.summary})]},P.id))})]})}),c.jsxs("div",{className:"flex flex-col gap-6 min-h-0",children:[c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl p-6 shadow-sm shrink-0",children:[c.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest mb-4 flex items-center gap-2",children:[e("configuration"),c.jsx("span",{className:"text-[10px] font-normal text-dash-text-muted normal-case",children:e("globalSettings")})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsx(ac,{label:e("activeKit"),value:t.kitType}),c.jsx(ac,{label:e("aiModel"),value:t.model}),c.jsx(ac,{label:e("hooks"),value:`${t.activeHooks} ${e("active")}`}),c.jsx(ac,{label:e("mcpServers"),value:`${t.mcpServers} ${e("connected")}`})]}),c.jsx("button",{onClick:()=>n(`/config/project/${t.id}`),className:"w-full mt-6 py-2 rounded-lg bg-dash-bg text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:e("editProjectConfig")})]}),c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl shadow-sm flex flex-col flex-1 min-h-0",children:[c.jsx("div",{className:"p-4 pb-2 border-b border-dash-border shrink-0",children:c.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest flex items-center justify-between",children:[e("globalSkills"),c.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded-full",children:s?"...":r.length})]})}),c.jsx("div",{className:"overflow-y-auto flex-1 px-4 py-2 space-y-2",children:s?c.jsx("div",{className:"text-center text-dash-text-muted animate-pulse py-4",children:e("loadingSkills")}):(v.length>0?v:r).map(P=>c.jsxs("div",{className:"flex flex-col gap-0.5 border-l-2 border-dash-accent/20 pl-3 py-1",children:[c.jsx("span",{className:"text-sm font-semibold text-dash-text",children:P.name}),c.jsx("p",{className:"text-[10px] text-dash-text-muted leading-tight line-clamp-1",children:P.description||e("noDescription")})]},P.id))}),c.jsx("div",{className:"p-4 pt-2 border-t border-dash-border shrink-0",children:c.jsxs("a",{href:"https://kits.vibery.app/",target:"_blank",rel:"noopener noreferrer",className:"text-xs font-bold text-dash-text-muted hover:text-dash-accent transition-colors text-center block",children:[e("browseSkillsMarketplace")," →"]})})]})]})]})]})},n_=({status:t})=>{const e={[_r.HEALTHY]:"bg-dash-accent-subtle text-dash-accent border-dash-accent/20",[_r.WARNING]:"bg-orange-500/10 text-orange-600 border-orange-500/20",[_r.ERROR]:"bg-red-500/10 text-red-600 border-red-500/20",[_r.LOADING]:"bg-dash-border/20 text-dash-text-muted border-dash-border",[_r.UNKNOWN]:"bg-dash-border/20 text-dash-text-muted border-dash-border"};return c.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-bold border uppercase tracking-widest ${e[t]}`,children:t})},zb=({icon:t,label:e,sub:n,disabled:r,options:s,value:i,fallbackLabel:o,onClick:a,onChange:l})=>c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(Gf,{icon:t,label:e,sub:n,onClick:a,disabled:r}),c.jsxs("select",{value:i,onChange:d=>void l(d.target.value),className:"w-full rounded-md border border-dash-border bg-dash-surface px-2 py-1 text-xs text-dash-text-secondary",children:[c.jsx("option",{value:cn,children:o}),s.map(d=>c.jsx("option",{value:d.id,disabled:!d.available,children:`${d.label} • ${d.detected?"Detected":"Not detected"}`},d.id))]})]}),Gf=({icon:t,label:e,sub:n,highlight:r,onClick:s,disabled:i})=>c.jsxs("button",{onClick:s,disabled:i,className:`p-4 rounded-xl border flex flex-col gap-1 transition-all group ${r?"bg-dash-accent-subtle border-dash-accent/30 hover:bg-dash-accent-glow hover:border-dash-accent/50 shadow-sm shadow-dash-accent/5":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-text-muted shadow-sm"} ${i?"opacity-50 cursor-not-allowed":""}`,children:[c.jsx("span",{className:"text-2xl mb-1 group-hover:scale-110 transition-transform",children:t}),c.jsx("span",{className:"text-sm font-bold text-dash-text",children:e}),c.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium truncate italic",children:n})]}),ac=({label:t,value:e})=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-1.5 border-b border-dash-border/50 last:border-0",children:[c.jsx("span",{className:"text-dash-text-muted font-medium",children:t}),c.jsx("span",{className:"text-dash-text font-bold mono uppercase text-[10px] tracking-tight",children:e})]}),r_=()=>{const{t}=re(),{project:e}=Lj();return e?c.jsx(t_,{project:e}):c.jsxs("div",{className:"flex flex-col items-center justify-center h-full space-y-4 opacity-50",children:[c.jsx("div",{className:"w-16 h-16 rounded-full bg-dash-surface border border-dash-border flex items-center justify-center",children:c.jsx("span",{className:"text-2xl text-dash-text-muted",children:"📂"})}),c.jsx("p",{className:"text-lg text-dash-text-secondary font-bold",children:t("selectProject")})]})},s_={Bash:{colorClass:"text-purple-500 dark:text-purple-400",bgClass:"bg-gray-100 dark:bg-[#1a1b26]"},Read:{colorClass:"text-blue-400",bgClass:"bg-blue-500/5"},Write:{colorClass:"text-emerald-400",bgClass:"bg-emerald-500/5"},Edit:{colorClass:"text-amber-400",bgClass:"bg-amber-500/5"},MultiEdit:{colorClass:"text-amber-400",bgClass:"bg-amber-500/5"},Grep:{colorClass:"text-cyan-400",bgClass:"bg-cyan-500/5"},Glob:{colorClass:"text-cyan-400",bgClass:"bg-cyan-500/5"},Agent:{colorClass:"text-violet-400",bgClass:"bg-violet-500/5"},WebSearch:{colorClass:"text-indigo-400",bgClass:"bg-indigo-500/5"},WebFetch:{colorClass:"text-indigo-400",bgClass:"bg-indigo-500/5"},Skill:{colorClass:"text-pink-400",bgClass:"bg-pink-500/5"}},i_={colorClass:"text-dash-text-muted",bgClass:"bg-dash-bg/50"};function o_(t,e){return t.length<=e?t:`${t.slice(0,e)}…`}function a_(t){try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}const l_=({toolName:t,toolInput:e,result:n,isError:r=!1,skillName:s})=>{const{t:i}=re(),[o,a]=g.useState(!1),l=s_[t]??i_,d=t==="Bash",u=t==="Skill"&&s,h=n?o_(n.trim(),80):null;return c.jsxs("div",{className:`rounded-lg border overflow-hidden ${u?"border-pink-500/20 bg-pink-500/5":`border-dash-border ${l.bgClass}`}`,children:[c.jsxs("button",{type:"button",onClick:()=>a(f=>!f),className:"flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-white/5 transition-colors","aria-expanded":o,children:[c.jsx("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:`shrink-0 transition-transform duration-150 ${o?"rotate-90":""}`,children:c.jsx("path",{d:"M6 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),u?c.jsxs(c.Fragment,{children:[c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0 text-pink-500 dark:text-pink-400",children:c.jsx("path",{d:"M8.5 1.5L3 9h4.5l-1 5.5L13 7H8.5l1-5.5z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})}),c.jsx("span",{className:"font-semibold text-sm text-pink-600 dark:text-pink-400",children:"Skill:"}),c.jsx("span",{className:"font-mono text-sm text-pink-600 dark:text-pink-400",children:s})]}):c.jsx("span",{className:`font-mono font-semibold text-sm ${l.colorClass}`,children:t}),!o&&h&&c.jsx("span",{className:"ml-2 truncate text-xs text-dash-text-muted",children:h})]}),o&&c.jsxs("div",{className:"border-t border-dash-border/50 flex flex-col gap-0",children:[e&&c.jsxs("div",{className:"px-3 py-2",children:[c.jsx("div",{className:"mb-1 text-[10px] uppercase tracking-wider text-dash-text-muted",children:i("sessionToolInput")}),c.jsx("pre",{className:"max-h-48 overflow-y-auto whitespace-pre-wrap break-words rounded text-xs text-dash-text",children:a_(e)})]}),n&&c.jsxs("div",{className:`px-3 py-2 ${e?"border-t border-dash-border/30":""}`,children:[c.jsx("div",{className:"mb-1 text-[10px] uppercase tracking-wider text-dash-text-muted",children:i("sessionToolResult")}),c.jsx("pre",{className:`max-h-64 overflow-y-auto whitespace-pre-wrap break-words rounded text-xs ${d?"bg-gray-100 dark:bg-[#1a1b26] px-2 py-1.5 text-gray-800 dark:text-[#9ece6a] font-mono":r?"border border-red-500/30 bg-red-500/5 px-2 py-1.5 text-red-400":"text-dash-text"}`,children:n})]})]})]})};function c_(t){const e=[];for(const r of t.matchAll(/<command-name>\/?(.+?)<\/command-name>/g))e.push(r[1].trim());for(const r of t.matchAll(/^###\s+Skill:\s+(.+?)$/gm))e.push(r[1].trim());for(const r of t.matchAll(/Launching skill:\s+(\S+)/g))e.push(r[1].trim());if(/Base directory for this skill:/i.test(t)){const r=t.match(/^#\s+(.+?)(?:\s*[-—]|$)/m);r&&e.push(r[1].trim())}const n=new Set;return e.filter(r=>{const s=r.toLowerCase();return n.has(s)?!1:(n.add(s),!0)})}function iS(t){return t.replace(/<command-message>[\s\S]*?<\/command-message>\s*/g,"").replace(/<command-name>[\s\S]*?<\/command-name>\s*/g,"").replace(/<command-args>[\s\S]*?<\/command-args>\s*/g,"").replace(/^Base directory for this skill:.*$/gm,"").replace(/^<!--.*?-->\s*$/gm,"").replace(/^\n+/,"").trim()}function d_(t){const e=t.match(/<command-args>([\s\S]*?)<\/command-args>/),n=e?e[1].trim():null,r=t.indexOf("Base directory for this skill:"),s=r!==-1?t.slice(r):t;return[n,iS(s)]}function u_(t){if(!t)return null;try{const e=JSON.parse(t);return typeof e.skill=="string"?e.skill:null}catch{return null}}function h_({name:t}){return c.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 mr-2 rounded border border-pink-500/30 bg-pink-500/10 text-pink-600 dark:text-pink-400 text-xs font-semibold align-middle",children:[c.jsx("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0",children:c.jsx("path",{d:"M8.5 1.5L3 9h4.5l-1 5.5L13 7H8.5l1-5.5z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})}),"Skill: ",t]})}function qf({name:t,text:e}){const n=e.split(`
267
+ `).length;return c.jsxs("details",{className:"rounded-lg border border-pink-500/20 bg-pink-500/5 dark:bg-pink-500/5 overflow-hidden",children:[c.jsxs("summary",{className:"flex cursor-pointer select-none items-center gap-1.5 px-3 py-2 text-sm text-pink-600 dark:text-pink-400 hover:text-pink-500 dark:hover:text-pink-300",children:[c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0",children:c.jsx("path",{d:"M8.5 1.5L3 9h4.5l-1 5.5L13 7H8.5l1-5.5z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})}),c.jsx("span",{className:"font-semibold",children:"Skill:"}),c.jsx("span",{className:"font-mono",children:t}),c.jsxs("span",{className:"ml-auto shrink-0 text-[10px] text-pink-500/50 dark:text-pink-400/40",children:[n," lines"]})]}),c.jsx("div",{className:"max-h-64 overflow-y-auto border-t border-pink-500/10 px-3 pb-3 pt-2",children:c.jsx(Is,{content:e})})]})}function f_({text:t}){const{t:e}=re();return c.jsxs("details",{className:"rounded-lg border border-dash-border bg-dash-bg/50",children:[c.jsxs("summary",{className:"flex cursor-pointer select-none items-center gap-1.5 px-3 py-2 text-sm text-dash-text-muted hover:text-dash-text",children:[c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0 opacity-60",children:c.jsx("path",{d:"M8 2C5.8 2 4 3.8 4 6c0 .8.2 1.5.6 2.1C3.6 8.6 3 9.7 3 11c0 1.7 1.1 3 2.5 3H8h2.5c1.4 0 2.5-1.3 2.5-3 0-1.3-.6-2.4-1.6-2.9.4-.6.6-1.3.6-2.1 0-2.2-1.8-4-4-4z",fill:"currentColor",opacity:"0.5"})}),c.jsx("span",{children:e("sessionThinking")})]}),c.jsx("pre",{className:"max-h-48 overflow-y-auto whitespace-pre-wrap break-words px-3 pb-3 pt-1 text-sm text-dash-text-muted",children:t})]})}function p_(t){const e=t.split(/^###\s+Skill:\s+/m);return e.length<=1?[]:e.slice(1).map(n=>{const r=n.indexOf(`
268
+ `),s=r!==-1?n.slice(0,r).trim():n.trim(),i=r!==-1?iS(n.slice(r+1)):"";return{name:s,content:i}})}function m_(t){const e=t.match(/^\[([a-z-]+)\]\n([\s\S]*)$/);return e?{tag:e[1],content:e[2]}:{tag:"",content:t}}const g_={"task-notification":"Task Notification","system-reminder":"System Context","local-command-stdout":"Command Output","local-command-caveat":"Command Note","antml:thinking":"Thinking"};function x_({text:t}){const{t:e}=re(),{tag:n,content:r}=m_(t),s=p_(r);if(s.length>0)return c.jsx("div",{className:"flex flex-col gap-1.5",children:s.map(o=>c.jsx(qf,{name:o.name,text:o.content},o.name))});if(n==="local-command-stdout"){const o=r.match(/Launching skill:\s+(\S+)/);if(o)return c.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 text-xs text-pink-500/70 dark:text-pink-400/60",children:[c.jsx("svg",{width:"10",height:"10",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0",children:c.jsx("path",{d:"M8.5 1.5L3 9h4.5l-1 5.5L13 7H8.5l1-5.5z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})}),c.jsxs("span",{children:["Launching skill: ",c.jsx("span",{className:"font-mono font-semibold",children:o[1]})]})]})}const i=g_[n]||e("sessionSystemContext");return c.jsxs("details",{className:"rounded-lg border border-dash-border/60 bg-dash-bg/30 overflow-hidden",children:[c.jsxs("summary",{className:"flex cursor-pointer select-none items-center gap-1.5 px-3 py-1.5 text-xs text-dash-text-muted hover:text-dash-text",children:[c.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"shrink-0 opacity-50",children:[c.jsx("circle",{cx:"8",cy:"8",r:"6.5",stroke:"currentColor",strokeWidth:"1.2"}),c.jsx("path",{d:"M8 7v4.5M8 5.5v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]}),c.jsx("span",{children:i})]}),c.jsx("div",{className:"max-h-48 overflow-y-auto border-t border-dash-border/40 px-3 pb-2 pt-1",children:c.jsx("pre",{className:"text-[11px] text-dash-text-muted whitespace-pre-wrap break-words font-mono",children:r})})]})}const b_=20;function y_({text:t}){const[e,n]=g.useState(!1),r=t.split(`
269
+ `),s=r.slice(0,6).join(`
270
+ `);return c.jsxs("div",{"data-search-content":!0,children:[c.jsx(Is,{content:e?t:s}),!e&&c.jsxs("div",{className:"mt-1 text-[10px] text-dash-text-muted",children:["...",r.length-6," more lines"]}),c.jsx("button",{type:"button",onClick:()=>n(i=>!i),className:"mt-1 text-[11px] font-semibold text-dash-accent hover:text-dash-accent-hover transition-colors",children:e?"Collapse":"Expand all"})]})}const v_=({block:t})=>{switch(t.type){case"text":{if(!t.text)return null;const e=c_(t.text);if(e.length>0){const[n,r]=d_(t.text);return n?c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsxs("p",{className:"text-sm text-dash-text leading-relaxed","data-search-content":!0,children:[e.map(s=>c.jsx(h_,{name:s},s)),c.jsx("span",{className:"whitespace-pre-wrap break-words",children:n})]}),r&&c.jsx(qf,{name:e[0],text:r})]}):r?c.jsx("div",{className:"flex flex-col gap-1.5",children:e.map(s=>c.jsx(qf,{name:s,text:r},s))}):null}return t.text.split(`
271
+ `).length>b_?c.jsx(y_,{text:t.text}):c.jsx("div",{"data-search-content":!0,children:c.jsx(Is,{content:t.text})})}case"thinking":return t.text?c.jsx(f_,{text:t.text}):null;case"tool_use":{const e=t.toolName==="Skill"?u_(t.toolInput):null;return c.jsx(l_,{toolName:t.toolName??"Unknown",toolInput:t.toolInput,result:t.result,isError:t.isError,skillName:e??void 0})}case"system":return t.text?c.jsx(x_,{text:t.text}):null;case"tool_result":return null;default:return null}};function w_(t){const e=[];for(const n of t){const r=e[e.length-1];r&&r.role===n.role?r.messages.push(n):e.push({role:n.role,timestamp:n.timestamp??"",messages:[n]})}return e}function k_({group:t}){const{t:e}=re(),n=t.role==="user",r=t.messages.length;return c.jsxs("div",{className:`flex flex-col gap-2 rounded-lg border p-4 ${n?"bg-blue-50/50 dark:bg-blue-900/10 border-blue-200/60 dark:border-blue-800/40":"bg-dash-surface border-dash-border"}`,children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded uppercase tracking-wider ${n?"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300":"bg-dash-accent-subtle text-dash-accent"}`,children:e(n?"sessionUser":"sessionAssistant")}),t.timestamp&&c.jsx("span",{className:"text-[10px] text-dash-text-muted",children:new Date(t.timestamp).toLocaleTimeString()}),r>1&&c.jsxs("span",{className:"text-[10px] text-dash-text-muted ml-auto",children:[r," ",e("sessionGroupMessages")]})]}),t.messages.map((s,i)=>c.jsx("div",{className:"flex flex-col gap-1.5",children:s.contentBlocks.map((o,a)=>c.jsx(v_,{block:o,role:t.role},`${o.type}-${o.toolUseId??a}`))},s.timestamp??`msg-${i}`))]})}const S_=({messages:t})=>{const e=w_(t);return c.jsx("div",{className:"flex flex-col gap-3",children:e.map((n,r)=>c.jsx(k_,{group:n},`group-${n.timestamp||r}`))})},km="data-search-mark",Yf="bg-yellow-300/40 text-dash-text rounded-sm px-0.5",C_="ring-2 ring-dash-accent bg-yellow-300/60";function Oh(t){for(const e of t.querySelectorAll(`mark[${km}]`)){const n=e.parentNode;n&&(n.replaceChild(document.createTextNode(e.textContent??""),e),n.normalize())}}function j_(t,e){const n=e.toLowerCase(),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode(a){const l=a.parentElement;return!l||l.tagName==="MARK"||!l.closest("[data-search-content]")?NodeFilter.FILTER_REJECT:a.textContent?.toLowerCase().includes(n)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),s=[];let i=r.nextNode();for(;i;)s.push(i),i=r.nextNode();let o=0;for(const a of s){const l=a.textContent??"",d=a.parentNode;if(!d)continue;const u=document.createDocumentFragment();let h=0,f=l.toLowerCase().indexOf(n,0);for(;f!==-1;){f>h&&u.appendChild(document.createTextNode(l.slice(h,f)));const p=document.createElement("mark");p.setAttribute(km,""),p.setAttribute("data-match-index",String(o)),p.className=Yf,p.textContent=l.slice(f,f+e.length),u.appendChild(p),o++,h=f+e.length,f=l.toLowerCase().indexOf(n,h)}h<l.length&&u.appendChild(document.createTextNode(l.slice(h))),d.replaceChild(u,a)}return o}const N_=({containerRef:t,visible:e})=>{const{t:n}=re(),[r,s]=g.useState(""),[i,o]=g.useState(""),[a,l]=g.useState(0),[d,u]=g.useState(0),h=g.useRef(null);g.useEffect(()=>{const p=setTimeout(()=>o(r),300);return()=>clearTimeout(p)},[r]),g.useEffect(()=>{e&&h.current?.focus()},[e]),g.useEffect(()=>{const p=t.current;if(!p)return;if(Oh(p),!i.trim()){l(0),u(0);return}const m=j_(p,i.trim());l(m),u(m>0?1:0)},[i,t]),g.useEffect(()=>{const p=t.current;if(!p||a===0)return;const m=p.querySelectorAll(`mark[${km}]`);m.forEach((x,b)=>{x.className=b===d-1?`${Yf} ${C_}`:Yf}),m[d-1]?.scrollIntoView({behavior:"smooth",block:"center"})},[d,a,t]),g.useEffect(()=>{!e&&t.current&&Oh(t.current)},[e,t]),g.useEffect(()=>()=>{t.current&&Oh(t.current)},[t]);const f=g.useCallback(p=>{a!==0&&u(m=>(m-1+p+a)%a+1)},[a]);return e?c.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-dash-border bg-dash-surface",children:[c.jsxs("svg",{className:"w-4 h-4 text-dash-text-muted shrink-0",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("circle",{cx:"11",cy:"11",r:"8"}),c.jsx("path",{d:"m21 21-4.35-4.35"})]}),c.jsx("input",{ref:h,type:"text",value:r,onChange:p=>s(p.target.value),placeholder:n("sessionSearchPlaceholder"),className:"flex-1 bg-dash-bg border border-dash-border rounded-lg px-3 py-1.5 text-sm text-dash-text outline-none focus:border-dash-accent min-w-0"}),c.jsx("span",{className:"text-xs text-dash-text-muted whitespace-nowrap shrink-0",children:a===0?n("sessionNoResults"):`${d}/${a} ${n("sessionSearchResults")}`}),c.jsx("button",{type:"button",onClick:()=>f(-1),disabled:a===0,className:"p-1 rounded hover:bg-dash-hover disabled:opacity-40","aria-label":"previous match",children:c.jsx("svg",{className:"w-4 h-4 text-dash-text",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"m18 15-6-6-6 6"})})}),c.jsx("button",{type:"button",onClick:()=>f(1),disabled:a===0,className:"p-1 rounded hover:bg-dash-hover disabled:opacity-40","aria-label":"next match",children:c.jsx("svg",{className:"w-4 h-4 text-dash-text",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"m6 9 6 6 6-6"})})})]}):null},ds=50;function P_({messageCount:t,toolCallCount:e,duration:n}){const{t:r}=re();return c.jsxs("div",{className:"flex items-center gap-4 px-3 py-2 rounded-lg bg-dash-surface border border-dash-border text-xs text-dash-text-muted",children:[c.jsxs("span",{children:[c.jsx("strong",{className:"text-dash-text",children:t})," ",r("sessionMessages")]}),c.jsxs("span",{children:[c.jsx("strong",{className:"text-dash-text",children:e})," ",r("sessionToolCalls")]}),n&&c.jsxs("span",{children:[r("sessionDuration"),": ",c.jsx("strong",{className:"text-dash-text",children:n})]})]})}function Hb({offset:t,limit:e,total:n,onPrev:r,onNext:s}){const i=t+1,o=Math.min(t+e,n);return n<=e?null:c.jsxs("div",{className:"flex items-center justify-between px-3 py-2 rounded-lg bg-dash-surface border border-dash-border text-xs text-dash-text-muted",children:[c.jsxs("span",{children:[i,"–",o," / ",n]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx("button",{type:"button",onClick:r,disabled:t<=0,className:"px-2 py-1 rounded border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-40 disabled:cursor-not-allowed transition-colors",children:"←"}),c.jsx("button",{type:"button",onClick:s,disabled:o>=n,className:"px-2 py-1 rounded border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-40 disabled:cursor-not-allowed transition-colors",children:"→"})]})]})}const E_=()=>{const{t}=re(),e=Pt(),{projectId:n,sessionId:r}=tl(),s=g.useRef(null),[i,o]=g.useState(!1),[a,l]=g.useState(0),{data:d,loading:u,error:h}=g4(n,r,ds,a),f=d?.summary.messageCount??0,p=!u&&!h&&d&&d.messages.length>0;return c.jsxs("div",{className:"flex flex-col h-full p-6 gap-4 max-w-4xl mx-auto w-full",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("button",{type:"button",onClick:()=>e(`/project/${encodeURIComponent(n??"")}`),className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors shrink-0","aria-label":t("sessionBack"),children:c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("h1",{className:"text-xl font-bold text-dash-text",children:t("sessionDetail")}),c.jsx("p",{className:"text-[10px] text-dash-text-muted font-mono truncate",children:r})]}),p&&c.jsx("button",{type:"button",onClick:()=>o(m=>!m),className:`w-8 h-8 rounded-lg flex items-center justify-center transition-colors shrink-0 ${i?"bg-dash-accent/10 text-dash-accent":"text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text"}`,"aria-label":"Search",children:c.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:t("sessionReadOnly")})]}),u&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-dash-text-muted text-sm",children:t("sessionLoading")}),!u&&h&&c.jsxs("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm",children:[t("sessionError"),": ",h]}),!u&&!h&&d&&d.messages.length===0&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-dash-text-muted text-sm",children:t("noSessionsData")}),p&&c.jsxs(c.Fragment,{children:[c.jsx(P_,{messageCount:d.summary.messageCount,toolCallCount:d.summary.toolCallCount,duration:d.summary.duration}),c.jsx(N_,{containerRef:s,visible:i}),c.jsx(Hb,{offset:a,limit:ds,total:f,onPrev:()=>l(m=>Math.max(0,m-ds)),onNext:()=>l(m=>m+ds)}),c.jsx("div",{ref:s,className:"overflow-y-auto flex-1",children:c.jsx(S_,{messages:d.messages})}),c.jsx(Hb,{offset:a,limit:ds,total:f,onPrev:()=>l(m=>Math.max(0,m-ds)),onNext:()=>l(m=>m+ds)})]})]})},oS="/api";async function O_(){const t=await fetch(`${oS}/skills/browse`);if(!t.ok)throw new Error("Failed to fetch skills browser list");return(await t.json()).skills}async function M_(t){const e=await fetch(`${oS}/skills/browse/${encodeURIComponent(t)}`);if(!e.ok)throw e.status===404?new Error(`Skill "${t}" not found`):new Error("Failed to fetch skill detail");return e.json()}function aS(){const[t,e]=g.useState([]),[n,r]=g.useState(!0),[s,i]=g.useState(null),o=g.useCallback(async()=>{r(!0),i(null);try{const a=await O_();e(a)}catch(a){i(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{skills:t,loading:n,error:s,reload:o}}function D_(t){const[e,n]=g.useState(null),[r,s]=g.useState(!0),[i,o]=g.useState(null),a=g.useCallback(async()=>{s(!0),o(null);try{const l=await M_(t);n(l)}catch(l){o(l instanceof Error?l.message:"Failed to load skill detail")}finally{s(!1)}},[t]);return g.useEffect(()=>{a()},[a]),{detail:e,loading:r,error:i,reload:a}}function A_(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3.5 h-3.5 shrink-0 text-dash-accent",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})}const T_=$e.forwardRef(({skill:t,selected:e,onClick:n},r)=>c.jsxs("button",{ref:r,type:"button",onClick:n,className:["w-full flex items-start gap-2 px-3 py-2 rounded-md transition-colors text-left group",e?"bg-dash-accent/10 border border-dash-accent/30":"hover:bg-dash-surface-hover border border-transparent"].join(" "),children:[c.jsx(A_,{}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[c.jsx("span",{className:"text-sm font-semibold text-dash-accent font-mono",children:t.name}),t.source==="github"&&c.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-medium shrink-0",children:"GitHub"})]}),t.description&&c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5 truncate",children:t.description})]})]})),L_=({name:t})=>{const{t:e}=re(),{detail:n,loading:r,error:s}=D_(t);return r?c.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-dash-text-muted",children:e("loadingSkills")}):s?c.jsx("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm",children:s}):n?c.jsxs("div",{className:"flex flex-col gap-4",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("h2",{className:"text-base font-semibold text-dash-text font-mono truncate flex-1",children:n.name}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:e("sessionReadOnly")})]}),n.description&&c.jsx("div",{className:"rounded-lg border border-dash-border bg-dash-surface px-4 py-3",children:c.jsx("p",{className:"text-sm text-dash-text-muted",children:n.description})}),c.jsx("div",{className:"flex items-center gap-2 text-xs text-dash-text-muted",children:c.jsxs("span",{className:"font-mono px-2 py-0.5 rounded bg-dash-surface border border-dash-border text-dash-accent",children:["~/.claude/skills/",n.name,"/SKILL.md"]})}),n.triggers&&n.triggers.length>0&&c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsxs("span",{className:"text-xs text-dash-text-muted",children:[e("skillTriggers"),":"]}),n.triggers.map(i=>c.jsx("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded bg-dash-surface border border-dash-border text-dash-accent",children:i},i))]}),c.jsx("div",{className:"rounded-lg border border-dash-border bg-dash-surface p-5 overflow-x-auto",children:c.jsx(Is,{content:n.content})})]}):null},R_=({message:t})=>c.jsx("div",{className:"flex items-center justify-center h-full text-sm text-dash-text-muted",children:t});function I_({label:t,count:e}){return c.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5",children:[c.jsx("span",{className:"text-xs font-bold text-dash-text-muted uppercase tracking-wider flex-1",children:t}),c.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold",children:e})]})}const $_=()=>{const{t}=re(),[e]=rl(),{skills:n,loading:r,error:s}=aS(),[i,o]=g.useState(""),[a,l]=g.useState(null),d=g.useRef(new Map);g.useEffect(()=>{const x=e.get("name");if(x&&n.length>0){const b=x.toLowerCase(),y=`ck-${b}`,k=n.find(v=>v.name===x||v.name.toLowerCase()===b||v.name.toLowerCase()===y);k&&(l(k.name),requestAnimationFrame(()=>{const v=d.current.get(k.name);v&&v.scrollIntoView({behavior:"smooth",block:"center"})}))}},[e,n]);const{size:u,isDragging:h,startDrag:f}=Ii({storageKey:"ck-skills-panel-width",defaultSize:380,minSize:260,maxSize:650}),p=g.useMemo(()=>{if(!i.trim())return n;const x=i.toLowerCase();return n.filter(b=>b.name.toLowerCase().includes(x)||b.description?.toLowerCase().includes(x)||b.triggers?.some(y=>y.toLowerCase().includes(x)))},[n,i]),m=g.useMemo(()=>{const x=new Map;for(const b of p){const y=b.source==="github"?"GitHub":t("skillLocal"),k=x.get(y)??[];k.push(b),x.set(y,k)}return x},[p,t]);return c.jsxs("div",{className:"flex h-full overflow-hidden",children:[c.jsxs("div",{style:{width:`${u}px`},className:"shrink-0 flex flex-col overflow-hidden border-r border-dash-border",children:[c.jsxs("div",{className:"shrink-0 px-4 pt-4 pb-3 border-b border-dash-border",children:[c.jsxs("div",{className:"flex items-start justify-between mb-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-base font-bold text-dash-text",children:t("skillsBrowser")}),!r&&!s&&c.jsx("p",{className:"text-xs text-dash-text-muted mt-0.5",children:t("skillsCount").replace("{count}",String(n.length))}),c.jsx("p",{className:"text-[11px] text-dash-text-muted font-mono mt-0.5",children:"~/.claude/skills/"})]}),c.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-dash-accent-subtle text-dash-accent font-semibold shrink-0",children:t("sessionReadOnly")})]}),c.jsxs("div",{className:"relative",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-dash-text-muted pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),c.jsx("input",{type:"text",value:i,onChange:x=>o(x.target.value),placeholder:t("searchSkillsBrowserPlaceholder"),className:"w-full pl-9 pr-4 py-2 text-sm bg-dash-surface border border-dash-border rounded-lg text-dash-text placeholder:text-dash-text-muted focus:outline-none focus:border-dash-accent/50 transition-colors"}),i&&c.jsx("button",{type:"button",onClick:()=>o(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto px-2 py-2",children:[r&&c.jsx("div",{className:"flex flex-1 items-center justify-center text-dash-text-muted text-sm p-8",children:t("loadingSkills")}),!r&&s&&c.jsx("div",{className:"rounded-lg border border-red-300 bg-red-50 dark:bg-red-900/20 p-4 text-red-600 dark:text-red-400 text-sm m-2",children:s}),!r&&!s&&m.size===0&&c.jsx("div",{className:"flex items-center justify-center p-8 text-dash-text-muted text-sm",children:t("noSkillsBrowserFound")}),!r&&!s&&m.size>0&&c.jsx("div",{className:"flex flex-col gap-2 pb-4",children:Array.from(m.entries()).map(([x,b])=>c.jsxs("div",{children:[m.size>1&&c.jsx(I_,{label:x,count:b.length}),c.jsx("div",{className:"space-y-0.5",children:b.map(y=>c.jsx(T_,{ref:k=>{k?d.current.set(y.name,k):d.current.delete(y.name)},skill:y,selected:a===y.name,onClick:()=>l(y.name)},y.name))})]},x))})]})]}),c.jsx(xn,{onMouseDown:f,isDragging:h,direction:"horizontal"}),c.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:a?c.jsx(L_,{name:a}):c.jsx(R_,{message:t("selectToView")})})]})},lS=["model","context","quota","directory","git","cost","changes","agents","todos"],bd={contextLow:"green",contextMid:"yellow",contextHigh:"red",accent:"cyan",muted:"dim",separator:"dim",quotaLow:"green",quotaHigh:"yellow"},B_=[["model","context","quota"],["directory","git","cost","changes"],["agents","todos"]],cS={model:{icon:"🤖"},quota:{icon:"⌛"},directory:{icon:"📁"},git:{icon:"🌿"},cost:{icon:"💰"},changes:{icon:"📝"},agents:{icon:"🔄"},todos:{icon:"✅"}},Ir={baseMode:"full",lines:B_,sectionConfig:cS,theme:bd,responsiveBreakpoint:.85,maxAgentRows:4,todoTruncation:50},__={model:"claude-sonnet-4-6",context:"▰▰▰▰▰▰▱▱▱▱▱▱ 52%",quota:"5h 31% wk 33%",directory:"~/projects/myapp",git:"main (2, +1, 3↑)",cost:"$0.042",changes:"+128 -34",agents:"○ planner ● researcher",todos:"▸ Implement auth (3 done, 4 pending)"},dS={green:"#4ade80",yellow:"#facc15",red:"#f87171",cyan:"#22d3ee",blue:"#60a5fa",magenta:"#e879f9",white:"#f1f5f9",dim:"#64748b",default:"#94a3b8",brightGreen:"#86efac",brightYellow:"#fde68a",brightRed:"#fca5a5",brightCyan:"#67e8f9",brightBlue:"#93c5fd",brightMagenta:"#f0abfc",brightWhite:"#ffffff"},Sm={model:"cyan",directory:"blue",git:"magenta",cost:"dim",changes:"brightYellow",agents:"brightCyan",todos:"brightGreen"},Vb=[{name:"Default",labelKey:"statuslinePresetDefault",theme:bd,sectionColors:Sm},{name:"Monochrome",labelKey:"statuslinePresetMonochrome",theme:{contextLow:"white",contextMid:"white",contextHigh:"white",accent:"white",muted:"dim",separator:"dim",quotaLow:"white",quotaHigh:"white"},sectionColors:{model:"white",directory:"white",git:"white",cost:"dim",changes:"white",agents:"white",todos:"white"}},{name:"Nord",labelKey:"statuslinePresetNord",theme:{contextLow:"brightCyan",contextMid:"blue",contextHigh:"magenta",accent:"brightCyan",muted:"dim",separator:"dim",quotaLow:"brightCyan",quotaHigh:"brightBlue"},sectionColors:{model:"brightCyan",directory:"brightBlue",git:"brightCyan",cost:"dim",changes:"brightYellow",agents:"blue",todos:"brightCyan"}},{name:"Dracula",labelKey:"statuslinePresetDracula",theme:{contextLow:"brightGreen",contextMid:"brightYellow",contextHigh:"brightRed",accent:"brightMagenta",muted:"dim",separator:"dim",quotaLow:"brightCyan",quotaHigh:"brightMagenta"},sectionColors:{model:"brightMagenta",directory:"brightCyan",git:"brightGreen",cost:"dim",changes:"brightYellow",agents:"brightMagenta",todos:"brightGreen"}},{name:"Catppuccin",labelKey:"statuslinePresetCatppuccin",theme:{contextLow:"brightGreen",contextMid:"brightYellow",contextHigh:"red",accent:"brightBlue",muted:"dim",separator:"dim",quotaLow:"brightBlue",quotaHigh:"brightMagenta"},sectionColors:{model:"brightBlue",directory:"brightYellow",git:"brightMagenta",cost:"dim",changes:"brightGreen",agents:"brightBlue",todos:"brightCyan"}},{name:"Gruvbox",labelKey:"statuslinePresetGruvbox",theme:{contextLow:"brightGreen",contextMid:"yellow",contextHigh:"red",accent:"brightYellow",muted:"dim",separator:"dim",quotaLow:"brightYellow",quotaHigh:"red"},sectionColors:{model:"brightYellow",directory:"brightGreen",git:"red",cost:"dim",changes:"yellow",agents:"brightYellow",todos:"brightGreen"}},{name:"Tokyo Night",labelKey:"statuslinePresetTokyoNight",theme:{contextLow:"cyan",contextMid:"brightBlue",contextHigh:"brightMagenta",accent:"brightBlue",muted:"dim",separator:"dim",quotaLow:"brightCyan",quotaHigh:"brightMagenta"},sectionColors:{model:"brightBlue",directory:"cyan",git:"brightMagenta",cost:"dim",changes:"brightCyan",agents:"brightBlue",todos:"brightGreen"}},{name:"Solarized",labelKey:"statuslinePresetSolarized",theme:{contextLow:"green",contextMid:"yellow",contextHigh:"red",accent:"blue",muted:"dim",separator:"dim",quotaLow:"cyan",quotaHigh:"yellow"},sectionColors:{model:"blue",directory:"cyan",git:"green",cost:"dim",changes:"yellow",agents:"blue",todos:"green"}},{name:"Rose Pine",labelKey:"statuslinePresetRosePine",theme:{contextLow:"brightGreen",contextMid:"brightYellow",contextHigh:"brightRed",accent:"magenta",muted:"dim",separator:"dim",quotaLow:"magenta",quotaHigh:"brightRed"},sectionColors:{model:"magenta",directory:"brightBlue",git:"brightMagenta",cost:"dim",changes:"brightYellow",agents:"magenta",todos:"brightGreen"}},{name:"One Dark",labelKey:"statuslinePresetOneDark",theme:{contextLow:"green",contextMid:"brightYellow",contextHigh:"brightRed",accent:"brightCyan",muted:"dim",separator:"dim",quotaLow:"brightCyan",quotaHigh:"brightRed"},sectionColors:{model:"brightCyan",directory:"blue",git:"brightRed",cost:"dim",changes:"brightYellow",agents:"brightCyan",todos:"green"}},{name:"Ayu",labelKey:"statuslinePresetAyu",theme:{contextLow:"brightGreen",contextMid:"brightYellow",contextHigh:"red",accent:"yellow",muted:"dim",separator:"white",quotaLow:"brightYellow",quotaHigh:"red"},sectionColors:{model:"yellow",directory:"brightCyan",git:"brightYellow",cost:"dim",changes:"brightGreen",agents:"yellow",todos:"brightGreen"}},{name:"Kanagawa",labelKey:"statuslinePresetKanagawa",theme:{contextLow:"cyan",contextMid:"brightYellow",contextHigh:"red",accent:"brightMagenta",muted:"dim",separator:"dim",quotaLow:"brightBlue",quotaHigh:"brightMagenta"},sectionColors:{model:"brightMagenta",directory:"cyan",git:"brightYellow",cost:"dim",changes:"brightBlue",agents:"brightMagenta",todos:"cyan"}},{name:"Stealth",labelKey:"statuslinePresetStealth",theme:{contextLow:"dim",contextMid:"dim",contextHigh:"brightRed",accent:"dim",muted:"dim",separator:"dim",quotaLow:"dim",quotaHigh:"brightRed"},sectionColors:{model:"dim",directory:"dim",git:"dim",cost:"dim",changes:"dim",agents:"dim",todos:"dim"}},{name:"Hacker",labelKey:"statuslinePresetHacker",theme:{contextLow:"green",contextMid:"brightGreen",contextHigh:"brightGreen",accent:"brightGreen",muted:"green",separator:"green",quotaLow:"green",quotaHigh:"brightGreen"},sectionColors:{model:"brightGreen",directory:"green",git:"brightGreen",cost:"green",changes:"brightGreen",agents:"green",todos:"brightGreen"}}],F_=({sectionId:t,label:e,config:n,onConfigChange:r,onRemove:s})=>{const{t:i}=re(),[o,a]=g.useState(!1),{attributes:l,listeners:d,setNodeRef:u,transform:h,transition:f,isDragging:p}=Z8({id:t}),m={transform:es.Transform.toString(h),transition:f,opacity:p?.4:1,zIndex:p?50:void 0},x=w=>{r({...n,icon:w.target.value||void 0})},b=w=>{r({...n,label:w.target.value||void 0})},y=w=>{const C=Number.parseInt(w.target.value,10);r({...n,maxWidth:Number.isNaN(C)?void 0:Math.max(10,Math.min(200,C))})},k=n.icon??"",v=n.label??e;return c.jsxs("div",{ref:u,style:m,className:"relative",children:[c.jsxs("div",{className:`group flex items-center gap-1 px-2 py-1 rounded-md border cursor-pointer select-none transition-all ${p?"border-dash-accent bg-dash-accent/20 shadow-lg":"border-dash-border bg-dash-surface hover:border-dash-accent/60 hover:bg-dash-surface-hover"}`,children:[c.jsx("span",{...l,...d,className:"text-dash-text-muted cursor-grab active:cursor-grabbing shrink-0 opacity-50 group-hover:opacity-100 transition-opacity","aria-label":"drag handle",children:"⠿"}),c.jsxs("button",{type:"button",onClick:()=>a(w=>!w),className:"flex items-center gap-1 text-xs text-dash-text min-w-0","aria-label":i(o?"statuslineCollapseSettings":"statuslineExpandSettings"),children:[k&&c.jsx("span",{className:"shrink-0",children:k}),c.jsx("span",{className:"truncate",children:v}),c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:`w-3 h-3 shrink-0 text-dash-text-muted transition-transform ${o?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),s&&c.jsx("button",{type:"button",onClick:w=>{w.stopPropagation(),s()},className:"text-dash-text-muted/40 hover:text-red-400 transition-colors shrink-0","aria-label":"remove section",children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o&&c.jsxs("div",{className:"absolute top-full left-0 z-20 mt-1 w-56 p-3 rounded-lg border border-dash-border bg-dash-surface shadow-xl space-y-2",children:[c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsxs("div",{children:[c.jsx("label",{htmlFor:`chip-icon-${t}`,className:"block text-[10px] font-medium text-dash-text-muted mb-1",children:i("statuslineIconOverride")}),c.jsx("input",{id:`chip-icon-${t}`,type:"text",value:n.icon??"",onChange:x,placeholder:i("statuslineIconPlaceholder"),maxLength:20,className:"w-full text-xs px-2 py-1 rounded border border-dash-border bg-dash-bg text-dash-text placeholder-dash-text-muted focus:outline-none focus:border-dash-accent"})]}),c.jsxs("div",{children:[c.jsx("label",{htmlFor:`chip-label-${t}`,className:"block text-[10px] font-medium text-dash-text-muted mb-1",children:i("statuslineLabelOverride")}),c.jsx("input",{id:`chip-label-${t}`,type:"text",value:n.label??"",onChange:b,placeholder:e,maxLength:50,className:"w-full text-xs px-2 py-1 rounded border border-dash-border bg-dash-bg text-dash-text placeholder-dash-text-muted focus:outline-none focus:border-dash-accent"})]})]}),c.jsxs("div",{children:[c.jsx("label",{htmlFor:`chip-maxwidth-${t}`,className:"block text-[10px] font-medium text-dash-text-muted mb-1",children:i("statuslineMaxWidth")}),c.jsx("input",{id:`chip-maxwidth-${t}`,type:"number",min:10,max:200,value:n.maxWidth??"",onChange:y,placeholder:i("statuslineMaxWidthPlaceholder"),className:"w-full text-xs px-2 py-1 rounded border border-dash-border bg-dash-bg text-dash-text placeholder-dash-text-muted focus:outline-none focus:border-dash-accent"})]}),c.jsx("button",{type:"button",onClick:()=>a(!1),className:"w-full text-[10px] py-0.5 text-dash-text-muted hover:text-dash-text transition-colors",children:i("closeModal")})]})]})},z_={model:"statuslineSectionModelLabel",context:"statuslineSectionContextLabel",quota:"statuslineSectionQuotaLabel",directory:"statuslineSectionDirectoryLabel",git:"statuslineSectionGitLabel",cost:"statuslineSectionCostLabel",changes:"statuslineSectionChangesLabel",agents:"statuslineSectionAgentsLabel",todos:"statuslineSectionTodosLabel"},Wb=({containerId:t,sectionIds:e,sectionConfig:n,onConfigChange:r,onRemoveSection:s,headerLabel:i,onRemove:o,isPool:a=!1})=>{const{t:l}=re(),{setNodeRef:d,isOver:u}=Pk({id:t});return c.jsxs("div",{className:`rounded-lg border transition-colors ${a?"border-dash-border/50 bg-dash-bg/50":u?"border-dash-accent/60 bg-dash-accent/5":"border-dash-border bg-dash-surface"}`,children:[i&&c.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-dash-border/50",children:[c.jsx("span",{className:`text-xs font-medium uppercase tracking-wider ${a?"text-dash-text-muted/70":"text-dash-text-muted"}`,children:i}),o&&c.jsx("button",{type:"button",onClick:o,className:"text-xs text-dash-text-muted hover:text-red-400 transition-colors px-1","aria-label":l("statuslineRemoveLine"),children:l("statuslineRemoveLine")})]}),c.jsx("div",{ref:d,className:"p-2 min-h-[44px]",children:c.jsx(U8,{items:e,strategy:W8,children:c.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.length===0?c.jsx("span",{className:"text-xs text-dash-text-muted/50 italic px-1 py-0.5",children:a?l("statuslineDragToLine"):"—"}):e.map(h=>c.jsx(F_,{sectionId:h,label:l(z_[h]??"statuslineSectionModelLabel"),config:n[h]??{},onConfigChange:f=>r(h,f),onRemove:!a&&s?()=>s(h):void 0},h))})})})]})};function Kb(t,e,n){for(let r=0;r<t.length;r++)if(t[r].includes(n))return`line-${r}`;return e.includes(n)?"pool":null}const H_=({lines:t,sectionConfig:e,onLinesChange:n,onSectionConfigChange:r})=>{const{t:s}=re(),[i,o]=g.useState(null),a=CT(Ix(dm),Ix(lm,{coordinateGetter:nL})),l=new Set(t.flat()),d=lS.filter(b=>!l.has(b)),u=b=>{o(String(b.active.id))},h=b=>{o(null);const{active:y,over:k}=b;if(!k)return;const v=String(y.id),w=String(k.id),C=Kb(t,d,v);let j=Kb(t,d,w);if(j||(w.startsWith("line-")||w==="pool")&&(j=w),!C||!j||v===w)return;const S=t.map(A=>[...A]),E=A=>{if(A==="pool")return[...d];const P=Number.parseInt(A.replace("line-",""),10);return S[P]??[]},O=(A,P)=>{if(A==="pool")return;const L=Number.parseInt(A.replace("line-",""),10);S[L]=P};if(C===j){const A=E(C),P=A.indexOf(v),L=A.indexOf(w);P!==-1&&L!==-1&&O(C,hm(A,P,L))}else{const A=E(C),P=E(j),L=A.filter(D=>D!==v),_=P.indexOf(w),N=_===-1?P.length:_,M=[...P.slice(0,N),v,...P.slice(N)];C!=="pool"&&O(C,L),j!=="pool"&&O(j,M)}n(S)},f=()=>{n([...t,[]])},p=b=>{t[b];const y=t.filter((k,v)=>v!==b);n(y)},m=(b,y)=>{r({...e,[b]:y})},x=(b,y)=>{const k=t.map((v,w)=>w===b?v.filter(C=>C!==y):[...v]);n(k)};return c.jsxs("div",{className:"space-y-2",children:[c.jsx("p",{className:"text-xs text-dash-text-muted px-1",children:s("statuslineDragHint")}),c.jsxs(k8,{sensors:a,collisionDetection:PT,onDragStart:u,onDragEnd:h,children:[c.jsx("div",{className:"space-y-2",children:t.map((b,y)=>c.jsx(Wb,{containerId:`line-${y}`,sectionIds:b,sectionConfig:e,onConfigChange:m,onRemoveSection:k=>x(y,k),headerLabel:`${s("statuslineLine")} ${y+1}`,onRemove:()=>p(y)},`line-zone-${y}`))}),c.jsxs("button",{type:"button",onClick:f,className:"w-full text-xs px-3 py-2 rounded-lg border border-dashed border-dash-border text-dash-text-muted hover:border-dash-accent/60 hover:text-dash-text transition-colors",children:["+ ",s("statuslineAddLine")]}),c.jsxs("div",{className:"pt-0.5",children:[c.jsx("p",{className:"text-xs font-medium text-dash-text-muted uppercase tracking-wider mb-1 px-1",children:s("statuslineHiddenSections")}),c.jsx(Wb,{containerId:"pool",sectionIds:d,sectionConfig:e,onConfigChange:m,isPool:!0})]}),c.jsx(F8,{children:i?c.jsx("div",{className:"px-2 py-1 rounded-md border border-dash-accent bg-dash-accent/20 text-xs text-dash-text shadow-xl opacity-90",children:i}):null})]})]})},Gt=dS;function V_(t){return Gt[t]??Gt.default}const W_=({sectionId:t,config:e,theme:n})=>{const r=__[t]??t,s=e.icon??"";let i=e.color??Sm[t]??n.accent;t==="context"&&!e.color&&(i=n.contextMid),t==="quota"&&!e.color&&(i=n.quotaLow);const o=V_(i),a=e.label?`${s} ${e.label}: ${r}`:s?`${s} ${r}`:r,l=e.maxWidth&&a.length>e.maxWidth?`${a.slice(0,e.maxWidth-1)}…`:a;return c.jsx("span",{className:"font-mono text-xs whitespace-nowrap",style:{color:o},children:l})},K_=c.jsx("span",{className:"font-mono text-xs",style:{color:Gt.dim},children:" │ "}),U_=({sectionIds:t,sectionConfig:e,theme:n})=>{const{t:r}=re();return c.jsx("div",{className:"flex items-center gap-0 py-0.5 px-2 rounded mb-0.5 last:mb-0 overflow-hidden",style:{backgroundColor:"#313244"},children:t.length===0?c.jsx("span",{className:"text-xs font-mono opacity-30",style:{color:Gt.dim},children:r("statuslinePreviewEmptyLine")}):t.map((s,i)=>c.jsxs("span",{className:"flex items-center shrink-0",children:[c.jsx(W_,{sectionId:s,config:e[s]??{},theme:n}),i<t.length-1&&K_]},s))})},G_=({lines:t,sectionConfig:e,theme:n})=>{const{t:r}=re(),s=t.reduce((i,o)=>i+o.length,0);return c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs text-dash-text-muted",children:r("statuslinePreview")}),c.jsxs("span",{className:"text-xs text-dash-text-muted/60",children:[s," ",r("statuslineSectionsVisible")]})]}),c.jsxs("div",{className:"rounded-lg overflow-hidden border border-dash-border shadow-lg",children:[c.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-[#1e1e2e] border-b border-[#313244]",children:[c.jsxs("div",{className:"flex gap-1.5",children:[c.jsx("span",{className:"w-3 h-3 rounded-full bg-[#f38ba8]"}),c.jsx("span",{className:"w-3 h-3 rounded-full bg-[#f9e2af]"}),c.jsx("span",{className:"w-3 h-3 rounded-full bg-[#a6e3a1]"})]}),c.jsx("span",{className:"text-xs text-[#6c7086] font-mono ml-2",children:r("statuslinePreviewTitle")})]}),c.jsxs("div",{className:"bg-[#1e1e2e] px-3 py-2 font-mono text-xs overflow-x-auto select-none",children:[c.jsxs("div",{className:"mb-1",children:[c.jsx("span",{style:{color:Gt.green},children:"user@machine"}),c.jsx("span",{style:{color:Gt.dim},children:":"}),c.jsx("span",{style:{color:Gt.blue},children:"~/projects/myapp"}),c.jsx("span",{style:{color:Gt.white},children:" $ "})]}),t.length===0?c.jsx("div",{className:"py-0.5 px-2 rounded mb-0.5",style:{backgroundColor:"#313244"},children:c.jsx("span",{className:"text-xs font-mono opacity-30",style:{color:Gt.dim},children:r("statuslinePreviewNoLines")})}):t.map((i,o)=>c.jsx(U_,{sectionIds:i,sectionConfig:e,theme:n},o)),c.jsxs("div",{className:"mt-1 flex items-center",children:[c.jsx("span",{style:{color:Gt.green},children:"user@machine"}),c.jsx("span",{style:{color:Gt.dim},children:":"}),c.jsx("span",{style:{color:Gt.blue},children:"~/projects/myapp"}),c.jsx("span",{style:{color:Gt.white},children:" $ "}),c.jsx("span",{className:"inline-block w-2 h-4 bg-white/70 animate-pulse ml-0.5"})]})]})]})]})},q_={model:"statuslineSectionModelLabel",context:"statuslineSectionContextLabel",quota:"statuslineSectionQuotaLabel",directory:"statuslineSectionDirectoryLabel",git:"statuslineSectionGitLabel",cost:"statuslineSectionCostLabel",changes:"statuslineSectionChangesLabel",agents:"statuslineSectionAgentsLabel",todos:"statuslineSectionTodosLabel"},Y_=["green","yellow","red","cyan","blue","magenta","white","dim","brightGreen","brightYellow","brightRed","brightCyan","brightBlue","brightMagenta","brightWhite"],yd=dS,pr=({field:t,label:e,value:n,onChange:r})=>c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"w-3 h-3 rounded-full shrink-0 border border-white/20",style:{backgroundColor:yd[n]??yd.default}}),c.jsx("label",{htmlFor:`color-${t}`,className:"text-xs text-dash-text-muted w-24 shrink-0",children:e}),c.jsx("select",{id:`color-${t}`,value:n,onChange:s=>r(s.target.value),className:"flex-1 text-xs px-2 py-1 rounded border border-dash-border bg-dash-bg text-dash-text focus:outline-none focus:border-dash-accent",children:Y_.map(s=>c.jsx("option",{value:s,children:s},s))})]}),X_=({theme:t,sectionConfig:e,onChange:n,onSectionConfigChange:r})=>{const{t:s}=re(),i=(d,u)=>{n({...t,[d]:u})},o=(d,u)=>{r({...e,[d]:{...e[d],color:u}})},a=d=>{n({...d.theme});const u={...e};for(const[h,f]of Object.entries(d.sectionColors))u[h]={...u[h],color:f};r(u)},l=Vb.findIndex(d=>d.theme.contextLow===t.contextLow&&d.theme.contextMid===t.contextMid&&d.theme.contextHigh===t.contextHigh&&d.theme.accent===t.accent&&d.theme.muted===t.muted&&d.theme.separator===t.separator&&d.theme.quotaLow===t.quotaLow&&d.theme.quotaHigh===t.quotaHigh);return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-xs font-medium text-dash-text-muted mb-2 uppercase tracking-wider",children:s("statuslineTheme")}),c.jsx("div",{className:"grid grid-cols-2 gap-2",children:Vb.map((d,u)=>c.jsx("button",{type:"button",onClick:()=>a(d),className:`text-xs px-3 py-2 rounded border transition-colors text-left ${l===u?"border-dash-accent bg-dash-accent/10 text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:c.jsxs("span",{className:"flex items-center gap-1",children:[[d.sectionColors.model,d.theme.contextMid,d.sectionColors.git,d.sectionColors.changes].map((h,f)=>c.jsx("span",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:yd[h]??yd.default}},f)),c.jsx("span",{className:"ml-0.5",children:s(d.labelKey)})]})},d.name))})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("p",{className:"text-xs font-medium text-dash-text-muted uppercase tracking-wider",children:["▰ ",s("statuslineColorContextGroup")]}),c.jsx(pr,{field:"contextLow",label:s("statuslineColorContextLow"),value:t.contextLow,onChange:d=>i("contextLow",d)}),c.jsx(pr,{field:"contextMid",label:s("statuslineColorContextMid"),value:t.contextMid,onChange:d=>i("contextMid",d)}),c.jsx(pr,{field:"contextHigh",label:s("statuslineColorContextHigh"),value:t.contextHigh,onChange:d=>i("contextHigh",d)})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("p",{className:"text-xs font-medium text-dash-text-muted uppercase tracking-wider",children:["⌛ ",s("statuslineColorQuotaGroup")]}),c.jsx(pr,{field:"quotaLow",label:s("statuslineQuotaLow"),value:t.quotaLow,onChange:d=>i("quotaLow",d)}),c.jsx(pr,{field:"quotaHigh",label:s("statuslineQuotaHigh"),value:t.quotaHigh,onChange:d=>i("quotaHigh",d)})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("p",{className:"text-xs font-medium text-dash-text-muted uppercase tracking-wider",children:s("statuslineColorGeneralGroup")}),c.jsx(pr,{field:"accent",label:s("statuslineColorAccent"),value:t.accent,onChange:d=>i("accent",d)}),c.jsx(pr,{field:"muted",label:s("statuslineColorMuted"),value:t.muted,onChange:d=>i("muted",d)}),c.jsx(pr,{field:"separator",label:s("statuslineColorSeparator"),value:t.separator,onChange:d=>i("separator",d)})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("p",{className:"text-xs font-medium text-dash-text-muted uppercase tracking-wider",children:s("statuslineColorSectionGroup")}),lS.filter(d=>d!=="context"&&d!=="quota").map(d=>{const u=e[d]?.icon??cS[d]?.icon??"",h=s(q_[d]??"statuslineSectionModelLabel");return c.jsx(pr,{field:`section-${d}`,label:u?`${u} ${h}`:h,value:e[d]?.color??Sm[d]??"default",onChange:f=>o(d,f)},d)})]})]})]})};function Q_(t){return{baseMode:t.baseMode??Ir.baseMode,lines:t.lines??Ir.lines,sectionConfig:t.sectionConfig??Ir.sectionConfig,theme:t.theme?{...bd,...t.theme}:bd,responsiveBreakpoint:t.responsiveBreakpoint??Ir.responsiveBreakpoint,maxAgentRows:t.maxAgentRows??Ir.maxAgentRows,todoTruncation:t.todoTruncation??Ir.todoTruncation}}const J_=()=>{const{t}=re(),[e,n]=g.useState(Ir),[r,s]=g.useState(!0),[i,o]=g.useState(!1),[a,l]=g.useState(null),[d,u]=g.useState(!1),[h,f]=g.useState(!1),{size:p,isDragging:m,startDrag:x}=Ii({storageKey:"ck-statusline-preview-width",defaultSize:500,minSize:300,maxSize:900,direction:"horizontal",invert:!0});g.useEffect(()=>{let C=!1;return fetch("/api/ck-config?scope=global").then(j=>{if(!j.ok)throw new Error(`Failed to fetch config: ${j.status}`);return j.json()}).then(j=>{if(C)return;const S=j.config.statuslineLayout;S&&n(Q_(S))}).catch(()=>{C||f(!0)}).finally(()=>{C||s(!1)}),()=>{C=!0}},[]);const b=g.useCallback(async()=>{o(!0),l(null),u(!1);try{await QA("statuslineLayout",e,"global"),u(!0),setTimeout(()=>u(!1),3e3)}catch(C){l(C instanceof Error?C.message:"Unknown error")}finally{o(!1)}},[e]),y=g.useCallback(()=>{n(Ir),u(!1),l(null)},[]),k=g.useCallback(C=>{n(j=>({...j,lines:C}))},[]),v=g.useCallback(C=>{n(j=>({...j,sectionConfig:C}))},[]),w=g.useCallback(C=>{n(j=>({...j,theme:C}))},[]);return r?c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsx("div",{className:"text-dash-text-muted text-sm",children:t("loading")})}):c.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[c.jsx("div",{className:"shrink-0 px-6 py-4 border-b border-dash-border bg-dash-surface",children:c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-lg font-bold text-dash-text",children:t("statuslineBuilder")}),c.jsx("p",{className:"text-sm text-dash-text-muted mt-0.5",children:t("statuslineBuilderDescription")})]}),d&&c.jsx("div",{className:"text-xs text-green-400 bg-green-400/10 border border-green-400/20 rounded px-3 py-1.5",children:t("statuslineSaved")}),h&&c.jsx("div",{className:"bg-orange-50 dark:bg-orange-950 text-orange-700 dark:text-orange-300 px-4 py-2 rounded-md text-sm border border-orange-200 dark:border-orange-800",children:t("statuslineLoadErrorSaveDisabled")}),a&&c.jsxs("div",{className:"text-xs text-red-400 bg-red-400/10 border border-red-400/20 rounded px-3 py-1.5",children:[t("statuslineSaveError"),": ",a]})]})}),c.jsxs("div",{className:"flex-1 overflow-hidden flex",children:[c.jsxs("div",{className:"flex-1 min-w-0 flex flex-col border-r border-dash-border overflow-hidden",children:[c.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:c.jsx(X_,{theme:e.theme,sectionConfig:e.sectionConfig,onChange:w,onSectionConfigChange:v})}),c.jsxs("div",{className:"shrink-0 px-4 py-3 border-t border-dash-border bg-dash-surface flex gap-2",children:[c.jsx("button",{type:"button",onClick:y,className:"text-xs px-3 py-1.5 rounded border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text transition-colors",children:t("statuslineResetDefaults")}),c.jsx("button",{type:"button",onClick:b,disabled:i||h,className:"flex-1 text-xs px-3 py-1.5 rounded border border-dash-accent bg-dash-accent/10 text-dash-accent hover:bg-dash-accent/20 transition-colors disabled:opacity-50 disabled:cursor-not-allowed font-medium",children:i?`${t("saving")}…`:t("statuslineSave")})]})]}),c.jsx(xn,{direction:"horizontal",isDragging:m,onMouseDown:x}),c.jsxs("div",{className:"shrink-0 overflow-y-auto p-4 bg-dash-bg space-y-4",style:{width:p},children:[c.jsx(G_,{lines:e.lines,sectionConfig:e.sectionConfig,theme:e.theme}),c.jsx(H_,{lines:e.lines,sectionConfig:e.sectionConfig,onLinesChange:k,onSectionConfigChange:v})]})]})]})},Z_=({components:t,isChecking:e,isUpdating:n,onCheckAll:r,onUpdateAll:s,className:i})=>{const{t:o}=re(),a=t.filter(u=>u.status==="update-available").length,l=t.length>0&&t.every(u=>u.status==="up-to-date"||u.status==="idle"),d=t.filter(u=>u.status==="up-to-date").length;return c.jsxs("div",{className:`flex flex-wrap items-center gap-2 ${i??""}`,children:[c.jsxs("div",{className:"inline-flex items-center gap-2 rounded-lg border border-dash-border bg-dash-surface px-3 py-2 text-xs",children:[c.jsx("output",{className:"inline-flex items-center gap-2","aria-live":"polite","aria-atomic":"true",children:e?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),c.jsx("span",{className:"text-dash-text-secondary",children:o("checkingAll")})]}):a>0?c.jsx("span",{className:"text-amber-500 font-semibold",children:o("updatesAvailable").replace("{count}",a.toString())}):l?c.jsx("span",{className:"text-emerald-500 font-semibold",children:o("allUpToDate")}):c.jsx("span",{className:"text-dash-text-secondary font-medium",children:o("readyToScan")})}),d>0&&c.jsx("span",{className:"mono text-dash-text-muted border-l border-dash-border pl-2",children:d})]}),c.jsx("button",{type:"button",onClick:r,disabled:e||n,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("checkAll")}),a>0&&c.jsx("button",{type:"button",onClick:s,disabled:n,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold bg-dash-accent text-dash-bg hover:bg-dash-accent-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("updateAll")})]})},eF=({value:t,onChange:e,disabled:n=!1})=>{const{t:r}=re();return c.jsxs("fieldset",{className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 gap-1",role:"radiogroup","aria-label":"Update channel",children:[c.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${t==="stable"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${n?"opacity-50 cursor-not-allowed":""}`,children:[c.jsx("input",{type:"radio",name:"channel",value:"stable",checked:t==="stable",onChange:()=>e("stable"),disabled:n,className:"sr-only"}),r("channelStable")]}),c.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${t==="beta"?"bg-amber-500/15 text-amber-500":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${n?"opacity-50 cursor-not-allowed":""}`,children:[c.jsx("input",{type:"radio",name:"channel",value:"beta",checked:t==="beta",onChange:()=>e("beta"),disabled:n,className:"sr-only"}),r("channelBeta")]})]})},tF={idle:{color:"bg-dash-text-muted",pulse:!1},checking:{color:"bg-dash-text-muted",pulse:!0},"up-to-date":{color:"bg-emerald-500",pulse:!1},"update-available":{color:"bg-amber-500",pulse:!1}},uS=({status:t,ariaLabel:e,size:n="sm"})=>{const r=tF[t],s=n==="sm"?"w-2 h-2":"w-2.5 h-2.5";return c.jsx("span",{className:`
272
+ inline-block rounded-full ${s} ${r.color}
273
+ ${r.pulse?"animate-pulse motion-reduce:animate-none":""}
274
+ `,role:"status","aria-label":e})},Cm=({isOpen:t,onClose:e,target:n,kitName:r,targetVersion:s,onComplete:i,mode:o="single",components:a=[]})=>{const{t:l}=re(),[d,u]=g.useState("running"),[h,f]=g.useState([]),[p,m]=g.useState([]),[x,b]=g.useState(!1),[y,k]=g.useState(0),v=g.useRef(null),w=g.useRef(null);g.useEffect(()=>{x&&w.current&&w.current.scrollIntoView({behavior:"smooth"})},[x]);const C=g.useCallback(async()=>{if(a.length===0){u("success");return}for(let S=0;S<a.length;S++){k(S);const E=a[S];try{const O=E.id==="cli",A=new URLSearchParams({target:O?"cli":"kit"});O||A.set("kit",E.id);const P=new EventSource(`/api/system/update?${A}`);v.current=P,await new Promise((L,_)=>{P.onmessage=N=>{try{const M=JSON.parse(N.data);M.type==="phase"&&M.name&&f(D=>[...D,`[${E.name}] ${M.name}`]),M.type==="output"&&M.text&&m(D=>[...D,M.text]),M.type==="error"&&(u("error"),m(D=>[...D,`[ERROR ${E.name}] ${M.message||"Unknown error"}`]),P.close(),_()),M.type==="complete"&&(M.code===0?(P.close(),L()):(u("error"),P.close(),_()))}catch(M){console.error("Failed to parse SSE message:",M),P.close(),_(M)}},P.onerror=()=>{u("error"),m(N=>[...N,`[ERROR ${E.name}] Connection lost`]),P.close(),_()}})}catch(O){console.error(`Failed to update ${E.name}:`,O)}}u("success"),i()},[a,i]);g.useEffect(()=>{if(t)if(o==="batch")C();else{const S=new URLSearchParams({target:n});r&&S.set("kit",r),s&&S.set("version",s);const E=new EventSource(`/api/system/update?${S}`);return v.current=E,E.onmessage=O=>{try{const A=JSON.parse(O.data);A.type==="phase"&&A.name&&f(P=>[...P,A.name]),A.type==="output"&&A.text&&m(P=>[...P,A.text]),A.type==="error"&&(u("error"),m(P=>[...P,`[ERROR] ${A.message||"Unknown error"}`])),A.type==="complete"&&(u(A.code===0?"success":"error"),E.close(),A.code===0&&i())}catch(A){console.error("Failed to parse SSE message:",A)}},E.onerror=()=>{u("error"),m(O=>[...O,"[ERROR] Connection lost"]),E.close()},()=>{E.close()}}},[t,n,r,s,i,o,C]);const j=()=>{d!=="running"&&(u("running"),f([]),m([]),b(!1),k(0),e())};return t?c.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:c.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-lg w-full max-w-2xl max-h-[80vh] flex flex-col",children:[c.jsx("div",{className:"px-6 py-4 border-b border-dash-border",children:c.jsx("h2",{className:"text-lg font-bold text-dash-text",children:l(d==="running"?"updating":d==="success"?"updateSuccess":"updateFailed")})}),c.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-4",children:[o==="batch"&&a.length>0&&c.jsxs("div",{className:"text-sm text-dash-text-secondary",children:[d==="running"&&c.jsxs("span",{children:["Updating ",y+1," of ",a.length,":"," ",a[y]?.name]}),d==="success"&&c.jsxs("span",{className:"text-emerald-500",children:["All ",a.length," components updated"]})]}),h.length>0&&c.jsx("div",{className:"space-y-2",children:h.map((S,E)=>c.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-secondary",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),c.jsx("span",{children:S})]},`${S}-${E}`))}),d==="running"&&c.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-muted",children:[c.jsx("span",{className:"w-4 h-4 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),c.jsx("span",{children:l("updating")})]}),p.length>0&&c.jsxs("div",{children:[c.jsx("button",{type:"button",onClick:()=>b(!x),className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors",children:l(x?"hideDetails":"showDetails")}),x&&c.jsxs("div",{className:"mt-2 bg-dash-bg border border-dash-border rounded p-3 max-h-64 overflow-y-auto",children:[c.jsx("pre",{className:"text-xs mono text-dash-text whitespace-pre-wrap",children:p.join(`
275
+ `)}),c.jsx("div",{ref:w})]})]})]}),c.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:c.jsx("button",{type:"button",onClick:j,disabled:d==="running",className:`px-4 py-2 rounded text-sm font-medium transition-colors ${d==="running"?"bg-dash-bg text-dash-text-muted cursor-not-allowed":"bg-dash-accent text-white hover:bg-dash-accent-hover"}`,children:l("closeModal")})})]})}):null},hS=({target:t,kitName:e,currentVersion:n,latestVersion:r,onVersionSelect:s})=>{const{t:i}=re(),[o,a]=g.useState([]),[l,d]=g.useState(!1),[u,h]=g.useState(r);g.useEffect(()=>{(async()=>{d(!0);try{const m=new URLSearchParams({target:t});e&&m.set("kit",e);const b=await(await fetch(`/api/system/versions?${m}`)).json();b.versions&&a(b.versions)}catch(m){console.error("Failed to fetch versions:",m)}finally{d(!1)}})()},[t,e]);const f=p=>{h(p),s(p)};return l?c.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[c.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),i("loadingVersions")]}):c.jsx("select",{value:u,onChange:p=>f(p.target.value),className:`text-xs text-amber-500 hover:text-amber-600 font-medium transition-colors
276
+ bg-transparent border border-amber-500/30 rounded px-2 py-1
277
+ focus:outline-none focus:ring-2 focus:ring-amber-500/50
278
+ cursor-pointer appearance-none`,title:i("selectVersion"),children:o.map(p=>{const m=p.version===r,x=p.version===n,b=`v${p.version.replace(/^v/,"")}${m?` (${i("latestVersion")})`:""}${p.isPrerelease?` [${i("prereleaseLabel")}]`:""}${x?` - ${i("currentVersionLabel")}`:""}`;return c.jsx("option",{value:p.version,disabled:x,children:b},p.version)})})},nF=({version:t,installedAt:e,channel:n="stable",externalStatus:r,externalLatestVersion:s,onStatusChange:i,disabled:o,packageManager:a,installLocation:l})=>{const{t:d}=re(),[u,h]=g.useState("idle"),[f,p]=g.useState(null),[m,x]=g.useState(!1),[b,y]=g.useState(null),k=r??u,v=s??f,w=async()=>{const j=E=>{i||h(E)},S=E=>{i||p(E)};j("checking"),i&&i("checking",null);try{const O=await(await fetch(`/api/system/check-updates?target=cli&channel=${n}`)).json();O.updateAvailable?(j("update-available"),S(O.latest),i&&i("update-available",O.latest)):(j("up-to-date"),i&&i("up-to-date",null))}catch{j("idle"),i&&i("idle",null)}},C=async()=>{window.location.reload()};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"dash-panel p-5 transition-colors hover:border-dash-accent/30",children:[c.jsxs("div",{className:"flex items-center justify-between gap-4",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-wrap min-w-0",children:[c.jsx(uS,{status:k,ariaLabel:d(k==="up-to-date"?"upToDate":k==="update-available"?"updateAvailable":"checking")}),c.jsx("h3",{className:"text-base font-semibold text-dash-text",children:d("cliCard")}),n==="beta"&&c.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:d("betaBadge")})]}),c.jsx(rF,{status:k,currentVersion:t,latestVersion:v,onCheck:w,onUpdate:()=>x(!0),onVersionSelect:y,disabled:o})]}),c.jsxs("div",{className:"mt-3 space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[c.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[d("currentVersionLabel"),": v",t.replace(/^v/,"")]}),e&&c.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e).toLocaleDateString()})]}),(a||l)&&c.jsxs("div",{className:"grid grid-cols-1 gap-1 text-xs sm:grid-cols-2",children:[a&&c.jsx(Ub,{label:d("cliPackageManager"),value:a}),l&&c.jsx(Ub,{label:d("cliInstallLocation"),value:l,mono:!0})]}),k==="update-available"&&v&&c.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",t.replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]})]}),c.jsx(Cm,{isOpen:m,onClose:()=>x(!1),target:"cli",targetVersion:b??v??void 0,onComplete:C})]})},rF=({status:t,currentVersion:e,latestVersion:n,onCheck:r,onUpdate:s,onVersionSelect:i,disabled:o})=>{const{t:a}=re();return t==="checking"?c.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[c.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),a("checking")]}):t==="up-to-date"?c.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:a("upToDate")}):t==="update-available"&&n?c.jsx("div",{className:"flex items-center gap-2",children:c.jsx(hS,{target:"cli",currentVersion:e,latestVersion:n,onVersionSelect:l=>{i(l),s()}})}):c.jsx("button",{type:"button",onClick:r,disabled:o,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("checkForUpdates")})},Ub=({label:t,value:e,mono:n})=>c.jsxs("div",{className:"flex items-center justify-between rounded border border-dash-border/60 bg-dash-bg/50 px-2 py-1",children:[c.jsx("span",{className:"text-dash-text-muted text-[10px] uppercase tracking-wide shrink-0 mr-2",children:t}),c.jsx("span",{className:`break-all text-right text-dash-text-secondary ${n?"mono text-[11px]":"text-xs"}`,children:e})]});function sF(t){let e=0,n=0,r=0;for(const s of t)s.ownership==="ck"?e++:s.ownership==="user"?n++:s.ownership==="ck-modified"&&r++;return{ck:e,user:n,modified:r}}function iF(t){const e=new Set,n=new Set,r=new Set;let s=0,i=0,o=0;for(const a of t){const l=a.path;if(l.startsWith("skills/")){const d=l.split("/");d.length>=2&&d[1]&&e.add(d[1])}else if(l.startsWith("commands/")){const d=l.split("/");d.length>=2&&d[1]&&n.add(d[1])}else if(l.startsWith("hooks/")){const d=l.split("/");d.length>=2&&d[1]&&r.add(d[1])}else l==="hooks.json"?i++:l.startsWith("rules/")?s++:l.startsWith("settings/")||l==="settings.json"?i++:o++}return{skills:e.size,commands:n.size,rules:s,hooks:r.size,settings:i,other:o}}const oF=({kitName:t,kit:e,channel:n="stable",externalStatus:r,externalLatestVersion:s,onStatusChange:i,disabled:o})=>{const{t:a}=re(),[l,d]=g.useState("idle"),[u,h]=g.useState(null),[f,p]=g.useState(!1),[m,x]=g.useState(null),b=r??l,y=s??u,k=e.files??[],v=iF(k),w=Object.values(v).reduce((E,O)=>E+O,0),C=sF(k),j=async()=>{const E=A=>{i||d(A)},O=A=>{i||h(A)};E("checking"),i&&i("checking",null);try{const P=await(await fetch(`/api/system/check-updates?target=kit&kit=${t}&channel=${n}`)).json();P.updateAvailable?(E("update-available"),O(P.latest),i&&i("update-available",P.latest)):(E("up-to-date"),i&&i("up-to-date",null))}catch{E("idle"),i&&i("idle",null)}},S=async()=>{window.location.reload()};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"dash-panel p-5 space-y-4 transition-colors hover:border-dash-accent/30",children:[c.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsx(uS,{status:b,ariaLabel:a(b==="up-to-date"?"upToDate":b==="update-available"?"updateAvailable":"checking")}),c.jsxs("h3",{className:"text-base font-semibold text-dash-text capitalize",children:[t," Kit"]}),n==="beta"&&c.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[c.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",(e.version??"?").replace(/^v/,"")]}),e.installedAt&&c.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e.installedAt).toLocaleDateString()}),c.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("components"),": ",w]})]}),b==="update-available"&&y&&c.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",(e.version??"?").replace(/^v/,"")," ","->"," v",y.replace(/^v/,"")]})]}),c.jsx(aF,{status:b,currentVersion:e.version??"0.0.0",latestVersion:y,kitName:t,onCheck:j,onUpdate:()=>p(!0),onVersionSelect:x,disabled:o})]}),k.length>0&&c.jsx("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2 xl:grid-cols-3",children:Object.entries(v).filter(([,E])=>E>0).map(([E,O])=>c.jsxs("div",{className:"flex items-center justify-between px-2.5 py-2 bg-dash-bg/70 border border-dash-border rounded-lg text-xs",children:[c.jsx("span",{className:"text-dash-text-secondary capitalize",children:E}),c.jsx("span",{className:"font-bold mono text-dash-text",children:O})]},E))}),(C.user>0||C.modified>0)&&c.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-muted",children:[C.user>0&&c.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[c.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500 shrink-0"}),C.user," ",a("ownershipUser")]}),C.modified>0&&c.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[c.jsx("span",{className:"w-2 h-2 rounded-full bg-amber-500 shrink-0"}),C.modified," ",a("ownershipModified")]})]}),k.length===0&&c.jsx("p",{className:"text-xs text-dash-text-muted",children:a("noTrackedFiles")})]}),c.jsx(Cm,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:t,targetVersion:m??y??void 0,onComplete:S})]})},aF=({status:t,currentVersion:e,latestVersion:n,kitName:r,onCheck:s,onUpdate:i,onVersionSelect:o,disabled:a})=>{const{t:l}=re();return t==="checking"?c.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[c.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),l("checking")]}):t==="up-to-date"?c.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:l("upToDate")}):t==="update-available"&&n?c.jsx("div",{className:"flex items-center gap-2",children:c.jsx(hS,{target:"kit",kitName:r,currentVersion:e,latestVersion:n,onVersionSelect:d=>{o(d),i()}})}):c.jsx("button",{type:"button",onClick:s,disabled:a,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:l("checkForUpdates")})},Gb="claudekit-update-channel",qb="claudekit-system-filter",lF=t=>/-(alpha|beta|rc|dev|next)/.test(t),cF=t=>t==="all"||t==="updates"||t==="up-to-date"||t==="cli"||t==="kits"?t:"all",Yb=t=>t==="update-available"?0:t==="checking"?1:t==="idle"?2:3,dF=({metadata:t})=>{const{t:e}=re(),[n,r]=g.useState(null),[s,i]=g.useState([]),[o,a]=g.useState(!1),[l,d]=g.useState(!1),[u,h]=g.useState(!1),[f,p]=g.useState("stable"),[m,x]=g.useState(()=>cF(localStorage.getItem(qb))),b=g.useRef(!1),y=g.useRef(0),k=g.useMemo(()=>!t.kits||typeof t.kits!="object"?[]:Object.entries(t.kits),[t.kits]),v=k.length>0,w=t.name,C=t.version,j=t.installedAt,S=k.length>0||w;g.useEffect(()=>{if(!n)return;const z=[];if(z.push({id:"cli",type:"cli",status:"idle",currentVersion:n.cliVersion,latestVersion:null}),v&&k.length>0)for(const[te,J]of k){const he=J;z.push({id:te,type:"kit",status:"idle",currentVersion:he.version??"?",latestVersion:null})}else w&&z.push({id:w,type:"kit",status:"idle",currentVersion:C??"?",latestVersion:null});i(z)},[n,v,k,w,C]),g.useEffect(()=>{fetch("/api/system/info").then(z=>z.json()).then(r).catch(()=>r(null))},[]),g.useEffect(()=>{const z=localStorage.getItem(Gb);z==="stable"||z==="beta"?p(z):n?.cliVersion&&p(lF(n.cliVersion)?"beta":"stable")},[n?.cliVersion]);const E=z=>{p(z),localStorage.setItem(Gb,z)};g.useEffect(()=>{localStorage.setItem(qb,m)},[m]);const O=(z,te,J)=>{i(he=>he.map(ee=>ee.id===z?{...ee,status:te,latestVersion:J}:ee))},A=g.useCallback(async()=>{if(s.length===0)return;const z=y.current+1;y.current=z,a(!0),i(te=>te.map(J=>J.status==="checking"&&J.latestVersion===null?J:{...J,status:"checking",latestVersion:null}));try{const te=s.map(async he=>{try{const ee=he.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${he.id}&channel=${f}`,U=await(await fetch(`/api/system/check-updates?${ee}`)).json();return{id:he.id,status:U.updateAvailable?"update-available":"up-to-date",latestVersion:U.latest}}catch{return{id:he.id,status:"idle",latestVersion:null}}}),J=await Promise.all(te);if(y.current!==z)return;i(he=>he.map(ee=>{const fe=J.find(U=>U.id===ee.id);return fe?{...ee,status:fe.status,latestVersion:fe.latestVersion}:ee}))}finally{y.current===z&&a(!1)}},[f,s]),P=z=>{x(z),(z==="updates"||z==="up-to-date")&&!o&&!l&&s.length>0&&s.every(J=>J.status==="idle")&&(b.current=!0,A())},L=()=>{h(!0)},_=()=>{window.location.reload()},N=s.filter(z=>z.status==="update-available").length,M=s.filter(z=>z.status==="up-to-date").length,D=s.filter(z=>z.status==="up-to-date"||z.status==="update-available").length,I=s.some(z=>z.status==="checking"),R=v&&k.length>0?k.length:w?1:0,$=s.find(z=>z.id==="cli")?.status??"idle",V=g.useMemo(()=>v&&k.length>0?k.map(([z,te])=>({id:z,kitName:z,kit:te})):w?[{id:w,kitName:w,kit:{version:C,installedAt:j}}]:[],[v,k,w,C,j]),W=g.useMemo(()=>{const te=[...V.map(J=>({...J,status:s.find(he=>he.id===J.id)?.status??"idle"}))].sort((J,he)=>{const ee=Yb(J.status)-Yb(he.status);return ee!==0?ee:J.kitName.localeCompare(he.kitName)});return m==="updates"?te.filter(J=>J.status==="update-available"):m==="up-to-date"?te.filter(J=>J.status==="up-to-date"):m==="cli"?[]:te},[V,s,m]),F=m==="all"||m==="cli"||m==="updates"&&$==="update-available"||m==="up-to-date"&&$==="up-to-date",Y=(F?1:0)+W.length;g.useEffect(()=>{if(!(!(m==="updates"||m==="up-to-date")||b.current)&&!(o||l||s.length===0)){if(!s.every(te=>te.status==="idle")){b.current=!0;return}b.current=!0,A()}},[A,o,l,s,m]);const q=g.useMemo(()=>Y!==0?"":(m==="updates"||m==="up-to-date")&&I?e("checkingAll"):(m==="updates"||m==="up-to-date")&&D===0?e("runCheckAllForFilter"):m==="updates"&&D>0&&N===0?e("noUpdatesFound"):m==="up-to-date"&&D>0&&M===0?e("noUpToDateYet"):e("noComponentsMatchFilter"),[Y,m,I,D,N,M,e]),ne=!S&&m!=="cli",ue=e("componentFilterUpdatesCount").replace("{count}",N.toString()),ae=e("componentFilterUpToDateCount").replace("{count}",M.toString());return c.jsxs("div",{className:"relative",children:[c.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[c.jsx("div",{className:"absolute -top-20 -right-8 h-56 w-56 rounded-full bg-dash-accent/10 blur-3xl"}),c.jsx("div",{className:"absolute -bottom-24 -left-10 h-64 w-64 rounded-full bg-dash-accent/5 blur-3xl"})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsx("section",{className:"dash-panel dash-sticky-glass p-4 md:p-5 sticky top-0 z-10",children:c.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:e("systemControlTower")}),c.jsx("h2",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:e("systemOverviewTitle")}),c.jsx("p",{className:"text-sm text-dash-text-secondary max-w-2xl",children:e("systemOverviewDesc")})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(eF,{value:f,onChange:E,disabled:o||l}),s.length>0&&c.jsx(Z_,{components:s,isChecking:o,isUpdating:l,onCheckAll:A,onUpdateAll:L})]})]})}),c.jsxs("section",{className:"grid grid-cols-2 gap-3 xl:grid-cols-5",children:[c.jsx(lo,{label:e("components"),value:s.length.toString()}),c.jsx(lo,{label:e("kitsLabel"),value:R.toString()}),c.jsx(lo,{label:e("updateAvailable"),value:N.toString(),tone:"accent"}),c.jsx(lo,{label:e("upToDate"),value:M.toString(),tone:"success"}),c.jsx(lo,{label:e("checkedComponents"),value:D.toString()})]}),c.jsxs("section",{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 px-1",children:[c.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("installedComponentsHeading")}),c.jsxs("fieldset",{className:"flex items-center gap-2",children:[c.jsx("legend",{className:"sr-only",children:e("installedComponentsHeading")}),c.jsx(co,{label:e("componentFilterAll"),value:m,activeValue:"all",onClick:()=>P("all")}),c.jsx(co,{label:ue,value:m,activeValue:"updates",onClick:()=>P("updates")}),c.jsx(co,{label:ae,value:m,activeValue:"up-to-date",onClick:()=>P("up-to-date")}),c.jsx(co,{label:e("componentFilterCli"),value:m,activeValue:"cli",onClick:()=>P("cli")}),c.jsx(co,{label:e("componentFilterKits"),value:m,activeValue:"kits",onClick:()=>P("kits")})]})]}),F&&c.jsx(nF,{version:n?.cliVersion??"...",installedAt:void 0,externalStatus:s.find(z=>z.id==="cli")?.status,externalLatestVersion:s.find(z=>z.id==="cli")?.latestVersion??null,onStatusChange:(z,te)=>O("cli",z,te),disabled:o||l,channel:f,packageManager:n?.packageManager,installLocation:n?.installLocation}),W.map(z=>{const te=s.find(J=>J.id===z.id);return c.jsx(oF,{kitName:z.kitName,kit:z.kit,externalStatus:te?.status,externalLatestVersion:te?.latestVersion??null,onStatusChange:(J,he)=>O(z.id,J,he),disabled:o||l,channel:f},z.id)}),ne&&c.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:c.jsx("p",{className:"text-sm text-dash-text-secondary",children:e("noKitInstalled")})}),!ne&&Y===0&&c.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:c.jsx("p",{className:"text-sm text-dash-text-secondary",children:q})})]}),n&&c.jsx(uF,{systemInfo:n})]}),c.jsx(Cm,{isOpen:u,onClose:()=>h(!1),target:"cli",mode:"batch",components:s.filter(z=>z.status==="update-available").map(z=>({id:z.id,name:z.id==="cli"?"CLI":`${z.id} Kit`})),onComplete:_})]})},lo=({label:t,value:e,tone:n="default"})=>{const r=n==="accent"?"text-dash-accent":n==="success"?"text-emerald-500":"text-dash-text";return c.jsxs("div",{className:"dash-panel p-3",children:[c.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:t}),c.jsx("p",{className:`mt-1 mono text-xl font-semibold ${r}`,children:e})]})};function Xb({label:t,value:e,ok:n}){const r=n===!0?"bg-emerald-500":n===!1?"bg-red-500":"bg-dash-text-muted/40";return c.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2",children:[c.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${r}`}),c.jsx("span",{className:"text-xs text-dash-text-muted flex-1",children:t}),c.jsx("span",{className:"mono text-xs text-dash-text-secondary break-all text-right",children:e})]})}function uF({systemInfo:t}){const{t:e}=re(),n=[{label:"Claude CLI",value:`v${t.cliVersion}`,ok:!!t.cliVersion},{label:"Git",value:t.gitVersion??"not found",ok:!!t.gitVersion},{label:"GitHub CLI",value:t.ghVersion??"not found",ok:t.ghVersion?!0:null},{label:"Node.js",value:t.nodeVersion,ok:!!t.nodeVersion},{label:"Bun",value:t.bunVersion,ok:!!t.bunVersion},{label:e("envShell"),value:t.shell??"unknown",ok:t.shell?!0:null}],r=[{label:e("osVersion"),value:t.os},{label:e("claudeConfigPath"),value:t.configPath},{label:e("envHomeDir"),value:t.homeDir??"~"}];return t.cpuCores&&r.push({label:e("envCpuCores"),value:`${t.cpuCores} cores`}),t.totalMemoryGb&&r.push({label:e("envTotalMemory"),value:`${t.totalMemoryGb} GB`}),c.jsxs("section",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[c.jsxs("div",{className:"dash-panel p-4 space-y-3",children:[c.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:"Health Check"}),c.jsx("div",{className:"space-y-1.5",children:n.map(s=>c.jsx(Xb,{label:s.label,value:s.value,ok:s.ok},s.label))})]}),c.jsxs("div",{className:"dash-panel p-4 space-y-3",children:[c.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("environment")}),c.jsx("div",{className:"space-y-1.5",children:r.map(s=>c.jsx(Xb,{label:s.label,value:s.value,ok:null},s.label))})]})]})}const co=({label:t,value:e,activeValue:n,onClick:r})=>{const s=e===n;return c.jsx("button",{type:"button",onClick:r,"aria-pressed":s,className:`dash-focus-ring px-2.5 py-1.5 rounded-lg text-[11px] font-semibold border transition-colors ${s?"border-dash-accent/30 bg-dash-accent-subtle text-dash-accent":"border-dash-border bg-dash-surface text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:t})},Mh="~/.claude/settings.json",lc="{}",hF=()=>{const{t}=re(),[e,n]=g.useState(!0),[r,s]=g.useState(Mh),[i,o]=g.useState(lc),[a,l]=g.useState(lc),[d,u]=g.useState(0),[h,f]=g.useState(!1),[p,m]=g.useState(!1),[x,b]=g.useState("idle"),[y,k]=g.useState(null),[v,w]=g.useState(null);g.useEffect(()=>{let O=!1;return(async()=>{n(!0),m(!1);try{const P=await o4();if(O)return;const L=JSON.stringify(P.settings??{},null,2);s(P.path||Mh),f(!!P.exists),o(L),l(L),k(null)}catch{if(O)return;m(!0),f(!1),s(Mh),o(lc),l(lc)}finally{O||n(!1)}})(),()=>{O=!0}},[]);const C=O=>{l(O),w(null);try{JSON.parse(O),k(null)}catch(A){k(A instanceof Error?A.message:"Invalid JSON")}},j=()=>{l(i),k(null),w(null),b("idle")},S=async()=>{if(!(e||y)){b("saving"),w(null);try{const O=JSON.parse(a),A=JSON.stringify(O,null,2),P=await a4(O);o(A),l(A),f(!0),b("saved"),w(P.backupPath?`${t("settingsBackupSaved")}: ${P.backupPath}`:t("saved")),setTimeout(()=>b("idle"),2e3)}catch(O){b("error"),w(O instanceof Error?O.message:t("saveFailed")),setTimeout(()=>b("idle"),3e3)}}},E=a!==i;return c.jsxs("section",{className:"h-full min-h-0 flex flex-col rounded-xl border border-dash-border bg-dash-surface p-3 shadow-sm",children:[c.jsxs("div",{className:"mb-2 flex items-end justify-between gap-3 px-1",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:t("settingsJsonHeading")}),c.jsx("p",{className:"mono text-[11px] text-dash-text-muted truncate",children:r})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("button",{type:"button",onClick:j,disabled:e||!E||x==="saving",className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border disabled:opacity-50 disabled:cursor-not-allowed",children:t("discard")}),c.jsx("button",{type:"button",onClick:S,disabled:e||x==="saving"||!!y||!E,className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase disabled:opacity-50 disabled:cursor-not-allowed ${x==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":x==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:t(x==="saving"?"saving":x==="saved"?"saved":x==="error"?"saveFailed":"saveChanges")})]})]}),c.jsx("div",{className:"flex-1 min-h-0",children:c.jsx(rm,{width:100,isLoading:e,jsonText:a,cursorLine:d,syntaxError:y,onChange:C,onCursorLineChange:u})}),v&&c.jsx("p",{className:`mt-2 px-1 text-xs ${x==="error"?"text-red-500":"text-dash-text-muted"}`,children:v}),!e&&!p&&!h&&c.jsx("p",{className:"mt-2 px-1 text-xs text-dash-text-muted",children:t("settingsJsonMissing")}),!e&&p&&c.jsx("p",{className:"mt-2 px-1 text-xs text-red-500",children:t("settingsJsonLoadFailed")})]})},Qb=()=>{const[t,e]=g.useState({}),{sizes:n,isDragging:r,startDrag:s}=sm({storageKey:"claudekit-global-system-panels",defaultSizes:[70,30],minSizes:[45,20]});return g.useEffect(()=>{d4().then(e).catch(()=>e({}))},[]),c.jsxs("div",{className:"h-full flex min-h-0",children:[c.jsx("div",{style:{width:`${n[0]}%`},className:"min-w-0 h-full overflow-auto pr-1",children:c.jsx(dF,{metadata:t})}),c.jsx(xn,{direction:"horizontal",isDragging:r,onMouseDown:i=>s(0,i)}),c.jsx("div",{style:{width:`${n[1]}%`},className:"min-w-0 h-full overflow-hidden",children:c.jsx(hF,{})})]})},fF={beginner:"workflowComplexityBeginner",intermediate:"workflowComplexityIntermediate",advanced:"workflowComplexityAdvanced"},pF={beginner:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300",intermediate:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300",advanced:"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-300"},Jb=({complexity:t})=>{const{t:e}=re();return c.jsx("span",{className:`px-2 py-1 text-xs font-medium rounded-full ${pF[t]}`,children:e(fF[t])})};function nt(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,r;n<t.length;n++)(r=nt(t[n]))!==""&&(e+=(e&&" ")+r);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var mF={value:()=>{}};function iu(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Tc(n)}function Tc(t){this._=t}function gF(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Tc.prototype=iu.prototype={constructor:Tc,on:function(t,e){var n=this._,r=gF(t+"",n),s,i=-1,o=r.length;if(arguments.length<2){for(;++i<o;)if((s=(t=r[i]).type)&&(s=xF(n[s],t.name)))return s;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<o;)if(s=(t=r[i]).type)n[s]=Zb(n[s],t.name,e);else if(e==null)for(s in n)n[s]=Zb(n[s],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Tc(t)},call:function(t,e){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,i;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,s=i.length;r<s;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],s=0,i=r.length;s<i;++s)r[s].value.apply(e,n)}};function xF(t,e){for(var n=0,r=t.length,s;n<r;++n)if((s=t[n]).name===e)return s.value}function Zb(t,e,n){for(var r=0,s=t.length;r<s;++r)if(t[r].name===e){t[r]=mF,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Xf="http://www.w3.org/1999/xhtml";const ey={svg:"http://www.w3.org/2000/svg",xhtml:Xf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ou(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),ey.hasOwnProperty(e)?{space:ey[e],local:t}:t}function bF(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Xf&&e.documentElement.namespaceURI===Xf?e.createElement(t):e.createElementNS(n,t)}}function yF(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function fS(t){var e=ou(t);return(e.local?yF:bF)(e)}function vF(){}function jm(t){return t==null?vF:function(){return this.querySelector(t)}}function wF(t){typeof t!="function"&&(t=jm(t));for(var e=this._groups,n=e.length,r=new Array(n),s=0;s<n;++s)for(var i=e[s],o=i.length,a=r[s]=new Array(o),l,d,u=0;u<o;++u)(l=i[u])&&(d=t.call(l,l.__data__,u,i))&&("__data__"in l&&(d.__data__=l.__data__),a[u]=d);return new Jt(r,this._parents)}function kF(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function SF(){return[]}function pS(t){return t==null?SF:function(){return this.querySelectorAll(t)}}function CF(t){return function(){return kF(t.apply(this,arguments))}}function jF(t){typeof t=="function"?t=CF(t):t=pS(t);for(var e=this._groups,n=e.length,r=[],s=[],i=0;i<n;++i)for(var o=e[i],a=o.length,l,d=0;d<a;++d)(l=o[d])&&(r.push(t.call(l,l.__data__,d,o)),s.push(l));return new Jt(r,s)}function mS(t){return function(){return this.matches(t)}}function gS(t){return function(e){return e.matches(t)}}var NF=Array.prototype.find;function PF(t){return function(){return NF.call(this.children,t)}}function EF(){return this.firstElementChild}function OF(t){return this.select(t==null?EF:PF(typeof t=="function"?t:gS(t)))}var MF=Array.prototype.filter;function DF(){return Array.from(this.children)}function AF(t){return function(){return MF.call(this.children,t)}}function TF(t){return this.selectAll(t==null?DF:AF(typeof t=="function"?t:gS(t)))}function LF(t){typeof t!="function"&&(t=mS(t));for(var e=this._groups,n=e.length,r=new Array(n),s=0;s<n;++s)for(var i=e[s],o=i.length,a=r[s]=[],l,d=0;d<o;++d)(l=i[d])&&t.call(l,l.__data__,d,i)&&a.push(l);return new Jt(r,this._parents)}function xS(t){return new Array(t.length)}function RF(){return new Jt(this._enter||this._groups.map(xS),this._parents)}function vd(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}vd.prototype={constructor:vd,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function IF(t){return function(){return t}}function $F(t,e,n,r,s,i){for(var o=0,a,l=e.length,d=i.length;o<d;++o)(a=e[o])?(a.__data__=i[o],r[o]=a):n[o]=new vd(t,i[o]);for(;o<l;++o)(a=e[o])&&(s[o]=a)}function BF(t,e,n,r,s,i,o){var a,l,d=new Map,u=e.length,h=i.length,f=new Array(u),p;for(a=0;a<u;++a)(l=e[a])&&(f[a]=p=o.call(l,l.__data__,a,e)+"",d.has(p)?s[a]=l:d.set(p,l));for(a=0;a<h;++a)p=o.call(t,i[a],a,i)+"",(l=d.get(p))?(r[a]=l,l.__data__=i[a],d.delete(p)):n[a]=new vd(t,i[a]);for(a=0;a<u;++a)(l=e[a])&&d.get(f[a])===l&&(s[a]=l)}function _F(t){return t.__data__}function FF(t,e){if(!arguments.length)return Array.from(this,_F);var n=e?BF:$F,r=this._parents,s=this._groups;typeof t!="function"&&(t=IF(t));for(var i=s.length,o=new Array(i),a=new Array(i),l=new Array(i),d=0;d<i;++d){var u=r[d],h=s[d],f=h.length,p=zF(t.call(u,u&&u.__data__,d,r)),m=p.length,x=a[d]=new Array(m),b=o[d]=new Array(m),y=l[d]=new Array(f);n(u,h,x,b,y,p,e);for(var k=0,v=0,w,C;k<m;++k)if(w=x[k]){for(k>=v&&(v=k+1);!(C=b[v])&&++v<m;);w._next=C||null}}return o=new Jt(o,r),o._enter=a,o._exit=l,o}function zF(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function HF(){return new Jt(this._exit||this._groups.map(xS),this._parents)}function VF(t,e,n){var r=this.enter(),s=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(s=e(s),s&&(s=s.selection())),n==null?i.remove():n(i),r&&s?r.merge(s).order():s}function WF(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,s=n.length,i=r.length,o=Math.min(s,i),a=new Array(s),l=0;l<o;++l)for(var d=n[l],u=r[l],h=d.length,f=a[l]=new Array(h),p,m=0;m<h;++m)(p=d[m]||u[m])&&(f[m]=p);for(;l<s;++l)a[l]=n[l];return new Jt(a,this._parents)}function KF(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],s=r.length-1,i=r[s],o;--s>=0;)(o=r[s])&&(i&&o.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(o,i),i=o);return this}function UF(t){t||(t=GF);function e(h,f){return h&&f?t(h.__data__,f.__data__):!h-!f}for(var n=this._groups,r=n.length,s=new Array(r),i=0;i<r;++i){for(var o=n[i],a=o.length,l=s[i]=new Array(a),d,u=0;u<a;++u)(d=o[u])&&(l[u]=d);l.sort(e)}return new Jt(s,this._parents).order()}function GF(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function qF(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function YF(){return Array.from(this)}function XF(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],s=0,i=r.length;s<i;++s){var o=r[s];if(o)return o}return null}function QF(){let t=0;for(const e of this)++t;return t}function JF(){return!this.node()}function ZF(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var s=e[n],i=0,o=s.length,a;i<o;++i)(a=s[i])&&t.call(a,a.__data__,i,s);return this}function ez(t){return function(){this.removeAttribute(t)}}function tz(t){return function(){this.removeAttributeNS(t.space,t.local)}}function nz(t,e){return function(){this.setAttribute(t,e)}}function rz(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function sz(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function iz(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function oz(t,e){var n=ou(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?tz:ez:typeof e=="function"?n.local?iz:sz:n.local?rz:nz)(n,e))}function bS(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function az(t){return function(){this.style.removeProperty(t)}}function lz(t,e,n){return function(){this.style.setProperty(t,e,n)}}function cz(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function dz(t,e,n){return arguments.length>1?this.each((e==null?az:typeof e=="function"?cz:lz)(t,e,n??"")):Pi(this.node(),t)}function Pi(t,e){return t.style.getPropertyValue(e)||bS(t).getComputedStyle(t,null).getPropertyValue(e)}function uz(t){return function(){delete this[t]}}function hz(t,e){return function(){this[t]=e}}function fz(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function pz(t,e){return arguments.length>1?this.each((e==null?uz:typeof e=="function"?fz:hz)(t,e)):this.node()[t]}function yS(t){return t.trim().split(/^|\s+/)}function Nm(t){return t.classList||new vS(t)}function vS(t){this._node=t,this._names=yS(t.getAttribute("class")||"")}vS.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function wS(t,e){for(var n=Nm(t),r=-1,s=e.length;++r<s;)n.add(e[r])}function kS(t,e){for(var n=Nm(t),r=-1,s=e.length;++r<s;)n.remove(e[r])}function mz(t){return function(){wS(this,t)}}function gz(t){return function(){kS(this,t)}}function xz(t,e){return function(){(e.apply(this,arguments)?wS:kS)(this,t)}}function bz(t,e){var n=yS(t+"");if(arguments.length<2){for(var r=Nm(this.node()),s=-1,i=n.length;++s<i;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof e=="function"?xz:e?mz:gz)(n,e))}function yz(){this.textContent=""}function vz(t){return function(){this.textContent=t}}function wz(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function kz(t){return arguments.length?this.each(t==null?yz:(typeof t=="function"?wz:vz)(t)):this.node().textContent}function Sz(){this.innerHTML=""}function Cz(t){return function(){this.innerHTML=t}}function jz(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function Nz(t){return arguments.length?this.each(t==null?Sz:(typeof t=="function"?jz:Cz)(t)):this.node().innerHTML}function Pz(){this.nextSibling&&this.parentNode.appendChild(this)}function Ez(){return this.each(Pz)}function Oz(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Mz(){return this.each(Oz)}function Dz(t){var e=typeof t=="function"?t:fS(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function Az(){return null}function Tz(t,e){var n=typeof t=="function"?t:fS(t),r=e==null?Az:typeof e=="function"?e:jm(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function Lz(){var t=this.parentNode;t&&t.removeChild(this)}function Rz(){return this.each(Lz)}function Iz(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function $z(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Bz(t){return this.select(t?$z:Iz)}function _z(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Fz(t){return function(e){t.call(this,e,this.__data__)}}function zz(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Hz(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,s=e.length,i;n<s;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function Vz(t,e,n){return function(){var r=this.__on,s,i=Fz(e);if(r){for(var o=0,a=r.length;o<a;++o)if((s=r[o]).type===t.type&&s.name===t.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=i,s.options=n),s.value=e;return}}this.addEventListener(t.type,i,n),s={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(s):this.__on=[s]}}function Wz(t,e,n){var r=zz(t+""),s,i=r.length,o;if(arguments.length<2){var a=this.node().__on;if(a){for(var l=0,d=a.length,u;l<d;++l)for(s=0,u=a[l];s<i;++s)if((o=r[s]).type===u.type&&o.name===u.name)return u.value}return}for(a=e?Vz:Hz,s=0;s<i;++s)this.each(a(r[s],e,n));return this}function SS(t,e,n){var r=bS(t),s=r.CustomEvent;typeof s=="function"?s=new s(e,n):(s=r.document.createEvent("Event"),n?(s.initEvent(e,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(e,!1,!1)),t.dispatchEvent(s)}function Kz(t,e){return function(){return SS(this,t,e)}}function Uz(t,e){return function(){return SS(this,t,e.apply(this,arguments))}}function Gz(t,e){return this.each((typeof e=="function"?Uz:Kz)(t,e))}function*qz(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],s=0,i=r.length,o;s<i;++s)(o=r[s])&&(yield o)}var CS=[null];function Jt(t,e){this._groups=t,this._parents=e}function kl(){return new Jt([[document.documentElement]],CS)}function Yz(){return this}Jt.prototype=kl.prototype={constructor:Jt,select:wF,selectAll:jF,selectChild:OF,selectChildren:TF,filter:LF,data:FF,enter:RF,exit:HF,join:VF,merge:WF,selection:Yz,order:KF,sort:UF,call:qF,nodes:YF,node:XF,size:QF,empty:JF,each:ZF,attr:oz,style:dz,property:pz,classed:bz,text:kz,html:Nz,raise:Ez,lower:Mz,append:Dz,insert:Tz,remove:Rz,clone:Bz,datum:_z,on:Wz,dispatch:Gz,[Symbol.iterator]:qz};function Xt(t){return typeof t=="string"?new Jt([[document.querySelector(t)]],[document.documentElement]):new Jt([[t]],CS)}function Xz(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Nn(t,e){if(t=Xz(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var s=e.getBoundingClientRect();return[t.clientX-s.left-e.clientLeft,t.clientY-s.top-e.clientTop]}}return[t.pageX,t.pageY]}const Qz={passive:!1},Va={capture:!0,passive:!1};function Dh(t){t.stopImmediatePropagation()}function gi(t){t.preventDefault(),t.stopImmediatePropagation()}function jS(t){var e=t.document.documentElement,n=Xt(t).on("dragstart.drag",gi,Va);"onselectstart"in e?n.on("selectstart.drag",gi,Va):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function NS(t,e){var n=t.document.documentElement,r=Xt(t).on("dragstart.drag",null);e&&(r.on("click.drag",gi,Va),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const cc=t=>()=>t;function Qf(t,{sourceEvent:e,subject:n,target:r,identifier:s,active:i,x:o,y:a,dx:l,dy:d,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:u}})}Qf.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Jz(t){return!t.ctrlKey&&!t.button}function Zz(){return this.parentNode}function eH(t,e){return e??{x:t.x,y:t.y}}function tH(){return navigator.maxTouchPoints||"ontouchstart"in this}function PS(){var t=Jz,e=Zz,n=eH,r=tH,s={},i=iu("start","drag","end"),o=0,a,l,d,u,h=0;function f(w){w.on("mousedown.drag",p).filter(r).on("touchstart.drag",b).on("touchmove.drag",y,Qz).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(w,C){if(!(u||!t.call(this,w,C))){var j=v(this,e.call(this,w,C),w,C,"mouse");j&&(Xt(w.view).on("mousemove.drag",m,Va).on("mouseup.drag",x,Va),jS(w.view),Dh(w),d=!1,a=w.clientX,l=w.clientY,j("start",w))}}function m(w){if(gi(w),!d){var C=w.clientX-a,j=w.clientY-l;d=C*C+j*j>h}s.mouse("drag",w)}function x(w){Xt(w.view).on("mousemove.drag mouseup.drag",null),NS(w.view,d),gi(w),s.mouse("end",w)}function b(w,C){if(t.call(this,w,C)){var j=w.changedTouches,S=e.call(this,w,C),E=j.length,O,A;for(O=0;O<E;++O)(A=v(this,S,w,C,j[O].identifier,j[O]))&&(Dh(w),A("start",w,j[O]))}}function y(w){var C=w.changedTouches,j=C.length,S,E;for(S=0;S<j;++S)(E=s[C[S].identifier])&&(gi(w),E("drag",w,C[S]))}function k(w){var C=w.changedTouches,j=C.length,S,E;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),S=0;S<j;++S)(E=s[C[S].identifier])&&(Dh(w),E("end",w,C[S]))}function v(w,C,j,S,E,O){var A=i.copy(),P=Nn(O||j,C),L,_,N;if((N=n.call(w,new Qf("beforestart",{sourceEvent:j,target:f,identifier:E,active:o,x:P[0],y:P[1],dx:0,dy:0,dispatch:A}),S))!=null)return L=N.x-P[0]||0,_=N.y-P[1]||0,function M(D,I,R){var $=P,V;switch(D){case"start":s[E]=M,V=o++;break;case"end":delete s[E],--o;case"drag":P=Nn(R||I,C),V=o;break}A.call(D,w,new Qf(D,{sourceEvent:I,subject:N,target:f,identifier:E,active:V,x:P[0]+L,y:P[1]+_,dx:P[0]-$[0],dy:P[1]-$[1],dispatch:A}),S)}}return f.filter=function(w){return arguments.length?(t=typeof w=="function"?w:cc(!!w),f):t},f.container=function(w){return arguments.length?(e=typeof w=="function"?w:cc(w),f):e},f.subject=function(w){return arguments.length?(n=typeof w=="function"?w:cc(w),f):n},f.touchable=function(w){return arguments.length?(r=typeof w=="function"?w:cc(!!w),f):r},f.on=function(){var w=i.on.apply(i,arguments);return w===i?f:w},f.clickDistance=function(w){return arguments.length?(h=(w=+w)*w,f):Math.sqrt(h)},f}function Pm(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function ES(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Sl(){}var Wa=.7,wd=1/Wa,xi="\\s*([+-]?\\d+)\\s*",Ka="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",nr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",nH=/^#([0-9a-f]{3,8})$/,rH=new RegExp(`^rgb\\(${xi},${xi},${xi}\\)$`),sH=new RegExp(`^rgb\\(${nr},${nr},${nr}\\)$`),iH=new RegExp(`^rgba\\(${xi},${xi},${xi},${Ka}\\)$`),oH=new RegExp(`^rgba\\(${nr},${nr},${nr},${Ka}\\)$`),aH=new RegExp(`^hsl\\(${Ka},${nr},${nr}\\)$`),lH=new RegExp(`^hsla\\(${Ka},${nr},${nr},${Ka}\\)$`),ty={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Pm(Sl,Ds,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ny,formatHex:ny,formatHex8:cH,formatHsl:dH,formatRgb:ry,toString:ry});function ny(){return this.rgb().formatHex()}function cH(){return this.rgb().formatHex8()}function dH(){return OS(this).formatHsl()}function ry(){return this.rgb().formatRgb()}function Ds(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=nH.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?sy(e):n===3?new Ht(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?dc(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?dc(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=rH.exec(t))?new Ht(e[1],e[2],e[3],1):(e=sH.exec(t))?new Ht(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=iH.exec(t))?dc(e[1],e[2],e[3],e[4]):(e=oH.exec(t))?dc(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=aH.exec(t))?ay(e[1],e[2]/100,e[3]/100,1):(e=lH.exec(t))?ay(e[1],e[2]/100,e[3]/100,e[4]):ty.hasOwnProperty(t)?sy(ty[t]):t==="transparent"?new Ht(NaN,NaN,NaN,0):null}function sy(t){return new Ht(t>>16&255,t>>8&255,t&255,1)}function dc(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ht(t,e,n,r)}function uH(t){return t instanceof Sl||(t=Ds(t)),t?(t=t.rgb(),new Ht(t.r,t.g,t.b,t.opacity)):new Ht}function Jf(t,e,n,r){return arguments.length===1?uH(t):new Ht(t,e,n,r??1)}function Ht(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Pm(Ht,Jf,ES(Sl,{brighter(t){return t=t==null?wd:Math.pow(wd,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Wa:Math.pow(Wa,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ht(js(this.r),js(this.g),js(this.b),kd(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:iy,formatHex:iy,formatHex8:hH,formatRgb:oy,toString:oy}));function iy(){return`#${ks(this.r)}${ks(this.g)}${ks(this.b)}`}function hH(){return`#${ks(this.r)}${ks(this.g)}${ks(this.b)}${ks((isNaN(this.opacity)?1:this.opacity)*255)}`}function oy(){const t=kd(this.opacity);return`${t===1?"rgb(":"rgba("}${js(this.r)}, ${js(this.g)}, ${js(this.b)}${t===1?")":`, ${t})`}`}function kd(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function js(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ks(t){return t=js(t),(t<16?"0":"")+t.toString(16)}function ay(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new En(t,e,n,r)}function OS(t){if(t instanceof En)return new En(t.h,t.s,t.l,t.opacity);if(t instanceof Sl||(t=Ds(t)),!t)return new En;if(t instanceof En)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,s=Math.min(e,n,r),i=Math.max(e,n,r),o=NaN,a=i-s,l=(i+s)/2;return a?(e===i?o=(n-r)/a+(n<r)*6:n===i?o=(r-e)/a+2:o=(e-n)/a+4,a/=l<.5?i+s:2-i-s,o*=60):a=l>0&&l<1?0:o,new En(o,a,l,t.opacity)}function fH(t,e,n,r){return arguments.length===1?OS(t):new En(t,e,n,r??1)}function En(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Pm(En,fH,ES(Sl,{brighter(t){return t=t==null?wd:Math.pow(wd,t),new En(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Wa:Math.pow(Wa,t),new En(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,s=2*n-r;return new Ht(Ah(t>=240?t-240:t+120,s,r),Ah(t,s,r),Ah(t<120?t+240:t-120,s,r),this.opacity)},clamp(){return new En(ly(this.h),uc(this.s),uc(this.l),kd(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=kd(this.opacity);return`${t===1?"hsl(":"hsla("}${ly(this.h)}, ${uc(this.s)*100}%, ${uc(this.l)*100}%${t===1?")":`, ${t})`}`}}));function ly(t){return t=(t||0)%360,t<0?t+360:t}function uc(t){return Math.max(0,Math.min(1,t||0))}function Ah(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Em=t=>()=>t;function pH(t,e){return function(n){return t+n*e}}function mH(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function gH(t){return(t=+t)==1?MS:function(e,n){return n-e?mH(e,n,t):Em(isNaN(e)?n:e)}}function MS(t,e){var n=e-t;return n?pH(t,n):Em(isNaN(t)?e:t)}const Sd=function t(e){var n=gH(e);function r(s,i){var o=n((s=Jf(s)).r,(i=Jf(i)).r),a=n(s.g,i.g),l=n(s.b,i.b),d=MS(s.opacity,i.opacity);return function(u){return s.r=o(u),s.g=a(u),s.b=l(u),s.opacity=d(u),s+""}}return r.gamma=t,r}(1);function xH(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),s;return function(i){for(s=0;s<n;++s)r[s]=t[s]*(1-i)+e[s]*i;return r}}function bH(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function yH(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,s=new Array(r),i=new Array(n),o;for(o=0;o<r;++o)s[o]=To(t[o],e[o]);for(;o<n;++o)i[o]=e[o];return function(a){for(o=0;o<r;++o)i[o]=s[o](a);return i}}function vH(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Gn(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function wH(t,e){var n={},r={},s;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(s in e)s in t?n[s]=To(t[s],e[s]):r[s]=e[s];return function(i){for(s in n)r[s]=n[s](i);return r}}var Zf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Th=new RegExp(Zf.source,"g");function kH(t){return function(){return t}}function SH(t){return function(e){return t(e)+""}}function DS(t,e){var n=Zf.lastIndex=Th.lastIndex=0,r,s,i,o=-1,a=[],l=[];for(t=t+"",e=e+"";(r=Zf.exec(t))&&(s=Th.exec(e));)(i=s.index)>n&&(i=e.slice(n,i),a[o]?a[o]+=i:a[++o]=i),(r=r[0])===(s=s[0])?a[o]?a[o]+=s:a[++o]=s:(a[++o]=null,l.push({i:o,x:Gn(r,s)})),n=Th.lastIndex;return n<e.length&&(i=e.slice(n),a[o]?a[o]+=i:a[++o]=i),a.length<2?l[0]?SH(l[0].x):kH(e):(e=l.length,function(d){for(var u=0,h;u<e;++u)a[(h=l[u]).i]=h.x(d);return a.join("")})}function To(t,e){var n=typeof e,r;return e==null||n==="boolean"?Em(e):(n==="number"?Gn:n==="string"?(r=Ds(e))?(e=r,Sd):DS:e instanceof Ds?Sd:e instanceof Date?vH:bH(e)?xH:Array.isArray(e)?yH:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?wH:Gn)(t,e)}var cy=180/Math.PI,ep={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function AS(t,e,n,r,s,i){var o,a,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,l/=a),t*r<e*n&&(t=-t,e=-e,l=-l,o=-o),{translateX:s,translateY:i,rotate:Math.atan2(e,t)*cy,skewX:Math.atan(l)*cy,scaleX:o,scaleY:a}}var hc;function CH(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?ep:AS(e.a,e.b,e.c,e.d,e.e,e.f)}function jH(t){return t==null||(hc||(hc=document.createElementNS("http://www.w3.org/2000/svg","g")),hc.setAttribute("transform",t),!(t=hc.transform.baseVal.consolidate()))?ep:(t=t.matrix,AS(t.a,t.b,t.c,t.d,t.e,t.f))}function TS(t,e,n,r){function s(d){return d.length?d.pop()+" ":""}function i(d,u,h,f,p,m){if(d!==h||u!==f){var x=p.push("translate(",null,e,null,n);m.push({i:x-4,x:Gn(d,h)},{i:x-2,x:Gn(u,f)})}else(h||f)&&p.push("translate("+h+e+f+n)}function o(d,u,h,f){d!==u?(d-u>180?u+=360:u-d>180&&(d+=360),f.push({i:h.push(s(h)+"rotate(",null,r)-2,x:Gn(d,u)})):u&&h.push(s(h)+"rotate("+u+r)}function a(d,u,h,f){d!==u?f.push({i:h.push(s(h)+"skewX(",null,r)-2,x:Gn(d,u)}):u&&h.push(s(h)+"skewX("+u+r)}function l(d,u,h,f,p,m){if(d!==h||u!==f){var x=p.push(s(p)+"scale(",null,",",null,")");m.push({i:x-4,x:Gn(d,h)},{i:x-2,x:Gn(u,f)})}else(h!==1||f!==1)&&p.push(s(p)+"scale("+h+","+f+")")}return function(d,u){var h=[],f=[];return d=t(d),u=t(u),i(d.translateX,d.translateY,u.translateX,u.translateY,h,f),o(d.rotate,u.rotate,h,f),a(d.skewX,u.skewX,h,f),l(d.scaleX,d.scaleY,u.scaleX,u.scaleY,h,f),d=u=null,function(p){for(var m=-1,x=f.length,b;++m<x;)h[(b=f[m]).i]=b.x(p);return h.join("")}}}var NH=TS(CH,"px, ","px)","deg)"),PH=TS(jH,", ",")",")"),EH=1e-12;function dy(t){return((t=Math.exp(t))+1/t)/2}function OH(t){return((t=Math.exp(t))-1/t)/2}function MH(t){return((t=Math.exp(2*t))-1)/(t+1)}const Lc=function t(e,n,r){function s(i,o){var a=i[0],l=i[1],d=i[2],u=o[0],h=o[1],f=o[2],p=u-a,m=h-l,x=p*p+m*m,b,y;if(x<EH)y=Math.log(f/d)/e,b=function(S){return[a+S*p,l+S*m,d*Math.exp(e*S*y)]};else{var k=Math.sqrt(x),v=(f*f-d*d+r*x)/(2*d*n*k),w=(f*f-d*d-r*x)/(2*f*n*k),C=Math.log(Math.sqrt(v*v+1)-v),j=Math.log(Math.sqrt(w*w+1)-w);y=(j-C)/e,b=function(S){var E=S*y,O=dy(C),A=d/(n*k)*(O*MH(e*E+C)-OH(C));return[a+A*p,l+A*m,d*O/dy(e*E+C)]}}return b.duration=y*1e3*e/Math.SQRT2,b}return s.rho=function(i){var o=Math.max(.001,+i),a=o*o,l=a*a;return t(o,a,l)},s}(Math.SQRT2,2,4);var Ei=0,yo=0,uo=0,LS=1e3,Cd,vo,jd=0,As=0,au=0,Ua=typeof performance=="object"&&performance.now?performance:Date,RS=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Om(){return As||(RS(DH),As=Ua.now()+au)}function DH(){As=0}function Nd(){this._call=this._time=this._next=null}Nd.prototype=IS.prototype={constructor:Nd,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Om():+n)+(e==null?0:+e),!this._next&&vo!==this&&(vo?vo._next=this:Cd=this,vo=this),this._call=t,this._time=n,tp()},stop:function(){this._call&&(this._call=null,this._time=1/0,tp())}};function IS(t,e,n){var r=new Nd;return r.restart(t,e,n),r}function AH(){Om(),++Ei;for(var t=Cd,e;t;)(e=As-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Ei}function uy(){As=(jd=Ua.now())+au,Ei=yo=0;try{AH()}finally{Ei=0,LH(),As=0}}function TH(){var t=Ua.now(),e=t-jd;e>LS&&(au-=e,jd=t)}function LH(){for(var t,e=Cd,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Cd=n);vo=t,tp(r)}function tp(t){if(!Ei){yo&&(yo=clearTimeout(yo));var e=t-As;e>24?(t<1/0&&(yo=setTimeout(uy,t-Ua.now()-au)),uo&&(uo=clearInterval(uo))):(uo||(jd=Ua.now(),uo=setInterval(TH,LS)),Ei=1,RS(uy))}}function hy(t,e,n){var r=new Nd;return e=e==null?0:+e,r.restart(s=>{r.stop(),t(s+e)},e,n),r}var RH=iu("start","end","cancel","interrupt"),IH=[],$S=0,fy=1,np=2,Rc=3,py=4,rp=5,Ic=6;function lu(t,e,n,r,s,i){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;$H(t,n,{name:e,index:r,group:s,on:RH,tween:IH,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:$S})}function Mm(t,e){var n=_n(t,e);if(n.state>$S)throw new Error("too late; already scheduled");return n}function lr(t,e){var n=_n(t,e);if(n.state>Rc)throw new Error("too late; already running");return n}function _n(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function $H(t,e,n){var r=t.__transition,s;r[e]=n,n.timer=IS(i,0,n.time);function i(d){n.state=fy,n.timer.restart(o,n.delay,n.time),n.delay<=d&&o(d-n.delay)}function o(d){var u,h,f,p;if(n.state!==fy)return l();for(u in r)if(p=r[u],p.name===n.name){if(p.state===Rc)return hy(o);p.state===py?(p.state=Ic,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[u]):+u<e&&(p.state=Ic,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete r[u])}if(hy(function(){n.state===Rc&&(n.state=py,n.timer.restart(a,n.delay,n.time),a(d))}),n.state=np,n.on.call("start",t,t.__data__,n.index,n.group),n.state===np){for(n.state=Rc,s=new Array(f=n.tween.length),u=0,h=-1;u<f;++u)(p=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(s[++h]=p);s.length=h+1}}function a(d){for(var u=d<n.duration?n.ease.call(null,d/n.duration):(n.timer.restart(l),n.state=rp,1),h=-1,f=s.length;++h<f;)s[h].call(t,u);n.state===rp&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=Ic,n.timer.stop(),delete r[e];for(var d in r)return;delete t.__transition}}function $c(t,e){var n=t.__transition,r,s,i=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){i=!1;continue}s=r.state>np&&r.state<rp,r.state=Ic,r.timer.stop(),r.on.call(s?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[o]}i&&delete t.__transition}}function BH(t){return this.each(function(){$c(this,t)})}function _H(t,e){var n,r;return function(){var s=lr(this,t),i=s.tween;if(i!==n){r=n=i;for(var o=0,a=r.length;o<a;++o)if(r[o].name===e){r=r.slice(),r.splice(o,1);break}}s.tween=r}}function FH(t,e,n){var r,s;if(typeof n!="function")throw new Error;return function(){var i=lr(this,t),o=i.tween;if(o!==r){s=(r=o).slice();for(var a={name:e,value:n},l=0,d=s.length;l<d;++l)if(s[l].name===e){s[l]=a;break}l===d&&s.push(a)}i.tween=s}}function zH(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=_n(this.node(),n).tween,s=0,i=r.length,o;s<i;++s)if((o=r[s]).name===t)return o.value;return null}return this.each((e==null?_H:FH)(n,t,e))}function Dm(t,e,n){var r=t._id;return t.each(function(){var s=lr(this,r);(s.value||(s.value={}))[e]=n.apply(this,arguments)}),function(s){return _n(s,r).value[e]}}function BS(t,e){var n;return(typeof e=="number"?Gn:e instanceof Ds?Sd:(n=Ds(e))?(e=n,Sd):DS)(t,e)}function HH(t){return function(){this.removeAttribute(t)}}function VH(t){return function(){this.removeAttributeNS(t.space,t.local)}}function WH(t,e,n){var r,s=n+"",i;return function(){var o=this.getAttribute(t);return o===s?null:o===r?i:i=e(r=o,n)}}function KH(t,e,n){var r,s=n+"",i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===s?null:o===r?i:i=e(r=o,n)}}function UH(t,e,n){var r,s,i;return function(){var o,a=n(this),l;return a==null?void this.removeAttribute(t):(o=this.getAttribute(t),l=a+"",o===l?null:o===r&&l===s?i:(s=l,i=e(r=o,a)))}}function GH(t,e,n){var r,s,i;return function(){var o,a=n(this),l;return a==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),l=a+"",o===l?null:o===r&&l===s?i:(s=l,i=e(r=o,a)))}}function qH(t,e){var n=ou(t),r=n==="transform"?PH:BS;return this.attrTween(t,typeof e=="function"?(n.local?GH:UH)(n,r,Dm(this,"attr."+t,e)):e==null?(n.local?VH:HH)(n):(n.local?KH:WH)(n,r,e))}function YH(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function XH(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function QH(t,e){var n,r;function s(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&XH(t,i)),n}return s._value=e,s}function JH(t,e){var n,r;function s(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&YH(t,i)),n}return s._value=e,s}function ZH(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=ou(t);return this.tween(n,(r.local?QH:JH)(r,e))}function eV(t,e){return function(){Mm(this,t).delay=+e.apply(this,arguments)}}function tV(t,e){return e=+e,function(){Mm(this,t).delay=e}}function nV(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?eV:tV)(e,t)):_n(this.node(),e).delay}function rV(t,e){return function(){lr(this,t).duration=+e.apply(this,arguments)}}function sV(t,e){return e=+e,function(){lr(this,t).duration=e}}function iV(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?rV:sV)(e,t)):_n(this.node(),e).duration}function oV(t,e){if(typeof e!="function")throw new Error;return function(){lr(this,t).ease=e}}function aV(t){var e=this._id;return arguments.length?this.each(oV(e,t)):_n(this.node(),e).ease}function lV(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;lr(this,t).ease=n}}function cV(t){if(typeof t!="function")throw new Error;return this.each(lV(this._id,t))}function dV(t){typeof t!="function"&&(t=mS(t));for(var e=this._groups,n=e.length,r=new Array(n),s=0;s<n;++s)for(var i=e[s],o=i.length,a=r[s]=[],l,d=0;d<o;++d)(l=i[d])&&t.call(l,l.__data__,d,i)&&a.push(l);return new Cr(r,this._parents,this._name,this._id)}function uV(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,s=n.length,i=Math.min(r,s),o=new Array(r),a=0;a<i;++a)for(var l=e[a],d=n[a],u=l.length,h=o[a]=new Array(u),f,p=0;p<u;++p)(f=l[p]||d[p])&&(h[p]=f);for(;a<r;++a)o[a]=e[a];return new Cr(o,this._parents,this._name,this._id)}function hV(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function fV(t,e,n){var r,s,i=hV(e)?Mm:lr;return function(){var o=i(this,t),a=o.on;a!==r&&(s=(r=a).copy()).on(e,n),o.on=s}}function pV(t,e){var n=this._id;return arguments.length<2?_n(this.node(),n).on.on(t):this.each(fV(n,t,e))}function mV(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function gV(){return this.on("end.remove",mV(this._id))}function xV(t){var e=this._name,n=this._id;typeof t!="function"&&(t=jm(t));for(var r=this._groups,s=r.length,i=new Array(s),o=0;o<s;++o)for(var a=r[o],l=a.length,d=i[o]=new Array(l),u,h,f=0;f<l;++f)(u=a[f])&&(h=t.call(u,u.__data__,f,a))&&("__data__"in u&&(h.__data__=u.__data__),d[f]=h,lu(d[f],e,n,f,d,_n(u,n)));return new Cr(i,this._parents,e,n)}function bV(t){var e=this._name,n=this._id;typeof t!="function"&&(t=pS(t));for(var r=this._groups,s=r.length,i=[],o=[],a=0;a<s;++a)for(var l=r[a],d=l.length,u,h=0;h<d;++h)if(u=l[h]){for(var f=t.call(u,u.__data__,h,l),p,m=_n(u,n),x=0,b=f.length;x<b;++x)(p=f[x])&&lu(p,e,n,x,f,m);i.push(f),o.push(u)}return new Cr(i,o,e,n)}var yV=kl.prototype.constructor;function vV(){return new yV(this._groups,this._parents)}function wV(t,e){var n,r,s;return function(){var i=Pi(this,t),o=(this.style.removeProperty(t),Pi(this,t));return i===o?null:i===n&&o===r?s:s=e(n=i,r=o)}}function _S(t){return function(){this.style.removeProperty(t)}}function kV(t,e,n){var r,s=n+"",i;return function(){var o=Pi(this,t);return o===s?null:o===r?i:i=e(r=o,n)}}function SV(t,e,n){var r,s,i;return function(){var o=Pi(this,t),a=n(this),l=a+"";return a==null&&(l=a=(this.style.removeProperty(t),Pi(this,t))),o===l?null:o===r&&l===s?i:(s=l,i=e(r=o,a))}}function CV(t,e){var n,r,s,i="style."+e,o="end."+i,a;return function(){var l=lr(this,t),d=l.on,u=l.value[i]==null?a||(a=_S(e)):void 0;(d!==n||s!==u)&&(r=(n=d).copy()).on(o,s=u),l.on=r}}function jV(t,e,n){var r=(t+="")=="transform"?NH:BS;return e==null?this.styleTween(t,wV(t,r)).on("end.style."+t,_S(t)):typeof e=="function"?this.styleTween(t,SV(t,r,Dm(this,"style."+t,e))).each(CV(this._id,t)):this.styleTween(t,kV(t,r,e),n).on("end.style."+t,null)}function NV(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function PV(t,e,n){var r,s;function i(){var o=e.apply(this,arguments);return o!==s&&(r=(s=o)&&NV(t,o,n)),r}return i._value=e,i}function EV(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,PV(t,e,n??""))}function OV(t){return function(){this.textContent=t}}function MV(t){return function(){var e=t(this);this.textContent=e??""}}function DV(t){return this.tween("text",typeof t=="function"?MV(Dm(this,"text",t)):OV(t==null?"":t+""))}function AV(t){return function(e){this.textContent=t.call(this,e)}}function TV(t){var e,n;function r(){var s=t.apply(this,arguments);return s!==n&&(e=(n=s)&&AV(s)),e}return r._value=t,r}function LV(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,TV(t))}function RV(){for(var t=this._name,e=this._id,n=FS(),r=this._groups,s=r.length,i=0;i<s;++i)for(var o=r[i],a=o.length,l,d=0;d<a;++d)if(l=o[d]){var u=_n(l,e);lu(l,t,n,d,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Cr(r,this._parents,t,n)}function IV(){var t,e,n=this,r=n._id,s=n.size();return new Promise(function(i,o){var a={value:o},l={value:function(){--s===0&&i()}};n.each(function(){var d=lr(this,r),u=d.on;u!==t&&(e=(t=u).copy(),e._.cancel.push(a),e._.interrupt.push(a),e._.end.push(l)),d.on=e}),s===0&&i()})}var $V=0;function Cr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function FS(){return++$V}var mr=kl.prototype;Cr.prototype={constructor:Cr,select:xV,selectAll:bV,selectChild:mr.selectChild,selectChildren:mr.selectChildren,filter:dV,merge:uV,selection:vV,transition:RV,call:mr.call,nodes:mr.nodes,node:mr.node,size:mr.size,empty:mr.empty,each:mr.each,on:pV,attr:qH,attrTween:ZH,style:jV,styleTween:EV,text:DV,textTween:LV,remove:gV,tween:zH,delay:nV,duration:iV,ease:aV,easeVarying:cV,end:IV,[Symbol.iterator]:mr[Symbol.iterator]};function BV(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var _V={time:null,delay:0,duration:250,ease:BV};function FV(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function zV(t){var e,n;t instanceof Cr?(e=t._id,t=t._name):(e=FS(),(n=_V).time=Om(),t=t==null?null:t+"");for(var r=this._groups,s=r.length,i=0;i<s;++i)for(var o=r[i],a=o.length,l,d=0;d<a;++d)(l=o[d])&&lu(l,t,e,d,o,n||FV(l,e));return new Cr(r,this._parents,t,e)}kl.prototype.interrupt=BH;kl.prototype.transition=zV;const fc=t=>()=>t;function HV(t,{sourceEvent:e,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function vr(t,e,n){this.k=t,this.x=e,this.y=n}vr.prototype={constructor:vr,scale:function(t){return t===1?this:new vr(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new vr(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var cu=new vr(1,0,0);zS.prototype=vr.prototype;function zS(t){for(;!t.__zoom;)if(!(t=t.parentNode))return cu;return t.__zoom}function Lh(t){t.stopImmediatePropagation()}function ho(t){t.preventDefault(),t.stopImmediatePropagation()}function VV(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function WV(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function my(){return this.__zoom||cu}function KV(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function UV(){return navigator.maxTouchPoints||"ontouchstart"in this}function GV(t,e,n){var r=t.invertX(e[0][0])-n[0][0],s=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function HS(){var t=VV,e=WV,n=GV,r=KV,s=UV,i=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Lc,d=iu("start","zoom","end"),u,h,f,p=500,m=150,x=0,b=10;function y(N){N.property("__zoom",my).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",O).on("dblclick.zoom",A).filter(s).on("touchstart.zoom",P).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",_).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(N,M,D,I){var R=N.selection?N.selection():N;R.property("__zoom",my),N!==R?C(N,M,D,I):R.interrupt().each(function(){j(this,arguments).event(I).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},y.scaleBy=function(N,M,D,I){y.scaleTo(N,function(){var R=this.__zoom.k,$=typeof M=="function"?M.apply(this,arguments):M;return R*$},D,I)},y.scaleTo=function(N,M,D,I){y.transform(N,function(){var R=e.apply(this,arguments),$=this.__zoom,V=D==null?w(R):typeof D=="function"?D.apply(this,arguments):D,W=$.invert(V),F=typeof M=="function"?M.apply(this,arguments):M;return n(v(k($,F),V,W),R,o)},D,I)},y.translateBy=function(N,M,D,I){y.transform(N,function(){return n(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof D=="function"?D.apply(this,arguments):D),e.apply(this,arguments),o)},null,I)},y.translateTo=function(N,M,D,I,R){y.transform(N,function(){var $=e.apply(this,arguments),V=this.__zoom,W=I==null?w($):typeof I=="function"?I.apply(this,arguments):I;return n(cu.translate(W[0],W[1]).scale(V.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof D=="function"?-D.apply(this,arguments):-D),$,o)},I,R)};function k(N,M){return M=Math.max(i[0],Math.min(i[1],M)),M===N.k?N:new vr(M,N.x,N.y)}function v(N,M,D){var I=M[0]-D[0]*N.k,R=M[1]-D[1]*N.k;return I===N.x&&R===N.y?N:new vr(N.k,I,R)}function w(N){return[(+N[0][0]+ +N[1][0])/2,(+N[0][1]+ +N[1][1])/2]}function C(N,M,D,I){N.on("start.zoom",function(){j(this,arguments).event(I).start()}).on("interrupt.zoom end.zoom",function(){j(this,arguments).event(I).end()}).tween("zoom",function(){var R=this,$=arguments,V=j(R,$).event(I),W=e.apply(R,$),F=D==null?w(W):typeof D=="function"?D.apply(R,$):D,Y=Math.max(W[1][0]-W[0][0],W[1][1]-W[0][1]),q=R.__zoom,ne=typeof M=="function"?M.apply(R,$):M,ue=l(q.invert(F).concat(Y/q.k),ne.invert(F).concat(Y/ne.k));return function(ae){if(ae===1)ae=ne;else{var z=ue(ae),te=Y/z[2];ae=new vr(te,F[0]-z[0]*te,F[1]-z[1]*te)}V.zoom(null,ae)}})}function j(N,M,D){return!D&&N.__zooming||new S(N,M)}function S(N,M){this.that=N,this.args=M,this.active=0,this.sourceEvent=null,this.extent=e.apply(N,M),this.taps=0}S.prototype={event:function(N){return N&&(this.sourceEvent=N),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(N,M){return this.mouse&&N!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&N!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&N!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(N){var M=Xt(this.that).datum();d.call(N,this.that,new HV(N,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:d}),M)}};function E(N,...M){if(!t.apply(this,arguments))return;var D=j(this,M).event(N),I=this.__zoom,R=Math.max(i[0],Math.min(i[1],I.k*Math.pow(2,r.apply(this,arguments)))),$=Nn(N);if(D.wheel)(D.mouse[0][0]!==$[0]||D.mouse[0][1]!==$[1])&&(D.mouse[1]=I.invert(D.mouse[0]=$)),clearTimeout(D.wheel);else{if(I.k===R)return;D.mouse=[$,I.invert($)],$c(this),D.start()}ho(N),D.wheel=setTimeout(V,m),D.zoom("mouse",n(v(k(I,R),D.mouse[0],D.mouse[1]),D.extent,o));function V(){D.wheel=null,D.end()}}function O(N,...M){if(f||!t.apply(this,arguments))return;var D=N.currentTarget,I=j(this,M,!0).event(N),R=Xt(N.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",Y,!0),$=Nn(N,D),V=N.clientX,W=N.clientY;jS(N.view),Lh(N),I.mouse=[$,this.__zoom.invert($)],$c(this),I.start();function F(q){if(ho(q),!I.moved){var ne=q.clientX-V,ue=q.clientY-W;I.moved=ne*ne+ue*ue>x}I.event(q).zoom("mouse",n(v(I.that.__zoom,I.mouse[0]=Nn(q,D),I.mouse[1]),I.extent,o))}function Y(q){R.on("mousemove.zoom mouseup.zoom",null),NS(q.view,I.moved),ho(q),I.event(q).end()}}function A(N,...M){if(t.apply(this,arguments)){var D=this.__zoom,I=Nn(N.changedTouches?N.changedTouches[0]:N,this),R=D.invert(I),$=D.k*(N.shiftKey?.5:2),V=n(v(k(D,$),I,R),e.apply(this,M),o);ho(N),a>0?Xt(this).transition().duration(a).call(C,V,I,N):Xt(this).call(y.transform,V,I,N)}}function P(N,...M){if(t.apply(this,arguments)){var D=N.touches,I=D.length,R=j(this,M,N.changedTouches.length===I).event(N),$,V,W,F;for(Lh(N),V=0;V<I;++V)W=D[V],F=Nn(W,this),F=[F,this.__zoom.invert(F),W.identifier],R.touch0?!R.touch1&&R.touch0[2]!==F[2]&&(R.touch1=F,R.taps=0):(R.touch0=F,$=!0,R.taps=1+!!u);u&&(u=clearTimeout(u)),$&&(R.taps<2&&(h=F[0],u=setTimeout(function(){u=null},p)),$c(this),R.start())}}function L(N,...M){if(this.__zooming){var D=j(this,M).event(N),I=N.changedTouches,R=I.length,$,V,W,F;for(ho(N),$=0;$<R;++$)V=I[$],W=Nn(V,this),D.touch0&&D.touch0[2]===V.identifier?D.touch0[0]=W:D.touch1&&D.touch1[2]===V.identifier&&(D.touch1[0]=W);if(V=D.that.__zoom,D.touch1){var Y=D.touch0[0],q=D.touch0[1],ne=D.touch1[0],ue=D.touch1[1],ae=(ae=ne[0]-Y[0])*ae+(ae=ne[1]-Y[1])*ae,z=(z=ue[0]-q[0])*z+(z=ue[1]-q[1])*z;V=k(V,Math.sqrt(ae/z)),W=[(Y[0]+ne[0])/2,(Y[1]+ne[1])/2],F=[(q[0]+ue[0])/2,(q[1]+ue[1])/2]}else if(D.touch0)W=D.touch0[0],F=D.touch0[1];else return;D.zoom("touch",n(v(V,W,F),D.extent,o))}}function _(N,...M){if(this.__zooming){var D=j(this,M).event(N),I=N.changedTouches,R=I.length,$,V;for(Lh(N),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),$=0;$<R;++$)V=I[$],D.touch0&&D.touch0[2]===V.identifier?delete D.touch0:D.touch1&&D.touch1[2]===V.identifier&&delete D.touch1;if(D.touch1&&!D.touch0&&(D.touch0=D.touch1,delete D.touch1),D.touch0)D.touch0[1]=this.__zoom.invert(D.touch0[0]);else if(D.end(),D.taps===2&&(V=Nn(V,this),Math.hypot(h[0]-V[0],h[1]-V[1])<b)){var W=Xt(this).on("dblclick.zoom");W&&W.apply(this,arguments)}}}return y.wheelDelta=function(N){return arguments.length?(r=typeof N=="function"?N:fc(+N),y):r},y.filter=function(N){return arguments.length?(t=typeof N=="function"?N:fc(!!N),y):t},y.touchable=function(N){return arguments.length?(s=typeof N=="function"?N:fc(!!N),y):s},y.extent=function(N){return arguments.length?(e=typeof N=="function"?N:fc([[+N[0][0],+N[0][1]],[+N[1][0],+N[1][1]]]),y):e},y.scaleExtent=function(N){return arguments.length?(i[0]=+N[0],i[1]=+N[1],y):[i[0],i[1]]},y.translateExtent=function(N){return arguments.length?(o[0][0]=+N[0][0],o[1][0]=+N[1][0],o[0][1]=+N[0][1],o[1][1]=+N[1][1],y):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},y.constrain=function(N){return arguments.length?(n=N,y):n},y.duration=function(N){return arguments.length?(a=+N,y):a},y.interpolate=function(N){return arguments.length?(l=N,y):l},y.on=function(){var N=d.on.apply(d,arguments);return N===d?y:N},y.clickDistance=function(N){return arguments.length?(x=(N=+N)*N,y):Math.sqrt(x)},y.tapDistance=function(N){return arguments.length?(b=+N,y):b},y}const sr={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${t} handle id: "${t==="source"?n:r}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Ga=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],VS=["Enter"," ","Escape"],WS={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:e,y:n})=>`Moved selected node ${t}. New position, x: ${e}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Oi;(function(t){t.Strict="strict",t.Loose="loose"})(Oi||(Oi={}));var Ns;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Ns||(Ns={}));var qa;(function(t){t.Partial="partial",t.Full="full"})(qa||(qa={}));const KS={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var zr;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(zr||(zr={}));var Pd;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(Pd||(Pd={}));var ye;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(ye||(ye={}));const gy={[ye.Left]:ye.Right,[ye.Right]:ye.Left,[ye.Top]:ye.Bottom,[ye.Bottom]:ye.Top};function US(t){return t===null?null:t?"valid":"invalid"}const GS=t=>"id"in t&&"source"in t&&"target"in t,qV=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),Am=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),Cl=(t,e=[0,0])=>{const{width:n,height:r}=jr(t),s=t.origin??e,i=n*s[0],o=r*s[1];return{x:t.position.x-i,y:t.position.y-o}},YV=(t,e={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};const n=t.reduce((r,s)=>{const i=typeof s=="string";let o=!e.nodeLookup&&!i?s:void 0;e.nodeLookup&&(o=i?e.nodeLookup.get(s):Am(s)?s:e.nodeLookup.get(s.id));const a=o?Ed(o,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return du(r,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return uu(n)},jl=(t,e={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return t.forEach(s=>{(e.filter===void 0||e.filter(s))&&(n=du(n,Ed(s)),r=!0)}),r?uu(n):{x:0,y:0,width:0,height:0}},Tm=(t,e,[n,r,s]=[0,0,1],i=!1,o=!1)=>{const a={...Pl(e,[n,r,s]),width:e.width/s,height:e.height/s},l=[];for(const d of t.values()){const{measured:u,selectable:h=!0,hidden:f=!1}=d;if(o&&!h||f)continue;const p=u.width??d.width??d.initialWidth??null,m=u.height??d.height??d.initialHeight??null,x=Ya(a,Di(d)),b=(p??0)*(m??0),y=i&&x>0;(!d.internals.handleBounds||y||x>=b||d.dragging)&&l.push(d)}return l},XV=(t,e)=>{const n=new Set;return t.forEach(r=>{n.add(r.id)}),e.filter(r=>n.has(r.source)||n.has(r.target))};function QV(t,e){const n=new Map,r=e?.nodes?new Set(e.nodes.map(s=>s.id)):null;return t.forEach(s=>{s.measured.width&&s.measured.height&&(e?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function JV({nodes:t,width:e,height:n,panZoom:r,minZoom:s,maxZoom:i},o){if(t.size===0)return Promise.resolve(!0);const a=QV(t,o),l=jl(a),d=Lm(l,e,n,o?.minZoom??s,o?.maxZoom??i,o?.padding??.1);return await r.setViewport(d,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),Promise.resolve(!0)}function qS({nodeId:t,nextPosition:e,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:i}){const o=n.get(t),a=o.parentId?n.get(o.parentId):void 0,{x:l,y:d}=a?a.internals.positionAbsolute:{x:0,y:0},u=o.origin??r;let h=o.extent||s;if(o.extent==="parent"&&!o.expandParent)if(!a)i?.("005",sr.error005());else{const p=a.measured.width,m=a.measured.height;p&&m&&(h=[[l,d],[l+p,d+m]])}else a&&Ai(o.extent)&&(h=[[o.extent[0][0]+l,o.extent[0][1]+d],[o.extent[1][0]+l,o.extent[1][1]+d]]);const f=Ai(h)?Ts(e,h,o.measured):e;return(o.measured.width===void 0||o.measured.height===void 0)&&i?.("015",sr.error015()),{position:{x:f.x-l+(o.measured.width??0)*u[0],y:f.y-d+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function ZV({nodesToRemove:t=[],edgesToRemove:e=[],nodes:n,edges:r,onBeforeDelete:s}){const i=new Set(t.map(f=>f.id)),o=[];for(const f of n){if(f.deletable===!1)continue;const p=i.has(f.id),m=!p&&f.parentId&&o.find(x=>x.id===f.parentId);(p||m)&&o.push(f)}const a=new Set(e.map(f=>f.id)),l=r.filter(f=>f.deletable!==!1),u=XV(o,l);for(const f of l)a.has(f.id)&&!u.find(m=>m.id===f.id)&&u.push(f);if(!s)return{edges:u,nodes:o};const h=await s({nodes:o,edges:u});return typeof h=="boolean"?h?{edges:u,nodes:o}:{edges:[],nodes:[]}:h}const Mi=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),Ts=(t={x:0,y:0},e,n)=>({x:Mi(t.x,e[0][0],e[1][0]-(n?.width??0)),y:Mi(t.y,e[0][1],e[1][1]-(n?.height??0))});function YS(t,e,n){const{width:r,height:s}=jr(n),{x:i,y:o}=n.internals.positionAbsolute;return Ts(t,[[i,o],[i+r,o+s]],e)}const xy=(t,e,n)=>t<e?Mi(Math.abs(t-e),1,e)/e:t>n?-Mi(Math.abs(t-n),1,e)/e:0,XS=(t,e,n=15,r=40)=>{const s=xy(t.x,r,e.width-r)*n,i=xy(t.y,r,e.height-r)*n;return[s,i]},du=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),sp=({x:t,y:e,width:n,height:r})=>({x:t,y:e,x2:t+n,y2:e+r}),uu=({x:t,y:e,x2:n,y2:r})=>({x:t,y:e,width:n-t,height:r-e}),Di=(t,e=[0,0])=>{const{x:n,y:r}=Am(t)?t.internals.positionAbsolute:Cl(t,e);return{x:n,y:r,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},Ed=(t,e=[0,0])=>{const{x:n,y:r}=Am(t)?t.internals.positionAbsolute:Cl(t,e);return{x:n,y:r,x2:n+(t.measured?.width??t.width??t.initialWidth??0),y2:r+(t.measured?.height??t.height??t.initialHeight??0)}},QS=(t,e)=>uu(du(sp(t),sp(e))),Ya=(t,e)=>{const n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),r=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*r)},by=t=>Dn(t.width)&&Dn(t.height)&&Dn(t.x)&&Dn(t.y),Dn=t=>!isNaN(t)&&isFinite(t),eW=(t,e)=>{},Nl=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),Pl=({x:t,y:e},[n,r,s],i=!1,o=[1,1])=>{const a={x:(t-n)/s,y:(e-r)/s};return i?Nl(a,o):a},Od=({x:t,y:e},[n,r,s])=>({x:t*s+n,y:e*s+r});function qs(t,e){if(typeof t=="number")return Math.floor((e-e/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){const n=parseFloat(t);if(!Number.isNaN(n))return Math.floor(n)}if(typeof t=="string"&&t.endsWith("%")){const n=parseFloat(t);if(!Number.isNaN(n))return Math.floor(e*n*.01)}return console.error(`[React Flow] The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function tW(t,e,n){if(typeof t=="string"||typeof t=="number"){const r=qs(t,n),s=qs(t,e);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof t=="object"){const r=qs(t.top??t.y??0,n),s=qs(t.bottom??t.y??0,n),i=qs(t.left??t.x??0,e),o=qs(t.right??t.x??0,e);return{top:r,right:o,bottom:s,left:i,x:i+o,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function nW(t,e,n,r,s,i){const{x:o,y:a}=Od(t,[e,n,r]),{x:l,y:d}=Od({x:t.x+t.width,y:t.y+t.height},[e,n,r]),u=s-l,h=i-d;return{left:Math.floor(o),top:Math.floor(a),right:Math.floor(u),bottom:Math.floor(h)}}const Lm=(t,e,n,r,s,i)=>{const o=tW(i,e,n),a=(e-o.x)/t.width,l=(n-o.y)/t.height,d=Math.min(a,l),u=Mi(d,r,s),h=t.x+t.width/2,f=t.y+t.height/2,p=e/2-h*u,m=n/2-f*u,x=nW(t,p,m,u,e,n),b={left:Math.min(x.left-o.left,0),top:Math.min(x.top-o.top,0),right:Math.min(x.right-o.right,0),bottom:Math.min(x.bottom-o.bottom,0)};return{x:p-b.left+b.right,y:m-b.top+b.bottom,zoom:u}},Xa=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Ai(t){return t!=null&&t!=="parent"}function jr(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function JS(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function ZS(t,e={width:0,height:0},n,r,s){const i={...t},o=r.get(n);if(o){const a=o.origin||s;i.x+=o.internals.positionAbsolute.x-(e.width??0)*a[0],i.y+=o.internals.positionAbsolute.y-(e.height??0)*a[1]}return i}function yy(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}function rW(){let t,e;return{promise:new Promise((r,s)=>{t=r,e=s}),resolve:t,reject:e}}function sW(t){return{...WS,...t||{}}}function Lo(t,{snapGrid:e=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:i,y:o}=An(t),a=Pl({x:i-(s?.left??0),y:o-(s?.top??0)},r),{x:l,y:d}=n?Nl(a,e):a;return{xSnapped:l,ySnapped:d,...a}}const Rm=t=>({width:t.offsetWidth,height:t.offsetHeight}),eC=t=>t?.getRootNode?.()||window?.document,iW=["INPUT","SELECT","TEXTAREA"];function tC(t){const e=t.composedPath?.()?.[0]||t.target;return e?.nodeType!==1?!1:iW.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}const nC=t=>"clientX"in t,An=(t,e)=>{const n=nC(t),r=n?t.clientX:t.touches?.[0].clientX,s=n?t.clientY:t.touches?.[0].clientY;return{x:r-(e?.left??0),y:s-(e?.top??0)}},vy=(t,e,n,r,s)=>{const i=e.querySelectorAll(`.${t}`);return!i||!i.length?null:Array.from(i).map(o=>{const a=o.getBoundingClientRect();return{id:o.getAttribute("data-handleid"),type:t,nodeId:s,position:o.getAttribute("data-handlepos"),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...Rm(o)}})};function rC({sourceX:t,sourceY:e,targetX:n,targetY:r,sourceControlX:s,sourceControlY:i,targetControlX:o,targetControlY:a}){const l=t*.125+s*.375+o*.375+n*.125,d=e*.125+i*.375+a*.375+r*.125,u=Math.abs(l-t),h=Math.abs(d-e);return[l,d,u,h]}function pc(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function wy({pos:t,x1:e,y1:n,x2:r,y2:s,c:i}){switch(t){case ye.Left:return[e-pc(e-r,i),n];case ye.Right:return[e+pc(r-e,i),n];case ye.Top:return[e,n-pc(n-s,i)];case ye.Bottom:return[e,n+pc(s-n,i)]}}function sC({sourceX:t,sourceY:e,sourcePosition:n=ye.Bottom,targetX:r,targetY:s,targetPosition:i=ye.Top,curvature:o=.25}){const[a,l]=wy({pos:n,x1:t,y1:e,x2:r,y2:s,c:o}),[d,u]=wy({pos:i,x1:r,y1:s,x2:t,y2:e,c:o}),[h,f,p,m]=rC({sourceX:t,sourceY:e,targetX:r,targetY:s,sourceControlX:a,sourceControlY:l,targetControlX:d,targetControlY:u});return[`M${t},${e} C${a},${l} ${d},${u} ${r},${s}`,h,f,p,m]}function iC({sourceX:t,sourceY:e,targetX:n,targetY:r}){const s=Math.abs(n-t)/2,i=n<t?n+s:n-s,o=Math.abs(r-e)/2,a=r<e?r+o:r-o;return[i,a,s,o]}function oW({sourceNode:t,targetNode:e,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:i="basic"}){if(i==="manual")return r;const o=s&&n?r+1e3:r,a=Math.max(t.parentId||s&&t.selected?t.internals.z:0,e.parentId||s&&e.selected?e.internals.z:0);return o+a}function aW({sourceNode:t,targetNode:e,width:n,height:r,transform:s}){const i=du(Ed(t),Ed(e));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const o={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return Ya(o,uu(i))>0}const lW=({source:t,sourceHandle:e,target:n,targetHandle:r})=>`xy-edge__${t}${e||""}-${n}${r||""}`,cW=(t,e)=>e.some(n=>n.source===t.source&&n.target===t.target&&(n.sourceHandle===t.sourceHandle||!n.sourceHandle&&!t.sourceHandle)&&(n.targetHandle===t.targetHandle||!n.targetHandle&&!t.targetHandle)),dW=(t,e,n={})=>{if(!t.source||!t.target)return e;const r=n.getEdgeId||lW;let s;return GS(t)?s={...t}:s={...t,id:r(t)},cW(s,e)?e:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,e.concat(s))};function oC({sourceX:t,sourceY:e,targetX:n,targetY:r}){const[s,i,o,a]=iC({sourceX:t,sourceY:e,targetX:n,targetY:r});return[`M ${t},${e}L ${n},${r}`,s,i,o,a]}const ky={[ye.Left]:{x:-1,y:0},[ye.Right]:{x:1,y:0},[ye.Top]:{x:0,y:-1},[ye.Bottom]:{x:0,y:1}},uW=({source:t,sourcePosition:e=ye.Bottom,target:n})=>e===ye.Left||e===ye.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},Sy=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function hW({source:t,sourcePosition:e=ye.Bottom,target:n,targetPosition:r=ye.Top,center:s,offset:i,stepPosition:o}){const a=ky[e],l=ky[r],d={x:t.x+a.x*i,y:t.y+a.y*i},u={x:n.x+l.x*i,y:n.y+l.y*i},h=uW({source:d,sourcePosition:e,target:u}),f=h.x!==0?"x":"y",p=h[f];let m=[],x,b;const y={x:0,y:0},k={x:0,y:0},[,,v,w]=iC({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(a[f]*l[f]===-1){f==="x"?(x=s.x??d.x+(u.x-d.x)*o,b=s.y??(d.y+u.y)/2):(x=s.x??(d.x+u.x)/2,b=s.y??d.y+(u.y-d.y)*o);const E=[{x,y:d.y},{x,y:u.y}],O=[{x:d.x,y:b},{x:u.x,y:b}];a[f]===p?m=f==="x"?E:O:m=f==="x"?O:E}else{const E=[{x:d.x,y:u.y}],O=[{x:u.x,y:d.y}];if(f==="x"?m=a.x===p?O:E:m=a.y===p?E:O,e===r){const N=Math.abs(t[f]-n[f]);if(N<=i){const M=Math.min(i-1,i-N);a[f]===p?y[f]=(d[f]>t[f]?-1:1)*M:k[f]=(u[f]>n[f]?-1:1)*M}}if(e!==r){const N=f==="x"?"y":"x",M=a[f]===l[N],D=d[N]>u[N],I=d[N]<u[N];(a[f]===1&&(!M&&D||M&&I)||a[f]!==1&&(!M&&I||M&&D))&&(m=f==="x"?E:O)}const A={x:d.x+y.x,y:d.y+y.y},P={x:u.x+k.x,y:u.y+k.y},L=Math.max(Math.abs(A.x-m[0].x),Math.abs(P.x-m[0].x)),_=Math.max(Math.abs(A.y-m[0].y),Math.abs(P.y-m[0].y));L>=_?(x=(A.x+P.x)/2,b=m[0].y):(x=m[0].x,b=(A.y+P.y)/2)}const C={x:d.x+y.x,y:d.y+y.y},j={x:u.x+k.x,y:u.y+k.y};return[[t,...C.x!==m[0].x||C.y!==m[0].y?[C]:[],...m,...j.x!==m[m.length-1].x||j.y!==m[m.length-1].y?[j]:[],n],x,b,v,w]}function fW(t,e,n,r){const s=Math.min(Sy(t,e)/2,Sy(e,n)/2,r),{x:i,y:o}=e;if(t.x===i&&i===n.x||t.y===o&&o===n.y)return`L${i} ${o}`;if(t.y===o){const d=t.x<n.x?-1:1,u=t.y<n.y?1:-1;return`L ${i+s*d},${o}Q ${i},${o} ${i},${o+s*u}`}const a=t.x<n.x?1:-1,l=t.y<n.y?-1:1;return`L ${i},${o+s*l}Q ${i},${o} ${i+s*a},${o}`}function ip({sourceX:t,sourceY:e,sourcePosition:n=ye.Bottom,targetX:r,targetY:s,targetPosition:i=ye.Top,borderRadius:o=5,centerX:a,centerY:l,offset:d=20,stepPosition:u=.5}){const[h,f,p,m,x]=hW({source:{x:t,y:e},sourcePosition:n,target:{x:r,y:s},targetPosition:i,center:{x:a,y:l},offset:d,stepPosition:u});let b=`M${h[0].x} ${h[0].y}`;for(let y=1;y<h.length-1;y++)b+=fW(h[y-1],h[y],h[y+1],o);return b+=`L${h[h.length-1].x} ${h[h.length-1].y}`,[b,f,p,m,x]}function Cy(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function pW(t){const{sourceNode:e,targetNode:n}=t;if(!Cy(e)||!Cy(n))return null;const r=e.internals.handleBounds||jy(e.handles),s=n.internals.handleBounds||jy(n.handles),i=Ny(r?.source??[],t.sourceHandle),o=Ny(t.connectionMode===Oi.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),t.targetHandle);if(!i||!o)return t.onError?.("008",sr.error008(i?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;const a=i?.position||ye.Bottom,l=o?.position||ye.Top,d=Ls(e,i,a),u=Ls(n,o,l);return{sourceX:d.x,sourceY:d.y,targetX:u.x,targetY:u.y,sourcePosition:a,targetPosition:l}}function jy(t){if(!t)return null;const e=[],n=[];for(const r of t)r.width=r.width??1,r.height=r.height??1,r.type==="source"?e.push(r):r.type==="target"&&n.push(r);return{source:e,target:n}}function Ls(t,e,n=ye.Left,r=!1){const s=(e?.x??0)+t.internals.positionAbsolute.x,i=(e?.y??0)+t.internals.positionAbsolute.y,{width:o,height:a}=e??jr(t);if(r)return{x:s+o/2,y:i+a/2};switch(e?.position??n){case ye.Top:return{x:s+o/2,y:i};case ye.Right:return{x:s+o,y:i+a/2};case ye.Bottom:return{x:s+o/2,y:i+a};case ye.Left:return{x:s,y:i+a/2}}}function Ny(t,e){return t&&(e?t.find(n=>n.id===e):t[0])||null}function op(t,e){return t?typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(r=>`${r}=${t[r]}`).join("&")}`:""}function mW(t,{id:e,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const i=new Set;return t.reduce((o,a)=>([a.markerStart||r,a.markerEnd||s].forEach(l=>{if(l&&typeof l=="object"){const d=op(l,e);i.has(d)||(o.push({id:d,color:l.color||n,...l}),i.add(d))}}),o),[]).sort((o,a)=>o.id.localeCompare(a.id))}const aC=1e3,gW=10,Im={nodeOrigin:[0,0],nodeExtent:Ga,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},xW={...Im,checkEquality:!0};function $m(t,e){const n={...t};for(const r in e)e[r]!==void 0&&(n[r]=e[r]);return n}function bW(t,e,n){const r=$m(Im,n);for(const s of t.values())if(s.parentId)_m(s,t,e,r);else{const i=Cl(s,r.nodeOrigin),o=Ai(s.extent)?s.extent:r.nodeExtent,a=Ts(i,o,jr(s));s.internals.positionAbsolute=a}}function yW(t,e){if(!t.handles)return t.measured?e?.internals.handleBounds:void 0;const n=[],r=[];for(const s of t.handles){const i={id:s.id,width:s.width??1,height:s.height??1,nodeId:t.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(i):s.type==="target"&&r.push(i)}return{source:n,target:r}}function Bm(t){return t==="manual"}function ap(t,e,n,r={}){const s=$m(xW,r),i={i:0},o=new Map(e),a=s?.elevateNodesOnSelect&&!Bm(s.zIndexMode)?aC:0;let l=t.length>0,d=!1;e.clear(),n.clear();for(const u of t){let h=o.get(u.id);if(s.checkEquality&&u===h?.internals.userNode)e.set(u.id,h);else{const f=Cl(u,s.nodeOrigin),p=Ai(u.extent)?u.extent:s.nodeExtent,m=Ts(f,p,jr(u));h={...s.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:m,handleBounds:yW(u,h),z:lC(u,a,s.zIndexMode),userNode:u}},e.set(u.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(l=!1),u.parentId&&_m(h,e,n,r,i),d||(d=u.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:d}}function vW(t,e){if(!t.parentId)return;const n=e.get(t.parentId);n?n.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}function _m(t,e,n,r,s){const{elevateNodesOnSelect:i,nodeOrigin:o,nodeExtent:a,zIndexMode:l}=$m(Im,r),d=t.parentId,u=e.get(d);if(!u){console.warn(`Parent node ${d} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}vW(t,n),s&&!u.parentId&&u.internals.rootParentIndex===void 0&&l==="auto"&&(u.internals.rootParentIndex=++s.i,u.internals.z=u.internals.z+s.i*gW),s&&u.internals.rootParentIndex!==void 0&&(s.i=u.internals.rootParentIndex);const h=i&&!Bm(l)?aC:0,{x:f,y:p,z:m}=wW(t,u,o,a,h,l),{positionAbsolute:x}=t.internals,b=f!==x.x||p!==x.y;(b||m!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:b?{x:f,y:p}:x,z:m}})}function lC(t,e,n){const r=Dn(t.zIndex)?t.zIndex:0;return Bm(n)?r:r+(t.selected?e:0)}function wW(t,e,n,r,s,i){const{x:o,y:a}=e.internals.positionAbsolute,l=jr(t),d=Cl(t,n),u=Ai(t.extent)?Ts(d,t.extent,l):d;let h=Ts({x:o+u.x,y:a+u.y},r,l);t.extent==="parent"&&(h=YS(h,l,e));const f=lC(t,s,i),p=e.internals.z??0;return{x:h.x,y:h.y,z:p>=f?p+1:f}}function Fm(t,e,n,r=[0,0]){const s=[],i=new Map;for(const o of t){const a=e.get(o.parentId);if(!a)continue;const l=i.get(o.parentId)?.expandedRect??Di(a),d=QS(l,o.rect);i.set(o.parentId,{expandedRect:d,parent:a})}return i.size>0&&i.forEach(({expandedRect:o,parent:a},l)=>{const d=a.internals.positionAbsolute,u=jr(a),h=a.origin??r,f=o.x<d.x?Math.round(Math.abs(d.x-o.x)):0,p=o.y<d.y?Math.round(Math.abs(d.y-o.y)):0,m=Math.max(u.width,Math.round(o.width)),x=Math.max(u.height,Math.round(o.height)),b=(m-u.width)*h[0],y=(x-u.height)*h[1];(f>0||p>0||b||y)&&(s.push({id:l,type:"position",position:{x:a.position.x-f+b,y:a.position.y-p+y}}),n.get(l)?.forEach(k=>{t.some(v=>v.id===k.id)||s.push({id:k.id,type:"position",position:{x:k.position.x+f,y:k.position.y+p}})})),(u.width<o.width||u.height<o.height||f||p)&&s.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:m+(f?h[0]*f-b:0),height:x+(p?h[1]*p-y:0)}})}),s}function kW(t,e,n,r,s,i,o){const a=r?.querySelector(".xyflow__viewport");let l=!1;if(!a)return{changes:[],updatedInternals:l};const d=[],u=window.getComputedStyle(a),{m22:h}=new window.DOMMatrixReadOnly(u.transform),f=[];for(const p of t.values()){const m=e.get(p.id);if(!m)continue;if(m.hidden){e.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),l=!0;continue}const x=Rm(p.nodeElement),b=m.measured.width!==x.width||m.measured.height!==x.height;if(!!(x.width&&x.height&&(b||!m.internals.handleBounds||p.force))){const k=p.nodeElement.getBoundingClientRect(),v=Ai(m.extent)?m.extent:i;let{positionAbsolute:w}=m.internals;m.parentId&&m.extent==="parent"?w=YS(w,x,e.get(m.parentId)):v&&(w=Ts(w,v,x));const C={...m,measured:x,internals:{...m.internals,positionAbsolute:w,handleBounds:{source:vy("source",p.nodeElement,k,h,m.id),target:vy("target",p.nodeElement,k,h,m.id)}}};e.set(m.id,C),m.parentId&&_m(C,e,n,{nodeOrigin:s,zIndexMode:o}),l=!0,b&&(d.push({id:m.id,type:"dimensions",dimensions:x}),m.expandParent&&m.parentId&&f.push({id:m.id,parentId:m.parentId,rect:Di(C,s)}))}}if(f.length>0){const p=Fm(f,e,n,s);d.push(...p)}return{changes:d,updatedInternals:l}}async function SW({delta:t,panZoom:e,transform:n,translateExtent:r,width:s,height:i}){if(!e||!t.x&&!t.y)return Promise.resolve(!1);const o=await e.setViewportConstrained({x:n[0]+t.x,y:n[1]+t.y,zoom:n[2]},[[0,0],[s,i]],r),a=!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2]);return Promise.resolve(a)}function Py(t,e,n,r,s,i){let o=s;const a=r.get(o)||new Map;r.set(o,a.set(n,e)),o=`${s}-${t}`;const l=r.get(o)||new Map;if(r.set(o,l.set(n,e)),i){o=`${s}-${t}-${i}`;const d=r.get(o)||new Map;r.set(o,d.set(n,e))}}function cC(t,e,n){t.clear(),e.clear();for(const r of n){const{source:s,target:i,sourceHandle:o=null,targetHandle:a=null}=r,l={edgeId:r.id,source:s,target:i,sourceHandle:o,targetHandle:a},d=`${s}-${o}--${i}-${a}`,u=`${i}-${a}--${s}-${o}`;Py("source",l,u,t,s,o),Py("target",l,d,t,i,a),e.set(r.id,r)}}function dC(t,e){if(!t.parentId)return!1;const n=e.get(t.parentId);return n?n.selected?!0:dC(n,e):!1}function Ey(t,e,n){let r=t;do{if(r?.matches?.(e))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function CW(t,e,n,r){const s=new Map;for(const[i,o]of t)if((o.selected||o.id===r)&&(!o.parentId||!dC(o,t))&&(o.draggable||e&&typeof o.draggable>"u")){const a=t.get(i);a&&s.set(i,{id:i,position:a.position||{x:0,y:0},distance:{x:n.x-a.internals.positionAbsolute.x,y:n.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return s}function Rh({nodeId:t,dragItems:e,nodeLookup:n,dragging:r=!0}){const s=[];for(const[o,a]of e){const l=n.get(o)?.internals.userNode;l&&s.push({...l,position:a.position,dragging:r})}if(!t)return[s[0],s];const i=n.get(t)?.internals.userNode;return[i?{...i,position:e.get(t)?.position||i.position,dragging:r}:s[0],s]}function jW({dragItems:t,snapGrid:e,x:n,y:r}){const s=t.values().next().value;if(!s)return null;const i={x:n-s.distance.x,y:r-s.distance.y},o=Nl(i,e);return{x:o.x-i.x,y:o.y-i.y}}function NW({onNodeMouseDown:t,getStoreItems:e,onDragStart:n,onDrag:r,onDragStop:s}){let i={x:null,y:null},o=0,a=new Map,l=!1,d={x:0,y:0},u=null,h=!1,f=null,p=!1,m=!1,x=null;function b({noDragClassName:k,handleSelector:v,domNode:w,isSelectable:C,nodeId:j,nodeClickDistance:S=0}){f=Xt(w);function E({x:L,y:_}){const{nodeLookup:N,nodeExtent:M,snapGrid:D,snapToGrid:I,nodeOrigin:R,onNodeDrag:$,onSelectionDrag:V,onError:W,updateNodePositions:F}=e();i={x:L,y:_};let Y=!1;const q=a.size>1,ne=q&&M?sp(jl(a)):null,ue=q&&I?jW({dragItems:a,snapGrid:D,x:L,y:_}):null;for(const[ae,z]of a){if(!N.has(ae))continue;let te={x:L-z.distance.x,y:_-z.distance.y};I&&(te=ue?{x:Math.round(te.x+ue.x),y:Math.round(te.y+ue.y)}:Nl(te,D));let J=null;if(q&&M&&!z.extent&&ne){const{positionAbsolute:fe}=z.internals,U=fe.x-ne.x+M[0][0],Q=fe.x+z.measured.width-ne.x2+M[1][0],oe=fe.y-ne.y+M[0][1],ke=fe.y+z.measured.height-ne.y2+M[1][1];J=[[U,oe],[Q,ke]]}const{position:he,positionAbsolute:ee}=qS({nodeId:ae,nextPosition:te,nodeLookup:N,nodeExtent:J||M,nodeOrigin:R,onError:W});Y=Y||z.position.x!==he.x||z.position.y!==he.y,z.position=he,z.internals.positionAbsolute=ee}if(m=m||Y,!!Y&&(F(a,!0),x&&(r||$||!j&&V))){const[ae,z]=Rh({nodeId:j,dragItems:a,nodeLookup:N});r?.(x,a,ae,z),$?.(x,ae,z),j||V?.(x,z)}}async function O(){if(!u)return;const{transform:L,panBy:_,autoPanSpeed:N,autoPanOnNodeDrag:M}=e();if(!M){l=!1,cancelAnimationFrame(o);return}const[D,I]=XS(d,u,N);(D!==0||I!==0)&&(i.x=(i.x??0)-D/L[2],i.y=(i.y??0)-I/L[2],await _({x:D,y:I})&&E(i)),o=requestAnimationFrame(O)}function A(L){const{nodeLookup:_,multiSelectionActive:N,nodesDraggable:M,transform:D,snapGrid:I,snapToGrid:R,selectNodesOnDrag:$,onNodeDragStart:V,onSelectionDragStart:W,unselectNodesAndEdges:F}=e();h=!0,(!$||!C)&&!N&&j&&(_.get(j)?.selected||F()),C&&$&&j&&t?.(j);const Y=Lo(L.sourceEvent,{transform:D,snapGrid:I,snapToGrid:R,containerBounds:u});if(i=Y,a=CW(_,M,Y,j),a.size>0&&(n||V||!j&&W)){const[q,ne]=Rh({nodeId:j,dragItems:a,nodeLookup:_});n?.(L.sourceEvent,a,q,ne),V?.(L.sourceEvent,q,ne),j||W?.(L.sourceEvent,ne)}}const P=PS().clickDistance(S).on("start",L=>{const{domNode:_,nodeDragThreshold:N,transform:M,snapGrid:D,snapToGrid:I}=e();u=_?.getBoundingClientRect()||null,p=!1,m=!1,x=L.sourceEvent,N===0&&A(L),i=Lo(L.sourceEvent,{transform:M,snapGrid:D,snapToGrid:I,containerBounds:u}),d=An(L.sourceEvent,u)}).on("drag",L=>{const{autoPanOnNodeDrag:_,transform:N,snapGrid:M,snapToGrid:D,nodeDragThreshold:I,nodeLookup:R}=e(),$=Lo(L.sourceEvent,{transform:N,snapGrid:M,snapToGrid:D,containerBounds:u});if(x=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||j&&!R.has(j))&&(p=!0),!p){if(!l&&_&&h&&(l=!0,O()),!h){const V=An(L.sourceEvent,u),W=V.x-d.x,F=V.y-d.y;Math.sqrt(W*W+F*F)>I&&A(L)}(i.x!==$.xSnapped||i.y!==$.ySnapped)&&a&&h&&(d=An(L.sourceEvent,u),E($))}}).on("end",L=>{if(!(!h||p)&&(l=!1,h=!1,cancelAnimationFrame(o),a.size>0)){const{nodeLookup:_,updateNodePositions:N,onNodeDragStop:M,onSelectionDragStop:D}=e();if(m&&(N(a,!1),m=!1),s||M||!j&&D){const[I,R]=Rh({nodeId:j,dragItems:a,nodeLookup:_,dragging:!1});s?.(L.sourceEvent,a,I,R),M?.(L.sourceEvent,I,R),j||D?.(L.sourceEvent,R)}}}).filter(L=>{const _=L.target;return!L.button&&(!k||!Ey(_,`.${k}`,w))&&(!v||Ey(_,v,w))});f.call(P)}function y(){f?.on(".drag",null)}return{update:b,destroy:y}}function PW(t,e,n){const r=[],s={x:t.x-n,y:t.y-n,width:n*2,height:n*2};for(const i of e.values())Ya(s,Di(i))>0&&r.push(i);return r}const EW=250;function OW(t,e,n,r){let s=[],i=1/0;const o=PW(t,n,e+EW);for(const a of o){const l=[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]];for(const d of l){if(r.nodeId===d.nodeId&&r.type===d.type&&r.id===d.id)continue;const{x:u,y:h}=Ls(a,d,d.position,!0),f=Math.sqrt(Math.pow(u-t.x,2)+Math.pow(h-t.y,2));f>e||(f<i?(s=[{...d,x:u,y:h}],i=f):f===i&&s.push({...d,x:u,y:h}))}}if(!s.length)return null;if(s.length>1){const a=r.type==="source"?"target":"source";return s.find(l=>l.type===a)??s[0]}return s[0]}function uC(t,e,n,r,s,i=!1){const o=r.get(t);if(!o)return null;const a=s==="strict"?o.internals.handleBounds?.[e]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],l=(n?a?.find(d=>d.id===n):a?.[0])??null;return l&&i?{...l,...Ls(o,l,l.position,!0)}:l}function hC(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function MW(t,e){let n=null;return e?n=!0:t&&!e&&(n=!1),n}const fC=()=>!0;function DW(t,{connectionMode:e,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:i,isTarget:o,domNode:a,nodeLookup:l,lib:d,autoPanOnConnect:u,flowId:h,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:x,onConnectEnd:b,isValidConnection:y=fC,onReconnectEnd:k,updateConnection:v,getTransform:w,getFromHandle:C,autoPanSpeed:j,dragThreshold:S=1,handleDomNode:E}){const O=eC(t.target);let A=0,P;const{x:L,y:_}=An(t),N=hC(i,E),M=a?.getBoundingClientRect();let D=!1;if(!M||!N)return;const I=uC(s,N,r,l,e);if(!I)return;let R=An(t,M),$=!1,V=null,W=!1,F=null;function Y(){if(!u||!M)return;const[he,ee]=XS(R,M,j);f({x:he,y:ee}),A=requestAnimationFrame(Y)}const q={...I,nodeId:s,type:N,position:I.position},ne=l.get(s);let ae={inProgress:!0,isValid:null,from:Ls(ne,q,ye.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:ne,to:R,toHandle:null,toPosition:gy[q.position],toNode:null,pointer:R};function z(){D=!0,v(ae),m?.(t,{nodeId:s,handleId:r,handleType:N})}S===0&&z();function te(he){if(!D){const{x:ke,y:Ke}=An(he),ct=ke-L,Ue=Ke-_;if(!(ct*ct+Ue*Ue>S*S))return;z()}if(!C()||!q){J(he);return}const ee=w();R=An(he,M),P=OW(Pl(R,ee,!1,[1,1]),n,l,q),$||(Y(),$=!0);const fe=pC(he,{handle:P,connectionMode:e,fromNodeId:s,fromHandleId:r,fromType:o?"target":"source",isValidConnection:y,doc:O,lib:d,flowId:h,nodeLookup:l});F=fe.handleDomNode,V=fe.connection,W=MW(!!P,fe.isValid);const U=l.get(s),Q=U?Ls(U,q,ye.Left,!0):ae.from,oe={...ae,from:Q,isValid:W,to:fe.toHandle&&W?Od({x:fe.toHandle.x,y:fe.toHandle.y},ee):R,toHandle:fe.toHandle,toPosition:W&&fe.toHandle?fe.toHandle.position:gy[q.position],toNode:fe.toHandle?l.get(fe.toHandle.nodeId):null,pointer:R};v(oe),ae=oe}function J(he){if(!("touches"in he&&he.touches.length>0)){if(D){(P||F)&&V&&W&&x?.(V);const{inProgress:ee,...fe}=ae,U={...fe,toPosition:ae.toHandle?ae.toPosition:null};b?.(he,U),i&&k?.(he,U)}p(),cancelAnimationFrame(A),$=!1,W=!1,V=null,F=null,O.removeEventListener("mousemove",te),O.removeEventListener("mouseup",J),O.removeEventListener("touchmove",te),O.removeEventListener("touchend",J)}}O.addEventListener("mousemove",te),O.addEventListener("mouseup",J),O.addEventListener("touchmove",te),O.addEventListener("touchend",J)}function pC(t,{handle:e,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:i,doc:o,lib:a,flowId:l,isValidConnection:d=fC,nodeLookup:u}){const h=i==="target",f=e?o.querySelector(`.${a}-flow__handle[data-id="${l}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:p,y:m}=An(t),x=o.elementFromPoint(p,m),b=x?.classList.contains(`${a}-flow__handle`)?x:f,y={handleDomNode:b,isValid:!1,connection:null,toHandle:null};if(b){const k=hC(void 0,b),v=b.getAttribute("data-nodeid"),w=b.getAttribute("data-handleid"),C=b.classList.contains("connectable"),j=b.classList.contains("connectableend");if(!v||!k)return y;const S={source:h?v:r,sourceHandle:h?w:s,target:h?r:v,targetHandle:h?s:w};y.connection=S;const O=C&&j&&(n===Oi.Strict?h&&k==="source"||!h&&k==="target":v!==r||w!==s);y.isValid=O&&d(S),y.toHandle=uC(v,k,w,u,n,!0)}return y}const lp={onPointerDown:DW,isValid:pC};function AW({domNode:t,panZoom:e,getTransform:n,getViewScale:r}){const s=Xt(t);function i({translateExtent:a,width:l,height:d,zoomStep:u=1,pannable:h=!0,zoomable:f=!0,inversePan:p=!1}){const m=v=>{if(v.sourceEvent.type!=="wheel"||!e)return;const w=n(),C=v.sourceEvent.ctrlKey&&Xa()?10:1,j=-v.sourceEvent.deltaY*(v.sourceEvent.deltaMode===1?.05:v.sourceEvent.deltaMode?1:.002)*u,S=w[2]*Math.pow(2,j*C);e.scaleTo(S)};let x=[0,0];const b=v=>{(v.sourceEvent.type==="mousedown"||v.sourceEvent.type==="touchstart")&&(x=[v.sourceEvent.clientX??v.sourceEvent.touches[0].clientX,v.sourceEvent.clientY??v.sourceEvent.touches[0].clientY])},y=v=>{const w=n();if(v.sourceEvent.type!=="mousemove"&&v.sourceEvent.type!=="touchmove"||!e)return;const C=[v.sourceEvent.clientX??v.sourceEvent.touches[0].clientX,v.sourceEvent.clientY??v.sourceEvent.touches[0].clientY],j=[C[0]-x[0],C[1]-x[1]];x=C;const S=r()*Math.max(w[2],Math.log(w[2]))*(p?-1:1),E={x:w[0]-j[0]*S,y:w[1]-j[1]*S},O=[[0,0],[l,d]];e.setViewportConstrained({x:E.x,y:E.y,zoom:w[2]},O,a)},k=HS().on("start",b).on("zoom",h?y:null).on("zoom.wheel",f?m:null);s.call(k,{})}function o(){s.on("zoom",null)}return{update:i,destroy:o,pointer:Nn}}const hu=t=>({x:t.x,y:t.y,zoom:t.k}),Ih=({x:t,y:e,zoom:n})=>cu.translate(t,e).scale(n),si=(t,e)=>t.target.closest(`.${e}`),mC=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),TW=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,$h=(t,e=0,n=TW,r=()=>{})=>{const s=typeof e=="number"&&e>0;return s||r(),s?t.transition().duration(e).ease(n).on("end",r):t},gC=t=>{const e=t.ctrlKey&&Xa()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e};function LW({zoomPanValues:t,noWheelClassName:e,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:i,zoomOnPinch:o,onPanZoomStart:a,onPanZoom:l,onPanZoomEnd:d}){return u=>{if(si(u,e))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();const h=n.property("__zoom").k||1;if(u.ctrlKey&&o){const b=Nn(u),y=gC(u),k=h*Math.pow(2,y);r.scaleTo(n,k,b,u);return}const f=u.deltaMode===1?20:1;let p=s===Ns.Vertical?0:u.deltaX*f,m=s===Ns.Horizontal?0:u.deltaY*f;!Xa()&&u.shiftKey&&s!==Ns.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/h)*i,-(m/h)*i,{internal:!0});const x=hu(n.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(l?.(u,x),t.panScrollTimeout=setTimeout(()=>{d?.(u,x),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,a?.(u,x))}}function RW({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:n}){return function(r,s){const i=r.type==="wheel",o=!e&&i&&!r.ctrlKey,a=si(r,t);if(r.ctrlKey&&i&&a&&r.preventDefault(),o||a)return null;r.preventDefault(),n.call(this,r,s)}}function IW({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=hu(r.transform);t.mouseButton=r.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=s,r.sourceEvent?.type==="mousedown"&&e(!0),n&&n?.(r.sourceEvent,s)}}function $W({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return i=>{t.usedRightMouseButton=!!(n&&mC(e,t.mouseButton??0)),i.sourceEvent?.sync||r([i.transform.x,i.transform.y,i.transform.k]),s&&!i.sourceEvent?.internal&&s?.(i.sourceEvent,hu(i.transform))}}function BW({zoomPanValues:t,panOnDrag:e,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:i}){return o=>{if(!o.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,i&&mC(e,t.mouseButton??0)&&!t.usedRightMouseButton&&o.sourceEvent&&i(o.sourceEvent),t.usedRightMouseButton=!1,r(!1),s)){const a=hu(o.transform);t.prevViewport=a,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{s?.(o.sourceEvent,a)},n?150:0)}}}function _W({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:i,userSelectionActive:o,noWheelClassName:a,noPanClassName:l,lib:d,connectionInProgress:u}){return h=>{const f=t||e,p=n&&h.ctrlKey,m=h.type==="wheel";if(h.button===1&&h.type==="mousedown"&&(si(h,`${d}-flow__node`)||si(h,`${d}-flow__edge`)))return!0;if(!r&&!f&&!s&&!i&&!n||o||u&&!m||si(h,a)&&m||si(h,l)&&(!m||s&&m&&!t)||!n&&h.ctrlKey&&m)return!1;if(!n&&h.type==="touchstart"&&h.touches?.length>1)return h.preventDefault(),!1;if(!f&&!s&&!p&&m||!r&&(h.type==="mousedown"||h.type==="touchstart")||Array.isArray(r)&&!r.includes(h.button)&&h.type==="mousedown")return!1;const x=Array.isArray(r)&&r.includes(h.button)||!h.button||h.button<=1;return(!h.ctrlKey||m)&&x}}function FW({domNode:t,minZoom:e,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:i,onPanZoomStart:o,onPanZoomEnd:a,onDraggingChange:l}){const d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=t.getBoundingClientRect(),h=HS().scaleExtent([e,n]).translateExtent(r),f=Xt(t).call(h);k({x:s.x,y:s.y,zoom:Mi(s.zoom,e,n)},[[0,0],[u.width,u.height]],r);const p=f.on("wheel.zoom"),m=f.on("dblclick.zoom");h.wheelDelta(gC);function x(P,L){return f?new Promise(_=>{h?.interpolate(L?.interpolate==="linear"?To:Lc).transform($h(f,L?.duration,L?.ease,()=>_(!0)),P)}):Promise.resolve(!1)}function b({noWheelClassName:P,noPanClassName:L,onPaneContextMenu:_,userSelectionActive:N,panOnScroll:M,panOnDrag:D,panOnScrollMode:I,panOnScrollSpeed:R,preventScrolling:$,zoomOnPinch:V,zoomOnScroll:W,zoomOnDoubleClick:F,zoomActivationKeyPressed:Y,lib:q,onTransformChange:ne,connectionInProgress:ue,paneClickDistance:ae,selectionOnDrag:z}){N&&!d.isZoomingOrPanning&&y();const te=M&&!Y&&!N;h.clickDistance(z?1/0:!Dn(ae)||ae<0?0:ae);const J=te?LW({zoomPanValues:d,noWheelClassName:P,d3Selection:f,d3Zoom:h,panOnScrollMode:I,panOnScrollSpeed:R,zoomOnPinch:V,onPanZoomStart:o,onPanZoom:i,onPanZoomEnd:a}):RW({noWheelClassName:P,preventScrolling:$,d3ZoomHandler:p});if(f.on("wheel.zoom",J,{passive:!1}),!N){const ee=IW({zoomPanValues:d,onDraggingChange:l,onPanZoomStart:o});h.on("start",ee);const fe=$W({zoomPanValues:d,panOnDrag:D,onPaneContextMenu:!!_,onPanZoom:i,onTransformChange:ne});h.on("zoom",fe);const U=BW({zoomPanValues:d,panOnDrag:D,panOnScroll:M,onPaneContextMenu:_,onPanZoomEnd:a,onDraggingChange:l});h.on("end",U)}const he=_W({zoomActivationKeyPressed:Y,panOnDrag:D,zoomOnScroll:W,panOnScroll:M,zoomOnDoubleClick:F,zoomOnPinch:V,userSelectionActive:N,noPanClassName:L,noWheelClassName:P,lib:q,connectionInProgress:ue});h.filter(he),F?f.on("dblclick.zoom",m):f.on("dblclick.zoom",null)}function y(){h.on("zoom",null)}async function k(P,L,_){const N=Ih(P),M=h?.constrain()(N,L,_);return M&&await x(M),new Promise(D=>D(M))}async function v(P,L){const _=Ih(P);return await x(_,L),new Promise(N=>N(_))}function w(P){if(f){const L=Ih(P),_=f.property("__zoom");(_.k!==P.zoom||_.x!==P.x||_.y!==P.y)&&h?.transform(f,L,null,{sync:!0})}}function C(){const P=f?zS(f.node()):{x:0,y:0,k:1};return{x:P.x,y:P.y,zoom:P.k}}function j(P,L){return f?new Promise(_=>{h?.interpolate(L?.interpolate==="linear"?To:Lc).scaleTo($h(f,L?.duration,L?.ease,()=>_(!0)),P)}):Promise.resolve(!1)}function S(P,L){return f?new Promise(_=>{h?.interpolate(L?.interpolate==="linear"?To:Lc).scaleBy($h(f,L?.duration,L?.ease,()=>_(!0)),P)}):Promise.resolve(!1)}function E(P){h?.scaleExtent(P)}function O(P){h?.translateExtent(P)}function A(P){const L=!Dn(P)||P<0?0:P;h?.clickDistance(L)}return{update:b,destroy:y,setViewport:v,setViewportConstrained:k,getViewport:C,scaleTo:j,scaleBy:S,setScaleExtent:E,setTranslateExtent:O,syncViewport:w,setClickDistance:A}}var Ti;(function(t){t.Line="line",t.Handle="handle"})(Ti||(Ti={}));function zW({width:t,prevWidth:e,height:n,prevHeight:r,affectsX:s,affectsY:i}){const o=t-e,a=n-r,l=[o>0?1:o<0?-1:0,a>0?1:a<0?-1:0];return o&&s&&(l[0]=l[0]*-1),a&&i&&(l[1]=l[1]*-1),l}function Oy(t){const e=t.includes("right")||t.includes("left"),n=t.includes("bottom")||t.includes("top"),r=t.includes("left"),s=t.includes("top");return{isHorizontal:e,isVertical:n,affectsX:r,affectsY:s}}function Dr(t,e){return Math.max(0,e-t)}function Ar(t,e){return Math.max(0,t-e)}function mc(t,e,n){return Math.max(0,e-t,t-n)}function My(t,e){return t?!e:e}function HW(t,e,n,r,s,i,o,a){let{affectsX:l,affectsY:d}=e;const{isHorizontal:u,isVertical:h}=e,f=u&&h,{xSnapped:p,ySnapped:m}=n,{minWidth:x,maxWidth:b,minHeight:y,maxHeight:k}=r,{x:v,y:w,width:C,height:j,aspectRatio:S}=t;let E=Math.floor(u?p-t.pointerX:0),O=Math.floor(h?m-t.pointerY:0);const A=C+(l?-E:E),P=j+(d?-O:O),L=-i[0]*C,_=-i[1]*j;let N=mc(A,x,b),M=mc(P,y,k);if(o){let R=0,$=0;l&&E<0?R=Dr(v+E+L,o[0][0]):!l&&E>0&&(R=Ar(v+A+L,o[1][0])),d&&O<0?$=Dr(w+O+_,o[0][1]):!d&&O>0&&($=Ar(w+P+_,o[1][1])),N=Math.max(N,R),M=Math.max(M,$)}if(a){let R=0,$=0;l&&E>0?R=Ar(v+E,a[0][0]):!l&&E<0&&(R=Dr(v+A,a[1][0])),d&&O>0?$=Ar(w+O,a[0][1]):!d&&O<0&&($=Dr(w+P,a[1][1])),N=Math.max(N,R),M=Math.max(M,$)}if(s){if(u){const R=mc(A/S,y,k)*S;if(N=Math.max(N,R),o){let $=0;!l&&!d||l&&!d&&f?$=Ar(w+_+A/S,o[1][1])*S:$=Dr(w+_+(l?E:-E)/S,o[0][1])*S,N=Math.max(N,$)}if(a){let $=0;!l&&!d||l&&!d&&f?$=Dr(w+A/S,a[1][1])*S:$=Ar(w+(l?E:-E)/S,a[0][1])*S,N=Math.max(N,$)}}if(h){const R=mc(P*S,x,b)/S;if(M=Math.max(M,R),o){let $=0;!l&&!d||d&&!l&&f?$=Ar(v+P*S+L,o[1][0])/S:$=Dr(v+(d?O:-O)*S+L,o[0][0])/S,M=Math.max(M,$)}if(a){let $=0;!l&&!d||d&&!l&&f?$=Dr(v+P*S,a[1][0])/S:$=Ar(v+(d?O:-O)*S,a[0][0])/S,M=Math.max(M,$)}}}O=O+(O<0?M:-M),E=E+(E<0?N:-N),s&&(f?A>P*S?O=(My(l,d)?-E:E)/S:E=(My(l,d)?-O:O)*S:u?(O=E/S,d=l):(E=O*S,l=d));const D=l?v+E:v,I=d?w+O:w;return{width:C+(l?-E:E),height:j+(d?-O:O),x:i[0]*E*(l?-1:1)+D,y:i[1]*O*(d?-1:1)+I}}const xC={width:0,height:0,x:0,y:0},VW={...xC,pointerX:0,pointerY:0,aspectRatio:1};function WW(t){return[[0,0],[t.measured.width,t.measured.height]]}function KW(t,e,n){const r=e.position.x+t.position.x,s=e.position.y+t.position.y,i=t.measured.width??0,o=t.measured.height??0,a=n[0]*i,l=n[1]*o;return[[r-a,s-l],[r+i-a,s+o-l]]}function UW({domNode:t,nodeId:e,getStoreItems:n,onChange:r,onEnd:s}){const i=Xt(t);let o={controlDirection:Oy("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:d,boundaries:u,keepAspectRatio:h,resizeDirection:f,onResizeStart:p,onResize:m,onResizeEnd:x,shouldResize:b}){let y={...xC},k={...VW};o={boundaries:u,resizeDirection:f,keepAspectRatio:h,controlDirection:Oy(d)};let v,w=null,C=[],j,S,E,O=!1;const A=PS().on("start",P=>{const{nodeLookup:L,transform:_,snapGrid:N,snapToGrid:M,nodeOrigin:D,paneDomNode:I}=n();if(v=L.get(e),!v)return;w=I?.getBoundingClientRect()??null;const{xSnapped:R,ySnapped:$}=Lo(P.sourceEvent,{transform:_,snapGrid:N,snapToGrid:M,containerBounds:w});y={width:v.measured.width??0,height:v.measured.height??0,x:v.position.x??0,y:v.position.y??0},k={...y,pointerX:R,pointerY:$,aspectRatio:y.width/y.height},j=void 0,v.parentId&&(v.extent==="parent"||v.expandParent)&&(j=L.get(v.parentId),S=j&&v.extent==="parent"?WW(j):void 0),C=[],E=void 0;for(const[V,W]of L)if(W.parentId===e&&(C.push({id:V,position:{...W.position},extent:W.extent}),W.extent==="parent"||W.expandParent)){const F=KW(W,v,W.origin??D);E?E=[[Math.min(F[0][0],E[0][0]),Math.min(F[0][1],E[0][1])],[Math.max(F[1][0],E[1][0]),Math.max(F[1][1],E[1][1])]]:E=F}p?.(P,{...y})}).on("drag",P=>{const{transform:L,snapGrid:_,snapToGrid:N,nodeOrigin:M}=n(),D=Lo(P.sourceEvent,{transform:L,snapGrid:_,snapToGrid:N,containerBounds:w}),I=[];if(!v)return;const{x:R,y:$,width:V,height:W}=y,F={},Y=v.origin??M,{width:q,height:ne,x:ue,y:ae}=HW(k,o.controlDirection,D,o.boundaries,o.keepAspectRatio,Y,S,E),z=q!==V,te=ne!==W,J=ue!==R&&z,he=ae!==$&&te;if(!J&&!he&&!z&&!te)return;if((J||he||Y[0]===1||Y[1]===1)&&(F.x=J?ue:y.x,F.y=he?ae:y.y,y.x=F.x,y.y=F.y,C.length>0)){const Q=ue-R,oe=ae-$;for(const ke of C)ke.position={x:ke.position.x-Q+Y[0]*(q-V),y:ke.position.y-oe+Y[1]*(ne-W)},I.push(ke)}if((z||te)&&(F.width=z&&(!o.resizeDirection||o.resizeDirection==="horizontal")?q:y.width,F.height=te&&(!o.resizeDirection||o.resizeDirection==="vertical")?ne:y.height,y.width=F.width,y.height=F.height),j&&v.expandParent){const Q=Y[0]*(F.width??0);F.x&&F.x<Q&&(y.x=Q,k.x=k.x-(F.x-Q));const oe=Y[1]*(F.height??0);F.y&&F.y<oe&&(y.y=oe,k.y=k.y-(F.y-oe))}const ee=zW({width:y.width,prevWidth:V,height:y.height,prevHeight:W,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),fe={...y,direction:ee};b?.(P,fe)!==!1&&(O=!0,m?.(P,fe),r(F,I))}).on("end",P=>{O&&(x?.(P,{...y}),s?.({...y}),O=!1)});i.call(A)}function l(){i.on(".drag",null)}return{update:a,destroy:l}}const GW={},Dy=t=>{let e;const n=new Set,r=(u,h)=>{const f=typeof u=="function"?u(e):u;if(!Object.is(f,e)){const p=e;e=h??(typeof f!="object"||f===null)?f:Object.assign({},e,f),n.forEach(m=>m(e,p))}},s=()=>e,l={setState:r,getState:s,getInitialState:()=>d,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(GW?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},d=e=t(r,s,l);return l},qW=t=>t?Dy(t):Dy,{useDebugValue:YW}=$e,{useSyncExternalStoreWithSelector:XW}=cT,QW=t=>t;function bC(t,e=QW,n){const r=XW(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return YW(r),r}const Ay=(t,e)=>{const n=qW(t),r=(s,i=e)=>bC(n,s,i);return Object.assign(r,n),r},JW=(t,e)=>t?Ay(t,e):Ay;function He(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[r,s]of t)if(!Object.is(s,e.get(r)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const r of t)if(!e.has(r))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(e,r)||!Object.is(t[r],e[r]))return!1;return!0}const fu=g.createContext(null),ZW=fu.Provider,yC=sr.error001();function Ae(t,e){const n=g.useContext(fu);if(n===null)throw new Error(yC);return bC(n,t,e)}function Ve(){const t=g.useContext(fu);if(t===null)throw new Error(yC);return g.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}const Ty={display:"none"},eK={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},vC="react-flow__node-desc",wC="react-flow__edge-desc",tK="react-flow__aria-live",nK=t=>t.ariaLiveMessage,rK=t=>t.ariaLabelConfig;function sK({rfId:t}){const e=Ae(nK);return c.jsx("div",{id:`${tK}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:eK,children:e})}function iK({rfId:t,disableKeyboardA11y:e}){const n=Ae(rK);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${vC}-${t}`,style:Ty,children:e?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${wC}-${t}`,style:Ty,children:n["edge.a11yDescription.default"]}),!e&&c.jsx(sK,{rfId:t})]})}const pu=g.forwardRef(({position:t="top-left",children:e,className:n,style:r,...s},i)=>{const o=`${t}`.split("-");return c.jsx("div",{className:nt(["react-flow__panel",n,...o]),style:r,ref:i,...s,children:e})});pu.displayName="Panel";function oK({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:c.jsx(pu,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:c.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const aK=t=>{const e=[],n=[];for(const[,r]of t.nodeLookup)r.selected&&e.push(r.internals.userNode);for(const[,r]of t.edgeLookup)r.selected&&n.push(r);return{selectedNodes:e,selectedEdges:n}},gc=t=>t.id;function lK(t,e){return He(t.selectedNodes.map(gc),e.selectedNodes.map(gc))&&He(t.selectedEdges.map(gc),e.selectedEdges.map(gc))}function cK({onSelectionChange:t}){const e=Ve(),{selectedNodes:n,selectedEdges:r}=Ae(aK,lK);return g.useEffect(()=>{const s={nodes:n,edges:r};t?.(s),e.getState().onSelectionChangeHandlers.forEach(i=>i(s))},[n,r,t]),null}const dK=t=>!!t.onSelectionChangeHandlers;function uK({onSelectionChange:t}){const e=Ae(dK);return t||e?c.jsx(cK,{onSelectionChange:t}):null}const cp=typeof window<"u"?g.useLayoutEffect:g.useEffect,kC=[0,0],hK={x:0,y:0,zoom:1},fK=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Ly=[...fK,"rfId"],pK=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),Ry={translateExtent:Ga,nodeOrigin:kC,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function mK(t){const{setNodes:e,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:i,setNodeExtent:o,reset:a,setDefaultNodesAndEdges:l}=Ae(pK,He),d=Ve();cp(()=>(l(t.defaultNodes,t.defaultEdges),()=>{u.current=Ry,a()}),[]);const u=g.useRef(Ry);return cp(()=>{for(const h of Ly){const f=t[h],p=u.current[h];f!==p&&(typeof t[h]>"u"||(h==="nodes"?e(f):h==="edges"?n(f):h==="minZoom"?r(f):h==="maxZoom"?s(f):h==="translateExtent"?i(f):h==="nodeExtent"?o(f):h==="ariaLabelConfig"?d.setState({ariaLabelConfig:sW(f)}):h==="fitView"?d.setState({fitViewQueued:f}):h==="fitViewOptions"?d.setState({fitViewOptions:f}):d.setState({[h]:f})))}u.current=t},Ly.map(h=>t[h])),null}function Iy(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function gK(t){const[e,n]=g.useState(t==="system"?null:t);return g.useEffect(()=>{if(t!=="system"){n(t);return}const r=Iy(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[t]),e!==null?e:Iy()?.matches?"dark":"light"}const $y=typeof document<"u"?document:null;function Qa(t=null,e={target:$y,actInsideInputWithModifier:!0}){const[n,r]=g.useState(!1),s=g.useRef(!1),i=g.useRef(new Set([])),[o,a]=g.useMemo(()=>{if(t!==null){const d=(Array.isArray(t)?t:[t]).filter(h=>typeof h=="string").map(h=>h.replace("+",`
279
+ `).replace(`
280
+
281
+ `,`
282
+ +`).split(`
283
+ `)),u=d.reduce((h,f)=>h.concat(...f),[]);return[d,u]}return[[],[]]},[t]);return g.useEffect(()=>{const l=e?.target??$y,d=e?.actInsideInputWithModifier??!0;if(t!==null){const u=p=>{if(s.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!s.current||s.current&&!d)&&tC(p))return!1;const x=_y(p.code,a);if(i.current.add(p[x]),By(o,i.current,!1)){const b=p.composedPath?.()?.[0]||p.target,y=b?.nodeName==="BUTTON"||b?.nodeName==="A";e.preventDefault!==!1&&(s.current||!y)&&p.preventDefault(),r(!0)}},h=p=>{const m=_y(p.code,a);By(o,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(p[m]),p.key==="Meta"&&i.current.clear(),s.current=!1},f=()=>{i.current.clear(),r(!1)};return l?.addEventListener("keydown",u),l?.addEventListener("keyup",h),window.addEventListener("blur",f),window.addEventListener("contextmenu",f),()=>{l?.removeEventListener("keydown",u),l?.removeEventListener("keyup",h),window.removeEventListener("blur",f),window.removeEventListener("contextmenu",f)}}},[t,r]),n}function By(t,e,n){return t.filter(r=>n||r.length===e.size).some(r=>r.every(s=>e.has(s)))}function _y(t,e){return e.includes(t)?"code":"key"}const xK=()=>{const t=Ve();return g.useMemo(()=>({zoomIn:e=>{const{panZoom:n}=t.getState();return n?n.scaleBy(1.2,e):Promise.resolve(!1)},zoomOut:e=>{const{panZoom:n}=t.getState();return n?n.scaleBy(1/1.2,e):Promise.resolve(!1)},zoomTo:(e,n)=>{const{panZoom:r}=t.getState();return r?r.scaleTo(e,n):Promise.resolve(!1)},getZoom:()=>t.getState().transform[2],setViewport:async(e,n)=>{const{transform:[r,s,i],panZoom:o}=t.getState();return o?(await o.setViewport({x:e.x??r,y:e.y??s,zoom:e.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[e,n,r]=t.getState().transform;return{x:e,y:n,zoom:r}},setCenter:async(e,n,r)=>t.getState().setCenter(e,n,r),fitBounds:async(e,n)=>{const{width:r,height:s,minZoom:i,maxZoom:o,panZoom:a}=t.getState(),l=Lm(e,r,s,i,o,n?.padding??.1);return a?(await a.setViewport(l,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(e,n={})=>{const{transform:r,snapGrid:s,snapToGrid:i,domNode:o}=t.getState();if(!o)return e;const{x:a,y:l}=o.getBoundingClientRect(),d={x:e.x-a,y:e.y-l},u=n.snapGrid??s,h=n.snapToGrid??i;return Pl(d,r,h,u)},flowToScreenPosition:e=>{const{transform:n,domNode:r}=t.getState();if(!r)return e;const{x:s,y:i}=r.getBoundingClientRect(),o=Od(e,n);return{x:o.x+s,y:o.y+i}}}),[])};function SC(t,e){const n=[],r=new Map,s=[];for(const i of t)if(i.type==="add"){s.push(i);continue}else if(i.type==="remove"||i.type==="replace")r.set(i.id,[i]);else{const o=r.get(i.id);o?o.push(i):r.set(i.id,[i])}for(const i of e){const o=r.get(i.id);if(!o){n.push(i);continue}if(o[0].type==="remove")continue;if(o[0].type==="replace"){n.push({...o[0].item});continue}const a={...i};for(const l of o)bK(l,a);n.push(a)}return s.length&&s.forEach(i=>{i.index!==void 0?n.splice(i.index,0,{...i.item}):n.push({...i.item})}),n}function bK(t,e){switch(t.type){case"select":{e.selected=t.selected;break}case"position":{typeof t.position<"u"&&(e.position=t.position),typeof t.dragging<"u"&&(e.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(e.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(e.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(e.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(e.resizing=t.resizing);break}}}function CC(t,e){return SC(t,e)}function jC(t,e){return SC(t,e)}function hs(t,e){return{id:t,type:"select",selected:e}}function ii(t,e=new Set,n=!1){const r=[];for(const[s,i]of t){const o=e.has(s);!(i.selected===void 0&&!o)&&i.selected!==o&&(n&&(i.selected=o),r.push(hs(i.id,o)))}return r}function Fy({items:t=[],lookup:e}){const n=[],r=new Map(t.map(s=>[s.id,s]));for(const[s,i]of t.entries()){const o=e.get(i.id),a=o?.internals?.userNode??o;a!==void 0&&a!==i&&n.push({id:i.id,item:i,type:"replace"}),a===void 0&&n.push({item:i,type:"add",index:s})}for(const[s]of e)r.get(s)===void 0&&n.push({id:s,type:"remove"});return n}function zy(t){return{id:t.id,type:"remove"}}const Hy=t=>qV(t),yK=t=>GS(t);function NC(t){return g.forwardRef(t)}function Vy(t){const[e,n]=g.useState(BigInt(0)),[r]=g.useState(()=>vK(()=>n(s=>s+BigInt(1))));return cp(()=>{const s=r.get();s.length&&(t(s),r.reset())},[e]),r}function vK(t){let e=[];return{get:()=>e,reset:()=>{e=[]},push:n=>{e.push(n),t()}}}const PC=g.createContext(null);function wK({children:t}){const e=Ve(),n=g.useCallback(a=>{const{nodes:l=[],setNodes:d,hasDefaultNodes:u,onNodesChange:h,nodeLookup:f,fitViewQueued:p,onNodesChangeMiddlewareMap:m}=e.getState();let x=l;for(const y of a)x=typeof y=="function"?y(x):y;let b=Fy({items:x,lookup:f});for(const y of m.values())b=y(b);u&&d(x),b.length>0?h?.(b):p&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:k,setNodes:v}=e.getState();y&&v(k)})},[]),r=Vy(n),s=g.useCallback(a=>{const{edges:l=[],setEdges:d,hasDefaultEdges:u,onEdgesChange:h,edgeLookup:f}=e.getState();let p=l;for(const m of a)p=typeof m=="function"?m(p):m;u?d(p):h&&h(Fy({items:p,lookup:f}))},[]),i=Vy(s),o=g.useMemo(()=>({nodeQueue:r,edgeQueue:i}),[]);return c.jsx(PC.Provider,{value:o,children:t})}function kK(){const t=g.useContext(PC);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const SK=t=>!!t.panZoom;function zm(){const t=xK(),e=Ve(),n=kK(),r=Ae(SK),s=g.useMemo(()=>{const i=h=>e.getState().nodeLookup.get(h),o=h=>{n.nodeQueue.push(h)},a=h=>{n.edgeQueue.push(h)},l=h=>{const{nodeLookup:f,nodeOrigin:p}=e.getState(),m=Hy(h)?h:f.get(h.id),x=m.parentId?ZS(m.position,m.measured,m.parentId,f,p):m.position,b={...m,position:x,width:m.measured?.width??m.width,height:m.measured?.height??m.height};return Di(b)},d=(h,f,p={replace:!1})=>{o(m=>m.map(x=>{if(x.id===h){const b=typeof f=="function"?f(x):f;return p.replace&&Hy(b)?b:{...x,...b}}return x}))},u=(h,f,p={replace:!1})=>{a(m=>m.map(x=>{if(x.id===h){const b=typeof f=="function"?f(x):f;return p.replace&&yK(b)?b:{...x,...b}}return x}))};return{getNodes:()=>e.getState().nodes.map(h=>({...h})),getNode:h=>i(h)?.internals.userNode,getInternalNode:i,getEdges:()=>{const{edges:h=[]}=e.getState();return h.map(f=>({...f}))},getEdge:h=>e.getState().edgeLookup.get(h),setNodes:o,setEdges:a,addNodes:h=>{const f=Array.isArray(h)?h:[h];n.nodeQueue.push(p=>[...p,...f])},addEdges:h=>{const f=Array.isArray(h)?h:[h];n.edgeQueue.push(p=>[...p,...f])},toObject:()=>{const{nodes:h=[],edges:f=[],transform:p}=e.getState(),[m,x,b]=p;return{nodes:h.map(y=>({...y})),edges:f.map(y=>({...y})),viewport:{x:m,y:x,zoom:b}}},deleteElements:async({nodes:h=[],edges:f=[]})=>{const{nodes:p,edges:m,onNodesDelete:x,onEdgesDelete:b,triggerNodeChanges:y,triggerEdgeChanges:k,onDelete:v,onBeforeDelete:w}=e.getState(),{nodes:C,edges:j}=await ZV({nodesToRemove:h,edgesToRemove:f,nodes:p,edges:m,onBeforeDelete:w}),S=j.length>0,E=C.length>0;if(S){const O=j.map(zy);b?.(j),k(O)}if(E){const O=C.map(zy);x?.(C),y(O)}return(E||S)&&v?.({nodes:C,edges:j}),{deletedNodes:C,deletedEdges:j}},getIntersectingNodes:(h,f=!0,p)=>{const m=by(h),x=m?h:l(h),b=p!==void 0;return x?(p||e.getState().nodes).filter(y=>{const k=e.getState().nodeLookup.get(y.id);if(k&&!m&&(y.id===h.id||!k.internals.positionAbsolute))return!1;const v=Di(b?y:k),w=Ya(v,x);return f&&w>0||w>=v.width*v.height||w>=x.width*x.height}):[]},isNodeIntersecting:(h,f,p=!0)=>{const x=by(h)?h:l(h);if(!x)return!1;const b=Ya(x,f);return p&&b>0||b>=f.width*f.height||b>=x.width*x.height},updateNode:d,updateNodeData:(h,f,p={replace:!1})=>{d(h,m=>{const x=typeof f=="function"?f(m):f;return p.replace?{...m,data:x}:{...m,data:{...m.data,...x}}},p)},updateEdge:u,updateEdgeData:(h,f,p={replace:!1})=>{u(h,m=>{const x=typeof f=="function"?f(m):f;return p.replace?{...m,data:x}:{...m,data:{...m.data,...x}}},p)},getNodesBounds:h=>{const{nodeLookup:f,nodeOrigin:p}=e.getState();return YV(h,{nodeLookup:f,nodeOrigin:p})},getHandleConnections:({type:h,id:f,nodeId:p})=>Array.from(e.getState().connectionLookup.get(`${p}-${h}${f?`-${f}`:""}`)?.values()??[]),getNodeConnections:({type:h,handleId:f,nodeId:p})=>Array.from(e.getState().connectionLookup.get(`${p}${h?f?`-${h}-${f}`:`-${h}`:""}`)?.values()??[]),fitView:async h=>{const f=e.getState().fitViewResolver??rW();return e.setState({fitViewQueued:!0,fitViewOptions:h,fitViewResolver:f}),n.nodeQueue.push(p=>[...p]),f.promise}}},[]);return g.useMemo(()=>({...s,...t,viewportInitialized:r}),[r])}const Wy=t=>t.selected,CK=typeof window<"u"?window:void 0;function jK({deleteKeyCode:t,multiSelectionKeyCode:e}){const n=Ve(),{deleteElements:r}=zm(),s=Qa(t,{actInsideInputWithModifier:!1}),i=Qa(e,{target:CK});g.useEffect(()=>{if(s){const{edges:o,nodes:a}=n.getState();r({nodes:a.filter(Wy),edges:o.filter(Wy)}),n.setState({nodesSelectionActive:!1})}},[s]),g.useEffect(()=>{n.setState({multiSelectionActive:i})},[i])}function NK(t){const e=Ve();g.useEffect(()=>{const n=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;const r=Rm(t.current);(r.height===0||r.width===0)&&e.getState().onError?.("004",sr.error004()),e.setState({width:r.width||500,height:r.height||500})};if(t.current){n(),window.addEventListener("resize",n);const r=new ResizeObserver(()=>n());return r.observe(t.current),()=>{window.removeEventListener("resize",n),r&&t.current&&r.unobserve(t.current)}}},[])}const mu={position:"absolute",width:"100%",height:"100%",top:0,left:0},PK=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function EK({onPaneContextMenu:t,zoomOnScroll:e=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:s=.5,panOnScrollMode:i=Ns.Free,zoomOnDoubleClick:o=!0,panOnDrag:a=!0,defaultViewport:l,translateExtent:d,minZoom:u,maxZoom:h,zoomActivationKeyCode:f,preventScrolling:p=!0,children:m,noWheelClassName:x,noPanClassName:b,onViewportChange:y,isControlledViewport:k,paneClickDistance:v,selectionOnDrag:w}){const C=Ve(),j=g.useRef(null),{userSelectionActive:S,lib:E,connectionInProgress:O}=Ae(PK,He),A=Qa(f),P=g.useRef();NK(j);const L=g.useCallback(_=>{y?.({x:_[0],y:_[1],zoom:_[2]}),k||C.setState({transform:_})},[y,k]);return g.useEffect(()=>{if(j.current){P.current=FW({domNode:j.current,minZoom:u,maxZoom:h,translateExtent:d,viewport:l,onDraggingChange:D=>C.setState(I=>I.paneDragging===D?I:{paneDragging:D}),onPanZoomStart:(D,I)=>{const{onViewportChangeStart:R,onMoveStart:$}=C.getState();$?.(D,I),R?.(I)},onPanZoom:(D,I)=>{const{onViewportChange:R,onMove:$}=C.getState();$?.(D,I),R?.(I)},onPanZoomEnd:(D,I)=>{const{onViewportChangeEnd:R,onMoveEnd:$}=C.getState();$?.(D,I),R?.(I)}});const{x:_,y:N,zoom:M}=P.current.getViewport();return C.setState({panZoom:P.current,transform:[_,N,M],domNode:j.current.closest(".react-flow")}),()=>{P.current?.destroy()}}},[]),g.useEffect(()=>{P.current?.update({onPaneContextMenu:t,zoomOnScroll:e,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:s,panOnScrollMode:i,zoomOnDoubleClick:o,panOnDrag:a,zoomActivationKeyPressed:A,preventScrolling:p,noPanClassName:b,userSelectionActive:S,noWheelClassName:x,lib:E,onTransformChange:L,connectionInProgress:O,selectionOnDrag:w,paneClickDistance:v})},[t,e,n,r,s,i,o,a,A,p,b,S,x,E,L,O,w,v]),c.jsx("div",{className:"react-flow__renderer",ref:j,style:mu,children:m})}const OK=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function MK(){const{userSelectionActive:t,userSelectionRect:e}=Ae(OK,He);return t&&e?c.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}const Bh=(t,e)=>n=>{n.target===e.current&&t?.(n)},DK=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging});function AK({isSelecting:t,selectionKeyPressed:e,selectionMode:n=qa.Full,panOnDrag:r,paneClickDistance:s,selectionOnDrag:i,onSelectionStart:o,onSelectionEnd:a,onPaneClick:l,onPaneContextMenu:d,onPaneScroll:u,onPaneMouseEnter:h,onPaneMouseMove:f,onPaneMouseLeave:p,children:m}){const x=Ve(),{userSelectionActive:b,elementsSelectable:y,dragging:k,connectionInProgress:v}=Ae(DK,He),w=y&&(t||b),C=g.useRef(null),j=g.useRef(),S=g.useRef(new Set),E=g.useRef(new Set),O=g.useRef(!1),A=R=>{if(O.current||v){O.current=!1;return}l?.(R),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},P=R=>{if(Array.isArray(r)&&r?.includes(2)){R.preventDefault();return}d?.(R)},L=u?R=>u(R):void 0,_=R=>{O.current&&(R.stopPropagation(),O.current=!1)},N=R=>{const{domNode:$}=x.getState();if(j.current=$?.getBoundingClientRect(),!j.current)return;const V=R.target===C.current;if(!V&&!!R.target.closest(".nokey")||!t||!(i&&V||e)||R.button!==0||!R.isPrimary)return;R.target?.setPointerCapture?.(R.pointerId),O.current=!1;const{x:Y,y:q}=An(R.nativeEvent,j.current);x.setState({userSelectionRect:{width:0,height:0,startX:Y,startY:q,x:Y,y:q}}),V||(R.stopPropagation(),R.preventDefault())},M=R=>{const{userSelectionRect:$,transform:V,nodeLookup:W,edgeLookup:F,connectionLookup:Y,triggerNodeChanges:q,triggerEdgeChanges:ne,defaultEdgeOptions:ue,resetSelectedElements:ae}=x.getState();if(!j.current||!$)return;const{x:z,y:te}=An(R.nativeEvent,j.current),{startX:J,startY:he}=$;if(!O.current){const oe=e?0:s;if(Math.hypot(z-J,te-he)<=oe)return;ae(),o?.(R)}O.current=!0;const ee={startX:J,startY:he,x:z<J?z:J,y:te<he?te:he,width:Math.abs(z-J),height:Math.abs(te-he)},fe=S.current,U=E.current;S.current=new Set(Tm(W,ee,V,n===qa.Partial,!0).map(oe=>oe.id)),E.current=new Set;const Q=ue?.selectable??!0;for(const oe of S.current){const ke=Y.get(oe);if(ke)for(const{edgeId:Ke}of ke.values()){const ct=F.get(Ke);ct&&(ct.selectable??Q)&&E.current.add(Ke)}}if(!yy(fe,S.current)){const oe=ii(W,S.current,!0);q(oe)}if(!yy(U,E.current)){const oe=ii(F,E.current);ne(oe)}x.setState({userSelectionRect:ee,userSelectionActive:!0,nodesSelectionActive:!1})},D=R=>{R.button===0&&(R.target?.releasePointerCapture?.(R.pointerId),!b&&R.target===C.current&&x.getState().userSelectionRect&&A?.(R),x.setState({userSelectionActive:!1,userSelectionRect:null}),O.current&&(a?.(R),x.setState({nodesSelectionActive:S.current.size>0})))},I=r===!0||Array.isArray(r)&&r.includes(0);return c.jsxs("div",{className:nt(["react-flow__pane",{draggable:I,dragging:k,selection:t}]),onClick:w?void 0:Bh(A,C),onContextMenu:Bh(P,C),onWheel:Bh(L,C),onPointerEnter:w?void 0:h,onPointerMove:w?M:f,onPointerUp:w?D:void 0,onPointerDownCapture:w?N:void 0,onClickCapture:w?_:void 0,onPointerLeave:p,ref:C,style:mu,children:[m,c.jsx(MK,{})]})}function dp({id:t,store:e,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:s,unselectNodesAndEdges:i,multiSelectionActive:o,nodeLookup:a,onError:l}=e.getState(),d=a.get(t);if(!d){l?.("012",sr.error012(t));return}e.setState({nodesSelectionActive:!1}),d.selected?(n||d.selected&&o)&&(i({nodes:[d],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):s([t])}function EC({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:r,nodeId:s,isSelectable:i,nodeClickDistance:o}){const a=Ve(),[l,d]=g.useState(!1),u=g.useRef();return g.useEffect(()=>{u.current=NW({getStoreItems:()=>a.getState(),onNodeMouseDown:h=>{dp({id:h,store:a,nodeRef:t})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),g.useEffect(()=>{if(!(e||!t.current||!u.current))return u.current.update({noDragClassName:n,handleSelector:r,domNode:t.current,isSelectable:i,nodeId:s,nodeClickDistance:o}),()=>{u.current?.destroy()}},[n,r,e,i,t,s,o]),l}const TK=t=>e=>e.selected&&(e.draggable||t&&typeof e.draggable>"u");function OC(){const t=Ve();return g.useCallback(n=>{const{nodeExtent:r,snapToGrid:s,snapGrid:i,nodesDraggable:o,onError:a,updateNodePositions:l,nodeLookup:d,nodeOrigin:u}=t.getState(),h=new Map,f=TK(o),p=s?i[0]:5,m=s?i[1]:5,x=n.direction.x*p*n.factor,b=n.direction.y*m*n.factor;for(const[,y]of d){if(!f(y))continue;let k={x:y.internals.positionAbsolute.x+x,y:y.internals.positionAbsolute.y+b};s&&(k=Nl(k,i));const{position:v,positionAbsolute:w}=qS({nodeId:y.id,nextPosition:k,nodeLookup:d,nodeExtent:r,nodeOrigin:u,onError:a});y.position=v,y.internals.positionAbsolute=w,h.set(y.id,y)}l(h)},[])}const Hm=g.createContext(null),LK=Hm.Provider;Hm.Consumer;const MC=()=>g.useContext(Hm),RK=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),IK=(t,e,n)=>r=>{const{connectionClickStartHandle:s,connectionMode:i,connection:o}=r,{fromHandle:a,toHandle:l,isValid:d}=o,u=l?.nodeId===t&&l?.id===e&&l?.type===n;return{connectingFrom:a?.nodeId===t&&a?.id===e&&a?.type===n,connectingTo:u,clickConnecting:s?.nodeId===t&&s?.id===e&&s?.type===n,isPossibleEndHandle:i===Oi.Strict?a?.type!==n:t!==a?.nodeId||e!==a?.id,connectionInProcess:!!a,clickConnectionInProcess:!!s,valid:u&&d}};function $K({type:t="source",position:e=ye.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:s=!0,isConnectableEnd:i=!0,id:o,onConnect:a,children:l,className:d,onMouseDown:u,onTouchStart:h,...f},p){const m=o||null,x=t==="target",b=Ve(),y=MC(),{connectOnClick:k,noPanClassName:v,rfId:w}=Ae(RK,He),{connectingFrom:C,connectingTo:j,clickConnecting:S,isPossibleEndHandle:E,connectionInProcess:O,clickConnectionInProcess:A,valid:P}=Ae(IK(y,m,t),He);y||b.getState().onError?.("010",sr.error010());const L=M=>{const{defaultEdgeOptions:D,onConnect:I,hasDefaultEdges:R}=b.getState(),$={...D,...M};if(R){const{edges:V,setEdges:W}=b.getState();W(dW($,V))}I?.($),a?.($)},_=M=>{if(!y)return;const D=nC(M.nativeEvent);if(s&&(D&&M.button===0||!D)){const I=b.getState();lp.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:I.autoPanOnConnect,connectionMode:I.connectionMode,connectionRadius:I.connectionRadius,domNode:I.domNode,nodeLookup:I.nodeLookup,lib:I.lib,isTarget:x,handleId:m,nodeId:y,flowId:I.rfId,panBy:I.panBy,cancelConnection:I.cancelConnection,onConnectStart:I.onConnectStart,onConnectEnd:(...R)=>b.getState().onConnectEnd?.(...R),updateConnection:I.updateConnection,onConnect:L,isValidConnection:n||((...R)=>b.getState().isValidConnection?.(...R)??!0),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:I.autoPanSpeed,dragThreshold:I.connectionDragThreshold})}D?u?.(M):h?.(M)},N=M=>{const{onClickConnectStart:D,onClickConnectEnd:I,connectionClickStartHandle:R,connectionMode:$,isValidConnection:V,lib:W,rfId:F,nodeLookup:Y,connection:q}=b.getState();if(!y||!R&&!s)return;if(!R){D?.(M.nativeEvent,{nodeId:y,handleId:m,handleType:t}),b.setState({connectionClickStartHandle:{nodeId:y,type:t,id:m}});return}const ne=eC(M.target),ue=n||V,{connection:ae,isValid:z}=lp.isValid(M.nativeEvent,{handle:{nodeId:y,id:m,type:t},connectionMode:$,fromNodeId:R.nodeId,fromHandleId:R.id||null,fromType:R.type,isValidConnection:ue,flowId:F,doc:ne,lib:W,nodeLookup:Y});z&&ae&&L(ae);const te=structuredClone(q);delete te.inProgress,te.toPosition=te.toHandle?te.toHandle.position:null,I?.(M,te),b.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":m,"data-nodeid":y,"data-handlepos":e,"data-id":`${w}-${y}-${m}-${t}`,className:nt(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",v,d,{source:!x,target:x,connectable:r,connectablestart:s,connectableend:i,clickconnecting:S,connectingfrom:C,connectingto:j,valid:P,connectionindicator:r&&(!O||E)&&(O||A?i:s)}]),onMouseDown:_,onTouchStart:_,onClick:k?N:void 0,ref:p,...f,children:l})}const Li=g.memo(NC($K));function BK({data:t,isConnectable:e,sourcePosition:n=ye.Bottom}){return c.jsxs(c.Fragment,{children:[t?.label,c.jsx(Li,{type:"source",position:n,isConnectable:e})]})}function _K({data:t,isConnectable:e,targetPosition:n=ye.Top,sourcePosition:r=ye.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(Li,{type:"target",position:n,isConnectable:e}),t?.label,c.jsx(Li,{type:"source",position:r,isConnectable:e})]})}function FK(){return null}function zK({data:t,isConnectable:e,targetPosition:n=ye.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(Li,{type:"target",position:n,isConnectable:e}),t?.label]})}const Md={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Ky={input:BK,default:_K,output:zK,group:FK};function HK(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}const VK=t=>{const{width:e,height:n,x:r,y:s}=jl(t.nodeLookup,{filter:i=>!!i.selected});return{width:Dn(e)?e:null,height:Dn(n)?n:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${r}px,${s}px)`}};function WK({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){const r=Ve(),{width:s,height:i,transformString:o,userSelectionActive:a}=Ae(VK,He),l=OC(),d=g.useRef(null);g.useEffect(()=>{n||d.current?.focus({preventScroll:!0})},[n]);const u=!a&&s!==null&&i!==null;if(EC({nodeRef:d,disabled:!u}),!u)return null;const h=t?p=>{const m=r.getState().nodes.filter(x=>x.selected);t(p,m)}:void 0,f=p=>{Object.prototype.hasOwnProperty.call(Md,p.key)&&(p.preventDefault(),l({direction:Md[p.key],factor:p.shiftKey?4:1}))};return c.jsx("div",{className:nt(["react-flow__nodesselection","react-flow__container",e]),style:{transform:o},children:c.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:f,style:{width:s,height:i}})})}const Uy=typeof window<"u"?window:void 0,KK=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function DC({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:i,onPaneScroll:o,paneClickDistance:a,deleteKeyCode:l,selectionKeyCode:d,selectionOnDrag:u,selectionMode:h,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:m,panActivationKeyCode:x,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:k,zoomOnPinch:v,panOnScroll:w,panOnScrollSpeed:C,panOnScrollMode:j,zoomOnDoubleClick:S,panOnDrag:E,defaultViewport:O,translateExtent:A,minZoom:P,maxZoom:L,preventScrolling:_,onSelectionContextMenu:N,noWheelClassName:M,noPanClassName:D,disableKeyboardA11y:I,onViewportChange:R,isControlledViewport:$}){const{nodesSelectionActive:V,userSelectionActive:W}=Ae(KK,He),F=Qa(d,{target:Uy}),Y=Qa(x,{target:Uy}),q=Y||E,ne=Y||w,ue=u&&q!==!0,ae=F||W||ue;return jK({deleteKeyCode:l,multiSelectionKeyCode:m}),c.jsx(EK,{onPaneContextMenu:i,elementsSelectable:y,zoomOnScroll:k,zoomOnPinch:v,panOnScroll:ne,panOnScrollSpeed:C,panOnScrollMode:j,zoomOnDoubleClick:S,panOnDrag:!F&&q,defaultViewport:O,translateExtent:A,minZoom:P,maxZoom:L,zoomActivationKeyCode:b,preventScrolling:_,noWheelClassName:M,noPanClassName:D,onViewportChange:R,isControlledViewport:$,paneClickDistance:a,selectionOnDrag:ue,children:c.jsxs(AK,{onSelectionStart:f,onSelectionEnd:p,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:i,onPaneScroll:o,panOnDrag:q,isSelecting:!!ae,selectionMode:h,selectionKeyPressed:F,paneClickDistance:a,selectionOnDrag:ue,children:[t,V&&c.jsx(WK,{onSelectionContextMenu:N,noPanClassName:D,disableKeyboardA11y:I})]})})}DC.displayName="FlowRenderer";const UK=g.memo(DC),GK=t=>e=>t?Tm(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(n=>n.id):Array.from(e.nodeLookup.keys());function qK(t){return Ae(g.useCallback(GK(t),[t]),He)}const YK=t=>t.updateNodeInternals;function XK(){const t=Ae(YK),[e]=g.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const r=new Map;n.forEach(s=>{const i=s.target.getAttribute("data-id");r.set(i,{id:i,nodeElement:s.target,force:!0})}),t(r)}));return g.useEffect(()=>()=>{e?.disconnect()},[e]),e}function QK({node:t,nodeType:e,hasDimensions:n,resizeObserver:r}){const s=Ve(),i=g.useRef(null),o=g.useRef(null),a=g.useRef(t.sourcePosition),l=g.useRef(t.targetPosition),d=g.useRef(e),u=n&&!!t.internals.handleBounds;return g.useEffect(()=>{i.current&&!t.hidden&&(!u||o.current!==i.current)&&(o.current&&r?.unobserve(o.current),r?.observe(i.current),o.current=i.current)},[u,t.hidden]),g.useEffect(()=>()=>{o.current&&(r?.unobserve(o.current),o.current=null)},[]),g.useEffect(()=>{if(i.current){const h=d.current!==e,f=a.current!==t.sourcePosition,p=l.current!==t.targetPosition;(h||f||p)&&(d.current=e,a.current=t.sourcePosition,l.current=t.targetPosition,s.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:i.current,force:!0}]])))}},[t.id,e,t.sourcePosition,t.targetPosition]),i}function JK({id:t,onClick:e,onMouseEnter:n,onMouseMove:r,onMouseLeave:s,onContextMenu:i,onDoubleClick:o,nodesDraggable:a,elementsSelectable:l,nodesConnectable:d,nodesFocusable:u,resizeObserver:h,noDragClassName:f,noPanClassName:p,disableKeyboardA11y:m,rfId:x,nodeTypes:b,nodeClickDistance:y,onError:k}){const{node:v,internals:w,isParent:C}=Ae(z=>{const te=z.nodeLookup.get(t),J=z.parentLookup.has(t);return{node:te,internals:te.internals,isParent:J}},He);let j=v.type||"default",S=b?.[j]||Ky[j];S===void 0&&(k?.("003",sr.error003(j)),j="default",S=b?.default||Ky.default);const E=!!(v.draggable||a&&typeof v.draggable>"u"),O=!!(v.selectable||l&&typeof v.selectable>"u"),A=!!(v.connectable||d&&typeof v.connectable>"u"),P=!!(v.focusable||u&&typeof v.focusable>"u"),L=Ve(),_=JS(v),N=QK({node:v,nodeType:j,hasDimensions:_,resizeObserver:h}),M=EC({nodeRef:N,disabled:v.hidden||!E,noDragClassName:f,handleSelector:v.dragHandle,nodeId:t,isSelectable:O,nodeClickDistance:y}),D=OC();if(v.hidden)return null;const I=jr(v),R=HK(v),$=O||E||e||n||r||s,V=n?z=>n(z,{...w.userNode}):void 0,W=r?z=>r(z,{...w.userNode}):void 0,F=s?z=>s(z,{...w.userNode}):void 0,Y=i?z=>i(z,{...w.userNode}):void 0,q=o?z=>o(z,{...w.userNode}):void 0,ne=z=>{const{selectNodesOnDrag:te,nodeDragThreshold:J}=L.getState();O&&(!te||!E||J>0)&&dp({id:t,store:L,nodeRef:N}),e&&e(z,{...w.userNode})},ue=z=>{if(!(tC(z.nativeEvent)||m)){if(VS.includes(z.key)&&O){const te=z.key==="Escape";dp({id:t,store:L,unselect:te,nodeRef:N})}else if(E&&v.selected&&Object.prototype.hasOwnProperty.call(Md,z.key)){z.preventDefault();const{ariaLabelConfig:te}=L.getState();L.setState({ariaLiveMessage:te["node.a11yDescription.ariaLiveMessage"]({direction:z.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),D({direction:Md[z.key],factor:z.shiftKey?4:1})}}},ae=()=>{if(m||!N.current?.matches(":focus-visible"))return;const{transform:z,width:te,height:J,autoPanOnNodeFocus:he,setCenter:ee}=L.getState();if(!he)return;Tm(new Map([[t,v]]),{x:0,y:0,width:te,height:J},z,!0).length>0||ee(v.position.x+I.width/2,v.position.y+I.height/2,{zoom:z[2]})};return c.jsx("div",{className:nt(["react-flow__node",`react-flow__node-${j}`,{[p]:E},v.className,{selected:v.selected,selectable:O,parent:C,draggable:E,dragging:M}]),ref:N,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:$?"all":"none",visibility:_?"visible":"hidden",...v.style,...R},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:V,onMouseMove:W,onMouseLeave:F,onContextMenu:Y,onClick:ne,onDoubleClick:q,onKeyDown:P?ue:void 0,tabIndex:P?0:void 0,onFocus:P?ae:void 0,role:v.ariaRole??(P?"group":void 0),"aria-roledescription":"node","aria-describedby":m?void 0:`${vC}-${x}`,"aria-label":v.ariaLabel,...v.domAttributes,children:c.jsx(LK,{value:t,children:c.jsx(S,{id:t,data:v.data,type:j,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:v.selected??!1,selectable:O,draggable:E,deletable:v.deletable??!0,isConnectable:A,sourcePosition:v.sourcePosition,targetPosition:v.targetPosition,dragging:M,dragHandle:v.dragHandle,zIndex:w.z,parentId:v.parentId,...I})})})}var ZK=g.memo(JK);const eU=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function AC(t){const{nodesDraggable:e,nodesConnectable:n,nodesFocusable:r,elementsSelectable:s,onError:i}=Ae(eU,He),o=qK(t.onlyRenderVisibleElements),a=XK();return c.jsx("div",{className:"react-flow__nodes",style:mu,children:o.map(l=>c.jsx(ZK,{id:l,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:a,nodesDraggable:e,nodesConnectable:n,nodesFocusable:r,elementsSelectable:s,nodeClickDistance:t.nodeClickDistance,onError:i},l))})}AC.displayName="NodeRenderer";const tU=g.memo(AC);function nU(t){return Ae(g.useCallback(n=>{if(!t)return n.edges.map(s=>s.id);const r=[];if(n.width&&n.height)for(const s of n.edges){const i=n.nodeLookup.get(s.source),o=n.nodeLookup.get(s.target);i&&o&&aW({sourceNode:i,targetNode:o,width:n.width,height:n.height,transform:n.transform})&&r.push(s.id)}return r},[t]),He)}const rU=({color:t="none",strokeWidth:e=1})=>{const n={strokeWidth:e,...t&&{stroke:t}};return c.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},sU=({color:t="none",strokeWidth:e=1})=>{const n={strokeWidth:e,...t&&{stroke:t,fill:t}};return c.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Gy={[Pd.Arrow]:rU,[Pd.ArrowClosed]:sU};function iU(t){const e=Ve();return g.useMemo(()=>Object.prototype.hasOwnProperty.call(Gy,t)?Gy[t]:(e.getState().onError?.("009",sr.error009(t)),null),[t])}const oU=({id:t,type:e,color:n,width:r=12.5,height:s=12.5,markerUnits:i="strokeWidth",strokeWidth:o,orient:a="auto-start-reverse"})=>{const l=iU(e);return l?c.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${r}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:a,refX:"0",refY:"0",children:c.jsx(l,{color:n,strokeWidth:o})}):null},TC=({defaultColor:t,rfId:e})=>{const n=Ae(i=>i.edges),r=Ae(i=>i.defaultEdgeOptions),s=g.useMemo(()=>mW(n,{id:e,defaultColor:t,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,e,t]);return s.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:s.map(i=>c.jsx(oU,{id:i.id,type:i.type,color:i.color,width:i.width,height:i.height,markerUnits:i.markerUnits,strokeWidth:i.strokeWidth,orient:i.orient},i.id))})}):null};TC.displayName="MarkerDefinitions";var aU=g.memo(TC);function LC({x:t,y:e,label:n,labelStyle:r,labelShowBg:s=!0,labelBgStyle:i,labelBgPadding:o=[2,4],labelBgBorderRadius:a=2,children:l,className:d,...u}){const[h,f]=g.useState({x:1,y:0,width:0,height:0}),p=nt(["react-flow__edge-textwrapper",d]),m=g.useRef(null);return g.useEffect(()=>{if(m.current){const x=m.current.getBBox();f({x:x.x,y:x.y,width:x.width,height:x.height})}},[n]),n?c.jsxs("g",{transform:`translate(${t-h.width/2} ${e-h.height/2})`,className:p,visibility:h.width?"visible":"hidden",...u,children:[s&&c.jsx("rect",{width:h.width+2*o[0],x:-o[0],y:-o[1],height:h.height+2*o[1],className:"react-flow__edge-textbg",style:i,rx:a,ry:a}),c.jsx("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:m,style:r,children:n}),l]}):null}LC.displayName="EdgeText";const lU=g.memo(LC);function gu({path:t,labelX:e,labelY:n,label:r,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:a,labelBgBorderRadius:l,interactionWidth:d=20,...u}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...u,d:t,fill:"none",className:nt(["react-flow__edge-path",u.className])}),d?c.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}):null,r&&Dn(e)&&Dn(n)?c.jsx(lU,{x:e,y:n,label:r,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:a,labelBgBorderRadius:l}):null]})}function qy({pos:t,x1:e,y1:n,x2:r,y2:s}){return t===ye.Left||t===ye.Right?[.5*(e+r),n]:[e,.5*(n+s)]}function RC({sourceX:t,sourceY:e,sourcePosition:n=ye.Bottom,targetX:r,targetY:s,targetPosition:i=ye.Top}){const[o,a]=qy({pos:n,x1:t,y1:e,x2:r,y2:s}),[l,d]=qy({pos:i,x1:r,y1:s,x2:t,y2:e}),[u,h,f,p]=rC({sourceX:t,sourceY:e,targetX:r,targetY:s,sourceControlX:o,sourceControlY:a,targetControlX:l,targetControlY:d});return[`M${t},${e} C${o},${a} ${l},${d} ${r},${s}`,u,h,f,p]}function IC(t){return g.memo(({id:e,sourceX:n,sourceY:r,targetX:s,targetY:i,sourcePosition:o,targetPosition:a,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:x,markerStart:b,interactionWidth:y})=>{const[k,v,w]=RC({sourceX:n,sourceY:r,sourcePosition:o,targetX:s,targetY:i,targetPosition:a}),C=t.isInternal?void 0:e;return c.jsx(gu,{id:C,path:k,labelX:v,labelY:w,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:x,markerStart:b,interactionWidth:y})})}const cU=IC({isInternal:!1}),$C=IC({isInternal:!0});cU.displayName="SimpleBezierEdge";$C.displayName="SimpleBezierEdgeInternal";function BC(t){return g.memo(({id:e,sourceX:n,sourceY:r,targetX:s,targetY:i,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,sourcePosition:p=ye.Bottom,targetPosition:m=ye.Top,markerEnd:x,markerStart:b,pathOptions:y,interactionWidth:k})=>{const[v,w,C]=ip({sourceX:n,sourceY:r,sourcePosition:p,targetX:s,targetY:i,targetPosition:m,borderRadius:y?.borderRadius,offset:y?.offset,stepPosition:y?.stepPosition}),j=t.isInternal?void 0:e;return c.jsx(gu,{id:j,path:v,labelX:w,labelY:C,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:x,markerStart:b,interactionWidth:k})})}const _C=BC({isInternal:!1}),FC=BC({isInternal:!0});_C.displayName="SmoothStepEdge";FC.displayName="SmoothStepEdgeInternal";function zC(t){return g.memo(({id:e,...n})=>{const r=t.isInternal?void 0:e;return c.jsx(_C,{...n,id:r,pathOptions:g.useMemo(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}const dU=zC({isInternal:!1}),HC=zC({isInternal:!0});dU.displayName="StepEdge";HC.displayName="StepEdgeInternal";function VC(t){return g.memo(({id:e,sourceX:n,sourceY:r,targetX:s,targetY:i,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:p,markerStart:m,interactionWidth:x})=>{const[b,y,k]=oC({sourceX:n,sourceY:r,targetX:s,targetY:i}),v=t.isInternal?void 0:e;return c.jsx(gu,{id:v,path:b,labelX:y,labelY:k,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:p,markerStart:m,interactionWidth:x})})}const uU=VC({isInternal:!1}),WC=VC({isInternal:!0});uU.displayName="StraightEdge";WC.displayName="StraightEdgeInternal";function KC(t){return g.memo(({id:e,sourceX:n,sourceY:r,targetX:s,targetY:i,sourcePosition:o=ye.Bottom,targetPosition:a=ye.Top,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:x,markerStart:b,pathOptions:y,interactionWidth:k})=>{const[v,w,C]=sC({sourceX:n,sourceY:r,sourcePosition:o,targetX:s,targetY:i,targetPosition:a,curvature:y?.curvature}),j=t.isInternal?void 0:e;return c.jsx(gu,{id:j,path:v,labelX:w,labelY:C,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:x,markerStart:b,interactionWidth:k})})}const hU=KC({isInternal:!1}),UC=KC({isInternal:!0});hU.displayName="BezierEdge";UC.displayName="BezierEdgeInternal";const Yy={default:UC,straight:WC,step:HC,smoothstep:FC,simplebezier:$C},Xy={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},fU=(t,e,n)=>n===ye.Left?t-e:n===ye.Right?t+e:t,pU=(t,e,n)=>n===ye.Top?t-e:n===ye.Bottom?t+e:t,Qy="react-flow__edgeupdater";function Jy({position:t,centerX:e,centerY:n,radius:r=10,onMouseDown:s,onMouseEnter:i,onMouseOut:o,type:a}){return c.jsx("circle",{onMouseDown:s,onMouseEnter:i,onMouseOut:o,className:nt([Qy,`${Qy}-${a}`]),cx:fU(e,r,t),cy:pU(n,r,t),r,stroke:"transparent",fill:"transparent"})}function mU({isReconnectable:t,reconnectRadius:e,edge:n,sourceX:r,sourceY:s,targetX:i,targetY:o,sourcePosition:a,targetPosition:l,onReconnect:d,onReconnectStart:u,onReconnectEnd:h,setReconnecting:f,setUpdateHover:p}){const m=Ve(),x=(w,C)=>{if(w.button!==0)return;const{autoPanOnConnect:j,domNode:S,connectionMode:E,connectionRadius:O,lib:A,onConnectStart:P,cancelConnection:L,nodeLookup:_,rfId:N,panBy:M,updateConnection:D}=m.getState(),I=C.type==="target",R=(W,F)=>{f(!1),h?.(W,n,C.type,F)},$=W=>d?.(n,W),V=(W,F)=>{f(!0),u?.(w,n,C.type),P?.(W,F)};lp.onPointerDown(w.nativeEvent,{autoPanOnConnect:j,connectionMode:E,connectionRadius:O,domNode:S,handleId:C.id,nodeId:C.nodeId,nodeLookup:_,isTarget:I,edgeUpdaterType:C.type,lib:A,flowId:N,cancelConnection:L,panBy:M,isValidConnection:(...W)=>m.getState().isValidConnection?.(...W)??!0,onConnect:$,onConnectStart:V,onConnectEnd:(...W)=>m.getState().onConnectEnd?.(...W),onReconnectEnd:R,updateConnection:D,getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,dragThreshold:m.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},b=w=>x(w,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),y=w=>x(w,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),k=()=>p(!0),v=()=>p(!1);return c.jsxs(c.Fragment,{children:[(t===!0||t==="source")&&c.jsx(Jy,{position:a,centerX:r,centerY:s,radius:e,onMouseDown:b,onMouseEnter:k,onMouseOut:v,type:"source"}),(t===!0||t==="target")&&c.jsx(Jy,{position:l,centerX:i,centerY:o,radius:e,onMouseDown:y,onMouseEnter:k,onMouseOut:v,type:"target"})]})}function gU({id:t,edgesFocusable:e,edgesReconnectable:n,elementsSelectable:r,onClick:s,onDoubleClick:i,onContextMenu:o,onMouseEnter:a,onMouseMove:l,onMouseLeave:d,reconnectRadius:u,onReconnect:h,onReconnectStart:f,onReconnectEnd:p,rfId:m,edgeTypes:x,noPanClassName:b,onError:y,disableKeyboardA11y:k}){let v=Ae(ee=>ee.edgeLookup.get(t));const w=Ae(ee=>ee.defaultEdgeOptions);v=w?{...w,...v}:v;let C=v.type||"default",j=x?.[C]||Yy[C];j===void 0&&(y?.("011",sr.error011(C)),C="default",j=x?.default||Yy.default);const S=!!(v.focusable||e&&typeof v.focusable>"u"),E=typeof h<"u"&&(v.reconnectable||n&&typeof v.reconnectable>"u"),O=!!(v.selectable||r&&typeof v.selectable>"u"),A=g.useRef(null),[P,L]=g.useState(!1),[_,N]=g.useState(!1),M=Ve(),{zIndex:D,sourceX:I,sourceY:R,targetX:$,targetY:V,sourcePosition:W,targetPosition:F}=Ae(g.useCallback(ee=>{const fe=ee.nodeLookup.get(v.source),U=ee.nodeLookup.get(v.target);if(!fe||!U)return{zIndex:v.zIndex,...Xy};const Q=pW({id:t,sourceNode:fe,targetNode:U,sourceHandle:v.sourceHandle||null,targetHandle:v.targetHandle||null,connectionMode:ee.connectionMode,onError:y});return{zIndex:oW({selected:v.selected,zIndex:v.zIndex,sourceNode:fe,targetNode:U,elevateOnSelect:ee.elevateEdgesOnSelect,zIndexMode:ee.zIndexMode}),...Q||Xy}},[v.source,v.target,v.sourceHandle,v.targetHandle,v.selected,v.zIndex]),He),Y=g.useMemo(()=>v.markerStart?`url('#${op(v.markerStart,m)}')`:void 0,[v.markerStart,m]),q=g.useMemo(()=>v.markerEnd?`url('#${op(v.markerEnd,m)}')`:void 0,[v.markerEnd,m]);if(v.hidden||I===null||R===null||$===null||V===null)return null;const ne=ee=>{const{addSelectedEdges:fe,unselectNodesAndEdges:U,multiSelectionActive:Q}=M.getState();O&&(M.setState({nodesSelectionActive:!1}),v.selected&&Q?(U({nodes:[],edges:[v]}),A.current?.blur()):fe([t])),s&&s(ee,v)},ue=i?ee=>{i(ee,{...v})}:void 0,ae=o?ee=>{o(ee,{...v})}:void 0,z=a?ee=>{a(ee,{...v})}:void 0,te=l?ee=>{l(ee,{...v})}:void 0,J=d?ee=>{d(ee,{...v})}:void 0,he=ee=>{if(!k&&VS.includes(ee.key)&&O){const{unselectNodesAndEdges:fe,addSelectedEdges:U}=M.getState();ee.key==="Escape"?(A.current?.blur(),fe({edges:[v]})):U([t])}};return c.jsx("svg",{style:{zIndex:D},children:c.jsxs("g",{className:nt(["react-flow__edge",`react-flow__edge-${C}`,v.className,b,{selected:v.selected,animated:v.animated,inactive:!O&&!s,updating:P,selectable:O}]),onClick:ne,onDoubleClick:ue,onContextMenu:ae,onMouseEnter:z,onMouseMove:te,onMouseLeave:J,onKeyDown:S?he:void 0,tabIndex:S?0:void 0,role:v.ariaRole??(S?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":v.ariaLabel===null?void 0:v.ariaLabel||`Edge from ${v.source} to ${v.target}`,"aria-describedby":S?`${wC}-${m}`:void 0,ref:A,...v.domAttributes,children:[!_&&c.jsx(j,{id:t,source:v.source,target:v.target,type:v.type,selected:v.selected,animated:v.animated,selectable:O,deletable:v.deletable??!0,label:v.label,labelStyle:v.labelStyle,labelShowBg:v.labelShowBg,labelBgStyle:v.labelBgStyle,labelBgPadding:v.labelBgPadding,labelBgBorderRadius:v.labelBgBorderRadius,sourceX:I,sourceY:R,targetX:$,targetY:V,sourcePosition:W,targetPosition:F,data:v.data,style:v.style,sourceHandleId:v.sourceHandle,targetHandleId:v.targetHandle,markerStart:Y,markerEnd:q,pathOptions:"pathOptions"in v?v.pathOptions:void 0,interactionWidth:v.interactionWidth}),E&&c.jsx(mU,{edge:v,isReconnectable:E,reconnectRadius:u,onReconnect:h,onReconnectStart:f,onReconnectEnd:p,sourceX:I,sourceY:R,targetX:$,targetY:V,sourcePosition:W,targetPosition:F,setUpdateHover:L,setReconnecting:N})]})})}var xU=g.memo(gU);const bU=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function GC({defaultMarkerColor:t,onlyRenderVisibleElements:e,rfId:n,edgeTypes:r,noPanClassName:s,onReconnect:i,onEdgeContextMenu:o,onEdgeMouseEnter:a,onEdgeMouseMove:l,onEdgeMouseLeave:d,onEdgeClick:u,reconnectRadius:h,onEdgeDoubleClick:f,onReconnectStart:p,onReconnectEnd:m,disableKeyboardA11y:x}){const{edgesFocusable:b,edgesReconnectable:y,elementsSelectable:k,onError:v}=Ae(bU,He),w=nU(e);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx(aU,{defaultColor:t,rfId:n}),w.map(C=>c.jsx(xU,{id:C,edgesFocusable:b,edgesReconnectable:y,elementsSelectable:k,noPanClassName:s,onReconnect:i,onContextMenu:o,onMouseEnter:a,onMouseMove:l,onMouseLeave:d,onClick:u,reconnectRadius:h,onDoubleClick:f,onReconnectStart:p,onReconnectEnd:m,rfId:n,onError:v,edgeTypes:r,disableKeyboardA11y:x},C))]})}GC.displayName="EdgeRenderer";const yU=g.memo(GC),vU=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function wU({children:t}){const e=Ae(vU);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:t})}function kU(t){const e=zm(),n=g.useRef(!1);g.useEffect(()=>{!n.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),n.current=!0)},[t,e.viewportInitialized])}const SU=t=>t.panZoom?.syncViewport;function CU(t){const e=Ae(SU),n=Ve();return g.useEffect(()=>{t&&(e?.(t),n.setState({transform:[t.x,t.y,t.zoom]}))},[t,e]),null}function jU(t){return t.connection.inProgress?{...t.connection,to:Pl(t.connection.to,t.transform)}:{...t.connection}}function NU(t){return jU}function PU(t){const e=NU();return Ae(e,He)}const EU=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function OU({containerStyle:t,style:e,type:n,component:r}){const{nodesConnectable:s,width:i,height:o,isValid:a,inProgress:l}=Ae(EU,He);return!(i&&s&&l)?null:c.jsx("svg",{style:t,width:i,height:o,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:nt(["react-flow__connection",US(a)]),children:c.jsx(qC,{style:e,type:n,CustomComponent:r,isValid:a})})})}const qC=({style:t,type:e=zr.Bezier,CustomComponent:n,isValid:r})=>{const{inProgress:s,from:i,fromNode:o,fromHandle:a,fromPosition:l,to:d,toNode:u,toHandle:h,toPosition:f,pointer:p}=PU();if(!s)return;if(n)return c.jsx(n,{connectionLineType:e,connectionLineStyle:t,fromNode:o,fromHandle:a,fromX:i.x,fromY:i.y,toX:d.x,toY:d.y,fromPosition:l,toPosition:f,connectionStatus:US(r),toNode:u,toHandle:h,pointer:p});let m="";const x={sourceX:i.x,sourceY:i.y,sourcePosition:l,targetX:d.x,targetY:d.y,targetPosition:f};switch(e){case zr.Bezier:[m]=sC(x);break;case zr.SimpleBezier:[m]=RC(x);break;case zr.Step:[m]=ip({...x,borderRadius:0});break;case zr.SmoothStep:[m]=ip(x);break;default:[m]=oC(x)}return c.jsx("path",{d:m,fill:"none",className:"react-flow__connection-path",style:t})};qC.displayName="ConnectionLine";const MU={};function Zy(t=MU){g.useRef(t),Ve(),g.useEffect(()=>{},[t])}function DU(){Ve(),g.useRef(!1),g.useEffect(()=>{},[])}function YC({nodeTypes:t,edgeTypes:e,onInit:n,onNodeClick:r,onEdgeClick:s,onNodeDoubleClick:i,onEdgeDoubleClick:o,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:d,onNodeContextMenu:u,onSelectionContextMenu:h,onSelectionStart:f,onSelectionEnd:p,connectionLineType:m,connectionLineStyle:x,connectionLineComponent:b,connectionLineContainerStyle:y,selectionKeyCode:k,selectionOnDrag:v,selectionMode:w,multiSelectionKeyCode:C,panActivationKeyCode:j,zoomActivationKeyCode:S,deleteKeyCode:E,onlyRenderVisibleElements:O,elementsSelectable:A,defaultViewport:P,translateExtent:L,minZoom:_,maxZoom:N,preventScrolling:M,defaultMarkerColor:D,zoomOnScroll:I,zoomOnPinch:R,panOnScroll:$,panOnScrollSpeed:V,panOnScrollMode:W,zoomOnDoubleClick:F,panOnDrag:Y,onPaneClick:q,onPaneMouseEnter:ne,onPaneMouseMove:ue,onPaneMouseLeave:ae,onPaneScroll:z,onPaneContextMenu:te,paneClickDistance:J,nodeClickDistance:he,onEdgeContextMenu:ee,onEdgeMouseEnter:fe,onEdgeMouseMove:U,onEdgeMouseLeave:Q,reconnectRadius:oe,onReconnect:ke,onReconnectStart:Ke,onReconnectEnd:ct,noDragClassName:Ue,noWheelClassName:tn,noPanClassName:nn,disableKeyboardA11y:Fn,nodeExtent:Rt,rfId:rn,viewport:Cn,onViewportChange:St}){return Zy(t),Zy(e),DU(),kU(n),CU(Cn),c.jsx(UK,{onPaneClick:q,onPaneMouseEnter:ne,onPaneMouseMove:ue,onPaneMouseLeave:ae,onPaneContextMenu:te,onPaneScroll:z,paneClickDistance:J,deleteKeyCode:E,selectionKeyCode:k,selectionOnDrag:v,selectionMode:w,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:C,panActivationKeyCode:j,zoomActivationKeyCode:S,elementsSelectable:A,zoomOnScroll:I,zoomOnPinch:R,zoomOnDoubleClick:F,panOnScroll:$,panOnScrollSpeed:V,panOnScrollMode:W,panOnDrag:Y,defaultViewport:P,translateExtent:L,minZoom:_,maxZoom:N,onSelectionContextMenu:h,preventScrolling:M,noDragClassName:Ue,noWheelClassName:tn,noPanClassName:nn,disableKeyboardA11y:Fn,onViewportChange:St,isControlledViewport:!!Cn,children:c.jsxs(wU,{children:[c.jsx(yU,{edgeTypes:e,onEdgeClick:s,onEdgeDoubleClick:o,onReconnect:ke,onReconnectStart:Ke,onReconnectEnd:ct,onlyRenderVisibleElements:O,onEdgeContextMenu:ee,onEdgeMouseEnter:fe,onEdgeMouseMove:U,onEdgeMouseLeave:Q,reconnectRadius:oe,defaultMarkerColor:D,noPanClassName:nn,disableKeyboardA11y:Fn,rfId:rn}),c.jsx(OU,{style:x,type:m,component:b,containerStyle:y}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(tU,{nodeTypes:t,onNodeClick:r,onNodeDoubleClick:i,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:d,onNodeContextMenu:u,nodeClickDistance:he,onlyRenderVisibleElements:O,noPanClassName:nn,noDragClassName:Ue,disableKeyboardA11y:Fn,nodeExtent:Rt,rfId:rn}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}YC.displayName="GraphView";const AU=g.memo(YC),ev=({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,width:s,height:i,fitView:o,fitViewOptions:a,minZoom:l=.5,maxZoom:d=2,nodeOrigin:u,nodeExtent:h,zIndexMode:f="basic"}={})=>{const p=new Map,m=new Map,x=new Map,b=new Map,y=r??e??[],k=n??t??[],v=u??[0,0],w=h??Ga;cC(x,b,y);const{nodesInitialized:C}=ap(k,p,m,{nodeOrigin:v,nodeExtent:w,zIndexMode:f});let j=[0,0,1];if(o&&s&&i){const S=jl(p,{filter:P=>!!((P.width||P.initialWidth)&&(P.height||P.initialHeight))}),{x:E,y:O,zoom:A}=Lm(S,s,i,l,d,a?.padding??.1);j=[E,O,A]}return{rfId:"1",width:s??0,height:i??0,transform:j,nodes:k,nodesInitialized:C,nodeLookup:p,parentLookup:m,edges:y,edgeLookup:b,connectionLookup:x,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:l,maxZoom:d,translateExtent:Ga,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Oi.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:v,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:a,fitViewResolver:null,connection:{...KS},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:eW,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:WS,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},TU=({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,width:s,height:i,fitView:o,fitViewOptions:a,minZoom:l,maxZoom:d,nodeOrigin:u,nodeExtent:h,zIndexMode:f})=>JW((p,m)=>{async function x(){const{nodeLookup:b,panZoom:y,fitViewOptions:k,fitViewResolver:v,width:w,height:C,minZoom:j,maxZoom:S}=m();y&&(await JV({nodes:b,width:w,height:C,panZoom:y,minZoom:j,maxZoom:S},k),v?.resolve(!0),p({fitViewResolver:null}))}return{...ev({nodes:t,edges:e,width:s,height:i,fitView:o,fitViewOptions:a,minZoom:l,maxZoom:d,nodeOrigin:u,nodeExtent:h,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:b=>{const{nodeLookup:y,parentLookup:k,nodeOrigin:v,elevateNodesOnSelect:w,fitViewQueued:C,zIndexMode:j,nodesSelectionActive:S}=m(),{nodesInitialized:E,hasSelectedNodes:O}=ap(b,y,k,{nodeOrigin:v,nodeExtent:h,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:j}),A=S&&O;C&&E?(x(),p({nodes:b,nodesInitialized:E,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:A})):p({nodes:b,nodesInitialized:E,nodesSelectionActive:A})},setEdges:b=>{const{connectionLookup:y,edgeLookup:k}=m();cC(y,k,b),p({edges:b})},setDefaultNodesAndEdges:(b,y)=>{if(b){const{setNodes:k}=m();k(b),p({hasDefaultNodes:!0})}if(y){const{setEdges:k}=m();k(y),p({hasDefaultEdges:!0})}},updateNodeInternals:b=>{const{triggerNodeChanges:y,nodeLookup:k,parentLookup:v,domNode:w,nodeOrigin:C,nodeExtent:j,debug:S,fitViewQueued:E,zIndexMode:O}=m(),{changes:A,updatedInternals:P}=kW(b,k,v,w,C,j,O);P&&(bW(k,v,{nodeOrigin:C,nodeExtent:j,zIndexMode:O}),E?(x(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),A?.length>0&&(S&&console.log("React Flow: trigger node changes",A),y?.(A)))},updateNodePositions:(b,y=!1)=>{const k=[];let v=[];const{nodeLookup:w,triggerNodeChanges:C,connection:j,updateConnection:S,onNodesChangeMiddlewareMap:E}=m();for(const[O,A]of b){const P=w.get(O),L=!!(P?.expandParent&&P?.parentId&&A?.position),_={id:O,type:"position",position:L?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:y};if(P&&j.inProgress&&j.fromNode.id===P.id){const N=Ls(P,j.fromHandle,ye.Left,!0);S({...j,from:N})}L&&P.parentId&&k.push({id:O,parentId:P.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),v.push(_)}if(k.length>0){const{parentLookup:O,nodeOrigin:A}=m(),P=Fm(k,w,O,A);v.push(...P)}for(const O of E.values())v=O(v);C(v)},triggerNodeChanges:b=>{const{onNodesChange:y,setNodes:k,nodes:v,hasDefaultNodes:w,debug:C}=m();if(b?.length){if(w){const j=CC(b,v);k(j)}C&&console.log("React Flow: trigger node changes",b),y?.(b)}},triggerEdgeChanges:b=>{const{onEdgesChange:y,setEdges:k,edges:v,hasDefaultEdges:w,debug:C}=m();if(b?.length){if(w){const j=jC(b,v);k(j)}C&&console.log("React Flow: trigger edge changes",b),y?.(b)}},addSelectedNodes:b=>{const{multiSelectionActive:y,edgeLookup:k,nodeLookup:v,triggerNodeChanges:w,triggerEdgeChanges:C}=m();if(y){const j=b.map(S=>hs(S,!0));w(j);return}w(ii(v,new Set([...b]),!0)),C(ii(k))},addSelectedEdges:b=>{const{multiSelectionActive:y,edgeLookup:k,nodeLookup:v,triggerNodeChanges:w,triggerEdgeChanges:C}=m();if(y){const j=b.map(S=>hs(S,!0));C(j);return}C(ii(k,new Set([...b]))),w(ii(v,new Set,!0))},unselectNodesAndEdges:({nodes:b,edges:y}={})=>{const{edges:k,nodes:v,nodeLookup:w,triggerNodeChanges:C,triggerEdgeChanges:j}=m(),S=b||v,E=y||k,O=[];for(const P of S){if(!P.selected)continue;const L=w.get(P.id);L&&(L.selected=!1),O.push(hs(P.id,!1))}const A=[];for(const P of E)P.selected&&A.push(hs(P.id,!1));C(O),j(A)},setMinZoom:b=>{const{panZoom:y,maxZoom:k}=m();y?.setScaleExtent([b,k]),p({minZoom:b})},setMaxZoom:b=>{const{panZoom:y,minZoom:k}=m();y?.setScaleExtent([k,b]),p({maxZoom:b})},setTranslateExtent:b=>{m().panZoom?.setTranslateExtent(b),p({translateExtent:b})},resetSelectedElements:()=>{const{edges:b,nodes:y,triggerNodeChanges:k,triggerEdgeChanges:v,elementsSelectable:w}=m();if(!w)return;const C=y.reduce((S,E)=>E.selected?[...S,hs(E.id,!1)]:S,[]),j=b.reduce((S,E)=>E.selected?[...S,hs(E.id,!1)]:S,[]);k(C),v(j)},setNodeExtent:b=>{const{nodes:y,nodeLookup:k,parentLookup:v,nodeOrigin:w,elevateNodesOnSelect:C,nodeExtent:j,zIndexMode:S}=m();b[0][0]===j[0][0]&&b[0][1]===j[0][1]&&b[1][0]===j[1][0]&&b[1][1]===j[1][1]||(ap(y,k,v,{nodeOrigin:w,nodeExtent:b,elevateNodesOnSelect:C,checkEquality:!1,zIndexMode:S}),p({nodeExtent:b}))},panBy:b=>{const{transform:y,width:k,height:v,panZoom:w,translateExtent:C}=m();return SW({delta:b,panZoom:w,transform:y,translateExtent:C,width:k,height:v})},setCenter:async(b,y,k)=>{const{width:v,height:w,maxZoom:C,panZoom:j}=m();if(!j)return Promise.resolve(!1);const S=typeof k?.zoom<"u"?k.zoom:C;return await j.setViewport({x:v/2-b*S,y:w/2-y*S,zoom:S},{duration:k?.duration,ease:k?.ease,interpolate:k?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{p({connection:{...KS}})},updateConnection:b=>{p({connection:b})},reset:()=>p({...ev()})}},Object.is);function LU({initialNodes:t,initialEdges:e,defaultNodes:n,defaultEdges:r,initialWidth:s,initialHeight:i,initialMinZoom:o,initialMaxZoom:a,initialFitViewOptions:l,fitView:d,nodeOrigin:u,nodeExtent:h,zIndexMode:f,children:p}){const[m]=g.useState(()=>TU({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,width:s,height:i,fitView:d,minZoom:o,maxZoom:a,fitViewOptions:l,nodeOrigin:u,nodeExtent:h,zIndexMode:f}));return c.jsx(ZW,{value:m,children:c.jsx(wK,{children:p})})}function RU({children:t,nodes:e,edges:n,defaultNodes:r,defaultEdges:s,width:i,height:o,fitView:a,fitViewOptions:l,minZoom:d,maxZoom:u,nodeOrigin:h,nodeExtent:f,zIndexMode:p}){return g.useContext(fu)?c.jsx(c.Fragment,{children:t}):c.jsx(LU,{initialNodes:e,initialEdges:n,defaultNodes:r,defaultEdges:s,initialWidth:i,initialHeight:o,fitView:a,initialFitViewOptions:l,initialMinZoom:d,initialMaxZoom:u,nodeOrigin:h,nodeExtent:f,zIndexMode:p,children:t})}const IU={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function $U({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,className:s,nodeTypes:i,edgeTypes:o,onNodeClick:a,onEdgeClick:l,onInit:d,onMove:u,onMoveStart:h,onMoveEnd:f,onConnect:p,onConnectStart:m,onConnectEnd:x,onClickConnectStart:b,onClickConnectEnd:y,onNodeMouseEnter:k,onNodeMouseMove:v,onNodeMouseLeave:w,onNodeContextMenu:C,onNodeDoubleClick:j,onNodeDragStart:S,onNodeDrag:E,onNodeDragStop:O,onNodesDelete:A,onEdgesDelete:P,onDelete:L,onSelectionChange:_,onSelectionDragStart:N,onSelectionDrag:M,onSelectionDragStop:D,onSelectionContextMenu:I,onSelectionStart:R,onSelectionEnd:$,onBeforeDelete:V,connectionMode:W,connectionLineType:F=zr.Bezier,connectionLineStyle:Y,connectionLineComponent:q,connectionLineContainerStyle:ne,deleteKeyCode:ue="Backspace",selectionKeyCode:ae="Shift",selectionOnDrag:z=!1,selectionMode:te=qa.Full,panActivationKeyCode:J="Space",multiSelectionKeyCode:he=Xa()?"Meta":"Control",zoomActivationKeyCode:ee=Xa()?"Meta":"Control",snapToGrid:fe,snapGrid:U,onlyRenderVisibleElements:Q=!1,selectNodesOnDrag:oe,nodesDraggable:ke,autoPanOnNodeFocus:Ke,nodesConnectable:ct,nodesFocusable:Ue,nodeOrigin:tn=kC,edgesFocusable:nn,edgesReconnectable:Fn,elementsSelectable:Rt=!0,defaultViewport:rn=hK,minZoom:Cn=.5,maxZoom:St=2,translateExtent:rt=Ga,preventScrolling:pt=!0,nodeExtent:cr,defaultMarkerColor:sn="#b1b1b7",zoomOnScroll:Nr=!0,zoomOnPinch:Xi=!0,panOnScroll:Wt=!1,panOnScrollSpeed:Pr=.5,panOnScrollMode:is=Ns.Free,zoomOnDoubleClick:Fs=!0,panOnDrag:zs=!0,onPaneClick:Hs,onPaneMouseEnter:Er,onPaneMouseMove:Vs,onPaneMouseLeave:Ge,onPaneScroll:mt,onPaneContextMenu:dt,paneClickDistance:on=1,nodeClickDistance:gt=0,children:Ze,onReconnect:xt,onReconnectStart:jn,onReconnectEnd:Ye,onEdgeContextMenu:an,onEdgeDoubleClick:T,onEdgeMouseEnter:B,onEdgeMouseMove:H,onEdgeMouseLeave:X,reconnectRadius:Z=10,onNodesChange:pe,onEdgesChange:le,noDragClassName:me="nodrag",noWheelClassName:ge="nowheel",noPanClassName:be="nopan",fitView:we,fitViewOptions:xe,connectOnClick:Me,attributionPosition:De,proOptions:st,defaultEdgeOptions:et,elevateNodesOnSelect:bt=!0,elevateEdgesOnSelect:Le=!1,disableKeyboardA11y:Ot=!1,autoPanOnConnect:dr,autoPanOnNodeDrag:os,autoPanSpeed:zn,connectionRadius:ln,isValidConnection:Qi,onError:as,style:ur,id:ls,nodeDragThreshold:Ws,connectionDragThreshold:Pe,viewport:ut,onViewportChange:Or,width:hr,height:Fe,colorMode:Ks="light",debug:El,onScroll:Ol,ariaLabelConfig:e5,zIndexMode:Vm="basic",...t5},n5){const xu=ls||"1",r5=gK(Ks),s5=g.useCallback(Wm=>{Wm.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ol?.(Wm)},[Ol]);return c.jsx("div",{"data-testid":"rf__wrapper",...t5,onScroll:s5,style:{...ur,...IU},ref:n5,className:nt(["react-flow",s,r5]),id:ls,role:"application",children:c.jsxs(RU,{nodes:t,edges:e,width:hr,height:Fe,fitView:we,fitViewOptions:xe,minZoom:Cn,maxZoom:St,nodeOrigin:tn,nodeExtent:cr,zIndexMode:Vm,children:[c.jsx(mK,{nodes:t,edges:e,defaultNodes:n,defaultEdges:r,onConnect:p,onConnectStart:m,onConnectEnd:x,onClickConnectStart:b,onClickConnectEnd:y,nodesDraggable:ke,autoPanOnNodeFocus:Ke,nodesConnectable:ct,nodesFocusable:Ue,edgesFocusable:nn,edgesReconnectable:Fn,elementsSelectable:Rt,elevateNodesOnSelect:bt,elevateEdgesOnSelect:Le,minZoom:Cn,maxZoom:St,nodeExtent:cr,onNodesChange:pe,onEdgesChange:le,snapToGrid:fe,snapGrid:U,connectionMode:W,translateExtent:rt,connectOnClick:Me,defaultEdgeOptions:et,fitView:we,fitViewOptions:xe,onNodesDelete:A,onEdgesDelete:P,onDelete:L,onNodeDragStart:S,onNodeDrag:E,onNodeDragStop:O,onSelectionDrag:M,onSelectionDragStart:N,onSelectionDragStop:D,onMove:u,onMoveStart:h,onMoveEnd:f,noPanClassName:be,nodeOrigin:tn,rfId:xu,autoPanOnConnect:dr,autoPanOnNodeDrag:os,autoPanSpeed:zn,onError:as,connectionRadius:ln,isValidConnection:Qi,selectNodesOnDrag:oe,nodeDragThreshold:Ws,connectionDragThreshold:Pe,onBeforeDelete:V,debug:El,ariaLabelConfig:e5,zIndexMode:Vm}),c.jsx(AU,{onInit:d,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:k,onNodeMouseMove:v,onNodeMouseLeave:w,onNodeContextMenu:C,onNodeDoubleClick:j,nodeTypes:i,edgeTypes:o,connectionLineType:F,connectionLineStyle:Y,connectionLineComponent:q,connectionLineContainerStyle:ne,selectionKeyCode:ae,selectionOnDrag:z,selectionMode:te,deleteKeyCode:ue,multiSelectionKeyCode:he,panActivationKeyCode:J,zoomActivationKeyCode:ee,onlyRenderVisibleElements:Q,defaultViewport:rn,translateExtent:rt,minZoom:Cn,maxZoom:St,preventScrolling:pt,zoomOnScroll:Nr,zoomOnPinch:Xi,zoomOnDoubleClick:Fs,panOnScroll:Wt,panOnScrollSpeed:Pr,panOnScrollMode:is,panOnDrag:zs,onPaneClick:Hs,onPaneMouseEnter:Er,onPaneMouseMove:Vs,onPaneMouseLeave:Ge,onPaneScroll:mt,onPaneContextMenu:dt,paneClickDistance:on,nodeClickDistance:gt,onSelectionContextMenu:I,onSelectionStart:R,onSelectionEnd:$,onReconnect:xt,onReconnectStart:jn,onReconnectEnd:Ye,onEdgeContextMenu:an,onEdgeDoubleClick:T,onEdgeMouseEnter:B,onEdgeMouseMove:H,onEdgeMouseLeave:X,reconnectRadius:Z,defaultMarkerColor:sn,noDragClassName:me,noWheelClassName:ge,noPanClassName:be,rfId:xu,disableKeyboardA11y:Ot,nodeExtent:cr,viewport:ut,onViewportChange:Or}),c.jsx(uK,{onSelectionChange:_}),Ze,c.jsx(oK,{proOptions:st,position:De}),c.jsx(iK,{rfId:xu,disableKeyboardA11y:Ot})]})})}var BU=NC($U);function _U(t){const[e,n]=g.useState(t),r=g.useCallback(s=>n(i=>CC(s,i)),[]);return[e,n,r]}function FU(t){const[e,n]=g.useState(t),r=g.useCallback(s=>n(i=>jC(s,i)),[]);return[e,n,r]}function zU({dimensions:t,lineWidth:e,variant:n,className:r}){return c.jsx("path",{strokeWidth:e,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:nt(["react-flow__background-pattern",n,r])})}function HU({radius:t,className:e}){return c.jsx("circle",{cx:t,cy:t,r:t,className:nt(["react-flow__background-pattern","dots",e])})}var Gr;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Gr||(Gr={}));const VU={[Gr.Dots]:1,[Gr.Lines]:1,[Gr.Cross]:6},WU=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function XC({id:t,variant:e=Gr.Dots,gap:n=20,size:r,lineWidth:s=1,offset:i=0,color:o,bgColor:a,style:l,className:d,patternClassName:u}){const h=g.useRef(null),{transform:f,patternId:p}=Ae(WU,He),m=r||VU[e],x=e===Gr.Dots,b=e===Gr.Cross,y=Array.isArray(n)?n:[n,n],k=[y[0]*f[2]||1,y[1]*f[2]||1],v=m*f[2],w=Array.isArray(i)?i:[i,i],C=b?[v,v]:k,j=[w[0]*f[2]||1+C[0]/2,w[1]*f[2]||1+C[1]/2],S=`${p}${t||""}`;return c.jsxs("svg",{className:nt(["react-flow__background",d]),style:{...l,...mu,"--xy-background-color-props":a,"--xy-background-pattern-color-props":o},ref:h,"data-testid":"rf__background",children:[c.jsx("pattern",{id:S,x:f[0]%k[0],y:f[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${j[0]},-${j[1]})`,children:x?c.jsx(HU,{radius:v/2,className:u}):c.jsx(zU,{dimensions:C,lineWidth:s,variant:e,className:u})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${S})`})]})}XC.displayName="Background";const KU=g.memo(XC);function UU(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function GU(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function qU(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function YU(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function XU(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function xc({children:t,className:e,...n}){return c.jsx("button",{type:"button",className:nt(["react-flow__controls-button",e]),...n,children:t})}const QU=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function QC({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:s,onZoomIn:i,onZoomOut:o,onFitView:a,onInteractiveChange:l,className:d,children:u,position:h="bottom-left",orientation:f="vertical","aria-label":p}){const m=Ve(),{isInteractive:x,minZoomReached:b,maxZoomReached:y,ariaLabelConfig:k}=Ae(QU,He),{zoomIn:v,zoomOut:w,fitView:C}=zm(),j=()=>{v(),i?.()},S=()=>{w(),o?.()},E=()=>{C(s),a?.()},O=()=>{m.setState({nodesDraggable:!x,nodesConnectable:!x,elementsSelectable:!x}),l?.(!x)},A=f==="horizontal"?"horizontal":"vertical";return c.jsxs(pu,{className:nt(["react-flow__controls",A,d]),position:h,style:t,"data-testid":"rf__controls","aria-label":p??k["controls.ariaLabel"],children:[e&&c.jsxs(c.Fragment,{children:[c.jsx(xc,{onClick:j,className:"react-flow__controls-zoomin",title:k["controls.zoomIn.ariaLabel"],"aria-label":k["controls.zoomIn.ariaLabel"],disabled:y,children:c.jsx(UU,{})}),c.jsx(xc,{onClick:S,className:"react-flow__controls-zoomout",title:k["controls.zoomOut.ariaLabel"],"aria-label":k["controls.zoomOut.ariaLabel"],disabled:b,children:c.jsx(GU,{})})]}),n&&c.jsx(xc,{className:"react-flow__controls-fitview",onClick:E,title:k["controls.fitView.ariaLabel"],"aria-label":k["controls.fitView.ariaLabel"],children:c.jsx(qU,{})}),r&&c.jsx(xc,{className:"react-flow__controls-interactive",onClick:O,title:k["controls.interactive.ariaLabel"],"aria-label":k["controls.interactive.ariaLabel"],children:x?c.jsx(XU,{}):c.jsx(YU,{})}),u]})}QC.displayName="Controls";g.memo(QC);function JU({id:t,x:e,y:n,width:r,height:s,style:i,color:o,strokeColor:a,strokeWidth:l,className:d,borderRadius:u,shapeRendering:h,selected:f,onClick:p}){const{background:m,backgroundColor:x}=i||{},b=o||m||x;return c.jsx("rect",{className:nt(["react-flow__minimap-node",{selected:f},d]),x:e,y:n,rx:u,ry:u,width:r,height:s,style:{fill:b,stroke:a,strokeWidth:l},shapeRendering:h,onClick:p?y=>p(y,t):void 0})}const ZU=g.memo(JU),eG=t=>t.nodes.map(e=>e.id),_h=t=>t instanceof Function?t:()=>t;function tG({nodeStrokeColor:t,nodeColor:e,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:s,nodeComponent:i=ZU,onClick:o}){const a=Ae(eG,He),l=_h(e),d=_h(t),u=_h(n),h=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:a.map(f=>c.jsx(rG,{id:f,nodeColorFunc:l,nodeStrokeColorFunc:d,nodeClassNameFunc:u,nodeBorderRadius:r,nodeStrokeWidth:s,NodeComponent:i,onClick:o,shapeRendering:h},f))})}function nG({id:t,nodeColorFunc:e,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:s,nodeStrokeWidth:i,shapeRendering:o,NodeComponent:a,onClick:l}){const{node:d,x:u,y:h,width:f,height:p}=Ae(m=>{const x=m.nodeLookup.get(t);if(!x)return{node:void 0,x:0,y:0,width:0,height:0};const b=x.internals.userNode,{x:y,y:k}=x.internals.positionAbsolute,{width:v,height:w}=jr(b);return{node:b,x:y,y:k,width:v,height:w}},He);return!d||d.hidden||!JS(d)?null:c.jsx(a,{x:u,y:h,width:f,height:p,style:d.style,selected:!!d.selected,className:r(d),color:e(d),borderRadius:s,strokeColor:n(d),strokeWidth:i,shapeRendering:o,onClick:l,id:d.id})}const rG=g.memo(nG);var sG=g.memo(tG);const iG=200,oG=150,aG=t=>!t.hidden,lG=t=>{const e={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:e,boundingRect:t.nodeLookup.size>0?QS(jl(t.nodeLookup,{filter:aG}),e):e,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},cG="react-flow__minimap-desc";function JC({style:t,className:e,nodeStrokeColor:n,nodeColor:r,nodeClassName:s="",nodeBorderRadius:i=5,nodeStrokeWidth:o,nodeComponent:a,bgColor:l,maskColor:d,maskStrokeColor:u,maskStrokeWidth:h,position:f="bottom-right",onClick:p,onNodeClick:m,pannable:x=!1,zoomable:b=!1,ariaLabel:y,inversePan:k,zoomStep:v=1,offsetScale:w=5}){const C=Ve(),j=g.useRef(null),{boundingRect:S,viewBB:E,rfId:O,panZoom:A,translateExtent:P,flowWidth:L,flowHeight:_,ariaLabelConfig:N}=Ae(lG,He),M=t?.width??iG,D=t?.height??oG,I=S.width/M,R=S.height/D,$=Math.max(I,R),V=$*M,W=$*D,F=w*$,Y=S.x-(V-S.width)/2-F,q=S.y-(W-S.height)/2-F,ne=V+F*2,ue=W+F*2,ae=`${cG}-${O}`,z=g.useRef(0),te=g.useRef();z.current=$,g.useEffect(()=>{if(j.current&&A)return te.current=AW({domNode:j.current,panZoom:A,getTransform:()=>C.getState().transform,getViewScale:()=>z.current}),()=>{te.current?.destroy()}},[A]),g.useEffect(()=>{te.current?.update({translateExtent:P,width:L,height:_,inversePan:k,pannable:x,zoomStep:v,zoomable:b})},[x,b,k,v,P,L,_]);const J=p?fe=>{const[U,Q]=te.current?.pointer(fe)||[0,0];p(fe,{x:U,y:Q})}:void 0,he=m?g.useCallback((fe,U)=>{const Q=C.getState().nodeLookup.get(U).internals.userNode;m(fe,Q)},[]):void 0,ee=y??N["minimap.ariaLabel"];return c.jsx(pu,{position:f,style:{...t,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-width-props":typeof h=="number"?h*$:void 0,"--xy-minimap-node-background-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof o=="number"?o:void 0},className:nt(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:M,height:D,viewBox:`${Y} ${q} ${ne} ${ue}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ae,ref:j,onClick:J,children:[ee&&c.jsx("title",{id:ae,children:ee}),c.jsx(sG,{onClick:he,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:s,nodeStrokeWidth:o,nodeComponent:a}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${Y-F},${q-F}h${ne+F*2}v${ue+F*2}h${-ne-F*2}z
284
+ M${E.x},${E.y}h${E.width}v${E.height}h${-E.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}JC.displayName="MiniMap";g.memo(JC);const dG=t=>e=>t?`${Math.max(1/e.transform[2],1)}`:void 0,uG={[Ti.Line]:"right",[Ti.Handle]:"bottom-right"};function hG({nodeId:t,position:e,variant:n=Ti.Handle,className:r,style:s=void 0,children:i,color:o,minWidth:a=10,minHeight:l=10,maxWidth:d=Number.MAX_VALUE,maxHeight:u=Number.MAX_VALUE,keepAspectRatio:h=!1,resizeDirection:f,autoScale:p=!0,shouldResize:m,onResizeStart:x,onResize:b,onResizeEnd:y}){const k=MC(),v=typeof t=="string"?t:k,w=Ve(),C=g.useRef(null),j=n===Ti.Handle,S=Ae(g.useCallback(dG(j&&p),[j,p]),He),E=g.useRef(null),O=e??uG[n];g.useEffect(()=>{if(!(!C.current||!v))return E.current||(E.current=UW({domNode:C.current,nodeId:v,getStoreItems:()=>{const{nodeLookup:P,transform:L,snapGrid:_,snapToGrid:N,nodeOrigin:M,domNode:D}=w.getState();return{nodeLookup:P,transform:L,snapGrid:_,snapToGrid:N,nodeOrigin:M,paneDomNode:D}},onChange:(P,L)=>{const{triggerNodeChanges:_,nodeLookup:N,parentLookup:M,nodeOrigin:D}=w.getState(),I=[],R={x:P.x,y:P.y},$=N.get(v);if($&&$.expandParent&&$.parentId){const V=$.origin??D,W=P.width??$.measured.width??0,F=P.height??$.measured.height??0,Y={id:$.id,parentId:$.parentId,rect:{width:W,height:F,...ZS({x:P.x??$.position.x,y:P.y??$.position.y},{width:W,height:F},$.parentId,N,V)}},q=Fm([Y],N,M,D);I.push(...q),R.x=P.x?Math.max(V[0]*W,P.x):void 0,R.y=P.y?Math.max(V[1]*F,P.y):void 0}if(R.x!==void 0&&R.y!==void 0){const V={id:v,type:"position",position:{...R}};I.push(V)}if(P.width!==void 0&&P.height!==void 0){const W={id:v,type:"dimensions",resizing:!0,setAttributes:f?f==="horizontal"?"width":"height":!0,dimensions:{width:P.width,height:P.height}};I.push(W)}for(const V of L){const W={...V,type:"position"};I.push(W)}_(I)},onEnd:({width:P,height:L})=>{const _={id:v,type:"dimensions",resizing:!1,dimensions:{width:P,height:L}};w.getState().triggerNodeChanges([_])}})),E.current.update({controlPosition:O,boundaries:{minWidth:a,minHeight:l,maxWidth:d,maxHeight:u},keepAspectRatio:h,resizeDirection:f,onResizeStart:x,onResize:b,onResizeEnd:y,shouldResize:m}),()=>{E.current?.destroy()}},[O,a,l,d,u,h,x,b,y,m]);const A=O.split("-");return c.jsx("div",{className:nt(["react-flow__resize-control","nodrag",...A,n,r]),ref:C,style:{...s,scale:S,...o&&{[j?"backgroundColor":"borderColor"]:o}},children:i})}g.memo(hG);function fG(t){const e=[],n=[];return t.steps.forEach((o,a)=>{e.push({id:o.id,type:"skillNode",position:{x:50+a*280,y:100},data:{step:o,category:t.category,index:a}}),a<t.steps.length-1&&n.push({id:`e-${o.id}-${t.steps[a+1].id}`,source:o.id,target:t.steps[a+1].id,label:o.transitionLabel||"",animated:!0,style:{stroke:`url(#edge-grad-${a%6})`,strokeWidth:3,filter:"drop-shadow(0px 0px 3px rgba(100,100,100,0.15))"}})}),{nodes:e,edges:n}}const tv=[{border:"border-rose-500 shadow-rose-500/20",gradient:"from-rose-400 to-orange-500",handle:"border-rose-500 dark:border-rose-400 bg-rose-500",badge:"bg-rose-50/80 dark:bg-rose-500/10 border-rose-200 dark:border-rose-500/20 text-rose-700 dark:text-rose-400"},{border:"border-amber-500 shadow-amber-500/20",gradient:"from-amber-400 to-yellow-500",handle:"border-amber-500 dark:border-amber-400 bg-amber-500",badge:"bg-amber-50/80 dark:bg-amber-500/10 border-amber-200 dark:border-amber-500/20 text-amber-700 dark:text-amber-400"},{border:"border-emerald-500 shadow-emerald-500/20",gradient:"from-emerald-400 to-teal-500",handle:"border-emerald-500 dark:border-emerald-400 bg-emerald-500",badge:"bg-emerald-50/80 dark:bg-emerald-500/10 border-emerald-200 dark:border-emerald-500/20 text-emerald-700 dark:text-emerald-400"},{border:"border-cyan-500 shadow-cyan-500/20",gradient:"from-cyan-400 to-blue-500",handle:"border-cyan-500 dark:border-cyan-400 bg-cyan-500",badge:"bg-cyan-50/80 dark:bg-cyan-500/10 border-cyan-200 dark:border-cyan-500/20 text-cyan-700 dark:text-cyan-400"},{border:"border-violet-500 shadow-violet-500/20",gradient:"from-violet-400 to-purple-500",handle:"border-violet-500 dark:border-violet-400 bg-violet-500",badge:"bg-violet-50/80 dark:bg-violet-500/10 border-violet-200 dark:border-violet-500/20 text-violet-700 dark:text-violet-400"},{border:"border-fuchsia-500 shadow-fuchsia-500/20",gradient:"from-fuchsia-400 to-pink-500",handle:"border-fuchsia-500 dark:border-fuchsia-400 bg-fuchsia-500",badge:"bg-fuchsia-50/80 dark:bg-fuchsia-500/10 border-fuchsia-200 dark:border-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400"}],pG=({data:t,selected:e})=>{const n=t.index??0,r=tv[n%tv.length];return c.jsxs("div",{className:`relative px-5 py-4 min-w-[220px] rounded-xl bg-white/80 dark:bg-[#14151a]/90 backdrop-blur-xl border transition-all duration-300 overflow-hidden ${e?`${r.border} scale-[1.02] z-10 shadow-lg`:"border-gray-200 dark:border-gray-800 shadow-sm hover:border-gray-300 dark:hover:border-gray-600 z-0"}`,"aria-label":`Workflow step: ${t.step.skill}`,children:[c.jsx("div",{className:`absolute inset-0 bg-gradient-to-br ${r.gradient} opacity-[0.03] dark:opacity-10 pointer-events-none`}),c.jsx("div",{className:`absolute left-0 top-0 bottom-0 w-1 bg-gradient-to-b ${r.gradient}`}),c.jsx(Li,{type:"target",position:ye.Left,className:`w-3 h-3 -ml-[7px] rounded-full border-2 bg-white dark:bg-[#1C1F26] ${r.handle} ${e?"scale-110":""} transition-transform`}),c.jsx("div",{className:"relative font-bold text-sm text-gray-900 dark:text-white capitalize truncate mb-1",children:t.step.skill.replace(/-/g," ")}),c.jsx("div",{className:`relative text-xs font-mono px-2 py-1 rounded inline-block border ${r.badge}`,children:t.step.command}),c.jsx(Li,{type:"source",position:ye.Right,className:`w-3 h-3 -mr-[7px] rounded-full border-2 bg-white dark:bg-[#1C1F26] ${r.handle} ${e?"scale-110":""} transition-transform`})]})};function mG(){const[t,e]=g.useState(()=>document.documentElement.classList.contains("dark"));return g.useEffect(()=>{const n=new MutationObserver(()=>{e(document.documentElement.classList.contains("dark"))});return n.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>n.disconnect()},[]),t}const gG=({workflow:t})=>{const[e,n,r]=_U([]),[s,i,o]=FU([]),a=mG(),l=g.useMemo(()=>({skillNode:pG}),[]);g.useEffect(()=>{if(t){const{nodes:u,edges:h}=fG(t);n(u),i(h)}},[t,n,i]);const d={hideAttribution:!0};return c.jsxs("div",{className:"w-full h-full min-h-[400px] rounded-xl border border-gray-200 dark:border-dash-border overflow-hidden bg-gray-50 dark:bg-[#111216] relative",children:[c.jsx("svg",{style:{position:"absolute",top:0,left:0,width:0,height:0},children:c.jsxs("defs",{children:[c.jsxs("linearGradient",{id:"edge-grad-0",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#fb7185"}),c.jsx("stop",{offset:"100%",stopColor:"#fbbf24"})]}),c.jsxs("linearGradient",{id:"edge-grad-1",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#fbbf24"}),c.jsx("stop",{offset:"100%",stopColor:"#34d399"})]}),c.jsxs("linearGradient",{id:"edge-grad-2",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#34d399"}),c.jsx("stop",{offset:"100%",stopColor:"#22d3ee"})]}),c.jsxs("linearGradient",{id:"edge-grad-3",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#22d3ee"}),c.jsx("stop",{offset:"100%",stopColor:"#a78bfa"})]}),c.jsxs("linearGradient",{id:"edge-grad-4",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#a78bfa"}),c.jsx("stop",{offset:"100%",stopColor:"#e879f9"})]}),c.jsxs("linearGradient",{id:"edge-grad-5",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#e879f9"}),c.jsx("stop",{offset:"100%",stopColor:"#fb7185"})]})]})}),c.jsx(BU,{nodes:e,edges:s,onNodesChange:r,onEdgesChange:o,nodeTypes:l,fitView:!0,fitViewOptions:{padding:.3},colorMode:a?"dark":"light",proOptions:d,panOnScroll:!0,zoomOnScroll:!1,children:c.jsx(KU,{color:a?"#333":"#eee",gap:16})})]})},nv=({command:t})=>{const e=Pt(),n=t.match(/\/ck:([a-z0-9-]+)/i),r=n?n[1]:t.replace("/",""),s=i=>{i.stopPropagation(),e(`/skills?name=${r}`)};return c.jsx("button",{onClick:s,className:"inline-flex items-center px-2 py-1 bg-gray-100 hover:bg-gray-200 dark:bg-[#2A2E38] dark:hover:bg-[#323642] text-gray-800 dark:text-gray-200 text-xs font-mono rounded border border-gray-200 dark:border-gray-700 transition-colors",title:`View ${r} skill`,children:t})},xG=({workflow:t,isSelected:e,onClick:n})=>{const{t:r}=re();return e?c.jsxs("div",{className:"flex flex-col xl:flex-row bg-white dark:bg-[#14151a] rounded-xl border-2 border-blue-400 dark:border-blue-500 shadow-lg overflow-hidden min-h-[500px]",children:[c.jsxs("div",{className:"flex flex-col p-6 w-full xl:w-2/5 shrink-0 bg-white dark:bg-[#14151a]",children:[c.jsxs("div",{className:"flex justify-between items-start mb-4",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(Jb,{complexity:t.complexity}),c.jsx("span",{className:"text-xs font-mono text-gray-500 dark:text-dash-text-muted",children:t.timeEstimate})]}),c.jsx("button",{onClick:s=>{s.stopPropagation(),n()},className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors p-1","aria-label":"Close",children:c.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:c.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),c.jsx("button",{type:"button",onClick:s=>{s.stopPropagation(),n()},className:"text-left w-full cursor-pointer hover:opacity-80 transition-opacity",children:c.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-dash-text mb-2",children:r(t.nameKey)})}),c.jsx("p",{className:"text-base text-gray-600 dark:text-dash-text-secondary mb-8",children:r(t.descriptionKey)}),c.jsxs("div",{className:"flex-grow",children:[c.jsx("h4",{className:"text-xs font-bold text-gray-400 uppercase tracking-wider mb-4 border-b border-gray-100 dark:border-gray-800 pb-2",children:r("workflowImplementationRecipe")}),c.jsxs("div",{className:"relative pl-4 space-y-6",children:[c.jsx("div",{className:"absolute top-2 bottom-2 left-[5px] border-l-2 border-dashed border-gray-200 dark:border-gray-800"}),t.steps.map(s=>c.jsxs("div",{className:"relative",children:[c.jsx("div",{className:"absolute -left-[14px] top-1.5 w-[11px] h-[11px] rounded-full bg-blue-500 border-[3px] border-white dark:border-[#14151a]"}),c.jsxs("div",{className:"ml-4",children:[c.jsx(nv,{command:s.command||""}),s.transitionLabel&&c.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-2",children:s.transitionLabel})]})]},s.id))]})]})]}),c.jsx("div",{className:"flex-grow p-4 bg-gray-50 dark:bg-[#0c0d12] border-t xl:border-t-0 xl:border-l border-gray-200 dark:border-gray-800 overflow-hidden relative",children:c.jsx(gG,{workflow:t})})]}):c.jsxs("div",{className:"flex flex-col bg-white dark:bg-[#14151a] rounded-xl border border-gray-200 dark:border-dash-border hover:border-blue-400 dark:hover:border-blue-500 hover:shadow-md transition-all cursor-pointer p-5 h-full group relative",onClick:n,children:[c.jsxs("div",{className:"flex justify-between items-start mb-3",children:[c.jsx(Jb,{complexity:t.complexity}),c.jsx("span",{className:"text-xs font-mono text-gray-500 dark:text-dash-text-muted",children:t.timeEstimate})]}),c.jsx("h3",{className:"text-lg font-bold text-gray-900 dark:text-dash-text mb-2 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors",children:r(t.nameKey)}),c.jsx("p",{className:"text-sm text-gray-600 dark:text-dash-text-secondary mb-6 flex-grow",children:r(t.descriptionKey)}),c.jsx("div",{className:"mt-auto pt-4 border-t border-gray-100 dark:border-dash-border",children:c.jsx("div",{className:"flex flex-wrap items-center gap-2",children:t.steps.map((s,i)=>c.jsxs($e.Fragment,{children:[c.jsx(nv,{command:s.command||""}),i<t.steps.length-1&&c.jsx("span",{className:"text-gray-400 dark:text-dash-text-muted text-xs",children:"→"})]},s.id))})})]})},bG=({workflows:t,selectedWorkflowId:e,onSelectWorkflow:n})=>c.jsx("div",{className:`grid gap-6 ${e?"grid-cols-1":"grid-cols-1 md:grid-cols-2 xl:grid-cols-3"}`,children:t.filter(r=>!e||r.id===e).map(r=>c.jsx(xG,{workflow:r,isSelected:e===r.id,onClick:()=>n(e===r.id?null:r.id)},r.id))}),yG=[{id:"getting-started",labelKey:"workflowCategoryGettingStarted"},{id:"design-frontend",labelKey:"workflowCategoryDesignFrontend"},{id:"debugging-fixes",labelKey:"workflowCategoryDebuggingFixes"},{id:"planning-review",labelKey:"workflowCategoryPlanningReview"},{id:"research-docs",labelKey:"workflowCategoryResearchDocs"},{id:"shipping",labelKey:"workflowCategoryShipping"},{id:"backend-infra",labelKey:"workflowCategoryBackendInfra"},{id:"media-creative",labelKey:"workflowCategoryMediaCreative"},{id:"advanced",labelKey:"workflowCategoryAdvanced"}],vG=[{id:"build-feature",name:"Build a New Feature",nameKey:"workflowBuildFeature",category:"getting-started",complexity:"beginner",timeEstimate:"~15-30 min",description:"Add new functionality to applications systematically.",descriptionKey:"workflowBuildFeatureDesc",steps:[{id:"s1",skill:"brainstorm",transitionLabel:"explore"},{id:"s2",skill:"plan",transitionLabel:"structure"},{id:"s3",skill:"cook",command:"/ck:cook @plan.md"}],isBuiltIn:!0},{id:"quick-implementation",name:"Quick Implementation",nameKey:"workflowQuickImplementation",category:"getting-started",complexity:"beginner",timeEstimate:"~5-10 min",description:"Fast track implementation for small, understood features.",descriptionKey:"workflowQuickImplementationDesc",steps:[{id:"s1",skill:"scout",transitionLabel:"context"},{id:"s2",skill:"cook",command:"/ck:cook --fast"}],isBuiltIn:!0},{id:"start-new-project",name:"Start New Project",nameKey:"workflowStartNewProject",category:"getting-started",complexity:"intermediate",timeEstimate:"~30-45 min",description:"Bootstrap a brand new project with right foundations.",descriptionKey:"workflowStartNewProjectDesc",steps:[{id:"s1",skill:"research",transitionLabel:"stack options"},{id:"s2",skill:"bootstrap",transitionLabel:"init"},{id:"s3",skill:"project-organization"}],isBuiltIn:!0},{id:"frontend-design",name:"Frontend Design",nameKey:"workflowFrontendDesign",category:"design-frontend",complexity:"intermediate",timeEstimate:"~20-40 min",description:"Create beautiful user interfaces guided by design taste bots.",descriptionKey:"workflowFrontendDesignDesc",steps:[{id:"s1",skill:"ui-ux-pro-max",transitionLabel:"design audit"},{id:"s2",skill:"frontend-development",transitionLabel:"build"}],isBuiltIn:!0},{id:"ai-design-stitch",name:"AI Design Stitch",nameKey:"workflowAiDesignStitch",category:"design-frontend",complexity:"intermediate",timeEstimate:"~15-30 min",description:"Orchestrate Google Stitch for generating designs from prompt.",descriptionKey:"workflowAiDesignStitchDesc",steps:[{id:"s1",skill:"stitch",transitionLabel:"prototype"},{id:"s2",skill:"ui-styling"}],isBuiltIn:!0},{id:"excalidraw",name:"Excalidraw Design",nameKey:"workflowExcalidraw",category:"design-frontend",complexity:"beginner",timeEstimate:"~10-15 min",description:"Visualize architectures or mockups using Excalidraw JSON.",descriptionKey:"workflowExcalidrawDesc",steps:[{id:"s1",skill:"excalidraw",transitionLabel:"draw"}],isBuiltIn:!0},{id:"fix-bug",name:"Fix Bug",nameKey:"workflowFixBug",category:"debugging-fixes",complexity:"beginner",timeEstimate:"~10-20 min",description:"Identify root cause and automatically fix codebase issues.",descriptionKey:"workflowFixBugDesc",steps:[{id:"s1",skill:"debug",transitionLabel:"root cause"},{id:"s2",skill:"fix",transitionLabel:"patch"},{id:"s3",skill:"test"}],isBuiltIn:!0},{id:"security-audit",name:"Security Audit",nameKey:"workflowSecurityAudit",category:"debugging-fixes",complexity:"advanced",timeEstimate:"~30-60 min",description:"Thorough security check on the repository.",descriptionKey:"workflowSecurityAuditDesc",steps:[{id:"s1",skill:"security-scan",transitionLabel:"vulnerabilities"},{id:"s2",skill:"fix"}],isBuiltIn:!0},{id:"test-scenarios",name:"Test Scenarios",nameKey:"workflowTestScenarios",category:"debugging-fixes",complexity:"intermediate",timeEstimate:"~15-25 min",description:"Generate edge cases and test scenarios by decomposing features.",descriptionKey:"workflowTestScenariosDesc",steps:[{id:"s1",skill:"scenario",transitionLabel:"edge cases"},{id:"s2",skill:"test"}],isBuiltIn:!0},{id:"stride-analysis",name:"STRIDE Analysis",nameKey:"workflowStride",category:"debugging-fixes",complexity:"advanced",timeEstimate:"~20-40 min",description:"Perform a STRIDE + OWASP-based security audit threat model.",descriptionKey:"workflowStrideDesc",steps:[{id:"s1",skill:"security",transitionLabel:"threat map"},{id:"s2",skill:"plan"}],isBuiltIn:!0},{id:"code-review",name:"Code Review",nameKey:"workflowCodeReview",category:"planning-review",complexity:"intermediate",timeEstimate:"~10-15 min",description:"Review code quality with adversarial rigor.",descriptionKey:"workflowCodeReviewDesc",steps:[{id:"s1",skill:"code-review"}],isBuiltIn:!0},{id:"plan-validate",name:"Plan + Validate",nameKey:"workflowPlanValidate",category:"planning-review",complexity:"intermediate",timeEstimate:"~20-30 min",description:"Draft an architectural plan and rigorously validate its technical feasible.",descriptionKey:"workflowPlanValidateDesc",steps:[{id:"s1",skill:"plan",transitionLabel:"draft"},{id:"s2",skill:"predict",transitionLabel:"review"}],isBuiltIn:!0},{id:"adversarial-review",name:"Adversarial Review",nameKey:"workflowAdversarialReview",category:"planning-review",complexity:"advanced",timeEstimate:"~10-20 min",description:"Trigger a harsh red-team review mapping out potential failure modes.",descriptionKey:"workflowAdversarialReviewDesc",steps:[{id:"s1",skill:"predict",command:"/ck:predict @plan.md"}],isBuiltIn:!0},{id:"autoresearch",name:"Autonomous Loop",nameKey:"workflowAutoresearch",category:"planning-review",complexity:"advanced",timeEstimate:"~30-120 min",description:"Run an autonomous iterative optimization loop for any metric.",descriptionKey:"workflowAutoresearchDesc",steps:[{id:"s1",skill:"loop",command:"/ck:loop --iterations 5"}],isBuiltIn:!0},{id:"feature-extraction-xia",name:"Extract/Port Feature",nameKey:"workflowXia",category:"planning-review",complexity:"advanced",timeEstimate:"~20-40 min",description:"Port or extract a feature algorithm from an external codebase.",descriptionKey:"workflowXiaDesc",steps:[{id:"s1",skill:"xia",transitionLabel:"analyze source"},{id:"s2",skill:"plan"}],isBuiltIn:!0},{id:"visual-documentation",name:"Visual Documentation",nameKey:"workflowVisualDocumentation",category:"research-docs",complexity:"beginner",timeEstimate:"~15-20 min",description:"Build diagrams outlining current repo logic and architectures.",descriptionKey:"workflowVisualDocumentationDesc",steps:[{id:"s1",skill:"graphify",transitionLabel:"extract graph"},{id:"s2",skill:"mermaidjs-v11",transitionLabel:"render"},{id:"s3",skill:"docs"}],isBuiltIn:!0},{id:"technical-research",name:"Technical Research",nameKey:"workflowTechnicalResearch",category:"research-docs",complexity:"intermediate",timeEstimate:"~10-20 min",description:"Investigate technological solutions deeply before writing code.",descriptionKey:"workflowTechnicalResearchDesc",steps:[{id:"s1",skill:"research",transitionLabel:"gather info"},{id:"s2",skill:"docs-seeker"}],isBuiltIn:!0},{id:"llms-txt-gen",name:"Generate llms.txt",nameKey:"workflowLlmsTxt",category:"research-docs",complexity:"beginner",timeEstimate:"~5-10 min",description:"Analyze the codebase and construct a comprehensive llms.txt file.",descriptionKey:"workflowLlmsTxtDesc",steps:[{id:"s1",skill:"llms"}],isBuiltIn:!0},{id:"devops-deploy",name:"DevOps / Release",nameKey:"workflowDevops",category:"shipping",complexity:"intermediate",timeEstimate:"~15-25 min",description:"Configure Docker, CI/CD and deploy standard web platforms.",descriptionKey:"workflowDevopsDesc",steps:[{id:"s1",skill:"devops",transitionLabel:"configure container"},{id:"s2",skill:"deploy"}],isBuiltIn:!0},{id:"ship-pipeline",name:"Ship Pipeline",nameKey:"workflowShip",category:"shipping",complexity:"intermediate",timeEstimate:"~15-30 min",description:"Merge, test, review, commit, bump semantic version and PR.",descriptionKey:"workflowShipDesc",steps:[{id:"s1",skill:"test",transitionLabel:"ci check"},{id:"s2",skill:"ship"}],isBuiltIn:!0},{id:"database-ops",name:"Database Operations",nameKey:"workflowDatabaseOps",category:"backend-infra",complexity:"intermediate",timeEstimate:"~15-30 min",description:"Write complex aggregation pipelines or optimize database performance.",descriptionKey:"workflowDatabaseOpsDesc",steps:[{id:"s1",skill:"databases",transitionLabel:"schema design"},{id:"s2",skill:"backend-development"}],isBuiltIn:!0},{id:"remotion-video",name:"Remotion Video",nameKey:"workflowRemotion",category:"media-creative",complexity:"advanced",timeEstimate:"~30-60 min",description:"Build programmatic video sequences internally.",descriptionKey:"workflowRemotionDesc",steps:[{id:"s1",skill:"remotion",transitionLabel:"react anim"},{id:"s2",skill:"media-processing",transitionLabel:"render"}],isBuiltIn:!0},{id:"show-off",name:"Show Off Demo",nameKey:"workflowShowOff",category:"media-creative",complexity:"beginner",timeEstimate:"~10-15 min",description:"Build an interactive self-contained HTML showcase for a repo.",descriptionKey:"workflowShowOffDesc",steps:[{id:"s1",skill:"show-off"}],isBuiltIn:!0},{id:"agent-teams",name:"Agent Teams",nameKey:"workflowAgentTeams",category:"advanced",complexity:"advanced",timeEstimate:"~30-60 min",description:"Spawn isolated team members for parallel coordinated labor.",descriptionKey:"workflowAgentTeamsDesc",steps:[{id:"s1",skill:"team",transitionLabel:"delegate"}],isBuiltIn:!0},{id:"worktree-parallelism",name:"Worktree Parallelism",nameKey:"workflowWorktree",category:"advanced",complexity:"intermediate",timeEstimate:"~5-10 min",description:"Instantly isolate feature iterations in new worktrees.",descriptionKey:"workflowWorktreeDesc",steps:[{id:"s1",skill:"worktree"}],isBuiltIn:!0}],wG=({activeCategory:t,onSelectCategory:e})=>{const{t:n}=re();return c.jsxs("div",{className:"flex overflow-x-auto space-x-2 pb-2 mb-4 scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-gray-600",children:[c.jsx("button",{onClick:()=>e("all"),className:`px-4 py-2 rounded-lg whitespace-nowrap text-sm font-medium transition-colors ${t==="all"?"bg-blue-600 text-white dark:bg-blue-500":"bg-gray-100 text-gray-700 hover:bg-gray-200 dark:bg-[#1C1F26] dark:text-gray-300 dark:hover:bg-[#2A2E38]"}`,children:n("workflowCategoryAll")}),yG.map(r=>c.jsx("button",{onClick:()=>e(r.id),className:`px-4 py-2 rounded-lg whitespace-nowrap text-sm font-medium transition-colors ${t===r.id?"bg-blue-600 text-white dark:bg-blue-500":"bg-gray-100 text-gray-700 hover:bg-gray-200 dark:bg-[#1C1F26] dark:text-gray-300 dark:hover:bg-[#2A2E38]"}`,children:n(r.labelKey)},r.id))]})};function kG(t){const e=new Map;for(const n of t)if(n.triggers&&n.triggers.length>0){const r=n.triggers[0];if(e.set(n.name,r),n.name.startsWith("ck-")){const s=n.name.slice(3);e.has(s)||e.set(s,r)}}return e}function SG(t,e){return t.steps.map(n=>{const r=n.command;if(r?.includes(" "))return{...n,command:r};const s=e.get(n.skill);if(s){const i=r?.split(" ").slice(1).join(" ")||"";return{...n,command:i?`${s} ${i}`:s}}return{...n,command:r||`/ck:${n.skill}`}})}function CG(t,e){return t.map(n=>({...n,steps:SG(n,e)}))}function jG(t){const e=new Map;for(const n of t)if(e.set(n.name,n.name),n.name.startsWith("ck-")){const r=n.name.slice(3);e.has(r)||e.set(r,n.name)}return e}function NG(){const{skills:t,loading:e,error:n}=aS(),{workflows:r,resolveSkillName:s}=g.useMemo(()=>{const i=kG(t),o=jG(t);return{workflows:CG(vG,i),resolveSkillName:a=>o.get(a)||a}},[t]);return{workflows:r,loading:e,error:n,resolveSkillName:s}}function PG(){const[t,e]=g.useState("all"),[n,r]=g.useState(null),{workflows:s,loading:i,error:o,resolveSkillName:a}=NG();return{workflows:g.useMemo(()=>{let d=s;t!=="all"&&(d=s.filter(h=>h.category===t));const u={beginner:0,intermediate:1,advanced:2};return[...d].sort((h,f)=>u[h.complexity]-u[f.complexity])},[t,s]),activeCategory:t,setActiveCategory:e,selectedWorkflowId:n,setSelectedWorkflowId:r,loading:i,error:o,resolveSkillName:a}}function EG(){const{t}=re(),[e,n]=g.useState(""),{workflows:r,activeCategory:s,setActiveCategory:i,selectedWorkflowId:o,setSelectedWorkflowId:a,loading:l}=PG(),d=g.useCallback(h=>{i(h),a(null)},[i,a]),u=g.useMemo(()=>{if(!e.trim())return r;const h=e.toLowerCase();return r.filter(f=>f.name.toLowerCase().includes(h)||f.description.toLowerCase().includes(h)||f.steps.some(p=>p.command.toLowerCase().includes(h)))},[r,e]);return c.jsxs("div",{className:"flex flex-col h-full overflow-hidden bg-white dark:bg-dash-bg text-gray-900 dark:text-dash-text",children:[c.jsx("div",{className:"p-6 border-b border-gray-200 dark:border-dash-border shrink-0",children:c.jsxs("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-bold",children:t("workflowsTitle")}),c.jsx("p",{className:"text-sm text-gray-500 dark:text-dash-text-secondary mt-1",children:t("workflowsSubtitle")})]}),c.jsxs("div",{className:"flex flex-col sm:flex-row items-center gap-4 w-full md:w-auto",children:[c.jsxs("a",{href:"https://vividkit.dev/guides/workflows",target:"_blank",rel:"noreferrer",className:"group hidden md:flex items-center gap-2 px-3 py-1.5 bg-gradient-to-r from-indigo-50 to-purple-50 dark:from-indigo-500/10 dark:to-purple-500/10 border border-indigo-100 dark:border-indigo-500/20 rounded-lg hover:shadow-sm transition-all text-indigo-700 dark:text-indigo-400 hover:border-indigo-300 dark:hover:border-indigo-500/40",children:[c.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13 10V3L4 14h7v7l9-11h-7z"})}),c.jsx("span",{className:"text-xs font-semibold whitespace-nowrap",children:"Inspired by VividKit"})]}),c.jsxs("div",{className:"relative w-full sm:w-64",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),c.jsx("input",{type:"text",value:e,onChange:h=>n(h.target.value),placeholder:t("workflowSearchPlaceholder"),className:"w-full pl-9 pr-4 py-2 text-sm bg-gray-50 dark:bg-dash-surface border border-gray-200 dark:border-dash-border rounded-lg text-gray-900 dark:text-dash-text placeholder:text-gray-400 dark:placeholder:text-dash-text-muted focus:outline-none focus:border-blue-400 dark:focus:border-blue-500 transition-colors"}),e&&c.jsx("button",{type:"button",onClick:()=>n(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors",children:c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]})]})}),c.jsxs("div",{className:"flex-1 overflow-y-auto p-6",children:[c.jsx(wG,{activeCategory:s,onSelectCategory:d}),l?c.jsx("div",{className:"flex items-center justify-center p-12 text-gray-500 dark:text-dash-text-muted",children:t("loadingWorkflows")}):u.length>0?c.jsx(bG,{workflows:u,selectedWorkflowId:o,onSelectWorkflow:a}):c.jsx("div",{className:"flex items-center justify-center p-12 text-gray-500 dark:text-dash-text-muted",children:t("workflowNoResults")})]})]})}const OG=M3([{path:"/",element:c.jsx(v4,{}),children:[{index:!0,element:c.jsx(Qb,{})},{path:"dashboard",element:c.jsx(Qb,{})},{path:"config/global",element:c.jsx(ZA,{})},{path:"config/project/:projectId",element:c.jsx(e_,{})},{path:"project/:projectId",element:c.jsx(r_,{})},{path:"onboarding",element:c.jsx(CB,{})},{path:"migrate",element:c.jsx(pB,{})},{path:"statusline",element:c.jsx(J_,{})},{path:"mcp",element:c.jsx(c7,{})},{path:"plans",element:c.jsx(ZB,{})},{path:"plans/:planSlug",element:c.jsx(FB,{})},{path:"plans/:planSlug/read",element:c.jsx(Fb,{})},{path:"plans/:planSlug/read/*",element:c.jsx(Fb,{})},{path:"kanban",element:c.jsx(n7,{})},{path:"sessions/:projectId/:sessionId",element:c.jsx(E_,{})},{path:"agents",element:c.jsx(T4,{})},{path:"commands",element:c.jsx(z4,{})},{path:"skills",element:c.jsx($_,{})},{path:"workflows",element:c.jsx(EG,{})},{path:"*",element:c.jsx(r3,{to:"/",replace:!0})}]}]),ZC=document.getElementById("root");if(!ZC)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");Fh.createRoot(ZC).render(c.jsx($e.StrictMode,{children:c.jsx(K3,{children:c.jsx(U3,{children:c.jsx(H3,{router:OG})})})}));