khoj 1.27.2.dev29__py3-none-any.whl → 1.28.0__py3-none-any.whl

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.
Files changed (68) hide show
  1. khoj/configure.py +1 -1
  2. khoj/database/adapters/__init__.py +50 -12
  3. khoj/interface/compiled/404/index.html +1 -1
  4. khoj/interface/compiled/_next/static/chunks/1034-da58b679fcbb79c1.js +1 -0
  5. khoj/interface/compiled/_next/static/chunks/1467-b331e469fe411347.js +1 -0
  6. khoj/interface/compiled/_next/static/chunks/1603-c1568f45947e9f2c.js +1 -0
  7. khoj/interface/compiled/_next/static/chunks/3423-f4b7df2f6f3362f7.js +1 -0
  8. khoj/interface/compiled/_next/static/chunks/8423-da57554315eebcbe.js +1 -0
  9. khoj/interface/compiled/_next/static/chunks/app/chat/page-d8f4c107ad78e9e9.js +1 -0
  10. khoj/interface/compiled/_next/static/chunks/app/factchecker/page-1cc42ee55f89fb2e.js +1 -0
  11. khoj/interface/compiled/_next/static/chunks/app/{page-4dc472cf6d674004.js → page-07e54186b066f5ce.js} +1 -1
  12. khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-eb9e282691858f2e.js → page-db775d42e820afb2.js} +1 -1
  13. khoj/interface/compiled/_next/static/chunks/{webpack-2b720658ccc746f2.js → webpack-8f2abab7b11aa120.js} +1 -1
  14. khoj/interface/compiled/_next/static/css/{2272c73fc7a3b571.css → 26c1c33d0423a7d8.css} +1 -1
  15. khoj/interface/compiled/_next/static/css/a795ee88875f4853.css +25 -0
  16. khoj/interface/compiled/agents/index.html +1 -1
  17. khoj/interface/compiled/agents/index.txt +2 -2
  18. khoj/interface/compiled/automations/index.html +1 -1
  19. khoj/interface/compiled/automations/index.txt +2 -2
  20. khoj/interface/compiled/chat/index.html +1 -1
  21. khoj/interface/compiled/chat/index.txt +2 -2
  22. khoj/interface/compiled/factchecker/index.html +1 -1
  23. khoj/interface/compiled/factchecker/index.txt +2 -2
  24. khoj/interface/compiled/index.html +1 -1
  25. khoj/interface/compiled/index.txt +2 -2
  26. khoj/interface/compiled/search/index.html +1 -1
  27. khoj/interface/compiled/search/index.txt +2 -2
  28. khoj/interface/compiled/settings/index.html +1 -1
  29. khoj/interface/compiled/settings/index.txt +2 -2
  30. khoj/interface/compiled/share/chat/index.html +1 -1
  31. khoj/interface/compiled/share/chat/index.txt +2 -2
  32. khoj/processor/conversation/anthropic/anthropic_chat.py +14 -10
  33. khoj/processor/conversation/anthropic/utils.py +13 -2
  34. khoj/processor/conversation/google/gemini_chat.py +15 -11
  35. khoj/processor/conversation/offline/chat_model.py +18 -10
  36. khoj/processor/conversation/openai/gpt.py +11 -8
  37. khoj/processor/conversation/openai/utils.py +7 -0
  38. khoj/processor/conversation/prompts.py +156 -49
  39. khoj/processor/conversation/utils.py +146 -13
  40. khoj/processor/embeddings.py +4 -4
  41. khoj/processor/tools/online_search.py +13 -7
  42. khoj/processor/tools/run_code.py +144 -0
  43. khoj/routers/api.py +6 -6
  44. khoj/routers/api_chat.py +193 -112
  45. khoj/routers/helpers.py +107 -48
  46. khoj/routers/research.py +320 -0
  47. khoj/search_filter/date_filter.py +1 -3
  48. khoj/search_filter/file_filter.py +1 -2
  49. khoj/search_type/text_search.py +3 -3
  50. khoj/utils/helpers.py +24 -2
  51. khoj/utils/yaml.py +4 -0
  52. {khoj-1.27.2.dev29.dist-info → khoj-1.28.0.dist-info}/METADATA +2 -2
  53. {khoj-1.27.2.dev29.dist-info → khoj-1.28.0.dist-info}/RECORD +61 -58
  54. khoj/interface/compiled/_next/static/chunks/1603-5138bb7c8035d9a6.js +0 -1
  55. khoj/interface/compiled/_next/static/chunks/2697-61fcba89fd87eab4.js +0 -1
  56. khoj/interface/compiled/_next/static/chunks/3423-0b533af8bf6ac218.js +0 -1
  57. khoj/interface/compiled/_next/static/chunks/9479-ff7d8c4dae2014d1.js +0 -1
  58. khoj/interface/compiled/_next/static/chunks/app/chat/page-97f5b61aaf46d364.js +0 -1
  59. khoj/interface/compiled/_next/static/chunks/app/factchecker/page-d82403db2866bad8.js +0 -1
  60. khoj/interface/compiled/_next/static/css/76d55eb435962b19.css +0 -25
  61. /khoj/interface/compiled/_next/static/{atzIseFarmC7TIwq2BgHC → cC7ahn2y_DddSVovjlztj}/_buildManifest.js +0 -0
  62. /khoj/interface/compiled/_next/static/{atzIseFarmC7TIwq2BgHC → cC7ahn2y_DddSVovjlztj}/_ssgManifest.js +0 -0
  63. /khoj/interface/compiled/_next/static/chunks/{1970-60c96aed937a4928.js → 1970-d44050bf658ae5cc.js} +0 -0
  64. /khoj/interface/compiled/_next/static/chunks/{9417-2ca87207387fc790.js → 9417-0d0fc7eb49a86abb.js} +0 -0
  65. /khoj/interface/compiled/_next/static/chunks/app/settings/{page-7a8c382af2a7e870.js → page-10b288c103f19468.js} +0 -0
  66. {khoj-1.27.2.dev29.dist-info → khoj-1.28.0.dist-info}/WHEEL +0 -0
  67. {khoj-1.27.2.dev29.dist-info → khoj-1.28.0.dist-info}/entry_points.txt +0 -0
  68. {khoj-1.27.2.dev29.dist-info → khoj-1.28.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8423],{38423:function(e,t,n){"use strict";n.d(t,{a:function(){return S}});var a=n(57437),s=n(37649),r=n.n(s),l=n(2265),o=n(11838),i=n.n(o);n(7395);var c=n(35719),d=n(86819),u=n(77689),h=n(86829),f=n(33009),g=n(51091),m=n(82119),x=n(42491),p=n(6780),j=n(50495),b=n(70571),v=n(19573),w=n(61485),y=n(93146),N=n(19666),C=n(58575),k=n(66820),R=n(9557),D=n(58485),E=n(89417);let S=(0,l.forwardRef)((e,t)=>{let[n,s]=(0,l.useState)(""),o=(0,l.useRef)(null),[S,O]=(0,l.useState)(null),[T,z]=(0,l.useState)(null),[M,I]=(0,l.useState)(!1),[_,L]=(0,l.useState)(null),[A,U]=(0,l.useState)(!1),[F,P]=(0,l.useState)(!1),[W,Y]=(0,l.useState)([]),[$,J]=(0,l.useState)([]),[H,K]=(0,l.useState)(!1),[B,Z]=(0,l.useState)(null),[V,X]=(0,l.useState)(0),[q,G]=(0,l.useState)(!1),[Q,ee]=(0,l.useState)(!1),[et,en]=(0,l.useState)(e.isResearchModeEnabled||!1);function ea(){if(F&&(P(!1),Y([]),$.forEach(t=>e.sendImage(t))),!n.trim())return;if(!e.isLoggedIn){L("Hey there, you need to be signed in to send messages to Khoj AI"),U(!0);return}let t=n.trim();et&&!t.startsWith("/research")&&(t="/research ".concat(t)),e.sendMessage(t),s("")}function es(n){var a,s;if(!e.isLoggedIn){L("Please login to chat with your files"),U(!0);return}let r=["jpg","jpeg","png","webp"],l=[];for(let e=0;e<n.length;e++){let t=n[e],a=t.name.split(".").pop();r.includes(a||"")&&l.push(i().sanitize(URL.createObjectURL(t)))}if(l.length>0){P(!0),Y(e=>[...e,...l]),null==t||null===(s=t.current)||void 0===s||s.focus();return}(0,R.ko)(n,O,I,z,e.setUploadedFiles,e.conversationId),null==t||null===(a=t.current)||void 0===a||a.focus()}async function er(){try{let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new MediaRecorder(e,{mimeType:"audio/webm"}),n=[];t.ondataavailable=async e=>{n.push(e.data);let t=new Blob(n,{type:"audio/webm"}),a=new FormData;a.append("file",t);try{let e=await fetch("/api/transcribe",{method:"POST",body:a});if(!e.ok)throw Error("Network response was not ok");let t=await e.json();s(t.text.trim())}catch(e){console.error("Error sending audio to server:",e)}},t.start(1500),t.onstop=async()=>{let e=new Blob(n,{type:"audio/webm"}),a=new FormData;a.append("file",e);try{let e=await fetch("/api/transcribe",{method:"POST",body:a});if(!e.ok)throw Error("Network response was not ok");let n=await e.json();t.stream.getTracks().forEach(e=>e.stop()),Z(null),s(n.text.trim())}catch(e){console.error("Error sending audio to server:",e)}},Z(t)}catch(e){console.error("Error getting microphone",e)}}return(0,l.useEffect)(()=>{if(M||X(0),M){let e=setInterval(()=>{X(e=>{let t=e+(Math.floor(5*Math.random())+1);return t<100?t:100})},800);return()=>clearInterval(e)}},[M]),(0,l.useEffect)(()=>{async function e(){W.length>0&&J(await Promise.all(W.map(async e=>{let t=await fetch(e),n=await t.blob();return new Promise(e=>{let t=new FileReader;t.onload=()=>e(t.result),t.readAsDataURL(n)})}))),I(!1)}I(!0),e()},[W]),(0,l.useEffect)(()=>{e.isResearchModeEnabled&&en(e.isResearchModeEnabled)},[e.isResearchModeEnabled]),(0,l.useEffect)(()=>{!H&&B&&B.stop(),H&&!B&&er()},[H,B]),(0,l.useEffect)(()=>{(null==t?void 0:t.current)&&(t.current.style.height="auto",t.current.style.height=Math.max(t.current.scrollHeight-24,64)+"px",n.startsWith("/")&&1===n.split(" ").length?ee(!0):ee(!1))},[n]),(0,a.jsxs)(a.Fragment,{children:[A&&_&&(0,a.jsx)(k.Z,{onOpenChange:U,loginRedirectMessage:_}),M&&(0,a.jsx)(p.aR,{open:M,children:(0,a.jsxs)(p._T,{children:[(0,a.jsx)(p.fY,{children:(0,a.jsx)(p.f$,{children:"Uploading data. Please wait."})}),(0,a.jsx)(p.yT,{children:(0,a.jsx)(b.E,{indicatorColor:"bg-slate-500",className:"w-full h-2 rounded-full",value:V})}),(0,a.jsx)(p.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>I(!1),children:"Dismiss"})]})}),S&&(0,a.jsx)(p.aR,{open:null!==S,children:(0,a.jsxs)(p._T,{children:[(0,a.jsx)(p.fY,{children:(0,a.jsx)(p.f$,{children:"Data Upload Warning"})}),(0,a.jsx)(p.yT,{children:S}),(0,a.jsx)(p.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>O(null),children:"Close"})]})}),T&&(0,a.jsx)(p.aR,{open:null!==T,children:(0,a.jsxs)(p._T,{children:[(0,a.jsxs)(p.fY,{children:[(0,a.jsx)(p.f$,{children:"Oh no!"}),(0,a.jsx)(p.yT,{children:"Something went wrong while uploading your data"})]}),(0,a.jsx)(p.yT,{children:T}),(0,a.jsx)(p.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>z(null),children:"Close"})]})}),Q&&(0,a.jsx)("div",{className:"flex justify-center text-center",children:(0,a.jsxs)(v.J2,{open:Q,onOpenChange:ee,children:[(0,a.jsx)(w.xo,{className:"flex justify-center text-center"}),(0,a.jsx)(v.yk,{onOpenAutoFocus:e=>e.preventDefault(),className:"".concat(e.isMobileWidth?"w-[100vw]":"w-full"," rounded-md"),side:"bottom",align:"center",sideOffset:e.conversationId?0:80,alignOffset:0,children:(0,a.jsxs)(x.mY,{className:"max-w-full",children:[(0,a.jsx)(x.sZ,{placeholder:"Type a command or search...",value:n,className:"hidden"}),(0,a.jsxs)(x.e8,{children:[(0,a.jsx)(x.rb,{children:"No matching commands."}),(0,a.jsx)(x.fu,{heading:"Agent Tools",children:e.chatOptionsData&&Object.entries(e.chatOptionsData).map(e=>{let[t,n]=e;return(0,a.jsx)(x.di,{className:"text-md",onSelect:()=>{s("/".concat(t," "))},children:(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-1",children:[(0,a.jsxs)("div",{className:"font-bold flex items-center",children:[(0,E.vH)(t,"h-4 w-4 mr-2"),"/",t]}),(0,a.jsx)("div",{children:n})]})},t)})}),(0,a.jsx)(x.zz,{})]})]})})]})}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"".concat(r().actualInputArea," justify-between dark:bg-neutral-700 relative ").concat(q&&"animate-pulse"),onDragOver:function(e){e.preventDefault(),G(!0)},onDragLeave:function(e){e.preventDefault(),G(!1)},onDrop:function(e){e.preventDefault(),G(!1),e.dataTransfer.files&&es(e.dataTransfer.files)},children:[(0,a.jsx)("input",{type:"file",multiple:!0,ref:o,onChange:function(e){e.target.files&&es(e.target.files)},style:{display:"none"}}),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsx)(j.z,{variant:"ghost",className:"!bg-none p-0 m-2 h-auto text-3xl rounded-full text-gray-300 hover:text-gray-500",disabled:e.sendDisabled,onClick:function(){o.current&&o.current.click()},children:(0,a.jsx)(c.p,{className:"w-8 h-8"})})}),(0,a.jsxs)("div",{className:"flex-grow flex flex-col w-full gap-1.5 relative",children:[(0,a.jsx)("div",{className:"flex items-center gap-2 overflow-x-auto",children:F&&W.map((e,t)=>(0,a.jsxs)("div",{className:"relative flex-shrink-0 pb-3 pt-2 group",children:[(0,a.jsx)("img",{src:e,alt:"img-".concat(t),className:"w-auto h-16 object-cover rounded-xl"}),(0,a.jsx)(j.z,{variant:"ghost",size:"icon",className:"absolute -top-0 -right-2 h-5 w-5 rounded-full bg-neutral-200 dark:bg-neutral-600 hover:bg-neutral-300 dark:hover:bg-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{Y(e=>e.filter((e,n)=>n!==t)),J(e=>e.filter((e,n)=>n!==t)),1===W.length&&P(!1)},children:(0,a.jsx)(d.X,{className:"h-3 w-3"})})]},t))}),(0,a.jsx)(y.g,{ref:t,className:"border-none focus:border-none\n focus:outline-none focus-visible:ring-transparent\n w-full h-16 min-h-16 max-h-[128px] md:py-4 rounded-lg resize-none dark:bg-neutral-700\n ".concat(e.isMobileWidth?"text-md":"text-lg"),placeholder:"Type / to see a list of commands",id:"message",autoFocus:!0,value:n,onKeyDown:t=>{"Enter"!==t.key||t.shiftKey||e.isMobileWidth||(P(!1),Y([]),t.preventDefault(),ea())},onChange:e=>s(e.target.value),disabled:e.sendDisabled||H})]}),(0,a.jsxs)("div",{className:"flex items-center",children:[H?(0,a.jsx)(N.pn,{children:(0,a.jsxs)(N.u,{children:[(0,a.jsx)(N.aJ,{asChild:!0,children:(0,a.jsx)(j.z,{variant:"default",className:"".concat(!H&&"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:()=>{K(!H)},disabled:e.sendDisabled,children:(0,a.jsx)(u.d,{weight:"fill",className:"w-6 h-6"})})}),(0,a.jsx)(N._v,{children:"Click to stop recording and transcribe your voice."})]})}):B?(0,a.jsx)(D.l,{}):(0,a.jsx)(N.pn,{children:(0,a.jsxs)(N.u,{children:[(0,a.jsx)(N.aJ,{asChild:!0,children:(0,a.jsx)(j.z,{variant:"default",className:"".concat(!n||H||"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:()=>{s("Listening..."),K(!H)},disabled:e.sendDisabled,children:(0,a.jsx)(h.P,{weight:"fill",className:"w-6 h-6"})})}),(0,a.jsx)(N._v,{children:"Click to transcribe your message with voice."})]})}),(0,a.jsx)(j.z,{className:"".concat((!n||H)&&"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:ea,disabled:e.sendDisabled,children:(0,a.jsx)(f.a,{className:"w-6 h-6",weight:"bold"})})]})]}),(0,a.jsx)(N.pn,{children:(0,a.jsxs)(N.u,{children:[(0,a.jsx)(N.aJ,{asChild:!0,children:(0,a.jsxs)(j.z,{variant:"ghost",className:"float-right justify-center gap-1 flex items-center p-1.5 mr-2 h-fit",onClick:()=>{var e;en(!et),null==t||null===(e=t.current)||void 0===e||e.focus()},children:[(0,a.jsx)("span",{className:"text-muted-foreground text-sm",children:"Research Mode"}),et?(0,a.jsx)(g.W,{className:"w-6 h-6 inline-block ".concat(e.agentColor?(0,C.oz)(e.agentColor):(0,C.oz)("orange")," rounded-full")}):(0,a.jsx)(m.$,{className:"w-6 h-6 inline-block rounded-full"})]})}),(0,a.jsx)(N._v,{className:"text-xs",children:"(Experimental) Research Mode allows you to get more deeply researched, detailed responses. Response times may be longer."})]})})]})]})});S.displayName="ChatInputArea"},66820:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var a=n(57437),s=n(6780),r=n(87138);function l(e){return(0,a.jsx)(s.aR,{open:!0,onOpenChange:e.onOpenChange,children:(0,a.jsxs)(s._T,{children:[(0,a.jsx)(s.fY,{children:(0,a.jsx)(s.f$,{children:"Sign in to Khoj to continue"})}),(0,a.jsxs)(s.yT,{children:[e.loginRedirectMessage,". By logging in, you agree to our"," ",(0,a.jsx)(r.default,{href:"https://khoj.dev/terms-of-service",children:"Terms of Service."})]}),(0,a.jsxs)(s.xo,{children:[(0,a.jsx)(s.le,{children:"Dismiss"}),(0,a.jsx)(s.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>{window.location.href="/login?next=".concat(encodeURIComponent(window.location.pathname))},children:(0,a.jsxs)(r.default,{href:"/login?next=".concat(encodeURIComponent(window.location.pathname)),children:[" ","Login"]})})]})]})})}},70571:function(e,t,n){"use strict";n.d(t,{E:function(){return o}});var a=n(57437),s=n(2265),r=n(52431),l=n(37440);let o=s.forwardRef((e,t)=>{let{className:n,value:s,indicatorColor:o,...i}=e;return(0,a.jsx)(r.fC,{ref:t,className:(0,l.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",n),...i,children:(0,a.jsx)(r.z$,{className:"h-full w-full flex-1 bg-primary transition-all ".concat(o),style:{transform:"translateX(-".concat(100-(s||0),"%)")}})})});o.displayName=r.fC.displayName},93146:function(e,t,n){"use strict";n.d(t,{g:function(){return l}});var a=n(57437),s=n(2265),r=n(37440);let l=s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,a.jsx)("textarea",{className:(0,r.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background 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),ref:t,...s})});l.displayName="Textarea"},19666:function(e,t,n){"use strict";n.d(t,{_v:function(){return d},aJ:function(){return c},pn:function(){return o},u:function(){return i}});var a=n(57437),s=n(2265),r=n(27071),l=n(37440);let o=r.zt,i=r.fC,c=r.xz,d=s.forwardRef((e,t)=>{let{className:n,sideOffset:s=4,...o}=e;return(0,a.jsx)(r.VY,{ref:t,sideOffset:s,className:(0,l.cn)("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n),...o})});d.displayName=r.VY.displayName},37649:function(e){e.exports={actualInputArea:"chatInputArea_actualInputArea__Ha6cN"}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1929],{39929:function(e,t,s){Promise.resolve().then(s.bind(s,38874))},38874:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return p}});var a=s(57437),o=s(65104),n=s.n(o),i=s(2265),r=s(48861),c=s(81467),l=s(16463),d=s(58485),u=s(9557);s(7395);var h=s(69591),m=s(38423),g=s(79306);function f(e){let t=(0,l.useSearchParams)().get("conversationId"),[s,o]=(0,i.useState)(""),[r,d]=(0,i.useState)([]),[u,h]=(0,i.useState)(!1),[g,f]=(0,i.useState)(null),[p,x]=(0,i.useState)(!1),_=(0,i.useRef)(null),w=e.setQueryToProcess,y=e.onConversationIdChange,I=e.isMobileWidth?"w-full":"w-4/6";if((0,i.useEffect)(()=>{if(r.length>0){let t=r.map(e=>encodeURIComponent(e));e.setImages(t)}},[r,e.setImages]),(0,i.useEffect)(()=>{let t=localStorage.getItem("images");if(t){let s=JSON.parse(t);d(s);let a=s.map(e=>encodeURIComponent(e));e.setImages(a),localStorage.removeItem("images")}let s=localStorage.getItem("message");s&&(h(!0),w(s),s.trim().startsWith("/research")&&x(!0))},[w,e.setImages]),(0,i.useEffect)(()=>{s&&(h(!0),w(s))},[s,w]),(0,i.useEffect)(()=>{t&&(null==y||y(t))},[t,y]),(0,i.useEffect)(()=>{e.streamedMessages&&e.streamedMessages.length>0&&e.streamedMessages[e.streamedMessages.length-1].completed?(h(!1),d([])):o("")},[e.streamedMessages]),!t){window.location.href="/";return}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:n().chatBodyFull,children:(0,a.jsx)(c.Z,{conversationId:t,setTitle:e.setTitle,setAgent:f,pendingMessage:u?s:"",incomingMessages:e.streamedMessages,setIncomingMessages:e.setStreamedMessages,customClassName:I})}),(0,a.jsx)("div",{className:"".concat(n().inputBox," p-1 md:px-2 shadow-md bg-background align-middle items-center justify-center dark:bg-neutral-700 dark:border-0 dark:shadow-sm rounded-t-2xl rounded-b-none md:rounded-xl h-fit ").concat(I," mr-auto ml-auto"),children:(0,a.jsx)(m.a,{agentColor:null==g?void 0:g.color,isLoggedIn:e.isLoggedIn,sendMessage:e=>o(e),sendImage:e=>d(t=>[...t,e]),sendDisabled:u,chatOptionsData:e.chatOptionsData,conversationId:t,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,ref:_,isResearchModeEnabled:p})})]})}function p(){let e="Khoj AI - Chat",[t,s]=(0,i.useState)(null),[o,c]=(0,i.useState)(!0),[l,m]=(0,i.useState)(e),[p,x]=(0,i.useState)(null),[_,w]=(0,i.useState)([]),[y,I]=(0,i.useState)(""),[S,b]=(0,i.useState)(!1),[v,j]=(0,i.useState)([]),[B,C]=(0,i.useState)([]),M=(0,h.k6)()||{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},E=(0,g.GW)(),T=(0,h.IC)();async function k(e){if(!e.ok)throw Error(e.statusText);if(!e.body)throw Error("Response body is null");let t=e.body.getReader(),s=new TextDecoder,a="␃\uD83D\uDD1A␗",o="",n=[],i={},r={};for(;;){let e;let{done:c,value:l}=await t.read();if(c){I(""),b(!1),C([]);break}for(o+=s.decode(l,{stream:!0});-1!==(e=o.indexOf(a));){let t=o.slice(0,e);if(o=o.slice(e+a.length),t){let e=_.find(e=>!e.completed);if(!e){console.error("No current message found");return}({context:n,onlineContext:i,codeContext:r}=(0,u.VK)(t,e,n,i,r)),w([..._])}}}}async function R(){if(localStorage.removeItem("message"),!y||!p)return;let e={q:y,conversation_id:p,stream:!0,...M&&{city:M.city,region:M.region,country:M.country,country_code:M.countryCode,timezone:M.timezone},...B.length>0&&{images:B}},t=await fetch("/api/chat?client=web",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});try{await k(t)}catch(o){let e=await t.json();console.error(e);let s=_.find(e=>!e.completed);if(!s)return;let a=o.message;a.includes("Error in input stream")?s.rawResponse="Woops! The connection broke while I was writing my thoughts down. Maybe try again in a bit or dislike this message if the issue persists?":429===t.status?"detail"in e?s.rawResponse="".concat(e.detail):s.rawResponse="I'm a bit overwhelmed at the moment. Could you try again in a bit or dislike this message if the issue persists?":s.rawResponse="Umm, not sure what just happened. I see this error message: ".concat(a,". Could you try again or dislike this message if the issue persists?"),s.completed=!0,w([..._]),I(""),b(!1)}}return((0,i.useEffect)(()=>{fetch("/api/chat/options").then(e=>e.json()).then(e=>{c(!1),e&&s(e)}).catch(e=>{console.error(e)}),(0,h.EK)()},[]),(0,i.useEffect)(()=>{if(y){let e={rawResponse:"",trainOfThought:[],context:[],onlineContext:{},codeContext:{},completed:!1,timestamp:new Date().toISOString(),rawQuery:y||"",images:B};w(t=>[...t,e]),b(!0)}},[y]),(0,i.useEffect)(()=>{S&&R()},[S]),o)?(0,a.jsx)(d.Z,{}):(0,a.jsxs)("div",{className:"".concat(n().main," ").concat(n().chatLayout),children:[(0,a.jsx)("title",{children:"".concat(e).concat(l&&l!==e?": ".concat(l):"")}),(0,a.jsx)("div",{children:(0,a.jsx)(r.ZP,{conversationId:p,uploadedFiles:v,isMobileWidth:T})}),(0,a.jsx)("div",{className:n().chatBox,children:(0,a.jsxs)("div",{className:n().chatBoxBody,children:[!T&&p&&(0,a.jsxs)("div",{className:"".concat(n().chatTitleWrapper," text-nowrap text-ellipsis overflow-hidden max-w-screen-md grid items-top font-bold mr-8 pt-6 col-auto h-fit"),children:[l&&(0,a.jsx)("h2",{className:"text-lg text-ellipsis whitespace-nowrap overflow-x-hidden",children:l}),(0,a.jsx)(r.En,{conversationId:p,setTitle:m,sizing:"md"})]}),(0,a.jsx)(i.Suspense,{fallback:(0,a.jsx)(d.Z,{}),children:(0,a.jsx)(f,{isLoggedIn:null!==E,streamedMessages:_,setStreamedMessages:w,chatOptionsData:t,setTitle:m,setQueryToProcess:I,setUploadedFiles:j,isMobileWidth:T,onConversationIdChange:e=>{x(e)},setImages:C})})]})})]})}},16463:function(e,t,s){"use strict";var a=s(71169);s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},65104:function(e){e.exports={main:"chat_main__8xQu5",suggestions:"chat_suggestions__m8n2t",inputBox:"chat_inputBox__LOFws",chatBodyFull:"chat_chatBodyFull__FfKEK",chatBody:"chat_chatBody__sS1LX",chatLayout:"chat_chatLayout__pR203",chatBox:"chat_chatBox__FBct_",titleBar:"chat_titleBar__R5QlK",chatBoxBody:"chat_chatBoxBody__qT_SC",agentIndicator:"chat_agentIndicator__8V55w",chatTitleWrapper:"chat_chatTitleWrapper__6ChWq"}}},function(e){e.O(0,[7812,9848,929,3954,9001,3062,8840,7113,3110,394,1034,1603,9417,3423,8423,1467,2971,7023,1744],function(){return e(e.s=39929)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6894],{71884:function(e,t,n){Promise.resolve().then(n.bind(n,69769))},18642:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var i=n(57437),a=n(90837),r=n(50495),o=n(83102),s=n(67135),l=n(34797);function c(e){var t;return(0,i.jsxs)(a.Vq,{children:[(0,i.jsx)(a.hg,{asChild:!0,onClick:e.onShare,children:(0,i.jsxs)(r.z,{size:"sm",className:"".concat(e.buttonClassName||"px-3"),variant:null!==(t=e.buttonVariant)&&void 0!==t?t:"default",children:[e.includeIcon&&(0,i.jsx)(l.m,{className:"w-4 h-4 mr-2"}),e.buttonTitle]})}),(0,i.jsxs)(a.cZ,{children:[(0,i.jsxs)(a.fK,{children:[(0,i.jsx)(a.$N,{children:e.title}),(0,i.jsx)(a.Be,{children:e.description})]}),(0,i.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,i.jsxs)("div",{className:"grid flex-1 gap-2",children:[(0,i.jsx)(s._,{htmlFor:"link",className:"sr-only",children:"Link"}),(0,i.jsx)(o.I,{id:"link",defaultValue:e.url,readOnly:!0})]}),(0,i.jsx)(r.z,{type:"submit",size:"sm",className:"px-3",onClick:()=>(function(e){let t=navigator.clipboard;t&&t.writeText(e)})(e.url),children:(0,i.jsx)("span",{children:"Copy"})})]})]})]})}},69769:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});var i=n(57437),a=n(34209),r=n.n(a),o=n(79306),s=n(2265),l=n(53423),c=n(29039),d=n(6780),f=n(53907),h=n.n(f);let u=async e=>(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json(),m=e=>{let{data:t,error:n}=(0,c.ZP)(e,u);return{data:t,isLoading:!n&&!t,isError:n}},p=async e=>(await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}})).json(),x=e=>{let{data:t,error:n}=(0,c.ZP)(e,p);return{data:t,isLoading:!n&&!t,isError:n}},k=e=>{let{data:t}=m("/api/model/chat/options"),{data:n}=x("/api/model/chat"),[a,r]=s.useState(!1),l=(0,o.GW)(),c=e.setModelUsed;return((0,s.useEffect)(()=>{c&&n&&c(n)},[n,c]),t)?(0,i.jsxs)("div",{className:h().modelPicker,children:[(0,i.jsx)("select",{className:h().modelPicker,onChange:n=>{let i=Number(n.target.value),a=t.find(e=>e.id===i);a?function(t){if(!l){r(!0);return}e.setModelUsed&&e.setModelUsed(t),fetch("/api/model/chat?id="+String(t.id),{method:"POST",body:JSON.stringify(t)}).then(e=>{if(!e.ok)throw Error("Failed to select model")}).catch(e=>{console.error("Failed to select model",e)})}(a):console.error("Selected model not found",n.target.value)},disabled:e.disabled,children:null==t?void 0:t.map(t=>(0,i.jsx)("option",{value:t.id,selected:e.initialModel?t.id===e.initialModel.id:(null==n?void 0:n.id)===t.id,children:t.chat_model},t.id))}),(0,i.jsx)(d.aR,{open:a,onOpenChange:r,children:(0,i.jsxs)(d._T,{children:[(0,i.jsxs)(d.fY,{children:[(0,i.jsx)(d.f$,{children:"You must be logged in to configure your model."}),(0,i.jsxs)(d.yT,{children:["Once you create an account with Khoj, you can configure your model and use a whole suite of other features. Check out our"," ",(0,i.jsx)("a",{href:"https://docs.khoj.dev/",children:"documentation"})," to learn more."]})]}),(0,i.jsxs)(d.xo,{children:[(0,i.jsx)(d.le,{children:"Cancel"}),(0,i.jsx)(d.OL,{onClick:()=>{window.location.href=window.location.origin+"/login"},children:"Sign in"})]})]})})]}):(0,i.jsx)("div",{children:"Loading..."})};var j=n(18642),v=n(83102),b=n(50495),g=n(36013),y=n(87138),C=n(48861),_=n(69591);let w=()=>(0,i.jsx)("div",{className:r().loading,children:(0,i.jsxs)("div",{className:r().loadingVerification,children:["Researching...",(0,i.jsxs)("div",{className:r().spinner,children:[(0,i.jsx)("div",{className:"".concat(r().dot1," bg-blue-300")}),(0,i.jsx)("div",{className:"".concat(r().dot2," bg-blue-300")})]})]})});async function N(e,t,n,i,a){n(!0);let r="".concat("Limit your search to reputable sources. Search the internet for relevant supporting or refuting information. Do not reference my notes. Refuse to answer any queries that are not falsifiable by informing me that you will not answer the question. You're not permitted to ask follow-up questions, so do the best with what you have. Respond with **TRUE** or **FALSE** or **INCONCLUSIVE**, then provide your justification. Fact Check:"," ").concat(e);try{var o;let e=await fetch("".concat("/api/chat","?client=web"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({q:r,conversation_id:t,stream:!0})});if(!e.body)throw Error("No response body found");let n=null===(o=e.body)||void 0===o?void 0:o.getReader(),s=new TextDecoder,l="";for(;;){let{done:e,value:t}=await n.read();if(e)break;let r=s.decode(t,{stream:!0});if(r.includes("### compiled references:")){let e=function(e,t){let n=e.split("### compiled references:")[1],i=e.split("### compiled references:")[0],a={};a.response=t+i;let r=JSON.parse(n);return r instanceof Array?a.context=r:"object"==typeof r&&null!==r&&(a.online=r),a}(r,l);e.response&&(l=e.response,i(e.response),a(e))}else l+=r,i(l)}}catch(e){console.error("Error verifying statement: ",e)}finally{n(!1)}}async function S(e){let t=await fetch("/api/chat/sessions?client=web",{method:"POST"});e((await t.json()).conversation_id)}function I(e){let[t,n]=(0,s.useState)(""),[a,r]=(0,s.useState)(!0),o="".concat(e.message,". Use this link for reference: ").concat(e.additionalLink),c=(0,_.IC)();return(0,s.useEffect)(()=>{e.prefilledResponse?(n(e.prefilledResponse),r(!1)):N(o,e.conversationId,r,n,()=>{})},[o,e.conversationId,e.prefilledResponse]),(0,s.useEffect)(()=>{""!==t&&(e.prefilledResponse||a||e.setChildReferencesCallback(e.additionalLink,t,e.linkTitle))},[t,a,e]),(0,i.jsxs)("div",{children:[a&&(0,i.jsx)(w,{}),(0,i.jsx)(l.Z,{chatMessage:{automationId:"",by:"AI",message:t,context:[],created:new Date().toISOString(),onlineContext:{},codeContext:{},conversationId:e.conversationId,turnId:""},isMobileWidth:c,onDeleteMessage:e=>{},conversationId:e.conversationId})]})}function T(e){var t,n,a;let o=e.linkTitle||(null===(a=e.onlineData)||void 0===a?void 0:null===(n=a.organic)||void 0===n?void 0:null===(t=n[0])||void 0===t?void 0:t.title)||"Reference",s={link:e.additionalLink};return(0,i.jsxs)(g.Zb,{className:"mt-2 mb-4",children:[(0,i.jsxs)(g.Ol,{children:[(0,i.jsx)("a",{className:r().titleLink,href:e.additionalLink,target:"_blank",rel:"noreferrer",children:o}),(0,i.jsx)(L,{...s})]}),(0,i.jsx)(g.aY,{children:(0,i.jsx)(I,{additionalLink:e.additionalLink,message:e.officialFactToVerify,linkTitle:o,conversationId:e.conversationId,setChildReferencesCallback:e.setChildReferencesCallback,prefilledResponse:e.prefilledResponse})})]})}let L=e=>{let t=new URL(e.link).hostname;return(0,i.jsx)("div",{className:r().subLinks,children:(0,i.jsx)("a",{className:"".concat(r().subLinks," bg-blue-200 px-2"),href:e.link,target:"_blank",rel:"noreferrer",children:t})})};function E(){let[e,t]=(0,s.useState)(""),[n,a]=(0,s.useState)(""),[c,d]=(0,s.useState)(!1),[f,h]=(0,s.useState)(""),[u,m]=(0,s.useState)(!1),[p,x]=(0,s.useState)(),[I,E]=(0,s.useState)(),[R,F]=(0,s.useState)(),O=(0,_.IC)(),[A,P]=(0,s.useState)(""),[M,V]=(0,s.useState)(""),[D,U]=(0,s.useState)(!1),[q,Z]=(0,s.useState)();function B(e,t,n){let i=I||[];i.find(t=>t.additionalLink===e)||(i.push({additionalLink:e,response:t,linkTitle:n}),E(i))}let z=(0,o.GW)();function W(){if(u)return;if(!e){alert("Please enter a fact to verify.");return}if(m(!0),!z){let e=window.location.href;window.location.href="/login?next=".concat(e)}x(void 0),h(""),S(P);let t=[...Array(16)].map(()=>Math.random().toString(36)[2]).join("");V(t),window.history.pushState({},document.title,window.location.pathname+"?runId=".concat(t)),a(e),m(!1)}(0,s.useEffect)(()=>{e?document.title="AI Fact Check: ".concat(e):document.title="AI Fact Checker"},[e]),(0,s.useEffect)(()=>{let e=localStorage.getItem("factToVerify");e&&t(e);let n=new URLSearchParams(window.location.search),i=n.get("factToVerify");i&&t(i);let r=n.get("runId");r&&(V(r),(async()=>{try{let e=await fetch("/api/chat/store/factchecker?runId=".concat(r));if(200!==e.status)throw Error("Failed to fetch stored data");let t=JSON.parse(await e.json());t&&(a(t.factToVerify),h(t.response),x(t.references),E(t.childReferences),Z(t.modelUsed)),U(!0)}catch(e){console.error("Error fetching stored data: ",e)}})())},[]),(0,s.useEffect)(()=>{A&&N(n,A,d,h,x)},[A,n]),(0,s.useEffect)(()=>{localStorage.setItem("factToVerify",e)},[e]),(0,s.useEffect)(()=>{let e=document.querySelector('meta[name="description"]');e&&e.setAttribute("content",f);let t=document.querySelector('meta[property="og:description"]');t||((t=document.createElement("meta")).setAttribute("property","og:description"),document.getElementsByTagName("head")[0].appendChild(t)),t.setAttribute("content",f)},[f]);let J=e=>e.map((e,t)=>(0,i.jsx)(T,{additionalLink:e.additionalLink,officialFactToVerify:n,conversationId:A,linkTitle:e.linkTitle,setChildReferencesCallback:B,prefilledResponse:e.response},t)),Y=e=>e instanceof Array?e.map((e,t)=>L(e)):L(e);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"relative md:fixed h-full",children:(0,i.jsx)(C.ZP,{conversationId:null,uploadedFiles:[],isMobileWidth:O})}),(0,i.jsxs)("div",{className:r().factCheckerContainer,children:[(0,i.jsx)("h1",{className:"".concat(r().response," pt-8 md:pt-4 font-large outline-slate-800 dark:outline-slate-200"),children:"AI Fact Checker"}),(0,i.jsx)("footer",{className:"".concat(r().footer," mt-4"),children:"This is an experimental AI tool. It may make mistakes."}),f&&p&&I?(0,i.jsxs)("div",{className:r().reportActions,children:[(0,i.jsx)(b.z,{asChild:!0,variant:"secondary",children:(0,i.jsx)(y.default,{href:"/factchecker",target:"_blank",rel:"noopener noreferrer",children:"Try Another"})}),(0,i.jsx)(j.Z,{buttonTitle:"Share report",title:"AI Fact Checking Report",description:"Share this fact checking report with others. Anyone who has this link will be able to view the report.",url:function(){let e=new URL(window.location.href);return e.searchParams.set("runId",M),e.href}(),onShare:D?()=>{}:function(){fetch("/api/chat/store/factchecker",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runId:M,storeData:{factToVerify:e,response:f,references:p,childReferences:I,runId:M,modelUsed:R}})})}})]}):(0,i.jsxs)("div",{className:r().newReportActions,children:[(0,i.jsxs)("div",{className:"".concat(r().inputFields," mt-4"),children:[(0,i.jsx)(v.I,{type:"text",maxLength:200,placeholder:"Enter a falsifiable statement to verify",disabled:c,onChange:e=>t(e.target.value),value:e,onKeyDown:e=>{"Enter"===e.key&&W()},onFocus:e=>e.target.placeholder="",onBlur:e=>e.target.placeholder="Enter a falsifiable statement to verify"}),(0,i.jsx)(b.z,{disabled:u,onClick:()=>W(),children:"Verify"})]}),(0,i.jsxs)("h3",{className:"mt-4 mb-4",children:["Try with a particular model. You must be"," ",(0,i.jsx)("a",{href:"/settings",className:"font-medium text-blue-600 dark:text-blue-500 hover:underline",children:"subscribed"})," ","to configure the model."]})]}),(0,i.jsx)(k,{disabled:c||D,setModelUsed:F,initialModel:q}),c&&(0,i.jsx)("div",{className:r().loading,children:(0,i.jsx)(w,{})}),f&&(0,i.jsxs)(g.Zb,{className:"mt-4",children:[(0,i.jsx)(g.Ol,{children:(0,i.jsx)(g.ll,{children:n})}),(0,i.jsx)(g.aY,{children:(0,i.jsx)("div",{className:r().responseText,children:(0,i.jsx)(l.Z,{chatMessage:{automationId:"",by:"AI",message:f,context:[],created:new Date().toISOString(),onlineContext:{},codeContext:{},conversationId:A,turnId:""},conversationId:A,onDeleteMessage:e=>{},isMobileWidth:O})})}),(0,i.jsx)(g.eW,{children:p&&p.online&&Object.keys(p.online).length>0&&(0,i.jsx)("div",{className:r().subLinks,children:Object.entries(p.online).map((e,t)=>{let[n,i]=e;return Y((null==i?void 0:i.webpages)||[])})})})]}),p&&(0,i.jsxs)("div",{className:r().referenceContainer,children:[(0,i.jsx)("h2",{className:"mt-4 mb-4",children:"Supplements"}),(0,i.jsx)("div",{className:r().references,children:void 0!==p.online&&((e,t,n,a,r)=>{if(a&&r)return J(r);let o=new Set;return Object.entries(t.online||{}).map((e,t)=>{let[n,i]=e,a=(null==i?void 0:i.webpages)||[];if(a instanceof Array)for(let e=0;e<a.length;e++){let t=a[e].link||"";if(o.has(t))return null;o.add(t)}else{let e=a.link||"";if(o.has(e))return null;o.add(e)}}),Object.entries(t.online||{}).map((t,a)=>{var r,s;let[l,c]=t,d="";for(let e=0;e<(null==c?void 0:null===(r=c.organic)||void 0===r?void 0:r.length)&&(d=(null==c?void 0:null===(s=c.organic)||void 0===s?void 0:s[e]).link||"",o.has(d));e++);return(o.add(d),""===d)?null:(0,i.jsx)(T,{onlineData:c,officialFactToVerify:n,conversationId:e,additionalLink:d,setChildReferencesCallback:B},a)}).filter(Boolean)})(A,p,n,D,I)})]})]})]})}},67135:function(e,t,n){"use strict";n.d(t,{_:function(){return c}});var i=n(57437),a=n(2265),r=n(38364),o=n(12218),s=n(37440);let l=(0,o.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,i.jsx)(r.f,{ref:t,className:(0,s.cn)(l(),n),...a})});c.displayName=r.f.displayName},53907:function(e){e.exports={modelPicker:"modelPicker_modelPicker__chlCh"}},34209:function(e){e.exports={factVerification:"factChecker_factVerification__UCbIf",factCheckerContainer:"factChecker_factCheckerContainer__Brqjv",responseText:"factChecker_responseText__HzSck",response:"factChecker_response__HaFuc",titleLink:"factChecker_titleLink__FA5mt",subLinks:"factChecker_subLinks__iaFHn",reference:"factChecker_reference___6Fwh",footer:"factChecker_footer__Tbj3t",reportActions:"factChecker_reportActions__2_tFq",factCheckButton:"factChecker_factCheckButton__2XPTv",spinner:"factChecker_spinner__T26Jv","sk-rotate":"factChecker_sk-rotate__ogES_",inputFields:"factChecker_inputFields__LU3cQ",dot1:"factChecker_dot1__n9Bu5",dot2:"factChecker_dot2__HDdBs","sk-bounce":"factChecker_sk-bounce__q4XFt"}},38364:function(e,t,n){"use strict";n.d(t,{f:function(){return s}});var i=n(2265),a=n(25171),r=n(57437),o=i.forwardRef((e,t)=>(0,r.jsx)(a.WV.label,{...e,ref:t,onMouseDown:t=>{var n;t.target.closest("button, input, select, textarea")||(null===(n=e.onMouseDown)||void 0===n||n.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var s=o}},function(e){e.O(0,[6129,9848,929,3954,9001,3062,8840,7113,394,1603,9417,3423,2971,7023,1744],function(){return e(e.s=71884)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{1507:function(e,t,n){Promise.resolve().then(n.bind(n,4515))},4515:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return U}});var i,o,a=n(57437);n(58877);var r=n(68518),s=n.n(r);n(7395);var l=n(2265),c=n(29039),d=n(52195);let p=new Map([["bold",l.createElement(l.Fragment,null,l.createElement("path",{d:"M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z"}))],["duotone",l.createElement(l.Fragment,null,l.createElement("path",{d:"M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z",opacity:"0.2"}),l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["fill",l.createElement(l.Fragment,null,l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L60.63,81.29l17,17A8,8,0,0,1,72,112H24a8,8,0,0,1-8-8V56A8,8,0,0,1,29.66,50.3L49.31,70,60.25,60A96,96,0,0,1,224,128Z"}))],["light",l.createElement(l.Fragment,null,l.createElement("path",{d:"M222,128a94,94,0,0,1-92.74,94H128a93.43,93.43,0,0,1-64.5-25.65,6,6,0,1,1,8.24-8.72A82,82,0,1,0,70,70l-.19.19L39.44,98H72a6,6,0,0,1,0,12H24a6,6,0,0,1-6-6V56a6,6,0,0,1,12,0V90.34L61.63,61.4A94,94,0,0,1,222,128Z"}))],["regular",l.createElement(l.Fragment,null,l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["thin",l.createElement(l.Fragment,null,l.createElement("path",{d:"M220,128a92,92,0,0,1-90.77,92H128a91.47,91.47,0,0,1-63.13-25.1,4,4,0,1,1,5.5-5.82A84,84,0,1,0,68.6,68.57l-.13.12L34.3,100H72a4,4,0,0,1,0,8H24a4,4,0,0,1-4-4V56a4,4,0,0,1,8,0V94.89l35-32A92,92,0,0,1,220,128Z"}))]]);var u=Object.defineProperty,h=Object.defineProperties,g=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,k=(e,t,n)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))f.call(t,n)&&k(e,n,t[n]);if(m)for(var n of m(t))y.call(t,n)&&k(e,n,t[n]);return e},v=(e,t)=>h(e,g(t));let w=(0,l.forwardRef)((e,t)=>l.createElement(d.Z,v(b({ref:t},e),{weights:p})));w.displayName="ArrowCounterClockwise";var x=n(36013),P=n(31806),C=n.n(P),j=n(58575),L=n(89417);(i=o||(o={})).Automation="Automation",i.Paint="Paint",i.Travel="Travel",i.Health="Health",i.Learning="Learning",i.Language="Language",i.PopCulture="Pop Culture",i.Food="Food",i.Interviewing="Interviewing",i.Home="Home",i.Fun="Fun",i.Code="Code",i.Finance="Finance";let A={};A.Automation="blue",A.Paint="indigo",A.Travel="yellow",A.Health="teal",A.Learning="purple",A.Language="blue",A["Pop Culture"]="red",A.Food="yellow",A.Interviewing="orange",A.Home="green",A.Fun="fuchsia",A.Code="purple",A.Finance="green";let S="orange",E=[{type:"Automation",color:A.Automation||S,description:"Send me a summary of HackerNews every morning.",link:"/automations?subject=Summarizing%20Top%20Headlines%20from%20HackerNews&query=Summarize%20the%20top%20headlines%20on%20HackerNews&crontime=00%207%20*%20*%20*"},{type:"Automation",color:A.Automation||S,description:"Compose a bedtime story that a five-year-old might enjoy.",link:"/automations?subject=Daily%20Bedtime%20Story&query=Compose%20a%20bedtime%20story%20that%20a%20five-year-old%20might%20enjoy.%20It%20should%20not%20exceed%20five%20paragraphs.%20Appeal%20to%20the%20imagination%2C%20but%20weave%20in%20learnings.&crontime=0%2021%20*%20*%20*"},{type:"Paint",color:A.Paint||S,description:"Paint a picture of a sunset but it's made of stained glass tiles",link:""},{type:"Travel",color:A.Travel||S,description:"Search for the best attractions in Austria Hungary",link:""},{type:"Health",color:A.Health||S,description:"Generate a weekly meal plan with recipes.",link:"/automations?subject=Weekly Meal Plan&query=Create a weekly meal plan with 7 dinner recipes, including ingredients and brief instructions. Focus on balanced, healthy meals.&crontime=0 18 * * 0"},{type:"Paint",color:A.Paint||S,description:"Paint a futuristic cityscape with flying cars.",link:""},{type:"Travel",color:A.Travel||S,description:"Find the top-rated coffee shops in Seattle.",link:""},{type:"Automation",color:A.Automation||S,description:"Send daily motivational quotes.",link:"/automations?subject=Daily Motivation&query=Provide an inspiring quote for the day along with a brief explanation of its meaning.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create an abstract representation of jazz music.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the history of the Eiffel Tower.",link:""},{type:"Automation",color:A.Automation||S,description:"Compile a weekly news summary.",link:"/automations?subject=Weekly News Digest&query=Summarize the top 5 most important news stories of the week across various categories.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a portrait of a cat wearing a Victorian-era costume.",link:""},{type:"Travel",color:A.Travel||S,description:"Find beginner-friendly hiking trails near Los Angeles.",link:""},{type:"Automation",color:A.Automation||S,description:"Generate a daily writing prompt.",link:"/automations?subject=Daily Writing Prompt&query=Create an engaging writing prompt suitable for short story or journal writing.&crontime=0 9 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a surrealist landscape inspired by Salvador Dali.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the benefits and drawbacks of electric vehicles.",link:""},{type:"Automation",color:A.Automation||S,description:"Send weekly language learning tips for Spanish.",link:"/automations?subject=Spanish Learning Tips&query=Provide a useful Spanish language learning tip, including vocabulary, grammar, or cultural insight.&crontime=0 19 * * 2"},{type:"Paint",color:A.Paint||S,description:"Paint a scene from a fairy tale in the style of Studio Ghibli.",link:""},{type:"Pop Culture",color:"yellow",description:"Find the best-rated science fiction books of the last decade.",link:""},{type:"Paint",color:A.Paint||S,description:"Paint a still life of exotic fruits in a neon color palette.",link:""},{type:"Travel",color:A.Travel||S,description:"Research the most eco-friendly cities in Europe.",link:""},{type:"Automation",color:A.Automation||S,description:"Send daily reminders for habit tracking.",link:"/automations?subject=Habit Tracker&query=Generate a daily reminder to track habits, including a motivational message.&crontime=0 20 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting of a cyberpunk street market.",link:""},{type:"Learning",color:A.Learning||S,description:"Summarize the biography of this figure: https://en.wikipedia.org/wiki/Jean_Baptiste_Point_du_Sable",link:""},{type:"Language",color:"blue",description:"Send daily Spanish phrases used in Latin America.",link:"/automations?subject=Daily Latin American Spanish&query=Provide a common Spanish phrase or slang term used in Latin America, its meaning, and an example of usage. Include which countries it's most common in.&crontime=0 8 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a vibrant painting inspired by Frida Kahlo's style.",link:""},{type:"Food",color:A.Food||S,description:"Find the best empanada recipe from Colombia.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on the Brazilian startup ecosystems.",link:"/automations?subject=LatAm Startup News&query=Provide a summary of the most significant developments in Latin American startup ecosystems this week. Include notable funding rounds, expansions, or policy changes.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a colorful scene of a traditional Day of the Dead celebration in Mexico.",link:""},{type:"Language",color:A.Language||S,description:"Daily Swahili phrase with English translation.",link:"/automations?subject=Daily Swahili Lesson&query=Provide a common Swahili phrase or proverb, its English translation, and a brief explanation of its cultural significance in East Africa.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting of the Serengeti during wildebeest migration.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the top M-Pesa alternatives in East Africa.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on East African tech startups and innovations.",link:"/automations?subject=East African Tech News&query=Summarize the most significant developments in East African tech startups and innovations this week. Include notable funding rounds, new product launches, or policy changes affecting the tech ecosystem.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a colorful scene inspired by Maasai traditional clothing and jewelry.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly summary of EU policy changes and their impact.",link:"/automations?subject=EU Policy Update&query=Summarize the most significant EU policy changes or proposals from this week. Explain their potential impact on European citizens and businesses.&crontime=0 17 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a digital landscape of the Northern Lights over the Norwegian fjords.",link:""},{type:"Automation",color:A.Automation||S,description:"Daily East Asian proverb with explanation.",link:"/automations?subject=East Asian Wisdom&query=Provide a proverb from an East Asian language (rotating through Chinese, Japanese, Korean, etc.), its English translation, and a brief explanation of its cultural significance and practical application.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting in the style of traditional Chinese ink wash landscape.",link:""},{type:"Pop Culture",color:"yellow",description:"Research the latest trends in K-pop and its global influence.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly summary of technological innovations from East Asian tech giants.",link:"/automations?subject=East Asian Tech Update&query=Summarize the most significant technological innovations or product launches from major East Asian tech companies (e.g., Samsung, Sony, Alibaba, Tencent) this week. Explain their potential impact on global markets.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a vibrant scene of a Japanese cherry blossom festival.",link:""},{type:"Automation",color:A.Automation||S,description:"Daily South Asian recipe with cultural significance.",link:"/automations?subject=South Asian Culinary Journey&query=Provide a traditional South Asian recipe (rotating through Indian, Pakistani, Bangladeshi, Sri Lankan, etc. cuisines), including ingredients, brief instructions, and its cultural significance or origin story.&crontime=0 10 * * *"},{type:"Pop Culture",color:A["Pop Culture"]||S,description:"Research the impact of Bollywood on global cinema and fashion.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on South Asian startup ecosystems and innovations.",link:"/automations?subject=South Asian Startup Pulse&query=Summarize the most significant developments in South Asian startup ecosystems this week. Include notable funding rounds, innovative solutions to local challenges, and any policy changes affecting the tech landscape in countries like India, Bangladesh, Pakistan, and Sri Lanka.&crontime=0 18 * * 5"},{type:"Interviewing",color:A.Interviewing||S,description:"Create interview prep questions for a consulting job.",link:""},{type:"Interviewing",color:A.Interviewing||S,description:"What information should I include in a CV for a PhD application?",link:""},{type:"Home",color:A.Home||S,description:"Recommend plants that can grow well indoors.",link:""},{type:"Health",color:A.Health||S,description:"Suggest healthy meal prep ideas for a busy work week.",link:""},{type:"Learning",color:A.Learning||S,description:"List effective time management techniques for students.",link:""},{type:"Learning",color:A.Learning||S,description:"Provide tips for improving public speaking skills.",link:""},{type:"Learning",color:A.Learning||S,description:"Recommend books for learning about personal finance.",link:""},{type:"Home",color:A.Home||S,description:"Suggest ways to reduce plastic waste in daily life.",link:""},{type:"Health",color:A.Health||S,description:"Create a beginner's guide to meditation and mindfulness.",link:""},{type:"Health",color:A.Health||S,description:"Give me some tips for improving my sleep quality.",link:""},{type:"Health",color:A.Health||S,description:"What are weight loss strategies supported by clinical studies?",link:""},{type:"Fun",color:A.Fun||S,description:"List creative date ideas for couples on a budget.",link:""},{type:"Code",color:A.Interviewing||S,description:"Provide tips for writing an effective resume.",link:""},{type:"Code",color:A.Code||S,description:"Explain the concept of recursion with a simple coding example.",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to reverse a string without using built-in functions.",link:""},{type:"Code",color:A.Code||S,description:"Explain the difference between 'let', 'const', and 'var' in JavaScript.",link:""},{type:"Code",color:A.Code||S,description:"Create a coding exercise to implement a basic sorting algorithm (e.g., bubble sort).",link:""},{type:"Code",color:A.Code||S,description:"Explain object-oriented programming principles with a simple class example.",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to find the longest palindromic substring in a given string.",link:""},{type:"Code",color:A.Code||S,description:"Explain the concept of asynchronous programming with a JavaScript Promise example.",link:""},{type:"Code",color:A.Code||S,description:"Create a coding exercise to implement a basic data structure (e.g., linked list or stack).",link:""},{type:"Code",color:A.Code||S,description:"Explain the time and space complexity of common algorithms (e.g., binary search).",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to implement a simple REST API using Node.js and Express.",link:""},{type:"Code",color:A.Code||S,description:"Compare popular web frameworks in Rust and Python",link:""},{type:"Travel",color:A.Travel||S,description:"Craft an off-beat itinerary for a weekend in Lagos, Nigeria.",link:""},{type:"Language",color:A.Language||S,description:"Teach me about declensions in Latin.",link:""},{type:"Learning",color:A.Learning||S,description:"Break down the concept of photosynthesis for a middle school student.",link:""},{type:"Learning",color:A.Learning||S,description:"Use the Socratic method to explore the causes of World War I.",link:""},{type:"Learning",color:A.Learning||S,description:"Explain the water cycle using an analogy suitable for elementary students.",link:""},{type:"Learning",color:A.Learning||S,description:"Guide a high school student through solving a quadratic equation step-by-step.",link:""},{type:"Learning",color:A.Learning||S,description:"Create a series of questions to help a student discover the principles of basic economics.",link:""},{type:"Learning",color:A.Learning||S,description:"Develop a hands-on experiment to demonstrate the concept of density to middle schoolers.",link:""},{type:"Learning",color:A.Learning||S,description:"Use guided discovery to help a student understand the structure of DNA.",link:""},{type:"Learning",color:A.Learning||S,description:"Create a personalized learning plan for a student struggling with grammar concepts.",link:""},{type:"Learning",color:A.Learning||S,description:"Design a series of questions to encourage critical thinking about climate change.",link:""},{type:"Learning",color:A.Learning||S,description:"Develop a step-by-step guide for conducting a basic science experiment on plant growth.",link:""},{type:"Health",color:A.Health||S,description:"Provide a detailed explanation about how to manage type 2 diabetes.",link:""},{type:"Health",color:A.Health||S,description:"Explain the effects a stroke might have on the body.",link:""},{type:"Health",color:A.Health||S,description:"Describe the recommended steps for preventing heart disease.",link:""},{type:"Health",color:A.Health||S,description:"Explain the differences between various types of headaches and their treatments.",link:""},{type:"Health",color:A.Health||S,description:"Provide an overview of the most effective stress management techniques.",link:""},{type:"Health",color:A.Health||S,description:"Explain the importance of vaccination and how vaccines work.",link:""},{type:"Health",color:A.Health||S,description:"Describe the symptoms and treatment options for depression.",link:""},{type:"Health",color:A.Health||S,description:"Explain the process of digestion and common digestive disorders.",link:""},{type:"Health",color:A.Health||S,description:"Provide an overview of the different types of cancer screenings and their importance.",link:""},{type:"Health",color:A.Health||S,description:"Explain the effects of sleep deprivation on physical and mental health.",link:""},{type:"Fun",color:A.Fun||S,description:"Create a list of fun activities for a family game night.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the concept of compound interest and its importance in long-term savings.",link:""},{type:"Finance",color:A.Finance||S,description:"Provide an overview of different types of retirement accounts (e.g., 401(k), IRA, Roth IRA).",link:""},{type:"Finance",color:A.Finance||S,description:"Describe strategies for creating and sticking to a personal budget.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the basics of stock market investing for beginners.",link:""},{type:"Finance",color:A.Finance||S,description:"Outline the pros and cons of renting vs. buying a home.",link:""},{type:"Finance",color:A.Finance||S,description:"Describe different methods for paying off debt, such as the snowball and avalanche methods.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the importance of an emergency fund and how to build one.",link:""},{type:"Finance",color:A.Finance||S,description:"Provide an overview of different types of insurance and their importance in financial planning.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the concept of diversification in investment portfolios.",link:""},{type:"Finance",color:A.Finance||S,description:"Describe strategies for minimizing tax liability legally.",link:""}];function H(e){var t,n;let i=(0,j.Zc)(e.color),o="".concat(C().card," ").concat(i," md:w-full md:h-fit sm:w-full h-fit md:w-[200px] md:h-[200px] cursor-pointer"),r="".concat(C().title," pt-2 dark:text-white dark:font-bold"),s="".concat(C().text," dark:text-white"),l=(0,a.jsxs)(x.Zb,{className:o,children:[(0,a.jsx)(x.Ol,{className:"m-0 p-2 pb-1 relative",children:(0,a.jsxs)("div",{className:"flex flex-row md:flex-col",children:[(t=e.title,n=e.color.toLowerCase(),"Automation"===t?(0,L.TI)("Robot",n,"w-8","h-8"):"Paint"===t?(0,L.TI)("Palette",n,"w-8","h-8"):"Pop Culture"===t?(0,L.TI)("Confetti",n,"w-8","h-8"):"Travel"===t?(0,L.TI)("Jeep",n,"w-8","h-8"):"Learning"===t?(0,L.TI)("Book",n,"w-8","h-8"):"Health"===t?(0,L.TI)("Asclepius",n,"w-8","h-8"):"Fun"===t?(0,L.TI)("Island",n,"w-8","h-8"):"Home"===t?(0,L.TI)("House",n,"w-8","h-8"):"Language"===t?(0,L.TI)("Translate",n,"w-8","h-8"):"Code"===t?(0,L.TI)("Code",n,"w-8","h-8"):"Food"===t?(0,L.TI)("BowlFood",n,"w-8","h-8"):"Interviewing"===t?(0,L.TI)("Lectern",n,"w-8","h-8"):"Finance"===t?(0,L.TI)("Wallet",n,"w-8","h-8"):(0,L.TI)("Lightbulb",n,"w-8","h-8")),(0,a.jsx)(x.ll,{className:r,children:e.title})]})}),(0,a.jsx)(x.aY,{className:"m-0 p-2 pr-4 pt-1",children:(0,a.jsx)(x.SZ,{className:"".concat(s," sm:line-clamp-2 md:line-clamp-4"),children:e.body})})]});return e.link?(0,a.jsx)("a",{href:e.link,className:"no-underline",children:l}):l}var I=n(48861),F=n(58485),_=n(59479),N=n(66820),T=n(79306),M=n(9557),D=n(69591),W=n(16463),B=n(94880),O=n(81970),q=n(19573);function R(e){let[t,n]=(0,l.useState)(""),[i,o]=(0,l.useState)([]),[r,d]=(0,l.useState)(!1),[p,u]=(0,l.useState)(""),[h,g]=(0,l.useState)([]),[m,f]=(0,l.useState)(null),y=(0,D.Nr)(m,500),[k,b]=(0,l.useState)(!1),[v,P]=(0,l.useState)("khoj"),[C,A]=(0,l.useState)([]),[S,I]=(0,l.useState)([]),F=(0,l.useRef)(null),[R,U]=(0,l.useState)(!1),Z=(0,W.useRouter)(),z=(0,W.useSearchParams)().get("q");(0,l.useEffect)(()=>{z&&n(decodeURIComponent(z))},[z]),(0,l.useEffect)(()=>{y&&b(!0)},[y]);let V=e.onConversationIdChange,{data:G,error:J}=(0,c.ZP)("agents",()=>window.fetch("/api/agents").then(e=>e.json()).catch(e=>console.log(e)),{revalidateOnFocus:!1}),K=e=>{Z.push("/agents?agent=".concat(e))};function Y(){g((function(e){for(let t=e.length-1;t>0;t--){let n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e})(E).slice(0,3))}return(0,l.useEffect)(()=>{var t,n;if(e.isLoadingUserConfig)return;let i=new Date,o=i.getDay(),a=i.getHours()>=17||4>i.getHours()?"evening":i.getHours()>=12?"afternoon":"morning",r=(null===(t=e.userConfig)||void 0===t?void 0:t.given_name)?", ".concat(null===(n=e.userConfig)||void 0===n?void 0:n.given_name):"",s=["What would you like to get done".concat(r,"?"),"Hey".concat(r,"! How can I help?"),"Good ".concat(a).concat(r,"! What's on your mind?"),"Ready to breeze through your ".concat(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][o],"?"),"Want help navigating your ".concat(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][o]," workload?")];u(s[Math.floor(Math.random()*s.length)])},[e.isLoadingUserConfig,e.userConfig]),(0,l.useEffect)(()=>{e.chatOptionsData&&Y()},[e.chatOptionsData]),(0,l.useEffect)(()=>{let e=(G||[]).filter(e=>null!=e);I(e),P(e.length>1?e[0].slug:"khoj"),A(e.map(e=>(0,L.TI)(e.icon,e.color)))},[G,e.isMobileWidth]),(0,l.useEffect)(()=>{(async()=>{if(t&&!r){d(!0);try{let e=await (0,M.A0)(v||"khoj");null==V||V(e),localStorage.setItem("message",t),i.length>0&&localStorage.setItem("images",JSON.stringify(i)),window.location.href="/chat?conversationId=".concat(e)}catch(e){console.error("Error creating new conversation:",e),d(!1)}n(""),o([])}})(),(t||i.length>0)&&d(!0)},[v,t,r,V]),(0,l.useEffect)(()=>{let e=document.querySelector("[data-radix-scroll-area-viewport]"),t=()=>{f(null),b(!1)};return null==e||e.addEventListener("scroll",t),()=>null==e?void 0:e.removeEventListener("scroll",t)},[]),(0,a.jsxs)("div",{className:"".concat(s().homeGreetings," w-full md:w-auto"),children:[R&&(0,a.jsx)(N.Z,{onOpenChange:U,loginRedirectMessage:"Login to your second brain"}),(0,a.jsxs)("div",{className:"w-full text-center justify-end content-end",children:[(0,a.jsx)("div",{className:"items-center",children:(0,a.jsx)("h1",{className:"text-2xl md:text-3xl text-center w-fit pb-6 px-4 mx-auto",children:p})}),!e.isMobileWidth&&(0,a.jsxs)(B.x,{className:"w-full max-w-[600px] mx-auto",children:[(0,a.jsx)("div",{className:"flex pb-2 gap-2 items-center justify-center",children:S.map((t,n)=>(0,a.jsxs)(q.J2,{open:k&&y===t.slug,onOpenChange:e=>{e||(f(null),b(!1))},children:[(0,a.jsx)(q.xo,{asChild:!0,children:(0,a.jsx)(x.Zb,{className:"".concat(v===t.slug?(0,j.Iu)(t.color):"border-stone-100 dark:border-neutral-700 text-muted-foreground","\n hover:cursor-pointer rounded-lg px-2 py-2"),onDoubleClick:()=>K(t.slug),onClick:()=>{var e;P(t.slug),null===(e=F.current)||void 0===e||e.focus(),f(null),b(!1)},onMouseEnter:()=>f(t.slug),onMouseLeave:()=>{f(null),b(!1)},children:(0,a.jsxs)(x.ll,{className:"text-center text-md font-medium flex justify-center items-center whitespace-nowrap",children:[C[n]," ",t.name]})})}),(0,a.jsx)(q.yk,{className:"w-80 p-0 border-none bg-transparent shadow-none",onMouseLeave:()=>{f(null),b(!1)},children:(0,a.jsx)(O.EY,{data:t,userProfile:null,isMobileWidth:e.isMobileWidth||!1,showChatButton:!1,editCard:!1,filesOptions:[],selectedChatModelOption:"",agentSlug:"",isSubscribed:(0,T.T8)(e.userConfig),setAgentChangeTriggered:()=>{},modelOptions:[],inputToolOptions:{},outputModeOptions:{}})})]},"".concat(n,"-").concat(t.slug)))}),(0,a.jsx)(B.B,{orientation:"horizontal"})]})]}),(0,a.jsxs)("div",{className:"mx-auto ".concat(e.isMobileWidth?"w-full":"w-fit max-w-screen-md"),children:[!e.isMobileWidth&&(0,a.jsx)("div",{className:"w-full ".concat(s().inputBox," shadow-lg bg-background align-middle items-center justify-center px-3 py-1 dark:bg-neutral-700 border-stone-100 dark:border-none dark:shadow-none rounded-2xl"),children:(0,a.jsx)(_.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>n(e),sendImage:e=>o(t=>[...t,e]),sendDisabled:r,chatOptionsData:e.chatOptionsData,conversationId:null,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,ref:F})}),(0,a.jsx)("div",{className:"".concat(s().suggestions," w-full ").concat(e.isMobileWidth?"grid":"flex flex-row"," justify-center items-center"),children:h.map((t,i)=>(0,a.jsx)("div",{onClick:i=>{e.isLoggedIn?function(e,t,i){if(!e){let e="";i=i.charAt(0).toLowerCase()+i.slice(1),e="Online Search"===t?"/online "+i:"Paint"===t?"/image "+i:i;let o=document.getElementById("message");o&&(o.value=e,n(e))}}(t.link,t.type,t.description):(i.preventDefault(),i.stopPropagation(),U(!0))},children:(0,a.jsx)(H,{title:t.type,body:t.description,link:t.link,color:t.color},t.type+Math.random())},"".concat(t.type," ").concat(t.description)))}),(0,a.jsx)("div",{className:"flex items-center justify-center margin-auto",children:(0,a.jsxs)("button",{onClick:function(){Y()},className:"m-2 p-1.5 rounded-lg dark:hover:bg-[var(--background-color)] hover:bg-stone-100 border border-stone-100 text-sm text-stone-500 dark:text-stone-300 dark:border-neutral-700",children:["More Ideas ",(0,a.jsx)(w,{className:"h-4 w-4 inline"})]})})]}),e.isMobileWidth&&(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"".concat(s().inputBox," pt-1 shadow-[0_-20px_25px_-5px_rgba(0,0,0,0.1)] dark:bg-neutral-700 bg-background align-middle items-center justify-center pb-3 mx-1 rounded-t-2xl rounded-b-none"),children:[(0,a.jsxs)(B.x,{className:"w-full max-w-[85vw]",children:[(0,a.jsx)("div",{className:"flex gap-2 items-center justify-left pt-1 pb-2 px-12",children:C.map((e,t)=>(0,a.jsx)(x.Zb,{className:"".concat(v===S[t].slug?(0,j.Iu)(S[t].color):"border-muted text-muted-foreground"," hover:cursor-pointer"),children:(0,a.jsxs)(x.ll,{className:"text-center text-xs font-medium flex justify-center items-center whitespace-nowrap px-1.5 py-1",onDoubleClick:()=>K(S[t].slug),onClick:()=>{var e;P(S[t].slug),null===(e=F.current)||void 0===e||e.focus()},children:[e," ",S[t].name]})},"".concat(t,"-").concat(S[t].slug)))}),(0,a.jsx)(B.B,{orientation:"horizontal"})]}),(0,a.jsx)(_.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>n(e),sendImage:e=>o(t=>[...t,e]),sendDisabled:r,chatOptionsData:e.chatOptionsData,conversationId:null,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,ref:F})]})})]})}function U(){let[e,t]=(0,l.useState)(null),[n,i]=(0,l.useState)(!0),[o,r]=(0,l.useState)(null),[c,d]=(0,l.useState)([]),p=(0,D.IC)(),{userConfig:u,isLoadingUserConfig:h}=(0,T.h2)(!0),[g,m]=(0,l.useState)(null),f=(0,T.GW)();return((0,l.useEffect)(()=>{m(u)},[u]),(0,l.useEffect)(()=>{fetch("/api/chat/options").then(e=>e.json()).then(e=>{i(!1),e&&t(e)}).catch(e=>{console.error(e)})},[]),n)?(0,a.jsx)(F.Z,{}):(0,a.jsxs)("div",{className:"".concat(s().main," ").concat(s().chatLayout),children:[(0,a.jsx)("title",{children:"Khoj AI - Your Second Brain"}),(0,a.jsx)("div",{className:"".concat(s().sidePanel),children:(0,a.jsx)(I.ZP,{conversationId:o,uploadedFiles:c,isMobileWidth:p})}),(0,a.jsx)("div",{className:"".concat(s().chatBox),children:(0,a.jsx)("div",{className:"".concat(s().chatBoxBody),children:(0,a.jsx)(R,{isLoggedIn:null!==f,chatOptionsData:e,setUploadedFiles:d,isMobileWidth:p,onConversationIdChange:e=>{r(e)},userConfig:g,isLoadingUserConfig:h})})})]})}},16463:function(e,t,n){"use strict";var i=n(71169);n.o(i,"useRouter")&&n.d(t,{useRouter:function(){return i.useRouter}}),n.o(i,"useSearchParams")&&n.d(t,{useSearchParams:function(){return i.useSearchParams}})},58877:function(){},31806:function(e){e.exports={card:"suggestions_card__fbiZo",title:"suggestions_title__vNozc",text:"suggestions_text__J_IfY"}},68518:function(e){e.exports={main:"page_main__nw1Wk",suggestions:"page_suggestions__Y8EqU",inputBox:"page_inputBox__LrcZ4",chatBodyFull:"page_chatBodyFull__Qu2T2",chatBody:"page_chatBody__IirQQ",chatLayout:"page_chatLayout__bJUjP",chatBox:"page_chatBox__gsR6V",titleBar:"page_titleBar__3btUI",chatBoxBody:"page_chatBoxBody__xORKr",homeGreetings:"page_homeGreetings__VjQhh",sidePanel:"page_sidePanel__mxpxa"}}},function(e){e.O(0,[404,929,9848,9001,3062,8840,7113,3110,5512,4602,1603,9417,9479,1970,2971,7023,1744],function(){return e(e.s=1507)}),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{1507:function(e,t,n){Promise.resolve().then(n.bind(n,4515))},4515:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return U}});var i,o,a=n(57437);n(58877);var r=n(68518),s=n.n(r);n(7395);var l=n(2265),c=n(29039),d=n(52195);let p=new Map([["bold",l.createElement(l.Fragment,null,l.createElement("path",{d:"M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z"}))],["duotone",l.createElement(l.Fragment,null,l.createElement("path",{d:"M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z",opacity:"0.2"}),l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["fill",l.createElement(l.Fragment,null,l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L60.63,81.29l17,17A8,8,0,0,1,72,112H24a8,8,0,0,1-8-8V56A8,8,0,0,1,29.66,50.3L49.31,70,60.25,60A96,96,0,0,1,224,128Z"}))],["light",l.createElement(l.Fragment,null,l.createElement("path",{d:"M222,128a94,94,0,0,1-92.74,94H128a93.43,93.43,0,0,1-64.5-25.65,6,6,0,1,1,8.24-8.72A82,82,0,1,0,70,70l-.19.19L39.44,98H72a6,6,0,0,1,0,12H24a6,6,0,0,1-6-6V56a6,6,0,0,1,12,0V90.34L61.63,61.4A94,94,0,0,1,222,128Z"}))],["regular",l.createElement(l.Fragment,null,l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["thin",l.createElement(l.Fragment,null,l.createElement("path",{d:"M220,128a92,92,0,0,1-90.77,92H128a91.47,91.47,0,0,1-63.13-25.1,4,4,0,1,1,5.5-5.82A84,84,0,1,0,68.6,68.57l-.13.12L34.3,100H72a4,4,0,0,1,0,8H24a4,4,0,0,1-4-4V56a4,4,0,0,1,8,0V94.89l35-32A92,92,0,0,1,220,128Z"}))]]);var u=Object.defineProperty,h=Object.defineProperties,g=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,k=(e,t,n)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))f.call(t,n)&&k(e,n,t[n]);if(m)for(var n of m(t))y.call(t,n)&&k(e,n,t[n]);return e},v=(e,t)=>h(e,g(t));let w=(0,l.forwardRef)((e,t)=>l.createElement(d.Z,v(b({ref:t},e),{weights:p})));w.displayName="ArrowCounterClockwise";var x=n(36013),P=n(31806),C=n.n(P),L=n(58575),j=n(89417);(i=o||(o={})).Automation="Automation",i.Paint="Paint",i.Travel="Travel",i.Health="Health",i.Learning="Learning",i.Language="Language",i.PopCulture="Pop Culture",i.Food="Food",i.Interviewing="Interviewing",i.Home="Home",i.Fun="Fun",i.Code="Code",i.Finance="Finance";let A={};A.Automation="blue",A.Paint="indigo",A.Travel="yellow",A.Health="teal",A.Learning="purple",A.Language="blue",A["Pop Culture"]="red",A.Food="yellow",A.Interviewing="orange",A.Home="green",A.Fun="fuchsia",A.Code="purple",A.Finance="green";let S="orange",E=[{type:"Automation",color:A.Automation||S,description:"Send me a summary of HackerNews every morning.",link:"/automations?subject=Summarizing%20Top%20Headlines%20from%20HackerNews&query=Summarize%20the%20top%20headlines%20on%20HackerNews&crontime=00%207%20*%20*%20*"},{type:"Automation",color:A.Automation||S,description:"Compose a bedtime story that a five-year-old might enjoy.",link:"/automations?subject=Daily%20Bedtime%20Story&query=Compose%20a%20bedtime%20story%20that%20a%20five-year-old%20might%20enjoy.%20It%20should%20not%20exceed%20five%20paragraphs.%20Appeal%20to%20the%20imagination%2C%20but%20weave%20in%20learnings.&crontime=0%2021%20*%20*%20*"},{type:"Paint",color:A.Paint||S,description:"Paint a picture of a sunset but it's made of stained glass tiles",link:""},{type:"Travel",color:A.Travel||S,description:"Search for the best attractions in Austria Hungary",link:""},{type:"Health",color:A.Health||S,description:"Generate a weekly meal plan with recipes.",link:"/automations?subject=Weekly Meal Plan&query=Create a weekly meal plan with 7 dinner recipes, including ingredients and brief instructions. Focus on balanced, healthy meals.&crontime=0 18 * * 0"},{type:"Paint",color:A.Paint||S,description:"Paint a futuristic cityscape with flying cars.",link:""},{type:"Travel",color:A.Travel||S,description:"Find the top-rated coffee shops in Seattle.",link:""},{type:"Automation",color:A.Automation||S,description:"Send daily motivational quotes.",link:"/automations?subject=Daily Motivation&query=Provide an inspiring quote for the day along with a brief explanation of its meaning.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create an abstract representation of jazz music.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the history of the Eiffel Tower.",link:""},{type:"Automation",color:A.Automation||S,description:"Compile a weekly news summary.",link:"/automations?subject=Weekly News Digest&query=Summarize the top 5 most important news stories of the week across various categories.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a portrait of a cat wearing a Victorian-era costume.",link:""},{type:"Travel",color:A.Travel||S,description:"Find beginner-friendly hiking trails near Los Angeles.",link:""},{type:"Automation",color:A.Automation||S,description:"Generate a daily writing prompt.",link:"/automations?subject=Daily Writing Prompt&query=Create an engaging writing prompt suitable for short story or journal writing.&crontime=0 9 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a surrealist landscape inspired by Salvador Dali.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the benefits and drawbacks of electric vehicles.",link:""},{type:"Automation",color:A.Automation||S,description:"Send weekly language learning tips for Spanish.",link:"/automations?subject=Spanish Learning Tips&query=Provide a useful Spanish language learning tip, including vocabulary, grammar, or cultural insight.&crontime=0 19 * * 2"},{type:"Paint",color:A.Paint||S,description:"Paint a scene from a fairy tale in the style of Studio Ghibli.",link:""},{type:"Pop Culture",color:"yellow",description:"Find the best-rated science fiction books of the last decade.",link:""},{type:"Paint",color:A.Paint||S,description:"Paint a still life of exotic fruits in a neon color palette.",link:""},{type:"Travel",color:A.Travel||S,description:"Research the most eco-friendly cities in Europe.",link:""},{type:"Automation",color:A.Automation||S,description:"Send daily reminders for habit tracking.",link:"/automations?subject=Habit Tracker&query=Generate a daily reminder to track habits, including a motivational message.&crontime=0 20 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting of a cyberpunk street market.",link:""},{type:"Learning",color:A.Learning||S,description:"Summarize the biography of this figure: https://en.wikipedia.org/wiki/Jean_Baptiste_Point_du_Sable",link:""},{type:"Language",color:"blue",description:"Send daily Spanish phrases used in Latin America.",link:"/automations?subject=Daily Latin American Spanish&query=Provide a common Spanish phrase or slang term used in Latin America, its meaning, and an example of usage. Include which countries it's most common in.&crontime=0 8 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a vibrant painting inspired by Frida Kahlo's style.",link:""},{type:"Food",color:A.Food||S,description:"Find the best empanada recipe from Colombia.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on the Brazilian startup ecosystems.",link:"/automations?subject=LatAm Startup News&query=Provide a summary of the most significant developments in Latin American startup ecosystems this week. Include notable funding rounds, expansions, or policy changes.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a colorful scene of a traditional Day of the Dead celebration in Mexico.",link:""},{type:"Language",color:A.Language||S,description:"Daily Swahili phrase with English translation.",link:"/automations?subject=Daily Swahili Lesson&query=Provide a common Swahili phrase or proverb, its English translation, and a brief explanation of its cultural significance in East Africa.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting of the Serengeti during wildebeest migration.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the top M-Pesa alternatives in East Africa.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on East African tech startups and innovations.",link:"/automations?subject=East African Tech News&query=Summarize the most significant developments in East African tech startups and innovations this week. Include notable funding rounds, new product launches, or policy changes affecting the tech ecosystem.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a colorful scene inspired by Maasai traditional clothing and jewelry.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly summary of EU policy changes and their impact.",link:"/automations?subject=EU Policy Update&query=Summarize the most significant EU policy changes or proposals from this week. Explain their potential impact on European citizens and businesses.&crontime=0 17 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a digital landscape of the Northern Lights over the Norwegian fjords.",link:""},{type:"Automation",color:A.Automation||S,description:"Daily East Asian proverb with explanation.",link:"/automations?subject=East Asian Wisdom&query=Provide a proverb from an East Asian language (rotating through Chinese, Japanese, Korean, etc.), its English translation, and a brief explanation of its cultural significance and practical application.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting in the style of traditional Chinese ink wash landscape.",link:""},{type:"Pop Culture",color:"yellow",description:"Research the latest trends in K-pop and its global influence.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly summary of technological innovations from East Asian tech giants.",link:"/automations?subject=East Asian Tech Update&query=Summarize the most significant technological innovations or product launches from major East Asian tech companies (e.g., Samsung, Sony, Alibaba, Tencent) this week. Explain their potential impact on global markets.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a vibrant scene of a Japanese cherry blossom festival.",link:""},{type:"Automation",color:A.Automation||S,description:"Daily South Asian recipe with cultural significance.",link:"/automations?subject=South Asian Culinary Journey&query=Provide a traditional South Asian recipe (rotating through Indian, Pakistani, Bangladeshi, Sri Lankan, etc. cuisines), including ingredients, brief instructions, and its cultural significance or origin story.&crontime=0 10 * * *"},{type:"Pop Culture",color:A["Pop Culture"]||S,description:"Research the impact of Bollywood on global cinema and fashion.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on South Asian startup ecosystems and innovations.",link:"/automations?subject=South Asian Startup Pulse&query=Summarize the most significant developments in South Asian startup ecosystems this week. Include notable funding rounds, innovative solutions to local challenges, and any policy changes affecting the tech landscape in countries like India, Bangladesh, Pakistan, and Sri Lanka.&crontime=0 18 * * 5"},{type:"Interviewing",color:A.Interviewing||S,description:"Create interview prep questions for a consulting job.",link:""},{type:"Interviewing",color:A.Interviewing||S,description:"What information should I include in a CV for a PhD application?",link:""},{type:"Home",color:A.Home||S,description:"Recommend plants that can grow well indoors.",link:""},{type:"Health",color:A.Health||S,description:"Suggest healthy meal prep ideas for a busy work week.",link:""},{type:"Learning",color:A.Learning||S,description:"List effective time management techniques for students.",link:""},{type:"Learning",color:A.Learning||S,description:"Provide tips for improving public speaking skills.",link:""},{type:"Learning",color:A.Learning||S,description:"Recommend books for learning about personal finance.",link:""},{type:"Home",color:A.Home||S,description:"Suggest ways to reduce plastic waste in daily life.",link:""},{type:"Health",color:A.Health||S,description:"Create a beginner's guide to meditation and mindfulness.",link:""},{type:"Health",color:A.Health||S,description:"Give me some tips for improving my sleep quality.",link:""},{type:"Health",color:A.Health||S,description:"What are weight loss strategies supported by clinical studies?",link:""},{type:"Fun",color:A.Fun||S,description:"List creative date ideas for couples on a budget.",link:""},{type:"Code",color:A.Interviewing||S,description:"Provide tips for writing an effective resume.",link:""},{type:"Code",color:A.Code||S,description:"Explain the concept of recursion with a simple coding example.",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to reverse a string without using built-in functions.",link:""},{type:"Code",color:A.Code||S,description:"Explain the difference between 'let', 'const', and 'var' in JavaScript.",link:""},{type:"Code",color:A.Code||S,description:"Create a coding exercise to implement a basic sorting algorithm (e.g., bubble sort).",link:""},{type:"Code",color:A.Code||S,description:"Explain object-oriented programming principles with a simple class example.",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to find the longest palindromic substring in a given string.",link:""},{type:"Code",color:A.Code||S,description:"Explain the concept of asynchronous programming with a JavaScript Promise example.",link:""},{type:"Code",color:A.Code||S,description:"Create a coding exercise to implement a basic data structure (e.g., linked list or stack).",link:""},{type:"Code",color:A.Code||S,description:"Explain the time and space complexity of common algorithms (e.g., binary search).",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to implement a simple REST API using Node.js and Express.",link:""},{type:"Code",color:A.Code||S,description:"Compare popular web frameworks in Rust and Python",link:""},{type:"Travel",color:A.Travel||S,description:"Craft an off-beat itinerary for a weekend in Lagos, Nigeria.",link:""},{type:"Language",color:A.Language||S,description:"Teach me about declensions in Latin.",link:""},{type:"Learning",color:A.Learning||S,description:"Break down the concept of photosynthesis for a middle school student.",link:""},{type:"Learning",color:A.Learning||S,description:"Use the Socratic method to explore the causes of World War I.",link:""},{type:"Learning",color:A.Learning||S,description:"Explain the water cycle using an analogy suitable for elementary students.",link:""},{type:"Learning",color:A.Learning||S,description:"Guide a high school student through solving a quadratic equation step-by-step.",link:""},{type:"Learning",color:A.Learning||S,description:"Create a series of questions to help a student discover the principles of basic economics.",link:""},{type:"Learning",color:A.Learning||S,description:"Develop a hands-on experiment to demonstrate the concept of density to middle schoolers.",link:""},{type:"Learning",color:A.Learning||S,description:"Use guided discovery to help a student understand the structure of DNA.",link:""},{type:"Learning",color:A.Learning||S,description:"Create a personalized learning plan for a student struggling with grammar concepts.",link:""},{type:"Learning",color:A.Learning||S,description:"Design a series of questions to encourage critical thinking about climate change.",link:""},{type:"Learning",color:A.Learning||S,description:"Develop a step-by-step guide for conducting a basic science experiment on plant growth.",link:""},{type:"Health",color:A.Health||S,description:"Provide a detailed explanation about how to manage type 2 diabetes.",link:""},{type:"Health",color:A.Health||S,description:"Explain the effects a stroke might have on the body.",link:""},{type:"Health",color:A.Health||S,description:"Describe the recommended steps for preventing heart disease.",link:""},{type:"Health",color:A.Health||S,description:"Explain the differences between various types of headaches and their treatments.",link:""},{type:"Health",color:A.Health||S,description:"Provide an overview of the most effective stress management techniques.",link:""},{type:"Health",color:A.Health||S,description:"Explain the importance of vaccination and how vaccines work.",link:""},{type:"Health",color:A.Health||S,description:"Describe the symptoms and treatment options for depression.",link:""},{type:"Health",color:A.Health||S,description:"Explain the process of digestion and common digestive disorders.",link:""},{type:"Health",color:A.Health||S,description:"Provide an overview of the different types of cancer screenings and their importance.",link:""},{type:"Health",color:A.Health||S,description:"Explain the effects of sleep deprivation on physical and mental health.",link:""},{type:"Fun",color:A.Fun||S,description:"Create a list of fun activities for a family game night.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the concept of compound interest and its importance in long-term savings.",link:""},{type:"Finance",color:A.Finance||S,description:"Provide an overview of different types of retirement accounts (e.g., 401(k), IRA, Roth IRA).",link:""},{type:"Finance",color:A.Finance||S,description:"Describe strategies for creating and sticking to a personal budget.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the basics of stock market investing for beginners.",link:""},{type:"Finance",color:A.Finance||S,description:"Outline the pros and cons of renting vs. buying a home.",link:""},{type:"Finance",color:A.Finance||S,description:"Describe different methods for paying off debt, such as the snowball and avalanche methods.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the importance of an emergency fund and how to build one.",link:""},{type:"Finance",color:A.Finance||S,description:"Provide an overview of different types of insurance and their importance in financial planning.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the concept of diversification in investment portfolios.",link:""},{type:"Finance",color:A.Finance||S,description:"Describe strategies for minimizing tax liability legally.",link:""}];function H(e){var t,n;let i=(0,L.Zc)(e.color),o="".concat(C().card," ").concat(i," md:w-full md:h-fit sm:w-full h-fit md:w-[200px] md:h-[180px] cursor-pointer md:p-2"),r="".concat(C().text," dark:text-white"),s=(0,a.jsx)(x.Zb,{className:o,children:(0,a.jsx)("div",{className:"flex",children:(0,a.jsxs)(x.aY,{className:"m-0 p-2",children:[(t=e.title,n=e.color.toLowerCase(),"Automation"===t?(0,j.TI)("Robot",n,"w-6","h-6"):"Paint"===t?(0,j.TI)("Palette",n,"w-6","h-6"):"Pop Culture"===t?(0,j.TI)("Confetti",n,"w-6","h-6"):"Travel"===t?(0,j.TI)("Jeep",n,"w-6","h-6"):"Learning"===t?(0,j.TI)("Book",n,"w-6","h-6"):"Health"===t?(0,j.TI)("Asclepius",n,"w-6","h-6"):"Fun"===t?(0,j.TI)("Island",n,"w-6","h-6"):"Home"===t?(0,j.TI)("House",n,"w-6","h-6"):"Language"===t?(0,j.TI)("Translate",n,"w-6","h-6"):"Code"===t?(0,j.TI)("Code",n,"w-6","h-6"):"Food"===t?(0,j.TI)("BowlFood",n,"w-6","h-6"):"Interviewing"===t?(0,j.TI)("Lectern",n,"w-6","h-6"):"Finance"===t?(0,j.TI)("Wallet",n,"w-6","h-6"):(0,j.TI)("Lightbulb",n,"w-6","h-6")),(0,a.jsx)(x.SZ,{className:"".concat(r," sm:line-clamp-2 md:line-clamp-4 pt-1"),children:e.body})]})})});return e.link?(0,a.jsx)("a",{href:e.link,className:"no-underline",children:s}):s}var I=n(48861),F=n(58485),_=n(38423),N=n(66820),T=n(79306),M=n(9557),D=n(69591),W=n(16463),B=n(94880),q=n(81970),O=n(19573);function R(e){var t,n;let[i,o]=(0,l.useState)(""),[r,d]=(0,l.useState)([]),[p,u]=(0,l.useState)(!1),[h,g]=(0,l.useState)(""),[m,f]=(0,l.useState)([]),[y,k]=(0,l.useState)(null),b=(0,D.Nr)(y,500),[v,P]=(0,l.useState)(!1),[C,A]=(0,l.useState)("khoj"),[S,I]=(0,l.useState)([]),[F,R]=(0,l.useState)([]),U=(0,l.useRef)(null),[Z,z]=(0,l.useState)(!1),V=(0,W.useRouter)(),G=(0,W.useSearchParams)().get("q");(0,l.useEffect)(()=>{G&&o(decodeURIComponent(G))},[G]),(0,l.useEffect)(()=>{b&&P(!0)},[b]);let J=e.onConversationIdChange,{data:K,error:Y}=(0,c.ZP)("agents",()=>window.fetch("/api/agents").then(e=>e.json()).catch(e=>console.log(e)),{revalidateOnFocus:!1}),Q=e=>{V.push("/agents?agent=".concat(e))};function X(){f((function(e){for(let t=e.length-1;t>0;t--){let n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e})(E).slice(0,3))}return(0,l.useEffect)(()=>{var t,n;if(e.isLoadingUserConfig)return;let i=new Date,o=i.getDay(),a=i.getHours()>=17||4>i.getHours()?"evening":i.getHours()>=12?"afternoon":"morning",r=(null===(t=e.userConfig)||void 0===t?void 0:t.given_name)?", ".concat(null===(n=e.userConfig)||void 0===n?void 0:n.given_name):"",s=["What would you like to get done".concat(r,"?"),"Hey".concat(r,"! How can I help?"),"Good ".concat(a).concat(r,"! What's on your mind?"),"Ready to breeze through ".concat(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][o],"?"),"Let's navigate your ".concat(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][o]," workload")];g(s[Math.floor(Math.random()*s.length)])},[e.isLoadingUserConfig,e.userConfig]),(0,l.useEffect)(()=>{e.chatOptionsData&&X()},[e.chatOptionsData]),(0,l.useEffect)(()=>{let e=(K||[]).filter(e=>null!=e);R(e),A(e.length>1?e[0].slug:"khoj"),I(e.map(e=>(0,j.TI)(e.icon,e.color)))},[K,e.isMobileWidth]),(0,l.useEffect)(()=>{(async()=>{if(i&&!p){u(!0);try{let e=await (0,M.A0)(C||"khoj");null==J||J(e),localStorage.setItem("message",i),r.length>0&&localStorage.setItem("images",JSON.stringify(r)),window.location.href="/chat?conversationId=".concat(e)}catch(e){console.error("Error creating new conversation:",e),u(!1)}o(""),d([])}})(),(i||r.length>0)&&u(!0)},[C,i,p,J]),(0,l.useEffect)(()=>{let e=document.querySelector("[data-radix-scroll-area-viewport]"),t=()=>{k(null),P(!1)};return null==e||e.addEventListener("scroll",t),()=>null==e?void 0:e.removeEventListener("scroll",t)},[]),(0,a.jsxs)("div",{className:"".concat(s().homeGreetings," w-full md:w-auto"),children:[Z&&(0,a.jsx)(N.Z,{onOpenChange:z,loginRedirectMessage:"Login to your second brain"}),(0,a.jsxs)("div",{className:"w-full text-center justify-end content-end",children:[(0,a.jsx)("div",{className:"items-center",children:(0,a.jsx)("h1",{className:"text-2xl md:text-3xl text-center w-fit pb-6 px-4 mx-auto",children:h})}),!e.isMobileWidth&&(0,a.jsxs)(B.x,{className:"w-full max-w-[600px] mx-auto",children:[(0,a.jsx)("div",{className:"flex pb-2 gap-2 items-center justify-center",children:F.map((t,n)=>(0,a.jsxs)(O.J2,{open:v&&b===t.slug,onOpenChange:e=>{e||(k(null),P(!1))},children:[(0,a.jsx)(O.xo,{asChild:!0,children:(0,a.jsx)(x.Zb,{className:"".concat(C===t.slug?(0,L.Iu)(t.color):"border-stone-100 dark:border-neutral-700 text-muted-foreground","\n hover:cursor-pointer rounded-lg px-2 py-2"),onDoubleClick:()=>Q(t.slug),onClick:()=>{var e;A(t.slug),null===(e=U.current)||void 0===e||e.focus(),k(null),P(!1)},onMouseEnter:()=>k(t.slug),onMouseLeave:()=>{k(null),P(!1)},children:(0,a.jsxs)(x.ll,{className:"text-center text-md font-medium flex justify-center items-center whitespace-nowrap",children:[S[n]," ",t.name]})})}),(0,a.jsx)(O.yk,{className:"w-80 p-0 border-none bg-transparent shadow-none",onMouseLeave:()=>{k(null),P(!1)},children:(0,a.jsx)(q.EY,{data:t,userProfile:null,isMobileWidth:e.isMobileWidth||!1,showChatButton:!1,editCard:!1,filesOptions:[],selectedChatModelOption:"",agentSlug:"",isSubscribed:(0,T.T8)(e.userConfig),setAgentChangeTriggered:()=>{},modelOptions:[],inputToolOptions:{},outputModeOptions:{}})})]},"".concat(n,"-").concat(t.slug)))}),(0,a.jsx)(B.B,{orientation:"horizontal"})]})]}),(0,a.jsxs)("div",{className:"mx-auto ".concat(e.isMobileWidth?"w-full":"w-fit max-w-screen-md"),children:[!e.isMobileWidth&&(0,a.jsx)("div",{className:"w-full ".concat(s().inputBox," shadow-lg bg-background align-middle items-center justify-center px-3 py-1 dark:bg-neutral-700 border-stone-100 dark:border-none dark:shadow-none rounded-2xl"),children:(0,a.jsx)(_.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>o(e),sendImage:e=>d(t=>[...t,e]),sendDisabled:p,chatOptionsData:e.chatOptionsData,conversationId:null,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,agentColor:null===(t=F.find(e=>e.slug===C))||void 0===t?void 0:t.color,ref:U})}),(0,a.jsx)("div",{className:"".concat(s().suggestions," w-full ").concat(e.isMobileWidth?"grid":"flex flex-row"," justify-center items-center"),children:m.map((t,n)=>(0,a.jsx)("div",{onClick:n=>{e.isLoggedIn?function(e,t,n){if(!e){let e="";n=n.charAt(0).toLowerCase()+n.slice(1),e="Online Search"===t?"/online "+n:"Paint"===t?"/image "+n:n;let i=document.getElementById("message");i&&(i.value=e,o(e))}}(t.link,t.type,t.description):(n.preventDefault(),n.stopPropagation(),z(!0))},children:(0,a.jsx)(H,{title:t.type,body:t.description,link:t.link,color:t.color},t.type+Math.random())},"".concat(t.type," ").concat(t.description)))}),(0,a.jsx)("div",{className:"flex items-center justify-center margin-auto",children:(0,a.jsxs)("button",{onClick:function(){X()},className:"m-2 p-1.5 rounded-lg dark:hover:bg-[var(--background-color)] hover:bg-stone-100 border border-stone-100 text-sm text-stone-500 dark:text-stone-300 dark:border-neutral-700",children:["More Ideas ",(0,a.jsx)(w,{className:"h-4 w-4 inline"})]})})]}),e.isMobileWidth&&(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"".concat(s().inputBox," pt-1 shadow-[0_-20px_25px_-5px_rgba(0,0,0,0.1)] dark:bg-neutral-700 bg-background align-middle items-center justify-center pb-3 mx-1 rounded-t-2xl rounded-b-none"),children:[(0,a.jsxs)(B.x,{className:"w-full max-w-[85vw]",children:[(0,a.jsx)("div",{className:"flex gap-2 items-center justify-left pt-1 pb-2 px-12",children:S.map((e,t)=>(0,a.jsx)(x.Zb,{className:"".concat(C===F[t].slug?(0,L.Iu)(F[t].color):"border-muted text-muted-foreground"," hover:cursor-pointer"),children:(0,a.jsxs)(x.ll,{className:"text-center text-xs font-medium flex justify-center items-center whitespace-nowrap px-1.5 py-1",onDoubleClick:()=>Q(F[t].slug),onClick:()=>{var e;A(F[t].slug),null===(e=U.current)||void 0===e||e.focus()},children:[e," ",F[t].name]})},"".concat(t,"-").concat(F[t].slug)))}),(0,a.jsx)(B.B,{orientation:"horizontal"})]}),(0,a.jsx)(_.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>o(e),sendImage:e=>d(t=>[...t,e]),sendDisabled:p,chatOptionsData:e.chatOptionsData,conversationId:null,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,agentColor:null===(n=F.find(e=>e.slug===C))||void 0===n?void 0:n.color,ref:U})]})})]})}function U(){let[e,t]=(0,l.useState)(null),[n,i]=(0,l.useState)(!0),[o,r]=(0,l.useState)(null),[c,d]=(0,l.useState)([]),p=(0,D.IC)(),{userConfig:u,isLoadingUserConfig:h}=(0,T.h2)(!0),[g,m]=(0,l.useState)(null),f=(0,T.GW)();return((0,l.useEffect)(()=>{m(u)},[u]),(0,l.useEffect)(()=>{fetch("/api/chat/options").then(e=>e.json()).then(e=>{i(!1),e&&t(e)}).catch(e=>{console.error(e)})},[]),n)?(0,a.jsx)(F.Z,{}):(0,a.jsxs)("div",{className:"".concat(s().main," ").concat(s().chatLayout),children:[(0,a.jsx)("title",{children:"Khoj AI - Your Second Brain"}),(0,a.jsx)("div",{className:"".concat(s().sidePanel),children:(0,a.jsx)(I.ZP,{conversationId:o,uploadedFiles:c,isMobileWidth:p})}),(0,a.jsx)("div",{className:"".concat(s().chatBox),children:(0,a.jsx)("div",{className:"".concat(s().chatBoxBody),children:(0,a.jsx)(R,{isLoggedIn:null!==f,chatOptionsData:e,setUploadedFiles:d,isMobileWidth:p,onConversationIdChange:e=>{r(e)},userConfig:g,isLoadingUserConfig:h})})})]})}},16463:function(e,t,n){"use strict";var i=n(71169);n.o(i,"useRouter")&&n.d(t,{useRouter:function(){return i.useRouter}}),n.o(i,"useSearchParams")&&n.d(t,{useSearchParams:function(){return i.useSearchParams}})},58877:function(){},31806:function(e){e.exports={card:"suggestions_card__fbiZo",title:"suggestions_title__vNozc",text:"suggestions_text__J_IfY"}},68518:function(e){e.exports={main:"page_main__nw1Wk",suggestions:"page_suggestions__Y8EqU",inputBox:"page_inputBox__LrcZ4",chatBodyFull:"page_chatBodyFull__Qu2T2",chatBody:"page_chatBody__IirQQ",chatLayout:"page_chatLayout__bJUjP",chatBox:"page_chatBox__gsR6V",titleBar:"page_titleBar__3btUI",chatBoxBody:"page_chatBoxBody__xORKr",homeGreetings:"page_homeGreetings__VjQhh",sidePanel:"page_sidePanel__mxpxa"}}},function(e){e.O(0,[404,929,9848,9001,3062,8840,7113,3110,5512,1034,4602,1603,9417,8423,1970,2971,7023,1744],function(){return e(e.s=1507)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3111],{91955:function(e,t,s){Promise.resolve().then(s.bind(s,5506))},5506:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return p}});var a=s(57437),o=s(11930),n=s.n(o),i=s(2265),r=s(48861),l=s(82697),c=s(58485);s(7395);var d=s(69591),h=s(79306),u=s(59479),g=s(9557);function m(e){let[t,s]=(0,i.useState)(""),[o,r]=(0,i.useState)([]),[c,d]=(0,i.useState)(!1),[h,g]=(0,i.useState)(null),m=(0,i.useRef)(null),p=e.setQueryToProcess,f=e.streamedMessages,x=e.isMobileWidth?"w-full":"w-4/6";return((0,i.useEffect)(()=>{if(o.length>0){let t=o.map(e=>encodeURIComponent(e));e.setImages(t)}},[o,e.setImages]),(0,i.useEffect)(()=>{let t=localStorage.getItem("images");if(t){let s=JSON.parse(t);r(s);let a=s.map(e=>encodeURIComponent(e));e.setImages(a),localStorage.removeItem("images")}let s=localStorage.getItem("message");s&&(d(!0),p(s))},[p,e.setImages]),(0,i.useEffect)(()=>{t&&(d(!0),p(t))},[t,p]),(0,i.useEffect)(()=>{f&&f.length>0&&f[f.length-1].completed?d(!1):s("")},[f]),e.publicConversationSlug||e.conversationId)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:n().chatBodyFull,children:(0,a.jsx)(l.Z,{publicConversationSlug:e.publicConversationSlug,conversationId:e.conversationId||"",setAgent:g,setTitle:e.setTitle,pendingMessage:c?t:"",incomingMessages:e.streamedMessages,customClassName:x})}),(0,a.jsx)("div",{className:"".concat(n().inputBox," p-1 md:px-2 shadow-md bg-background align-middle items-center justify-center dark:bg-neutral-700 dark:border-0 dark:shadow-sm rounded-t-2xl rounded-b-none md:rounded-xl h-fit ").concat(x," mr-auto ml-auto"),children:(0,a.jsx)(u.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>s(e),sendImage:e=>r(t=>[...t,e]),sendDisabled:c,chatOptionsData:e.chatOptionsData,conversationId:e.conversationId,agentColor:null==h?void 0:h.color,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,ref:m})})]}):(0,a.jsx)("div",{className:n().suggestions,children:"Whoops, nothing to see here!"})}function p(){let[e,t]=(0,i.useState)(null),[s,o]=(0,i.useState)(!0),[l,u]=(0,i.useState)("Khoj AI - Chat"),[p,f]=(0,i.useState)(void 0),[x,_]=(0,i.useState)([]),[v,y]=(0,i.useState)(""),[S,b]=(0,i.useState)(!1),[C,I]=(0,i.useState)([]),[j,w]=(0,i.useState)(void 0),[B,N]=(0,i.useState)([]),O=(0,d.k6)()||{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},k=(0,h.GW)(),T=(0,d.IC)();async function E(e){if(!e.ok)throw Error(e.statusText);if(!e.body)throw Error("Response body is null");let t=e.body.getReader(),s=new TextDecoder,a="␃\uD83D\uDD1A␗",o="";for(;;){let e;let{done:n,value:i}=await t.read();if(n){y(""),b(!1),N([]);break}for(o+=s.decode(i,{stream:!0});-1!==(e=o.indexOf(a));){let t=o.slice(0,e);if(o=o.slice(e+a.length),t){let e=x.find(e=>!e.completed);if(!e){console.error("No current message found");return}(0,g.VK)(t,e),_([...x])}}}}async function D(){if(!v||!p)return;let e={q:v,conversation_id:p,stream:!0,...O&&{region:O.region,country:O.country,city:O.city,country_code:O.countryCode,timezone:O.timezone},...B.length>0&&{image:B}},t=await fetch("/api/chat?client=web",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});try{await E(t)}catch(e){console.error(e)}}return((0,i.useEffect)(()=>{fetch("/api/chat/options").then(e=>e.json()).then(e=>{o(!1),e&&t(e)}).catch(e=>{console.error(e)}),(0,d.EK)(),w(window.location.pathname.split("/").pop()||"")},[]),(0,i.useEffect)(()=>{if(v&&!p){fetch("/api/chat/share/fork?public_conversation_slug=".concat(j),{method:"POST",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{f(e.conversation_id)}).catch(e=>{console.error(e)});return}if(v){let e={rawResponse:"",trainOfThought:[],context:[],onlineContext:{},completed:!1,timestamp:new Date().toISOString(),rawQuery:v||"",images:B};_(t=>[...t,e]),b(!0)}},[v,p,j]),(0,i.useEffect)(()=>{S&&D()},[S]),s)?(0,a.jsx)(c.Z,{}):j?(0,a.jsxs)("div",{className:"".concat(n().main," ").concat(n().chatLayout),children:[(0,a.jsx)("title",{children:l}),(0,a.jsx)("div",{className:n().sidePanel,children:(0,a.jsx)(r.ZP,{conversationId:null!=p?p:null,uploadedFiles:C,isMobileWidth:T})}),(0,a.jsx)("div",{className:n().chatBox,children:(0,a.jsxs)("div",{className:n().chatBoxBody,children:[!T&&l&&(0,a.jsx)("div",{className:"".concat(n().chatTitleWrapper," text-nowrap text-ellipsis overflow-hidden max-w-screen-md grid items-top font-bold mr-8 pt-6 col-auto h-fit"),children:l&&(0,a.jsx)("h2",{className:"text-lg text-ellipsis whitespace-nowrap overflow-x-hidden",children:l})}),(0,a.jsx)(i.Suspense,{fallback:(0,a.jsx)(c.Z,{}),children:(0,a.jsx)(m,{conversationId:p,streamedMessages:x,setQueryToProcess:y,isLoggedIn:null!==k,publicConversationSlug:j,chatOptionsData:e,setTitle:u,setUploadedFiles:I,isMobileWidth:T,setImages:N})})]})})]}):(0,a.jsx)("div",{className:n().suggestions,children:"Whoops, nothing to see here!"})}},11930:function(e){e.exports={main:"sharedChat_main__7Nayy",suggestions:"sharedChat_suggestions__V8kr_",inputBox:"sharedChat_inputBox__wRW5A",chatBodyFull:"sharedChat_chatBodyFull__O1MOv",chatBody:"sharedChat_chatBody__OnHDL",chatLayout:"sharedChat_chatLayout__gutlc",chatBox:"sharedChat_chatBox__PmAPg",titleBar:"sharedChat_titleBar__vOHp_",chatBoxBody:"sharedChat_chatBoxBody__ef2Nl",agentIndicator:"sharedChat_agentIndicator__ORCl4"}}},function(e){e.O(0,[7849,9848,929,3954,9001,3062,8840,7113,3110,394,1603,9417,3423,9479,2697,2971,7023,1744],function(){return e(e.s=91955)}),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3111],{91955:function(e,t,s){Promise.resolve().then(s.bind(s,5506))},5506:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return p}});var a=s(57437),o=s(11930),n=s.n(o),i=s(2265),r=s(48861),l=s(81467),c=s(58485);s(7395);var d=s(69591),h=s(79306),u=s(38423),g=s(9557);function m(e){let[t,s]=(0,i.useState)(""),[o,r]=(0,i.useState)([]),[c,d]=(0,i.useState)(!1),[h,g]=(0,i.useState)(null),m=(0,i.useRef)(null),p=e.setQueryToProcess,f=e.streamedMessages,x=e.isMobileWidth?"w-full":"w-4/6";return((0,i.useEffect)(()=>{if(o.length>0){let t=o.map(e=>encodeURIComponent(e));e.setImages(t)}},[o,e.setImages]),(0,i.useEffect)(()=>{let t=localStorage.getItem("images");if(t){let s=JSON.parse(t);r(s);let a=s.map(e=>encodeURIComponent(e));e.setImages(a),localStorage.removeItem("images")}let s=localStorage.getItem("message");s&&(d(!0),p(s))},[p,e.setImages]),(0,i.useEffect)(()=>{t&&(d(!0),p(t))},[t,p]),(0,i.useEffect)(()=>{f&&f.length>0&&f[f.length-1].completed?d(!1):s("")},[f]),e.publicConversationSlug||e.conversationId)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:n().chatBodyFull,children:(0,a.jsx)(l.Z,{publicConversationSlug:e.publicConversationSlug,conversationId:e.conversationId||"",setAgent:g,setTitle:e.setTitle,pendingMessage:c?t:"",incomingMessages:e.streamedMessages,customClassName:x})}),(0,a.jsx)("div",{className:"".concat(n().inputBox," p-1 md:px-2 shadow-md bg-background align-middle items-center justify-center dark:bg-neutral-700 dark:border-0 dark:shadow-sm rounded-t-2xl rounded-b-none md:rounded-xl h-fit ").concat(x," mr-auto ml-auto"),children:(0,a.jsx)(u.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>s(e),sendImage:e=>r(t=>[...t,e]),sendDisabled:c,chatOptionsData:e.chatOptionsData,conversationId:e.conversationId,agentColor:null==h?void 0:h.color,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,ref:m})})]}):(0,a.jsx)("div",{className:n().suggestions,children:"Whoops, nothing to see here!"})}function p(){let[e,t]=(0,i.useState)(null),[s,o]=(0,i.useState)(!0),[l,u]=(0,i.useState)("Khoj AI - Chat"),[p,f]=(0,i.useState)(void 0),[x,_]=(0,i.useState)([]),[v,y]=(0,i.useState)(""),[C,S]=(0,i.useState)(!1),[b,I]=(0,i.useState)([]),[j,w]=(0,i.useState)(void 0),[B,N]=(0,i.useState)([]),O=(0,d.k6)()||{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},k=(0,h.GW)(),T=(0,d.IC)();async function E(e){if(!e.ok)throw Error(e.statusText);if(!e.body)throw Error("Response body is null");let t=e.body.getReader(),s=new TextDecoder,a="␃\uD83D\uDD1A␗",o="";for(;;){let e;let{done:n,value:i}=await t.read();if(n){y(""),S(!1),N([]);break}for(o+=s.decode(i,{stream:!0});-1!==(e=o.indexOf(a));){let t=o.slice(0,e);if(o=o.slice(e+a.length),t){let e=x.find(e=>!e.completed);if(!e){console.error("No current message found");return}(0,g.VK)(t,e),_([...x])}}}}async function D(){if(!v||!p)return;let e={q:v,conversation_id:p,stream:!0,...O&&{region:O.region,country:O.country,city:O.city,country_code:O.countryCode,timezone:O.timezone},...B.length>0&&{image:B}},t=await fetch("/api/chat?client=web",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});try{await E(t)}catch(e){console.error(e)}}return((0,i.useEffect)(()=>{fetch("/api/chat/options").then(e=>e.json()).then(e=>{o(!1),e&&t(e)}).catch(e=>{console.error(e)}),(0,d.EK)(),w(window.location.pathname.split("/").pop()||"")},[]),(0,i.useEffect)(()=>{if(v&&!p){fetch("/api/chat/share/fork?public_conversation_slug=".concat(j),{method:"POST",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{f(e.conversation_id)}).catch(e=>{console.error(e)});return}if(v){let e={rawResponse:"",trainOfThought:[],context:[],onlineContext:{},codeContext:{},completed:!1,timestamp:new Date().toISOString(),rawQuery:v||"",images:B};_(t=>[...t,e]),S(!0)}},[v,p,j]),(0,i.useEffect)(()=>{C&&D()},[C]),s)?(0,a.jsx)(c.Z,{}):j?(0,a.jsxs)("div",{className:"".concat(n().main," ").concat(n().chatLayout),children:[(0,a.jsx)("title",{children:l}),(0,a.jsx)("div",{className:n().sidePanel,children:(0,a.jsx)(r.ZP,{conversationId:null!=p?p:null,uploadedFiles:b,isMobileWidth:T})}),(0,a.jsx)("div",{className:n().chatBox,children:(0,a.jsxs)("div",{className:n().chatBoxBody,children:[!T&&l&&(0,a.jsx)("div",{className:"".concat(n().chatTitleWrapper," text-nowrap text-ellipsis overflow-hidden max-w-screen-md grid items-top font-bold mr-8 pt-6 col-auto h-fit"),children:l&&(0,a.jsx)("h2",{className:"text-lg text-ellipsis whitespace-nowrap overflow-x-hidden",children:l})}),(0,a.jsx)(i.Suspense,{fallback:(0,a.jsx)(c.Z,{}),children:(0,a.jsx)(m,{conversationId:p,streamedMessages:x,setQueryToProcess:y,isLoggedIn:null!==k,publicConversationSlug:j,chatOptionsData:e,setTitle:u,setUploadedFiles:I,isMobileWidth:T,setImages:N})})]})})]}):(0,a.jsx)("div",{className:n().suggestions,children:"Whoops, nothing to see here!"})}},11930:function(e){e.exports={main:"sharedChat_main__7Nayy",suggestions:"sharedChat_suggestions__V8kr_",inputBox:"sharedChat_inputBox__wRW5A",chatBodyFull:"sharedChat_chatBodyFull__O1MOv",chatBody:"sharedChat_chatBody__OnHDL",chatLayout:"sharedChat_chatLayout__gutlc",chatBox:"sharedChat_chatBox__PmAPg",titleBar:"sharedChat_titleBar__vOHp_",chatBoxBody:"sharedChat_chatBoxBody__ef2Nl",agentIndicator:"sharedChat_agentIndicator__ORCl4"}}},function(e){e.O(0,[7849,9848,929,3954,9001,3062,8840,7113,3110,394,1034,1603,9417,3423,8423,1467,2971,7023,1744],function(){return e(e.s=91955)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- !function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}},r=!0;try{a[e].call(n.exports,n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u<e.length;u++){for(var n=e[u][0],r=e[u][1],o=e[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o<i&&(i=o));if(c){e.splice(u--,1);var a=r();void 0!==a&&(t=a)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);d.r(o);var u={};t=t||[null,n({}),n([]),n(n)];for(var i=2&r&&e;"object"==typeof i&&!~t.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(function(t){u[t]=function(){return e[t]}});return u.default=function(){return e},d.d(o,u),o},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return"static/chunks/"+(({6555:"964ecbae",7293:"94ca1967"})[e]||e)+"."+({1210:"132a7e1910006bbb",1459:"690bf20e7d7b7090",6555:"ea4eab2a3a835ffe",7293:"5584df65931cfe83"})[e]+".js"},d.miniCssF=function(e){},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",d.l=function(e,t,n,u){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,d.nc&&i.setAttribute("nonce",d.nc),i.setAttribute("data-webpack",o+n),i.src=d.tu(e)),r[e]=[t];var s=function(t,n){i.onerror=i.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=s.bind(null,i.onerror),i.onload=s.bind(null,i.onload),c&&document.head.appendChild(i)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===u&&(u={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/_next/",i={2272:0,8942:0,404:0,929:0,9848:0,3729:0,6129:0,7812:0,4003:0,2734:0,4229:0,9092:0,7849:0,492:0},d.f.j=function(e,t){var n=d.o(i,e)?i[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(/^(4(003|04|229|92)|78(12|49)|9(092|29|848)|(37|61)29|2272|2734|8942)$/.test(e))i[e]=0;else{var r=new Promise(function(t,r){n=i[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),u=Error();d.l(o,function(t){if(d.o(i,e)&&(0!==(n=i[e])&&(i[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}},"chunk-"+e,e)}}},d.O.j=function(e){return 0===i[e]},c=function(e,t){var n,r,o=t[0],u=t[1],c=t[2],f=0;if(o.some(function(e){return 0!==i[e]})){for(n in u)d.o(u,n)&&(d.m[n]=u[n]);if(c)var a=c(d)}for(e&&e(t);f<o.length;f++)r=o[f],d.o(i,r)&&i[r]&&i[r][0](),i[r]=0;return d.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f)),d.nc=void 0}();
1
+ !function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}},r=!0;try{a[e].call(n.exports,n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u<e.length;u++){for(var n=e[u][0],r=e[u][1],o=e[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o<i&&(i=o));if(c){e.splice(u--,1);var a=r();void 0!==a&&(t=a)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);d.r(o);var u={};t=t||[null,n({}),n([]),n(n)];for(var i=2&r&&e;"object"==typeof i&&!~t.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(function(t){u[t]=function(){return e[t]}});return u.default=function(){return e},d.d(o,u),o},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return"static/chunks/"+(({6555:"964ecbae",7293:"94ca1967"})[e]||e)+"."+({1210:"132a7e1910006bbb",1459:"690bf20e7d7b7090",6555:"ea4eab2a3a835ffe",7293:"5584df65931cfe83"})[e]+".js"},d.miniCssF=function(e){},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",d.l=function(e,t,n,u){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,d.nc&&i.setAttribute("nonce",d.nc),i.setAttribute("data-webpack",o+n),i.src=d.tu(e)),r[e]=[t];var s=function(t,n){i.onerror=i.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=s.bind(null,i.onerror),i.onload=s.bind(null,i.onload),c&&document.head.appendChild(i)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===u&&(u={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/_next/",i={2272:0,8942:0,404:0,929:0,9848:0,3729:0,2734:0,7812:0,4003:0,6129:0,4229:0,9092:0,7849:0,492:0},d.f.j=function(e,t){var n=d.o(i,e)?i[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(/^(4(003|04|229|92)|78(12|49)|9(092|29|848)|(37|61)29|2272|2734|8942)$/.test(e))i[e]=0;else{var r=new Promise(function(t,r){n=i[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),u=Error();d.l(o,function(t){if(d.o(i,e)&&(0!==(n=i[e])&&(i[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}},"chunk-"+e,e)}}},d.O.j=function(e){return 0===i[e]},c=function(e,t){var n,r,o=t[0],u=t[1],c=t[2],f=0;if(o.some(function(e){return 0!==i[e]})){for(n in u)d.o(u,n)&&(d.m[n]=u[n]);if(c)var a=c(d)}for(e&&e(t);f<o.length;f++)r=o[f],d.o(i,r)&&i[r]&&i[r][0](),i[r]=0;return d.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f)),d.nc=void 0}();
@@ -1 +1 @@
1
- div.page_main__nw1Wk{height:100dvh;color:hsla(var(--foreground))}div.page_suggestions__Y8EqU{overflow-x:none;height:-moz-fit-content;height:fit-content;padding:10px;white-space:nowrap;gap:1rem}div.page_inputBox__LrcZ4{border:1px solid var(--border-color);margin-bottom:20px;align-content:center}input.page_inputBox__LrcZ4{border:none}input.page_inputBox__LrcZ4:focus{outline:none;background-color:transparent}div.page_inputBox__LrcZ4:focus{box-shadow:0 8px 16px 0 rgba(0,0,0,.2)}div.page_chatBodyFull__Qu2T2{display:grid;grid-template-columns:1fr;height:100%}button.page_inputBox__LrcZ4{border:none;outline:none;background-color:transparent;cursor:pointer;border-radius:.5rem;padding:.5rem;background:linear-gradient(var(--calm-green),var(--calm-blue))}div.page_chatBody__IirQQ{display:grid;grid-template-columns:1fr 1fr;height:100%}.page_inputBox__LrcZ4{color:hsla(var(--foreground))}div.page_chatLayout__bJUjP{display:grid;grid-template-columns:1fr;gap:1rem}div.page_chatBox__gsR6V{display:grid}div.page_titleBar__3btUI{display:grid;grid-template-columns:1fr auto}div.page_chatBoxBody__xORKr,div.page_homeGreetings__VjQhh{display:grid;height:100%;margin:auto}div.page_homeGreetings__VjQhh{grid-template-rows:1fr 2fr}div.page_sidePanel__mxpxa{position:fixed;height:100%;z-index:1}@media screen and (max-width:768px){div.page_inputBox__LrcZ4{margin-bottom:0}div.page_chatBody__IirQQ{grid-template-columns:0fr 1fr}div.page_chatBoxBody__xORKr{width:100%;grid-template-rows:auto}div.page_sidePanel__mxpxa{position:relative}div.page_chatBox__gsR6V{padding:0;height:100%}div.page_chatLayout__bJUjP{gap:0;grid-template-columns:1fr}div.page_chatLayout__bJUjP,div.page_homeGreetings__VjQhh{grid-template-rows:auto 1fr}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2) format("woff2"),url(/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff) format("woff"),url(/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Bold.d181c465.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff) format("woff"),url(/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.8916142b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Italic.9024d815.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff) format("woff"),url(/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-Italic.5295ba48.woff) format("woff"),url(/_next/static/media/KaTeX_Math-Italic.939bc644.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2) format("woff2"),url(/_next/static/media/KaTeX_Script-Regular.07505710.woff) format("woff"),url(/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff) format("woff"),url(/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size2-Regular.57727022.woff) format("woff"),url(/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff) format("woff"),url(/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff) format("woff"),url(/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2) format("woff2"),url(/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff) format("woff"),url(/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.11"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.suggestions_card__fbiZo{padding:.5rem;margin:.05rem;border-radius:.5rem}.suggestions_title__vNozc{font-size:1rem}.suggestions_text__J_IfY{padding-top:.2rem;font-size:.9rem;white-space:wrap;padding-right:4px;color:#000}select.modelPicker_modelPicker__chlCh{font-size:small;padding:.5rem .75rem;border:1px;display:flex;align-items:center;height:2.5rem;justify-content:space-between;border-radius:calc(.5rem - 2px)}select.modelPicker_modelPicker__chlCh:after{grid-area:select;justify-self:end}div.modelPicker_modelPicker__chlCh{margin-top:8px}
1
+ div.page_main__nw1Wk{height:100dvh;color:hsla(var(--foreground))}div.page_suggestions__Y8EqU{overflow-x:none;height:-moz-fit-content;height:fit-content;padding:10px;white-space:nowrap;gap:1rem}div.page_inputBox__LrcZ4{border:1px solid var(--border-color);margin-bottom:20px;align-content:center}input.page_inputBox__LrcZ4{border:none}input.page_inputBox__LrcZ4:focus{outline:none;background-color:transparent}div.page_inputBox__LrcZ4:focus{box-shadow:0 8px 16px 0 rgba(0,0,0,.2)}div.page_chatBodyFull__Qu2T2{display:grid;grid-template-columns:1fr;height:100%}button.page_inputBox__LrcZ4{border:none;outline:none;background-color:transparent;cursor:pointer;border-radius:.5rem;padding:.5rem;background:linear-gradient(var(--calm-green),var(--calm-blue))}div.page_chatBody__IirQQ{display:grid;grid-template-columns:1fr 1fr;height:100%}.page_inputBox__LrcZ4{color:hsla(var(--foreground))}div.page_chatLayout__bJUjP{display:grid;grid-template-columns:1fr;gap:1rem}div.page_chatBox__gsR6V{display:grid}div.page_titleBar__3btUI{display:grid;grid-template-columns:1fr auto}div.page_chatBoxBody__xORKr,div.page_homeGreetings__VjQhh{display:grid;height:100%;margin:auto}div.page_homeGreetings__VjQhh{grid-template-rows:1fr 2fr}div.page_sidePanel__mxpxa{position:fixed;height:100%;z-index:1}@media screen and (max-width:768px){div.page_inputBox__LrcZ4{margin-bottom:0}div.page_chatBody__IirQQ{grid-template-columns:0fr 1fr}div.page_chatBoxBody__xORKr{width:100%;grid-template-rows:auto}div.page_sidePanel__mxpxa{position:relative}div.page_chatBox__gsR6V{padding:0;height:100%}div.page_chatLayout__bJUjP{gap:0;grid-template-columns:1fr}div.page_chatLayout__bJUjP,div.page_homeGreetings__VjQhh{grid-template-rows:auto 1fr}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2) format("woff2"),url(/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff) format("woff"),url(/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Bold.d181c465.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff) format("woff"),url(/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.8916142b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Italic.9024d815.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff) format("woff"),url(/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-Italic.5295ba48.woff) format("woff"),url(/_next/static/media/KaTeX_Math-Italic.939bc644.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2) format("woff2"),url(/_next/static/media/KaTeX_Script-Regular.07505710.woff) format("woff"),url(/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff) format("woff"),url(/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size2-Regular.57727022.woff) format("woff"),url(/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff) format("woff"),url(/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff) format("woff"),url(/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2) format("woff2"),url(/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff) format("woff"),url(/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.11"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.suggestions_card__fbiZo{border-radius:.5rem}.suggestions_title__vNozc{font-size:1rem}.suggestions_text__J_IfY{padding-top:.2rem;font-size:.9rem;white-space:wrap;padding-right:4px;color:#000}select.modelPicker_modelPicker__chlCh{font-size:small;padding:.5rem .75rem;border:1px;display:flex;align-items:center;height:2.5rem;justify-content:space-between;border-radius:calc(.5rem - 2px)}select.modelPicker_modelPicker__chlCh:after{grid-area:select;justify-self:end}div.modelPicker_modelPicker__chlCh{margin-top:8px}