@workflow/web 4.0.1-beta.21 → 4.0.1-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/fallback-build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/server-reference-manifest.json +36 -21
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page/server-reference-manifest.json +37 -22
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/run/[runId]/page/server-reference-manifest.json +37 -22
- package/.next/server/app/run/[runId]/page.js.nft.json +1 -1
- package/.next/server/app/run/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1365a866._.js +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1365a866._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__2168651f._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__2168651f._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__25c4ca9a._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__25c4ca9a._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__d416fa5e._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__d416fa5e._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__e576a2e1._.js +7 -7
- package/.next/server/chunks/ssr/[root-of-the-server]__e576a2e1._.js.map +1 -1
- package/.next/server/chunks/ssr/_af28dabd._.js +1 -1
- package/.next/server/chunks/ssr/_af28dabd._.js.map +1 -1
- package/.next/server/chunks/ssr/_bff7cae2._.js +1 -1
- package/.next/server/chunks/ssr/_bff7cae2._.js.map +1 -1
- package/.next/server/chunks/ssr/_c8bf1458._.js +1 -1
- package/.next/server/chunks/ssr/_c8bf1458._.js.map +1 -1
- package/.next/server/chunks/ssr/packages_web_src_19bb3951._.js +3 -0
- package/.next/server/chunks/ssr/packages_web_src_19bb3951._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_web_src_app_page_tsx_cd282e82._.js +2 -2
- package/.next/server/chunks/ssr/packages_web_src_app_page_tsx_cd282e82._.js.map +1 -1
- package/.next/server/chunks/ssr/packages_web_src_app_run_[runId]_page_tsx_c7d0b139._.js +1 -1
- package/.next/server/chunks/ssr/packages_web_src_app_run_[runId]_page_tsx_c7d0b139._.js.map +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +56 -27
- package/.next/static/chunks/{1633a4677cb7eacd.js → 30b98d965a129331.js} +1 -1
- package/.next/static/chunks/{a2fdd31ef7d1ed50.js → 31d3eed44663a2d8.js} +3 -3
- package/.next/static/chunks/4b98d98ef7601f2c.js +1 -0
- package/.next/static/chunks/50691ade475383ae.js +5 -0
- package/.next/static/chunks/837b0d5cc6ee8f87.js +60 -0
- package/.next/static/chunks/8f6413f9323a44e5.js +14 -0
- package/.next/static/chunks/{d3781b000675e89a.js → ce42d7684243cb43.js} +1 -1
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/package.json +4 -3
- package/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_7c5238ef._.js +0 -3
- package/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_7c5238ef._.js.map +0 -1
- package/.next/static/chunks/7993564ea9cd3862.js +0 -60
- package/.next/static/chunks/915c48af605695f8.js +0 -5
- package/.next/static/chunks/ebaf4c277606b4fc.js +0 -14
- /package/.next/static/{1Gd0u_mHFXgTr2DR4OTNR → Ven1ulyDX7wtUfVstJodR}/_buildManifest.js +0 -0
- /package/.next/static/{1Gd0u_mHFXgTr2DR4OTNR → Ven1ulyDX7wtUfVstJodR}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{1Gd0u_mHFXgTr2DR4OTNR → Ven1ulyDX7wtUfVstJodR}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[339832,a=>{"use strict";var b=a.i(551520),c=a.i(774906);function d(){(0,b.c)("[nuqs] Aborting queues"),c.t.abortAll(),c.n.abort().forEach(a=>c.t.queuedQuerySync.emit(a))}var e=a.i(253220),f=a.i(624282);let g=0;function h(){g=0,d()}function i(){--g<=0&&(g=0,queueMicrotask(d))}function j(){return(0,e.useEffect)(()=>(!function(){var a;if(a="next/app","undefined"==typeof history||(history.nuqs?.version&&"2.8.3"!==history.nuqs.version?(console.error((0,b.s)(409),history.nuqs.version,"2.8.3",a),!0):!!history.nuqs?.adapters?.includes(a)))return;let c=history.replaceState,d=history.pushState;history.replaceState=function(a,b,d){return i(),c.call(history,a,b,d)},history.pushState=function(a,b,c){return i(),d.call(history,a,b,c)},history.nuqs=history.nuqs??{version:"2.8.3",adapters:[]},history.nuqs.adapters.push("next/app")}(),window.addEventListener("popstate",h),()=>window.removeEventListener("popstate",h)),[]),null}let k=(0,b.n)(function(){let a=(0,f.useRouter)(),[c,d]=(0,e.useOptimistic)((0,f.useSearchParams)());return{searchParams:c,updateUrl:(0,e.useCallback)((c,f)=>{(0,e.startTransition)(()=>{f.shallow||d(c);let e=function(a){let{origin:c,pathname:d,hash:e}=location;return c+d+(0,b.o)(a)+e}(c);(0,b.c)("[nuqs next/app] Updating url: %s",e);let h="push"===f.history?history.pushState:history.replaceState;g=3,h.call(history,null,"",e),f.scroll&&window.scrollTo(0,0),f.shallow||a.replace(e,{scroll:!1})})},[]),rateLimitFactor:3,autoResetQueueOnUpdate:!1}});function l({children:a,...b}){return(0,e.createElement)(k,{...b,children:[(0,e.createElement)(e.Suspense,{key:"nuqs-adapter-suspense-navspy",children:(0,e.createElement)(j)}),a]})}a.s(["NuqsAdapter",()=>l],339832)},539350,a=>{"use strict";var b=a.i(857446),c=a.i(101056),d=a.i(315330),e=a.i(624282),f=a.i(253220),g=(a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}},h=["light","dark"],i="(prefers-color-scheme: dark)",j=f.createContext(void 0),k={setTheme:a=>{},themes:[]},l=()=>{var a;return null!=(a=f.useContext(j))?a:k},m=a=>f.useContext(j)?f.createElement(f.Fragment,null,a.children):f.createElement(o,{...a}),n=["light","dark"],o=({forcedTheme:a,disableTransitionOnChange:b=!1,enableSystem:c=!0,enableColorScheme:d=!0,storageKey:e="theme",themes:g=n,defaultTheme:k=c?"system":"light",attribute:l="data-theme",value:m,children:o,nonce:t,scriptProps:u})=>{let[v,w]=f.useState(()=>q(e,k)),[x,y]=f.useState(()=>"system"===v?s():v),z=m?Object.values(m):g,A=f.useCallback(a=>{let e=a;if(!e)return;"system"===a&&c&&(e=s());let f=m?m[e]:e,g=b?r(t):null,i=document.documentElement,j=a=>{"class"===a?(i.classList.remove(...z),f&&i.classList.add(f)):a.startsWith("data-")&&(f?i.setAttribute(a,f):i.removeAttribute(a))};if(Array.isArray(l)?l.forEach(j):j(l),d){let a=h.includes(k)?k:null,b=h.includes(e)?e:a;i.style.colorScheme=b}null==g||g()},[t]),B=f.useCallback(a=>{let b="function"==typeof a?a(v):a;w(b);try{localStorage.setItem(e,b)}catch(a){}},[v]),C=f.useCallback(b=>{y(s(b)),"system"===v&&c&&!a&&A("system")},[v,a]);f.useEffect(()=>{let a=window.matchMedia(i);return a.addListener(C),C(a),()=>a.removeListener(C)},[C]),f.useEffect(()=>{let a=a=>{a.key===e&&(a.newValue?w(a.newValue):B(k))};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)},[B]),f.useEffect(()=>{A(null!=a?a:v)},[a,v]);let D=f.useMemo(()=>({theme:v,setTheme:B,forcedTheme:a,resolvedTheme:"system"===v?x:v,themes:c?[...g,"system"]:g,systemTheme:c?x:void 0}),[v,B,a,x,c,g]);return f.createElement(j.Provider,{value:D},f.createElement(p,{forcedTheme:a,storageKey:e,attribute:l,enableSystem:c,enableColorScheme:d,defaultTheme:k,value:m,themes:g,nonce:t,scriptProps:u}),o)},p=f.memo(({forcedTheme:a,storageKey:b,attribute:c,enableSystem:d,enableColorScheme:e,defaultTheme:h,value:i,themes:j,nonce:k,scriptProps:l})=>{let m=JSON.stringify([c,b,h,a,j,i,d,e]).slice(1,-1);return f.createElement("script",{...l,suppressHydrationWarning:!0,nonce:k,dangerouslySetInnerHTML:{__html:`(${g.toString()})(${m})`}})}),q=(a,b)=>{},r=a=>{let b=document.createElement("style");return a&&b.setAttribute("nonce",a),b.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(b),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(b)},1)}},s=a=>(a||(a=window.matchMedia(i)),a.matches?"dark":"light"),t=a.i(622427);let u=(0,t.default)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var v=a.i(393557);function w({config:a}){let{provider:c,parts:d}=((a,b)=>{if("vercel"===a){let a=[];return b.env&&a.push(`env: ${b.env}`),b.project&&a.push(`project: ${b.project}`),b.team&&a.push(`team: ${b.team}`),{provider:"Vercel",parts:a}}if("local"===a){let a=[];return b.dataDir&&a.push(`dir: ${b.dataDir}`),b.port&&a.push(`port: ${b.port}`),{provider:"Local",parts:a}}return{provider:b.backend||"unknown",parts:[]}})(a.backend||"local",a);return(0,b.jsxs)("div",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"font-medium",children:["Connected to: ",c]}),(0,b.jsxs)(v.Tooltip,{children:[(0,b.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(u,{className:"w-4 h-4"})}),(0,b.jsx)(v.TooltipContent,{children:(0,b.jsx)("div",{className:"flex flex-col gap-1",children:d.map(a=>(0,b.jsx)("span",{children:a},a))})})]})]})}let x=(0,t.default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),y=(0,t.default)("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),z=(0,t.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),A=(0,t.default)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),B=(0,t.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var C=a.i(397494),D=a.i(794851),E=a.i(676653);function F({value:a,onValueChange:c,options:d,className:e}){return(0,b.jsx)("div",{className:(0,E.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),children:d.map(d=>(0,b.jsxs)("button",{type:"button",onClick:()=>c(d.value),className:(0,E.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a===d.value?"bg-background text-foreground shadow":"hover:bg-background/50"),children:[d.icon,d.label&&(0,b.jsx)("span",{className:"ml-2",children:d.label})]},d.value))})}var G=a.i(207973);let H=(0,t.default)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var I=a.i(26790),J=a.i(135321);let K=f.forwardRef(({className:a,type:c,...d},e)=>(0,b.jsx)("input",{type:c,className:(0,E.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),ref:e,...d}));K.displayName="Input";var L=a.i(518243),M=f.forwardRef((a,c)=>(0,b.jsx)(L.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));M.displayName="Label";let N=(0,a.i(142261).cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),O=f.forwardRef(({className:a,...c},d)=>(0,b.jsx)(M,{ref:d,className:(0,E.cn)(N(),a),...c}));O.displayName=M.displayName;var P=a.i(175196),Q=a.i(508624),R=a.i(386021),S=(0,R.createServerReference)("4092d8711f2d282bbab98f4435fd260f49c4d5106a",R.callServer,void 0,R.findSourceMapURL,"validateWorldConfig"),T=a.i(29410),U=(0,R.createServerReference)("00d3f19c68ddef480c9481b99f05ac7baa954b04d9",R.callServer,void 0,R.findSourceMapURL,"checkWorldsAvailability");function V({open:a,onOpenChange:c}={}){let d,e=(0,Q.useQueryParamConfig)(),g=(0,Q.useUpdateConfigQueryParams)(),[h,i]=(0,f.useState)(!1),j=c||i,[k,l]=(0,f.useState)(e),[m,n]=(0,f.useState)([]),[o,p]=(0,f.useState)(!1),{data:q=[],isLoading:r}=(0,T.default)("worlds-availability",U,{revalidateOnFocus:!1}),s=k.backend||"local",t="local"===s,u="postgres"===s;(0,f.useEffect)(()=>{l(e)},[e]);let v=async()=>{p(!0);try{let a=await S(k);n(a),0===a.length&&(g(k),j(!1))}catch(a){console.error("Validation error:",a),n([{field:"general",message:a instanceof Error?a.message:"Unknown error"}])}finally{p(!1)}},w=(a,b)=>{l(c=>({...c,[a]:b})),n(b=>b.filter(b=>b.field!==a))},x=a=>m.find(b=>b.field===a)?.message,y=JSON.stringify(k)!==JSON.stringify(e)||m.length>0;return(0,b.jsxs)(b.Fragment,{children:[void 0===a&&(0,b.jsx)("button",{type:"button",onClick:()=>j(!0),className:"p-2 rounded-full hover:bg-accent transition-colors",title:"Configuration",children:(0,b.jsx)(A,{className:"h-6 w-6"})}),(void 0!==a?a:h)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:"fixed inset-0 bg-black/50 z-40 cursor-default",onClick:()=>j(!1),"aria-label":"Close configuration panel"}),(0,b.jsx)("div",{className:"fixed top-0 right-0 h-full w-96 bg-background border-l shadow-lg z-50 overflow-y-auto",children:(0,b.jsxs)("div",{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,b.jsx)("h2",{className:"text-2xl font-bold",children:"Configuration"}),(0,b.jsx)(C.Button,{type:"button",onClick:()=>j(!1),variant:"outline",size:"icon",children:(0,b.jsx)(I.X,{className:"h-5 w-5"})})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"backend",children:"Backend"}),(0,b.jsxs)(P.Select,{value:k.backend||"local",onValueChange:a=>w("backend",a),children:[(0,b.jsx)(P.SelectTrigger,{id:"backend",children:(0,b.jsx)(P.SelectValue,{placeholder:"Select backend"})}),(0,b.jsx)(P.SelectContent,{children:r?(0,b.jsx)(P.SelectItem,{value:"loading",disabled:!0,children:"Loading worlds..."}):q.length>0?q.map(a=>(0,b.jsx)(P.SelectItem,{value:a.id,children:a.displayName},a.id)):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(P.SelectItem,{value:"local",children:"Local"}),(0,b.jsx)(P.SelectItem,{value:"vercel",children:"Vercel"}),(0,b.jsx)(P.SelectItem,{value:"postgres",children:"PostgreSQL"})]})})]}),(d=q.find(a=>a.id===s))&&!d.isInstalled?(0,b.jsxs)("div",{className:"flex items-start gap-2 p-2 rounded-md bg-amber-500/10 border border-amber-500/20 text-amber-600 dark:text-amber-400",children:[(0,b.jsx)(H,{className:"h-4 w-4 mt-0.5 shrink-0"}),(0,b.jsxs)("div",{className:"text-xs",children:[(0,b.jsx)("p",{className:"font-medium",children:"Package not installed"}),(0,b.jsxs)("p",{className:"mt-1 text-muted-foreground",children:["Run:"," ",(0,b.jsx)("code",{className:"bg-muted px-1 py-0.5 rounded",children:d.installCommand})]})]})]}):null]}),t&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"port",children:"Port"}),(0,b.jsx)(K,{id:"port",value:k.port||"",onChange:a=>w("port",a.target.value),placeholder:"3001",className:x("port")?"border-destructive":""}),x("port")&&(0,b.jsx)("p",{className:"text-sm text-destructive break-words",children:x("port")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"dataDir",children:"Data Directory"}),(0,b.jsx)(K,{id:"dataDir",value:k.dataDir||"",onChange:a=>w("dataDir",a.target.value),placeholder:".workflow-data or .next/workflow-data",className:x("dataDir")?"border-destructive":""}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Path to the workflow data directory. Can be relative or absolute."})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"manifestPath",children:"Manifest Path"}),(0,b.jsx)(K,{id:"manifestPath",value:k.manifestPath||"",onChange:a=>w("manifestPath",a.target.value),placeholder:"app/.well-known/workflow/v1/manifest.json",className:x("manifestPath")?"border-destructive":""}),x("manifestPath")&&(0,b.jsx)("p",{className:"text-sm text-destructive break-words",children:x("manifestPath")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Path to the workflow manifest file. Leave empty to use default locations."})]})]}),u&&(0,b.jsx)(b.Fragment,{children:(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"postgresUrl",children:"Connection URL"}),(0,b.jsx)(K,{id:"postgresUrl",value:k.postgresUrl||"",onChange:a=>w("postgresUrl",a.target.value),placeholder:"postgres://user:pass@host:5432/db",className:x("postgresUrl")?"border-destructive":""}),x("postgresUrl")&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:x("postgresUrl")})]})}),!t&&!u&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"env",children:"Environment"}),(0,b.jsx)(K,{id:"env",value:k.env||"production",onChange:a=>w("env",a.target.value),placeholder:"production or preview"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"authToken",children:"Auth Token"}),(0,b.jsx)(K,{id:"authToken",type:"password",value:k.authToken||"",onChange:a=>w("authToken",a.target.value),placeholder:"Vercel auth token"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"project",children:"Project ID"}),(0,b.jsx)(K,{id:"project",value:k.project||"",onChange:a=>w("project",a.target.value),placeholder:"prj_..."})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(O,{htmlFor:"team",children:"Team ID"}),(0,b.jsx)(K,{id:"team",value:k.team||"",onChange:a=>w("team",a.target.value),placeholder:"team_..."})]})]}),m.length>0&&(0,b.jsxs)(J.Alert,{variant:"destructive",className:"!bg-destructive/10 !border-destructive",children:[(0,b.jsx)(G.AlertCircle,{className:"h-4 w-4"}),(0,b.jsx)(J.AlertTitle,{children:"Configuration Error"}),(0,b.jsx)(J.AlertDescription,{children:(0,b.jsx)("ul",{className:"list-disc list-inside space-y-1",children:m.map((a,c)=>(0,b.jsxs)("li",{className:"break-words",children:["general"!==a.field&&(0,b.jsxs)("strong",{children:[a.field,":"]})," ",a.message]},`error-${c}`))})})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 pt-4",children:[(0,b.jsx)(C.Button,{onClick:v,disabled:o||!y||q.some(a=>a.id===s&&!a.isInstalled),className:"w-full",children:o?"Validating...":"Apply Configuration"}),(0,b.jsx)(C.Button,{variant:"outline",onClick:()=>{l(e),n([]),j(!1)},className:"w-full",children:"Cancel"})]})]})]})})]})]})}function W({open:a,onOpenChange:c}){return(0,b.jsx)(V,{open:a,onOpenChange:c})}function X(){let[a,c]=(0,f.useState)(!1),{theme:d,setTheme:e}=l();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(D.DropdownMenu,{children:[(0,b.jsx)(D.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(C.Button,{variant:"outline",size:"icon",children:[(0,b.jsx)(A,{className:"h-[1.2rem] w-[1.2rem]"}),(0,b.jsx)("span",{className:"sr-only",children:"Settings"})]})}),(0,b.jsxs)(D.DropdownMenuContent,{align:"end",className:"w-56",children:[(0,b.jsxs)("div",{className:"px-2 py-1.5 flex items-center gap-3",children:[(0,b.jsx)(D.DropdownMenuLabel,{className:"px-0 mb-0",children:"Theme"}),(0,b.jsx)(F,{value:d||"system",onValueChange:e,options:[{value:"system",icon:(0,b.jsx)(y,{className:"h-4 w-4"})},{value:"light",icon:(0,b.jsx)(B,{className:"h-4 w-4"})},{value:"dark",icon:(0,b.jsx)(z,{className:"h-4 w-4"})}]})]}),(0,b.jsx)(D.DropdownMenuSeparator,{}),(0,b.jsxs)(D.DropdownMenuItem,{onSelect:()=>c(!0),children:[(0,b.jsx)("span",{children:"Configuration"}),(0,b.jsx)(A,{className:"ml-auto h-4 w-4"})]}),(0,b.jsx)(D.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)("a",{href:"https://useworkflow.dev/docs/getting-started",target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)("span",{children:"Docs"}),(0,b.jsx)(x,{className:"ml-auto h-4 w-4"})]})})]})]}),(0,b.jsx)(W,{open:a,onOpenChange:c})]})}var Y=a.i(95811);let Z=({...a})=>{let{theme:c="system"}=l();return(0,b.jsx)(Y.Toaster,{theme:c,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",error:"group-[.toaster]:bg-destructive group-[.toaster]:text-destructive-foreground group-[.toaster]:border-destructive",success:"group-[.toaster]:bg-green-600 group-[.toaster]:text-white group-[.toaster]:border-green-600"}},...a})};function $({className:a}={}){return(0,b.jsxs)("svg",{viewBox:"0 0 1792 240",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:a||"h-6 w-auto",role:"img","aria-label":"Workflow Logo",children:[(0,b.jsx)("title",{children:"Workflow Logo"}),(0,b.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M753.933 55.627C806.249 55.627 840.685 91.718 840.685 147.345C840.685 202.971 806.249 239.062 753.933 239.062C701.286 239.062 666.851 202.971 666.851 147.345C666.851 91.7181 701.286 55.6271 753.933 55.627ZM753.933 90.0625C726.451 90.0626 710.889 111.254 710.889 147.345C710.889 183.436 726.451 204.627 753.933 204.627C781.084 204.627 796.978 183.436 796.978 147.345C796.978 111.254 781.084 90.0625 753.933 90.0625Z",className:"fill-foreground"}),(0,b.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1445.65 55.627C1497.96 55.627 1532.4 91.718 1532.4 147.345C1532.4 202.971 1497.96 239.062 1445.65 239.062C1393 239.062 1358.56 202.971 1358.56 147.345C1358.56 91.718 1393 55.627 1445.65 55.627ZM1445.65 90.0625C1418.16 90.0625 1402.6 111.254 1402.6 147.345C1402.6 183.436 1418.16 204.627 1445.65 204.627C1472.8 204.627 1488.69 183.436 1488.69 147.345C1488.69 111.254 1472.8 90.0626 1445.65 90.0625Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M902.473 94.0361C909.095 70.8584 922.34 59.5997 944.855 59.5996H961.079V92.3799H944.524C916.38 92.38 904.128 106.949 904.128 135.094V235.089H861.746V59.5996H901.48L902.473 94.0361Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1019.25 138.735L1091.11 59.5996H1143.09L1074.55 132.113L1146.4 235.089H1098.72L1046.74 157.609L1019.25 187.078V235.089H976.872V0H1019.25V138.735Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1263.63 32.7803H1235.82C1224.89 32.7803 1217.28 41.3893 1217.28 54.9648V59.5996H1260.98V92.3799H1217.28V235.089H1174.56V92.3799H1149.4V59.5996H1174.56V54.9648C1174.56 19.5359 1191.78 0 1230.85 0H1263.63V32.7803Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1322.58 189.396C1322.58 197.673 1327.22 202.309 1335.5 202.31H1348.74V235.089H1324.57C1298.08 235.089 1280.2 218.534 1280.2 191.052V0H1322.58V189.396Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1604.59 186.416L1641.02 59.5996H1677.77L1713.86 186.416L1749.95 59.5996H1791.34L1737.7 235.089H1694.32L1659.56 116.883L1624.79 235.089H1581.42L1527.77 59.5996H1568.83L1604.59 186.416Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M472.173 174.847L514.895 0.671875H554.66L598.038 174.847L640.432 0.671875H685.454L623.015 234H575.692L534.942 77.5713L493.863 234H446.869L384.1 0.671875H429.122L472.173 174.847Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M125.776 0C120.929 1.64945e-05 117 3.9291 117 8.77539V61.4248C117 66.2711 120.929 70.2002 125.776 70.2002H160.875L161.253 70.2051C169.032 70.4023 175.301 76.6734 175.495 84.4531L175.5 84.8252V143.325C175.5 148.171 179.429 152.101 184.276 152.101H219.375L219.753 152.105C227.53 152.303 233.798 158.571 233.995 166.348L234 166.726V225.225C234 230.071 237.929 234 242.776 234H295.425C300.271 234 304.2 230.071 304.2 225.225V172.575C304.2 167.729 300.271 163.8 295.425 163.8H260.25C252.334 163.76 245.905 157.43 245.705 149.553L245.7 149.176V90.6758C245.7 85.8295 241.771 81.9004 236.925 81.9004H201.825C193.874 81.9004 187.405 75.5551 187.205 67.6523L187.2 67.2754V8.77539C187.2 3.9291 183.271 1.64951e-05 178.425 0H125.776Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M67.2755 81.9004C62.4293 81.9004 58.5002 85.8295 58.5002 90.6758V143.325C58.5004 148.171 62.4294 152.101 67.2755 152.101H102.375L102.753 152.105C110.53 152.303 116.798 158.571 116.995 166.348L117 166.726V225.225C117 230.071 120.929 234 125.776 234H178.425C183.271 234 187.2 230.071 187.2 225.225V172.575C187.2 167.729 183.271 163.8 178.425 163.8H143.25C135.334 163.76 128.905 157.43 128.705 149.553L128.7 149.176V90.6758C128.7 85.8295 124.771 81.9004 119.925 81.9004H67.2755Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M8.77454 163.8C3.92844 163.8 0.00012207 167.729 0.00012207 172.575V225.225C0.00012207 230.071 3.92844 234 8.77454 234H61.4249C66.2712 234 70.2003 230.071 70.2003 225.225V172.575C70.2003 167.729 66.2712 163.8 61.4249 163.8H8.77454Z",className:"fill-foreground"})]})}function _({children:a}){let g=(0,e.useRouter)(),h=(0,e.usePathname)(),i=(0,e.useSearchParams)(),j=(0,Q.useQueryParamConfig)(),{setTheme:k}=l(),m=i.get("id"),n=i.get("runId"),o=i.get("stepId"),p=i.get("hookId"),q=i.get("resource"),r=i.get("theme"),s=(0,f.useRef)(!1);return(0,f.useEffect)(()=>{r&&("light"===r||"dark"===r||"system"===r)&&k(r)},[r,k]),(0,f.useEffect)(()=>{let a;if("/"===h||!s.current){if(h.startsWith("/run/")){s.current=!0;return}if(!q){if(n){let a;a=o?(0,Q.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"step",stepId:o}):p?(0,Q.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"hook",hookId:p}):(0,Q.buildUrlWithConfig)(`/run/${n}`,j),s.current=!0,g.push(a)}return}if(m){if("run"===q)a=(0,Q.buildUrlWithConfig)(`/run/${m}`,j);else if("step"===q&&n)a=(0,Q.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"step",stepId:m});else if("stream"===q&&n)a=(0,Q.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"stream",streamId:m});else if("event"===q&&n)a=(0,Q.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"event",eventId:m});else if("hook"===q&&n)a=(0,Q.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"hook",hookId:m});else{if("hook"!==q||n)return void console.warn(`Can't deep-link to ${q} ${m}.`);a=(0,Q.buildUrlWithConfig)("/",j,{sidebar:"hook",hookId:m})}s.current=!0,g.push(a)}}},[q,m,n,o,p,g,j,h]),(0,b.jsxs)("div",{className:"min-h-screen flex flex-col",children:[(0,b.jsxs)(c.TooltipProvider,{delayDuration:0,children:[(0,b.jsx)("div",{className:"sticky top-0 z-50 bg-background border-b px-6 py-4",children:(0,b.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,b.jsx)(d.default,{href:(0,Q.buildUrlWithConfig)("/",j),children:(0,b.jsx)("h1",{className:"flex items-center gap-2",title:"Workflow Observability",children:(0,b.jsx)($,{})})}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsx)(w,{config:j}),(0,b.jsx)(X,{})]})]})}),(0,b.jsx)("div",{className:"flex-1 px-6 pt-6",children:a})]}),(0,b.jsx)(Z,{})]})}function aa({children:a}){return(0,b.jsx)(m,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,storageKey:"workflow-theme",children:(0,b.jsx)(_,{children:a})})}a.s(["LayoutClient",()=>aa],539350)}];
|
|
1
|
+
module.exports=[339832,a=>{"use strict";var b=a.i(551520),c=a.i(774906);function d(){(0,b.c)("[nuqs] Aborting queues"),c.t.abortAll(),c.n.abort().forEach(a=>c.t.queuedQuerySync.emit(a))}var e=a.i(253220),f=a.i(624282);let g=0;function h(){g=0,d()}function i(){--g<=0&&(g=0,queueMicrotask(d))}function j(){return(0,e.useEffect)(()=>(!function(){var a;if(a="next/app","undefined"==typeof history||(history.nuqs?.version&&"2.8.3"!==history.nuqs.version?(console.error((0,b.s)(409),history.nuqs.version,"2.8.3",a),!0):!!history.nuqs?.adapters?.includes(a)))return;let c=history.replaceState,d=history.pushState;history.replaceState=function(a,b,d){return i(),c.call(history,a,b,d)},history.pushState=function(a,b,c){return i(),d.call(history,a,b,c)},history.nuqs=history.nuqs??{version:"2.8.3",adapters:[]},history.nuqs.adapters.push("next/app")}(),window.addEventListener("popstate",h),()=>window.removeEventListener("popstate",h)),[]),null}let k=(0,b.n)(function(){let a=(0,f.useRouter)(),[c,d]=(0,e.useOptimistic)((0,f.useSearchParams)());return{searchParams:c,updateUrl:(0,e.useCallback)((c,f)=>{(0,e.startTransition)(()=>{f.shallow||d(c);let e=function(a){let{origin:c,pathname:d,hash:e}=location;return c+d+(0,b.o)(a)+e}(c);(0,b.c)("[nuqs next/app] Updating url: %s",e);let h="push"===f.history?history.pushState:history.replaceState;g=3,h.call(history,null,"",e),f.scroll&&window.scrollTo(0,0),f.shallow||a.replace(e,{scroll:!1})})},[]),rateLimitFactor:3,autoResetQueueOnUpdate:!1}});function l({children:a,...b}){return(0,e.createElement)(k,{...b,children:[(0,e.createElement)(e.Suspense,{key:"nuqs-adapter-suspense-navspy",children:(0,e.createElement)(j)}),a]})}a.s(["NuqsAdapter",()=>l],339832)},539350,a=>{"use strict";var b=a.i(857446),c=a.i(101056),d=a.i(315330),e=a.i(624282),f=a.i(253220),g=(a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}},h=["light","dark"],i="(prefers-color-scheme: dark)",j=f.createContext(void 0),k={setTheme:a=>{},themes:[]},l=()=>{var a;return null!=(a=f.useContext(j))?a:k},m=a=>f.useContext(j)?f.createElement(f.Fragment,null,a.children):f.createElement(o,{...a}),n=["light","dark"],o=({forcedTheme:a,disableTransitionOnChange:b=!1,enableSystem:c=!0,enableColorScheme:d=!0,storageKey:e="theme",themes:g=n,defaultTheme:k=c?"system":"light",attribute:l="data-theme",value:m,children:o,nonce:t,scriptProps:u})=>{let[v,w]=f.useState(()=>q(e,k)),[x,y]=f.useState(()=>"system"===v?s():v),z=m?Object.values(m):g,A=f.useCallback(a=>{let e=a;if(!e)return;"system"===a&&c&&(e=s());let f=m?m[e]:e,g=b?r(t):null,i=document.documentElement,j=a=>{"class"===a?(i.classList.remove(...z),f&&i.classList.add(f)):a.startsWith("data-")&&(f?i.setAttribute(a,f):i.removeAttribute(a))};if(Array.isArray(l)?l.forEach(j):j(l),d){let a=h.includes(k)?k:null,b=h.includes(e)?e:a;i.style.colorScheme=b}null==g||g()},[t]),B=f.useCallback(a=>{let b="function"==typeof a?a(v):a;w(b);try{localStorage.setItem(e,b)}catch(a){}},[v]),C=f.useCallback(b=>{y(s(b)),"system"===v&&c&&!a&&A("system")},[v,a]);f.useEffect(()=>{let a=window.matchMedia(i);return a.addListener(C),C(a),()=>a.removeListener(C)},[C]),f.useEffect(()=>{let a=a=>{a.key===e&&(a.newValue?w(a.newValue):B(k))};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)},[B]),f.useEffect(()=>{A(null!=a?a:v)},[a,v]);let D=f.useMemo(()=>({theme:v,setTheme:B,forcedTheme:a,resolvedTheme:"system"===v?x:v,themes:c?[...g,"system"]:g,systemTheme:c?x:void 0}),[v,B,a,x,c,g]);return f.createElement(j.Provider,{value:D},f.createElement(p,{forcedTheme:a,storageKey:e,attribute:l,enableSystem:c,enableColorScheme:d,defaultTheme:k,value:m,themes:g,nonce:t,scriptProps:u}),o)},p=f.memo(({forcedTheme:a,storageKey:b,attribute:c,enableSystem:d,enableColorScheme:e,defaultTheme:h,value:i,themes:j,nonce:k,scriptProps:l})=>{let m=JSON.stringify([c,b,h,a,j,i,d,e]).slice(1,-1);return f.createElement("script",{...l,suppressHydrationWarning:!0,nonce:k,dangerouslySetInnerHTML:{__html:`(${g.toString()})(${m})`}})}),q=(a,b)=>{},r=a=>{let b=document.createElement("style");return a&&b.setAttribute("nonce",a),b.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(b),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(b)},1)}},s=a=>(a||(a=window.matchMedia(i)),a.matches?"dark":"light"),t=a.i(622427);let u=(0,t.default)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var v=a.i(393557),w=a.i(84819);function x({config:a}){let c=a.backend||"local",{data:d}=(0,w.useDataDirInfo)(a.dataDir),{provider:e,parts:f}=((a,b,c)=>{if("vercel"===a){let a=[];return b.env&&a.push(`env: ${b.env}`),b.project&&a.push(`project: ${b.project}`),b.team&&a.push(`team: ${b.team}`),{provider:"Vercel",parts:a}}if("local"===a){let a=[];return c?.projectDir&&a.push(`project: ${c.projectDir}`),b.port&&a.push(`port: ${b.port}`),{provider:"Local",parts:a}}return{provider:b.backend||"unknown",parts:[]}})(c,a,d),g="local"===c?d?.shortName:"vercel"===c?a.env:void 0;return(0,b.jsxs)("div",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"font-medium",children:["Connected to: ",e," ",g?`(${g})`:""]}),(0,b.jsxs)(v.Tooltip,{children:[(0,b.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(u,{className:"w-4 h-4"})}),(0,b.jsx)(v.TooltipContent,{children:(0,b.jsx)("div",{className:"flex flex-col gap-1",children:f.map(a=>(0,b.jsx)("span",{children:a},a))})})]})]})}let y=(0,t.default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),z=(0,t.default)("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),A=(0,t.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),B=(0,t.default)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),C=(0,t.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var D=a.i(397494),E=a.i(794851),F=a.i(676653);function G({value:a,onValueChange:c,options:d,className:e}){return(0,b.jsx)("div",{className:(0,F.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),children:d.map(d=>(0,b.jsxs)("button",{type:"button",onClick:()=>c(d.value),className:(0,F.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a===d.value?"bg-background text-foreground shadow":"hover:bg-background/50"),children:[d.icon,d.label&&(0,b.jsx)("span",{className:"ml-2",children:d.label})]},d.value))})}var H=a.i(207973);let I=(0,t.default)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var J=a.i(26790),K=a.i(135321);let L=f.forwardRef(({className:a,type:c,...d},e)=>(0,b.jsx)("input",{type:c,className:(0,F.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),ref:e,...d}));L.displayName="Input";var M=a.i(518243),N=f.forwardRef((a,c)=>(0,b.jsx)(M.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));N.displayName="Label";let O=(0,a.i(142261).cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),P=f.forwardRef(({className:a,...c},d)=>(0,b.jsx)(N,{ref:d,className:(0,F.cn)(O(),a),...c}));P.displayName=N.displayName;var Q=a.i(175196),R=a.i(508624),S=a.i(386021),T=(0,S.createServerReference)("40545b511b082880ffd69907a64d12bf51eb2405a5",S.callServer,void 0,S.findSourceMapURL,"validateWorldConfig");function U({open:a,onOpenChange:c}={}){let d,e=(0,R.useQueryParamConfig)(),g=(0,R.useUpdateConfigQueryParams)(),[h,i]=(0,f.useState)(!1),j=c||i,[k,l]=(0,f.useState)(e),[m,n]=(0,f.useState)([]),[o,p]=(0,f.useState)(!1),{data:q=[],isLoading:r}=(0,w.useWorldsAvailability)(),{data:s}=(0,w.useDataDirInfo)(k.dataDir),t=k.backend||"local",u="local"===t,v="postgres"===t;(0,f.useEffect)(()=>{l(e)},[e]);let x=async()=>{p(!0);try{let a=await T(k);n(a),0===a.length&&(g(k),j(!1))}catch(a){console.error("Validation error:",a),n([{field:"general",message:a instanceof Error?a.message:"Unknown error"}])}finally{p(!1)}},y=(a,b)=>{l(c=>({...c,[a]:b})),n(b=>b.filter(b=>b.field!==a))},z=a=>m.find(b=>b.field===a)?.message,A=JSON.stringify(k)!==JSON.stringify(e)||m.length>0;return(0,b.jsxs)(b.Fragment,{children:[void 0===a&&(0,b.jsx)("button",{type:"button",onClick:()=>j(!0),className:"p-2 rounded-full hover:bg-accent transition-colors",title:"Configuration",children:(0,b.jsx)(B,{className:"h-6 w-6"})}),(void 0!==a?a:h)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:"fixed inset-0 bg-black/50 z-40 cursor-default",onClick:()=>j(!1),"aria-label":"Close configuration panel"}),(0,b.jsx)("div",{className:"fixed top-0 right-0 h-full w-96 bg-background border-l shadow-lg z-50 overflow-y-auto",children:(0,b.jsxs)("div",{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,b.jsx)("h2",{className:"text-2xl font-bold",children:"Configuration"}),(0,b.jsx)(D.Button,{type:"button",onClick:()=>j(!1),variant:"outline",size:"icon",children:(0,b.jsx)(J.X,{className:"h-5 w-5"})})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"backend",children:"Backend"}),(0,b.jsxs)(Q.Select,{value:k.backend||"local",onValueChange:a=>y("backend",a),children:[(0,b.jsx)(Q.SelectTrigger,{id:"backend",children:(0,b.jsx)(Q.SelectValue,{placeholder:"Select backend"})}),(0,b.jsx)(Q.SelectContent,{children:r?(0,b.jsx)(Q.SelectItem,{value:"loading",disabled:!0,children:"Loading worlds..."}):q.length>0?q.map(a=>(0,b.jsx)(Q.SelectItem,{value:a.id,children:a.displayName},a.id)):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Q.SelectItem,{value:"local",children:"Local"}),(0,b.jsx)(Q.SelectItem,{value:"vercel",children:"Vercel"}),(0,b.jsx)(Q.SelectItem,{value:"postgres",children:"PostgreSQL"})]})})]}),(d=q.find(a=>a.id===t))&&!d.isInstalled?(0,b.jsxs)("div",{className:"flex items-start gap-2 p-2 rounded-md bg-amber-500/10 border border-amber-500/20 text-amber-600 dark:text-amber-400",children:[(0,b.jsx)(I,{className:"h-4 w-4 mt-0.5 shrink-0"}),(0,b.jsxs)("div",{className:"text-xs",children:[(0,b.jsx)("p",{className:"font-medium",children:"Package not installed"}),(0,b.jsxs)("p",{className:"mt-1 text-muted-foreground",children:["Run:"," ",(0,b.jsx)("code",{className:"bg-muted px-1 py-0.5 rounded",children:d.installCommand})]})]})]}):null]}),u&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"port",children:"Port"}),(0,b.jsx)(L,{id:"port",value:k.port||"",onChange:a=>y("port",a.target.value),placeholder:"3001",className:z("port")?"border-destructive":""}),z("port")&&(0,b.jsx)("p",{className:"text-sm text-destructive break-words",children:z("port")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"dataDir",children:"Data Directory"}),(0,b.jsx)(L,{id:"dataDir",value:k.dataDir||"",onChange:a=>y("dataDir",a.target.value),placeholder:"Path to your project directory",className:z("dataDir")?"border-destructive":""}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Path to your project or its workflow data directory. Relative paths allowed. Leave empty to search current directory."})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"manifestPath",children:"Manifest Path"}),(0,b.jsx)(L,{id:"manifestPath",value:k.manifestPath||"",onChange:a=>y("manifestPath",a.target.value),placeholder:"app/.well-known/workflow/v1/manifest.json",className:z("manifestPath")?"border-destructive":""}),z("manifestPath")&&(0,b.jsx)("p",{className:"text-sm text-destructive break-words",children:z("manifestPath")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Path to the workflow manifest file. Leave empty to use default locations."})]})]}),v&&(0,b.jsx)(b.Fragment,{children:(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"postgresUrl",children:"Connection URL"}),(0,b.jsx)(L,{id:"postgresUrl",value:k.postgresUrl||"",onChange:a=>y("postgresUrl",a.target.value),placeholder:"postgres://user:pass@host:5432/db",className:z("postgresUrl")?"border-destructive":""}),z("postgresUrl")&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:z("postgresUrl")})]})}),!u&&!v&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"env",children:"Environment"}),(0,b.jsx)(L,{id:"env",value:k.env||"production",onChange:a=>y("env",a.target.value),placeholder:"production or preview"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"authToken",children:"Auth Token"}),(0,b.jsx)(L,{id:"authToken",type:"password",value:k.authToken||"",onChange:a=>y("authToken",a.target.value),placeholder:"Vercel auth token"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"project",children:"Project ID"}),(0,b.jsx)(L,{id:"project",value:k.project||"",onChange:a=>y("project",a.target.value),placeholder:"prj_..."})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(P,{htmlFor:"team",children:"Team ID"}),(0,b.jsx)(L,{id:"team",value:k.team||"",onChange:a=>y("team",a.target.value),placeholder:"team_..."})]})]}),m.length>0&&(0,b.jsxs)(K.Alert,{variant:"destructive",className:"!bg-destructive/10 !border-destructive",children:[(0,b.jsx)(H.AlertCircle,{className:"h-4 w-4"}),(0,b.jsx)(K.AlertTitle,{children:"Configuration Error"}),(0,b.jsx)(K.AlertDescription,{children:(0,b.jsx)("ul",{className:"list-disc list-inside space-y-1",children:m.map((a,c)=>(0,b.jsxs)("li",{className:"break-words",children:["general"!==a.field&&(0,b.jsxs)("strong",{children:[a.field,":"]})," ",a.message]},`error-${c}`))})})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 pt-4",children:[(0,b.jsx)(D.Button,{onClick:x,disabled:o||!A||q.some(a=>a.id===t&&!a.isInstalled),className:"w-full",children:o?"Validating...":"Apply Configuration"}),(0,b.jsx)(D.Button,{variant:"outline",onClick:()=>{l(e),n([]),j(!1)},className:"w-full",children:"Cancel"})]})]})]})})]})]})}function V({open:a,onOpenChange:c}){return(0,b.jsx)(U,{open:a,onOpenChange:c})}function W(){let[a,c]=(0,f.useState)(!1),{theme:d,setTheme:e}=l();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(E.DropdownMenu,{children:[(0,b.jsx)(E.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(D.Button,{variant:"outline",size:"icon",children:[(0,b.jsx)(B,{className:"h-[1.2rem] w-[1.2rem]"}),(0,b.jsx)("span",{className:"sr-only",children:"Settings"})]})}),(0,b.jsxs)(E.DropdownMenuContent,{align:"end",className:"w-56",children:[(0,b.jsxs)("div",{className:"px-2 py-1.5 flex items-center gap-3",children:[(0,b.jsx)(E.DropdownMenuLabel,{className:"px-0 mb-0",children:"Theme"}),(0,b.jsx)(G,{value:d||"system",onValueChange:e,options:[{value:"system",icon:(0,b.jsx)(z,{className:"h-4 w-4"})},{value:"light",icon:(0,b.jsx)(C,{className:"h-4 w-4"})},{value:"dark",icon:(0,b.jsx)(A,{className:"h-4 w-4"})}]})]}),(0,b.jsx)(E.DropdownMenuSeparator,{}),(0,b.jsxs)(E.DropdownMenuItem,{onSelect:()=>c(!0),children:[(0,b.jsx)("span",{children:"Configuration"}),(0,b.jsx)(B,{className:"ml-auto h-4 w-4"})]}),(0,b.jsx)(E.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)("a",{href:"https://useworkflow.dev/docs/getting-started",target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)("span",{children:"Docs"}),(0,b.jsx)(y,{className:"ml-auto h-4 w-4"})]})})]})]}),(0,b.jsx)(V,{open:a,onOpenChange:c})]})}var X=a.i(95811);let Y=({...a})=>{let{theme:c="system"}=l();return(0,b.jsx)(X.Toaster,{theme:c,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",error:"group-[.toaster]:bg-destructive group-[.toaster]:text-destructive-foreground group-[.toaster]:border-destructive",success:"group-[.toaster]:bg-green-600 group-[.toaster]:text-white group-[.toaster]:border-green-600"}},...a})};function Z({className:a}={}){return(0,b.jsxs)("svg",{viewBox:"0 0 1792 240",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:a||"h-6 w-auto",role:"img","aria-label":"Workflow Logo",children:[(0,b.jsx)("title",{children:"Workflow Logo"}),(0,b.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M753.933 55.627C806.249 55.627 840.685 91.718 840.685 147.345C840.685 202.971 806.249 239.062 753.933 239.062C701.286 239.062 666.851 202.971 666.851 147.345C666.851 91.7181 701.286 55.6271 753.933 55.627ZM753.933 90.0625C726.451 90.0626 710.889 111.254 710.889 147.345C710.889 183.436 726.451 204.627 753.933 204.627C781.084 204.627 796.978 183.436 796.978 147.345C796.978 111.254 781.084 90.0625 753.933 90.0625Z",className:"fill-foreground"}),(0,b.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1445.65 55.627C1497.96 55.627 1532.4 91.718 1532.4 147.345C1532.4 202.971 1497.96 239.062 1445.65 239.062C1393 239.062 1358.56 202.971 1358.56 147.345C1358.56 91.718 1393 55.627 1445.65 55.627ZM1445.65 90.0625C1418.16 90.0625 1402.6 111.254 1402.6 147.345C1402.6 183.436 1418.16 204.627 1445.65 204.627C1472.8 204.627 1488.69 183.436 1488.69 147.345C1488.69 111.254 1472.8 90.0626 1445.65 90.0625Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M902.473 94.0361C909.095 70.8584 922.34 59.5997 944.855 59.5996H961.079V92.3799H944.524C916.38 92.38 904.128 106.949 904.128 135.094V235.089H861.746V59.5996H901.48L902.473 94.0361Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1019.25 138.735L1091.11 59.5996H1143.09L1074.55 132.113L1146.4 235.089H1098.72L1046.74 157.609L1019.25 187.078V235.089H976.872V0H1019.25V138.735Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1263.63 32.7803H1235.82C1224.89 32.7803 1217.28 41.3893 1217.28 54.9648V59.5996H1260.98V92.3799H1217.28V235.089H1174.56V92.3799H1149.4V59.5996H1174.56V54.9648C1174.56 19.5359 1191.78 0 1230.85 0H1263.63V32.7803Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1322.58 189.396C1322.58 197.673 1327.22 202.309 1335.5 202.31H1348.74V235.089H1324.57C1298.08 235.089 1280.2 218.534 1280.2 191.052V0H1322.58V189.396Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M1604.59 186.416L1641.02 59.5996H1677.77L1713.86 186.416L1749.95 59.5996H1791.34L1737.7 235.089H1694.32L1659.56 116.883L1624.79 235.089H1581.42L1527.77 59.5996H1568.83L1604.59 186.416Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M472.173 174.847L514.895 0.671875H554.66L598.038 174.847L640.432 0.671875H685.454L623.015 234H575.692L534.942 77.5713L493.863 234H446.869L384.1 0.671875H429.122L472.173 174.847Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M125.776 0C120.929 1.64945e-05 117 3.9291 117 8.77539V61.4248C117 66.2711 120.929 70.2002 125.776 70.2002H160.875L161.253 70.2051C169.032 70.4023 175.301 76.6734 175.495 84.4531L175.5 84.8252V143.325C175.5 148.171 179.429 152.101 184.276 152.101H219.375L219.753 152.105C227.53 152.303 233.798 158.571 233.995 166.348L234 166.726V225.225C234 230.071 237.929 234 242.776 234H295.425C300.271 234 304.2 230.071 304.2 225.225V172.575C304.2 167.729 300.271 163.8 295.425 163.8H260.25C252.334 163.76 245.905 157.43 245.705 149.553L245.7 149.176V90.6758C245.7 85.8295 241.771 81.9004 236.925 81.9004H201.825C193.874 81.9004 187.405 75.5551 187.205 67.6523L187.2 67.2754V8.77539C187.2 3.9291 183.271 1.64951e-05 178.425 0H125.776Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M67.2755 81.9004C62.4293 81.9004 58.5002 85.8295 58.5002 90.6758V143.325C58.5004 148.171 62.4294 152.101 67.2755 152.101H102.375L102.753 152.105C110.53 152.303 116.798 158.571 116.995 166.348L117 166.726V225.225C117 230.071 120.929 234 125.776 234H178.425C183.271 234 187.2 230.071 187.2 225.225V172.575C187.2 167.729 183.271 163.8 178.425 163.8H143.25C135.334 163.76 128.905 157.43 128.705 149.553L128.7 149.176V90.6758C128.7 85.8295 124.771 81.9004 119.925 81.9004H67.2755Z",className:"fill-foreground"}),(0,b.jsx)("path",{d:"M8.77454 163.8C3.92844 163.8 0.00012207 167.729 0.00012207 172.575V225.225C0.00012207 230.071 3.92844 234 8.77454 234H61.4249C66.2712 234 70.2003 230.071 70.2003 225.225V172.575C70.2003 167.729 66.2712 163.8 61.4249 163.8H8.77454Z",className:"fill-foreground"})]})}function $({children:a}){let g=(0,e.useRouter)(),h=(0,e.usePathname)(),i=(0,e.useSearchParams)(),j=(0,R.useQueryParamConfig)(),{setTheme:k}=l(),m=i.get("id"),n=i.get("runId"),o=i.get("stepId"),p=i.get("hookId"),q=i.get("resource"),r=i.get("theme"),s=(0,f.useRef)(!1);return(0,f.useEffect)(()=>{r&&("light"===r||"dark"===r||"system"===r)&&k(r)},[r,k]),(0,f.useEffect)(()=>{let a;if("/"===h||!s.current){if(h.startsWith("/run/")){s.current=!0;return}if(!q){if(n){let a;a=o?(0,R.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"step",stepId:o}):p?(0,R.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"hook",hookId:p}):(0,R.buildUrlWithConfig)(`/run/${n}`,j),s.current=!0,g.push(a)}return}if(m){if("run"===q)a=(0,R.buildUrlWithConfig)(`/run/${m}`,j);else if("step"===q&&n)a=(0,R.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"step",stepId:m});else if("stream"===q&&n)a=(0,R.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"stream",streamId:m});else if("event"===q&&n)a=(0,R.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"event",eventId:m});else if("hook"===q&&n)a=(0,R.buildUrlWithConfig)(`/run/${n}`,j,{sidebar:"hook",hookId:m});else{if("hook"!==q||n)return void console.warn(`Can't deep-link to ${q} ${m}.`);a=(0,R.buildUrlWithConfig)("/",j,{sidebar:"hook",hookId:m})}s.current=!0,g.push(a)}}},[q,m,n,o,p,g,j,h]),(0,b.jsxs)("div",{className:"min-h-screen flex flex-col",children:[(0,b.jsxs)(c.TooltipProvider,{delayDuration:0,children:[(0,b.jsx)("div",{className:"sticky top-0 z-50 bg-background border-b px-6 py-4",children:(0,b.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,b.jsx)(d.default,{href:(0,R.buildUrlWithConfig)("/",j),children:(0,b.jsx)("h1",{className:"flex items-center gap-2",title:"Workflow Observability",children:(0,b.jsx)(Z,{})})}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsx)(x,{config:j}),(0,b.jsx)(W,{})]})]})}),(0,b.jsx)("div",{className:"flex-1 px-6 pt-6",children:a})]}),(0,b.jsx)(Y,{})]})}function _({children:a}){return(0,b.jsx)(m,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,storageKey:"workflow-theme",children:(0,b.jsx)($,{children:a})})}a.s(["LayoutClient",()=>_],539350)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_af28dabd._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/lib/queues/reset.ts","../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/adapters/lib/patch-history.ts","../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/adapters/next/impl.app.ts","../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/adapters/next/app.ts","../../../../../../packages/web/src/app/layout-client.tsx","../../../../../../packages/web/src/components/display-utils/connection-status.tsx","../../../../../../packages/web/src/components/ui/segmented-control.tsx","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-label%402.1.7_%40types%2Breact-dom%4019.1.9_%40types%2Breact%4019.1.13__%40types%2Breact%40_d21172d6270ea6a92471d0210cd35a78/node_modules/%40radix-ui/react-label/dist/index.mjs","../../../../../../packages/web/src/components/ui/label.tsx","../../../../../../packages/web/src/lib/data%3Aa07f70%20%3Ctext/javascript%3E","../../../../../../packages/web/src/lib/data%3A10e116%20%3Ctext/javascript%3E","../../../../../../node_modules/.pnpm/next-themes%400.4.6_react-dom%4019.1.0_react%4019.1.0__react%4019.1.0/node_modules/next-themes/dist/index.mjs","../../../../../../packages/web/src/lib/hooks.ts","../../../../../../packages/web/src/components/settings-sidebar.tsx","../../../../../../packages/web/src/components/settings-dropdown.tsx","../../../../../../packages/web/src/components/ui/sonner.tsx","../../../../../../packages/web/src/icons/logo.tsx","../../../../../../packages/web/src/components/ui/input.tsx","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/triangle-alert.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/info.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/monitor.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/sun.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/settings.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/moon.ts","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-label%402.1.7_%40types%2Breact-dom%4019.1.9_%40types%2Breact%4019.1.13__%40types%2Breact%40_d21172d6270ea6a92471d0210cd35a78/node_modules/%40radix-ui/react-label/src/label.tsx"],"sourcesContent":["import { debug } from '../debug'\nimport { debounceController } from './debounce'\nimport { globalThrottleQueue } from './throttle'\n\nlet mutex = 0\n\nexport function setQueueResetMutex(value = 1): void {\n mutex = value\n}\n\nexport function spinQueueResetMutex(): void {\n // Don't let values become too negatively large and wrap around\n mutex = Math.max(0, mutex - 1)\n if (mutex > 0) {\n return\n }\n resetQueues()\n}\n\nexport function resetQueues(): void {\n debug('[nuqs] Aborting queues')\n debounceController.abortAll()\n const abortedKeys = globalThrottleQueue.abort()\n abortedKeys.forEach(key => debounceController.queuedQuerySync.emit(key))\n}\n","import { debug } from '../../lib/debug'\nimport type { Emitter } from '../../lib/emitter'\nimport { error } from '../../lib/errors'\nimport { resetQueues, spinQueueResetMutex } from '../../lib/queues/reset'\n\nexport type SearchParamsSyncEmitterEvents = { update: URLSearchParams }\n\nexport const historyUpdateMarker = '__nuqs__'\n\ndeclare global {\n interface History {\n nuqs?: {\n version: string\n adapters: string[]\n }\n }\n}\n\nexport function getSearchParams(url: string | URL): URLSearchParams {\n if (url instanceof URL) {\n return url.searchParams\n }\n if (url.startsWith('?')) {\n return new URLSearchParams(url)\n }\n try {\n return new URL(url, location.origin).searchParams\n } catch {\n return new URLSearchParams(url)\n }\n}\n\nexport function shouldPatchHistory(adapter: string): boolean {\n if (typeof history === 'undefined') {\n return false\n }\n if (\n history.nuqs?.version &&\n history.nuqs.version !== '0.0.0-inject-version-here'\n ) {\n console.error(\n error(409),\n history.nuqs.version,\n `0.0.0-inject-version-here`,\n adapter\n )\n return false\n }\n if (history.nuqs?.adapters?.includes(adapter)) {\n return false\n }\n return true\n}\n\nexport function markHistoryAsPatched(adapter: string): void {\n history.nuqs = history.nuqs ?? {\n // This will be replaced by the prepack script\n version: '0.0.0-inject-version-here',\n adapters: []\n }\n history.nuqs.adapters.push(adapter)\n}\n\nexport function patchHistory(\n emitter: Emitter<SearchParamsSyncEmitterEvents>,\n adapter: string\n): void {\n if (!shouldPatchHistory(adapter)) {\n return\n }\n let lastSearchSeen = typeof location === 'object' ? location.search : ''\n\n emitter.on('update', search => {\n const searchString = search.toString()\n lastSearchSeen = searchString.length ? '?' + searchString : ''\n })\n\n window.addEventListener('popstate', () => {\n lastSearchSeen = location.search\n resetQueues()\n })\n\n debug(\n '[nuqs %s] Patching history (%s adapter)',\n '0.0.0-inject-version-here',\n adapter\n )\n function sync(url: URL | string) {\n spinQueueResetMutex()\n try {\n const newSearch = new URL(url, location.origin).search\n if (newSearch === lastSearchSeen) {\n return\n }\n } catch {}\n try {\n emitter.emit('update', getSearchParams(url))\n } catch (e) {\n console.error(e)\n }\n }\n const originalPushState = history.pushState\n const originalReplaceState = history.replaceState\n history.pushState = function nuqs_pushState(state, marker, url) {\n originalPushState.call(history, state, '', url)\n if (url && marker !== historyUpdateMarker) {\n sync(url)\n }\n }\n history.replaceState = function nuqs_replaceState(state, marker, url) {\n originalReplaceState.call(history, state, '', url)\n if (url && marker !== historyUpdateMarker) {\n sync(url)\n }\n }\n markHistoryAsPatched(adapter)\n}\n","import { useRouter, useSearchParams } from 'next/navigation.js'\nimport { startTransition, useCallback, useEffect, useOptimistic } from 'react'\nimport { debug } from '../../lib/debug'\nimport { resetQueues } from '../../lib/queues/reset'\nimport { renderQueryString } from '../../lib/url-encoding'\nimport type { AdapterInterface, UpdateUrlFunction } from '../lib/defs'\nimport { markHistoryAsPatched, shouldPatchHistory } from '../lib/patch-history'\n\n// See: https://github.com/47ng/nuqs/issues/603#issuecomment-2317057128\n// and https://github.com/47ng/nuqs/discussions/960#discussioncomment-12699171\nconst NUM_HISTORY_CALLS_PER_UPDATE = 3\n\nlet mutex = 0\n\nfunction onPopState() {\n mutex = 0\n resetQueues()\n}\n\nfunction onHistoryStateUpdate() {\n mutex--\n if (mutex <= 0) {\n mutex = 0 // Don't let values become too negatively large and wrap around\n // Doing this after the end of the current render work because of the error:\n // \"useInsertionEffect cannot schedule updates\"\n // (resetting the queue causes the useSyncExternalStore of queued queries\n // to be marked for rendering)\n // The useInsertionEffect in question is the one in the Next.js app router core\n // dealing with history API calls.\n queueMicrotask(resetQueues)\n }\n}\n\nfunction patchHistory() {\n if (!shouldPatchHistory('next/app')) {\n return\n }\n const originalReplaceState = history.replaceState\n const originalPushState = history.pushState\n history.replaceState = function nuqs_replaceState(state, title, url) {\n onHistoryStateUpdate()\n return originalReplaceState.call(history, state, title, url)\n }\n history.pushState = function nuqs_pushState(state, title, url) {\n onHistoryStateUpdate()\n return originalPushState.call(history, state, title, url)\n }\n markHistoryAsPatched('next/app')\n}\n\n// Detect user navigation (clicking links, router calls)\n// and reset the queues when that happens.\nexport function NavigationSpy() {\n useEffect(() => {\n patchHistory()\n window.addEventListener('popstate', onPopState)\n return () => window.removeEventListener('popstate', onPopState)\n }, [])\n return null\n}\n\nexport function useNuqsNextAppRouterAdapter(): AdapterInterface {\n const router = useRouter()\n const searchParams = useSearchParams()\n const [optimisticSearchParams, setOptimisticSearchParams] =\n useOptimistic<URLSearchParams>(searchParams)\n const updateUrl: UpdateUrlFunction = useCallback((search, options) => {\n startTransition(() => {\n if (!options.shallow) {\n setOptimisticSearchParams(search)\n }\n const url = renderURL(search)\n debug('[nuqs next/app] Updating url: %s', url)\n // First, update the URL locally without triggering a network request,\n // this allows keeping a reactive URL if the network is slow.\n const updateMethod =\n options.history === 'push' ? history.pushState : history.replaceState\n mutex = NUM_HISTORY_CALLS_PER_UPDATE\n updateMethod.call(\n history,\n // In next@14.1.0, useSearchParams becomes reactive to shallow updates,\n // but only if passing `null` as the history state.\n null,\n '',\n url\n )\n if (options.scroll) {\n window.scrollTo(0, 0)\n }\n if (!options.shallow) {\n // Call the Next.js router to perform a network request\n // and re-render server components.\n router.replace(url, {\n scroll: false\n })\n }\n })\n }, [])\n return {\n searchParams: optimisticSearchParams,\n updateUrl,\n rateLimitFactor: NUM_HISTORY_CALLS_PER_UPDATE,\n autoResetQueueOnUpdate: false\n }\n}\n\nfunction renderURL(search: URLSearchParams) {\n const { origin, pathname, hash } = location\n return origin + pathname + renderQueryString(search) + hash\n}\n","import {\n createElement,\n Suspense,\n type ReactElement,\n type ReactNode\n} from 'react'\nimport { createAdapterProvider, type AdapterProps } from '../lib/context'\nimport { NavigationSpy, useNuqsNextAppRouterAdapter } from './impl.app'\n\nconst Provider = createAdapterProvider(useNuqsNextAppRouterAdapter)\n\nexport function NuqsAdapter({\n children,\n ...adapterProps\n}: AdapterProps & {\n children: ReactNode\n}): ReactElement {\n return createElement(Provider, {\n ...adapterProps,\n children: [\n createElement(Suspense, {\n key: 'nuqs-adapter-suspense-navspy',\n children: createElement(NavigationSpy)\n }),\n children\n ]\n })\n}\n","'use client';\n\nimport { TooltipProvider } from '@radix-ui/react-tooltip';\nimport Link from 'next/link';\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation';\nimport { ThemeProvider, useTheme } from 'next-themes';\nimport { useEffect, useRef } from 'react';\nimport { ConnectionStatus } from '@/components/display-utils/connection-status';\nimport { SettingsDropdown } from '@/components/settings-dropdown';\nimport { Toaster } from '@/components/ui/sonner';\nimport { buildUrlWithConfig, useQueryParamConfig } from '@/lib/config';\nimport { Logo } from '../icons/logo';\n\ninterface LayoutClientProps {\n children: React.ReactNode;\n}\n\nfunction LayoutContent({ children }: LayoutClientProps) {\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const config = useQueryParamConfig();\n const { setTheme } = useTheme();\n\n const id = searchParams.get('id');\n const runId = searchParams.get('runId');\n const stepId = searchParams.get('stepId');\n const hookId = searchParams.get('hookId');\n const resource = searchParams.get('resource');\n const themeParam = searchParams.get('theme');\n\n // Track if we've already handled the initial navigation\n const hasNavigatedRef = useRef(false);\n\n // Sync theme from URL param to next-themes (one-time or when explicitly changed)\n useEffect(() => {\n if (\n themeParam &&\n (themeParam === 'light' ||\n themeParam === 'dark' ||\n themeParam === 'system')\n ) {\n setTheme(themeParam);\n }\n }, [themeParam, setTheme]);\n\n // If initialized with a resource/id or direct ID params, we navigate to the appropriate page\n // Only run this logic once on mount or when we're on the root path with special params\n useEffect(() => {\n // Skip if we're not on the root path and we've already navigated\n if (pathname !== '/' && hasNavigatedRef.current) {\n return;\n }\n\n // Skip if we're already on a run page (prevents interference with back navigation)\n if (pathname.startsWith('/run/')) {\n hasNavigatedRef.current = true;\n return;\n }\n\n // Handle direct ID parameters (runId, stepId, hookId) without resource\n if (!resource) {\n if (runId) {\n // If we have a runId, open that run's detail view\n let targetUrl: string;\n if (stepId) {\n // Open run with step sidebar\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'step',\n stepId,\n });\n } else if (hookId) {\n // Open run with hook sidebar\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'hook',\n hookId,\n });\n } else {\n // Just open the run\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config);\n }\n hasNavigatedRef.current = true;\n router.push(targetUrl);\n return;\n }\n // No resource and no direct params, nothing to do\n return;\n }\n\n // Handle resource-based navigation\n if (!id) {\n return;\n }\n\n let targetUrl: string;\n if (resource === 'run') {\n targetUrl = buildUrlWithConfig(`/run/${id}`, config);\n } else if (resource === 'step' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'step',\n stepId: id,\n });\n } else if (resource === 'stream' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'stream',\n streamId: id,\n });\n } else if (resource === 'event' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'event',\n eventId: id,\n });\n } else if (resource === 'hook' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'hook',\n hookId: id,\n });\n } else if (resource === 'hook' && !runId) {\n // Hook without runId - go to home page with hook sidebar\n targetUrl = buildUrlWithConfig('/', config, {\n sidebar: 'hook',\n hookId: id,\n });\n } else {\n console.warn(`Can't deep-link to ${resource} ${id}.`);\n return;\n }\n\n hasNavigatedRef.current = true;\n router.push(targetUrl);\n }, [resource, id, runId, stepId, hookId, router, config, pathname]);\n\n return (\n <div className=\"min-h-screen flex flex-col\">\n <TooltipProvider delayDuration={0}>\n {/* Sticky Header */}\n <div className=\"sticky top-0 z-50 bg-background border-b px-6 py-4\">\n <div className=\"flex items-center justify-between w-full\">\n <Link href={buildUrlWithConfig('/', config)}>\n <h1\n className=\"flex items-center gap-2\"\n title=\"Workflow Observability\"\n >\n <Logo />\n </h1>\n </Link>\n <div className=\"ml-auto flex items-center gap-2\">\n <ConnectionStatus config={config} />\n <SettingsDropdown />\n </div>\n </div>\n </div>\n\n {/* Scrollable Content */}\n <div className=\"flex-1 px-6 pt-6\">{children}</div>\n </TooltipProvider>\n <Toaster />\n </div>\n );\n}\n\nexport function LayoutClient({ children }: LayoutClientProps) {\n return (\n <ThemeProvider\n attribute=\"class\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n storageKey=\"workflow-theme\"\n >\n <LayoutContent>{children}</LayoutContent>\n </ThemeProvider>\n );\n}\n","'use client';\n\nimport { InfoIcon } from 'lucide-react';\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from '@/components/ui/tooltip';\nimport type { WorldConfig } from '@/lib/config-world';\n\ninterface ConnectionStatusProps {\n config: WorldConfig;\n}\n\nconst getConnectionInfo = (\n backend: string,\n config: WorldConfig\n): { provider: string; parts: string[] } => {\n if (backend === 'vercel') {\n const parts: string[] = [];\n if (config.env) parts.push(`env: ${config.env}`);\n if (config.project) parts.push(`project: ${config.project}`);\n if (config.team) parts.push(`team: ${config.team}`);\n\n return { provider: 'Vercel', parts };\n }\n\n if (backend === 'local') {\n // Local backend\n const parts: string[] = [];\n if (config.dataDir) {\n parts.push(`dir: ${config.dataDir}`);\n }\n if (config.port) parts.push(`port: ${config.port}`);\n\n return { provider: 'Local', parts };\n }\n\n return { provider: config.backend || 'unknown', parts: [] };\n};\n\nexport function ConnectionStatus({ config }: ConnectionStatusProps) {\n const backend = config.backend || 'local';\n const { provider, parts } = getConnectionInfo(backend, config);\n\n return (\n <div className=\"text-sm text-muted-foreground flex items-center gap-2\">\n <span className=\"font-medium\">Connected to: {provider}</span>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"w-4 h-4\" />\n </TooltipTrigger>\n <TooltipContent>\n <div className=\"flex flex-col gap-1\">\n {parts.map((part) => (\n <span key={part}>{part}</span>\n ))}\n </div>\n </TooltipContent>\n </Tooltip>\n </div>\n );\n}\n","'use client';\n\nimport type * as React from 'react';\nimport { cn } from '@/lib/utils';\n\ninterface SegmentedControlProps {\n value: string;\n onValueChange: (value: string) => void;\n options: Array<{ value: string; icon: React.ReactNode; label?: string }>;\n className?: string;\n}\n\nexport function SegmentedControl({\n value,\n onValueChange,\n options,\n className,\n}: SegmentedControlProps) {\n return (\n <div\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground',\n className\n )}\n >\n {options.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n onClick={() => onValueChange(option.value)}\n className={cn(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n value === option.value\n ? 'bg-background text-foreground shadow'\n : 'hover:bg-background/50'\n )}\n >\n {option.icon}\n {option.label && <span className=\"ml-2\">{option.label}</span>}\n </button>\n ))}\n </div>\n );\n}\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst labelVariants = cva(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","/* __next_internal_action_entry_do_not_use__ [{\"4092d8711f2d282bbab98f4435fd260f49c4d5106a\":\"validateWorldConfig\"},\"packages/web/src/lib/config-world.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";export var validateWorldConfig=/*#__PURE__*/createServerReference(\"4092d8711f2d282bbab98f4435fd260f49c4d5106a\",callServer,void 0,findSourceMapURL,\"validateWorldConfig\");","/* __next_internal_action_entry_do_not_use__ [{\"00d3f19c68ddef480c9481b99f05ac7baa954b04d9\":\"checkWorldsAvailability\"},\"packages/web/src/lib/config-world.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";export var checkWorldsAvailability=/*#__PURE__*/createServerReference(\"00d3f19c68ddef480c9481b99f05ac7baa954b04d9\",callServer,void 0,findSourceMapURL,\"checkWorldsAvailability\");","\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","'use client';\n\nimport useSWR from 'swr';\nimport { checkWorldsAvailability } from './config-world';\n\nexport function useWorldsAvailability() {\n return useSWR('worlds-availability', checkWorldsAvailability, {\n revalidateOnFocus: false,\n });\n}\n","/** biome-ignore-all lint/correctness/useUniqueElementIds: <not relevant> */\n'use client';\n\nimport { AlertCircle, AlertTriangle, Settings, X } from 'lucide-react';\nimport { useEffect, useState } from 'react';\nimport { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/components/ui/select';\nimport { useQueryParamConfig, useUpdateConfigQueryParams } from '@/lib/config';\nimport {\n type ValidationError,\n validateWorldConfig,\n type WorldConfig,\n} from '@/lib/config-world';\nimport { useWorldsAvailability } from '@/lib/hooks';\n\ninterface SettingsSidebarProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\nexport function SettingsSidebar({\n open: controlledOpen,\n onOpenChange,\n}: SettingsSidebarProps = {}) {\n const config = useQueryParamConfig();\n const updateConfig = useUpdateConfigQueryParams();\n\n const [internalOpen, setInternalOpen] = useState(false);\n const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen;\n const setIsOpen = onOpenChange || setInternalOpen;\n const [localConfig, setLocalConfig] = useState<WorldConfig>(config);\n const [errors, setErrors] = useState<ValidationError[]>([]);\n const [isValidating, setIsValidating] = useState(false);\n\n const { data: worldsAvailability = [], isLoading: isLoadingWorlds } =\n useWorldsAvailability();\n\n const backend = localConfig.backend || 'local';\n const isLocal = backend === 'local';\n const isPostgres = backend === 'postgres';\n\n // Update local config when query params change\n useEffect(() => {\n setLocalConfig(config);\n }, [config]);\n\n const handleValidateAndApply = async () => {\n setIsValidating(true);\n try {\n const validationErrors = await validateWorldConfig(localConfig);\n setErrors(validationErrors);\n\n if (validationErrors.length === 0) {\n updateConfig(localConfig);\n setIsOpen(false);\n }\n } catch (error) {\n console.error('Validation error:', error);\n setErrors([\n {\n field: 'general',\n message: error instanceof Error ? error.message : 'Unknown error',\n },\n ]);\n } finally {\n setIsValidating(false);\n }\n };\n\n const handleInputChange = (field: keyof WorldConfig, value: string) => {\n setLocalConfig((prev) => ({ ...prev, [field]: value }));\n // Clear errors for this field when user types\n setErrors((prev) => prev.filter((e) => e.field !== field));\n };\n\n const getFieldError = (field: string) => {\n return errors.find((e) => e.field === field)?.message;\n };\n\n const hasChanges =\n JSON.stringify(localConfig) !== JSON.stringify(config) || errors.length > 0;\n\n return (\n <>\n {controlledOpen === undefined && (\n <button\n type=\"button\"\n onClick={() => setIsOpen(true)}\n className=\"p-2 rounded-full hover:bg-accent transition-colors\"\n title=\"Configuration\"\n >\n <Settings className=\"h-6 w-6\" />\n </button>\n )}\n {isOpen && (\n <>\n {/* Backdrop */}\n <button\n type=\"button\"\n className=\"fixed inset-0 bg-black/50 z-40 cursor-default\"\n onClick={() => setIsOpen(false)}\n aria-label=\"Close configuration panel\"\n />\n\n {/* Panel */}\n <div className=\"fixed top-0 right-0 h-full w-96 bg-background border-l shadow-lg z-50 overflow-y-auto\">\n <div className=\"p-6\">\n <div className=\"flex items-center justify-between mb-6\">\n <h2 className=\"text-2xl font-bold\">Configuration</h2>\n <Button\n type=\"button\"\n onClick={() => setIsOpen(false)}\n variant=\"outline\"\n size=\"icon\"\n >\n <X className=\"h-5 w-5\" />\n </Button>\n </div>\n\n <div className=\"space-y-4\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"backend\">Backend</Label>\n <Select\n value={localConfig.backend || 'local'}\n onValueChange={(value) =>\n handleInputChange('backend', value)\n }\n >\n <SelectTrigger id=\"backend\">\n <SelectValue placeholder=\"Select backend\" />\n </SelectTrigger>\n <SelectContent>\n {isLoadingWorlds ? (\n <SelectItem value=\"loading\" disabled>\n Loading worlds...\n </SelectItem>\n ) : worldsAvailability.length > 0 ? (\n worldsAvailability.map((world) => (\n <SelectItem key={world.id} value={world.id}>\n {world.displayName}\n </SelectItem>\n ))\n ) : (\n <>\n <SelectItem value=\"local\">Local</SelectItem>\n <SelectItem value=\"vercel\">Vercel</SelectItem>\n <SelectItem value=\"postgres\">PostgreSQL</SelectItem>\n </>\n )}\n </SelectContent>\n </Select>\n {/* Show warning if selected world is not installed */}\n {(() => {\n const selectedWorld = worldsAvailability.find(\n (w) => w.id === backend\n );\n if (selectedWorld && !selectedWorld.isInstalled) {\n return (\n <div className=\"flex items-start gap-2 p-2 rounded-md bg-amber-500/10 border border-amber-500/20 text-amber-600 dark:text-amber-400\">\n <AlertTriangle className=\"h-4 w-4 mt-0.5 shrink-0\" />\n <div className=\"text-xs\">\n <p className=\"font-medium\">Package not installed</p>\n <p className=\"mt-1 text-muted-foreground\">\n Run:{' '}\n <code className=\"bg-muted px-1 py-0.5 rounded\">\n {selectedWorld.installCommand}\n </code>\n </p>\n </div>\n </div>\n );\n }\n return null;\n })()}\n </div>\n\n {isLocal && (\n <>\n <div className=\"space-y-2\">\n <Label htmlFor=\"port\">Port</Label>\n <Input\n id=\"port\"\n value={localConfig.port || ''}\n onChange={(e) =>\n handleInputChange('port', e.target.value)\n }\n placeholder=\"3001\"\n className={\n getFieldError('port') ? 'border-destructive' : ''\n }\n />\n {getFieldError('port') && (\n <p className=\"text-sm text-destructive break-words\">\n {getFieldError('port')}\n </p>\n )}\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"dataDir\">Data Directory</Label>\n <Input\n id=\"dataDir\"\n value={localConfig.dataDir || ''}\n onChange={(e) =>\n handleInputChange('dataDir', e.target.value)\n }\n placeholder=\".workflow-data or .next/workflow-data\"\n className={\n getFieldError('dataDir') ? 'border-destructive' : ''\n }\n />\n <p className=\"text-xs text-muted-foreground\">\n Path to the workflow data directory. Can be relative or\n absolute.\n </p>\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"manifestPath\">Manifest Path</Label>\n <Input\n id=\"manifestPath\"\n value={localConfig.manifestPath || ''}\n onChange={(e) =>\n handleInputChange('manifestPath', e.target.value)\n }\n placeholder=\"app/.well-known/workflow/v1/manifest.json\"\n className={\n getFieldError('manifestPath')\n ? 'border-destructive'\n : ''\n }\n />\n {getFieldError('manifestPath') && (\n <p className=\"text-sm text-destructive break-words\">\n {getFieldError('manifestPath')}\n </p>\n )}\n <p className=\"text-xs text-muted-foreground\">\n Path to the workflow manifest file. Leave empty to use\n default locations.\n </p>\n </div>\n </>\n )}\n\n {isPostgres && (\n <>\n <div className=\"space-y-2\">\n <Label htmlFor=\"postgresUrl\">Connection URL</Label>\n <Input\n id=\"postgresUrl\"\n value={localConfig.postgresUrl || ''}\n onChange={(e) =>\n handleInputChange('postgresUrl', e.target.value)\n }\n placeholder=\"postgres://user:pass@host:5432/db\"\n className={\n getFieldError('postgresUrl')\n ? 'border-destructive'\n : ''\n }\n />\n {getFieldError('postgresUrl') && (\n <p className=\"text-sm text-destructive\">\n {getFieldError('postgresUrl')}\n </p>\n )}\n </div>\n </>\n )}\n\n {!isLocal && !isPostgres && (\n <>\n <div className=\"space-y-2\">\n <Label htmlFor=\"env\">Environment</Label>\n <Input\n id=\"env\"\n value={localConfig.env || 'production'}\n onChange={(e) =>\n handleInputChange('env', e.target.value)\n }\n placeholder=\"production or preview\"\n />\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"authToken\">Auth Token</Label>\n <Input\n id=\"authToken\"\n type=\"password\"\n value={localConfig.authToken || ''}\n onChange={(e) =>\n handleInputChange('authToken', e.target.value)\n }\n placeholder=\"Vercel auth token\"\n />\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"project\">Project ID</Label>\n <Input\n id=\"project\"\n value={localConfig.project || ''}\n onChange={(e) =>\n handleInputChange('project', e.target.value)\n }\n placeholder=\"prj_...\"\n />\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"team\">Team ID</Label>\n <Input\n id=\"team\"\n value={localConfig.team || ''}\n onChange={(e) =>\n handleInputChange('team', e.target.value)\n }\n placeholder=\"team_...\"\n />\n </div>\n </>\n )}\n\n {errors.length > 0 && (\n <Alert\n variant=\"destructive\"\n className=\"!bg-destructive/10 !border-destructive\"\n >\n <AlertCircle className=\"h-4 w-4\" />\n <AlertTitle>Configuration Error</AlertTitle>\n <AlertDescription>\n <ul className=\"list-disc list-inside space-y-1\">\n {errors.map((error, idx) => (\n <li key={`error-${idx}`} className=\"break-words\">\n {error.field !== 'general' && (\n <strong>{error.field}:</strong>\n )}{' '}\n {error.message}\n </li>\n ))}\n </ul>\n </AlertDescription>\n </Alert>\n )}\n <div className=\"flex flex-col gap-2 pt-4\">\n <Button\n onClick={handleValidateAndApply}\n disabled={\n isValidating ||\n !hasChanges ||\n worldsAvailability.some(\n (w) => w.id === backend && !w.isInstalled\n )\n }\n className=\"w-full\"\n >\n {isValidating ? 'Validating...' : 'Apply Configuration'}\n </Button>\n <Button\n variant=\"outline\"\n onClick={() => {\n setLocalConfig(config);\n setErrors([]);\n setIsOpen(false);\n }}\n className=\"w-full\"\n >\n Cancel\n </Button>\n </div>\n </div>\n </div>\n </div>\n </>\n )}\n </>\n );\n}\n","'use client';\n\nimport { ExternalLink, Monitor, Moon, Settings, Sun } from 'lucide-react';\nimport { useTheme } from 'next-themes';\nimport { useState } from 'react';\nimport { Button } from '@/components/ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { SegmentedControl } from '@/components/ui/segmented-control';\nimport { SettingsSidebar } from './settings-sidebar';\n\n// Controlled version that doesn't show the trigger button\nfunction SettingsSidebarDialog({\n open,\n onOpenChange,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}) {\n return <SettingsSidebar open={open} onOpenChange={onOpenChange} />;\n}\n\nexport function SettingsDropdown() {\n const [settingsOpen, setSettingsOpen] = useState(false);\n const { theme, setTheme } = useTheme();\n const currentTheme = theme || 'system';\n\n return (\n <>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\">\n <Settings className=\"h-[1.2rem] w-[1.2rem]\" />\n <span className=\"sr-only\">Settings</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-56\">\n <div className=\"px-2 py-1.5 flex items-center gap-3\">\n <DropdownMenuLabel className=\"px-0 mb-0\">Theme</DropdownMenuLabel>\n <SegmentedControl\n value={currentTheme}\n onValueChange={setTheme}\n options={[\n {\n value: 'system',\n icon: <Monitor className=\"h-4 w-4\" />,\n },\n {\n value: 'light',\n icon: <Sun className=\"h-4 w-4\" />,\n },\n {\n value: 'dark',\n icon: <Moon className=\"h-4 w-4\" />,\n },\n ]}\n />\n </div>\n <DropdownMenuSeparator />\n <DropdownMenuItem onSelect={() => setSettingsOpen(true)}>\n <span>Configuration</span>\n <Settings className=\"ml-auto h-4 w-4\" />\n </DropdownMenuItem>\n <DropdownMenuItem asChild>\n <a\n href=\"https://useworkflow.dev/docs/getting-started\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span>Docs</span>\n <ExternalLink className=\"ml-auto h-4 w-4\" />\n </a>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n <SettingsSidebarDialog\n open={settingsOpen}\n onOpenChange={setSettingsOpen}\n />\n </>\n );\n}\n","'use client';\n\nimport { useTheme } from 'next-themes';\nimport { Toaster as Sonner, type ToasterProps } from 'sonner';\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton:\n 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton:\n 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n error:\n 'group-[.toaster]:bg-destructive group-[.toaster]:text-destructive-foreground group-[.toaster]:border-destructive',\n success:\n 'group-[.toaster]:bg-green-600 group-[.toaster]:text-white group-[.toaster]:border-green-600',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n","interface LogoProps {\n className?: string;\n}\n\nexport function Logo({ className }: LogoProps = {}) {\n return (\n <svg\n viewBox=\"0 0 1792 240\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className || 'h-6 w-auto'}\n role=\"img\"\n aria-label=\"Workflow Logo\"\n >\n <title>Workflow Logo</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M753.933 55.627C806.249 55.627 840.685 91.718 840.685 147.345C840.685 202.971 806.249 239.062 753.933 239.062C701.286 239.062 666.851 202.971 666.851 147.345C666.851 91.7181 701.286 55.6271 753.933 55.627ZM753.933 90.0625C726.451 90.0626 710.889 111.254 710.889 147.345C710.889 183.436 726.451 204.627 753.933 204.627C781.084 204.627 796.978 183.436 796.978 147.345C796.978 111.254 781.084 90.0625 753.933 90.0625Z\"\n className=\"fill-foreground\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1445.65 55.627C1497.96 55.627 1532.4 91.718 1532.4 147.345C1532.4 202.971 1497.96 239.062 1445.65 239.062C1393 239.062 1358.56 202.971 1358.56 147.345C1358.56 91.718 1393 55.627 1445.65 55.627ZM1445.65 90.0625C1418.16 90.0625 1402.6 111.254 1402.6 147.345C1402.6 183.436 1418.16 204.627 1445.65 204.627C1472.8 204.627 1488.69 183.436 1488.69 147.345C1488.69 111.254 1472.8 90.0626 1445.65 90.0625Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M902.473 94.0361C909.095 70.8584 922.34 59.5997 944.855 59.5996H961.079V92.3799H944.524C916.38 92.38 904.128 106.949 904.128 135.094V235.089H861.746V59.5996H901.48L902.473 94.0361Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1019.25 138.735L1091.11 59.5996H1143.09L1074.55 132.113L1146.4 235.089H1098.72L1046.74 157.609L1019.25 187.078V235.089H976.872V0H1019.25V138.735Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1263.63 32.7803H1235.82C1224.89 32.7803 1217.28 41.3893 1217.28 54.9648V59.5996H1260.98V92.3799H1217.28V235.089H1174.56V92.3799H1149.4V59.5996H1174.56V54.9648C1174.56 19.5359 1191.78 0 1230.85 0H1263.63V32.7803Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1322.58 189.396C1322.58 197.673 1327.22 202.309 1335.5 202.31H1348.74V235.089H1324.57C1298.08 235.089 1280.2 218.534 1280.2 191.052V0H1322.58V189.396Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1604.59 186.416L1641.02 59.5996H1677.77L1713.86 186.416L1749.95 59.5996H1791.34L1737.7 235.089H1694.32L1659.56 116.883L1624.79 235.089H1581.42L1527.77 59.5996H1568.83L1604.59 186.416Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M472.173 174.847L514.895 0.671875H554.66L598.038 174.847L640.432 0.671875H685.454L623.015 234H575.692L534.942 77.5713L493.863 234H446.869L384.1 0.671875H429.122L472.173 174.847Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M125.776 0C120.929 1.64945e-05 117 3.9291 117 8.77539V61.4248C117 66.2711 120.929 70.2002 125.776 70.2002H160.875L161.253 70.2051C169.032 70.4023 175.301 76.6734 175.495 84.4531L175.5 84.8252V143.325C175.5 148.171 179.429 152.101 184.276 152.101H219.375L219.753 152.105C227.53 152.303 233.798 158.571 233.995 166.348L234 166.726V225.225C234 230.071 237.929 234 242.776 234H295.425C300.271 234 304.2 230.071 304.2 225.225V172.575C304.2 167.729 300.271 163.8 295.425 163.8H260.25C252.334 163.76 245.905 157.43 245.705 149.553L245.7 149.176V90.6758C245.7 85.8295 241.771 81.9004 236.925 81.9004H201.825C193.874 81.9004 187.405 75.5551 187.205 67.6523L187.2 67.2754V8.77539C187.2 3.9291 183.271 1.64951e-05 178.425 0H125.776Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M67.2755 81.9004C62.4293 81.9004 58.5002 85.8295 58.5002 90.6758V143.325C58.5004 148.171 62.4294 152.101 67.2755 152.101H102.375L102.753 152.105C110.53 152.303 116.798 158.571 116.995 166.348L117 166.726V225.225C117 230.071 120.929 234 125.776 234H178.425C183.271 234 187.2 230.071 187.2 225.225V172.575C187.2 167.729 183.271 163.8 178.425 163.8H143.25C135.334 163.76 128.905 157.43 128.705 149.553L128.7 149.176V90.6758C128.7 85.8295 124.771 81.9004 119.925 81.9004H67.2755Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M8.77454 163.8C3.92844 163.8 0.00012207 167.729 0.00012207 172.575V225.225C0.00012207 230.071 3.92844 234 8.77454 234H61.4249C66.2712 234 70.2003 230.071 70.2003 225.225V172.575C70.2003 167.729 66.2712 163.8 61.4249 163.8H8.77454Z\"\n className=\"fill-foreground\"\n />\n </svg>\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/triangle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst TriangleAlert = createLucideIcon('TriangleAlert', [\n [\n 'path',\n {\n d: 'm21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3',\n key: 'wmoenq',\n },\n ],\n ['path', { d: 'M12 9v4', key: 'juzpu7' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n]);\n\nexport default TriangleAlert;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Info = createLucideIcon('Info', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 16v-4', key: '1dtifu' }],\n ['path', { d: 'M12 8h.01', key: 'e9boi3' }],\n]);\n\nexport default Info;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Monitor = createLucideIcon('Monitor', [\n ['rect', { width: '20', height: '14', x: '2', y: '3', rx: '2', key: '48i651' }],\n ['line', { x1: '8', x2: '16', y1: '21', y2: '21', key: '1svkeh' }],\n ['line', { x1: '12', x2: '12', y1: '17', y2: '21', key: 'vw1qmm' }],\n]);\n\nexport default Monitor;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Sun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/sun\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sun = createLucideIcon('Sun', [\n ['circle', { cx: '12', cy: '12', r: '4', key: '4exip2' }],\n ['path', { d: 'M12 2v2', key: 'tus03m' }],\n ['path', { d: 'M12 20v2', key: '1lh1kg' }],\n ['path', { d: 'm4.93 4.93 1.41 1.41', key: '149t6j' }],\n ['path', { d: 'm17.66 17.66 1.41 1.41', key: 'ptbguv' }],\n ['path', { d: 'M2 12h2', key: '1t8f8n' }],\n ['path', { d: 'M20 12h2', key: '1q8mjw' }],\n ['path', { d: 'm6.34 17.66-1.41 1.41', key: '1m8zz5' }],\n ['path', { d: 'm19.07 4.93-1.41 1.41', key: '1shlcs' }],\n]);\n\nexport default Sun;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Settings\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/settings\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Settings = createLucideIcon('Settings', [\n [\n 'path',\n {\n d: 'M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z',\n key: '1qme2f',\n },\n ],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n]);\n\nexport default Settings;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('ExternalLink', [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n]);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Moon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/moon\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Moon = createLucideIcon('Moon', [\n ['path', { d: 'M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z', key: 'a7tn18' }],\n]);\n\nexport default Moon;\n","import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Label\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Label';\n\ntype LabelElement = React.ComponentRef<typeof Primitive.label>;\ntype PrimitiveLabelProps = React.ComponentPropsWithoutRef<typeof Primitive.label>;\ninterface LabelProps extends PrimitiveLabelProps {}\n\nconst Label = React.forwardRef<LabelElement, LabelProps>((props, forwardedRef) => {\n return (\n <Primitive.label\n {...props}\n ref={forwardedRef}\n onMouseDown={(event) => {\n // only prevent text selection if clicking inside the label itself\n const target = event.target as HTMLElement;\n if (target.closest('button, input, select, textarea')) return;\n\n props.onMouseDown?.(event);\n // prevent text selection when double clicking label\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }}\n />\n );\n});\n\nLabel.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Label;\n\nexport {\n Label,\n //\n Root,\n};\nexport type { LabelProps };\n"],"names":[],"mappings":"6FAoBQ,8BACa,QAAA,OACqB,KAAA,GAC5B,OAAA,CAAQ,AAAR,GGDgC,AHCjB,EAAA,CAAA,CAAmB,eAAA,CAAgB,GCgB5D,CAAA,CDhBiE,IAAI,CAAC,mCEXtE,EAAQ,iBAGF,EFLkC,aESnC,MAEP,GAAa,GAAG,GACN,EAOR,eAAe,IAuBnB,SAAgB,IAMd,4BAJE,CDqBA,QC1CK,KAqBS,MDtBiB,CCE7B,CAAC,AAAmB,EFdO,SCaR,ACCY,CACjC,YDDA,OADS,AACF,UAGP,QAAA,IAAA,EAAc,SACW,SAAA,CAAzB,QAAA,IAAA,CAAa,OAAA,UAEL,KAAA,CAAA,CAAA,EACN,EAAA,CAAA,EAAM,IAAI,CACV,CCbyB,ODajB,IAAA,CAAK,OAAA,CACb,CAAA,KAAA,CAAA,CAAA,IAGK,KAEL,QAAQ,GAJR,CAIQ,EAAM,KCfI,ADYnB,KAGyB,SAAS,ICbnC,IDa2C,CAC3C,CAAA,CCZF,IAAM,EAAuB,ADYpB,QCZ4B,YAAA,CAC/B,EAAoB,QAAQ,SAAA,+BACF,AAAkB,CAAA,CAAO,CAAA,CAAO,CAAA,EAAK,WAE5D,EAAqB,IAAA,CAAK,QAAS,EAAO,EAAO,IAAI,kBAE1C,SAAS,AAAe,CAAA,CAAO,CAAA,CAAO,CAAA,CDiBvB,CCfjC,AAF6D,OAC7D,IACA,EAAyB,IAAA,CAAK,QAAS,EAAO,CADxB,CAC+B,IAAI,ADU3D,QAAA,IAAQ,CAAO,QAAQ,IAAA,EAAQ,SAEpB,aCjBa,IDkBZ,EAAE,EAEd,QAAQ,IAAA,CAAK,QAAA,CAAS,IAAA,CCbD,ADaM,eCLzB,OAAO,gBAAA,CAAiB,WAAY,GACpC,EDqBwC,ECrB3B,IADkC,GAC3B,mBAAA,CAAoB,WAAY,IACnD,EAAE,CAAC,CACC,GAF0D,EC/CnE,EFsEiB,EEtEX,EAAA,CAAA,EAAW,EAAA,CAAA,EDoDjB,ACpDuC,SDoDvB,EACd,IAAM,EAAA,CAAA,EAAS,ED0BQ,KAAA,CE/E0C,GF+E1C,ICxBjB,CAAC,EAAwB,EAAA,CAAA,CAAA,EAC7B,EAAA,aAAA,EAFmB,CAAA,EAAA,EAAA,eAAA,EAAiB,CAEQ,EAiC9C,MAAO,cACS,eAjCqB,EAAA,WAAA,EAAA,CAAa,EAAQ,YAAY,oBAE9D,AAAC,EAAQ,OAAA,CACX,CAAA,EAA0B,GAE5B,IAFmC,AAE7B,EAAM,AAmClB,SAAS,AAAU,CAAA,EACjB,GAAM,CAAE,QAAA,UAAQ,CAAA,MAAU,CAAA,CAAA,CAAS,SACnC,OAAO,EAAS,EAAA,CAAA,EAAW,EAAA,CAAA,EAAkB,GAAU,GArC7B,CAqC0B,EApChD,CAAA,EAAA,CAD6B,CAC7B,CAAA,EAAM,mCAAoC,GAG1C,CAH8C,GAGxC,EACgB,SAApB,EAAQ,OAAA,CAAqB,QAAQ,SAAA,CAAY,QAAQ,YAAA,OAE9C,GADL,CACK,CACX,QAGA,KACA,GACA,GAEE,CADH,CACW,MAAA,EACV,OAAO,QAAA,CAAS,EAAG,GAEjB,AAAC,EAAQ,OAAA,EAAA,EAGJ,OAAA,CAAA,EAAa,CAClB,CDWyC,OCXjC,CAAA,CACT,CAAC,IAGL,EAAE,CAAC,CAIJ,gBA3FiC,CA2FhB,CACjB,wBAAwB,KC3F5B,SAAA,EAA4B,UAC1B,CAAA,CACA,CFeiC,EEf9B,EAAA,EAGY,AACf,MAAO,CAAA,EAAA,EAAA,aAAA,EAAc,EAAU,CAC7B,GAAG,CAAA,CACH,SAAU,IACR,EAAA,aAAA,EAAc,EAAA,QAAA,CAAU,CACtB,IAAK,+BACL,SAAA,CAAA,EAAU,EAAA,aAAA,EAAc,CHAiB,IGE3C,EACD,gFCvBL,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QOJa,EAAA,EAAA,CAAA,CAAA,QAA4B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC,MAAuL,CAAC,CAAtL,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,EAAM,UAAJ,EAAY,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAD,CAAG,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAA,CAAE,CAAE,EAAE,YAAY,CAAC,EAAE,EAAE,IAAG,CAAE,EAAiB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAD,CAAG,KAAK,CAAC,WAAW,EAAC,CAAC,AAAvD,CAAsJ,GAAG,EAAE,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAE,aAAa,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,AAAI,WAAS,EAA/I,OAAO,UAAU,CAAC,gCAAgC,OAAO,CAAC,OAAO,QAAkF,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAM,EAAE,CAAC,QAAQ,OAAO,CAAC,EAAE,+BAA4D,CAA7B,CAA+B,EAAA,CAA7B,YAA4C,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAjE,CAAmE,EAAE,KAAK,IAAI,EAAE,OAAM,AAAqB,OAApB,EAAE,EAAA,UAAY,CAAC,EAAA,CAAE,CAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,EAAA,UAAY,CAAC,GAAG,EAAA,aAAe,CAAC,EAAA,QAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAA,aAAe,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,SAAS,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,EAAA,QAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAA,QAAU,CAAC,IAAQ,WAAJ,EAAa,IAAI,GAAG,EAAE,EAAE,OAAO,MAAM,CAAC,GAAG,EAAE,EAAE,EAAA,WAAa,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,OAAW,WAAJ,GAAc,IAAI,CAAD,CAAG,GAAA,CAAG,CAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,eAAe,CAAC,EAAE,IAAI,AAAI,UAAQ,GAAC,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAA,CAAE,CAAE,EAAE,UAAU,CAAC,WAAW,CAAD,CAAG,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAA,CAAE,AAAC,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAI,MAAH,GAAS,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAA,WAAa,CAAC,IAAI,IAAI,EAAY,YAAV,OAAO,EAAc,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,aAAa,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAA,WAAa,CAAC,IAAe,EAAL,AAAO,EAAL,IAAY,WAAJ,GAAc,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAA,SAAW,CAAC,KAAK,IAAI,EAAE,OAAO,UAAU,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAA,SAAW,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAD,CAAG,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAA,CAAE,AAAC,EAAE,OAAO,OAAO,gBAAgB,CAAC,UAAU,GAAG,IAAI,OAAO,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,EAAA,SAAW,CAAC,KAAK,EAAK,MAAH,EAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAA,OAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,cAAkB,WAAJ,EAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAC,CAAC,CAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAA,aAAe,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAA,aAAe,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAA,IAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,EAAA,aAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,yBAAyB,CAAC,EAAE,MAAiC,CAA3B,CAAgC,EAAH,sBAA2B,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAkF,EAAE,EAAE,IAAI,IAAI,EAAE,SAAS,aAAa,CAAC,SAAS,OAAO,GAAG,EAAE,YAAY,CAAC,QAAQ,GAAG,EAAE,WAAW,CAAC,SAAS,cAAc,CAAC,gLAAgL,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,OAAO,gBAAgB,CAAC,SAAS,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAG,AAAC,GAAI,EAAD,CAAG,OAAO,UAAU,CAAC,EAAA,CAAE,CAAE,EAAE,OAAO,CAAC,OAAO,OAAA,CAAO,mCQattG,OAAA,mCACc,IAAK,CKAK,AHAN,AFAC,wFdXjD,IAAA,EAAA,EAAA,CAAA,CAAA,QAsCO,SAAS,EAAiB,CAAE,QAAM,CAAyB,EAEhE,GAAM,CAAE,UAAQ,OAAE,CAAK,CAAE,CAAG,CA7BJ,CACxB,EACA,KAEA,GAAgB,MAyB8B,KAzB1C,EAAsB,CACxB,IAAM,EAAkB,EAAE,CAK1B,OAJI,EAAO,GAAG,EAAE,EAAM,IAAI,CAAC,CAAC,KAAK,EAAE,EAAO,GAAG,CAAA,CAAE,EAC3C,EAAO,OAAO,EAAE,EAAM,IAAI,CAAC,CAAC,SAAS,EAAE,EAAO,OAAO,CAAA,CAAE,EACvD,EAAO,IAAI,EAAE,EAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAO,IAAI,CAAA,CAAE,EAE3C,CAAE,SAAU,eAAU,CAAM,CACrC,CAEA,GAAI,AAAY,YAAS,CAEvB,IAAM,EAAkB,EAAE,CAM1B,OALI,EAAO,OAAO,EAAE,AAClB,EAAM,IAAI,CAAC,CAAC,KAAK,EAAE,EAAO,OAAO,CAAA,CAAE,EAEjC,EAAO,IAAI,EAAE,EAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAO,IAAI,CAAA,CAAE,EAE3C,CAAE,SAAU,cAAS,CAAM,CACpC,CAEA,MAAO,CAAE,SAAU,EAAO,OAAO,EAAI,UAAW,MAAO,EAAE,AAAC,EAC5D,EAGkB,EAAO,OAAO,EAAI,QACqB,GAEvD,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,kEACb,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,wBAAc,iBAAe,KAC7C,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,OAAO,CAAA,WACN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,cAAc,CAAA,CAAC,OAAO,CAAA,CAAA,WACrB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,cAEtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,cAAc,CAAA,UACb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,+BACZ,EAAM,GAAG,CAAC,AAAC,GACV,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UAAiB,GAAP,aAOzB,oCkBjDsD,CAAA,ALAE,2BKCtB,UAAU,CCAU,AJAX,AGAC,AFAI,CFAC,ACAN,AIAW,AHAN,sCECF,CAAA,AHAA,AGC5C,CHD4C,CAAM,OGCvC,EAAA,2DAA+D,CAAA,CAAA,CAAA,CAAK,AAAL,QAAK,CAAU,CAAA,mBHH1D,UAAA,iCACO,CIAc,AHAhB,AFAA,ACAK,CCAL,ADAK,ADAL,AKAgB,iBJAW,CAAA,CAAA,EAAA,UAAe,CAAA,wCAC5B,CAAA,CAAA,CAAA,CAAK,AAAL,QAAK,CAAU,CAAA,CAAA,iBAC5C,CGAqD,AFAhD,AFAC,ACAN,CDAM,ACAN,AGAqD,AFAhD,CDAL,ACAK,AFAC,AIA+C,QHAvC,CAAA,AGAuC,CAAA,AHAvC,CGAuC,AHAvC,CGAuC,AHAjC,CAAA,GAAI,CAAA,AGA6B,CAAA,AHA7B,CAAA,AGA6B,CAAA,AHAvB,CAAA,AGAuB,CAAA,AHAvB,CGAuB,AHAvB,CGAuB,AHAvB,CGAuB,AHAvB,AAAK,CGAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EHAR,CGAQ,CAAA,CAAA,CAAA,CAAA,CAAA,gCCF5D,iFFD8B,CAAA,KCAQ,CAAA,GDIhD,EAAG,klBAIM,GAAA,mBAA4B,CDAF,AHAC,GIAM,CAAA,CAAA,QAAU,yBDRtB,YACrB,GAAA,0CACJ,CDAE,ADAF,AIAA,AFAA,AAAE,EAAA,UAAc,CAAA,AFAE,ACAG,AGAD,GAAA,iCFCH,IAAA,sBACZ,CAAwB,AHA/B,AIAA,CDA+B,AHA/B,AIAA,wEDCiC,CAAA,CAAA,CAAA,CAAK,AAAL,QAAK,CAAU,CAAA,CAAA,QAC9C,CAAE,EAAG,CAAW,CAAA,YAAK,QAAA,CAAU,CAAA,CAAA,QAC/B,CAAA,AAAE,EAAG,KIC4C,EAAG,kBJDpB,CAAA,QAChC,kDACA,CAAE,EAAG,wBAAyB,CAAA,CAAA,EAAA,UAAe,GPjBxD,IAAA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QRHA,EAAA,EAAA,CAAA,CAAA,QASO,SAAS,EAAiB,OAC/B,CAAK,eACL,CAAa,CACb,SAAO,WACP,CAAS,CACa,EACtB,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,4FACA,YAGD,EAAQ,GAAG,CAAC,AAAC,GACZ,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAEC,KAAK,SACL,QAAS,IAAM,EAAc,EAAO,KAAK,EACzC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,gSACA,IAAU,EAAO,KAAK,CAClB,uCACA,oCAGL,EAAO,IAAI,CACX,EAAO,KAAK,EAAI,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,gBAAQ,EAAO,KAAK,KAXhD,EAAO,KAAK,IAgB3B,COxCA,IAAA,EAAA,EAAA,CAAA,CAAA,iBKUsB,EAAA,OAAA,EAAA,gBAAkC,CAAA,QAGpD,CKAD,ALAC,ACAD,AGAC,ADAD,ADAA,uGFKa,qDACmB,CGAM,CAAA,CAAA,CAAA,CAAA,KHAI,CAC5C,ELpBD,IAAA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,QIEA,IAAM,EAAQ,EAAA,UAAgB,CAC5B,CAAC,WAAE,CAAS,MAAE,CAAI,CAAE,GAAG,EAAO,CAAE,IAE5B,CAAA,EAAA,EAAA,GAAA,EAAC,QAAA,CACC,KAAM,EACN,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,oXACA,GAEF,IAAK,EACJ,GAAG,CAAK,IAKjB,EAAM,WAAW,CAAG,QVlBpB,IAAA,EAAA,EAAA,CAAA,CAAA,QAGI,EAAQ,EAAA,UAAgB,CAAC,CAAC,EAAO,IACZ,CAAA,EAAA,EAAA,GAAG,AAAH,EACrB,EAAA,SAAS,CAAC,KAAK,CACf,CACE,GAAG,CAAK,CACR,IAAK,EACL,YAAa,AAAC,IACG,AACX,EADiB,MAAM,CAChB,OAAO,CAAC,oCAAoC,CACvD,EAAM,WAAW,GAAG,GAChB,CAAC,EAAM,gBAAgB,EAAI,EAAM,MAAM,CAAG,GAAG,EAAM,cAAc,GACvE,CACF,IAGJ,EAAM,WAAW,CAhBN,EAgBS,MCdpB,IAAM,EAAgB,CAAA,EAAA,AALtB,EAAA,CAAA,CAAA,QAKsB,GAAA,AAAG,EACvB,8FAGI,EAAQ,EAAA,UAAgB,CAI5B,CAAC,WAAE,CAAS,CAAE,GAAG,EAAO,CAAE,IAC1B,CAAA,EAAA,EAAA,GAAA,EAAC,ADMQ,ECNR,CACC,IAAK,EACL,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,IAAiB,GAC9B,GAAG,CAAK,IAGb,EAAM,WAAW,CAAG,EAAoB,WAAW,CKdnD,IAAA,EAAA,EAAA,CAAA,CAAA,QAOA,EAAA,EAAA,CAAA,CAAA,QJhBgM,EAAA,EAAA,CAAA,CAAA,QAAiH,EAAiC,CAAA,EAAA,EAAA,eAAb,MAAkC,AAArB,EAAsB,GAAxB,0CAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgB,CAAC,uBGExb,EAAA,EAAA,CAAA,CAAA,OFFqT,EAAqC,CAAA,EAAA,EAAA,mBAAb,EAAa,AAAqB,EAAC,OAAxB,sCAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgB,CAAC,2BG6Bzb,SAAS,EAAgB,CAC9B,KAAM,CAAc,cACpB,CAAY,CACS,CAAG,CAAC,CAAC,EAC1B,IAiIwB,EAjIlB,EAAS,CAAA,EAAA,EAAA,mBAAA,AAAmB,IAC5B,EAAe,CAAA,EAAA,EAAA,0BAAA,AAA0B,IAEzC,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,GAAC,GAE3C,EAAY,GAAgB,EAC5B,CAAC,EAAa,EAAe,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAc,GACtD,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAoB,EAAE,EACpD,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,GAAC,GAE3C,CAAE,KAAM,EAAqB,EAAE,CAAE,UAAW,CAAe,CAAE,CDrC5D,CAAA,CCsCL,CDtCK,EAAA,OAAA,AAAM,EAAC,sBAAuB,EAAyB,CAC5D,mBAAmB,CACrB,GCsCM,EAAU,EAAY,OAAO,EAAI,QACjC,EAAU,AAAY,YACtB,EAAyB,aAAZ,EAGnB,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACR,EAAe,EACjB,EAAG,CAAC,EAAO,EAEX,IAAM,EAAyB,UAC7B,GAAgB,GAChB,GAAI,CACF,IAAM,EAAmB,MAAM,EAAoB,GACnD,EAAU,GAEsB,GAAG,CAA/B,EAAiB,MAAM,GACzB,EAAa,GACb,GAAU,GAEd,CAAE,MAAO,EAAO,CACd,QAAQ,KAAK,CAAC,oBAAqB,GACnC,EAAU,CACR,CACE,MAAO,UACP,QAAS,aAAiB,MAAQ,EAAM,OAAO,CAAG,eACpD,EACD,CACH,QAAU,CACR,GAAgB,EAClB,CACF,EAEM,EAAoB,CAAC,EAA0B,KACnD,EAAe,AAAC,IAAU,CAAE,EAAH,CAAM,CAAI,CAAE,CAAC,EAAM,CAAE,CAAM,CAAC,GAErD,EAAU,AAAC,GAAS,EAAK,MAAM,CAAC,AAAC,GAAM,EAAE,KAAK,GAAK,GACrD,EAEM,EAAiB,AAAD,GACb,EAAO,IAAI,CAAC,AAAC,GAAM,EAAE,KAAK,GAAK,IAAQ,QAG1C,EACJ,KAAK,SAAS,CAAC,KAAiB,KAAK,SAAS,CAAC,IAAW,EAAO,MAAM,CAAG,EAE5E,MACE,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACG,KAAmB,OAClB,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,KAAK,SACL,QAAS,IAAM,GAAU,GACzB,UAAU,qDACV,MAAM,yBAEN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,cAGvB,MAlE6B,IAAnB,EAA+B,EAAiB,CAAA,GAmEzD,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WAEE,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,KAAK,SACL,UAAU,gDACV,QAAS,IAAM,GAAU,GACzB,aAAW,8BAIb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,iGACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gBACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,mDACb,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,8BAAqB,kBACnC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,KAAK,SACL,QAAS,IAAM,GAAU,GACzB,QAAQ,UACR,KAAK,gBAEL,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAC,CAAA,CAAC,UAAU,iBAIjB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,mBAAU,YACzB,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,MAAM,CAAA,CACL,MAAO,EAAY,OAAO,EAAI,QAC9B,cAAe,AAAC,GACd,EAAkB,UAAW,aAG/B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,aAAa,CAAA,CAAC,GAAG,mBAChB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAAC,YAAY,qBAE3B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,aAAa,CAAA,UACX,EACC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,UAAU,QAAQ,CAAA,CAAA,WAAC,sBAGnC,EAAmB,MAAM,CAAG,EAC9B,EAAmB,GAAG,CAAC,AAAC,GACtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAgB,MAAO,EAAM,EAAE,UACvC,EAAM,WAAW,EADH,EAAM,EAAE,GAK3B,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,iBAAQ,UAC1B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,kBAAS,WAC3B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,oBAAW,uBAU/B,GAHkB,EAAmB,IAAI,CAC3C,AAAC,GAAM,EAAE,EAAE,GAAK,KAEG,CAAC,EAAc,WAAW,CAE3C,CAAA,AAF6C,EAE7C,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gIACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,UAAU,4BACzB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,uBAAc,0BAC3B,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CAAE,UAAU,uCAA6B,OACnC,IACL,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,wCACb,EAAc,cAAc,YAOlC,QAIV,GACC,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,gBAAO,SACtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,OACH,MAAO,EAAY,IAAI,EAAI,GAC3B,SAAU,AAAC,GACT,EAAkB,OAAQ,EAAE,MAAM,CAAC,KAAK,EAE1C,YAAY,OACZ,UACE,EAAc,QAAU,qBAAuB,KAGlD,EAAc,SACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,gDACV,EAAc,aAKrB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,mBAAU,mBACzB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,UACH,MAAO,EAAY,OAAO,EAAI,GAC9B,SAAU,AAAC,GACT,EAAkB,UAAW,EAAE,MAAM,CAAC,KAAK,EAE7C,YAAY,wCACZ,UACE,EAAc,WAAa,qBAAuB,KAGtD,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yCAAgC,yEAM/C,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,wBAAe,kBAC9B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,eACH,MAAO,EAAY,YAAY,EAAI,GACnC,SAAU,AAAC,GACT,EAAkB,eAAgB,EAAE,MAAM,CAAC,KAAK,EAElD,YAAY,4CACZ,UACE,EAAc,gBACV,qBACA,KAGP,EAAc,iBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,gDACV,EAAc,kBAGnB,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yCAAgC,oFAQlD,GACC,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,QAAA,CAAA,UACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,uBAAc,mBAC7B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,cACH,MAAO,EAAY,WAAW,EAAI,GAClC,SAAW,AAAD,GACR,EAAkB,cAAe,EAAE,MAAM,CAAC,KAAK,EAEjD,YAAY,oCACZ,UACE,EAAc,eACV,qBACA,KAGP,EAAc,gBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,oCACV,EAAc,sBAOxB,CAAC,GAAW,CAAC,GACZ,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,eAAM,gBACrB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,MACH,MAAO,EAAY,GAAG,EAAI,aAC1B,SAAU,AAAC,GACT,EAAkB,MAAO,EAAE,MAAM,CAAC,KAAK,EAEzC,YAAY,6BAIhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,qBAAY,eAC3B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,YACH,KAAK,WACL,MAAO,EAAY,SAAS,EAAI,GAChC,SAAU,AAAC,GACT,EAAkB,YAAa,EAAE,MAAM,CAAC,KAAK,EAE/C,YAAY,yBAIhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,mBAAU,eACzB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,UACH,MAAO,EAAY,OAAO,EAAI,GAC9B,SAAU,AAAC,GACT,EAAkB,UAAW,EAAE,MAAM,CAAC,KAAK,EAE7C,YAAY,eAIhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,gBAAO,YACtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,OACH,MAAO,EAAY,IAAI,EAAI,GAC3B,SAAW,AAAD,GACR,EAAkB,OAAQ,EAAE,MAAM,CAAC,KAAK,EAE1C,YAAY,mBAMnB,EAAO,MAAM,CAAG,GACf,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,KAAK,CAAA,CACJ,QAAQ,cACR,UAAU,mDAEV,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAAC,UAAU,YACvB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,UAAC,wBACZ,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,UACf,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,2CACX,EAAO,GAAG,CAAC,CAAC,EAAO,IAClB,CAAA,EAAA,EAAA,IAAA,EAAC,KAAA,CAAwB,UAAU,wBAChB,YAAhB,EAAM,KAAK,EACV,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,WAAQ,EAAM,KAAK,CAAC,OACpB,IACF,EAAM,OAAO,GAJP,CAAC,MAAM,EAAE,EAAA,CAAK,UAWjC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,qCACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,QAAS,EACT,SACE,GACA,CAAC,GACD,EAAmB,IAAI,CACpB,AAAD,GAAO,EAAE,EAAE,GAAK,GAAW,CAAC,EAAE,WAAW,EAG7C,UAAU,kBAET,EAAe,gBAAkB,wBAEpC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,QAAQ,UACR,QAAS,KACP,EAAe,GACf,EAAU,EAAE,EACZ,EAAU,GACZ,EACA,UAAU,kBACX,2BAWnB,CCjXA,SAAS,EAAsB,MAC7B,CAAI,cACJ,CAAY,CAIb,EACC,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAgB,KAAM,EAAM,aAAc,GACpD,CAEO,SAAS,IACd,GAAM,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,GAAC,GAC3C,OAAE,CAAK,UAAE,CAAQ,CAAE,CAAG,IAG5B,MACE,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,YAAY,CAAA,WACX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,mBAAmB,CAAA,CAAC,OAAO,CAAA,CAAA,WAC1B,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,MAAM,CAAA,CAAC,QAAQ,UAAU,KAAK,iBAC7B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,0BACpB,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,mBAAU,kBAG9B,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,mBAAmB,CAAA,CAAC,MAAM,MAAM,UAAU,iBACzC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gDACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,iBAAiB,CAAA,CAAC,UAAU,qBAAY,UACzC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,MAfS,CAeF,EAfW,SAgBlB,cAAe,EACf,QAAS,CACP,CACE,MAAO,SACP,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAQ,UAAU,WAC3B,EACA,CACE,MAAO,QACP,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAI,UAAU,WACvB,EACA,CACE,MAAO,OACP,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,UAAU,WACxB,EACD,MAGL,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,qBAAqB,CAAA,CAAA,GACtB,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,gBAAgB,CAAA,CAAC,SAAU,IAAM,GAAgB,aAChD,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UAAK,kBACN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,uBAEtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAAC,OAAO,CAAA,CAAA,WACvB,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CACC,KAAK,+CACL,OAAO,SACP,IAAI,gCAEJ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UAAK,SACN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAa,UAAU,+BAKhC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,KAAM,EACN,aAAc,MAItB,CCpFA,IAAA,EAAA,EAAA,CAAA,CAAA,OAEA,IAAM,EAAU,CAAC,CAAE,GAAG,EAAqB,IACzC,GAAM,OAAE,EAAQ,QAAQ,CAAE,CAAG,IAE7B,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAM,CAAA,CACL,MAAO,EACP,UAAU,gBACV,aAAc,CACZ,WAAY,CACV,MACE,wIACF,YAAa,uCACb,aACE,mEACF,aACE,+DACF,MACE,mHACF,QACE,6FACJ,CACF,EACC,GAAG,CAAK,EAGf,EC1BO,SAAS,EAAK,WAAE,CAAS,CAAa,CAAG,CAAC,CAAC,EAChD,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CACC,QAAQ,eACR,KAAK,OACL,MAAM,6BACN,UAAW,GAAa,aACxB,KAAK,MACL,aAAW,0BAEX,CAAA,EAAA,EAAA,GAAA,EAAC,QAAA,UAAM,kBACP,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,SAAS,UACT,SAAS,UACT,EAAE,iaACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,SAAS,UACT,SAAS,UACT,EAAE,iZACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,uLACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,qJACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,uNACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,0JACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,2LACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,oLACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,otBACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,8dACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,yOACF,UAAU,sBAIlB,CZhDA,SAAS,EAAc,CAAE,UAAQ,CAAqB,EACpD,IAAM,EAAS,CAAA,EAAA,EAAA,SAAA,AAAS,IAClB,EAAW,CAAA,EAAA,EAAA,WAAA,AAAW,IACtB,EAAe,CAAA,EAAA,EAAA,eAAA,AAAe,IAC9B,EAAS,CAAA,EAAA,EAAA,mBAAmB,AAAnB,IACT,UAAE,CAAQ,CAAE,CAAG,IAEf,EAAK,EAAa,GAAG,CAAC,MACtB,EAAQ,EAAa,GAAG,CAAC,SACzB,EAAS,EAAa,GAAG,CAAC,UAC1B,EAAS,EAAa,GAAG,CAAC,UAC1B,EAAW,EAAa,GAAG,CAAC,YAC5B,EAAa,EAAa,GAAG,CAAC,SAG9B,EAAkB,CAAA,EAAA,EAAA,MAAA,AAAM,GAAC,GAoG/B,MAjGA,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KAEN,IACgB,UAAhB,AAAC,GACgB,AAAf,YACe,WAAf,CAAe,CAAQ,EAEzB,CADA,CACS,EAEb,EAAG,CAAC,EAAY,EAAS,EAIzB,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,SA8CJ,EA5CJ,GAAiB,MAAb,IAAoB,EAAgB,OAAO,EAK/C,AALiD,GAK7C,EAAS,UAAU,CAAC,SAAU,CAChC,EAAgB,OAAO,EAAG,EAC1B,MACF,CAGA,GAAI,CAAC,EAAU,CACb,GAAI,EAAO,CAET,IAAI,EAGF,EAFE,EAEU,CAAA,EAAA,EAAA,CAFF,iBAEE,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,cACT,CACF,GACS,EAEG,CAAA,EAAA,EAAA,CAFK,iBAEL,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,cACT,CACF,GAGY,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,GAElD,EAAgB,OAAO,EAAG,EAC1B,EAAO,IAAI,CAAC,EAEd,CAEA,MACF,CAGA,GAAK,CAAD,EAKJ,CALS,EAKQ,AAAb,OAAoB,GACtB,EAAY,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAI,CAAE,QACxC,GAAiB,SAAb,GAAuB,EAChC,EAAY,CAAA,EAD2B,AAC3B,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,OACT,OAAQ,CACV,QACK,GAAiB,WAAb,GAAyB,EAClC,EAAY,CAAA,EAD6B,AAC7B,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,SACT,SAAU,CACZ,QACK,GAAiB,UAAb,GAAwB,EACjC,EAAY,CAAA,EAD4B,AAC5B,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,QACT,QAAS,CACX,QACK,GAAiB,SAAb,GAAuB,EAChC,EAAY,CAAA,EAD2B,AAC3B,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,OACT,OAAQ,CACV,QACK,GAAiB,SAAb,CAAuB,EAAC,EAM5B,KANmC,OAOxC,QAAQ,IAAI,CAAC,CAAC,mBAAmB,EAAE,EAAS,CAAC,EAAE,EAAG,CAAC,CAAC,EALpD,EAAY,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,IAAK,EAAQ,CAC1C,QAAS,OACT,OAAQ,CACV,GAMF,EAAgB,OAAO,EAAG,EAC1B,EAAO,IAAI,CAAC,IACd,EAAG,CAAC,EAAU,EAAI,EAAO,EAAQ,EAAQ,EAAQ,EAAQ,EAAS,EAGhE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,uCACb,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,eAAe,CAAA,CAAC,cAAe,YAE9B,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,8DACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,qDACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAI,CAAA,CAAC,KAAM,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,IAAK,YAClC,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CACC,UAAU,0BACV,MAAM,kCAEN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,OAGL,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,4CACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAiB,OAAQ,IAC1B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,WAMP,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,4BAAoB,OAErC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,KAGP,CAEO,SAAS,GAAa,UAAE,CAAQ,CAAqB,EAC1D,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,UAAU,QACV,aAAa,SACb,YAAY,CAAA,CAAA,EACZ,yBAAyB,CAAA,CAAA,EACzB,WAAW,0BAEX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAe,KAGtB","ignoreList":[0,1,2,3,7,11,18,19,20,21,22,23,24,25]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/lib/queues/reset.ts","../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/adapters/lib/patch-history.ts","../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/adapters/next/impl.app.ts","../../../../../../node_modules/.pnpm/nuqs%402.8.3_next%4016.0.10_%40opentelemetry%2Bapi%401.9.0_react-dom%4019.1.0_react%4019.1.0__react%401_1277fdbfe24b1029099fca8fb08d3e9b/node_modules/nuqs/src/adapters/next/app.ts","../../../../../../node_modules/.pnpm/next-themes%400.4.6_react-dom%4019.1.0_react%4019.1.0__react%4019.1.0/node_modules/next-themes/dist/index.mjs","../../../../../../packages/web/src/components/display-utils/connection-status.tsx","../../../../../../packages/web/src/components/ui/segmented-control.tsx","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-label%402.1.7_%40types%2Breact-dom%4019.1.9_%40types%2Breact%4019.1.13__%40types%2Breact%40_d21172d6270ea6a92471d0210cd35a78/node_modules/%40radix-ui/react-label/dist/index.mjs","../../../../../../packages/web/src/components/ui/label.tsx","../../../../../../packages/web/src/lib/data%3A77ed09%20%3Ctext/javascript%3E","../../../../../../packages/web/src/components/settings-sidebar.tsx","../../../../../../packages/web/src/components/settings-dropdown.tsx","../../../../../../packages/web/src/components/ui/sonner.tsx","../../../../../../packages/web/src/app/layout-client.tsx","../../../../../../packages/web/src/icons/logo.tsx","../../../../../../packages/web/src/components/ui/input.tsx","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/triangle-alert.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/sun.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/settings.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/info.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/monitor.ts","../../../../../../node_modules/.pnpm/lucide-react%400.469.0_react%4019.1.0/node_modules/lucide-react/src/icons/moon.ts","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-label%402.1.7_%40types%2Breact-dom%4019.1.9_%40types%2Breact%4019.1.13__%40types%2Breact%40_d21172d6270ea6a92471d0210cd35a78/node_modules/%40radix-ui/react-label/src/label.tsx"],"sourcesContent":["import { debug } from '../debug'\nimport { debounceController } from './debounce'\nimport { globalThrottleQueue } from './throttle'\n\nlet mutex = 0\n\nexport function setQueueResetMutex(value = 1): void {\n mutex = value\n}\n\nexport function spinQueueResetMutex(): void {\n // Don't let values become too negatively large and wrap around\n mutex = Math.max(0, mutex - 1)\n if (mutex > 0) {\n return\n }\n resetQueues()\n}\n\nexport function resetQueues(): void {\n debug('[nuqs] Aborting queues')\n debounceController.abortAll()\n const abortedKeys = globalThrottleQueue.abort()\n abortedKeys.forEach(key => debounceController.queuedQuerySync.emit(key))\n}\n","import { debug } from '../../lib/debug'\nimport type { Emitter } from '../../lib/emitter'\nimport { error } from '../../lib/errors'\nimport { resetQueues, spinQueueResetMutex } from '../../lib/queues/reset'\n\nexport type SearchParamsSyncEmitterEvents = { update: URLSearchParams }\n\nexport const historyUpdateMarker = '__nuqs__'\n\ndeclare global {\n interface History {\n nuqs?: {\n version: string\n adapters: string[]\n }\n }\n}\n\nexport function getSearchParams(url: string | URL): URLSearchParams {\n if (url instanceof URL) {\n return url.searchParams\n }\n if (url.startsWith('?')) {\n return new URLSearchParams(url)\n }\n try {\n return new URL(url, location.origin).searchParams\n } catch {\n return new URLSearchParams(url)\n }\n}\n\nexport function shouldPatchHistory(adapter: string): boolean {\n if (typeof history === 'undefined') {\n return false\n }\n if (\n history.nuqs?.version &&\n history.nuqs.version !== '0.0.0-inject-version-here'\n ) {\n console.error(\n error(409),\n history.nuqs.version,\n `0.0.0-inject-version-here`,\n adapter\n )\n return false\n }\n if (history.nuqs?.adapters?.includes(adapter)) {\n return false\n }\n return true\n}\n\nexport function markHistoryAsPatched(adapter: string): void {\n history.nuqs = history.nuqs ?? {\n // This will be replaced by the prepack script\n version: '0.0.0-inject-version-here',\n adapters: []\n }\n history.nuqs.adapters.push(adapter)\n}\n\nexport function patchHistory(\n emitter: Emitter<SearchParamsSyncEmitterEvents>,\n adapter: string\n): void {\n if (!shouldPatchHistory(adapter)) {\n return\n }\n let lastSearchSeen = typeof location === 'object' ? location.search : ''\n\n emitter.on('update', search => {\n const searchString = search.toString()\n lastSearchSeen = searchString.length ? '?' + searchString : ''\n })\n\n window.addEventListener('popstate', () => {\n lastSearchSeen = location.search\n resetQueues()\n })\n\n debug(\n '[nuqs %s] Patching history (%s adapter)',\n '0.0.0-inject-version-here',\n adapter\n )\n function sync(url: URL | string) {\n spinQueueResetMutex()\n try {\n const newSearch = new URL(url, location.origin).search\n if (newSearch === lastSearchSeen) {\n return\n }\n } catch {}\n try {\n emitter.emit('update', getSearchParams(url))\n } catch (e) {\n console.error(e)\n }\n }\n const originalPushState = history.pushState\n const originalReplaceState = history.replaceState\n history.pushState = function nuqs_pushState(state, marker, url) {\n originalPushState.call(history, state, '', url)\n if (url && marker !== historyUpdateMarker) {\n sync(url)\n }\n }\n history.replaceState = function nuqs_replaceState(state, marker, url) {\n originalReplaceState.call(history, state, '', url)\n if (url && marker !== historyUpdateMarker) {\n sync(url)\n }\n }\n markHistoryAsPatched(adapter)\n}\n","import { useRouter, useSearchParams } from 'next/navigation.js'\nimport { startTransition, useCallback, useEffect, useOptimistic } from 'react'\nimport { debug } from '../../lib/debug'\nimport { resetQueues } from '../../lib/queues/reset'\nimport { renderQueryString } from '../../lib/url-encoding'\nimport type { AdapterInterface, UpdateUrlFunction } from '../lib/defs'\nimport { markHistoryAsPatched, shouldPatchHistory } from '../lib/patch-history'\n\n// See: https://github.com/47ng/nuqs/issues/603#issuecomment-2317057128\n// and https://github.com/47ng/nuqs/discussions/960#discussioncomment-12699171\nconst NUM_HISTORY_CALLS_PER_UPDATE = 3\n\nlet mutex = 0\n\nfunction onPopState() {\n mutex = 0\n resetQueues()\n}\n\nfunction onHistoryStateUpdate() {\n mutex--\n if (mutex <= 0) {\n mutex = 0 // Don't let values become too negatively large and wrap around\n // Doing this after the end of the current render work because of the error:\n // \"useInsertionEffect cannot schedule updates\"\n // (resetting the queue causes the useSyncExternalStore of queued queries\n // to be marked for rendering)\n // The useInsertionEffect in question is the one in the Next.js app router core\n // dealing with history API calls.\n queueMicrotask(resetQueues)\n }\n}\n\nfunction patchHistory() {\n if (!shouldPatchHistory('next/app')) {\n return\n }\n const originalReplaceState = history.replaceState\n const originalPushState = history.pushState\n history.replaceState = function nuqs_replaceState(state, title, url) {\n onHistoryStateUpdate()\n return originalReplaceState.call(history, state, title, url)\n }\n history.pushState = function nuqs_pushState(state, title, url) {\n onHistoryStateUpdate()\n return originalPushState.call(history, state, title, url)\n }\n markHistoryAsPatched('next/app')\n}\n\n// Detect user navigation (clicking links, router calls)\n// and reset the queues when that happens.\nexport function NavigationSpy() {\n useEffect(() => {\n patchHistory()\n window.addEventListener('popstate', onPopState)\n return () => window.removeEventListener('popstate', onPopState)\n }, [])\n return null\n}\n\nexport function useNuqsNextAppRouterAdapter(): AdapterInterface {\n const router = useRouter()\n const searchParams = useSearchParams()\n const [optimisticSearchParams, setOptimisticSearchParams] =\n useOptimistic<URLSearchParams>(searchParams)\n const updateUrl: UpdateUrlFunction = useCallback((search, options) => {\n startTransition(() => {\n if (!options.shallow) {\n setOptimisticSearchParams(search)\n }\n const url = renderURL(search)\n debug('[nuqs next/app] Updating url: %s', url)\n // First, update the URL locally without triggering a network request,\n // this allows keeping a reactive URL if the network is slow.\n const updateMethod =\n options.history === 'push' ? history.pushState : history.replaceState\n mutex = NUM_HISTORY_CALLS_PER_UPDATE\n updateMethod.call(\n history,\n // In next@14.1.0, useSearchParams becomes reactive to shallow updates,\n // but only if passing `null` as the history state.\n null,\n '',\n url\n )\n if (options.scroll) {\n window.scrollTo(0, 0)\n }\n if (!options.shallow) {\n // Call the Next.js router to perform a network request\n // and re-render server components.\n router.replace(url, {\n scroll: false\n })\n }\n })\n }, [])\n return {\n searchParams: optimisticSearchParams,\n updateUrl,\n rateLimitFactor: NUM_HISTORY_CALLS_PER_UPDATE,\n autoResetQueueOnUpdate: false\n }\n}\n\nfunction renderURL(search: URLSearchParams) {\n const { origin, pathname, hash } = location\n return origin + pathname + renderQueryString(search) + hash\n}\n","import {\n createElement,\n Suspense,\n type ReactElement,\n type ReactNode\n} from 'react'\nimport { createAdapterProvider, type AdapterProps } from '../lib/context'\nimport { NavigationSpy, useNuqsNextAppRouterAdapter } from './impl.app'\n\nconst Provider = createAdapterProvider(useNuqsNextAppRouterAdapter)\n\nexport function NuqsAdapter({\n children,\n ...adapterProps\n}: AdapterProps & {\n children: ReactNode\n}): ReactElement {\n return createElement(Provider, {\n ...adapterProps,\n children: [\n createElement(Suspense, {\n key: 'nuqs-adapter-suspense-navspy',\n children: createElement(NavigationSpy)\n }),\n children\n ]\n })\n}\n","\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","'use client';\n\nimport { InfoIcon } from 'lucide-react';\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from '@/components/ui/tooltip';\nimport type { WorkflowDataDirInfo, WorldConfig } from '@/lib/config-world';\nimport { useDataDirInfo } from '@/lib/hooks';\n\ninterface ConnectionStatusProps {\n config: WorldConfig;\n}\n\nconst getConnectionInfo = (\n backend: string,\n config: WorldConfig,\n dataDirInfo: WorkflowDataDirInfo | null | undefined\n): { provider: string; parts: string[] } => {\n if (backend === 'vercel') {\n const parts: string[] = [];\n if (config.env) parts.push(`env: ${config.env}`);\n if (config.project) parts.push(`project: ${config.project}`);\n if (config.team) parts.push(`team: ${config.team}`);\n\n return { provider: 'Vercel', parts };\n }\n\n if (backend === 'local') {\n // Local backend - show projectDir instead of raw dataDir\n const parts: string[] = [];\n if (dataDirInfo?.projectDir) {\n parts.push(`project: ${dataDirInfo.projectDir}`);\n }\n if (config.port) parts.push(`port: ${config.port}`);\n\n return { provider: 'Local', parts };\n }\n\n return { provider: config.backend || 'unknown', parts: [] };\n};\n\nexport function ConnectionStatus({ config }: ConnectionStatusProps) {\n const backend = config.backend || 'local';\n const { data: dataDirInfo } = useDataDirInfo(config.dataDir);\n const { provider, parts } = getConnectionInfo(backend, config, dataDirInfo);\n const subString =\n backend === 'local'\n ? dataDirInfo?.shortName\n : backend === 'vercel'\n ? config.env\n : undefined;\n return (\n <div className=\"text-sm text-muted-foreground flex items-center gap-2\">\n <span className=\"font-medium\">\n Connected to: {provider} {subString ? `(${subString})` : ''}\n </span>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"w-4 h-4\" />\n </TooltipTrigger>\n <TooltipContent>\n <div className=\"flex flex-col gap-1\">\n {parts.map((part) => (\n <span key={part}>{part}</span>\n ))}\n </div>\n </TooltipContent>\n </Tooltip>\n </div>\n );\n}\n","'use client';\n\nimport type * as React from 'react';\nimport { cn } from '@/lib/utils';\n\ninterface SegmentedControlProps {\n value: string;\n onValueChange: (value: string) => void;\n options: Array<{ value: string; icon: React.ReactNode; label?: string }>;\n className?: string;\n}\n\nexport function SegmentedControl({\n value,\n onValueChange,\n options,\n className,\n}: SegmentedControlProps) {\n return (\n <div\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground',\n className\n )}\n >\n {options.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n onClick={() => onValueChange(option.value)}\n className={cn(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n value === option.value\n ? 'bg-background text-foreground shadow'\n : 'hover:bg-background/50'\n )}\n >\n {option.icon}\n {option.label && <span className=\"ml-2\">{option.label}</span>}\n </button>\n ))}\n </div>\n );\n}\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst labelVariants = cva(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","/* __next_internal_action_entry_do_not_use__ [{\"40545b511b082880ffd69907a64d12bf51eb2405a5\":\"validateWorldConfig\"},\"packages/web/src/lib/config-world.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";export var validateWorldConfig=/*#__PURE__*/createServerReference(\"40545b511b082880ffd69907a64d12bf51eb2405a5\",callServer,void 0,findSourceMapURL,\"validateWorldConfig\");","/** biome-ignore-all lint/correctness/useUniqueElementIds: <not relevant> */\n'use client';\n\nimport { AlertCircle, AlertTriangle, Settings, X } from 'lucide-react';\nimport { useEffect, useState } from 'react';\nimport { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/components/ui/select';\nimport { useQueryParamConfig, useUpdateConfigQueryParams } from '@/lib/config';\nimport {\n type ValidationError,\n validateWorldConfig,\n type WorldConfig,\n} from '@/lib/config-world';\nimport { useDataDirInfo, useWorldsAvailability } from '@/lib/hooks';\n\ninterface SettingsSidebarProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\nexport function SettingsSidebar({\n open: controlledOpen,\n onOpenChange,\n}: SettingsSidebarProps = {}) {\n const config = useQueryParamConfig();\n const updateConfig = useUpdateConfigQueryParams();\n\n const [internalOpen, setInternalOpen] = useState(false);\n const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen;\n const setIsOpen = onOpenChange || setInternalOpen;\n const [localConfig, setLocalConfig] = useState<WorldConfig>(config);\n const [errors, setErrors] = useState<ValidationError[]>([]);\n const [isValidating, setIsValidating] = useState(false);\n\n const { data: worldsAvailability = [], isLoading: isLoadingWorlds } =\n useWorldsAvailability();\n const { data: dataDirInfo } = useDataDirInfo(localConfig.dataDir);\n\n const backend = localConfig.backend || 'local';\n const isLocal = backend === 'local';\n const isPostgres = backend === 'postgres';\n\n // Update local config when query params change\n useEffect(() => {\n setLocalConfig(config);\n }, [config]);\n\n const handleValidateAndApply = async () => {\n setIsValidating(true);\n try {\n const validationErrors = await validateWorldConfig(localConfig);\n setErrors(validationErrors);\n\n if (validationErrors.length === 0) {\n updateConfig(localConfig);\n setIsOpen(false);\n }\n } catch (error) {\n console.error('Validation error:', error);\n setErrors([\n {\n field: 'general',\n message: error instanceof Error ? error.message : 'Unknown error',\n },\n ]);\n } finally {\n setIsValidating(false);\n }\n };\n\n const handleInputChange = (field: keyof WorldConfig, value: string) => {\n setLocalConfig((prev) => ({ ...prev, [field]: value }));\n // Clear errors for this field when user types\n setErrors((prev) => prev.filter((e) => e.field !== field));\n };\n\n const getFieldError = (field: string) => {\n return errors.find((e) => e.field === field)?.message;\n };\n\n const hasChanges =\n JSON.stringify(localConfig) !== JSON.stringify(config) || errors.length > 0;\n\n return (\n <>\n {controlledOpen === undefined && (\n <button\n type=\"button\"\n onClick={() => setIsOpen(true)}\n className=\"p-2 rounded-full hover:bg-accent transition-colors\"\n title=\"Configuration\"\n >\n <Settings className=\"h-6 w-6\" />\n </button>\n )}\n {isOpen && (\n <>\n {/* Backdrop */}\n <button\n type=\"button\"\n className=\"fixed inset-0 bg-black/50 z-40 cursor-default\"\n onClick={() => setIsOpen(false)}\n aria-label=\"Close configuration panel\"\n />\n\n {/* Panel */}\n <div className=\"fixed top-0 right-0 h-full w-96 bg-background border-l shadow-lg z-50 overflow-y-auto\">\n <div className=\"p-6\">\n <div className=\"flex items-center justify-between mb-6\">\n <h2 className=\"text-2xl font-bold\">Configuration</h2>\n <Button\n type=\"button\"\n onClick={() => setIsOpen(false)}\n variant=\"outline\"\n size=\"icon\"\n >\n <X className=\"h-5 w-5\" />\n </Button>\n </div>\n\n <div className=\"space-y-4\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"backend\">Backend</Label>\n <Select\n value={localConfig.backend || 'local'}\n onValueChange={(value) =>\n handleInputChange('backend', value)\n }\n >\n <SelectTrigger id=\"backend\">\n <SelectValue placeholder=\"Select backend\" />\n </SelectTrigger>\n <SelectContent>\n {isLoadingWorlds ? (\n <SelectItem value=\"loading\" disabled>\n Loading worlds...\n </SelectItem>\n ) : worldsAvailability.length > 0 ? (\n worldsAvailability.map((world) => (\n <SelectItem key={world.id} value={world.id}>\n {world.displayName}\n </SelectItem>\n ))\n ) : (\n <>\n <SelectItem value=\"local\">Local</SelectItem>\n <SelectItem value=\"vercel\">Vercel</SelectItem>\n <SelectItem value=\"postgres\">PostgreSQL</SelectItem>\n </>\n )}\n </SelectContent>\n </Select>\n {/* Show warning if selected world is not installed */}\n {(() => {\n const selectedWorld = worldsAvailability.find(\n (w) => w.id === backend\n );\n if (selectedWorld && !selectedWorld.isInstalled) {\n return (\n <div className=\"flex items-start gap-2 p-2 rounded-md bg-amber-500/10 border border-amber-500/20 text-amber-600 dark:text-amber-400\">\n <AlertTriangle className=\"h-4 w-4 mt-0.5 shrink-0\" />\n <div className=\"text-xs\">\n <p className=\"font-medium\">Package not installed</p>\n <p className=\"mt-1 text-muted-foreground\">\n Run:{' '}\n <code className=\"bg-muted px-1 py-0.5 rounded\">\n {selectedWorld.installCommand}\n </code>\n </p>\n </div>\n </div>\n );\n }\n return null;\n })()}\n </div>\n\n {isLocal && (\n <>\n <div className=\"space-y-2\">\n <Label htmlFor=\"port\">Port</Label>\n <Input\n id=\"port\"\n value={localConfig.port || ''}\n onChange={(e) =>\n handleInputChange('port', e.target.value)\n }\n placeholder=\"3001\"\n className={\n getFieldError('port') ? 'border-destructive' : ''\n }\n />\n {getFieldError('port') && (\n <p className=\"text-sm text-destructive break-words\">\n {getFieldError('port')}\n </p>\n )}\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"dataDir\">Data Directory</Label>\n <Input\n id=\"dataDir\"\n value={localConfig.dataDir || ''}\n onChange={(e) =>\n handleInputChange('dataDir', e.target.value)\n }\n placeholder=\"Path to your project directory\"\n className={\n getFieldError('dataDir') ? 'border-destructive' : ''\n }\n />\n <p className=\"text-xs text-muted-foreground\">\n Path to your project or its workflow data directory.\n Relative paths allowed. Leave empty to search current\n directory.\n </p>\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"manifestPath\">Manifest Path</Label>\n <Input\n id=\"manifestPath\"\n value={localConfig.manifestPath || ''}\n onChange={(e) =>\n handleInputChange('manifestPath', e.target.value)\n }\n placeholder=\"app/.well-known/workflow/v1/manifest.json\"\n className={\n getFieldError('manifestPath')\n ? 'border-destructive'\n : ''\n }\n />\n {getFieldError('manifestPath') && (\n <p className=\"text-sm text-destructive break-words\">\n {getFieldError('manifestPath')}\n </p>\n )}\n <p className=\"text-xs text-muted-foreground\">\n Path to the workflow manifest file. Leave empty to use\n default locations.\n </p>\n </div>\n </>\n )}\n\n {isPostgres && (\n <>\n <div className=\"space-y-2\">\n <Label htmlFor=\"postgresUrl\">Connection URL</Label>\n <Input\n id=\"postgresUrl\"\n value={localConfig.postgresUrl || ''}\n onChange={(e) =>\n handleInputChange('postgresUrl', e.target.value)\n }\n placeholder=\"postgres://user:pass@host:5432/db\"\n className={\n getFieldError('postgresUrl')\n ? 'border-destructive'\n : ''\n }\n />\n {getFieldError('postgresUrl') && (\n <p className=\"text-sm text-destructive\">\n {getFieldError('postgresUrl')}\n </p>\n )}\n </div>\n </>\n )}\n\n {!isLocal && !isPostgres && (\n <>\n <div className=\"space-y-2\">\n <Label htmlFor=\"env\">Environment</Label>\n <Input\n id=\"env\"\n value={localConfig.env || 'production'}\n onChange={(e) =>\n handleInputChange('env', e.target.value)\n }\n placeholder=\"production or preview\"\n />\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"authToken\">Auth Token</Label>\n <Input\n id=\"authToken\"\n type=\"password\"\n value={localConfig.authToken || ''}\n onChange={(e) =>\n handleInputChange('authToken', e.target.value)\n }\n placeholder=\"Vercel auth token\"\n />\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"project\">Project ID</Label>\n <Input\n id=\"project\"\n value={localConfig.project || ''}\n onChange={(e) =>\n handleInputChange('project', e.target.value)\n }\n placeholder=\"prj_...\"\n />\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"team\">Team ID</Label>\n <Input\n id=\"team\"\n value={localConfig.team || ''}\n onChange={(e) =>\n handleInputChange('team', e.target.value)\n }\n placeholder=\"team_...\"\n />\n </div>\n </>\n )}\n\n {errors.length > 0 && (\n <Alert\n variant=\"destructive\"\n className=\"!bg-destructive/10 !border-destructive\"\n >\n <AlertCircle className=\"h-4 w-4\" />\n <AlertTitle>Configuration Error</AlertTitle>\n <AlertDescription>\n <ul className=\"list-disc list-inside space-y-1\">\n {errors.map((error, idx) => (\n <li key={`error-${idx}`} className=\"break-words\">\n {error.field !== 'general' && (\n <strong>{error.field}:</strong>\n )}{' '}\n {error.message}\n </li>\n ))}\n </ul>\n </AlertDescription>\n </Alert>\n )}\n <div className=\"flex flex-col gap-2 pt-4\">\n <Button\n onClick={handleValidateAndApply}\n disabled={\n isValidating ||\n !hasChanges ||\n worldsAvailability.some(\n (w) => w.id === backend && !w.isInstalled\n )\n }\n className=\"w-full\"\n >\n {isValidating ? 'Validating...' : 'Apply Configuration'}\n </Button>\n <Button\n variant=\"outline\"\n onClick={() => {\n setLocalConfig(config);\n setErrors([]);\n setIsOpen(false);\n }}\n className=\"w-full\"\n >\n Cancel\n </Button>\n </div>\n </div>\n </div>\n </div>\n </>\n )}\n </>\n );\n}\n","'use client';\n\nimport { ExternalLink, Monitor, Moon, Settings, Sun } from 'lucide-react';\nimport { useTheme } from 'next-themes';\nimport { useState } from 'react';\nimport { Button } from '@/components/ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { SegmentedControl } from '@/components/ui/segmented-control';\nimport { SettingsSidebar } from './settings-sidebar';\n\n// Controlled version that doesn't show the trigger button\nfunction SettingsSidebarDialog({\n open,\n onOpenChange,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}) {\n return <SettingsSidebar open={open} onOpenChange={onOpenChange} />;\n}\n\nexport function SettingsDropdown() {\n const [settingsOpen, setSettingsOpen] = useState(false);\n const { theme, setTheme } = useTheme();\n const currentTheme = theme || 'system';\n\n return (\n <>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\">\n <Settings className=\"h-[1.2rem] w-[1.2rem]\" />\n <span className=\"sr-only\">Settings</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-56\">\n <div className=\"px-2 py-1.5 flex items-center gap-3\">\n <DropdownMenuLabel className=\"px-0 mb-0\">Theme</DropdownMenuLabel>\n <SegmentedControl\n value={currentTheme}\n onValueChange={setTheme}\n options={[\n {\n value: 'system',\n icon: <Monitor className=\"h-4 w-4\" />,\n },\n {\n value: 'light',\n icon: <Sun className=\"h-4 w-4\" />,\n },\n {\n value: 'dark',\n icon: <Moon className=\"h-4 w-4\" />,\n },\n ]}\n />\n </div>\n <DropdownMenuSeparator />\n <DropdownMenuItem onSelect={() => setSettingsOpen(true)}>\n <span>Configuration</span>\n <Settings className=\"ml-auto h-4 w-4\" />\n </DropdownMenuItem>\n <DropdownMenuItem asChild>\n <a\n href=\"https://useworkflow.dev/docs/getting-started\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span>Docs</span>\n <ExternalLink className=\"ml-auto h-4 w-4\" />\n </a>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n <SettingsSidebarDialog\n open={settingsOpen}\n onOpenChange={setSettingsOpen}\n />\n </>\n );\n}\n","'use client';\n\nimport { useTheme } from 'next-themes';\nimport { Toaster as Sonner, type ToasterProps } from 'sonner';\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton:\n 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton:\n 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n error:\n 'group-[.toaster]:bg-destructive group-[.toaster]:text-destructive-foreground group-[.toaster]:border-destructive',\n success:\n 'group-[.toaster]:bg-green-600 group-[.toaster]:text-white group-[.toaster]:border-green-600',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n","'use client';\n\nimport { TooltipProvider } from '@radix-ui/react-tooltip';\nimport Link from 'next/link';\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation';\nimport { ThemeProvider, useTheme } from 'next-themes';\nimport { useEffect, useRef } from 'react';\nimport { ConnectionStatus } from '@/components/display-utils/connection-status';\nimport { SettingsDropdown } from '@/components/settings-dropdown';\nimport { Toaster } from '@/components/ui/sonner';\nimport { buildUrlWithConfig, useQueryParamConfig } from '@/lib/config';\nimport { Logo } from '../icons/logo';\n\ninterface LayoutClientProps {\n children: React.ReactNode;\n}\n\nfunction LayoutContent({ children }: LayoutClientProps) {\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const config = useQueryParamConfig();\n const { setTheme } = useTheme();\n\n const id = searchParams.get('id');\n const runId = searchParams.get('runId');\n const stepId = searchParams.get('stepId');\n const hookId = searchParams.get('hookId');\n const resource = searchParams.get('resource');\n const themeParam = searchParams.get('theme');\n\n // Track if we've already handled the initial navigation\n const hasNavigatedRef = useRef(false);\n\n // Sync theme from URL param to next-themes (one-time or when explicitly changed)\n useEffect(() => {\n if (\n themeParam &&\n (themeParam === 'light' ||\n themeParam === 'dark' ||\n themeParam === 'system')\n ) {\n setTheme(themeParam);\n }\n }, [themeParam, setTheme]);\n\n // If initialized with a resource/id or direct ID params, we navigate to the appropriate page\n // Only run this logic once on mount or when we're on the root path with special params\n useEffect(() => {\n // Skip if we're not on the root path and we've already navigated\n if (pathname !== '/' && hasNavigatedRef.current) {\n return;\n }\n\n // Skip if we're already on a run page (prevents interference with back navigation)\n if (pathname.startsWith('/run/')) {\n hasNavigatedRef.current = true;\n return;\n }\n\n // Handle direct ID parameters (runId, stepId, hookId) without resource\n if (!resource) {\n if (runId) {\n // If we have a runId, open that run's detail view\n let targetUrl: string;\n if (stepId) {\n // Open run with step sidebar\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'step',\n stepId,\n });\n } else if (hookId) {\n // Open run with hook sidebar\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'hook',\n hookId,\n });\n } else {\n // Just open the run\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config);\n }\n hasNavigatedRef.current = true;\n router.push(targetUrl);\n return;\n }\n // No resource and no direct params, nothing to do\n return;\n }\n\n // Handle resource-based navigation\n if (!id) {\n return;\n }\n\n let targetUrl: string;\n if (resource === 'run') {\n targetUrl = buildUrlWithConfig(`/run/${id}`, config);\n } else if (resource === 'step' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'step',\n stepId: id,\n });\n } else if (resource === 'stream' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'stream',\n streamId: id,\n });\n } else if (resource === 'event' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'event',\n eventId: id,\n });\n } else if (resource === 'hook' && runId) {\n targetUrl = buildUrlWithConfig(`/run/${runId}`, config, {\n sidebar: 'hook',\n hookId: id,\n });\n } else if (resource === 'hook' && !runId) {\n // Hook without runId - go to home page with hook sidebar\n targetUrl = buildUrlWithConfig('/', config, {\n sidebar: 'hook',\n hookId: id,\n });\n } else {\n console.warn(`Can't deep-link to ${resource} ${id}.`);\n return;\n }\n\n hasNavigatedRef.current = true;\n router.push(targetUrl);\n }, [resource, id, runId, stepId, hookId, router, config, pathname]);\n\n return (\n <div className=\"min-h-screen flex flex-col\">\n <TooltipProvider delayDuration={0}>\n {/* Sticky Header */}\n <div className=\"sticky top-0 z-50 bg-background border-b px-6 py-4\">\n <div className=\"flex items-center justify-between w-full\">\n <Link href={buildUrlWithConfig('/', config)}>\n <h1\n className=\"flex items-center gap-2\"\n title=\"Workflow Observability\"\n >\n <Logo />\n </h1>\n </Link>\n <div className=\"ml-auto flex items-center gap-2\">\n <ConnectionStatus config={config} />\n <SettingsDropdown />\n </div>\n </div>\n </div>\n\n {/* Scrollable Content */}\n <div className=\"flex-1 px-6 pt-6\">{children}</div>\n </TooltipProvider>\n <Toaster />\n </div>\n );\n}\n\nexport function LayoutClient({ children }: LayoutClientProps) {\n return (\n <ThemeProvider\n attribute=\"class\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n storageKey=\"workflow-theme\"\n >\n <LayoutContent>{children}</LayoutContent>\n </ThemeProvider>\n );\n}\n","interface LogoProps {\n className?: string;\n}\n\nexport function Logo({ className }: LogoProps = {}) {\n return (\n <svg\n viewBox=\"0 0 1792 240\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className || 'h-6 w-auto'}\n role=\"img\"\n aria-label=\"Workflow Logo\"\n >\n <title>Workflow Logo</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M753.933 55.627C806.249 55.627 840.685 91.718 840.685 147.345C840.685 202.971 806.249 239.062 753.933 239.062C701.286 239.062 666.851 202.971 666.851 147.345C666.851 91.7181 701.286 55.6271 753.933 55.627ZM753.933 90.0625C726.451 90.0626 710.889 111.254 710.889 147.345C710.889 183.436 726.451 204.627 753.933 204.627C781.084 204.627 796.978 183.436 796.978 147.345C796.978 111.254 781.084 90.0625 753.933 90.0625Z\"\n className=\"fill-foreground\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1445.65 55.627C1497.96 55.627 1532.4 91.718 1532.4 147.345C1532.4 202.971 1497.96 239.062 1445.65 239.062C1393 239.062 1358.56 202.971 1358.56 147.345C1358.56 91.718 1393 55.627 1445.65 55.627ZM1445.65 90.0625C1418.16 90.0625 1402.6 111.254 1402.6 147.345C1402.6 183.436 1418.16 204.627 1445.65 204.627C1472.8 204.627 1488.69 183.436 1488.69 147.345C1488.69 111.254 1472.8 90.0626 1445.65 90.0625Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M902.473 94.0361C909.095 70.8584 922.34 59.5997 944.855 59.5996H961.079V92.3799H944.524C916.38 92.38 904.128 106.949 904.128 135.094V235.089H861.746V59.5996H901.48L902.473 94.0361Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1019.25 138.735L1091.11 59.5996H1143.09L1074.55 132.113L1146.4 235.089H1098.72L1046.74 157.609L1019.25 187.078V235.089H976.872V0H1019.25V138.735Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1263.63 32.7803H1235.82C1224.89 32.7803 1217.28 41.3893 1217.28 54.9648V59.5996H1260.98V92.3799H1217.28V235.089H1174.56V92.3799H1149.4V59.5996H1174.56V54.9648C1174.56 19.5359 1191.78 0 1230.85 0H1263.63V32.7803Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1322.58 189.396C1322.58 197.673 1327.22 202.309 1335.5 202.31H1348.74V235.089H1324.57C1298.08 235.089 1280.2 218.534 1280.2 191.052V0H1322.58V189.396Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M1604.59 186.416L1641.02 59.5996H1677.77L1713.86 186.416L1749.95 59.5996H1791.34L1737.7 235.089H1694.32L1659.56 116.883L1624.79 235.089H1581.42L1527.77 59.5996H1568.83L1604.59 186.416Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M472.173 174.847L514.895 0.671875H554.66L598.038 174.847L640.432 0.671875H685.454L623.015 234H575.692L534.942 77.5713L493.863 234H446.869L384.1 0.671875H429.122L472.173 174.847Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M125.776 0C120.929 1.64945e-05 117 3.9291 117 8.77539V61.4248C117 66.2711 120.929 70.2002 125.776 70.2002H160.875L161.253 70.2051C169.032 70.4023 175.301 76.6734 175.495 84.4531L175.5 84.8252V143.325C175.5 148.171 179.429 152.101 184.276 152.101H219.375L219.753 152.105C227.53 152.303 233.798 158.571 233.995 166.348L234 166.726V225.225C234 230.071 237.929 234 242.776 234H295.425C300.271 234 304.2 230.071 304.2 225.225V172.575C304.2 167.729 300.271 163.8 295.425 163.8H260.25C252.334 163.76 245.905 157.43 245.705 149.553L245.7 149.176V90.6758C245.7 85.8295 241.771 81.9004 236.925 81.9004H201.825C193.874 81.9004 187.405 75.5551 187.205 67.6523L187.2 67.2754V8.77539C187.2 3.9291 183.271 1.64951e-05 178.425 0H125.776Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M67.2755 81.9004C62.4293 81.9004 58.5002 85.8295 58.5002 90.6758V143.325C58.5004 148.171 62.4294 152.101 67.2755 152.101H102.375L102.753 152.105C110.53 152.303 116.798 158.571 116.995 166.348L117 166.726V225.225C117 230.071 120.929 234 125.776 234H178.425C183.271 234 187.2 230.071 187.2 225.225V172.575C187.2 167.729 183.271 163.8 178.425 163.8H143.25C135.334 163.76 128.905 157.43 128.705 149.553L128.7 149.176V90.6758C128.7 85.8295 124.771 81.9004 119.925 81.9004H67.2755Z\"\n className=\"fill-foreground\"\n />\n <path\n d=\"M8.77454 163.8C3.92844 163.8 0.00012207 167.729 0.00012207 172.575V225.225C0.00012207 230.071 3.92844 234 8.77454 234H61.4249C66.2712 234 70.2003 230.071 70.2003 225.225V172.575C70.2003 167.729 66.2712 163.8 61.4249 163.8H8.77454Z\"\n className=\"fill-foreground\"\n />\n </svg>\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/triangle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst TriangleAlert = createLucideIcon('TriangleAlert', [\n [\n 'path',\n {\n d: 'm21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3',\n key: 'wmoenq',\n },\n ],\n ['path', { d: 'M12 9v4', key: 'juzpu7' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n]);\n\nexport default TriangleAlert;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Sun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/sun\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sun = createLucideIcon('Sun', [\n ['circle', { cx: '12', cy: '12', r: '4', key: '4exip2' }],\n ['path', { d: 'M12 2v2', key: 'tus03m' }],\n ['path', { d: 'M12 20v2', key: '1lh1kg' }],\n ['path', { d: 'm4.93 4.93 1.41 1.41', key: '149t6j' }],\n ['path', { d: 'm17.66 17.66 1.41 1.41', key: 'ptbguv' }],\n ['path', { d: 'M2 12h2', key: '1t8f8n' }],\n ['path', { d: 'M20 12h2', key: '1q8mjw' }],\n ['path', { d: 'm6.34 17.66-1.41 1.41', key: '1m8zz5' }],\n ['path', { d: 'm19.07 4.93-1.41 1.41', key: '1shlcs' }],\n]);\n\nexport default Sun;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Settings\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/settings\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Settings = createLucideIcon('Settings', [\n [\n 'path',\n {\n d: 'M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z',\n key: '1qme2f',\n },\n ],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n]);\n\nexport default Settings;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('ExternalLink', [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n]);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Info = createLucideIcon('Info', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 16v-4', key: '1dtifu' }],\n ['path', { d: 'M12 8h.01', key: 'e9boi3' }],\n]);\n\nexport default Info;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Monitor = createLucideIcon('Monitor', [\n ['rect', { width: '20', height: '14', x: '2', y: '3', rx: '2', key: '48i651' }],\n ['line', { x1: '8', x2: '16', y1: '21', y2: '21', key: '1svkeh' }],\n ['line', { x1: '12', x2: '12', y1: '17', y2: '21', key: 'vw1qmm' }],\n]);\n\nexport default Monitor;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Moon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/moon\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Moon = createLucideIcon('Moon', [\n ['path', { d: 'M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z', key: 'a7tn18' }],\n]);\n\nexport default Moon;\n","import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Label\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Label';\n\ntype LabelElement = React.ComponentRef<typeof Primitive.label>;\ntype PrimitiveLabelProps = React.ComponentPropsWithoutRef<typeof Primitive.label>;\ninterface LabelProps extends PrimitiveLabelProps {}\n\nconst Label = React.forwardRef<LabelElement, LabelProps>((props, forwardedRef) => {\n return (\n <Primitive.label\n {...props}\n ref={forwardedRef}\n onMouseDown={(event) => {\n // only prevent text selection if clicking inside the label itself\n const target = event.target as HTMLElement;\n if (target.closest('button, input, select, textarea')) return;\n\n props.onMouseDown?.(event);\n // prevent text selection when double clicking label\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }}\n />\n );\n});\n\nLabel.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Label;\n\nexport {\n Label,\n //\n Root,\n};\nexport type { LabelProps };\n"],"names":[],"mappings":"6FAoBQ,8BACa,QAAA,OACqB,KAAA,GAC5B,OAAA,CAAQ,AAAR,GGDgC,AHCjB,EAAA,CAAA,CAAmB,eAAA,CAAgB,GCgB5D,CAAA,CDhBiE,IAAI,CAAC,mCEXtE,EAAQ,iBAGF,EFLkC,aESnC,MAEP,GAAa,GAAG,GACN,EAOR,eAAe,IAuBnB,SAAgB,IAMd,4BAJE,CDqBA,QC1CK,KAqBS,MDtBiB,CCE7B,CAAC,AAAmB,EFdO,SCaR,ACCY,CACjC,YDDA,OADS,AACF,UAGP,QAAA,IAAA,EAAc,SACW,SAAA,CAAzB,QAAA,IAAA,CAAa,OAAA,UAEL,KAAA,CAAA,CAAA,EACN,EAAA,CAAA,EAAM,IAAI,CACV,CCbyB,ODajB,IAAA,CAAK,OAAA,CACb,CAAA,KAAA,CAAA,CAAA,IAGK,KAEL,QAAQ,GAJR,CAIQ,EAAM,KCfI,ADYnB,KAGyB,SAAS,ICbnC,IDa2C,CAC3C,CAAA,CCZF,IAAM,EAAuB,ADYpB,QCZ4B,YAAA,CAC/B,EAAoB,QAAQ,SAAA,+BACF,AAAkB,CAAA,CAAO,CAAA,CAAO,CAAA,EAAK,WAE5D,EAAqB,IAAA,CAAK,QAAS,EAAO,EAAO,IAAI,kBAE1C,SAAS,AAAe,CAAA,CAAO,CAAA,CAAO,CAAA,CDiBvB,CCfjC,AAF6D,OAC7D,IACA,EAAyB,IAAA,CAAK,QAAS,EAAO,CADxB,CAC+B,IAAI,ADU3D,QAAA,IAAQ,CAAO,QAAQ,IAAA,EAAQ,SAEpB,aCjBa,IDkBZ,EAAE,EAEd,QAAQ,IAAA,CAAK,QAAA,CAAS,IAAA,CCbD,ADaM,eCLzB,OAAO,gBAAA,CAAiB,WAAY,GACpC,EDqBwC,ECrB3B,IADkC,GAC3B,mBAAA,CAAoB,WAAY,IACnD,EAAE,CAAC,CACC,GAF0D,EC/CnE,EFsEiB,EEtEX,EAAA,CAAA,EAAW,EAAA,CAAA,EDoDjB,ACpDuC,SDoDvB,EACd,IAAM,EAAA,CAAA,EAAS,ED0BQ,KAAA,CE/E0C,GF+E1C,ICxBjB,CAAC,EAAwB,EAAA,CAAA,CAAA,EAC7B,EAAA,aAAA,EAFmB,CAAA,EAAA,EAAA,eAAA,EAAiB,CAEQ,EAiC9C,MAAO,cACS,eAjCqB,EAAA,WAAA,EAAA,CAAa,EAAQ,YAAY,oBAE9D,AAAC,EAAQ,OAAA,CACX,CAAA,EAA0B,GAE5B,IAFmC,AAE7B,EAAM,AAmClB,SAAS,AAAU,CAAA,EACjB,GAAM,QAAE,CAAA,CAAQ,UAAA,MAAU,CAAA,CAAA,CAAS,SACnC,OAAO,EAAS,EAAA,CAAA,EAAW,EAAA,CAAA,EAAkB,GAAU,GArC7B,CAqC0B,EApChD,CAAA,EAAA,CAD6B,CAC7B,CAAA,EAAM,mCAAoC,GAG1C,CAH8C,GAGxC,EACgB,SAApB,EAAQ,OAAA,CAAqB,QAAQ,SAAA,CAAY,QAAQ,YAAA,OAE9C,GADL,CACK,CACX,QAGA,KACA,GACA,GAEE,CADH,CACW,MAAA,EACV,OAAO,QAAA,CAAS,EAAG,GAEjB,AAAC,EAAQ,OAAA,EAAA,EAGJ,OAAA,CAAA,EAAa,CAClB,CDWyC,OCXjC,CAAA,CACT,CAAC,IAGL,EAAE,CAAC,CAIJ,gBA3FiC,CA2FhB,CACjB,wBAAwB,KC3F5B,SAAA,EAA4B,UAC1B,CAAA,CACA,CFeiC,EEf9B,EAAA,EAGY,AACf,MAAO,CAAA,EAAA,EAAA,aAAA,EAAc,EAAU,CAC7B,GAAG,CAAA,CACH,SAAU,IACR,EAAA,aAAA,EAAc,EAAA,QAAA,CAAU,CACtB,IAAK,+BACL,SAAA,CAAA,EAAU,EAAA,aAAA,EAAc,CHAiB,IGE3C,EACD,gFUvBL,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QTJa,EAAA,EAAA,CAAA,CAAA,QAA4B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC,MAAuL,CAAC,CAAtL,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,EAAM,UAAJ,EAAY,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAD,CAAG,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAA,CAAE,CAAE,EAAE,YAAY,CAAC,EAAE,EAAE,IAAG,CAAE,EAAiB,GAAG,EAAE,QAAQ,CAAC,IAAK,EAAD,CAAG,KAAK,CAAC,WAAW,EAAC,CAAC,AAAvD,CAAsJ,GAAG,EAAE,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAE,aAAa,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,AAAI,WAAS,EAA/I,OAAO,UAAU,CAAC,gCAAgC,OAAO,CAAC,OAAO,QAAkF,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAM,EAAE,CAAC,QAAQ,OAAO,CAAC,EAAE,+BAA4D,CAA7B,CAA+B,EAAA,CAA7B,YAA4C,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAjE,CAAmE,EAAE,KAAK,IAAI,EAAE,OAAM,AAAqB,MAApB,GAAE,EAAA,UAAY,CAAC,EAAA,CAAE,CAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,EAAA,UAAY,CAAC,GAAG,EAAA,aAAe,CAAC,EAAA,QAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAA,aAAe,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,SAAS,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,EAAA,QAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAA,QAAU,CAAC,IAAQ,WAAJ,EAAa,IAAI,GAAG,EAAE,EAAE,OAAO,MAAM,CAAC,GAAG,EAAE,EAAE,EAAA,WAAa,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,OAAW,WAAJ,GAAc,IAAI,CAAD,CAAG,GAAA,CAAG,CAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,eAAe,CAAC,EAAE,IAAQ,UAAJ,AAAY,GAAC,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAA,CAAE,CAAE,EAAE,UAAU,CAAC,WAAW,CAAD,CAAG,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAA,CAAE,AAAC,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAI,MAAH,GAAS,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAA,WAAa,CAAC,IAAI,IAAI,EAAY,YAAV,OAAO,EAAc,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,aAAa,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAA,WAAa,CAAC,IAAe,EAAE,AAAP,EAAE,IAAY,WAAJ,GAAc,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAA,SAAW,CAAC,KAAK,IAAI,EAAE,OAAO,UAAU,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAA,SAAW,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAD,CAAG,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAA,CAAE,AAAC,EAAE,OAAO,OAAO,gBAAgB,CAAC,UAAU,GAAG,IAAI,OAAO,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,EAAA,SAAW,CAAC,KAAK,EAAE,AAAG,QAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAA,OAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,cAAkB,WAAJ,EAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAC,CAAC,CAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAA,aAAe,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAA,aAAe,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAA,IAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,EAAA,aAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,yBAAyB,CAAC,EAAE,MAAiC,CAA3B,CAAgC,EAAH,sBAA2B,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAkF,EAAE,EAAE,IAAI,IAAI,EAAE,SAAS,aAAa,CAAC,SAAS,OAAO,GAAG,EAAE,YAAY,CAAC,QAAQ,GAAG,EAAE,WAAW,CAAC,SAAS,cAAc,CAAC,gLAAgL,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,OAAO,gBAAgB,CAAC,SAAS,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAG,AAAC,IAAI,CAAD,CAAG,OAAO,UAAU,CAAC,EAAA,CAAE,CAAE,EAAE,OAAO,CAAC,OAAO,OAAA,CAAO,iEgBcvtG,YAAe,IAAK,CEAK,ALAN,AGAC,SAAU,CAAA,ACAM,CAAA,CAAA,CAAA,2EhBXjE,IAAA,EAAA,EAAA,CAAA,CAAA,QAMA,EAAA,EAAA,CAAA,CAAA,OAkCO,SAAS,EAAiB,QAAE,CAAM,CAAyB,EAChE,IAAM,EAAU,EAAO,OAAO,EAAI,QAC5B,CAAE,KAAM,CAAW,CAAE,CAAG,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,EAAO,OAAO,EACrD,CAAE,UAAQ,OAAE,CAAK,CAAE,CAAG,CA/BJ,CACxB,EACA,EACA,KAEA,GAAgB,WAAZ,EAAsB,CACxB,IAAM,EAAkB,EAAE,CAK1B,OAJI,EAAO,GAAG,EAAE,EAAM,IAAI,CAAC,CAAC,KAAK,EAAE,EAAO,GAAG,CAAA,CAAE,EAC3C,EAAO,OAAO,EAAE,EAAM,IAAI,CAAC,CAAC,SAAS,EAAE,EAAO,OAAO,CAAA,CAAE,EACvD,EAAO,IAAI,EAAE,EAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAO,IAAI,CAAA,CAAE,EAE3C,CAAE,SAAU,eAAU,CAAM,CACrC,CAEA,GAAgB,UAAZ,EAAqB,CAEvB,IAAM,EAAkB,EAAE,CAM1B,OALI,GAAa,YAAY,AAC3B,EAAM,IAAI,CAAC,CAAC,SAAS,EAAE,EAAY,UAAU,CAAA,CAAE,EAE7C,EAAO,IAAI,EAAE,EAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAO,IAAI,CAAA,CAAE,EAE3C,CAAE,SAAU,cAAS,CAAM,CACpC,CAEA,MAAO,CAAE,SAAU,EAAO,OAAO,EAAI,UAAW,MAAO,EAAE,AAAC,EAC5D,EAKgD,EAAS,EAAQ,GACzD,EACQ,UAAZ,EACI,GAAa,UACD,WAAZ,EACE,EAAO,GAAG,MACV,EACR,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,kEACb,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,wBAAc,iBACb,EAAS,IAAE,EAAY,CAAC,CAAC,EAAE,EAAU,CAAC,CAAC,CAAG,MAE3D,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,OAAO,CAAA,WACN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,cAAc,CAAA,CAAC,OAAO,CAAA,CAAA,WACrB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,cAEtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,cAAc,CAAA,UACb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,+BACZ,EAAM,GAAG,CAAC,AAAC,GACV,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UAAiB,GAAP,aAOzB,oCc3DsD,CHAE,AGAF,2BACpB,UAAU,CGAU,ADAX,AFAC,AFAI,CIAL,AJAK,AKAM,AFAL,UDCjC,4BAA8B,CAC5C,AED4C,AFAA,CEAA,CAAM,OFCvC,EAAG,2DAA4D,CAAA,CAAA,CAAA,CAAK,AAAL,QAAK,CAAU,CAAA,8DEFnD,CCAc,ALAhB,AGAA,ACAK,CAAA,ADAL,AEAgB,ALAhB,iBIA2B,CAAA,CAAA,EAAA,UAAe,CAAA,wCAC5B,CAAA,CAAA,CAAA,CAAA,AAAK,QAAA,CAAU,CAAA,CAAA,iBAC5C,CFAqD,AFAhD,AGAC,ACAN,CFAqD,AFAhD,AGAC,ACAN,CJAK,AGAC,ACAN,AFAqD,QEAvC,CAAA,AFAuC,CEAvC,AFAuC,CAAA,AEAvC,CFAuC,AEAjC,IAAI,CFA6B,AEA7B,CAAA,AFA6B,CAAA,AEA7B,CFA6B,AEAvB,CFAuB,AEAvB,CFAuB,AEAvB,CFAuB,AEAvB,CFAuB,AEAvB,CFAuB,AEAvB,AAAK,CFAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EEAR,CFAQ,CAAA,CAAA,CAAA,CAAA,CAAA,iHDH9B,CAAA,KCAQ,CAAA,2kBDOpD,CFAA,AEAA,ADAC,ACCD,CAAC,CFAA,ACAA,CDAA,ACAA,CAAA,ADAA,CCAA,ADAA,MEAY,GAAA,mBAA4B,CDAF,ADAC,GEAM,CAAA,CAAA,QAAU,mBDR7B,MAAO,YACrB,GAAA,uDACY,CEAI,AFAJ,AGAE,ACAG,GJAA,CGAH,ADAE,gCFCH,IAAA,sBACZ,CAAwB,ADA/B,AEAA,CFAA,AEAA,ADA+B,6CAC3B,EAAA,yBAA6B,CAAA,CAAA,CAAA,CAAA,AAAK,QAAA,CAAU,CAAA,CAAA,QAC9C,CAAE,EAAG,CAAW,CAAA,YAAK,QAAA,CAAU,CAAA,CAAA,QAC/B,CAAA,OMCiD,EAAG,kBNDpB,CAAA,qFAEF,CAAA,CAAA,EAAA,UAAe,GNjBxD,IAAA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QLHA,EAAA,EAAA,CAAA,CAAA,QASO,SAAS,EAAiB,OAC/B,CAAK,eACL,CAAa,CACb,SAAO,WACP,CAAS,CACa,EACtB,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,4FACA,YAGD,EAAQ,GAAG,CAAC,AAAC,GACZ,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAEC,KAAK,SACL,QAAS,IAAM,EAAc,EAAO,KAAK,EACzC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,gSACA,IAAU,EAAO,KAAK,CAClB,uCACA,oCAGL,EAAO,IAAI,CACX,EAAO,KAAK,EAAI,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,gBAAQ,EAAO,KAAK,KAXhD,EAAO,KAAK,IAgB3B,CIxCA,IAAA,EAAA,EAAA,CAAA,CAAA,iBMUsB,EAAA,OAAA,EAAA,gBAAkC,CAAA,kGAMpD,CAAA,ACAD,ACAC,aFEY,qDACmB,CCAM,CAAA,CAAA,CAAA,CAAA,KDAI,CAC5C,ENpBD,IAAA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,QKEA,IAAM,EAAQ,EAAA,UAAgB,CAC5B,CAAC,WAAE,CAAS,MAAE,CAAI,CAAE,GAAG,EAAO,CAAE,IAE5B,CAAA,EAAA,EAAA,GAAA,EAAC,QAAA,CACC,KAAM,EACN,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,oXACA,GAEF,IAAK,EACJ,GAAG,CAAK,IAKjB,EAAM,WAAW,CAAG,QRlBpB,IAAA,EAAA,EAAA,CAAA,CAAA,QAGI,EAAQ,EAAA,UAAgB,CAAC,CAAC,EAAO,IACZ,CAAA,EAAA,EAAA,GAAA,AAAG,EACxB,EAAA,SAAS,CAAC,KAAK,CACf,CACE,GAAG,CAAK,CACR,IAAK,EACL,YAAa,AAAC,IAER,AADW,EAAM,MAAM,CAChB,OAAO,CAAC,oCAAoC,CACvD,EAAM,WAAW,GAAG,GAChB,CAAC,EAAM,gBAAgB,EAAI,EAAM,MAAM,CAAG,GAAG,EAAM,cAAc,GACvE,CACF,IAGJ,EAAM,WAAW,CAhBN,EAgBS,MCdpB,IAAM,EAAgB,CAAA,EALtB,AAKsB,EALtB,CAAA,CAAA,QAKsB,GAAG,AAAH,EACpB,8FAGI,EAAQ,EAAA,UAAgB,CAI5B,CAAC,WAAE,CAAS,CAAE,GAAG,EAAO,CAAE,IAC1B,CAAA,EAAA,EAAA,GAAA,EAAC,ADMQ,ECNR,CACC,IAAK,EACL,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,IAAiB,GAC9B,GAAG,CAAK,IAGb,EAAM,WAAW,CAAG,EAAoB,WAAW,CEdnD,IAAA,EAAA,EAAA,CAAA,CAAA,QAOA,EAAA,EAAA,CAAA,CAAA,QDhBgM,EAAA,EAAA,CAAA,CAAA,QAAiH,EAAiC,CAAA,EAAA,EAAA,eAAb,MAAkC,AAArB,EAAsB,GAAxB,0CAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgB,CAAC,uBC6Bjb,SAAS,EAAgB,CAC9B,KAAM,CAAc,cACpB,CAAY,CACS,CAAG,CAAC,CAAC,EAC1B,MAAM,EAAS,CAAA,EAAA,EAAA,mBAAA,AAAmB,IAC5B,EAAe,CAAA,EAAA,EAAA,0BAAA,AAA0B,IAEzC,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,GAAC,GAE3C,EAAY,GAAgB,EAC5B,CAAC,EAAa,EAAe,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAc,GACtD,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAoB,EAAE,EACpD,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAQ,AAAR,GAAS,GAE3C,CAAE,KAAM,EAAqB,EAAE,CAAE,UAAW,CAAe,CAAE,CACjE,CAAA,EAAA,EAAA,qBAAA,AAAqB,IACjB,CAAE,KAAM,CAAW,CAAE,CAAG,CAAA,EAAA,EAAA,cAAc,AAAd,EAAe,EAAY,OAAO,EAE1D,EAAU,EAAY,OAAO,EAAI,QACjC,EAAsB,UAAZ,EACV,EAAyB,aAAZ,EAGnB,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACR,EAAe,EACjB,EAAG,CAAC,EAAO,EAEX,IAAM,EAAyB,UAC7B,GAAgB,GAChB,GAAI,CACF,IAAM,EAAmB,MAAM,EAAoB,GACnD,EAAU,GAEsB,GAAG,CAA/B,EAAiB,MAAM,GACzB,EAAa,GACb,GAAU,GAEd,CAAE,MAAO,EAAO,CACd,QAAQ,KAAK,CAAC,oBAAqB,GACnC,EAAU,CACR,CACE,MAAO,UACP,QAAS,aAAiB,MAAQ,EAAM,OAAO,CAAG,eACpD,EACD,CACH,QAAU,CACR,GAAgB,EAClB,CACF,EAEM,EAAoB,CAAC,EAA0B,KACnD,EAAe,AAAC,IAAU,CAAE,EAAH,CAAM,CAAI,CAAE,CAAC,EAAM,CAAE,EAAM,CAAC,EAErD,EAAU,AAAC,GAAS,EAAK,MAAM,CAAC,AAAC,GAAM,EAAE,KAAK,GAAK,GACrD,EAEM,EAAiB,AAAD,GACb,EAAO,IAAI,CAAC,AAAC,GAAM,EAAE,KAAK,GAAK,IAAQ,QAG1C,EACJ,KAAK,SAAS,CAAC,KAAiB,KAAK,SAAS,CAAC,IAAW,EAAO,MAAM,CAAG,EAE5E,MACE,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,gBACsB,IAAnB,GACC,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,KAAK,SACL,QAAS,IAAM,GAAU,GACzB,UAAU,qDACV,MAAM,yBAEN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,cAGvB,MAnE6B,IAAnB,EAA+B,EAAiB,CAAA,GAoEzD,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WAEE,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,KAAK,SACL,UAAU,gDACV,QAAS,IAAM,EAAU,IACzB,aAAW,8BAIb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,iGACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gBACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,mDACb,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,8BAAqB,kBACnC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,KAAK,SACL,QAAS,IAAM,GAAU,GACzB,QAAQ,UACR,KAAK,gBAEL,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAC,CAAA,CAAC,UAAU,iBAIjB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,mBAAU,YACzB,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,MAAM,CAAA,CACL,MAAO,EAAY,OAAO,EAAI,QAC9B,cAAe,AAAC,GACd,EAAkB,UAAW,aAG/B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,aAAa,CAAA,CAAC,GAAG,mBAChB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAAC,YAAY,qBAE3B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,aAAa,CAAA,UACX,EACC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,UAAU,QAAQ,CAAA,CAAA,WAAC,sBAGnC,EAAmB,MAAM,CAAG,EAC9B,EAAmB,GAAG,CAAC,AAAC,GACtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAgB,MAAO,EAAM,EAAE,UACvC,EAAM,WAAW,EADH,EAAM,EAAE,GAK3B,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,iBAAQ,UAC1B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,kBAAS,WAC3B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,MAAM,oBAAW,uBAU/B,CAHE,EAAgB,EAAmB,IAAI,CAC1C,AAAD,GAAO,EAAE,EAAE,GAAK,KAEG,CAAC,EAAc,WAAW,CAE3C,CAF6C,AAE7C,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gIACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,UAAU,4BACzB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,uBAAc,0BAC3B,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CAAE,UAAU,uCAA6B,OACnC,IACL,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,wCACb,EAAc,cAAc,YAOlC,QAIV,GACC,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,gBAAO,SACtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,OACH,MAAO,EAAY,IAAI,EAAI,GAC3B,SAAU,AAAC,GACT,EAAkB,OAAQ,EAAE,MAAM,CAAC,KAAK,EAE1C,YAAY,OACZ,UACE,EAAc,QAAU,qBAAuB,KAGlD,EAAc,SACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,gDACV,EAAc,aAKrB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,mBAAU,mBACzB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,UACH,MAAO,EAAY,OAAO,EAAI,GAC9B,SAAW,AAAD,GACR,EAAkB,UAAW,EAAE,MAAM,CAAC,KAAK,EAE7C,YAAY,iCACZ,UACE,EAAc,WAAa,qBAAuB,KAGtD,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yCAAgC,6HAO/C,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,wBAAe,kBAC9B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,eACH,MAAO,EAAY,YAAY,EAAI,GACnC,SAAU,AAAC,GACT,EAAkB,eAAgB,EAAE,MAAM,CAAC,KAAK,EAElD,YAAY,4CACZ,UACE,EAAc,gBACV,qBACA,KAGP,EAAc,iBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,gDACV,EAAc,kBAGnB,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yCAAgC,oFAQlD,GACC,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,QAAA,CAAA,UACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,uBAAc,mBAC7B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,cACH,MAAO,EAAY,WAAW,EAAI,GAClC,SAAU,AAAC,GACT,EAAkB,cAAe,EAAE,MAAM,CAAC,KAAK,EAEjD,YAAY,oCACZ,UACE,EAAc,eACV,qBACA,KAGP,EAAc,gBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,oCACV,EAAc,sBAOxB,CAAC,GAAW,CAAC,GACZ,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,eAAM,gBACrB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,MACH,MAAO,EAAY,GAAG,EAAI,aAC1B,SAAW,AAAD,GACR,EAAkB,MAAO,EAAE,MAAM,CAAC,KAAK,EAEzC,YAAY,6BAIhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,qBAAY,eAC3B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,YACH,KAAK,WACL,MAAO,EAAY,SAAS,EAAI,GAChC,SAAU,AAAC,GACT,EAAkB,YAAa,EAAE,MAAM,CAAC,KAAK,EAE/C,YAAY,yBAIhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,mBAAU,eACzB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,UACH,MAAO,EAAY,OAAO,EAAI,GAC9B,SAAU,AAAC,GACT,EAAkB,UAAW,EAAE,MAAM,CAAC,KAAK,EAE7C,YAAY,eAIhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,QAAQ,gBAAO,YACtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,GAAG,OACH,MAAO,EAAY,IAAI,EAAI,GAC3B,SAAW,AAAD,GACR,EAAkB,OAAQ,EAAE,MAAM,CAAC,KAAK,EAE1C,YAAY,mBAMnB,EAAO,MAAM,CAAG,GACf,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,KAAK,CAAA,CACJ,QAAQ,cACR,UAAU,mDAEV,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAAC,UAAU,YACvB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,UAAC,wBACZ,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,UACf,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,2CACX,EAAO,GAAG,CAAC,CAAC,EAAO,IAClB,CAAA,EAAA,EAAA,IAAA,EAAC,KAAA,CAAwB,UAAU,wBAChB,YAAhB,EAAM,KAAK,EACV,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,WAAQ,EAAM,KAAK,CAAC,OACpB,IACF,EAAM,OAAO,GAJP,CAAC,MAAM,EAAE,EAAA,CAAK,UAWjC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,qCACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,QAAS,EACT,SACE,GACA,CAAC,GACD,EAAmB,IAAI,CACrB,AAAC,GAAM,EAAE,EAAE,GAAK,GAAW,CAAC,EAAE,WAAW,EAG7C,UAAU,kBAET,EAAe,gBAAkB,wBAEpC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,QAAQ,UACR,QAAS,KACP,EAAe,GACf,EAAU,EAAE,EACZ,GAAU,EACZ,EACA,UAAU,kBACX,2BAWnB,CCnXA,SAAS,EAAsB,MAC7B,CAAI,CACJ,cAAY,CAIb,EACC,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAgB,KAAM,EAAM,aAAc,GACpD,CAEO,SAAS,IACd,GAAM,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,IAC3C,OAAE,CAAK,UAAE,CAAQ,CAAE,CAAG,IAG5B,MACE,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,YAAY,CAAA,WACX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,mBAAmB,CAAA,CAAC,OAAO,CAAA,CAAA,WAC1B,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,MAAM,CAAA,CAAC,QAAQ,UAAU,KAAK,iBAC7B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,0BACpB,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,mBAAU,kBAG9B,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,mBAAmB,CAAA,CAAC,MAAM,MAAM,UAAU,iBACzC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gDACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,iBAAiB,CAAA,CAAC,UAAU,qBAAY,UACzC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,MAfS,CAeF,EAfW,SAgBlB,cAAe,EACf,QAAS,CACP,CACE,MAAO,SACP,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAQ,UAAU,WAC3B,EACA,CACE,MAAO,QACP,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAI,UAAU,WACvB,EACA,CACE,MAAO,OACP,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,UAAU,WACxB,EACD,MAGL,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,qBAAqB,CAAA,CAAA,GACtB,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,gBAAgB,CAAA,CAAC,SAAU,IAAM,GAAgB,aAChD,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UAAK,kBACN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,UAAU,uBAEtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAAC,OAAO,CAAA,CAAA,WACvB,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CACC,KAAK,+CACL,OAAO,SACP,IAAI,gCAEJ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UAAK,SACN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAa,UAAU,+BAKhC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,KAAM,EACN,aAAc,MAItB,CCpFA,IAAA,EAAA,EAAA,CAAA,CAAA,OAEA,IAAM,EAAU,CAAC,CAAE,GAAG,EAAqB,IACzC,GAAM,OAAE,EAAQ,QAAQ,CAAE,CAAG,IAE7B,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAM,CAAA,CACL,MAAO,EACP,UAAU,gBACV,aAAc,CACZ,WAAY,CACV,MACE,wIACF,YAAa,uCACb,aACE,mEACF,aACE,+DACF,MACE,mHACF,QACE,6FACJ,CACF,EACC,GAAG,CAAK,EAGf,EE1BO,SAAS,EAAK,WAAE,CAAS,CAAa,CAAG,CAAC,CAAC,EAChD,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CACC,QAAQ,eACR,KAAK,OACL,MAAM,6BACN,UAAW,GAAa,aACxB,KAAK,MACL,aAAW,0BAEX,CAAA,EAAA,EAAA,GAAA,EAAC,QAAA,UAAM,kBACP,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,SAAS,UACT,SAAS,UACT,EAAE,iaACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,SAAS,UACT,SAAS,UACT,EAAE,iZACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,uLACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,qJACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,uNACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,0JACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,2LACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,oLACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,otBACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,8dACF,UAAU,oBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,EAAE,yOACF,UAAU,sBAIlB,CDhDA,SAAS,EAAc,UAAE,CAAQ,CAAqB,EACpD,IAAM,EAAS,CAAA,EAAA,EAAA,SAAA,AAAS,IAClB,EAAW,CAAA,EAAA,EAAA,WAAA,AAAW,IACtB,EAAe,CAAA,EAAA,EAAA,eAAA,AAAe,IAC9B,EAAS,CAAA,EAAA,EAAA,mBAAA,AAAmB,IAC5B,UAAE,CAAQ,CAAE,CAAG,IAEf,EAAK,EAAa,GAAG,CAAC,MACtB,EAAQ,EAAa,GAAG,CAAC,SACzB,EAAS,EAAa,GAAG,CAAC,UAC1B,EAAS,EAAa,GAAG,CAAC,UAC1B,EAAW,EAAa,GAAG,CAAC,YAC5B,EAAa,EAAa,GAAG,CAAC,SAG9B,EAAkB,CAAA,EAAA,EAAA,MAAA,AAAM,GAAC,GAoG/B,MAjGA,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KAEN,GACC,CAAe,UAAhB,GACiB,SAAf,GACe,WAAf,CAAe,CAAQ,EAEzB,CADA,CACS,EAEb,EAAG,CAAC,EAAY,EAAS,EAIzB,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,SA8CJ,EA5CJ,GAAiB,MAAb,IAAoB,EAAgB,OAAO,EAK/C,AALiD,GAK7C,EAAS,UAAU,CAAC,SAAU,CAChC,EAAgB,OAAO,EAAG,EAC1B,MACF,CAGA,GAAI,CAAC,EAAU,CACb,GAAI,EAAO,CAET,IAAI,EAGF,EAFE,EAEU,CAAA,EAAA,EAAA,CAFF,iBAEE,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,cACT,CACF,GACS,EAEG,CAAA,EAAA,EAAA,CAFK,iBAEL,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,cACT,CACF,GAGY,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,GAElD,EAAgB,OAAO,EAAG,EAC1B,EAAO,IAAI,CAAC,EAEd,CAEA,MACF,CAGA,GAAK,CAAD,EAKJ,CALS,EAKL,AAAa,OAAO,GACtB,EAAY,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAI,CAAE,QACxC,GAAiB,SAAb,GAAuB,EAChC,EAAY,CAAA,EAD2B,AAC3B,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,OACT,OAAQ,CACV,QACK,GAAiB,WAAb,GAAyB,EAClC,EAAY,CAAA,EAD6B,AAC7B,EAAA,kBAAkB,AAAlB,EAAmB,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,SACT,SAAU,CACZ,QACK,GAAiB,UAAb,GAAwB,EACjC,EAAY,CAAA,EAD4B,AAC5B,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,QACT,QAAS,CACX,QACK,GAAiB,SAAb,GAAuB,EAChC,EAAY,CAAA,EAD2B,AAC3B,EAAA,kBAAA,AAAkB,EAAC,CAAC,KAAK,EAAE,EAAA,CAAO,CAAE,EAAQ,CACtD,QAAS,OACT,OAAQ,CACV,QACK,GAAiB,SAAb,CAAuB,EAAC,EAM5B,KANmC,OAOxC,QAAQ,IAAI,CAAC,CAAC,mBAAmB,EAAE,EAAS,CAAC,EAAE,EAAG,CAAC,CAAC,EALpD,EAAY,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,IAAK,EAAQ,CAC1C,QAAS,OACT,OAAQ,CACV,GAMF,EAAgB,OAAO,EAAG,EAC1B,EAAO,IAAI,CAAC,IACd,EAAG,CAAC,EAAU,EAAI,EAAO,EAAQ,EAAQ,EAAQ,EAAQ,EAAS,EAGhE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,uCACb,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,eAAe,CAAA,CAAC,cAAe,YAE9B,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,8DACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,qDACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAI,CAAA,CAAC,KAAM,CAAA,EAAA,EAAA,kBAAA,AAAkB,EAAC,IAAK,YAClC,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CACC,UAAU,0BACV,MAAM,kCAEN,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,OAGL,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,4CACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAiB,OAAQ,IAC1B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,WAMP,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,4BAAoB,OAErC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,KAGP,CAEO,SAAS,EAAa,UAAE,CAAQ,CAAqB,EAC1D,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,UAAU,QACV,aAAa,SACb,YAAY,CAAA,CAAA,EACZ,yBAAyB,CAAA,CAAA,EACzB,WAAW,0BAEX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAe,KAGtB","ignoreList":[0,1,2,3,4,7,16,17,18,19,20,21,22,23]}
|