1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,230327,e=>{"use strict";var t,r;(r=t||(t={})).EXAM="EXAM",r.UPLOADED_EXAM="UPLOADED_EXAM",r.GRADE="GRADE",r.GRADE_QUIZ="GRADE_QUIZ",r.BRIEF="BRIEF",r.OUTLINE="OUTLINE",r.OUTLINE_QUIZ="OUTLINE_QUIZ",r.QUIZ_RETRY="QUIZ_RETRY",r.MATERIAL="MATERIAL",r.CHAT_REPORT="CHAT_REPORT",r.READINGS="READINGS",r.V2_MATERIAL="V2_MATERIAL",r.V2_MATERIAL_SYNC="V2_MATERIAL_SYNC",r.V2_EXAM="V2_EXAM",r.V2_BRIEF="V2_BRIEF",r.V2_TOPIC_CARDS="V2_TOPIC_CARDS",r.V2_QUIZ="V2_QUIZ",r.V2_GRADE="V2_GRADE",r.V2_UPLOADED_EXAM_PREP="V2_UPLOADED_EXAM_PREP",r.PROFESSOR_PROFILE="PROFESSOR_PROFILE",t.V2_MATERIAL,t.V2_MATERIAL_SYNC,t.V2_BRIEF,t.V2_EXAM,t.V2_QUIZ,t.V2_TOPIC_CARDS,t.V2_GRADE,t.V2_UPLOADED_EXAM_PREP,t.V2_MATERIAL,t.V2_MATERIAL_SYNC,t.V2_BRIEF,t.V2_EXAM,t.V2_QUIZ,t.V2_TOPIC_CARDS,t.V2_GRADE,t.V2_UPLOADED_EXAM_PREP,t.EXAM,t.UPLOADED_EXAM,t.GRADE,t.GRADE_QUIZ,t.BRIEF,t.OUTLINE,t.OUTLINE_QUIZ,t.QUIZ_RETRY,t.MATERIAL,t.CHAT_REPORT,t.READINGS,t.V2_MATERIAL,t.V2_MATERIAL_SYNC,t.V2_EXAM,t.V2_BRIEF,t.V2_TOPIC_CARDS,t.V2_QUIZ,t.V2_GRADE,t.V2_UPLOADED_EXAM_PREP,t.PROFESSOR_PROFILE;let s={[t.EXAM]:9e5,[t.UPLOADED_EXAM]:9e5,[t.GRADE]:9e5,[t.GRADE_QUIZ]:12e4,[t.BRIEF]:9e5,[t.OUTLINE]:9e5,[t.OUTLINE_QUIZ]:9e5,[t.QUIZ_RETRY]:3e5,[t.MATERIAL]:9e5,[t.CHAT_REPORT]:9e5,[t.READINGS]:6e5,[t.V2_MATERIAL]:18e5,[t.V2_MATERIAL_SYNC]:18e5,[t.V2_EXAM]:27e5,[t.V2_BRIEF]:9e5,[t.V2_TOPIC_CARDS]:9e5,[t.V2_QUIZ]:18e5,[t.V2_GRADE]:9e5,[t.V2_UPLOADED_EXAM_PREP]:36e5,[t.PROFESSOR_PROFILE]:6e5};function a(e,r){return("PENDING"===e.status||"GRADING"===e.status)&&r-new Date(e.createdAt).getTime()<s[t.V2_GRADE]}t.V2_GRADE,e.s(["DEFAULT_TIMEOUTS",0,s,"FINISHED_RETENTION_MS",0,3e5,"ProgressJobType",()=>t,"isLiveGrading",()=>a])},510246,205954,e=>{"use strict";var t=e.i(202361),r=e.i(462911);e.i(543456);var s=e.i(162294),a=e.i(701239),u=e.i(524307),o=e.i(268007);let n=()=>"u">typeof performance?performance.now():Date.now();function i(e,t,r){return Math.min(r,Math.max(t,e))}function l(e){return"completed"===e||"failed"===e}class c{clock;states=new Map;snapshots=new Map;subscribers=new Map;subscriberCount=0;rafId=null;lastTickAt=-1/0;constructor(e=n){this.clock=e}setClock(e){this.clock=e}ingest(e,t,r){let s=i(t.progress,0,100),a=t.nextCheckpoint??null,u=this.states.get(e);if(!u){this.states.set(e,{anchor:s,next:a?i(a.pct,0,100):null,T:a?a.etaMs:null,t0:r,display:s,status:t.status,phase:t.phase??null,error:t.error??null,lastReadAt:r,lastNotifiedDisplay:s,lastNotifiedStatus:t.status,lastNotifiedOverdue:!1}),this.notify(e,r);return}let o=l(u.status)&&!l(t.status),n=a?i(a.pct,0,100):null,c=a?a.etaMs:null;(o||s!==u.anchor||n!==u.next||c!==u.T||t.status!==u.status||(t.phase??null)!==u.phase||(t.error??null)!==u.error)&&(u.anchor=s,u.next=n,u.T=c,u.t0=r,u.status=t.status,u.phase=t.phase??null,u.error=t.error??null,o&&(u.display=s,u.lastReadAt=r),this.notify(e,r))}read(e,t){let r=this.states.get(e);if(!r)return 0;if("failed"===r.status)return r.lastReadAt=t,r.display;let s=this.targetAt(r,t),a=i(t-r.lastReadAt,0,500);r.lastReadAt=t;let u=Math.min(3*Math.max(0,s-r.display),"completed"===r.status?60:15),o=r.display+u*a/1e3;return r.display=i(Math.max(r.display,Math.min(s,o)),0,100),r.display}isSettled(e,t){return!!this.states.has(e)&&this.read(e,t)>=99.95}getState(e){let t=this.states.get(e);if(!t)return null;let{anchor:r,next:s,T:a,t0:u,display:o,status:n,phase:i,error:l,lastReadAt:c}=t;return{anchor:r,next:s,T:a,t0:u,display:o,status:n,phase:i,error:l,lastReadAt:c}}getSnapshot(e){let t=this.snapshots.get(e);if(t)return t;let r=this.states.get(e);if(!r)return null;let s=this.buildSnapshot(r,r.lastReadAt);return this.snapshots.set(e,s),s}subscribe(e,t){let r=this.subscribers.get(e);r||(r=new Set,this.subscribers.set(e,r)),r.add(t),this.subscriberCount+=1,1===this.subscriberCount&&this.startTicker();let s=!0;return()=>{s&&(s=!1,r.delete(t),0===r.size&&this.subscribers.delete(e),this.subscriberCount-=1,0===this.subscriberCount&&this.stopTicker())}}evict(e){this.states.delete(e),this.snapshots.delete(e);let t=this.subscribers.get(e);if(t)for(let e of t)e()}_reset(){this.states.clear(),this.snapshots.clear(),this.subscribers.clear(),this.subscriberCount=0,this.stopTicker(),this.lastTickAt=-1/0,this.clock=n}targetAt(e,t){if("completed"===e.status)return 100;if(null==e.next||null==e.T||e.T<=0)return e.anchor;let r=Math.max(0,t-e.t0),s=e.next-e.anchor,a=e.anchor+.95*s,u=e.T/3;return i(e.anchor+(a-e.anchor)*(1-Math.exp(-r/u)),0,100)}remainingEtaMs(e,t){return l(e.status)||null==e.T||e.T<=0?null:Math.max(0,e.T-(t-e.t0))}computeOverdue(e,t){return!l(e.status)&&null!=e.T&&!(e.T<=0)&&t-e.t0>2*e.T}buildSnapshot(e,t){return{progress:e.display,status:e.status,phase:e.phase,etaMs:this.remainingEtaMs(e,t),overdue:this.computeOverdue(e,t),error:e.error}}notify(e,t){let r=this.states.get(e);r?(this.snapshots.set(e,this.buildSnapshot(r,t)),r.lastNotifiedDisplay=r.display,r.lastNotifiedStatus=r.status,r.lastNotifiedOverdue=this.computeOverdue(r,t)):this.snapshots.delete(e);let s=this.subscribers.get(e);if(s)for(let e of s)e()}
1tick(e){for(let[t,r]of this.subscribers){if(0===r.size)continue;let s=this.states.get(t);s&&(this.read(t,e),(Math.abs(s.display-s.lastNotifiedDisplay)>=.1||s.status!==s.lastNotifiedStatus||this.computeOverdue(s,e)!==s.lastNotifiedOverdue)&&this.notify(t,e))}}startTicker(){if(null!==this.rafId||"function"!=typeof window.requestAnimationFrame)return;let e=()=>{this.rafId=window.requestAnimationFrame(e);let t=this.clock();t-this.lastTickAt<33||(this.lastTickAt=t,this.tick(t))};this.rafId=window.requestAnimationFrame(e)}stopTicker(){null!==this.rafId&&("function"==typeof window.cancelAnimationFrame&&window.cancelAnimationFrame(this.rafId),this.rafId=null)}}let p=new c;e.s(["checkpointInterpolator",0,p],205954);var d=e.i(230327);let A="This is taking longer than expected.",E={EXAM:d.ProgressJobType.EXAM,UPLOADED_EXAM:d.ProgressJobType.UPLOADED_EXAM,BRIEF:d.ProgressJobType.BRIEF,OUTLINE:d.ProgressJobType.OUTLINE,OUTLINE_QUIZ:d.ProgressJobType.OUTLINE_QUIZ,QUIZ_RETRY:d.ProgressJobType.QUIZ_RETRY,CHAT:d.ProgressJobType.CHAT_REPORT,GRADE:d.ProgressJobType.GRADE,GRADE_QUIZ:d.ProgressJobType.GRADE_QUIZ,MATERIAL:d.ProgressJobType.MATERIAL,READINGS:d.ProgressJobType.READINGS,V2_MATERIAL:d.ProgressJobType.V2_MATERIAL,V2_EXAM:d.ProgressJobType.V2_EXAM,V2_BRIEF:d.ProgressJobType.V2_BRIEF,V2_TOPIC_CARDS:d.ProgressJobType.V2_TOPIC_CARDS,V2_QUIZ:d.ProgressJobType.V2_QUIZ,V2_GRADE:d.ProgressJobType.V2_GRADE,V2_EXAM_PREP:d.ProgressJobType.V2_UPLOADED_EXAM_PREP,PROFESSOR_PROFILE:d.ProgressJobType.PROFESSOR_PROFILE},R={[d.ProgressJobType.EXAM]:"EXAM",[d.ProgressJobType.UPLOADED_EXAM]:"UPLOADED_EXAM",[d.ProgressJobType.BRIEF]:"BRIEF",[d.ProgressJobType.OUTLINE]:"OUTLINE",[d.ProgressJobType.OUTLINE_QUIZ]:"OUTLINE_QUIZ",[d.ProgressJobType.QUIZ_RETRY]:"QUIZ_RETRY",[d.ProgressJobType.CHAT_REPORT]:"CHAT",[d.ProgressJobType.GRADE]:"GRADE",[d.ProgressJobType.GRADE_QUIZ]:"GRADE_QUIZ",[d.ProgressJobType.MATERIAL]:"MATERIAL",[d.ProgressJobType.READINGS]:"READINGS",[d.ProgressJobType.V2_MATERIAL]:"V2_MATERIAL",[d.ProgressJobType.V2_MATERIAL_SYNC]:"V2_MATERIAL",[d.ProgressJobType.V2_EXAM]:"V2_EXAM",[d.ProgressJobType.V2_BRIEF]:"V2_BRIEF",[d.ProgressJobType.V2_TOPIC_CARDS]:"V2_TOPIC_CARDS",[d.ProgressJobType.V2_QUIZ]:"V2_QUIZ",[d.ProgressJobType.V2_GRADE]:"V2_GRADE",[d.ProgressJobType.V2_UPLOADED_EXAM_PREP]:"V2_EXAM_PREP",[d.ProgressJobType.PROFESSOR_PROFILE]:"PROFESSOR_PROFILE"},f={EXAM:"Exam",UPLOADED_EXAM:"Uploaded Exam",BRIEF:"Case Brief",OUTLINE:"Outline",OUTLINE_QUIZ:"Quiz",QUIZ_RETRY:"Quiz Retry",CHAT:"Chat Report",GRADE:"Grading",GRADE_QUIZ:"Quiz Grading",MATERIAL:"Material",READINGS:"Readings",V2_MATERIAL:"Material",V2_EXAM:"Exam",V2_BRIEF:"Case Brief",V2_TOPIC_CARDS:"Topic Cards",V2_QUIZ:"Chapter Quiz",V2_GRADE:"Grading",V2_EXAM_PREP:"Exam Prep",PROFESSOR_PROFILE:"Professor's Profile"},_=(0,r.createContext)(null);function I(e,t,r){return"OUTLINE"===e?"/quizzes":r??function(e,t){switch(e){case"EXAM":case"V2_EXAM":return`/exam/${t}`;case"UPLOADED_EXAM":return"/exam";case"BRIEF":return`/briefs/${t}`;case"OUTLINE":return"/quizzes";case"MATERIAL":case"READINGS":return`/quizzes/${t}`;case"OUTLINE_QUIZ":case"QUIZ_RETRY":return`/quizzes/${t}/quiz`;case"CHAT":return"/admin/reports";case"GRADE":return`/exam/${t}/feedback`;case"GRADE_QUIZ":return"";case"V2_MATERIAL":return`/materials/${t}`;case"PROFESSOR_PROFILE":return"/professor-profile";default:return"/"}}(e,t)}let T=(e,t)=>`${e}:${t}`,g=new Map;function h(e){return g.get(e)??null}function P(e){for(let t of(g.clear(),e))g.set(T(t.type,t.id),t);return e}function b(e){return"completed"===e||"failed"===e}function m(e){let t=e?.data?.code??e?.shape?.data?.code;return"UNAUTHORIZED"===t||"FORBIDDEN"===t}function D(e,t){p.ingest(e,{progress:t.progress,status:t.status,nextCheckpoint:t.nextCheckpoint,error:t.error??null,phase:t.phase??null},Date.now())}function y(e){return null!=e&&Date.now()-e<d.FINISHED_RETENTION_MS}function O(e,t,r,s){return("completed"===r||"failed"===r)&&("active"===s||"pending"===s||"retrying"===s)?t:null!=e&&t<e?e:t}function M(e,t){return!e.courseId||e.courseId===t}function U(e){var t,r;let s=R[e.type];return{id:e.jobId,type:s,courseId:e.courseId,progress:e.progress,status:e.status,label:e.label??f[t=s]??t,displayName:e.displayName??e.label??f[r=s]??r,targetHref:I(s,e.jobId,e.targetHref),attempt:e.attempt,maxAttempts:e.maxAttempts,error:e.error,meta:e.meta,checkpoint:e.checkpoint,nextCheckpoint:e.nextCheckpoint,group:e.group,createdAt:e.createdAt,updatedAt:e.updatedAt,updatedAtObserved:Date.now(),completedAt:"completed"===e.status?e.updatedAt:void 0,failedAt:"failed"===e.status?e.updatedAt:void 0}}function C({children:e,courseId:n}){let i=(0,a.useTRPCClient)(),l=(0,u.useUserStore)(e=>e.selectedCourse?.id),c=null===n,h=c?void 0:n??l,C=(0,u.useUserStore)(e=>e.user),V=C?.access===!0,[L,S]=(0,r.useState)(!1),k=(0,r.useRef)(!1),N=(0,r.useCallback)(()=>{k.current||(k.current=!0,S(!0))},[]);(0,r.useEffect)(()=>{k.current=!1,S(!1)},[C]);let F=(0,r.useRef)(h);(0,r.useEffect)(()=>{F.current=h},[h]);let[v,G]=(0,r.useState)([]),[x,w]=(0,r.useState)({}),Q=(0,r.useRef)({});(0,r.useEffect)(()=>{Q.current=x},[x]);let X=(e,t)=>`${e}:${t}`,J=(0,r.useRef)(new Map),Z=(0,r.useCallback)((e,t,r)=>{let s=X(e,t),a=Math.max(0,d.FINISHED_RETENTION_MS-(Date.now()-r)),u=J.current.get(s);u&&clearTimeout(u);let o=setTimeout(()=>{J.current.delete(s),G(r=>P(r.filter(r=>r.type!==e||r.id!==t))),w(e=>{let t={...e};return delete t[s],t}),p.evict(s)},a);J.current.set(s,o)},[]);(0,r.useEffect)(()=>{let e=J.current;return()=>{for(let t of e.values())clearTimeout(t);e.clear()}},[]);let B=(0,r.useCallback)(e=>{let t=R[e.type];if(!t||!M({courseId:e.courseId},F.current))return;let r=X(t,e.jobId),s="failed"===e.status,a="retrying"===e.status,u=Date.now();w(t=>{let u=t[r],o=O(u?.progress,e.progress,u?.status,e.status);return{...t,[r]:{progress:o,failed:s&&!a,updatedAt:e.updatedAt,meta:e.meta,status:e.status,checkpoint:e.checkpoint,nextCheckpoint:e.nextCheckpoint,group:e.group}}}),G(r=>{var s,a;let o=r.findIndex(r=>r.type===t&&r.id===e.jobId),n=o>=0?r[o]:null,i=O(n?.progress,e.progress,n?.status,e.status),l={id:e.jobId,type:t,courseId:e.courseId,progress:i,status:e.status,label:e.label??f[s=t]??s,displayName:e.displayName??e.label??f[a=t]??a,targetHref:I(t,e.jobId,e.targetHref),attempt:e.attempt,maxAttempts:e.maxAttempts,error:e.error,meta:e.meta,checkpoint:e.checkpoint,nextCheckpoint:e.nextCheckpoint,group:e.group,createdAt:o>=0?r[o].createdAt:e.updatedAt,updatedAt:e.updatedAt,updatedAtObserved:u,completedAt:"completed"===e.status?e.updatedAt:o>=0?r[o].completedAt:void 0,failedAt:"failed"===e.status?e.updatedAt:o>=0?r[o].failedAt:void 0};if(!(o>=0))return P([...r,l]);{let e=[...r];return e[o]={...r[o],...l},P(e)}}),D(r,{progress:e.progress,status:e.status,nextCheckpoint:e.nextCheckpoint,error:e.error,ph
1ase:e.checkpoint?.phase}),("completed"===e.status||"failed"===e.status)&&Z(t,e.jobId,e.updatedAt)},[Z]),j=(0,r.useRef)(null),H=(0,r.useRef)(0),Y=(0,r.useRef)(null),z=(0,r.useRef)(null),q=(0,r.useRef)(!1),[$,K]=(0,r.useState)("connecting"),W=(0,r.useCallback)(()=>{z.current&&(clearTimeout(z.current),z.current=null)},[]),ee=(0,r.useCallback)(()=>{W(),H.current=0},[W]),et=(0,r.useCallback)(()=>{k.current||(j.current&&(j.current.unsubscribe(),j.current=null),K("connecting"),j.current=i.progress.onProgress.subscribe((0,o.isViewAsStudentPreview)()?{viewAsStudent:!0}:{},{onStarted:()=>{q.current=!0,K("connected"),W(),z.current=setTimeout(ee,1e4)},onData:e=>{ee(),B(e)},onError:e=>{if(q.current=!1,W(),K("disconnected"),m(e))return void N();let t=Math.min(1e3*Math.pow(2,H.current),3e4);H.current=Math.min(H.current+1,10),Y.current=setTimeout(()=>{et()},t)}}))},[i,B,N,ee,W]);(0,r.useEffect)(()=>{if(V&&!c&&!L)return et(),()=>{Y.current&&(clearTimeout(Y.current),Y.current=null),W(),j.current&&(j.current.unsubscribe(),j.current=null),q.current=!1}},[et,V,c,L,W]);let er=(0,r.useCallback)(e=>i.progress.getActiveJobs.query({courseId:e}).then(t=>{if(F.current!==e)return;let r=t.map(U),s={};for(let e of t)s[X(R[e.type],e.jobId)]={progress:e.progress,failed:"failed"===e.status,updatedAt:e.updatedAt,meta:e.meta,status:e.status,checkpoint:e.checkpoint,nextCheckpoint:e.nextCheckpoint,group:e.group};for(let a of(G(t=>{var s;let a,u;return P((s=t.filter(t=>M(t,e)),a=new Set(r.map(e=>T(e.type,e.id))),u=new Map(s.map(e=>[T(e.type,e.id),e])),[...r.map(e=>{let t=u.get(T(e.type,e.id)),r=O(t?.progress,e.progress,t?.status,e.status);return r===e.progress?e:{...e,progress:r}}),...s.filter(e=>!a.has(T(e.type,e.id))&&("completed"!==e.status&&"failed"!==e.status||y(e.completedAt??e.failedAt)))]))}),w(e=>(function(e,t){let r={};for(let[s,a]of Object.entries(e)){let e=t[s],u=null==a.progress?a.progress:O(e?.progress,a.progress,e?.status,a.status);r[s]=u===a.progress?a:{...a,progress:u}}for(let[e,s]of Object.entries(t))if(!(e in r)){if("completed"===s.status||"failed"===s.status||!0===s.failed){if(!y(s.updatedAt))continue;r[e]=s;continue}r[e]=s}return r})(s,e)),t))D(X(R[a.type],a.jobId),{progress:a.progress,status:a.status,nextCheckpoint:a.nextCheckpoint,error:a.error,phase:a.checkpoint?.phase});for(let e of t)("completed"===e.status||"failed"===e.status)&&Z(R[e.type],e.jobId,e.updatedAt)}).catch(e=>{m(e)?N():console.debug("Failed to load active jobs:",e)}),[i,Z,N]);(0,r.useEffect)(()=>{!V||c||L||er(h)},[er,h,V,c,L]),(0,r.useEffect)(()=>{if(V&&!c&&!L)return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e);function e(){"visible"===document.visibilityState&&(er(F.current),q.current||(H.current=0,et()))}},[er,et,V,c,L]);let es=(0,r.useCallback)((e,t)=>{G(r=>P(r.filter(r=>r.type!==e||r.id!==t)));let r=X(e,t);w(e=>{let t={...e};return delete t[r],t}),p.evict(r);let s=J.current.get(r);s&&(clearTimeout(s),J.current.delete(r)),i.progress.unregisterJob.mutate({type:E[e],jobId:t}).catch(()=>{})},[i]),ea=(0,r.useCallback)(()=>{let e=F.current,t=v.filter(t=>M(t,e));if(0===t.length)return;let r=new Set(t.map(e=>X(e.type,e.id)));for(let e of(G(e=>P(e.filter(e=>!r.has(X(e.type,e.id))))),w(e=>{let t={...e};for(let e of r)delete t[e];return t}),r)){p.evict(e);let t=J.current.get(e);t&&(clearTimeout(t),J.current.delete(e))}for(let e of t)i.progress.unregisterJob.mutate({type:E[e.type],jobId:e.id}).catch(()=>{})},[v,i]),eu=(0,r.useCallback)((e,t)=>x[X(e,t)]??null,[x]),eo=(0,r.useCallback)(async e=>{let t=X(e.type,e.id);try{let r=await i.progress.getProgress.query({type:E[e.type],jobId:e.id});if("not_found"===r.status){let e={progress:Q.current[t]?.progress??null,failed:null,updatedAt:Date.now(),status:"not_found"};return w(r=>({...r,[t]:{...e,progress:r[t]?.progress??e.progress}})),e}let s="checkpoint"in r?r.checkpoint:void 0,a="nextCheckpoint"in r?r.nextCheckpoint:void 0,u="group"in r?r.group:void 0,o="failed"===r.status,n={progress:r.progress,failed:o,updatedAt:r.updatedAt,meta:r.meta,status:r.status,checkpoint:s,nextCheckpoint:a,group:u};w(e=>{let r=e[t],s=null==n.progress?r?.progress??null:O(r?.progress,n.progress,r?.status,n.status);return{...e,[t]:s===n.progress?n:{...n,progress:s}}});let l=g.has(t),c=Date.now();if(G(t=>{let o=t.findIndex(t=>t.type===e.type&&t.id===e.id);if(o<0)return t;let n=t[o],i=null==r.progress?n.progress:O(n.progress,r.progress,n.status,r.status),l=[...t];return l[o]={...n,progress:i,status:r.status,error:r.error,meta:r.meta,checkpoint:s,nextCheckpoint:a,group:u,updatedAt:r.updatedAt,updatedAtObserved:c,completedAt:"completed"===r.status?r.updatedAt:n.completedAt,failedAt:"failed"===r.status?r.updatedAt:n.failedAt},P(l)}),l&&b(r.status)&&Z(e.type,e.id,r.updatedAt),null!=r.progress||b(r.status)){let e=Q.current[t]?.progress??0;D(t,{progress:r.progress??e,status:r.status,nextCheckpoint:a,error:r.error,ph
1ase:s?.phase})}return null==n.progress?{...n,progress:Q.current[t]?.progress??null}:n}catch(r){if(r instanceof s.TRPCClientError&&r.data?.code==="NOT_FOUND"){let e={progress:Q.current[t]?.progress??null,failed:null,updatedAt:Date.now(),status:"not_found"};return w(r=>({...r,[t]:{...e,progress:r[t]?.progress??e.progress}})),e}m(r)&&N();let e=Q.current[t];return w(e=>{let r=e[t];return!r||r.stale?e:{...e,[t]:{...r,stale:!0}}}),e?{...e,stale:!0}:{progress:null,failed:null,updatedAt:Date.now(),stale:!0}}},[i,Z,N]),en=(0,r.useRef)(new Set),ei=(0,r.useCallback)((e,t)=>{let r=X(e,t),s=g.get(r);if(!s||b(s.status))return;let a=Date.now();G(r=>P(r.map(r=>r.type!==e||r.id!==t||b(r.status)?r:{...r,status:"failed",error:A,updatedAt:a,updatedAtObserved:a,failedAt:a}))),w(e=>{let t=e[r];return!t||b(t.status)?e:{...e,[r]:{...t,failed:!0,status:"failed",updatedAt:a}}}),Z(e,t,a),D(r,{progress:s.progress,status:"failed",nextCheckpoint:null,error:A,phase:s.checkpoint?.phase})},[Z]);(0,r.useEffect)(()=>{let e=setInterval(()=>{if("u">typeof document&&document.hidden||k.current)return;let e=Date.now();for(let t of g.values()){if(b(t.status))continue;let r=e-t.updatedAtObserved,s=t.nextCheckpoint?.etaMs;if(!(s?r>2*s:r>6e4))continue;let{type:a,id:u,createdAt:o}=t,n=X(a,u);en.current.has(n)||(en.current.add(n),eo({type:a,id:u}).catch(()=>null).then(e=>{en.current.delete(n),(!e||!b(e.status))&&Date.now()-o>d.DEFAULT_TIMEOUTS[E[a]]&&ei(a,u)}))}},15e3);return()=>clearInterval(e)},[eo,ei]);let el=(0,r.useMemo)(()=>v.filter(e=>"V2_EXAM_PREP"!==e.type&&M(e,h)),[v,h]),ec=(0,r.useMemo)(()=>({dismissTask:es,dismissAllTasks:ea,tasks:el,getCachedProgress:eu,refreshProgressNow:eo,connectionStatus:$}),[es,ea,el,eu,eo,$]);return(0,t.jsx)(_.Provider,{value:ec,children:e})}function V(){let e=(0,r.useContext)(_);if(!e)throw Error("useProgressPolling must be used within ProgressPollingProvider");return e}function L(){return(0,r.useContext)(_)}function S(e){let{getCachedProgress:t,refreshProgressNow:s}=V(),a=e?.enabled!==!1,u=(0,r.useRef)(Date.now()),o=(0,r.useRef)(null);(0,r.useEffect)(()=>{!a||e?.type&&e?.id&&s({type:e.type,id:e.id}).catch(()=>{})},[a,e?.type,e?.id,s]);let n=t(e?.type,e?.id);if((0,r.useEffect)(()=>{if(!a||!n||"not_found"!==n.status){o.current&&(clearTimeout(o.current),o.current=null);return}return Date.now()-u.current<3e4&&(o.current=setTimeout(()=>{s({type:e.type,id:e.id}).catch(()=>{})},5e3)),()=>{o.current&&(clearTimeout(o.current),o.current=null)}},[a,n?.status,n?.updatedAt,e?.type,e?.id,s]),!n)return n;if("not_found"===n.status&&Date.now()-u.current<3e4)return null;if("retrying"===n.status)return{...n,failed:!1};if(e?.type==="OUTLINE"&&e?.phase&&n?.meta){let t="chunking"===e.phase,r=t?n.meta?.chunkingProgress:n.meta?.contentProgress;return{progress:"number"==typeof r?r:null,failed:!!(t?n.meta?.chunkingFailed:n.meta?.contentFailed),updatedAt:n.updatedAt}}return n}e.s(["ProgressPollingProvider",()=>C,"getProgressTaskForKey",()=>h,"useOptionalProgressPolling",()=>L,"useProgressPolling",()=>V,"useProgressStatus",()=>S],510246)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.