interview-widget 3.1.12 → 3.1.14

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.
@@ -1,18 +1,18 @@
1
- (function(be,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom"],o):(be=typeof globalThis<"u"?globalThis:be||self,o(be.InterviewWidget={},be.jsxRuntime,be.React,be.ReactDOM))})(this,function(be,o,d,Al){"use strict";var d2=Object.defineProperty;var u2=(be,o,d)=>o in be?d2(be,o,{enumerable:!0,configurable:!0,writable:!0,value:d}):be[o]=d;var ye=(be,o,d)=>u2(be,typeof o!="symbol"?o+"":o,d);var hn=typeof document<"u"?document.currentScript:null;const fn={},it={api:{baseUrl:"/api",retryConfig:{attempts:3,backoff:"exponential",baseDelay:1e3}},ui:{baseColor:"#3B82F6",borderRadius:"8px"},interview:{allow_answer_editing:!0,capture_screenshots:!1,timers:{thinkingDuration:30,answeringDuration:120,editingDuration:30},stt:{provider:"groq",model:"whisper-large-v3-turbo",language:"en"},tts:{provider:"piper"},proctoring:{enabled:!0,gazeAnalysisEnabled:!0}}},wn="iw-storage";function Tl(){if(!(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:hn&&hn.tagName.toUpperCase()==="SCRIPT"&&hn.src||new URL("widget.umd.js",document.baseURI).href}<"u"&&(fn!=null&&fn.VITE_IW_SECRET)))return typeof process<"u"&&process.env.NEXT_PUBLIC_IW_SECRET?process.env.NEXT_PUBLIC_IW_SECRET:typeof window<"u"&&window.__IW_SECRET__?window.__IW_SECRET__:"proctoring-data-seed"}const Xs=Tl(),hi=30,Cl={SCREENSHOT:"screenshot"},gn="AES-GCM",pn=12;async function Qs(e){const r=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",r);return crypto.subtle.importKey("raw",i,gn,!1,["encrypt","decrypt"])}function Nl(){return crypto.getRandomValues(new Uint8Array(pn))}async function Il(e,t="default-seed"){try{const r=typeof e=="string"?e:JSON.stringify(e),n=new TextEncoder().encode(r),s=await Qs(t),a=Nl(),c=await crypto.subtle.encrypt({name:gn,iv:a},s,n),l=new Uint8Array(a.length+c.byteLength);return l.set(new Uint8Array(a),0),l.set(new Uint8Array(c),a.length),btoa(String.fromCharCode(...Array.from(l)))}catch(r){throw console.error("Encryption failed:",r),new Error("Failed to encrypt data")}}async function Fl(e,t="default-seed"){try{const r=atob(e),i=new Uint8Array(r.length);for(let h=0;h<r.length;h++)i[h]=r.charCodeAt(h);const n=i.slice(0,pn),s=i.slice(pn),a=await Qs(t),c=await crypto.subtle.decrypt({name:gn,iv:n},a,s);return new TextDecoder().decode(c)}catch(r){throw console.error("Decryption failed:",r),new Error("Failed to decrypt data")}}async function Ll(e,t="default-seed"){return Il(e,t)}async function Ml(e,t="default-seed"){const r=await Fl(e,t);try{return JSON.parse(r)}catch{return r}}const Ur=d.createContext(null),Dl=async()=>{try{const e=sessionStorage.getItem(wn);if(e){const r=(await Ml(e,Xs)).state;return{logViolations:(r==null?void 0:r.logViolations)||[],totalViolations:(r==null?void 0:r.totalViolations)||0,gazeViolationCounters:(r==null?void 0:r.gazeViolationCounters)||{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:(r==null?void 0:r.referenceSet)??!1,referenceRef:(r==null?void 0:r.referenceRef)??{x:.5,y:.5,noseX:.5,noseY:.5}}}}catch(e){console.error("Failed to load proctoring data from session storage:",e)}return{logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}},Vr=async e=>{try{const t=await Ll({state:e,version:0},Xs);sessionStorage.setItem(wn,t)}catch(t){console.error("Failed to save proctoring data to session storage:",t)}},Pl=({children:e})=>{const t=d.useRef({logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}),r=d.useRef(new Set);d.useEffect(()=>{Dl().then(w=>{t.current=w,i()})},[]);const i=d.useCallback(()=>{r.current.forEach(w=>w())},[]),n=d.useCallback(w=>(r.current.add(w),()=>{r.current.delete(w)}),[]),s=d.useCallback(()=>t.current,[]),a=d.useCallback(w=>{t.current={...t.current,logViolations:[...t.current.logViolations,w],totalViolations:t.current.totalViolations+1},Vr(t.current),i()},[i]),c=d.useCallback(w=>{const g={...t.current.gazeViolationCounters};w==="looking_away"&&(g.lookingAwayCount+=1),w==="no_face_detected"&&(g.noFaceDetectedCount+=1),w==="multiple_faces"&&(g.multipleFacesCount+=1),g.totalGazeViolations=g.lookingAwayCount+g.noFaceDetectedCount+g.multipleFacesCount,t.current={...t.current,gazeViolationCounters:g},Vr(t.current),i()},[i]),l=d.useCallback(()=>{t.current={...t.current,logViolations:[],totalViolations:0},Vr(t.current),i()},[i]),h=d.useCallback(()=>{t.current={...t.current,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0}},Vr(t.current),i()},[i]),u=d.useCallback((w,g)=>{t.current={...t.current,referenceSet:w,referenceRef:g},Vr(t.current),i()},[i]),f=d.useMemo(()=>({getState:s,addViolation:a,clearViolations:l,subscribe:n,incrementGazeViolation:c,clearGazeViolationCounters:h,setReferenceData:u}),[s,a,l,n,c,h,u]);return o.jsx(Ur.Provider,{value:f,children:e})},Js=()=>{const e=d.useContext(Ur);if(!e)throw new Error("useProctoringStore must be used within a ProctoringProvider");const t=d.useSyncExternalStore(e.subscribe,e.getState,e.getState);return{logViolations:t.logViolations,totalViolations:t.totalViolations,addViolation:e.addViolation,clearViolations:e.clearViolations,gazeViolationCounters:t.gazeViolationCounters,referenceSet:t.referenceSet,referenceRef:t.referenceRef,incrementGazeViolation:e.incrementGazeViolation,clearGazeViolationCounters:e.clearGazeViolationCounters,setReferenceData:e.setReferenceData}},Ol=()=>{const e=d.useContext(Ur);if(!e)throw new Error("useViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().logViolations,()=>e.getState().logViolations)},Bl=()=>{const e=d.useContext(Ur);if(!e)throw new Error("useTotalViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().totalViolations,()=>e.getState().totalViolations)},Ul=()=>{const e=d.useContext(Ur);if(!e)throw new Error("useProctoringActions must be used within a ProctoringProvider");return{addViolation:e.addViolation,clearViolations:e.clearViolations}},Zs=d.createContext(null);function Rs({config:e={},children:t}){var i,n,s,a;const r={api:{...it.api,...e.api,retryConfig:{...it.api.retryConfig,...(i=e.api)==null?void 0:i.retryConfig}},ui:{...it.ui,...e.ui},interview:{...it.interview,...e.interview,timers:{...it.interview.timers,...(n=e.interview)==null?void 0:n.timers},stt:{...it.interview.stt,...(s=e.interview)==null?void 0:s.stt},tts:{...it.interview.tts,...(a=e.interview)==null?void 0:a.tts}}};return o.jsx(Zs.Provider,{value:r,children:o.jsx(Pl,{children:t})})}function fi(){const e=d.useContext(Zs);if(!e)throw new Error("useInterviewConfig must be used within an InterviewWidgetProvider. Wrap your component tree with <InterviewWidgetProvider config={...}>");return e}function eo(){return fi().api||it.api}function Zt(){return fi().ui||it.ui}function mn(){return fi().interview||it.interview}function Vl(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function Gl(e,t,r){return"#"+[e,t,r].map(i=>{const n=Math.round(i).toString(16);return n.length===1?"0"+n:n}).join("")}function jl(e,t){const r=Vl(e);if(!r)return e;const i=r.r+(255-r.r)*t,n=r.g+(255-r.g)*t,s=r.b+(255-r.b)*t;return Gl(i,n,s)}function zl(e){return new Promise(t=>setTimeout(t,e))}function $l(e){return`linear-gradient(to left, ${jl(e,.4)}, ${e})`}const Wl=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);function Hl(e){try{const t=e.split(".");if(t.length!==3||!t[1])throw new Error("Invalid JWT token");const i=t[1].replace(/-/g,"+").replace(/_/g,"/"),n=i.padEnd(i.length+(4-i.length%4)%4,"="),s=atob(n);return JSON.parse(s)}catch(t){return console.error("Error decoding JWT:",t),null}}const ql=e=>{var t;return!e||typeof e!="string"?"":(t=e.charAt(0))==null?void 0:t.toUpperCase()},yn=(e,t)=>{const r=Math.max(0,Math.floor(e));if(t&&r<60)return`${r}`;const i=Math.floor(r/60).toString().padStart(2,"0"),n=(r%60).toString().padStart(2,"0");return`${i}:${n}`},bn=({brandLogo:e,brandName:t,className:r="",showFallbackStyles:i=!0})=>{const{baseColor:n}=Zt();return e?o.jsx("div",{className:r,children:e}):o.jsx("div",{className:i?`iw-h-7 iw-w-7 iw-rounded-md iw-flex iw-items-center iw-justify-center iw-text-white iw-font-semibold ${r}`:r,style:i?{backgroundColor:n}:{},children:ql(t)})},Kl=e=>{const t=d.useRef(null),r=d.useRef(null),[i,n]=d.useState(!1),[s,a]=d.useState(!1),[c,l]=d.useState(null),[h,u]=d.useState([]),[f,w]=d.useState([]),[g,p]=d.useState(""),[y,m]=d.useState(""),[b,v]=d.useState(!1),I=d.useCallback(()=>{r.current&&(r.current.getTracks().forEach(F=>F.stop()),r.current=null,l(null))},[]),T=d.useCallback(async()=>{var F,D,G,Y;try{const H=await navigator.mediaDevices.enumerateDevices(),q=H.filter(O=>O.kind==="audioinput"),Z=H.filter(O=>O.kind==="videoinput");if(u(q),w(Z),!g&&q.length>0){const O=(F=r.current)==null?void 0:F.getAudioTracks()[0],R=O==null?void 0:O.getSettings().deviceId;p(R||((D=q[0])==null?void 0:D.deviceId)||"")}if(!y&&Z.length>0){const O=(G=r.current)==null?void 0:G.getVideoTracks()[0],R=O==null?void 0:O.getSettings().deviceId;m(R||((Y=Z[0])==null?void 0:Y.deviceId)||"")}}catch(H){console.error("Error enumerating devices:",H)}},[g,y]),S=d.useCallback(async(F,D)=>{const G={width:{ideal:1280},height:{ideal:720},...D?{deviceId:{exact:D}}:{facingMode:"user"}},Y={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:{ideal:48e3},channelCount:{ideal:1},...F?{deviceId:{exact:F}}:{}};let H=null;try{H=await navigator.mediaDevices.getUserMedia({video:G,audio:Y}),n(!0),a(!0)}catch(q){console.warn("Combined media request failed, trying individual.",q);try{const Z=await navigator.mediaDevices.getUserMedia({audio:Y});n(!0),H=Z}catch(Z){console.error("Audio permission denied",Z),n(!1)}try{const Z=await navigator.mediaDevices.getUserMedia({video:G});a(!0),H?Z.getTracks().forEach(O=>H.addTrack(O)):H=Z}catch(Z){console.error("Video permission denied",Z),a(!1)}}H?(r.current=H,l(H),t.current&&(t.current.srcObject=H,await t.current.play().catch(q=>console.error("Error playing video element",q)))):(r.current=null,l(null)),await T()},[T]),A=async F=>{F!==g&&(v(!0),p(F),I(),await S(F,y),v(!1))},M=async F=>{F!==y&&(v(!0),m(F),I(),await S(g,F),v(!1))};return d.useEffect(()=>{if(!e){I();return}return S(),()=>I()},[e]),{videoRef:t,audioAllowed:i,videoAllowed:s,audioDevices:h,videoDevices:f,selectedAudioDeviceId:g,selectedVideoDeviceId:y,isDeviceLoading:b,currentStream:c,handleAudioChange:A,handleVideoChange:M,stopStream:I}},wi=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),o.jsx("path",{d:"M12 9v4"}),o.jsx("path",{d:"M12 17h.01"})]}),Yl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-bolt-icon prefix__lucide-bolt",...e,children:[o.jsx("path",{d:"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"}),o.jsx("circle",{cx:12,cy:12,r:4})]}),Xl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-camera-off-icon prefix__lucide-camera-off",...e,children:[o.jsx("path",{d:"M14.564 14.558a3 3 0 11-4.122-4.121M2 2l20 20"}),o.jsx("path",{d:"M20 20H4a2 2 0 01-2-2V9a2 2 0 012-2h1.997a2 2 0 00.819-.175M9.695 4.024A2 2 0 0110.004 4h3.993a2 2 0 011.76 1.05l.486.9A2 2 0 0018.003 7H20a2 2 0 012 2v7.344"})]}),gi=e=>o.jsx("svg",{width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M0.75 5.5C0.75 5.5 2.35 6.4125 3.15 7.75C3.15 7.75 5.55 2.5 8.75 0.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Ql=({className:e})=>o.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:o.jsx("path",{d:"M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),to=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M12 2a10 10 0 0 1 7.38 16.75"}),o.jsx("path",{d:"M12 6v6l4 2"}),o.jsx("path",{d:"M2.5 8.875a10 10 0 0 0-.5 3"}),o.jsx("path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4"}),o.jsx("path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857"}),o.jsx("path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38"})]}),pi=e=>o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",...e,children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),Jl=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),o.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Zl=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.66797 2H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 2V3.35359C3.66797 4.18151 4.05252 4.96247 4.70874 5.46726L8.0013 8L11.2938 5.46726C11.9501 4.96247 12.3346 4.18151 12.3346 3.35359V2",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 14V12.6464C3.66797 11.8185 4.05252 11.0375 4.70874 10.5327L8.0013 8L11.2938 10.5327C11.9501 11.0375 12.3346 11.8185 12.3346 12.6464V14",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M2.66797 14H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"})]}),ro=({className:e,...t})=>o.jsx("div",{children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`iw-animate-spin ${e}`,...t,children:[o.jsx("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o.jsx("path",{d:"M12 6l0 -3"}),o.jsx("path",{d:"M16.25 7.75l2.15 -2.15"}),o.jsx("path",{d:"M18 12l3 0"}),o.jsx("path",{d:"M16.25 16.25l2.15 2.15"}),o.jsx("path",{d:"M12 18l0 3"}),o.jsx("path",{d:"M7.75 16.25l-2.15 2.15"}),o.jsx("path",{d:"M6 12l-3 0"}),o.jsx("path",{d:"M7.75 7.75l-2.15 -2.15"})]})}),Rl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M17 7V11C17 13.7614 14.7614 16 12 16C9.23858 16 7 13.7614 7 11V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M20 11C20 15.4183 16.4183 19 12 19M12 19C7.58172 19 4 15.4183 4 11M12 19V22M12 22H15M12 22H9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),io=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-target-icon prefix__lucide-target",...e,children:[o.jsx("circle",{cx:12,cy:12,r:10}),o.jsx("circle",{cx:12,cy:12,r:6}),o.jsx("circle",{cx:12,cy:12,r:2})]}),ed=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-users-icon prefix__lucide-users",...e,children:[o.jsx("path",{d:"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M16 3.128a4 4 0 010 7.744M22 21v-2a4 4 0 00-3-3.87"}),o.jsx("circle",{cx:9,cy:7,r:4})]}),td=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M11 8H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M2 11C2 7.70017 2 6.05025 3.02513 5.02513C4.05025 4 5.70017 4 9 4H10C13.2998 4 14.9497 4 15.9749 5.02513C17 6.05025 17 7.70017 17 11V13C17 16.2998 17 17.9497 15.9749 18.9749C14.9497 20 13.2998 20 10 20H9C5.70017 20 4.05025 20 3.02513 18.9749C2 17.9497 2 16.2998 2 13V11Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M17 8.90585L17.1259 8.80196C19.2417 7.05623 20.2996 6.18336 21.1498 6.60482C22 7.02628 22 8.42355 22 11.2181V12.7819C22 15.5765 22 16.9737 21.1498 17.3952C20.2996 17.8166 19.2417 16.9438 17.1259 15.198L17 15.0941",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),rd=e=>o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.16651 8.63991V5.35747C8.16651 3.52277 8.16651 2.60542 7.62675 2.37712C7.08699 2.14882 6.45168 2.79749 5.18119 4.09482C4.52323 4.76666 4.14784 4.91543 3.2117 4.91543C2.39301 4.91543 1.98366 4.91543 1.68961 5.11606C1.07921 5.53252 1.17148 6.34653 1.17148 6.9987C1.17148 7.65086 1.07921 8.46485 1.68961 8.88135C1.98366 9.08196 2.39301 9.08196 3.2117 9.08196C4.14784 9.08196 4.52323 9.23076 5.18119 9.90259C6.45168 11.1999 7.08699 11.8486 7.62675 11.6203C8.16651 11.392 8.16651 10.4746 8.16651 8.63991Z",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M9.9165 5.25C10.2813 5.72815 10.4998 6.33698 10.4998 7C10.4998 7.66302 10.2813 8.27184 9.9165 8.75",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M11.6665 4.08203C12.3961 4.87894 12.8332 5.89369 12.8332 6.9987C12.8332 8.10371 12.3961 9.11847 11.6665 9.91536",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"})]}),Te={FACE_DETECTED:"face_detected",NO_FACE:"no_face_detected",MULTIPLE_FACES:"multiple_faces",LOOKING_AWAY:"looking_away",CAMERA_ERROR:"camera_error",MODEL_LOADING:"model_loading"},no={[Te.FACE_DETECTED]:{icon:Jl,iconColor:"iw-text-green-600",iconBg:"iw-bg-green-50",iconBorder:"iw-border-green-100",title:"All Good",subtitle:"Everything looks normal",description:"Your gaze is properly focused on the screen. Continue with your interview.",buttonText:"Continue"},[Te.NO_FACE]:{icon:Xl,iconColor:"iw-text-orange-600",iconBg:"iw-bg-orange-50",iconBorder:"iw-border-orange-100",title:"Face Not Detected",subtitle:"We can't see you in the camera",description:"Please ensure you're positioned properly in front of the camera and that your face is clearly visible.",buttonText:"I Understood"},[Te.MULTIPLE_FACES]:{icon:ed,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Multiple People Detected",subtitle:"More than one person is visible on the screen.",buttonText:"I Understood"},[Te.LOOKING_AWAY]:{icon:io,iconColor:"iw-text-amber-600",iconBg:"iw-bg-amber-50",iconBorder:"iw-border-amber-200/75",title:"Focus Alert",subtitle:"You looked away from the screen. Maintain focus to continue.",buttonText:"I Understood"},[Te.CAMERA_ERROR]:{icon:wi,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Camera Issue",subtitle:"There's a problem with your camera",description:"Please check your camera connection and permissions, contact support if the problem continues.",buttonText:"I Understood"},[Te.MODEL_LOADING]:{icon:io,iconColor:"iw-text-blue-600",iconBg:"iw-bg-blue-50",iconBorder:"iw-border-blue-100",title:"Initializing Model",subtitle:"Please wait while we set up the AI",description:"The face detection model is being loaded. This should only take a moment.",buttonText:"Wait"}};function id(e){var t;if(!navigator.onLine)return{type:"network",message:"No internet connection",retryable:!0,userMessage:"Please check your internet connection and try again."};if(e.name==="AbortError"||(t=e.message)!=null&&t.includes("timeout"))return{type:"timeout",message:"Request timed out",retryable:!0,userMessage:"The request is taking longer than expected. Please try again."};if(e.status){const{status:r}=e;if(r===401||r===403)return{type:"auth",status:r,message:"Authentication failed",retryable:!1,userMessage:"Your session has expired. Please refresh the page."};if(r===429)return{type:"rate-limit",status:r,message:"Too many requests",retryable:!0,userMessage:"Please wait a moment before trying again."};if(r>=500)return{type:"server",status:r,message:`Server error: ${r}`,retryable:!0,userMessage:"Our servers are experiencing issues. Please try again in a few moments."};if(r>=400)return{type:"client",status:r,message:`Client error: ${r}`,retryable:!1,userMessage:"There was an issue with your request. Please check your input."}}return{type:"unknown",message:e.message||"Unknown error occurred",retryable:!0,userMessage:"Something unexpected happened. Please try again.",originalError:e}}async function xt(e,t={},r={attempts:3,backoff:"exponential",baseDelay:1e3,maxDelay:1e4,jitter:!0}){let i;for(let n=1;n<=r.attempts;n++)try{const s=new AbortController,a=setTimeout(()=>s.abort(),6e4),c=await fetch(e,{...t,signal:s.signal});if(clearTimeout(a),c.status>=400&&c.status<500&&c.status!==429)return c;if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(s){i=s;const a=id(s);if(!a.retryable||n===r.attempts)throw a;const c=nd(n,r);console.warn(`API request failed (attempt ${n}/${r.attempts}), retrying in ${c}ms:`,a.message),await new Promise(l=>setTimeout(l,c))}throw i}function nd(e,t){let r;return t.backoff==="exponential"?r=t.baseDelay*Math.pow(2,e-1):r=t.baseDelay,r=Math.min(r,t.maxDelay),t.jitter&&(r=r*(.5+Math.random()*.5)),Math.round(r)}const Et={v2:"/v2"},_t={GENERATE_QUESTION:e=>`${Et.v2}/interviews/${e}/next-question`,SCREENSHOT_UPLOAD:e=>`${Et.v2}/interviews/${e}/assets/upload-url`,CONFIRM_UPLOAD:e=>`${Et.v2}/interviews/assets/${e}/confirm`,TRANSCRIBE_ANSWER:e=>`${Et.v2}/interviews/${e}/transcribe-answer`,SUBMIT_ANSWER:e=>`${Et.v2}/interviews/${e}/submit-answer`,EXIT:e=>`${Et.v2}/interviews/${e}/exit`,CONFIG:e=>`${Et.v2}/interviews/${e}/config`,TRANSCRIPTION:e=>`${Et.v2}/interviews/${e}/transcript`};class so{constructor(t={}){ye(this,"config");this.config=t}updateConfig(t){this.config={...this.config,...t}}getHeaders(){var r;const t={"Content-Type":"application/json"};return(r=this.config)!=null&&r.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),t}getBaseUrl(){var t;return((t=this.config)==null?void 0:t.baseUrl)||"/api"}async generateQuestion({interviewId:t,isInterviewDone:r=!1}){const i=await xt(`${this.getBaseUrl()}${_t.GENERATE_QUESTION(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({interview_id:t,is_interview_done:r})});if(!i.ok)throw new Error(`Failed to get questions: ${i.status}`);return await i.json()}async submitAnswer({interviewId:t,qnaId:r,answer:i}){const n=await xt(`${this.getBaseUrl()}${_t.SUBMIT_ANSWER(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({qna_id:r,answer_text:i})});if(!n.ok)throw new Error(`Failed to submit answer: ${n.status}`);return await n.json()}async exitInterview(t){const r=await xt(`${this.getBaseUrl()}${_t.EXIT(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to exit interview: ${r.status}`)}async getInterviewConfig(t){const r=await xt(`${this.getBaseUrl()}${_t.CONFIG(t)}`,{method:"GET",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to get interview config: ${r.status}`);return await r.json()}async requestScreenshotUploadUrl(t,r=`screenshot-${Date.now()}.jpeg`){const i=await xt(`${this.getBaseUrl()}${_t.SCREENSHOT_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({filename:r,mime_type:"image/jpeg",asset_type:Cl.SCREENSHOT})});if(!i.ok)throw new Error(`Failed to request screenshot upload URL: ${i.status}`);return await i.json()}async uploadScreenshot(t,r){const i=await fetch(t,{method:"PUT",body:r,headers:{"Content-Type":"image/jpeg"}});if(!i.ok)throw new Error(`Failed to upload screenshot: ${i.status}`)}async confirmScreenshotUpload(t){const r=await xt(`${this.getBaseUrl()}${_t.CONFIRM_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to confirm screenshot upload: ${r.status}`)}async getInterviewTranscription(t){const r=await xt(`${this.getBaseUrl()}${_t.TRANSCRIPTION(t)}`,{method:"GET",headers:{...this.getHeaders()}});if(!r.ok)throw new Error(`Failed to get interview transcription: ${r.status}`);return await r.json()}}const mi=new so,sd=({gazeAnalysisEnabled:e,isModelLoaded:t,stats:r,statusMessage:i,loadingProgress:n})=>o.jsx("div",{className:"iw-w-full",children:o.jsxs("div",{className:"iw-border-strock iw-rounded-md iw-border iw-bg-gray-50 iw-p-4",children:[o.jsxs("h3",{className:"iw-m-0 iw-mb-2.5",children:["Status: ",i]}),n>0&&n<100&&o.jsxs("div",{className:"iw-mb-2.5",children:[o.jsx("div",{className:"iw-h-2 iw-w-full iw-rounded iw-bg-gray-300",children:o.jsx("div",{className:"iw-h-full iw-rounded iw-bg-blue-600 iw-transition-all iw-duration-300 iw-ease-out",style:{width:`${n}%`}})}),o.jsxs("small",{className:"iw-text-gray-600",children:["Loading model... ",n.toFixed(1),"%"]})]}),o.jsxs("div",{className:"iw-grid iw-grid-cols-2 iw-gap-2.5 iw-text-sm",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"FPS:"})," ",o.jsx("span",{className:r.fps<15?"iw-text-red-600":r.fps<25?"iw-text-orange-500":"iw-text-green-600",children:r.fps})]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Model:"})," ",t?"✓ Loaded":"✗ Loading"]}),e&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Engagement:"})," ",r.engagement.toFixed(1),"%"]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Looking:"})," ",o.jsx("span",{className:r.isLookingAway?"iw-text-red-600":"iw-text-green-600",children:r.isLookingAway?"Away":"At Screen"})]})]})]}),r.referenceFaceNotDetected&&o.jsxs("div",{className:"iw-text-gray-dark iw-mt-2.5 iw-w-full iw-rounded-md iw-bg-[#ffeb3b] iw-p-2.5 iw-text-sm",children:[o.jsx("strong",{children:"Reference Face Not Detected"}),o.jsx("br",{}),"The previously set reference face is no longer in view."]}),r.multipleFacesDetected&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-red-50 iw-p-2.5 iw-text-sm iw-text-red-700",children:[o.jsx("strong",{children:"Multiple Faces Detected"}),o.jsx("br",{}),"Please ensure only one person is in the frame."]}),!e&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-blue-50 iw-p-2.5 iw-text-sm iw-text-blue-700",children:[o.jsx("strong",{children:"Gaze Analysis Disabled"}),o.jsx("br",{}),"Enable to track engagement and attention levels."]})]})}),od=({showControls:e,isBubbleOpen:t,setIsBubbleOpen:r,setReference:i,clearCache:n,isModelLoaded:s,gazeAnalysisEnabled:a,referenceSet:c,showLandmarks:l,setShowLandmarks:h,showEngagementBar:u,setShowEngagementBar:f,handleToggleGazeAnalysis:w,stats:g,statusMessage:p,loadingProgress:y})=>e?o.jsxs(o.Fragment,{children:[o.jsx("button",{onClick:()=>r(!t),className:"iw-absolute iw-right-4 iw-bottom-4 iw-z-10 iw-flex iw-h-10 iw-w-10 iw-items-center iw-justify-center iw-rounded-full iw-text-white",children:o.jsx(Yl,{className:"iw-size-4.5"})}),t&&o.jsxs("div",{className:"iw-absolute iw-right-4 iw-bottom-16 iw-z-10 iw-max-h-96 iw-w-80 iw-overflow-y-auto iw-rounded-md iw-bg-gray-50 iw-p-4 iw-shadow-lg",children:[o.jsx("h4",{className:"m-0 mb-2.5",children:"Controls"}),o.jsx("button",{onClick:i,disabled:!s||!a,className:`iw-mb-2.5 iw-block iw-w-full iw-rounded border-none iw-px-4 iw-py-2 iw-text-sm iw-text-white ${!s||!a?"iw-cursor-not-allowed iw-bg-gray-400":"iw-cursor-pointer iw-bg-blue-600 hover:iw-bg-blue-700"}`,children:c?"Reference Set ✓":"Set Reference"}),o.jsx("button",{onClick:n,className:"iw-mb-4 iw-block iw-w-full iw-cursor-pointer iw-rounded iw-border-none iw-bg-red-600 iw-px-4 iw-py-2 iw-text-sm iw-text-white hover:iw-bg-red-700",children:"Clear Model Cache"}),o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-2.5",children:[o.jsxs("label",{className:"iw-flex iw-cursor-pointer iw-items-center iw-gap-2",children:[o.jsx("input",{type:"checkbox",checked:a,onChange:m=>w(m.target.checked)}),o.jsx("strong",{children:"Enable Gaze Analysis"})]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:l,onChange:m=>h(m.target.checked),disabled:!a}),"Show Landmarks"]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:u,onChange:m=>f(m.target.checked),disabled:!a}),"Show Engagement Bar"]})]}),c&&o.jsx(sd,{gazeAnalysisEnabled:a,isModelLoaded:s,loadingProgress:y,stats:g,statusMessage:p})]})]}):null;var Rt=typeof self<"u"?self:{};function Gr(e,t){e:{for(var r=["CLOSURE_FLAGS"],i=Rt,n=0;n<r.length;n++)if((i=i[r[n]])==null){r=null;break e}r=i}return(e=r&&r[e])!=null?e:t}function Ot(){throw Error("Invalid UTF8")}function oo(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}let yi,vn;const ad=typeof TextDecoder<"u";let cd;const ld=typeof TextEncoder<"u";function ao(e){if(ld)e=(cd||(cd=new TextEncoder)).encode(e);else{let r=0;const i=new Uint8Array(3*e.length);for(let n=0;n<e.length;n++){var t=e.charCodeAt(n);if(t<128)i[r++]=t;else{if(t<2048)i[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&n<e.length){const s=e.charCodeAt(++n);if(s>=56320&&s<=57343){t=1024*(t-55296)+s-56320+65536,i[r++]=t>>18|240,i[r++]=t>>12&63|128,i[r++]=t>>6&63|128,i[r++]=63&t|128;continue}n--}t=65533}i[r++]=t>>12|224,i[r++]=t>>6&63|128}i[r++]=63&t|128}}e=r===i.length?i:i.subarray(0,r)}return e}function co(e){Rt.setTimeout(()=>{throw e},0)}var xn,dd=Gr(610401301,!1),lo=Gr(748402147,!0),En=Gr(824648567,!0),_n=Gr(824656860,Gr(1,!0));function uo(){var e=Rt.navigator;return e&&(e=e.userAgent)?e:""}const ho=Rt.navigator;function bi(e){return bi[" "](e),e}xn=ho&&ho.userAgentData||null,bi[" "]=function(){};const fo={};let jr=null;function ud(e){const t=e.length;let r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);const i=new Uint8Array(r);let n=0;return function(s,a){function c(h){for(;l<s.length;){const u=s.charAt(l++),f=jr[u];if(f!=null)return f;if(!/^[\s\xa0]*$/.test(u))throw Error("Unknown base64 encoding at char: "+u)}return h}wo();let l=0;for(;;){const h=c(-1),u=c(0),f=c(64),w=c(64);if(w===64&&h===-1)break;a(h<<2|u>>4),f!=64&&(a(u<<4&240|f>>2),w!=64&&a(f<<6&192|w))}}(e,function(s){i[n++]=s}),n!==r?i.subarray(0,n):i}function wo(){if(!jr){jr={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){const i=e.concat(t[r].split(""));fo[r]=i;for(let n=0;n<i.length;n++){const s=i[n];jr[s]===void 0&&(jr[s]=n)}}}}var hd=typeof Uint8Array<"u",go=!(!(dd&&xn&&xn.brands.length>0)&&(uo().indexOf("Trident")!=-1||uo().indexOf("MSIE")!=-1))&&typeof btoa=="function";const po=/[-_.]/g,fd={"-":"+",_:"/",".":"="};function wd(e){return fd[e]||""}function mo(e){if(!go)return ud(e);e=po.test(e)?e.replace(po,wd):e,e=atob(e);const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function kn(e){return hd&&e!=null&&e instanceof Uint8Array}var er={};function Bt(){return gd||(gd=new nt(null,er))}function Sn(e){yo(er);var t=e.g;return(t=t==null||kn(t)?t:typeof t=="string"?mo(t):null)==null?t:e.g=t}var nt=class{h(){return new Uint8Array(Sn(this)||0)}constructor(e,t){if(yo(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}};let gd,pd;function yo(e){if(e!==er)throw Error("illegal external caller")}function bo(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function An(e){return bo(e=Error(e),"warning"),e}function tr(e,t){if(e!=null){var r=pd??(pd={}),i=r[e]||0;i>=t||(r[e]=i+1,bo(e=Error(),"incident"),co(e))}}function rr(){return typeof BigInt=="function"}var ir=typeof Symbol=="function"&&typeof Symbol()=="symbol";function st(e,t,r=!1){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?r&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t}var md=st("jas",void 0,!0),vo=st(void 0,"0di"),zr=st(void 0,"1oa"),Ie=st(void 0,Symbol()),yd=st(void 0,"0ub"),bd=st(void 0,"0ubs"),Tn=st(void 0,"0ubsb"),vd=st(void 0,"0actk"),nr=st("m_m","Pa",!0),xo=st();const Eo={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},_o=Object.defineProperties,E=ir?md:"Ga";var Ut;const ko=[];function $r(e,t){ir||E in e||_o(e,Eo),e[E]|=t}function de(e,t){ir||E in e||_o(e,Eo),e[E]=t}function Wr(e){return $r(e,34),e}function Hr(e){return $r(e,8192),e}de(ko,7),Ut=Object.freeze(ko);var sr={};function Fe(e,t){return t===void 0?e.h!==Vt&&!!(2&(0|e.v[E])):!!(2&t)&&e.h!==Vt}const Vt={};function Cn(e,t){if(e!=null){if(typeof e=="string")e=e?new nt(e,er):Bt();else if(e.constructor!==nt)if(kn(e))e=e.length?new nt(new Uint8Array(e),er):Bt();else{if(!t)throw Error();e=void 0}}return e}class So{constructor(t,r,i){this.g=t,this.h=r,this.l=i}next(){const t=this.g.next();return t.done||(t.value=this.h.call(this.l,t.value)),t}[Symbol.iterator](){return this}}var xd=Object.freeze({});function Ao(e,t,r){const i=128&t?0:-1,n=e.length;var s;(s=!!n)&&(s=(s=e[n-1])!=null&&typeof s=="object"&&s.constructor===Object);const a=n+(s?-1:0);for(t=128&t?1:0;t<a;t++)r(t-i,e[t]);if(s){e=e[n-1];for(const c in e)!isNaN(c)&&r(+c,e[c])}}var To={};function or(e){return 128&e?To:void 0}function vi(e){return e.Na=!0,e}var Ed=vi(e=>typeof e=="number"),Co=vi(e=>typeof e=="string"),_d=vi(e=>typeof e=="boolean"),xi=typeof Rt.BigInt=="function"&&typeof Rt.BigInt(0)=="bigint";function Le(e){var t=e;if(Co(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(Ed(t)&&!Number.isSafeInteger(t))throw Error(String(t));return xi?BigInt(e):e=_d(e)?e?"1":"0":Co(e)?e.trim()||"0":String(e)}var Nn=vi(e=>xi?e>=Sd&&e<=Td:e[0]==="-"?No(e,kd):No(e,Ad));const kd=Number.MIN_SAFE_INTEGER.toString(),Sd=xi?BigInt(Number.MIN_SAFE_INTEGER):void 0,Ad=Number.MAX_SAFE_INTEGER.toString(),Td=xi?BigInt(Number.MAX_SAFE_INTEGER):void 0;function No(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){const i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}const Cd=typeof Uint8Array.prototype.slice=="function";let Nd,ee=0,ae=0;function Io(e){const t=e>>>0;ee=t,ae=(e-t)/4294967296>>>0}function ar(e){if(e<0){Io(-e);const[t,r]=Dn(ee,ae);ee=t>>>0,ae=r>>>0}else Io(e)}function In(e){const t=Nd||(Nd=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),ae=0,ee=t.getUint32(0,!0)}function Fn(e,t){const r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:qr(e,t)}function Id(e,t){return Le(rr()?BigInt.asUintN(64,(BigInt(t>>>0)<<BigInt(32))+BigInt(e>>>0)):qr(e,t))}function Ln(e,t){const r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=Fn(e,t))=="number"?r?-e:e:r?"-"+e:e}function Fo(e,t){return rr()?Le(BigInt.asIntN(64,(BigInt.asUintN(32,BigInt(t))<<BigInt(32))+BigInt.asUintN(32,BigInt(e)))):Le(Mn(e,t))}function qr(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else rr()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Lo(r)+Lo(e));return r}function Lo(e){return e=String(e),"0000000".slice(e.length)+e}function Mn(e,t){if(2147483648&t)if(rr())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{const[r,i]=Dn(e,t);e="-"+qr(r,i)}else e=qr(e,t);return e}function Ei(e){if(e.length<16)ar(Number(e));else if(rr())e=BigInt(e),ee=Number(e&BigInt(4294967295))>>>0,ae=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+(e[0]==="-");ae=ee=0;const r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){const s=Number(e.slice(i,n));ae*=1e6,ee=1e6*ee+s,ee>=4294967296&&(ae+=Math.trunc(ee/4294967296),ae>>>=0,ee>>>=0)}if(t){const[i,n]=Dn(ee,ae);ee=i,ae=n}}}function Dn(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Ze(e){return Array.prototype.slice.call(e)}const Kr=typeof BigInt=="function"?BigInt.asIntN:void 0,Fd=typeof BigInt=="function"?BigInt.asUintN:void 0,Gt=Number.isSafeInteger,_i=Number.isFinite,cr=Math.trunc,Ld=Le(0);function Yr(e){if(e!=null&&typeof e!="number")throw Error(`Value of float/double field must be a number, found ${typeof e}: ${e}`);return e}function ot(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function Xr(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}function Mo(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}const Md=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Qr(e){switch(typeof e){case"bigint":return!0;case"number":return _i(e);case"string":return Md.test(e);default:return!1}}function lr(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return _i(e)?0|e:void 0}function Do(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return _i(e)?e>>>0:void 0}function Po(e){const t=e.length;return(e[0]==="-"?t<20||t===20&&e<="-9223372036854775808":t<19||t===19&&e<="9223372036854775807")?e:(Ei(e),Mn(ee,ae))}function Pn(e){return e=cr(e),Gt(e)||(ar(e),e=Ln(ee,ae)),e}function Oo(e){var t=cr(Number(e));return Gt(t)?String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),Po(e))}function Bo(e){var t=cr(Number(e));return Gt(t)?Le(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),rr()?Le(Kr(64,BigInt(e))):Le(Po(e)))}function Uo(e){return Gt(e)?e=Le(Pn(e)):(e=cr(e),Gt(e)?e=String(e):(ar(e),e=Mn(ee,ae)),e=Le(e)),e}function Dd(e){return e==null?e:typeof e=="bigint"?(Nn(e)?e=Number(e):(e=Kr(64,e),e=Nn(e)?Number(e):String(e)),e):Qr(e)?typeof e=="number"?Pn(e):Oo(e):void 0}function ki(e){const t=typeof e;return e==null?e:t==="bigint"?Le(Kr(64,e)):Qr(e)?t==="string"?Bo(e):Uo(e):void 0}function Vo(e){if(typeof e!="string")throw Error();return e}function Jr(e){if(e!=null&&typeof e!="string")throw Error();return e}function ve(e){return e==null||typeof e=="string"?e:void 0}function On(e,t,r,i){return e!=null&&e[nr]===sr?e:Array.isArray(e)?((i=(r=0|e[E])|32&i|2&i)!==r&&de(e,i),new t(e)):(r?2&i?((e=t[vo])||(Wr((e=new t).v),e=t[vo]=e),t=e):t=new t:t=void 0,t)}function Pd(e,t,r){if(t)e:{if(!Qr(t=e))throw An("int64");switch(typeof t){case"string":t=Bo(t);break e;case"bigint":t=Le(Kr(64,t));break e;default:t=Uo(t)}}else t=ki(e);return(e=t)==null?r?Ld:void 0:e}const Od={};let Bd=function(){try{return bi(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class Bn{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}}const Ud=Bd?(Object.setPrototypeOf(Bn.prototype,Map.prototype),Object.defineProperties(Bn.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),Bn):class extends Map{constructor(){super()}};function Go(e){return e}function Un(e){if(2&e.J)throw Error("Cannot mutate an immutable Map")}var gt=class extends Ud{constructor(e,t,r=Go,i=Go){super(),this.J=0|e[E],this.K=t,this.S=r,this.fa=this.K?Vd:i;for(let n=0;n<e.length;n++){const s=e[n],a=r(s[0],!1,!0);let c=s[1];t?c===void 0&&(c=null):c=i(s[1],!1,!0,void 0,void 0,this.J),super.set(a,c)}}V(e){return Hr(Array.from(super.entries(),e))}clear(){Un(this),super.clear()}delete(e){return Un(this),super.delete(this.S(e,!0,!1))}entries(){if(this.K){var e=super.keys();e=new So(e,Gd,this)}else e=super.entries();return e}values(){if(this.K){var e=super.keys();e=new So(e,gt.prototype.get,this)}else e=super.values();return e}forEach(e,t){this.K?super.forEach((r,i,n)=>{e.call(t,n.get(i),i,n)}):super.forEach(e,t)}set(e,t){return Un(this),(e=this.S(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.fa(t,!0,!0,this.K,!1,this.J))}Ma(e){const t=this.S(e[0],!1,!0);e=e[1],e=this.K?e===void 0?null:e:this.fa(e,!1,!0,void 0,!1,this.J),super.set(t,e)}has(e){return super.has(this.S(e,!1,!1))}get(e){e=this.S(e,!1,!1);const t=super.get(e);if(t!==void 0){var r=this.K;return r?((r=this.fa(t,!1,!0,r,this.ra,this.J))!==t&&super.set(e,r),r):t}}[Symbol.iterator](){return this.entries()}};function Vd(e,t,r,i,n,s){return e=On(e,i,r,s),n&&(e=jn(e)),e}function Gd(e){return[e,this.get(e)]}let jd;function jo(){return jd||(jd=new gt(Wr([]),void 0,void 0,void 0,Od))}function Si(e){return Ie?e[Ie]:void 0}function Ai(e,t){for(const r in e)!isNaN(r)&&t(e,+r,e[r])}gt.prototype.toJSON=void 0;var Vn=class{};const zd={Ka:!0};function $d(e,t){t<100||tr(bd,1)}function Ti(e,t,r,i){const n=i!==void 0;i=!!i;var s,a=Ie;!n&&ir&&a&&(s=e[a])&&Ai(s,$d),a=[];var c=e.length;let l;s=4294967295;let h=!1;const u=!!(64&t),f=u?128&t?0:-1:void 0;1&t||(l=c&&e[c-1],l!=null&&typeof l=="object"&&l.constructor===Object?s=--c:l=void 0,!u||128&t||n||(h=!0,s=s-f+f)),t=void 0;for(var w=0;w<c;w++){let g=e[w];if(g!=null&&(g=r(g,i))!=null)if(u&&w>=s){const p=w-f;(t??(t={}))[p]=g}else a[w]=g}if(l)for(let g in l){if((c=l[g])==null||(c=r(c,i))==null)continue;let p;w=+g,u&&!Number.isNaN(w)&&(p=w+f)<s?a[p]=c:(t??(t={}))[g]=c}return t&&(h?a.push(t):a[s]=t),n&&Ie&&(e=Si(e))&&e instanceof Vn&&(a[Ie]=function(g){const p=new Vn;return Ai(g,(y,m,b)=>{p[m]=Ze(b)}),p.da=g.da,p}(e)),a}function Wd(e){return e[0]=Zr(e[0]),e[1]=Zr(e[1]),e}function Zr(e){switch(typeof e){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return Nn(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(Array.isArray(e)){var t=0|e[E];return e.length===0&&1&t?void 0:Ti(e,t,Zr)}if(e!=null&&e[nr]===sr)return zo(e);if(e instanceof nt){if((t=e.g)==null)e="";else if(typeof t=="string")e=t;else{if(go){for(var r="",i=0,n=t.length-10240;i<n;)r+=String.fromCharCode.apply(null,t.subarray(i,i+=10240));r+=String.fromCharCode.apply(null,i?t.subarray(i):t),t=btoa(r)}else{r===void 0&&(r=0),wo(),r=fo[r],i=Array(Math.floor(t.length/3)),n=r[64]||"";let h=0,u=0;for(;h<t.length-2;h+=3){var s=t[h],a=t[h+1],c=t[h+2],l=r[s>>2];s=r[(3&s)<<4|a>>4],a=r[(15&a)<<2|c>>6],c=r[63&c],i[u++]=l+s+a+c}switch(l=0,c=n,t.length-h){case 2:c=r[(15&(l=t[h+1]))<<2]||n;case 1:t=t[h],i[u]=r[t>>2]+r[(3&t)<<4|l>>4]+c+n}t=i.join("")}e=e.g=t}return e}return e instanceof gt?e=e.size!==0?e.V(Wd):void 0:void 0}return e}function zo(e){return Ti(e=e.v,0|e[E],Zr)}let Hd,qd;function jt(e,t){return $o(e,t[0],t[1])}function $o(e,t,r,i=0){if(e==null){var n=32;r?(e=[r],n|=128):e=[],t&&(n=-16760833&n|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(n=0|e[E],lo&&1&n)throw Error("rfarr");if(2048&n&&!(2&n)&&function(){if(lo)throw Error("carr");tr(vd,5)}(),256&n)throw Error("farr");if(64&n)return(n|i)!==n&&de(e,n|i),e;if(r&&(n|=128,r!==e[0]))throw Error("mid");e:{n|=64;var s=(r=e).length;if(s){var a=s-1;const l=r[a];if(l!=null&&typeof l=="object"&&l.constructor===Object){if((a-=t=128&n?0:-1)>=1024)throw Error("pvtlmt");for(var c in l)(s=+c)<a&&(r[s+t]=l[c],delete l[c]);n=-16760833&n|(1023&a)<<14;break e}}if(t){if((c=Math.max(t,s-(128&n?0:-1)))>1024)throw Error("spvt");n=-16760833&n|(1023&c)<<14}}}return de(e,64|n|i),e}function Kd(e,t){if(typeof e!="object")return e;if(Array.isArray(e)){var r=0|e[E];return e.length===0&&1&r?void 0:Wo(e,r,t)}if(e!=null&&e[nr]===sr)return Ho(e);if(e instanceof gt){if(2&(t=e.J))return e;if(!e.size)return;if(r=Wr(e.V()),e.K)for(e=0;e<r.length;e++){const i=r[e];let n=i[1];n=n==null||typeof n!="object"?void 0:n!=null&&n[nr]===sr?Ho(n):Array.isArray(n)?Wo(n,0|n[E],!!(32&t)):void 0,i[1]=n}return r}return e instanceof nt?e:void 0}function Wo(e,t,r){return 2&t||(!r||4096&t||16&t?e=dr(e,t,!1,r&&!(16&t)):($r(e,34),4&t&&Object.freeze(e))),e}function Gn(e,t,r){return e=new e.constructor(t),r&&(e.h=Vt),e.m=Vt,e}function Ho(e){const t=e.v,r=0|t[E];return Fe(e,r)?e:zn(e,t,r)?Gn(e,t):dr(t,r)}function dr(e,t,r,i){return i??(i=!!(34&t)),e=Ti(e,t,Kd,i),i=32,r&&(i|=2),de(e,t=16769217&t|i),e}function jn(e){const t=e.v,r=0|t[E];return Fe(e,r)?zn(e,t,r)?Gn(e,t,!0):new e.constructor(dr(t,r,!1)):e}function ur(e){if(e.h!==Vt)return!1;var t=e.v;return $r(t=dr(t,0|t[E]),2048),e.v=t,e.h=void 0,e.m=void 0,!0}function hr(e){if(!ur(e)&&Fe(e,0|e.v[E]))throw Error()}function zt(e,t){t===void 0&&(t=0|e[E]),32&t&&!(4096&t)&&de(e,4096|t)}function zn(e,t,r){return!!(2&r)||!(!(32&r)||4096&r)&&(de(t,2|r),e.h=Vt,!0)}const Yd=Le(0),kt={};function X(e,t,r,i,n){if((t=pt(e.v,t,r,n))!==null||i&&e.m!==Vt)return t}function pt(e,t,r,i){if(t===-1)return null;const n=t+(r?0:-1),s=e.length-1;let a,c;if(!(s<1+(r?0:-1))){if(n>=s)if(a=e[s],a!=null&&typeof a=="object"&&a.constructor===Object)r=a[t],c=!0;else{if(n!==s)return;r=a}else r=e[n];if(i&&r!=null){if((i=i(r))==null)return i;if(!Object.is(i,r))return c?a[t]=i:e[n]=i,i}return r}}function $(e,t,r,i){hr(e),ue(e=e.v,0|e[E],t,r,i)}function ue(e,t,r,i,n){const s=r+(n?0:-1);var a=e.length-1;if(a>=1+(n?0:-1)&&s>=a){const c=e[a];if(c!=null&&typeof c=="object"&&c.constructor===Object)return c[r]=i,t}return s<=a?(e[s]=i,t):(i!==void 0&&(r>=(a=(t??(t=0|e[E]))>>14&1023||536870912)?i!=null&&(e[a+(n?0:-1)]={[r]:i}):e[s]=i),t)}function $t(){return xd===void 0?2:4}function Wt(e,t,r,i,n){let s=e.v,a=0|s[E];i=Fe(e,a)?1:i,n=!!n||i===3,i===2&&ur(e)&&(s=e.v,a=0|s[E]);let c=(e=$n(s,t))===Ut?7:0|e[E],l=Wn(c,a);var h=!(4&l);if(h){4&l&&(e=Ze(e),c=0,l=qt(l,a),a=ue(s,a,t,e));let u=0,f=0;for(;u<e.length;u++){const w=r(e[u]);w!=null&&(e[f++]=w)}f<u&&(e.length=f),r=-513&(4|l),l=r&=-1025,l&=-4097}return l!==c&&(de(e,l),2&l&&Object.freeze(e)),qo(e,l,s,a,t,i,h,n)}function qo(e,t,r,i,n,s,a,c){let l=t;return s===1||s===4&&(2&t||!(16&t)&&32&i)?Ht(t)||((t|=!e.length||a&&!(4096&t)||32&i&&!(4096&t||16&t)?2:256)!==l&&de(e,t),Object.freeze(e)):(s===2&&Ht(t)&&(e=Ze(e),l=0,t=qt(t,i),i=ue(r,i,n,e)),Ht(t)||(c||(t|=16),t!==l&&de(e,t))),2&t||!(4096&t||16&t)||zt(r,i),e}function $n(e,t,r){return e=pt(e,t,r),Array.isArray(e)?e:Ut}function Wn(e,t){return 2&t&&(e|=2),1|e}function Ht(e){return!!(2&e)&&!!(4&e)||!!(256&e)}function Ko(e){return Cn(e,!0)}function Yo(e){e=Ze(e);for(let t=0;t<e.length;t++){const r=e[t]=Ze(e[t]);Array.isArray(r[1])&&(r[1]=Wr(r[1]))}return Hr(e)}function St(e,t,r,i){hr(e),ue(e=e.v,0|e[E],t,(i==="0"?Number(r)===0:r===i)?void 0:r)}function fr(e,t,r){if(2&t)throw Error();const i=or(t);let n=$n(e,r,i),s=n===Ut?7:0|n[E],a=Wn(s,t);return(2&a||Ht(a)||16&a)&&(a===s||Ht(a)||de(n,a),n=Ze(n),s=0,a=qt(a,t),ue(e,t,r,n,i)),a&=-13,a!==s&&de(n,a),n}function Hn(e,t){var r=ec;return Kn(qn(e=e.v),e,void 0,r)===t?t:-1}function qn(e){if(ir)return e[zr]??(e[zr]=new Map);if(zr in e)return e[zr];const t=new Map;return Object.defineProperty(e,zr,{value:t}),t}function Xo(e,t,r,i,n){const s=qn(e),a=Kn(s,e,t,r,n);return a!==i&&(a&&(t=ue(e,t,a,void 0,n)),s.set(r,i)),t}function Kn(e,t,r,i,n){let s=e.get(i);if(s!=null)return s;s=0;for(let a=0;a<i.length;a++){const c=i[a];pt(t,c,n)!=null&&(s!==0&&(r=ue(t,r,s,void 0,n)),s=c)}return e.set(i,s),s}function Yn(e,t,r){let i=0|e[E];const n=or(i),s=pt(e,r,n);let a;if(s!=null&&s[nr]===sr){if(!Fe(s))return ur(s),s.v;a=s.v}else Array.isArray(s)&&(a=s);if(a){const c=0|a[E];2&c&&(a=dr(a,c))}return a=jt(a,t),a!==s&&ue(e,i,r,a,n),a}function Qo(e,t,r,i,n){let s=!1;if((i=pt(e,i,n,a=>{const c=On(a,r,!1,t);return s=c!==a&&c!=null,c}))!=null)return s&&!Fe(i)&&zt(e,t),i}function V(e,t,r,i){let n=e.v,s=0|n[E];if((t=Qo(n,s,t,r,i))==null)return t;if(s=0|n[E],!Fe(e,s)){const a=jn(t);a!==t&&(ur(e)&&(n=e.v,s=0|n[E]),s=ue(n,s,r,t=a,i),zt(n,s))}return t}function Jo(e,t,r,i,n,s,a,c){var l=Fe(e,r);s=l?1:s,a=!!a||s===3,l=c&&!l,(s===2||l)&&ur(e)&&(r=0|(t=e.v)[E]);var h=(e=$n(t,n))===Ut?7:0|e[E],u=Wn(h,r);if(c=!(4&u)){var f=e,w=r;const g=!!(2&u);g&&(w|=2);let p=!g,y=!0,m=0,b=0;for(;m<f.length;m++){const v=On(f[m],i,!1,w);if(v instanceof i){if(!g){const I=Fe(v);p&&(p=!I),y&&(y=I)}f[b++]=v}}b<m&&(f.length=b),u|=4,u=y?-4097&u:4096|u,u=p?8|u:-9&u}if(u!==h&&(de(e,u),2&u&&Object.freeze(e)),l&&!(8&u||!e.length&&(s===1||s===4&&(2&u||!(16&u)&&32&r)))){for(Ht(u)&&(e=Ze(e),u=qt(u,r),r=ue(t,r,n,e)),i=e,l=u,h=0;h<i.length;h++)(f=i[h])!==(u=jn(f))&&(i[h]=u);l|=8,de(e,u=l=i.length?4096|l:-4097&l)}return qo(e,u,t,r,n,s,c,a)}function mt(e,t,r){const i=e.v;return Jo(e,i,0|i[E],t,r,$t(),!1,!0)}function Zo(e){return e==null&&(e=void 0),e}function N(e,t,r,i,n){return $(e,r,i=Zo(i),n),i&&!Fe(i)&&zt(e.v),e}function Rr(e,t,r,i){e:{var n=i=Zo(i);hr(e);const s=e.v;let a=0|s[E];if(n==null){const c=qn(s);if(Kn(c,s,a,r)!==t)break e;c.set(r,0)}else a=Xo(s,a,r,t);ue(s,a,t,n)}i&&!Fe(i)&&zt(e.v)}function qt(e,t){return-273&(2&t?2|e:-3&e)}function Xn(e,t,r,i){var n=i;hr(e),e=Jo(e,i=e.v,0|i[E],r,t,2,!0),n=n??new r,e.push(n),t=r=e===Ut?7:0|e[E],(n=Fe(n))?(r&=-9,e.length===1&&(r&=-4097)):r|=4096,r!==t&&de(e,r),n||zt(i)}function ze(e,t,r){return lr(X(e,t,void 0,r))}function Ro(e){return(_n?X(e,2,void 0,void 0,ki):ki(X(e,2)))??Yd}function ne(e,t){return X(e,t,void 0,void 0,ot)??0}function yt(e,t,r){if(r!=null){if(typeof r!="number"||!_i(r))throw An("int32");r|=0}$(e,t,r)}function C(e,t,r){$(e,t,Yr(r))}function Me(e,t,r){St(e,t,Jr(r),"")}function Ci(e,t,r){{hr(e);const a=e.v;let c=0|a[E];if(r==null)ue(a,c,t);else{var i=e=r===Ut?7:0|r[E],n=Ht(e),s=n||Object.isFrozen(r);for(n||(e=0),s||(r=Ze(r),i=0,e=qt(e,c),s=!1),e|=5,e|=(4&e?512&e?512:1024&e?1024:0:void 0)??(_n?1024:0),n=0;n<r.length;n++){const l=r[n],h=Vo(l);Object.is(l,h)||(s&&(r=Ze(r),i=0,e=qt(e,c),s=!1),r[n]=h)}e!==i&&(s&&(r=Ze(r),e=qt(e,c)),de(r,e)),ue(a,c,t,r)}}}function Ni(e,t,r){hr(e),Wt(e,t,ve,2,!0).push(Vo(r))}var wr=class{constructor(e,t,r){if(this.buffer=e,r&&!t)throw Error();this.g=t}};function Qn(e,t){if(typeof e=="string")return new wr(mo(e),t);if(Array.isArray(e))return new wr(new Uint8Array(e),t);if(e.constructor===Uint8Array)return new wr(e,!1);if(e.constructor===ArrayBuffer)return e=new Uint8Array(e),new wr(e,!1);if(e.constructor===nt)return t=Sn(e)||new Uint8Array(0),new wr(t,!0,e);if(e instanceof Uint8Array)return e=e.constructor===Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new wr(e,!1);throw Error()}function gr(e,t){let r,i=0,n=0,s=0;const a=e.h;let c=e.g;do r=a[c++],i|=(127&r)<<s,s+=7;while(s<32&&128&r);if(s>32)for(n|=(127&r)>>4,s=3;s<32&&128&r;s+=7)r=a[c++],n|=(127&r)<<s;if(Kt(e,c),!(128&r))return t(i>>>0,n>>>0);throw Error()}function Jn(e){let t=0,r=e.g;const i=r+10,n=e.h;for(;r<i;){const s=n[r++];if(t|=s,(128&s)==0)return Kt(e,r),!!(127&t)}throw Error()}function At(e){const t=e.h;let r=e.g,i=t[r++],n=127&i;if(128&i&&(i=t[r++],n|=(127&i)<<7,128&i&&(i=t[r++],n|=(127&i)<<14,128&i&&(i=t[r++],n|=(127&i)<<21,128&i&&(i=t[r++],n|=i<<28,128&i&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw Error();return Kt(e,r),n}function bt(e){return At(e)>>>0}function Ii(e){var t=e.h;const r=e.g;var i=t[r],n=t[r+1];const s=t[r+2];return t=t[r+3],Kt(e,e.g+4),e=2*((n=(i<<0|n<<8|s<<16|t<<24)>>>0)>>31)+1,i=n>>>23&255,n&=8388607,i==255?n?NaN:e*(1/0):i==0?1401298464324817e-60*e*n:e*Math.pow(2,i-150)*(n+8388608)}function Xd(e){return At(e)}function Kt(e,t){if(e.g=t,t>e.l)throw Error()}function ea(e,t){if(t<0)throw Error();const r=e.g;if((t=r+t)>e.l)throw Error();return e.g=t,r}function ta(e,t){if(t==0)return Bt();var r=ea(e,t);return e.Y&&e.j?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):Cd?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Bt():new nt(r,er)}var ra=[];function ia(e,t,r,i){if(Mi.length){const n=Mi.pop();return n.o(i),n.g.init(e,t,r,i),n}return new Qd(e,t,r,i)}function na(e){e.g.clear(),e.l=-1,e.h=-1,Mi.length<100&&Mi.push(e)}function sa(e){var t=e.g;if(t.g==t.l)return!1;e.m=e.g.g;var r=bt(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5)||t<1)throw Error();return e.l=t,e.h=r,!0}function Fi(e){switch(e.h){case 0:e.h!=0?Fi(e):Jn(e.g);break;case 1:Kt(e=e.g,e.g+8);break;case 2:if(e.h!=2)Fi(e);else{var t=bt(e.g);Kt(e=e.g,e.g+t)}break;case 5:Kt(e=e.g,e.g+4);break;case 3:for(t=e.l;;){if(!sa(e))throw Error();if(e.h==4){if(e.l!=t)throw Error();break}Fi(e)}break;default:throw Error()}}function ei(e,t,r){const i=e.g.l;var n=bt(e.g);let s=(n=e.g.g+n)-i;if(s<=0&&(e.g.l=n,r(t,e,void 0,void 0,void 0),s=n-e.g.g),s)throw Error();return e.g.g=n,e.g.l=i,t}function Zn(e){var t=bt(e.g),r=ea(e=e.g,t);if(e=e.h,ad){var i,n=e;(i=vn)||(i=vn=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var s=i.decode(n)}catch(c){if(yi===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),yi=!0}catch{yi=!1}}throw!yi&&(vn=void 0),c}}else{t=(s=r)+t,r=[];let c,l=null;for(;s<t;){var a=e[s++];a<128?r.push(a):a<224?s>=t?Ot():(c=e[s++],a<194||(192&c)!=128?(s--,Ot()):r.push((31&a)<<6|63&c)):a<240?s>=t-1?Ot():(c=e[s++],(192&c)!=128||a===224&&c<160||a===237&&c>=160||(192&(i=e[s++]))!=128?(s--,Ot()):r.push((15&a)<<12|(63&c)<<6|63&i)):a<=244?s>=t-2?Ot():(c=e[s++],(192&c)!=128||c-144+(a<<28)>>30||(192&(i=e[s++]))!=128||(192&(n=e[s++]))!=128?(s--,Ot()):(a=(7&a)<<18|(63&c)<<12|(63&i)<<6|63&n,a-=65536,r.push(55296+(a>>10&1023),56320+(1023&a)))):Ot(),r.length>=8192&&(l=oo(l,r),r.length=0)}s=oo(l,r)}return s}function oa(e){const t=bt(e.g);return ta(e.g,t)}function Li(e,t,r){var i=bt(e.g);for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var Qd=class{constructor(e,t,r,i){if(ra.length){const n=ra.pop();n.init(e,t,r,i),e=n}else e=new class{constructor(n,s,a,c){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.init(n,s,a,c)}init(n,s,a,{Y:c=!1,ea:l=!1}={}){this.Y=c,this.ea=l,n&&(n=Qn(n,this.ea),this.h=n.buffer,this.j=n.g,this.m=s||0,this.l=a!==void 0?this.m+a:this.h.length,this.g=this.m)}clear(){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.Y=!1}}(e,t,r,i);this.g=e,this.m=this.g.g,this.h=this.l=-1,this.o(i)}o({ha:e=!1}={}){this.ha=e}},Mi=[];function aa(e){return e?/^\d+$/.test(e)?(Ei(e),new Rn(ee,ae)):null:Jd||(Jd=new Rn(0,0))}var Rn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Jd;function ca(e){return e?/^-?\d+$/.test(e)?(Ei(e),new es(ee,ae)):null:Zd||(Zd=new es(0,0))}var es=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Zd;function pr(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function mr(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Di(e,t){if(t>=0)mr(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function ts(e){var t=ee;e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function yr(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function $e(e,t,r){mr(e.g,8*t+r)}function rs(e,t){return $e(e,t,2),t=e.g.end(),yr(e,t),t.push(e.h),t}function is(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function Pi(e,t,r){$e(e,t,2),mr(e.g,r.length),yr(e,e.g.end()),yr(e,r)}function Oi(e,t,r,i){r!=null&&(t=rs(e,t),i(r,e),is(e,t))}function at(){const e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var ns=at(),la=at(),ss=at(),os=at(),da=at(),ua=at(),Rd=at(),Bi=at(),ha=at(),fa=at();function ct(e,t,r){var i=e.v;Ie&&Ie in i&&(i=i[Ie])&&delete i[t.g],t.h?t.j(e,t.h,t.g,r,t.l):t.j(e,t.g,r,t.l)}var _=class{constructor(e,t){this.v=$o(e,t,void 0,2048)}toJSON(){return zo(this)}j(){var n;var e=Pu,t=this.v,r=e.g,i=Ie;if(ir&&i&&((n=t[i])==null?void 0:n[r])!=null&&tr(yd,3),t=e.g,xo&&Ie&&xo===void 0&&(i=(r=this.v)[Ie])&&(i=i.da))try{i(r,t,zd)}catch(s){co(s)}return e.h?e.m(this,e.h,e.g,e.l):e.m(this,e.g,e.defaultValue,e.l)}clone(){const e=this.v,t=0|e[E];return zn(this,e,t)?Gn(this,e,!0):new this.constructor(dr(e,t,!1))}};_.prototype[nr]=sr,_.prototype.toString=function(){return this.v.toString()};var br=class{constructor(e,t,r){this.g=e,this.h=t,e=ns,this.l=!!e&&r===e||!1}};function Ui(e,t){return new br(e,t,ns)}function wa(e,t,r,i,n){Oi(e,r,va(t,i),n)}const eu=Ui(function(e,t,r,i,n){return e.h===2&&(ei(e,Yn(t,i,r),n),!0)},wa),tu=Ui(function(e,t,r,i,n){return e.h===2&&(ei(e,Yn(t,i,r),n),!0)},wa);var Vi=Symbol(),Gi=Symbol(),as=Symbol(),ga=Symbol(),pa=Symbol();let ma,ya;function Yt(e,t,r,i){var n=i[e];if(n)return n;(n={}).qa=i,n.T=function(f){switch(typeof f){case"boolean":return Hd||(Hd=[0,void 0,!0]);case"number":return f>0?void 0:f===0?qd||(qd=[0,void 0]):[-f,void 0];case"string":return[0,f];case"object":return f}}(i[0]);var s=i[1];let a=1;s&&s.constructor===Object&&(n.ba=s,typeof(s=i[++a])=="function"&&(n.ma=!0,ma??(ma=s),ya??(ya=i[a+1]),s=i[a+=2]));const c={};for(;s&&Array.isArray(s)&&s.length&&typeof s[0]=="number"&&s[0]>0;){for(var l=0;l<s.length;l++)c[s[l]]=s;s=i[++a]}for(l=1;s!==void 0;){let f;typeof s=="number"&&(l+=s,s=i[++a]);var h=void 0;if(s instanceof br?f=s:(f=eu,a--),f==null?void 0:f.l){s=i[++a],h=i;var u=a;typeof s=="function"&&(s=s(),h[u]=s),h=s}for(u=l+1,typeof(s=i[++a])=="number"&&s<0&&(u-=s,s=i[++a]);l<u;l++){const w=c[l];h?r(n,l,f,h,w):t(n,l,f,w)}}return i[e]=n}function ba(e){return Array.isArray(e)?e[0]instanceof br?e:[tu,e]:[e,void 0]}function va(e,t){return e instanceof _?e.v:Array.isArray(e)?jt(e,t):void 0}function cs(e,t,r,i){const n=r.g;e[t]=i?(s,a,c)=>n(s,a,c,i):n}function ls(e,t,r,i,n){const s=r.g;let a,c;e[t]=(l,h,u)=>s(l,h,u,c||(c=Yt(Gi,cs,ls,i).T),a||(a=ds(i)),n)}function ds(e){let t=e[as];if(t!=null)return t;const r=Yt(Gi,cs,ls,e);return t=r.ma?(i,n)=>ma(i,n,r):(i,n)=>{for(;sa(n)&&n.h!=4;){var s=n.l,a=r[s];if(a==null){var c=r.ba;c&&(c=c[s])&&(c=iu(c))!=null&&(a=r[s]=c)}if(a==null||!a(n,i,s)){if(a=(c=n).m,Fi(c),c.ha)var l=void 0;else l=c.g.g-a,c.g.g=a,l=ta(c.g,l);a=void 0,c=i,l&&((a=c[Ie]??(c[Ie]=new Vn))[s]??(a[s]=[])).push(l)}}return(i=Si(i))&&(i.da=r.qa[pa]),!0},e[as]=t,e[pa]=ru.bind(e),t}function ru(e,t,r,i){var n=this[Gi];const s=this[as],a=jt(void 0,n.T),c=Si(e);if(c){var l=!1,h=n.ba;if(h){if(n=(u,f,w)=>{if(w.length!==0)if(h[f])for(const g of w){u=ia(g);try{l=!0,s(a,u)}finally{na(u)}}else i==null||i(e,f,w)},t==null)Ai(c,n);else if(c!=null){const u=c[t];u&&n(c,t,u)}if(l){let u=0|e[E];if(2&u&&2048&u&&!(r!=null&&r.Ka))throw Error();const f=or(u),w=(g,p)=>{if(pt(e,g,f)!=null){if((r==null?void 0:r.Qa)===1)return;throw Error()}p!=null&&(u=ue(e,u,g,p,f)),delete c[g]};t==null?Ao(a,0|a[E],(g,p)=>{w(g,p)}):w(t,pt(a,t,f))}}}}function iu(e){const t=(e=ba(e))[0].g;if(e=e[1]){const r=ds(e),i=Yt(Gi,cs,ls,e).T;return(n,s,a)=>t(n,s,a,i,r)}return t}function ji(e,t,r){e[t]=r.h}function zi(e,t,r,i){let n,s;const a=r.h;e[t]=(c,l,h)=>a(c,l,h,s||(s=Yt(Vi,ji,zi,i).T),n||(n=xa(i)))}function xa(e){let t=e[ga];if(!t){const r=Yt(Vi,ji,zi,e);t=(i,n)=>Ea(i,n,r),e[ga]=t}return t}function Ea(e,t,r){Ao(e,0|e[E],(i,n)=>{if(n!=null){var s=function(a,c){var l=a[c];if(l)return l;if((l=a.ba)&&(l=l[c])){var h=(l=ba(l))[0].h;if(l=l[1]){const u=xa(l),f=Yt(Vi,ji,zi,l).T;l=a.ma?ya(f,u):(w,g,p)=>h(w,g,p,f,u)}else l=h;return a[c]=l}}(r,i);s?s(t,n,i):i<500||tr(Tn,3)}}),(e=Si(e))&&Ai(e,(i,n,s)=>{for(yr(t,t.g.end()),i=0;i<s.length;i++)yr(t,Sn(s[i])||new Uint8Array(0))})}const nu=Le(0);function vr(e,t){if(Array.isArray(t)){var r=0|t[E];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){const s=e(t[i]);s!=null&&(t[n++]=s)}return n<i&&(t.length=n),(e=-1537&(5|r))!==r&&de(t,e),2&e&&Object.freeze(t),t}}function _e(e,t,r){return new br(e,t,r)}function xr(e,t,r){return new br(e,t,r)}function fe(e,t,r){ue(e,0|e[E],t,r,or(0|e[E]))}var su=Ui(function(e,t,r,i,n){if(e.h!==2)return!1;if(e=Ze(e=ei(e,jt([void 0,void 0],i),n)),n=or(i=0|t[E]),2&i)throw Error();let s=pt(t,r,n);if(s instanceof gt)2&s.J?(s=s.V(),s.push(e),ue(t,i,r,s,n)):s.Ma(e);else if(Array.isArray(s)){var a=0|s[E];8192&a||de(s,a|=8192),2&a&&(s=Yo(s),ue(t,i,r,s,n)),s.push(e)}else ue(t,i,r,Hr([e]),n);return!0},function(e,t,r,i,n){if(t instanceof gt)t.forEach((s,a)=>{Oi(e,r,jt([a,s],i),n)});else if(Array.isArray(t)){for(let s=0;s<t.length;s++){const a=t[s];Array.isArray(a)&&Oi(e,r,jt(a,i),n)}Hr(t)}});function _a(e,t,r){(t=ot(t))!=null&&($e(e,r,5),e=e.g,In(t),ts(e))}function ka(e,t,r){if(t=function(i){if(i==null)return i;const n=typeof i;if(n==="bigint")return String(Kr(64,i));if(Qr(i)){if(n==="string")return Oo(i);if(n==="number")return Pn(i)}}(t),t!=null&&(typeof t=="string"&&ca(t),t!=null))switch($e(e,r,0),typeof t){case"number":e=e.g,ar(t),pr(e,ee,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new es(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),pr(e.g,r.h,r.g);break;default:r=ca(t),pr(e.g,r.h,r.g)}}function Sa(e,t,r){(t=lr(t))!=null&&t!=null&&($e(e,r,0),Di(e.g,t))}function Aa(e,t,r){(t=Mo(t))!=null&&($e(e,r,0),e.g.g.push(t?1:0))}function Ta(e,t,r){(t=ve(t))!=null&&Pi(e,r,ao(t))}function Ca(e,t,r,i,n){Oi(e,r,va(t,i),n)}function Na(e,t,r){(t=t==null||typeof t=="string"||t instanceof nt?t:void 0)!=null&&Pi(e,r,Qn(t,!0).buffer)}function Ia(e,t,r){return(e.h===5||e.h===2)&&(t=fr(t,0|t[E],r),e.h==2?Li(e,Ii,t):t.push(Ii(e.g)),!0)}var ce=_e(function(e,t,r){return e.h===5&&(fe(t,r,Ii(e.g)),!0)},_a,Bi),ou=xr(Ia,function(e,t,r){if((t=vr(ot,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&($e(i,n,5),i=i.g,In(s),ts(i))}},Bi),us=xr(Ia,function(e,t,r){if((t=vr(ot,t))!=null&&t.length){$e(e,r,2),mr(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,In(t[i]),ts(r)}},Bi),au=_e(function(e,t,r){return e.h===5&&(fe(t,r,(e=Ii(e.g))===0?void 0:e),!0)},_a,Bi),Tt=_e(function(e,t,r){return En?(e.h!==0?e=!1:(fe(t,r,gr(e.g,Fo)),e=!0),e):e.h===0&&(fe(t,r,gr(e.g,Ln)),!0)},ka,ua),hs=_e(function(e,t,r){return En?(e.h!==0?t=!1:(fe(t,r,(e=gr(e.g,Fo))===nu?void 0:e),t=!0),t):e.h===0&&(fe(t,r,(e=gr(e.g,Ln))===0?void 0:e),!0)},ka,ua),cu=_e(function(e,t,r){return En?(e.h!==0?e=!1:(fe(t,r,gr(e.g,Id)),e=!0),e):e.h===0&&(fe(t,r,gr(e.g,Fn)),!0)},function(e,t,r){if(t=function(i){if(i==null)return i;var n=typeof i;if(n==="bigint")return String(Fd(64,i));if(Qr(i)){if(n==="string")return n=cr(Number(i)),Gt(n)&&n>=0?i=String(n):((n=i.indexOf("."))!==-1&&(i=i.substring(0,n)),(n=i[0]!=="-"&&((n=i.length)<20||n===20&&i<="18446744073709551615"))||(Ei(i),i=qr(ee,ae))),i;if(n==="number")return(i=cr(i))>=0&&Gt(i)||(ar(i),i=Fn(ee,ae)),i}}(t),t!=null&&(typeof t=="string"&&aa(t),t!=null))switch($e(e,r,0),typeof t){case"number":e=e.g,ar(t),pr(e,ee,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new Rn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),pr(e.g,r.h,r.g);break;default:r=aa(t),pr(e.g,r.h,r.g)}},Rd),we=_e(function(e,t,r){return e.h===0&&(fe(t,r,At(e.g)),!0)},Sa,os),ti=xr(function(e,t,r){return(e.h===0||e.h===2)&&(t=fr(t,0|t[E],r),e.h==2?Li(e,At,t):t.push(At(e.g)),!0)},function(e,t,r){if((t=vr(lr,t))!=null&&t.length){r=rs(e,r);for(let i=0;i<t.length;i++)Di(e.g,t[i]);is(e,r)}},os),Er=_e(function(e,t,r){return e.h===0&&(fe(t,r,(e=At(e.g))===0?void 0:e),!0)},Sa,os),se=_e(function(e,t,r){return e.h===0&&(fe(t,r,Jn(e.g)),!0)},Aa,la),Xt=_e(function(e,t,r){return e.h===0&&(fe(t,r,(e=Jn(e.g))===!1?void 0:e),!0)},Aa,la),xe=xr(function(e,t,r){return e.h===2&&(e=Zn(e),fr(t,0|t[E],r).push(e),!0)},function(e,t,r){if((t=vr(ve,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&Pi(i,n,ao(s))}},ss),Ct=_e(function(e,t,r){return e.h===2&&(fe(t,r,(e=Zn(e))===""?void 0:e),!0)},Ta,ss),K=_e(function(e,t,r){return e.h===2&&(fe(t,r,Zn(e)),!0)},Ta,ss),ge=function(e,t,r=ns){return new br(e,t,r)}(function(e,t,r,i,n){return e.h===2&&(i=jt(void 0,i),fr(t,0|t[E],r).push(i),ei(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t)){for(let s=0;s<t.length;s++)Ca(e,t[s],r,i,n);1&(e=0|t[E])||de(t,1|e)}}),oe=Ui(function(e,t,r,i,n,s){if(e.h!==2)return!1;let a=0|t[E];return Xo(t,a,s,r,or(a)),ei(e,t=Yn(t,i,r),n),!0},Ca),Fa=_e(function(e,t,r){return e.h===2&&(fe(t,r,oa(e)),!0)},Na,ha),lu=xr(function(e,t,r){return(e.h===0||e.h===2)&&(t=fr(t,0|t[E],r),e.h==2?Li(e,bt,t):t.push(bt(e.g)),!0)},function(e,t,r){if((t=vr(Do,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&($e(i,n,0),mr(i.g,s))}},da),du=_e(function(e,t,r){return e.h===0&&(fe(t,r,(e=bt(e.g))===0?void 0:e),!0)},function(e,t,r){(t=Do(t))!=null&&t!=null&&($e(e,r,0),mr(e.g,t))},da),De=_e(function(e,t,r){return e.h===0&&(fe(t,r,At(e.g)),!0)},function(e,t,r){(t=lr(t))!=null&&(t=parseInt(t,10),$e(e,r,0),Di(e.g,t))},fa);class uu{constructor(t,r){var i=Pe;this.g=t,this.h=r,this.m=V,this.j=N,this.defaultValue=void 0,this.l=i.Oa!=null?To:void 0}register(){bi(this)}}function lt(e,t){return new uu(e,t)}function Nt(e,t){return(r,i)=>{{const s={ea:!0};i&&Object.assign(s,i),r=ia(r,void 0,void 0,s);try{const a=new e,c=a.v;ds(t)(c,r);var n=a}finally{na(r)}}return n}}function $i(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const a=this.g;return this.g=[],a}}}};Ea(this.v,t,Yt(Vi,ji,zi,e)),yr(t,t.g.end());const r=new Uint8Array(t.h),i=t.l,n=i.length;let s=0;for(let a=0;a<n;a++){const c=i[a];r.set(c,s),s+=c.length}return t.l=[r],r}}var La=class extends _{constructor(e){super(e)}},Ma=[0,Ct,_e(function(e,t,r){return e.h===2&&(fe(t,r,(e=oa(e))===Bt()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof _){const i=t.Ra;return void(i?(t=i(t),t!=null&&Pi(e,r,Qn(t,!0).buffer)):tr(Tn,3))}if(Array.isArray(t))return void tr(Tn,3)}Na(e,t,r)},ha)];let fs,Da=globalThis.trustedTypes;function Pa(e){var t;return fs===void 0&&(fs=function(){let r=null;if(!Da)return r;try{const i=n=>n;r=Da.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}()),e=(t=fs)?t.createScriptURL(e):e,new class{constructor(r){this.g=r}toString(){return this.g+""}}(e)}function hu(e,...t){if(t.length===0)return Pa(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return Pa(r)}var Oa=[0,we,De,se,-1,ti,De,-1,se],fu=class extends _{constructor(e){super(e)}},Ba=[0,se,K,se,De,-1,xr(function(e,t,r){return(e.h===0||e.h===2)&&(t=fr(t,0|t[E],r),e.h==2?Li(e,Xd,t):t.push(At(e.g)),!0)},function(e,t,r){if((t=vr(lr,t))!=null&&t.length){r=rs(e,r);for(let i=0;i<t.length;i++)Di(e.g,t[i]);is(e,r)}},fa),K,-1,[0,se,-1],De,se,-1],Ua=[0,3,se,-1,2,[0,we],[0,De,se],[0,K,-1],[0]],Va=[0,K,-2],Ga=class extends _{constructor(e){super(e)}},ja=[0],za=[0,we,se,1,se,-4],Pe=class extends _{constructor(e){super(e,2)}},he={};he[336783863]=[0,K,se,-1,we,[0,[1,2,3,4,5,6,7,8,9],oe,ja,oe,Ba,oe,Va,oe,za,oe,Oa,oe,[0,K,-2],oe,[0,K,De],oe,Ua,oe,[0,De,-1,se]],[0,K],se,[0,[1,3],[2,4],oe,[0,ti],-1,oe,[0,xe],-1,ge,[0,K,-1]],K];var $a=[0,hs,-1,Xt,-3,hs,ti,Ct,Er,hs,-1,Xt,Er,Xt,-2,Ct];function Q(e,t){Ni(e,3,t)}function B(e,t){Ni(e,4,t)}var Ce=class extends _{constructor(e){super(e,500)}o(e){return N(this,0,7,e)}},ri=[-1,{}],Wa=[0,K,1,ri],Ha=[0,K,xe,ri];function We(e,t){Xn(e,1,Ce,t)}function te(e,t){Ni(e,10,t)}function z(e,t){Ni(e,15,t)}var Oe=class extends _{constructor(e){super(e,500)}o(e){return N(this,0,1001,e)}},qa=[-500,ge,[-500,Ct,-1,xe,-3,[-2,he,se],ge,Ma,Er,-1,Wa,Ha,ge,[0,Ct,Xt],Ct,$a,Er,xe,987,xe],4,ge,[-500,K,-1,[-1,{}],998,K],ge,[-500,K,xe,-1,[-2,{},se],997,xe,-1],Er,ge,[-500,K,xe,ri,998,xe],xe,Er,Wa,Ha,ge,[0,Ct,-1,ri],xe,-2,$a,Ct,-1,Xt,[0,Xt,du],978,ri,ge,Ma];Oe.prototype.g=$i(qa);var wu=Nt(Oe,qa),gu=class extends _{constructor(e){super(e)}},Ka=class extends _{constructor(e){super(e)}g(){return mt(this,gu,1)}},Ya=[0,ge,[0,we,ce,K,-1]],Wi=Nt(Ka,Ya),pu=class extends _{constructor(e){super(e)}},mu=class extends _{constructor(e){super(e)}},ws=class extends _{constructor(e){super(e)}l(){return V(this,pu,2)}g(){return mt(this,mu,5)}},Xa=Nt(class extends _{constructor(e){super(e)}},[0,xe,ti,us,[0,De,[0,we,-3],[0,ce,-3],[0,we,-1,[0,ge,[0,we,-2]]],ge,[0,ce,-1,K,ce]],K,-1,Tt,ge,[0,we,ce],xe,Tt]),Qa=class extends _{constructor(e){super(e)}},_r=Nt(class extends _{constructor(e){super(e)}},[0,ge,[0,ce,-4]]),Ja=class extends _{constructor(e){super(e)}},ii=Nt(class extends _{constructor(e){super(e)}},[0,ge,[0,ce,-4]]),yu=class extends _{constructor(e){super(e)}},bu=[0,we,-1,us,De],Za=class extends _{constructor(e){super(e)}};Za.prototype.g=$i([0,ce,-4,Tt]);var vu=class extends _{constructor(e){super(e)}},xu=Nt(class extends _{constructor(e){super(e)}},[0,ge,[0,1,we,K,Ya],Tt]),Ra=class extends _{constructor(e){super(e)}},Eu=class extends _{constructor(e){super(e)}na(){const e=X(this,1,void 0,void 0,Ko);return e??Bt()}},_u=class extends _{constructor(e){super(e)}},ec=[1,2],ku=Nt(class extends _{constructor(e){super(e)}},[0,ge,[0,ec,oe,[0,us],oe,[0,Fa],we,K],Tt]),gs=class extends _{constructor(e){super(e)}},tc=[0,K,we,ce,xe,-1],rc=class extends _{constructor(e){super(e)}},Su=[0,se,-1],ic=class extends _{constructor(e){super(e)}},Hi=[1,2,3,4,5,6],qi=class extends _{constructor(e){super(e)}g(){return X(this,1,void 0,void 0,Ko)!=null}l(){return ve(X(this,2))!=null}},ie=class extends _{constructor(e){super(e)}g(){return Mo(X(this,2))??!1}},nc=[0,Fa,K,[0,we,Tt,-1],[0,cu,Tt]],le=[0,nc,se,[0,Hi,oe,za,oe,Ba,oe,Oa,oe,ja,oe,Va,oe,Ua],De],Ki=class extends _{constructor(e){super(e)}},ps=[0,le,ce,-1,we],Au=lt(502141897,Ki);he[502141897]=ps;var Tu=Nt(class extends _{constructor(e){super(e)}},[0,[0,De,-1,ou,lu],bu]),sc=class extends _{constructor(e){super(e)}},oc=class extends _{constructor(e){super(e)}},ms=[0,le,ce,[0,le],se],Cu=lt(508968150,oc);he[508968150]=[0,le,ps,ms,ce,[0,[0,nc]]],he[508968149]=ms;var kr=class extends _{constructor(e){super(e)}l(){return V(this,gs,2)}g(){$(this,2)}},ac=[0,le,tc];he[478825465]=ac;var Nu=class extends _{constructor(e){super(e)}},cc=class extends _{constructor(e){super(e)}},ys=class extends _{constructor(e){super(e)}},bs=class extends _{constructor(e){super(e)}},lc=class extends _{constructor(e){super(e)}},dc=[0,le,[0,le],ac,-1],uc=[0,le,ce,we],vs=[0,le,ce],hc=[0,le,uc,vs,ce],Iu=lt(479097054,lc);he[479097054]=[0,le,hc,dc],he[463370452]=dc,he[464864288]=uc;var Fu=lt(462713202,bs);he[462713202]=hc,he[474472470]=vs;var Lu=class extends _{constructor(e){super(e)}},fc=class extends _{constructor(e){super(e)}},wc=class extends _{constructor(e){super(e)}},gc=class extends _{constructor(e){super(e)}},xs=[0,le,ce,-1,we],Es=[0,le,ce,se];gc.prototype.g=$i([0,le,vs,[0,le],ps,ms,xs,Es]);var pc=class extends _{constructor(e){super(e)}},Mu=lt(456383383,pc);he[456383383]=[0,le,tc];var mc=class extends _{constructor(e){super(e)}},Du=lt(476348187,mc);he[476348187]=[0,le,Su];var yc=class extends _{constructor(e){super(e)}},bc=class extends _{constructor(e){super(e)}},vc=[0,De,-1],Pu=lt(458105876,class extends _{constructor(e){super(e)}g(){let e;var t=this.v;const r=0|t[E];return e=Fe(this,r),t=function(i,n,s,a){var c=bc;!a&&ur(i)&&(s=0|(n=i.v)[E]);var l=pt(n,2);if(i=!1,l==null){if(a)return jo();l=[]}else if(l.constructor===gt){if(!(2&l.J)||a)return l;l=l.V()}else Array.isArray(l)?i=!!(2&(0|l[E])):l=[];if(a){if(!l.length)return jo();i||(i=!0,Wr(l))}else i&&(i=!1,Hr(l),l=Yo(l));return!i&&32&s&&$r(l,32),s=ue(n,s,2,a=new gt(l,c,Pd,void 0)),i||zt(n,s),a}(this,t,r,e),!e&&bc&&(t.ra=!0),t}});he[458105876]=[0,vc,su,[!0,Tt,[0,K,-1,xe]],[0,ti,se,De]];var _s=class extends _{constructor(e){super(e)}},xc=lt(458105758,_s);he[458105758]=[0,le,K,vc];var ks=class extends _{constructor(e){super(e)}},Ec=[0,au,-1,Xt],Ou=class extends _{constructor(e){super(e)}},_c=class extends _{constructor(e){super(e)}},Ss=[1,2];_c.prototype.g=$i([0,Ss,oe,Ec,oe,[0,ge,Ec]]);var kc=class extends _{constructor(e){super(e)}},Bu=lt(443442058,kc);he[443442058]=[0,le,K,we,ce,xe,-1,se,ce],he[514774813]=xs;var Sc=class extends _{constructor(e){super(e)}},Uu=lt(516587230,Sc);function As(e,t){return t=t?t.clone():new gs,e.displayNamesLocale!==void 0?$(t,1,Jr(e.displayNamesLocale)):e.displayNamesLocale===void 0&&$(t,1),e.maxResults!==void 0?yt(t,2,e.maxResults):"maxResults"in e&&$(t,2),e.scoreThreshold!==void 0?C(t,3,e.scoreThreshold):"scoreThreshold"in e&&$(t,3),e.categoryAllowlist!==void 0?Ci(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&$(t,4),e.categoryDenylist!==void 0?Ci(t,5,e.categoryDenylist):"categoryDenylist"in e&&$(t,5),t}function Ac(e){const t=Number(e);return Number.isSafeInteger(t)?t:String(e)}function Ts(e,t=-1,r=""){return{categories:e.map(i=>({index:ze(i,1)??0??-1,score:ne(i,2)??0,categoryName:ve(X(i,3))??""??"",displayName:ve(X(i,4))??""??""})),headIndex:t,headName:r}}function Vu(e){const t={classifications:mt(e,vu,1).map(r=>{var i;return Ts(((i=V(r,Ka,4))==null?void 0:i.g())??[],ze(r,2)??0,ve(X(r,3))??"")})};return function(r){return Dd(_n?X(r,2,void 0,void 0,ki):X(r,2))}(e)!=null&&(t.timestampMs=Ac(Ro(e))),t}function Tc(e){var a,c;var t=Wt(e,3,ot,$t()),r=Wt(e,2,lr,$t()),i=Wt(e,1,ve,$t()),n=Wt(e,9,ve,$t());const s={categories:[],keypoints:[]};for(let l=0;l<t.length;l++)s.categories.push({score:t[l],index:r[l]??-1,categoryName:i[l]??"",displayName:n[l]??""});if((t=(a=V(e,ws,4))==null?void 0:a.l())&&(s.boundingBox={originX:ze(t,1,kt)??0,originY:ze(t,2,kt)??0,width:ze(t,3,kt)??0,height:ze(t,4,kt)??0,angle:0}),(c=V(e,ws,4))==null?void 0:c.g().length)for(const l of V(e,ws,4).g())s.keypoints.push({x:X(l,1,void 0,kt,ot)??0,y:X(l,2,void 0,kt,ot)??0,score:X(l,4,void 0,kt,ot)??0,label:ve(X(l,3,void 0,kt))??""});return s}function Yi(e){const t=[];for(const r of mt(e,Ja,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function ni(e){const t=[];for(const r of mt(e,Qa,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function Cc(e){return Array.from(e,t=>t>127?t-256:t)}function Nc(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,i=0,n=0;for(let s=0;s<e.length;s++)r+=e[s]*t[s],i+=e[s]*e[s],n+=t[s]*t[s];if(i<=0||n<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(i*n)}let Xi;he[516587230]=[0,le,xs,Es,ce],he[518928384]=Es;const Gu=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Ic(){if(Xi===void 0)try{await WebAssembly.instantiate(Gu),Xi=!0}catch{Xi=!1}return Xi}async function si(e,t=hu``){const r=await Ic()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var Qt=class{};function Fc(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")}(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function Lc(e){if(typeof importScripts!="function"){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise((r,i)=>{t.addEventListener("load",()=>{r()},!1),t.addEventListener("error",n=>{i(n)},!1),document.body.appendChild(t)})}try{importScripts(e.toString())}catch(t){if(!(t instanceof TypeError))throw t;await self.import(e.toString())}}function Mc(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function k(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Dc(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);const[i,n]=Mc(t);return!e.l||i===e.i.canvas.width&&n===e.i.canvas.height||(e.i.canvas.width=i,e.i.canvas.height=n),[i,n]}function Pc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const i=new Uint32Array(t.length);for(let n=0;n<t.length;n++)i[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*i.length),e.i.HEAPU32.set(i,t>>2),r(t);for(const n of i)e.i._free(n);e.i._free(t)}function dt(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function It(e,t,r){let i=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(n,s,a)=>{s?(r(i,a),i=[]):i.push(n)}}Qt.forVisionTasks=function(e){return si("vision",e)},Qt.forTextTasks=function(e){return si("text",e)},Qt.forGenAiExperimentalTasks=function(e){return si("genai_experimental",e)},Qt.forGenAiTasks=function(e){return si("genai",e)},Qt.forAudioTasks=function(e){return si("audio",e)},Qt.isSimdSupported=function(){return Ic()};async function ju(e,t,r,i){return e=await(async(n,s,a,c,l)=>{if(s&&await Lc(s),!self.ModuleFactory||a&&(await Lc(a),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&l&&((s=self.Module).locateFile=l.locateFile,l.mainScriptUrlOrBlob&&(s.mainScriptUrlOrBlob=l.mainScriptUrlOrBlob)),l=await self.ModuleFactory(self.Module||l),self.ModuleFactory=self.Module=void 0,new n(l,c)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:n=>n.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&n.endsWith(".data")?r.assetBinaryPath.toString():n}),await e.o(i),e}function Cs(e,t){const r=V(e.baseOptions,qi,1)||new qi;typeof t=="string"?($(r,2,Jr(t)),$(r,1)):t instanceof Uint8Array&&($(r,1,Cn(t,!1)),$(r,2)),N(e.baseOptions,0,1,r)}function Oc(e){try{const t=e.H.length;if(t===1)throw Error(e.H[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.H.map(r=>r.message).join(", "))}finally{e.H=[]}}function x(e,t){e.C=Math.max(e.C,t)}function Qi(e,t){e.B=new Ce,Me(e.B,2,"PassThroughCalculator"),Q(e.B,"free_memory"),B(e.B,"free_memory_unused_out"),te(t,"free_memory"),We(t,e.B)}function Sr(e,t){Q(e.B,t),B(e.B,t+"_unused_out")}function Ji(e){e.g.addBoolToStream(!0,"free_memory",e.C)}var Ns=class{constructor(e){this.g=e,this.H=[],this.C=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){var r,i,n,s,a,c;if(t){const l=e.baseOptions||{};if((r=e.baseOptions)!=null&&r.modelAssetBuffer&&((i=e.baseOptions)!=null&&i.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((n=V(this.baseOptions,qi,1))!=null&&n.g()||(s=V(this.baseOptions,qi,1))!=null&&s.l()||(a=e.baseOptions)!=null&&a.modelAssetBuffer||(c=e.baseOptions)!=null&&c.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(h,u){let f=V(h.baseOptions,ic,3);if(!f){var w=f=new ic,g=new Ga;Rr(w,4,Hi,g)}"delegate"in u&&(u.delegate==="GPU"?(u=f,w=new fu,Rr(u,2,Hi,w)):(u=f,w=new Ga,Rr(u,4,Hi,w))),N(h.baseOptions,0,3,f)}(this,l),l.modelAssetPath)return fetch(l.modelAssetPath.toString()).then(h=>{if(h.ok)return h.arrayBuffer();throw Error(`Failed to fetch model: ${l.modelAssetPath} (${h.status})`)}).then(h=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(h),!0,!1,!1),Cs(this,"/model.dat"),this.m(),this.L()});if(l.modelAssetBuffer instanceof Uint8Array)Cs(this,l.modelAssetBuffer);else if(l.modelAssetBuffer)return async function(h){const u=[];for(var f=0;;){const{done:w,value:g}=await h.read();if(w)break;u.push(g),f+=g.length}if(u.length===0)return new Uint8Array(0);if(u.length===1)return u[0];h=new Uint8Array(f),f=0;for(const w of u)h.set(w,f),f+=w.length;return h}(l.modelAssetBuffer).then(h=>{Cs(this,h),this.m(),this.L()})}return this.m(),this.L(),Promise.resolve()}L(){}ca(){let e;if(this.g.ca(t=>{e=wu(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.H.push(Error(i))}),this.g.Ja(),this.g.setGraph(e,t),this.B=void 0,Oc(this)}finishProcessing(){this.g.finishProcessing(),Oc(this)}close(){this.B=void 0,this.g.closeGraph()}};function Ft(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Ns.prototype.close=Ns.prototype.close;class zu{constructor(t,r,i,n){this.g=t,this.h=r,this.m=i,this.l=n}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function Bc(e,t,r){const i=e.g;if(r=Ft(i.createShader(r),"Failed to create WebGL shader"),i.shaderSource(r,t),i.compileShader(r),!i.getShaderParameter(r,i.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${i.getShaderInfoLog(r)}`);return i.attachShader(e.h,r),r}function Uc(e,t){const r=e.g,i=Ft(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(i);const n=Ft(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,n),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);const s=Ft(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,s),r.enableVertexAttribArray(e.L),r.vertexAttribPointer(e.L,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new zu(r,i,n,s)}function Is(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function $u(e,t,r,i){return Is(e,t),e.h||(e.m(),e.D()),r?(e.u||(e.u=Uc(e,!0)),r=e.u):(e.A||(e.A=Uc(e,!1)),r=e.A),t.useProgram(e.h),r.bind(),e.l(),e=i(),r.g.bindVertexArray(null),e}function Vc(e,t,r){return Is(e,t),e=Ft(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function Gc(e,t,r){Is(e,t),e.B||(e.B=Ft(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.B),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function Wu(e){var t;(t=e.g)==null||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var jc=class{H(){return`
1
+ (function(be,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom"],o):(be=typeof globalThis<"u"?globalThis:be||self,o(be.InterviewWidget={},be.jsxRuntime,be.React,be.ReactDOM))})(this,function(be,o,d,Sl){"use strict";var d2=Object.defineProperty;var u2=(be,o,d)=>o in be?d2(be,o,{enumerable:!0,configurable:!0,writable:!0,value:d}):be[o]=d;var ye=(be,o,d)=>u2(be,typeof o!="symbol"?o+"":o,d);var un=typeof document<"u"?document.currentScript:null;const hn={},tt={api:{baseUrl:"/api",retryConfig:{attempts:3,backoff:"exponential",baseDelay:1e3}},ui:{baseColor:"#3B82F6",borderRadius:"8px"},interview:{allow_answer_editing:!0,capture_screenshots:!1,timers:{thinkingDuration:30,answeringDuration:120,editingDuration:30},stt:{provider:"groq",model:"whisper-large-v3-turbo",language:"en"},tts:{provider:"piper"},proctoring:{enabled:!0,gazeAnalysisEnabled:!0}}},fn="iw-storage";function Al(){if(!(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:un&&un.tagName.toUpperCase()==="SCRIPT"&&un.src||new URL("widget.umd.js",document.baseURI).href}<"u"&&(hn!=null&&hn.VITE_IW_SECRET)))return typeof process<"u"&&process.env.NEXT_PUBLIC_IW_SECRET?process.env.NEXT_PUBLIC_IW_SECRET:typeof window<"u"&&window.__IW_SECRET__?window.__IW_SECRET__:"proctoring-data-seed"}const Xs=Al(),wi=30,Tl={SCREENSHOT:"screenshot"},wn="AES-GCM",gn=12;async function Qs(e){const r=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",r);return crypto.subtle.importKey("raw",i,wn,!1,["encrypt","decrypt"])}function Cl(){return crypto.getRandomValues(new Uint8Array(gn))}async function Nl(e,t="default-seed"){try{const r=typeof e=="string"?e:JSON.stringify(e),n=new TextEncoder().encode(r),s=await Qs(t),a=Cl(),c=await crypto.subtle.encrypt({name:wn,iv:a},s,n),l=new Uint8Array(a.length+c.byteLength);return l.set(new Uint8Array(a),0),l.set(new Uint8Array(c),a.length),btoa(String.fromCharCode(...Array.from(l)))}catch(r){throw console.error("Encryption failed:",r),new Error("Failed to encrypt data")}}async function Il(e,t="default-seed"){try{const r=atob(e),i=new Uint8Array(r.length);for(let h=0;h<r.length;h++)i[h]=r.charCodeAt(h);const n=i.slice(0,gn),s=i.slice(gn),a=await Qs(t),c=await crypto.subtle.decrypt({name:wn,iv:n},a,s);return new TextDecoder().decode(c)}catch(r){throw console.error("Decryption failed:",r),new Error("Failed to decrypt data")}}async function Fl(e,t="default-seed"){return Nl(e,t)}async function Ll(e,t="default-seed"){const r=await Il(e,t);try{return JSON.parse(r)}catch{return r}}const Br=d.createContext(null),Ml=async()=>{try{const e=sessionStorage.getItem(fn);if(e){const r=(await Ll(e,Xs)).state;return{logViolations:(r==null?void 0:r.logViolations)||[],totalViolations:(r==null?void 0:r.totalViolations)||0,gazeViolationCounters:(r==null?void 0:r.gazeViolationCounters)||{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:(r==null?void 0:r.referenceSet)??!1,referenceRef:(r==null?void 0:r.referenceRef)??{x:.5,y:.5,noseX:.5,noseY:.5}}}}catch(e){console.error("Failed to load proctoring data from session storage:",e)}return{logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}},Ur=async e=>{try{const t=await Fl({state:e,version:0},Xs);sessionStorage.setItem(fn,t)}catch(t){console.error("Failed to save proctoring data to session storage:",t)}},Dl=({children:e})=>{const t=d.useRef({logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}),r=d.useRef(new Set);d.useEffect(()=>{Ml().then(w=>{t.current=w,i()})},[]);const i=d.useCallback(()=>{r.current.forEach(w=>w())},[]),n=d.useCallback(w=>(r.current.add(w),()=>{r.current.delete(w)}),[]),s=d.useCallback(()=>t.current,[]),a=d.useCallback(w=>{t.current={...t.current,logViolations:[...t.current.logViolations,w],totalViolations:t.current.totalViolations+1},Ur(t.current),i()},[i]),c=d.useCallback(w=>{const g={...t.current.gazeViolationCounters};w==="looking_away"&&(g.lookingAwayCount+=1),w==="no_face_detected"&&(g.noFaceDetectedCount+=1),w==="multiple_faces"&&(g.multipleFacesCount+=1),g.totalGazeViolations=g.lookingAwayCount+g.noFaceDetectedCount+g.multipleFacesCount,t.current={...t.current,gazeViolationCounters:g},Ur(t.current),i()},[i]),l=d.useCallback(()=>{t.current={...t.current,logViolations:[],totalViolations:0},Ur(t.current),i()},[i]),h=d.useCallback(()=>{t.current={...t.current,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0}},Ur(t.current),i()},[i]),u=d.useCallback((w,g)=>{t.current={...t.current,referenceSet:w,referenceRef:g},Ur(t.current),i()},[i]),f=d.useMemo(()=>({getState:s,addViolation:a,clearViolations:l,subscribe:n,incrementGazeViolation:c,clearGazeViolationCounters:h,setReferenceData:u}),[s,a,l,n,c,h,u]);return o.jsx(Br.Provider,{value:f,children:e})},Js=()=>{const e=d.useContext(Br);if(!e)throw new Error("useProctoringStore must be used within a ProctoringProvider");const t=d.useSyncExternalStore(e.subscribe,e.getState,e.getState);return{logViolations:t.logViolations,totalViolations:t.totalViolations,addViolation:e.addViolation,clearViolations:e.clearViolations,gazeViolationCounters:t.gazeViolationCounters,referenceSet:t.referenceSet,referenceRef:t.referenceRef,incrementGazeViolation:e.incrementGazeViolation,clearGazeViolationCounters:e.clearGazeViolationCounters,setReferenceData:e.setReferenceData}},Pl=()=>{const e=d.useContext(Br);if(!e)throw new Error("useViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().logViolations,()=>e.getState().logViolations)},Ol=()=>{const e=d.useContext(Br);if(!e)throw new Error("useTotalViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().totalViolations,()=>e.getState().totalViolations)},Bl=()=>{const e=d.useContext(Br);if(!e)throw new Error("useProctoringActions must be used within a ProctoringProvider");return{addViolation:e.addViolation,clearViolations:e.clearViolations}},Zs=d.createContext(null);function Rs({config:e={},children:t}){var i,n,s,a;const r={api:{...tt.api,...e.api,retryConfig:{...tt.api.retryConfig,...(i=e.api)==null?void 0:i.retryConfig}},ui:{...tt.ui,...e.ui},interview:{...tt.interview,...e.interview,timers:{...tt.interview.timers,...(n=e.interview)==null?void 0:n.timers},stt:{...tt.interview.stt,...(s=e.interview)==null?void 0:s.stt},tts:{...tt.interview.tts,...(a=e.interview)==null?void 0:a.tts}}};return o.jsx(Zs.Provider,{value:r,children:o.jsx(Dl,{children:t})})}function gi(){const e=d.useContext(Zs);if(!e)throw new Error("useInterviewConfig must be used within an InterviewWidgetProvider. Wrap your component tree with <InterviewWidgetProvider config={...}>");return e}function eo(){return gi().api||tt.api}function Rt(){return gi().ui||tt.ui}function pn(){return gi().interview||tt.interview}function Ul(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function Vl(e,t,r){return"#"+[e,t,r].map(i=>{const n=Math.round(i).toString(16);return n.length===1?"0"+n:n}).join("")}function Gl(e,t){const r=Ul(e);if(!r)return e;const i=r.r+(255-r.r)*t,n=r.g+(255-r.g)*t,s=r.b+(255-r.b)*t;return Vl(i,n,s)}function jl(e){return new Promise(t=>setTimeout(t,e))}function zl(e){return`linear-gradient(to left, ${Gl(e,.4)}, ${e})`}const $l=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);function Wl(e){try{const t=e.split(".");if(t.length!==3||!t[1])throw new Error("Invalid JWT token");const i=t[1].replace(/-/g,"+").replace(/_/g,"/"),n=i.padEnd(i.length+(4-i.length%4)%4,"="),s=atob(n);return JSON.parse(s)}catch(t){return console.error("Error decoding JWT:",t),null}}const Hl=e=>{var t;return!e||typeof e!="string"?"":(t=e.charAt(0))==null?void 0:t.toUpperCase()},mn=(e,t)=>{const r=Math.max(0,Math.floor(e));if(t&&r<60)return`${r}`;const i=Math.floor(r/60).toString().padStart(2,"0"),n=(r%60).toString().padStart(2,"0");return`${i}:${n}`},yn=({brandLogo:e,brandName:t,className:r="",showFallbackStyles:i=!0})=>{const{baseColor:n}=Rt();return e?o.jsx("div",{className:r,children:e}):o.jsx("div",{className:i?`iw-h-7 iw-w-7 iw-rounded-md iw-flex iw-items-center iw-justify-center iw-text-white iw-font-semibold ${r}`:r,style:i?{backgroundColor:n}:{},children:Hl(t)})},ql=e=>{const t=d.useRef(null),r=d.useRef(null),[i,n]=d.useState(!1),[s,a]=d.useState(!1),[c,l]=d.useState(null),[h,u]=d.useState([]),[f,w]=d.useState([]),[g,p]=d.useState(""),[y,b]=d.useState(""),[m,v]=d.useState(!1),A=d.useCallback(()=>{r.current&&(r.current.getTracks().forEach(F=>F.stop()),r.current=null,l(null))},[]),T=d.useCallback(async()=>{var F,L,j,Y;try{const q=await navigator.mediaDevices.enumerateDevices(),re=q.filter(O=>O.kind==="audioinput"),$=q.filter(O=>O.kind==="videoinput");if(u(re),w($),!g&&re.length>0){const O=(F=r.current)==null?void 0:F.getAudioTracks()[0],de=O==null?void 0:O.getSettings().deviceId;p(de||((L=re[0])==null?void 0:L.deviceId)||"")}if(!y&&$.length>0){const O=(j=r.current)==null?void 0:j.getVideoTracks()[0],de=O==null?void 0:O.getSettings().deviceId;b(de||((Y=$[0])==null?void 0:Y.deviceId)||"")}}catch(q){console.error("Error enumerating devices:",q)}},[g,y]),C=d.useCallback(async(F,L)=>{const j={width:{ideal:1280},height:{ideal:720},...L?{deviceId:{exact:L}}:{facingMode:"user"}},Y={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:{ideal:48e3},channelCount:{ideal:1},...F?{deviceId:{exact:F}}:{}};let q=null;try{q=await navigator.mediaDevices.getUserMedia({video:j,audio:Y}),n(!0),a(!0)}catch(re){console.warn("Combined media request failed, trying individual.",re);try{const $=await navigator.mediaDevices.getUserMedia({audio:Y});n(!0),q=$}catch($){console.error("Audio permission denied",$),n(!1)}try{const $=await navigator.mediaDevices.getUserMedia({video:j});a(!0),q?$.getTracks().forEach(O=>q.addTrack(O)):q=$}catch($){console.error("Video permission denied",$),a(!1)}}q?(r.current=q,l(q),t.current&&(t.current.srcObject=q,await t.current.play().catch(re=>console.error("Error playing video element",re)))):(r.current=null,l(null)),await T()},[T]),k=async F=>{F!==g&&(v(!0),p(F),A(),await C(F,y),v(!1))},D=async F=>{F!==y&&(v(!0),b(F),A(),await C(g,F),v(!1))};return d.useEffect(()=>{if(!e){A();return}return C(),()=>A()},[e]),{videoRef:t,audioAllowed:i,videoAllowed:s,audioDevices:h,videoDevices:f,selectedAudioDeviceId:g,selectedVideoDeviceId:y,isDeviceLoading:m,currentStream:c,handleAudioChange:k,handleVideoChange:D,stopStream:A}},pi=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),o.jsx("path",{d:"M12 9v4"}),o.jsx("path",{d:"M12 17h.01"})]}),Kl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-bolt-icon prefix__lucide-bolt",...e,children:[o.jsx("path",{d:"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"}),o.jsx("circle",{cx:12,cy:12,r:4})]}),Yl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-camera-off-icon prefix__lucide-camera-off",...e,children:[o.jsx("path",{d:"M14.564 14.558a3 3 0 11-4.122-4.121M2 2l20 20"}),o.jsx("path",{d:"M20 20H4a2 2 0 01-2-2V9a2 2 0 012-2h1.997a2 2 0 00.819-.175M9.695 4.024A2 2 0 0110.004 4h3.993a2 2 0 011.76 1.05l.486.9A2 2 0 0018.003 7H20a2 2 0 012 2v7.344"})]}),mi=e=>o.jsx("svg",{width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M0.75 5.5C0.75 5.5 2.35 6.4125 3.15 7.75C3.15 7.75 5.55 2.5 8.75 0.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Xl=({className:e})=>o.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:o.jsx("path",{d:"M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),to=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M12 2a10 10 0 0 1 7.38 16.75"}),o.jsx("path",{d:"M12 6v6l4 2"}),o.jsx("path",{d:"M2.5 8.875a10 10 0 0 0-.5 3"}),o.jsx("path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4"}),o.jsx("path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857"}),o.jsx("path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38"})]}),yi=e=>o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",...e,children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),Ql=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),o.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Jl=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.66797 2H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 2V3.35359C3.66797 4.18151 4.05252 4.96247 4.70874 5.46726L8.0013 8L11.2938 5.46726C11.9501 4.96247 12.3346 4.18151 12.3346 3.35359V2",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 14V12.6464C3.66797 11.8185 4.05252 11.0375 4.70874 10.5327L8.0013 8L11.2938 10.5327C11.9501 11.0375 12.3346 11.8185 12.3346 12.6464V14",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M2.66797 14H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"})]}),ro=({className:e,...t})=>o.jsx("div",{children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`iw-animate-spin ${e}`,...t,children:[o.jsx("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o.jsx("path",{d:"M12 6l0 -3"}),o.jsx("path",{d:"M16.25 7.75l2.15 -2.15"}),o.jsx("path",{d:"M18 12l3 0"}),o.jsx("path",{d:"M16.25 16.25l2.15 2.15"}),o.jsx("path",{d:"M12 18l0 3"}),o.jsx("path",{d:"M7.75 16.25l-2.15 2.15"}),o.jsx("path",{d:"M6 12l-3 0"}),o.jsx("path",{d:"M7.75 7.75l-2.15 -2.15"})]})}),Zl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M17 7V11C17 13.7614 14.7614 16 12 16C9.23858 16 7 13.7614 7 11V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M20 11C20 15.4183 16.4183 19 12 19M12 19C7.58172 19 4 15.4183 4 11M12 19V22M12 22H15M12 22H9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),io=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-target-icon prefix__lucide-target",...e,children:[o.jsx("circle",{cx:12,cy:12,r:10}),o.jsx("circle",{cx:12,cy:12,r:6}),o.jsx("circle",{cx:12,cy:12,r:2})]}),Rl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-users-icon prefix__lucide-users",...e,children:[o.jsx("path",{d:"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M16 3.128a4 4 0 010 7.744M22 21v-2a4 4 0 00-3-3.87"}),o.jsx("circle",{cx:9,cy:7,r:4})]}),ed=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M11 8H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M2 11C2 7.70017 2 6.05025 3.02513 5.02513C4.05025 4 5.70017 4 9 4H10C13.2998 4 14.9497 4 15.9749 5.02513C17 6.05025 17 7.70017 17 11V13C17 16.2998 17 17.9497 15.9749 18.9749C14.9497 20 13.2998 20 10 20H9C5.70017 20 4.05025 20 3.02513 18.9749C2 17.9497 2 16.2998 2 13V11Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M17 8.90585L17.1259 8.80196C19.2417 7.05623 20.2996 6.18336 21.1498 6.60482C22 7.02628 22 8.42355 22 11.2181V12.7819C22 15.5765 22 16.9737 21.1498 17.3952C20.2996 17.8166 19.2417 16.9438 17.1259 15.198L17 15.0941",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),td=e=>o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.16651 8.63991V5.35747C8.16651 3.52277 8.16651 2.60542 7.62675 2.37712C7.08699 2.14882 6.45168 2.79749 5.18119 4.09482C4.52323 4.76666 4.14784 4.91543 3.2117 4.91543C2.39301 4.91543 1.98366 4.91543 1.68961 5.11606C1.07921 5.53252 1.17148 6.34653 1.17148 6.9987C1.17148 7.65086 1.07921 8.46485 1.68961 8.88135C1.98366 9.08196 2.39301 9.08196 3.2117 9.08196C4.14784 9.08196 4.52323 9.23076 5.18119 9.90259C6.45168 11.1999 7.08699 11.8486 7.62675 11.6203C8.16651 11.392 8.16651 10.4746 8.16651 8.63991Z",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M9.9165 5.25C10.2813 5.72815 10.4998 6.33698 10.4998 7C10.4998 7.66302 10.2813 8.27184 9.9165 8.75",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M11.6665 4.08203C12.3961 4.87894 12.8332 5.89369 12.8332 6.9987C12.8332 8.10371 12.3961 9.11847 11.6665 9.91536",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"})]}),Te={FACE_DETECTED:"face_detected",NO_FACE:"no_face_detected",MULTIPLE_FACES:"multiple_faces",LOOKING_AWAY:"looking_away",CAMERA_ERROR:"camera_error",MODEL_LOADING:"model_loading"},no={[Te.FACE_DETECTED]:{icon:Ql,iconColor:"iw-text-green-600",iconBg:"iw-bg-green-50",iconBorder:"iw-border-green-100",title:"All Good",subtitle:"Everything looks normal",description:"Your gaze is properly focused on the screen. Continue with your interview.",buttonText:"Continue"},[Te.NO_FACE]:{icon:Yl,iconColor:"iw-text-orange-600",iconBg:"iw-bg-orange-50",iconBorder:"iw-border-orange-100",title:"Face Not Detected",subtitle:"We can't see you in the camera",description:"Please ensure you're positioned properly in front of the camera and that your face is clearly visible.",buttonText:"I Understood"},[Te.MULTIPLE_FACES]:{icon:Rl,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Multiple People Detected",subtitle:"More than one person is visible on the screen.",buttonText:"I Understood"},[Te.LOOKING_AWAY]:{icon:io,iconColor:"iw-text-amber-600",iconBg:"iw-bg-amber-50",iconBorder:"iw-border-amber-200/75",title:"Focus Alert",subtitle:"You looked away from the screen. Maintain focus to continue.",buttonText:"I Understood"},[Te.CAMERA_ERROR]:{icon:pi,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Camera Issue",subtitle:"There's a problem with your camera",description:"Please check your camera connection and permissions, contact support if the problem continues.",buttonText:"I Understood"},[Te.MODEL_LOADING]:{icon:io,iconColor:"iw-text-blue-600",iconBg:"iw-bg-blue-50",iconBorder:"iw-border-blue-100",title:"Initializing Model",subtitle:"Please wait while we set up the AI",description:"The face detection model is being loaded. This should only take a moment.",buttonText:"Wait"}},rd=({gazeAnalysisEnabled:e,isModelLoaded:t,stats:r,statusMessage:i,loadingProgress:n})=>o.jsx("div",{className:"iw-w-full",children:o.jsxs("div",{className:"iw-border-strock iw-rounded-md iw-border iw-bg-gray-50 iw-p-4",children:[o.jsxs("h3",{className:"iw-m-0 iw-mb-2.5",children:["Status: ",i]}),n>0&&n<100&&o.jsxs("div",{className:"iw-mb-2.5",children:[o.jsx("div",{className:"iw-h-2 iw-w-full iw-rounded iw-bg-gray-300",children:o.jsx("div",{className:"iw-h-full iw-rounded iw-bg-blue-600 iw-transition-all iw-duration-300 iw-ease-out",style:{width:`${n}%`}})}),o.jsxs("small",{className:"iw-text-gray-600",children:["Loading model... ",n.toFixed(1),"%"]})]}),o.jsxs("div",{className:"iw-grid iw-grid-cols-2 iw-gap-2.5 iw-text-sm",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"FPS:"})," ",o.jsx("span",{className:r.fps<15?"iw-text-red-600":r.fps<25?"iw-text-orange-500":"iw-text-green-600",children:r.fps})]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Model:"})," ",t?"✓ Loaded":"✗ Loading"]}),e&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Engagement:"})," ",r.engagement.toFixed(1),"%"]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Looking:"})," ",o.jsx("span",{className:r.isLookingAway?"iw-text-red-600":"iw-text-green-600",children:r.isLookingAway?"Away":"At Screen"})]})]})]}),r.referenceFaceNotDetected&&o.jsxs("div",{className:"iw-text-gray-dark iw-mt-2.5 iw-w-full iw-rounded-md iw-bg-[#ffeb3b] iw-p-2.5 iw-text-sm",children:[o.jsx("strong",{children:"Reference Face Not Detected"}),o.jsx("br",{}),"The previously set reference face is no longer in view."]}),r.multipleFacesDetected&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-red-50 iw-p-2.5 iw-text-sm iw-text-red-700",children:[o.jsx("strong",{children:"Multiple Faces Detected"}),o.jsx("br",{}),"Please ensure only one person is in the frame."]}),!e&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-blue-50 iw-p-2.5 iw-text-sm iw-text-blue-700",children:[o.jsx("strong",{children:"Gaze Analysis Disabled"}),o.jsx("br",{}),"Enable to track engagement and attention levels."]})]})}),id=({showControls:e,isBubbleOpen:t,setIsBubbleOpen:r,setReference:i,clearCache:n,isModelLoaded:s,gazeAnalysisEnabled:a,referenceSet:c,showLandmarks:l,setShowLandmarks:h,showEngagementBar:u,setShowEngagementBar:f,handleToggleGazeAnalysis:w,stats:g,statusMessage:p,loadingProgress:y})=>e?o.jsxs(o.Fragment,{children:[o.jsx("button",{onClick:()=>r(!t),className:"iw-absolute iw-right-4 iw-bottom-4 iw-z-10 iw-flex iw-h-10 iw-w-10 iw-items-center iw-justify-center iw-rounded-full iw-text-white",children:o.jsx(Kl,{className:"iw-size-4.5"})}),t&&o.jsxs("div",{className:"iw-absolute iw-right-4 iw-bottom-16 iw-z-10 iw-max-h-96 iw-w-80 iw-overflow-y-auto iw-rounded-md iw-bg-gray-50 iw-p-4 iw-shadow-lg",children:[o.jsx("h4",{className:"m-0 mb-2.5",children:"Controls"}),o.jsx("button",{onClick:i,disabled:!s||!a,className:`iw-mb-2.5 iw-block iw-w-full iw-rounded border-none iw-px-4 iw-py-2 iw-text-sm iw-text-white ${!s||!a?"iw-cursor-not-allowed iw-bg-gray-400":"iw-cursor-pointer iw-bg-blue-600 hover:iw-bg-blue-700"}`,children:c?"Reference Set ✓":"Set Reference"}),o.jsx("button",{onClick:n,className:"iw-mb-4 iw-block iw-w-full iw-cursor-pointer iw-rounded iw-border-none iw-bg-red-600 iw-px-4 iw-py-2 iw-text-sm iw-text-white hover:iw-bg-red-700",children:"Clear Model Cache"}),o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-2.5",children:[o.jsxs("label",{className:"iw-flex iw-cursor-pointer iw-items-center iw-gap-2",children:[o.jsx("input",{type:"checkbox",checked:a,onChange:b=>w(b.target.checked)}),o.jsx("strong",{children:"Enable Gaze Analysis"})]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:l,onChange:b=>h(b.target.checked),disabled:!a}),"Show Landmarks"]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:u,onChange:b=>f(b.target.checked),disabled:!a}),"Show Engagement Bar"]})]}),c&&o.jsx(rd,{gazeAnalysisEnabled:a,isModelLoaded:s,loadingProgress:y,stats:g,statusMessage:p})]})]}):null;var er=typeof self<"u"?self:{};function Vr(e,t){e:{for(var r=["CLOSURE_FLAGS"],i=er,n=0;n<r.length;n++)if((i=i[r[n]])==null){r=null;break e}r=i}return(e=r&&r[e])!=null?e:t}function Pt(){throw Error("Invalid UTF8")}function so(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}let bi,bn;const nd=typeof TextDecoder<"u";let sd;const od=typeof TextEncoder<"u";function oo(e){if(od)e=(sd||(sd=new TextEncoder)).encode(e);else{let r=0;const i=new Uint8Array(3*e.length);for(let n=0;n<e.length;n++){var t=e.charCodeAt(n);if(t<128)i[r++]=t;else{if(t<2048)i[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&n<e.length){const s=e.charCodeAt(++n);if(s>=56320&&s<=57343){t=1024*(t-55296)+s-56320+65536,i[r++]=t>>18|240,i[r++]=t>>12&63|128,i[r++]=t>>6&63|128,i[r++]=63&t|128;continue}n--}t=65533}i[r++]=t>>12|224,i[r++]=t>>6&63|128}i[r++]=63&t|128}}e=r===i.length?i:i.subarray(0,r)}return e}function ao(e){er.setTimeout(()=>{throw e},0)}var vn,ad=Vr(610401301,!1),co=Vr(748402147,!0),xn=Vr(824648567,!0),En=Vr(824656860,Vr(1,!0));function lo(){var e=er.navigator;return e&&(e=e.userAgent)?e:""}const uo=er.navigator;function vi(e){return vi[" "](e),e}vn=uo&&uo.userAgentData||null,vi[" "]=function(){};const ho={};let Gr=null;function cd(e){const t=e.length;let r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);const i=new Uint8Array(r);let n=0;return function(s,a){function c(h){for(;l<s.length;){const u=s.charAt(l++),f=Gr[u];if(f!=null)return f;if(!/^[\s\xa0]*$/.test(u))throw Error("Unknown base64 encoding at char: "+u)}return h}fo();let l=0;for(;;){const h=c(-1),u=c(0),f=c(64),w=c(64);if(w===64&&h===-1)break;a(h<<2|u>>4),f!=64&&(a(u<<4&240|f>>2),w!=64&&a(f<<6&192|w))}}(e,function(s){i[n++]=s}),n!==r?i.subarray(0,n):i}function fo(){if(!Gr){Gr={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){const i=e.concat(t[r].split(""));ho[r]=i;for(let n=0;n<i.length;n++){const s=i[n];Gr[s]===void 0&&(Gr[s]=n)}}}}var ld=typeof Uint8Array<"u",wo=!(!(ad&&vn&&vn.brands.length>0)&&(lo().indexOf("Trident")!=-1||lo().indexOf("MSIE")!=-1))&&typeof btoa=="function";const go=/[-_.]/g,dd={"-":"+",_:"/",".":"="};function ud(e){return dd[e]||""}function po(e){if(!wo)return cd(e);e=go.test(e)?e.replace(go,ud):e,e=atob(e);const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function _n(e){return ld&&e!=null&&e instanceof Uint8Array}var tr={};function Ot(){return hd||(hd=new rt(null,tr))}function kn(e){mo(tr);var t=e.g;return(t=t==null||_n(t)?t:typeof t=="string"?po(t):null)==null?t:e.g=t}var rt=class{h(){return new Uint8Array(kn(this)||0)}constructor(e,t){if(mo(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}};let hd,fd;function mo(e){if(e!==tr)throw Error("illegal external caller")}function yo(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Sn(e){return yo(e=Error(e),"warning"),e}function rr(e,t){if(e!=null){var r=fd??(fd={}),i=r[e]||0;i>=t||(r[e]=i+1,yo(e=Error(),"incident"),ao(e))}}function ir(){return typeof BigInt=="function"}var nr=typeof Symbol=="function"&&typeof Symbol()=="symbol";function it(e,t,r=!1){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?r&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t}var wd=it("jas",void 0,!0),bo=it(void 0,"0di"),jr=it(void 0,"1oa"),Fe=it(void 0,Symbol()),gd=it(void 0,"0ub"),pd=it(void 0,"0ubs"),An=it(void 0,"0ubsb"),md=it(void 0,"0actk"),sr=it("m_m","Pa",!0),vo=it();const xo={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},Eo=Object.defineProperties,E=nr?wd:"Ga";var Bt;const _o=[];function zr(e,t){nr||E in e||Eo(e,xo),e[E]|=t}function ue(e,t){nr||E in e||Eo(e,xo),e[E]=t}function $r(e){return zr(e,34),e}function Wr(e){return zr(e,8192),e}ue(_o,7),Bt=Object.freeze(_o);var or={};function Le(e,t){return t===void 0?e.h!==Ut&&!!(2&(0|e.v[E])):!!(2&t)&&e.h!==Ut}const Ut={};function Tn(e,t){if(e!=null){if(typeof e=="string")e=e?new rt(e,tr):Ot();else if(e.constructor!==rt)if(_n(e))e=e.length?new rt(new Uint8Array(e),tr):Ot();else{if(!t)throw Error();e=void 0}}return e}class ko{constructor(t,r,i){this.g=t,this.h=r,this.l=i}next(){const t=this.g.next();return t.done||(t.value=this.h.call(this.l,t.value)),t}[Symbol.iterator](){return this}}var yd=Object.freeze({});function So(e,t,r){const i=128&t?0:-1,n=e.length;var s;(s=!!n)&&(s=(s=e[n-1])!=null&&typeof s=="object"&&s.constructor===Object);const a=n+(s?-1:0);for(t=128&t?1:0;t<a;t++)r(t-i,e[t]);if(s){e=e[n-1];for(const c in e)!isNaN(c)&&r(+c,e[c])}}var Ao={};function ar(e){return 128&e?Ao:void 0}function xi(e){return e.Na=!0,e}var bd=xi(e=>typeof e=="number"),To=xi(e=>typeof e=="string"),vd=xi(e=>typeof e=="boolean"),Ei=typeof er.BigInt=="function"&&typeof er.BigInt(0)=="bigint";function Me(e){var t=e;if(To(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(bd(t)&&!Number.isSafeInteger(t))throw Error(String(t));return Ei?BigInt(e):e=vd(e)?e?"1":"0":To(e)?e.trim()||"0":String(e)}var Cn=xi(e=>Ei?e>=Ed&&e<=kd:e[0]==="-"?Co(e,xd):Co(e,_d));const xd=Number.MIN_SAFE_INTEGER.toString(),Ed=Ei?BigInt(Number.MIN_SAFE_INTEGER):void 0,_d=Number.MAX_SAFE_INTEGER.toString(),kd=Ei?BigInt(Number.MAX_SAFE_INTEGER):void 0;function Co(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){const i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}const Sd=typeof Uint8Array.prototype.slice=="function";let Ad,Z=0,ae=0;function No(e){const t=e>>>0;Z=t,ae=(e-t)/4294967296>>>0}function cr(e){if(e<0){No(-e);const[t,r]=Mn(Z,ae);Z=t>>>0,ae=r>>>0}else No(e)}function Nn(e){const t=Ad||(Ad=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),ae=0,Z=t.getUint32(0,!0)}function In(e,t){const r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Hr(e,t)}function Td(e,t){return Me(ir()?BigInt.asUintN(64,(BigInt(t>>>0)<<BigInt(32))+BigInt(e>>>0)):Hr(e,t))}function Fn(e,t){const r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=In(e,t))=="number"?r?-e:e:r?"-"+e:e}function Io(e,t){return ir()?Me(BigInt.asIntN(64,(BigInt.asUintN(32,BigInt(t))<<BigInt(32))+BigInt.asUintN(32,BigInt(e)))):Me(Ln(e,t))}function Hr(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else ir()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Fo(r)+Fo(e));return r}function Fo(e){return e=String(e),"0000000".slice(e.length)+e}function Ln(e,t){if(2147483648&t)if(ir())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{const[r,i]=Mn(e,t);e="-"+Hr(r,i)}else e=Hr(e,t);return e}function _i(e){if(e.length<16)cr(Number(e));else if(ir())e=BigInt(e),Z=Number(e&BigInt(4294967295))>>>0,ae=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+(e[0]==="-");ae=Z=0;const r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){const s=Number(e.slice(i,n));ae*=1e6,Z=1e6*Z+s,Z>=4294967296&&(ae+=Math.trunc(Z/4294967296),ae>>>=0,Z>>>=0)}if(t){const[i,n]=Mn(Z,ae);Z=i,ae=n}}}function Mn(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Je(e){return Array.prototype.slice.call(e)}const qr=typeof BigInt=="function"?BigInt.asIntN:void 0,Cd=typeof BigInt=="function"?BigInt.asUintN:void 0,Vt=Number.isSafeInteger,ki=Number.isFinite,lr=Math.trunc,Nd=Me(0);function Kr(e){if(e!=null&&typeof e!="number")throw Error(`Value of float/double field must be a number, found ${typeof e}: ${e}`);return e}function nt(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function Yr(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}function Lo(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}const Id=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Xr(e){switch(typeof e){case"bigint":return!0;case"number":return ki(e);case"string":return Id.test(e);default:return!1}}function dr(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return ki(e)?0|e:void 0}function Mo(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return ki(e)?e>>>0:void 0}function Do(e){const t=e.length;return(e[0]==="-"?t<20||t===20&&e<="-9223372036854775808":t<19||t===19&&e<="9223372036854775807")?e:(_i(e),Ln(Z,ae))}function Dn(e){return e=lr(e),Vt(e)||(cr(e),e=Fn(Z,ae)),e}function Po(e){var t=lr(Number(e));return Vt(t)?String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),Do(e))}function Oo(e){var t=lr(Number(e));return Vt(t)?Me(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),ir()?Me(qr(64,BigInt(e))):Me(Do(e)))}function Bo(e){return Vt(e)?e=Me(Dn(e)):(e=lr(e),Vt(e)?e=String(e):(cr(e),e=Ln(Z,ae)),e=Me(e)),e}function Fd(e){return e==null?e:typeof e=="bigint"?(Cn(e)?e=Number(e):(e=qr(64,e),e=Cn(e)?Number(e):String(e)),e):Xr(e)?typeof e=="number"?Dn(e):Po(e):void 0}function Si(e){const t=typeof e;return e==null?e:t==="bigint"?Me(qr(64,e)):Xr(e)?t==="string"?Oo(e):Bo(e):void 0}function Uo(e){if(typeof e!="string")throw Error();return e}function Qr(e){if(e!=null&&typeof e!="string")throw Error();return e}function ve(e){return e==null||typeof e=="string"?e:void 0}function Pn(e,t,r,i){return e!=null&&e[sr]===or?e:Array.isArray(e)?((i=(r=0|e[E])|32&i|2&i)!==r&&ue(e,i),new t(e)):(r?2&i?((e=t[bo])||($r((e=new t).v),e=t[bo]=e),t=e):t=new t:t=void 0,t)}function Ld(e,t,r){if(t)e:{if(!Xr(t=e))throw Sn("int64");switch(typeof t){case"string":t=Oo(t);break e;case"bigint":t=Me(qr(64,t));break e;default:t=Bo(t)}}else t=Si(e);return(e=t)==null?r?Nd:void 0:e}const Md={};let Dd=function(){try{return vi(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class On{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}}const Pd=Dd?(Object.setPrototypeOf(On.prototype,Map.prototype),Object.defineProperties(On.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),On):class extends Map{constructor(){super()}};function Vo(e){return e}function Bn(e){if(2&e.J)throw Error("Cannot mutate an immutable Map")}var wt=class extends Pd{constructor(e,t,r=Vo,i=Vo){super(),this.J=0|e[E],this.K=t,this.S=r,this.fa=this.K?Od:i;for(let n=0;n<e.length;n++){const s=e[n],a=r(s[0],!1,!0);let c=s[1];t?c===void 0&&(c=null):c=i(s[1],!1,!0,void 0,void 0,this.J),super.set(a,c)}}V(e){return Wr(Array.from(super.entries(),e))}clear(){Bn(this),super.clear()}delete(e){return Bn(this),super.delete(this.S(e,!0,!1))}entries(){if(this.K){var e=super.keys();e=new ko(e,Bd,this)}else e=super.entries();return e}values(){if(this.K){var e=super.keys();e=new ko(e,wt.prototype.get,this)}else e=super.values();return e}forEach(e,t){this.K?super.forEach((r,i,n)=>{e.call(t,n.get(i),i,n)}):super.forEach(e,t)}set(e,t){return Bn(this),(e=this.S(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.fa(t,!0,!0,this.K,!1,this.J))}Ma(e){const t=this.S(e[0],!1,!0);e=e[1],e=this.K?e===void 0?null:e:this.fa(e,!1,!0,void 0,!1,this.J),super.set(t,e)}has(e){return super.has(this.S(e,!1,!1))}get(e){e=this.S(e,!1,!1);const t=super.get(e);if(t!==void 0){var r=this.K;return r?((r=this.fa(t,!1,!0,r,this.ra,this.J))!==t&&super.set(e,r),r):t}}[Symbol.iterator](){return this.entries()}};function Od(e,t,r,i,n,s){return e=Pn(e,i,r,s),n&&(e=Gn(e)),e}function Bd(e){return[e,this.get(e)]}let Ud;function Go(){return Ud||(Ud=new wt($r([]),void 0,void 0,void 0,Md))}function Ai(e){return Fe?e[Fe]:void 0}function Ti(e,t){for(const r in e)!isNaN(r)&&t(e,+r,e[r])}wt.prototype.toJSON=void 0;var Un=class{};const Vd={Ka:!0};function Gd(e,t){t<100||rr(pd,1)}function Ci(e,t,r,i){const n=i!==void 0;i=!!i;var s,a=Fe;!n&&nr&&a&&(s=e[a])&&Ti(s,Gd),a=[];var c=e.length;let l;s=4294967295;let h=!1;const u=!!(64&t),f=u?128&t?0:-1:void 0;1&t||(l=c&&e[c-1],l!=null&&typeof l=="object"&&l.constructor===Object?s=--c:l=void 0,!u||128&t||n||(h=!0,s=s-f+f)),t=void 0;for(var w=0;w<c;w++){let g=e[w];if(g!=null&&(g=r(g,i))!=null)if(u&&w>=s){const p=w-f;(t??(t={}))[p]=g}else a[w]=g}if(l)for(let g in l){if((c=l[g])==null||(c=r(c,i))==null)continue;let p;w=+g,u&&!Number.isNaN(w)&&(p=w+f)<s?a[p]=c:(t??(t={}))[g]=c}return t&&(h?a.push(t):a[s]=t),n&&Fe&&(e=Ai(e))&&e instanceof Un&&(a[Fe]=function(g){const p=new Un;return Ti(g,(y,b,m)=>{p[b]=Je(m)}),p.da=g.da,p}(e)),a}function jd(e){return e[0]=Jr(e[0]),e[1]=Jr(e[1]),e}function Jr(e){switch(typeof e){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return Cn(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(Array.isArray(e)){var t=0|e[E];return e.length===0&&1&t?void 0:Ci(e,t,Jr)}if(e!=null&&e[sr]===or)return jo(e);if(e instanceof rt){if((t=e.g)==null)e="";else if(typeof t=="string")e=t;else{if(wo){for(var r="",i=0,n=t.length-10240;i<n;)r+=String.fromCharCode.apply(null,t.subarray(i,i+=10240));r+=String.fromCharCode.apply(null,i?t.subarray(i):t),t=btoa(r)}else{r===void 0&&(r=0),fo(),r=ho[r],i=Array(Math.floor(t.length/3)),n=r[64]||"";let h=0,u=0;for(;h<t.length-2;h+=3){var s=t[h],a=t[h+1],c=t[h+2],l=r[s>>2];s=r[(3&s)<<4|a>>4],a=r[(15&a)<<2|c>>6],c=r[63&c],i[u++]=l+s+a+c}switch(l=0,c=n,t.length-h){case 2:c=r[(15&(l=t[h+1]))<<2]||n;case 1:t=t[h],i[u]=r[t>>2]+r[(3&t)<<4|l>>4]+c+n}t=i.join("")}e=e.g=t}return e}return e instanceof wt?e=e.size!==0?e.V(jd):void 0:void 0}return e}function jo(e){return Ci(e=e.v,0|e[E],Jr)}let zd,$d;function Gt(e,t){return zo(e,t[0],t[1])}function zo(e,t,r,i=0){if(e==null){var n=32;r?(e=[r],n|=128):e=[],t&&(n=-16760833&n|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(n=0|e[E],co&&1&n)throw Error("rfarr");if(2048&n&&!(2&n)&&function(){if(co)throw Error("carr");rr(md,5)}(),256&n)throw Error("farr");if(64&n)return(n|i)!==n&&ue(e,n|i),e;if(r&&(n|=128,r!==e[0]))throw Error("mid");e:{n|=64;var s=(r=e).length;if(s){var a=s-1;const l=r[a];if(l!=null&&typeof l=="object"&&l.constructor===Object){if((a-=t=128&n?0:-1)>=1024)throw Error("pvtlmt");for(var c in l)(s=+c)<a&&(r[s+t]=l[c],delete l[c]);n=-16760833&n|(1023&a)<<14;break e}}if(t){if((c=Math.max(t,s-(128&n?0:-1)))>1024)throw Error("spvt");n=-16760833&n|(1023&c)<<14}}}return ue(e,64|n|i),e}function Wd(e,t){if(typeof e!="object")return e;if(Array.isArray(e)){var r=0|e[E];return e.length===0&&1&r?void 0:$o(e,r,t)}if(e!=null&&e[sr]===or)return Wo(e);if(e instanceof wt){if(2&(t=e.J))return e;if(!e.size)return;if(r=$r(e.V()),e.K)for(e=0;e<r.length;e++){const i=r[e];let n=i[1];n=n==null||typeof n!="object"?void 0:n!=null&&n[sr]===or?Wo(n):Array.isArray(n)?$o(n,0|n[E],!!(32&t)):void 0,i[1]=n}return r}return e instanceof rt?e:void 0}function $o(e,t,r){return 2&t||(!r||4096&t||16&t?e=ur(e,t,!1,r&&!(16&t)):(zr(e,34),4&t&&Object.freeze(e))),e}function Vn(e,t,r){return e=new e.constructor(t),r&&(e.h=Ut),e.m=Ut,e}function Wo(e){const t=e.v,r=0|t[E];return Le(e,r)?e:jn(e,t,r)?Vn(e,t):ur(t,r)}function ur(e,t,r,i){return i??(i=!!(34&t)),e=Ci(e,t,Wd,i),i=32,r&&(i|=2),ue(e,t=16769217&t|i),e}function Gn(e){const t=e.v,r=0|t[E];return Le(e,r)?jn(e,t,r)?Vn(e,t,!0):new e.constructor(ur(t,r,!1)):e}function hr(e){if(e.h!==Ut)return!1;var t=e.v;return zr(t=ur(t,0|t[E]),2048),e.v=t,e.h=void 0,e.m=void 0,!0}function fr(e){if(!hr(e)&&Le(e,0|e.v[E]))throw Error()}function jt(e,t){t===void 0&&(t=0|e[E]),32&t&&!(4096&t)&&ue(e,4096|t)}function jn(e,t,r){return!!(2&r)||!(!(32&r)||4096&r)&&(ue(t,2|r),e.h=Ut,!0)}const Hd=Me(0),vt={};function X(e,t,r,i,n){if((t=gt(e.v,t,r,n))!==null||i&&e.m!==Ut)return t}function gt(e,t,r,i){if(t===-1)return null;const n=t+(r?0:-1),s=e.length-1;let a,c;if(!(s<1+(r?0:-1))){if(n>=s)if(a=e[s],a!=null&&typeof a=="object"&&a.constructor===Object)r=a[t],c=!0;else{if(n!==s)return;r=a}else r=e[n];if(i&&r!=null){if((i=i(r))==null)return i;if(!Object.is(i,r))return c?a[t]=i:e[n]=i,i}return r}}function W(e,t,r,i){fr(e),he(e=e.v,0|e[E],t,r,i)}function he(e,t,r,i,n){const s=r+(n?0:-1);var a=e.length-1;if(a>=1+(n?0:-1)&&s>=a){const c=e[a];if(c!=null&&typeof c=="object"&&c.constructor===Object)return c[r]=i,t}return s<=a?(e[s]=i,t):(i!==void 0&&(r>=(a=(t??(t=0|e[E]))>>14&1023||536870912)?i!=null&&(e[a+(n?0:-1)]={[r]:i}):e[s]=i),t)}function zt(){return yd===void 0?2:4}function $t(e,t,r,i,n){let s=e.v,a=0|s[E];i=Le(e,a)?1:i,n=!!n||i===3,i===2&&hr(e)&&(s=e.v,a=0|s[E]);let c=(e=zn(s,t))===Bt?7:0|e[E],l=$n(c,a);var h=!(4&l);if(h){4&l&&(e=Je(e),c=0,l=Ht(l,a),a=he(s,a,t,e));let u=0,f=0;for(;u<e.length;u++){const w=r(e[u]);w!=null&&(e[f++]=w)}f<u&&(e.length=f),r=-513&(4|l),l=r&=-1025,l&=-4097}return l!==c&&(ue(e,l),2&l&&Object.freeze(e)),Ho(e,l,s,a,t,i,h,n)}function Ho(e,t,r,i,n,s,a,c){let l=t;return s===1||s===4&&(2&t||!(16&t)&&32&i)?Wt(t)||((t|=!e.length||a&&!(4096&t)||32&i&&!(4096&t||16&t)?2:256)!==l&&ue(e,t),Object.freeze(e)):(s===2&&Wt(t)&&(e=Je(e),l=0,t=Ht(t,i),i=he(r,i,n,e)),Wt(t)||(c||(t|=16),t!==l&&ue(e,t))),2&t||!(4096&t||16&t)||jt(r,i),e}function zn(e,t,r){return e=gt(e,t,r),Array.isArray(e)?e:Bt}function $n(e,t){return 2&t&&(e|=2),1|e}function Wt(e){return!!(2&e)&&!!(4&e)||!!(256&e)}function qo(e){return Tn(e,!0)}function Ko(e){e=Je(e);for(let t=0;t<e.length;t++){const r=e[t]=Je(e[t]);Array.isArray(r[1])&&(r[1]=$r(r[1]))}return Wr(e)}function xt(e,t,r,i){fr(e),he(e=e.v,0|e[E],t,(i==="0"?Number(r)===0:r===i)?void 0:r)}function wr(e,t,r){if(2&t)throw Error();const i=ar(t);let n=zn(e,r,i),s=n===Bt?7:0|n[E],a=$n(s,t);return(2&a||Wt(a)||16&a)&&(a===s||Wt(a)||ue(n,a),n=Je(n),s=0,a=Ht(a,t),he(e,t,r,n,i)),a&=-13,a!==s&&ue(n,a),n}function Wn(e,t){var r=Ra;return qn(Hn(e=e.v),e,void 0,r)===t?t:-1}function Hn(e){if(nr)return e[jr]??(e[jr]=new Map);if(jr in e)return e[jr];const t=new Map;return Object.defineProperty(e,jr,{value:t}),t}function Yo(e,t,r,i,n){const s=Hn(e),a=qn(s,e,t,r,n);return a!==i&&(a&&(t=he(e,t,a,void 0,n)),s.set(r,i)),t}function qn(e,t,r,i,n){let s=e.get(i);if(s!=null)return s;s=0;for(let a=0;a<i.length;a++){const c=i[a];gt(t,c,n)!=null&&(s!==0&&(r=he(t,r,s,void 0,n)),s=c)}return e.set(i,s),s}function Kn(e,t,r){let i=0|e[E];const n=ar(i),s=gt(e,r,n);let a;if(s!=null&&s[sr]===or){if(!Le(s))return hr(s),s.v;a=s.v}else Array.isArray(s)&&(a=s);if(a){const c=0|a[E];2&c&&(a=ur(a,c))}return a=Gt(a,t),a!==s&&he(e,i,r,a,n),a}function Xo(e,t,r,i,n){let s=!1;if((i=gt(e,i,n,a=>{const c=Pn(a,r,!1,t);return s=c!==a&&c!=null,c}))!=null)return s&&!Le(i)&&jt(e,t),i}function G(e,t,r,i){let n=e.v,s=0|n[E];if((t=Xo(n,s,t,r,i))==null)return t;if(s=0|n[E],!Le(e,s)){const a=Gn(t);a!==t&&(hr(e)&&(n=e.v,s=0|n[E]),s=he(n,s,r,t=a,i),jt(n,s))}return t}function Qo(e,t,r,i,n,s,a,c){var l=Le(e,r);s=l?1:s,a=!!a||s===3,l=c&&!l,(s===2||l)&&hr(e)&&(r=0|(t=e.v)[E]);var h=(e=zn(t,n))===Bt?7:0|e[E],u=$n(h,r);if(c=!(4&u)){var f=e,w=r;const g=!!(2&u);g&&(w|=2);let p=!g,y=!0,b=0,m=0;for(;b<f.length;b++){const v=Pn(f[b],i,!1,w);if(v instanceof i){if(!g){const A=Le(v);p&&(p=!A),y&&(y=A)}f[m++]=v}}m<b&&(f.length=m),u|=4,u=y?-4097&u:4096|u,u=p?8|u:-9&u}if(u!==h&&(ue(e,u),2&u&&Object.freeze(e)),l&&!(8&u||!e.length&&(s===1||s===4&&(2&u||!(16&u)&&32&r)))){for(Wt(u)&&(e=Je(e),u=Ht(u,r),r=he(t,r,n,e)),i=e,l=u,h=0;h<i.length;h++)(f=i[h])!==(u=Gn(f))&&(i[h]=u);l|=8,ue(e,u=l=i.length?4096|l:-4097&l)}return Ho(e,u,t,r,n,s,c,a)}function pt(e,t,r){const i=e.v;return Qo(e,i,0|i[E],t,r,zt(),!1,!0)}function Jo(e){return e==null&&(e=void 0),e}function I(e,t,r,i,n){return W(e,r,i=Jo(i),n),i&&!Le(i)&&jt(e.v),e}function Zr(e,t,r,i){e:{var n=i=Jo(i);fr(e);const s=e.v;let a=0|s[E];if(n==null){const c=Hn(s);if(qn(c,s,a,r)!==t)break e;c.set(r,0)}else a=Yo(s,a,r,t);he(s,a,t,n)}i&&!Le(i)&&jt(e.v)}function Ht(e,t){return-273&(2&t?2|e:-3&e)}function Yn(e,t,r,i){var n=i;fr(e),e=Qo(e,i=e.v,0|i[E],r,t,2,!0),n=n??new r,e.push(n),t=r=e===Bt?7:0|e[E],(n=Le(n))?(r&=-9,e.length===1&&(r&=-4097)):r|=4096,r!==t&&ue(e,r),n||jt(i)}function We(e,t,r){return dr(X(e,t,void 0,r))}function Zo(e){return(En?X(e,2,void 0,void 0,Si):Si(X(e,2)))??Hd}function ne(e,t){return X(e,t,void 0,void 0,nt)??0}function mt(e,t,r){if(r!=null){if(typeof r!="number"||!ki(r))throw Sn("int32");r|=0}W(e,t,r)}function N(e,t,r){W(e,t,Kr(r))}function De(e,t,r){xt(e,t,Qr(r),"")}function Ni(e,t,r){{fr(e);const a=e.v;let c=0|a[E];if(r==null)he(a,c,t);else{var i=e=r===Bt?7:0|r[E],n=Wt(e),s=n||Object.isFrozen(r);for(n||(e=0),s||(r=Je(r),i=0,e=Ht(e,c),s=!1),e|=5,e|=(4&e?512&e?512:1024&e?1024:0:void 0)??(En?1024:0),n=0;n<r.length;n++){const l=r[n],h=Uo(l);Object.is(l,h)||(s&&(r=Je(r),i=0,e=Ht(e,c),s=!1),r[n]=h)}e!==i&&(s&&(r=Je(r),e=Ht(e,c)),ue(r,e)),he(a,c,t,r)}}}function Ii(e,t,r){fr(e),$t(e,t,ve,2,!0).push(Uo(r))}var gr=class{constructor(e,t,r){if(this.buffer=e,r&&!t)throw Error();this.g=t}};function Xn(e,t){if(typeof e=="string")return new gr(po(e),t);if(Array.isArray(e))return new gr(new Uint8Array(e),t);if(e.constructor===Uint8Array)return new gr(e,!1);if(e.constructor===ArrayBuffer)return e=new Uint8Array(e),new gr(e,!1);if(e.constructor===rt)return t=kn(e)||new Uint8Array(0),new gr(t,!0,e);if(e instanceof Uint8Array)return e=e.constructor===Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new gr(e,!1);throw Error()}function pr(e,t){let r,i=0,n=0,s=0;const a=e.h;let c=e.g;do r=a[c++],i|=(127&r)<<s,s+=7;while(s<32&&128&r);if(s>32)for(n|=(127&r)>>4,s=3;s<32&&128&r;s+=7)r=a[c++],n|=(127&r)<<s;if(qt(e,c),!(128&r))return t(i>>>0,n>>>0);throw Error()}function Qn(e){let t=0,r=e.g;const i=r+10,n=e.h;for(;r<i;){const s=n[r++];if(t|=s,(128&s)==0)return qt(e,r),!!(127&t)}throw Error()}function Et(e){const t=e.h;let r=e.g,i=t[r++],n=127&i;if(128&i&&(i=t[r++],n|=(127&i)<<7,128&i&&(i=t[r++],n|=(127&i)<<14,128&i&&(i=t[r++],n|=(127&i)<<21,128&i&&(i=t[r++],n|=i<<28,128&i&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw Error();return qt(e,r),n}function yt(e){return Et(e)>>>0}function Fi(e){var t=e.h;const r=e.g;var i=t[r],n=t[r+1];const s=t[r+2];return t=t[r+3],qt(e,e.g+4),e=2*((n=(i<<0|n<<8|s<<16|t<<24)>>>0)>>31)+1,i=n>>>23&255,n&=8388607,i==255?n?NaN:e*(1/0):i==0?1401298464324817e-60*e*n:e*Math.pow(2,i-150)*(n+8388608)}function qd(e){return Et(e)}function qt(e,t){if(e.g=t,t>e.l)throw Error()}function Ro(e,t){if(t<0)throw Error();const r=e.g;if((t=r+t)>e.l)throw Error();return e.g=t,r}function ea(e,t){if(t==0)return Ot();var r=Ro(e,t);return e.Y&&e.j?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):Sd?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Ot():new rt(r,tr)}var ta=[];function ra(e,t,r,i){if(Di.length){const n=Di.pop();return n.o(i),n.g.init(e,t,r,i),n}return new Kd(e,t,r,i)}function ia(e){e.g.clear(),e.l=-1,e.h=-1,Di.length<100&&Di.push(e)}function na(e){var t=e.g;if(t.g==t.l)return!1;e.m=e.g.g;var r=yt(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5)||t<1)throw Error();return e.l=t,e.h=r,!0}function Li(e){switch(e.h){case 0:e.h!=0?Li(e):Qn(e.g);break;case 1:qt(e=e.g,e.g+8);break;case 2:if(e.h!=2)Li(e);else{var t=yt(e.g);qt(e=e.g,e.g+t)}break;case 5:qt(e=e.g,e.g+4);break;case 3:for(t=e.l;;){if(!na(e))throw Error();if(e.h==4){if(e.l!=t)throw Error();break}Li(e)}break;default:throw Error()}}function Rr(e,t,r){const i=e.g.l;var n=yt(e.g);let s=(n=e.g.g+n)-i;if(s<=0&&(e.g.l=n,r(t,e,void 0,void 0,void 0),s=n-e.g.g),s)throw Error();return e.g.g=n,e.g.l=i,t}function Jn(e){var t=yt(e.g),r=Ro(e=e.g,t);if(e=e.h,nd){var i,n=e;(i=bn)||(i=bn=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var s=i.decode(n)}catch(c){if(bi===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),bi=!0}catch{bi=!1}}throw!bi&&(bn=void 0),c}}else{t=(s=r)+t,r=[];let c,l=null;for(;s<t;){var a=e[s++];a<128?r.push(a):a<224?s>=t?Pt():(c=e[s++],a<194||(192&c)!=128?(s--,Pt()):r.push((31&a)<<6|63&c)):a<240?s>=t-1?Pt():(c=e[s++],(192&c)!=128||a===224&&c<160||a===237&&c>=160||(192&(i=e[s++]))!=128?(s--,Pt()):r.push((15&a)<<12|(63&c)<<6|63&i)):a<=244?s>=t-2?Pt():(c=e[s++],(192&c)!=128||c-144+(a<<28)>>30||(192&(i=e[s++]))!=128||(192&(n=e[s++]))!=128?(s--,Pt()):(a=(7&a)<<18|(63&c)<<12|(63&i)<<6|63&n,a-=65536,r.push(55296+(a>>10&1023),56320+(1023&a)))):Pt(),r.length>=8192&&(l=so(l,r),r.length=0)}s=so(l,r)}return s}function sa(e){const t=yt(e.g);return ea(e.g,t)}function Mi(e,t,r){var i=yt(e.g);for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var Kd=class{constructor(e,t,r,i){if(ta.length){const n=ta.pop();n.init(e,t,r,i),e=n}else e=new class{constructor(n,s,a,c){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.init(n,s,a,c)}init(n,s,a,{Y:c=!1,ea:l=!1}={}){this.Y=c,this.ea=l,n&&(n=Xn(n,this.ea),this.h=n.buffer,this.j=n.g,this.m=s||0,this.l=a!==void 0?this.m+a:this.h.length,this.g=this.m)}clear(){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.Y=!1}}(e,t,r,i);this.g=e,this.m=this.g.g,this.h=this.l=-1,this.o(i)}o({ha:e=!1}={}){this.ha=e}},Di=[];function oa(e){return e?/^\d+$/.test(e)?(_i(e),new Zn(Z,ae)):null:Yd||(Yd=new Zn(0,0))}var Zn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Yd;function aa(e){return e?/^-?\d+$/.test(e)?(_i(e),new Rn(Z,ae)):null:Xd||(Xd=new Rn(0,0))}var Rn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Xd;function mr(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function yr(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Pi(e,t){if(t>=0)yr(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function es(e){var t=Z;e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function br(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function He(e,t,r){yr(e.g,8*t+r)}function ts(e,t){return He(e,t,2),t=e.g.end(),br(e,t),t.push(e.h),t}function rs(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function Oi(e,t,r){He(e,t,2),yr(e.g,r.length),br(e,e.g.end()),br(e,r)}function Bi(e,t,r,i){r!=null&&(t=ts(e,t),i(r,e),rs(e,t))}function st(){const e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var is=st(),ca=st(),ns=st(),ss=st(),la=st(),da=st(),Qd=st(),Ui=st(),ua=st(),ha=st();function ot(e,t,r){var i=e.v;Fe&&Fe in i&&(i=i[Fe])&&delete i[t.g],t.h?t.j(e,t.h,t.g,r,t.l):t.j(e,t.g,r,t.l)}var _=class{constructor(e,t){this.v=zo(e,t,void 0,2048)}toJSON(){return jo(this)}j(){var n;var e=Lu,t=this.v,r=e.g,i=Fe;if(nr&&i&&((n=t[i])==null?void 0:n[r])!=null&&rr(gd,3),t=e.g,vo&&Fe&&vo===void 0&&(i=(r=this.v)[Fe])&&(i=i.da))try{i(r,t,Vd)}catch(s){ao(s)}return e.h?e.m(this,e.h,e.g,e.l):e.m(this,e.g,e.defaultValue,e.l)}clone(){const e=this.v,t=0|e[E];return jn(this,e,t)?Vn(this,e,!0):new this.constructor(ur(e,t,!1))}};_.prototype[sr]=or,_.prototype.toString=function(){return this.v.toString()};var vr=class{constructor(e,t,r){this.g=e,this.h=t,e=is,this.l=!!e&&r===e||!1}};function Vi(e,t){return new vr(e,t,is)}function fa(e,t,r,i,n){Bi(e,r,ba(t,i),n)}const Jd=Vi(function(e,t,r,i,n){return e.h===2&&(Rr(e,Kn(t,i,r),n),!0)},fa),Zd=Vi(function(e,t,r,i,n){return e.h===2&&(Rr(e,Kn(t,i,r),n),!0)},fa);var Gi=Symbol(),ji=Symbol(),os=Symbol(),wa=Symbol(),ga=Symbol();let pa,ma;function Kt(e,t,r,i){var n=i[e];if(n)return n;(n={}).qa=i,n.T=function(f){switch(typeof f){case"boolean":return zd||(zd=[0,void 0,!0]);case"number":return f>0?void 0:f===0?$d||($d=[0,void 0]):[-f,void 0];case"string":return[0,f];case"object":return f}}(i[0]);var s=i[1];let a=1;s&&s.constructor===Object&&(n.ba=s,typeof(s=i[++a])=="function"&&(n.ma=!0,pa??(pa=s),ma??(ma=i[a+1]),s=i[a+=2]));const c={};for(;s&&Array.isArray(s)&&s.length&&typeof s[0]=="number"&&s[0]>0;){for(var l=0;l<s.length;l++)c[s[l]]=s;s=i[++a]}for(l=1;s!==void 0;){let f;typeof s=="number"&&(l+=s,s=i[++a]);var h=void 0;if(s instanceof vr?f=s:(f=Jd,a--),f==null?void 0:f.l){s=i[++a],h=i;var u=a;typeof s=="function"&&(s=s(),h[u]=s),h=s}for(u=l+1,typeof(s=i[++a])=="number"&&s<0&&(u-=s,s=i[++a]);l<u;l++){const w=c[l];h?r(n,l,f,h,w):t(n,l,f,w)}}return i[e]=n}function ya(e){return Array.isArray(e)?e[0]instanceof vr?e:[Zd,e]:[e,void 0]}function ba(e,t){return e instanceof _?e.v:Array.isArray(e)?Gt(e,t):void 0}function as(e,t,r,i){const n=r.g;e[t]=i?(s,a,c)=>n(s,a,c,i):n}function cs(e,t,r,i,n){const s=r.g;let a,c;e[t]=(l,h,u)=>s(l,h,u,c||(c=Kt(ji,as,cs,i).T),a||(a=ls(i)),n)}function ls(e){let t=e[os];if(t!=null)return t;const r=Kt(ji,as,cs,e);return t=r.ma?(i,n)=>pa(i,n,r):(i,n)=>{for(;na(n)&&n.h!=4;){var s=n.l,a=r[s];if(a==null){var c=r.ba;c&&(c=c[s])&&(c=eu(c))!=null&&(a=r[s]=c)}if(a==null||!a(n,i,s)){if(a=(c=n).m,Li(c),c.ha)var l=void 0;else l=c.g.g-a,c.g.g=a,l=ea(c.g,l);a=void 0,c=i,l&&((a=c[Fe]??(c[Fe]=new Un))[s]??(a[s]=[])).push(l)}}return(i=Ai(i))&&(i.da=r.qa[ga]),!0},e[os]=t,e[ga]=Rd.bind(e),t}function Rd(e,t,r,i){var n=this[ji];const s=this[os],a=Gt(void 0,n.T),c=Ai(e);if(c){var l=!1,h=n.ba;if(h){if(n=(u,f,w)=>{if(w.length!==0)if(h[f])for(const g of w){u=ra(g);try{l=!0,s(a,u)}finally{ia(u)}}else i==null||i(e,f,w)},t==null)Ti(c,n);else if(c!=null){const u=c[t];u&&n(c,t,u)}if(l){let u=0|e[E];if(2&u&&2048&u&&!(r!=null&&r.Ka))throw Error();const f=ar(u),w=(g,p)=>{if(gt(e,g,f)!=null){if((r==null?void 0:r.Qa)===1)return;throw Error()}p!=null&&(u=he(e,u,g,p,f)),delete c[g]};t==null?So(a,0|a[E],(g,p)=>{w(g,p)}):w(t,gt(a,t,f))}}}}function eu(e){const t=(e=ya(e))[0].g;if(e=e[1]){const r=ls(e),i=Kt(ji,as,cs,e).T;return(n,s,a)=>t(n,s,a,i,r)}return t}function zi(e,t,r){e[t]=r.h}function $i(e,t,r,i){let n,s;const a=r.h;e[t]=(c,l,h)=>a(c,l,h,s||(s=Kt(Gi,zi,$i,i).T),n||(n=va(i)))}function va(e){let t=e[wa];if(!t){const r=Kt(Gi,zi,$i,e);t=(i,n)=>xa(i,n,r),e[wa]=t}return t}function xa(e,t,r){So(e,0|e[E],(i,n)=>{if(n!=null){var s=function(a,c){var l=a[c];if(l)return l;if((l=a.ba)&&(l=l[c])){var h=(l=ya(l))[0].h;if(l=l[1]){const u=va(l),f=Kt(Gi,zi,$i,l).T;l=a.ma?ma(f,u):(w,g,p)=>h(w,g,p,f,u)}else l=h;return a[c]=l}}(r,i);s?s(t,n,i):i<500||rr(An,3)}}),(e=Ai(e))&&Ti(e,(i,n,s)=>{for(br(t,t.g.end()),i=0;i<s.length;i++)br(t,kn(s[i])||new Uint8Array(0))})}const tu=Me(0);function xr(e,t){if(Array.isArray(t)){var r=0|t[E];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){const s=e(t[i]);s!=null&&(t[n++]=s)}return n<i&&(t.length=n),(e=-1537&(5|r))!==r&&ue(t,e),2&e&&Object.freeze(t),t}}function ke(e,t,r){return new vr(e,t,r)}function Er(e,t,r){return new vr(e,t,r)}function we(e,t,r){he(e,0|e[E],t,r,ar(0|e[E]))}var ru=Vi(function(e,t,r,i,n){if(e.h!==2)return!1;if(e=Je(e=Rr(e,Gt([void 0,void 0],i),n)),n=ar(i=0|t[E]),2&i)throw Error();let s=gt(t,r,n);if(s instanceof wt)2&s.J?(s=s.V(),s.push(e),he(t,i,r,s,n)):s.Ma(e);else if(Array.isArray(s)){var a=0|s[E];8192&a||ue(s,a|=8192),2&a&&(s=Ko(s),he(t,i,r,s,n)),s.push(e)}else he(t,i,r,Wr([e]),n);return!0},function(e,t,r,i,n){if(t instanceof wt)t.forEach((s,a)=>{Bi(e,r,Gt([a,s],i),n)});else if(Array.isArray(t)){for(let s=0;s<t.length;s++){const a=t[s];Array.isArray(a)&&Bi(e,r,Gt(a,i),n)}Wr(t)}});function Ea(e,t,r){(t=nt(t))!=null&&(He(e,r,5),e=e.g,Nn(t),es(e))}function _a(e,t,r){if(t=function(i){if(i==null)return i;const n=typeof i;if(n==="bigint")return String(qr(64,i));if(Xr(i)){if(n==="string")return Po(i);if(n==="number")return Dn(i)}}(t),t!=null&&(typeof t=="string"&&aa(t),t!=null))switch(He(e,r,0),typeof t){case"number":e=e.g,cr(t),mr(e,Z,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new Rn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),mr(e.g,r.h,r.g);break;default:r=aa(t),mr(e.g,r.h,r.g)}}function ka(e,t,r){(t=dr(t))!=null&&t!=null&&(He(e,r,0),Pi(e.g,t))}function Sa(e,t,r){(t=Lo(t))!=null&&(He(e,r,0),e.g.g.push(t?1:0))}function Aa(e,t,r){(t=ve(t))!=null&&Oi(e,r,oo(t))}function Ta(e,t,r,i,n){Bi(e,r,ba(t,i),n)}function Ca(e,t,r){(t=t==null||typeof t=="string"||t instanceof rt?t:void 0)!=null&&Oi(e,r,Xn(t,!0).buffer)}function Na(e,t,r){return(e.h===5||e.h===2)&&(t=wr(t,0|t[E],r),e.h==2?Mi(e,Fi,t):t.push(Fi(e.g)),!0)}var ce=ke(function(e,t,r){return e.h===5&&(we(t,r,Fi(e.g)),!0)},Ea,Ui),iu=Er(Na,function(e,t,r){if((t=xr(nt,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(He(i,n,5),i=i.g,Nn(s),es(i))}},Ui),ds=Er(Na,function(e,t,r){if((t=xr(nt,t))!=null&&t.length){He(e,r,2),yr(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,Nn(t[i]),es(r)}},Ui),nu=ke(function(e,t,r){return e.h===5&&(we(t,r,(e=Fi(e.g))===0?void 0:e),!0)},Ea,Ui),_t=ke(function(e,t,r){return xn?(e.h!==0?e=!1:(we(t,r,pr(e.g,Io)),e=!0),e):e.h===0&&(we(t,r,pr(e.g,Fn)),!0)},_a,da),us=ke(function(e,t,r){return xn?(e.h!==0?t=!1:(we(t,r,(e=pr(e.g,Io))===tu?void 0:e),t=!0),t):e.h===0&&(we(t,r,(e=pr(e.g,Fn))===0?void 0:e),!0)},_a,da),su=ke(function(e,t,r){return xn?(e.h!==0?e=!1:(we(t,r,pr(e.g,Td)),e=!0),e):e.h===0&&(we(t,r,pr(e.g,In)),!0)},function(e,t,r){if(t=function(i){if(i==null)return i;var n=typeof i;if(n==="bigint")return String(Cd(64,i));if(Xr(i)){if(n==="string")return n=lr(Number(i)),Vt(n)&&n>=0?i=String(n):((n=i.indexOf("."))!==-1&&(i=i.substring(0,n)),(n=i[0]!=="-"&&((n=i.length)<20||n===20&&i<="18446744073709551615"))||(_i(i),i=Hr(Z,ae))),i;if(n==="number")return(i=lr(i))>=0&&Vt(i)||(cr(i),i=In(Z,ae)),i}}(t),t!=null&&(typeof t=="string"&&oa(t),t!=null))switch(He(e,r,0),typeof t){case"number":e=e.g,cr(t),mr(e,Z,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new Zn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),mr(e.g,r.h,r.g);break;default:r=oa(t),mr(e.g,r.h,r.g)}},Qd),ge=ke(function(e,t,r){return e.h===0&&(we(t,r,Et(e.g)),!0)},ka,ss),ei=Er(function(e,t,r){return(e.h===0||e.h===2)&&(t=wr(t,0|t[E],r),e.h==2?Mi(e,Et,t):t.push(Et(e.g)),!0)},function(e,t,r){if((t=xr(dr,t))!=null&&t.length){r=ts(e,r);for(let i=0;i<t.length;i++)Pi(e.g,t[i]);rs(e,r)}},ss),_r=ke(function(e,t,r){return e.h===0&&(we(t,r,(e=Et(e.g))===0?void 0:e),!0)},ka,ss),se=ke(function(e,t,r){return e.h===0&&(we(t,r,Qn(e.g)),!0)},Sa,ca),Yt=ke(function(e,t,r){return e.h===0&&(we(t,r,(e=Qn(e.g))===!1?void 0:e),!0)},Sa,ca),xe=Er(function(e,t,r){return e.h===2&&(e=Jn(e),wr(t,0|t[E],r).push(e),!0)},function(e,t,r){if((t=xr(ve,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&Oi(i,n,oo(s))}},ns),kt=ke(function(e,t,r){return e.h===2&&(we(t,r,(e=Jn(e))===""?void 0:e),!0)},Aa,ns),K=ke(function(e,t,r){return e.h===2&&(we(t,r,Jn(e)),!0)},Aa,ns),pe=function(e,t,r=is){return new vr(e,t,r)}(function(e,t,r,i,n){return e.h===2&&(i=Gt(void 0,i),wr(t,0|t[E],r).push(i),Rr(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t)){for(let s=0;s<t.length;s++)Ta(e,t[s],r,i,n);1&(e=0|t[E])||ue(t,1|e)}}),oe=Vi(function(e,t,r,i,n,s){if(e.h!==2)return!1;let a=0|t[E];return Yo(t,a,s,r,ar(a)),Rr(e,t=Kn(t,i,r),n),!0},Ta),Ia=ke(function(e,t,r){return e.h===2&&(we(t,r,sa(e)),!0)},Ca,ua),ou=Er(function(e,t,r){return(e.h===0||e.h===2)&&(t=wr(t,0|t[E],r),e.h==2?Mi(e,yt,t):t.push(yt(e.g)),!0)},function(e,t,r){if((t=xr(Mo,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(He(i,n,0),yr(i.g,s))}},la),au=ke(function(e,t,r){return e.h===0&&(we(t,r,(e=yt(e.g))===0?void 0:e),!0)},function(e,t,r){(t=Mo(t))!=null&&t!=null&&(He(e,r,0),yr(e.g,t))},la),Pe=ke(function(e,t,r){return e.h===0&&(we(t,r,Et(e.g)),!0)},function(e,t,r){(t=dr(t))!=null&&(t=parseInt(t,10),He(e,r,0),Pi(e.g,t))},ha);class cu{constructor(t,r){var i=Oe;this.g=t,this.h=r,this.m=G,this.j=I,this.defaultValue=void 0,this.l=i.Oa!=null?Ao:void 0}register(){vi(this)}}function at(e,t){return new cu(e,t)}function St(e,t){return(r,i)=>{{const s={ea:!0};i&&Object.assign(s,i),r=ra(r,void 0,void 0,s);try{const a=new e,c=a.v;ls(t)(c,r);var n=a}finally{ia(r)}}return n}}function Wi(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const a=this.g;return this.g=[],a}}}};xa(this.v,t,Kt(Gi,zi,$i,e)),br(t,t.g.end());const r=new Uint8Array(t.h),i=t.l,n=i.length;let s=0;for(let a=0;a<n;a++){const c=i[a];r.set(c,s),s+=c.length}return t.l=[r],r}}var Fa=class extends _{constructor(e){super(e)}},La=[0,kt,ke(function(e,t,r){return e.h===2&&(we(t,r,(e=sa(e))===Ot()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof _){const i=t.Ra;return void(i?(t=i(t),t!=null&&Oi(e,r,Xn(t,!0).buffer)):rr(An,3))}if(Array.isArray(t))return void rr(An,3)}Ca(e,t,r)},ua)];let hs,Ma=globalThis.trustedTypes;function Da(e){var t;return hs===void 0&&(hs=function(){let r=null;if(!Ma)return r;try{const i=n=>n;r=Ma.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}()),e=(t=hs)?t.createScriptURL(e):e,new class{constructor(r){this.g=r}toString(){return this.g+""}}(e)}function lu(e,...t){if(t.length===0)return Da(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return Da(r)}var Pa=[0,ge,Pe,se,-1,ei,Pe,-1,se],du=class extends _{constructor(e){super(e)}},Oa=[0,se,K,se,Pe,-1,Er(function(e,t,r){return(e.h===0||e.h===2)&&(t=wr(t,0|t[E],r),e.h==2?Mi(e,qd,t):t.push(Et(e.g)),!0)},function(e,t,r){if((t=xr(dr,t))!=null&&t.length){r=ts(e,r);for(let i=0;i<t.length;i++)Pi(e.g,t[i]);rs(e,r)}},ha),K,-1,[0,se,-1],Pe,se,-1],Ba=[0,3,se,-1,2,[0,ge],[0,Pe,se],[0,K,-1],[0]],Ua=[0,K,-2],Va=class extends _{constructor(e){super(e)}},Ga=[0],ja=[0,ge,se,1,se,-4],Oe=class extends _{constructor(e){super(e,2)}},fe={};fe[336783863]=[0,K,se,-1,ge,[0,[1,2,3,4,5,6,7,8,9],oe,Ga,oe,Oa,oe,Ua,oe,ja,oe,Pa,oe,[0,K,-2],oe,[0,K,Pe],oe,Ba,oe,[0,Pe,-1,se]],[0,K],se,[0,[1,3],[2,4],oe,[0,ei],-1,oe,[0,xe],-1,pe,[0,K,-1]],K];var za=[0,us,-1,Yt,-3,us,ei,kt,_r,us,-1,Yt,_r,Yt,-2,kt];function Q(e,t){Ii(e,3,t)}function B(e,t){Ii(e,4,t)}var Ce=class extends _{constructor(e){super(e,500)}o(e){return I(this,0,7,e)}},ti=[-1,{}],$a=[0,K,1,ti],Wa=[0,K,xe,ti];function qe(e,t){Yn(e,1,Ce,t)}function R(e,t){Ii(e,10,t)}function z(e,t){Ii(e,15,t)}var Be=class extends _{constructor(e){super(e,500)}o(e){return I(this,0,1001,e)}},Ha=[-500,pe,[-500,kt,-1,xe,-3,[-2,fe,se],pe,La,_r,-1,$a,Wa,pe,[0,kt,Yt],kt,za,_r,xe,987,xe],4,pe,[-500,K,-1,[-1,{}],998,K],pe,[-500,K,xe,-1,[-2,{},se],997,xe,-1],_r,pe,[-500,K,xe,ti,998,xe],xe,_r,$a,Wa,pe,[0,kt,-1,ti],xe,-2,za,kt,-1,Yt,[0,Yt,au],978,ti,pe,La];Be.prototype.g=Wi(Ha);var uu=St(Be,Ha),hu=class extends _{constructor(e){super(e)}},qa=class extends _{constructor(e){super(e)}g(){return pt(this,hu,1)}},Ka=[0,pe,[0,ge,ce,K,-1]],Hi=St(qa,Ka),fu=class extends _{constructor(e){super(e)}},wu=class extends _{constructor(e){super(e)}},fs=class extends _{constructor(e){super(e)}l(){return G(this,fu,2)}g(){return pt(this,wu,5)}},Ya=St(class extends _{constructor(e){super(e)}},[0,xe,ei,ds,[0,Pe,[0,ge,-3],[0,ce,-3],[0,ge,-1,[0,pe,[0,ge,-2]]],pe,[0,ce,-1,K,ce]],K,-1,_t,pe,[0,ge,ce],xe,_t]),Xa=class extends _{constructor(e){super(e)}},kr=St(class extends _{constructor(e){super(e)}},[0,pe,[0,ce,-4]]),Qa=class extends _{constructor(e){super(e)}},ri=St(class extends _{constructor(e){super(e)}},[0,pe,[0,ce,-4]]),gu=class extends _{constructor(e){super(e)}},pu=[0,ge,-1,ds,Pe],Ja=class extends _{constructor(e){super(e)}};Ja.prototype.g=Wi([0,ce,-4,_t]);var mu=class extends _{constructor(e){super(e)}},yu=St(class extends _{constructor(e){super(e)}},[0,pe,[0,1,ge,K,Ka],_t]),Za=class extends _{constructor(e){super(e)}},bu=class extends _{constructor(e){super(e)}na(){const e=X(this,1,void 0,void 0,qo);return e??Ot()}},vu=class extends _{constructor(e){super(e)}},Ra=[1,2],xu=St(class extends _{constructor(e){super(e)}},[0,pe,[0,Ra,oe,[0,ds],oe,[0,Ia],ge,K],_t]),ws=class extends _{constructor(e){super(e)}},ec=[0,K,ge,ce,xe,-1],tc=class extends _{constructor(e){super(e)}},Eu=[0,se,-1],rc=class extends _{constructor(e){super(e)}},qi=[1,2,3,4,5,6],Ki=class extends _{constructor(e){super(e)}g(){return X(this,1,void 0,void 0,qo)!=null}l(){return ve(X(this,2))!=null}},te=class extends _{constructor(e){super(e)}g(){return Lo(X(this,2))??!1}},ic=[0,Ia,K,[0,ge,_t,-1],[0,su,_t]],le=[0,ic,se,[0,qi,oe,ja,oe,Oa,oe,Pa,oe,Ga,oe,Ua,oe,Ba],Pe],Yi=class extends _{constructor(e){super(e)}},gs=[0,le,ce,-1,ge],_u=at(502141897,Yi);fe[502141897]=gs;var ku=St(class extends _{constructor(e){super(e)}},[0,[0,Pe,-1,iu,ou],pu]),nc=class extends _{constructor(e){super(e)}},sc=class extends _{constructor(e){super(e)}},ps=[0,le,ce,[0,le],se],Su=at(508968150,sc);fe[508968150]=[0,le,gs,ps,ce,[0,[0,ic]]],fe[508968149]=ps;var Sr=class extends _{constructor(e){super(e)}l(){return G(this,ws,2)}g(){W(this,2)}},oc=[0,le,ec];fe[478825465]=oc;var Au=class extends _{constructor(e){super(e)}},ac=class extends _{constructor(e){super(e)}},ms=class extends _{constructor(e){super(e)}},ys=class extends _{constructor(e){super(e)}},cc=class extends _{constructor(e){super(e)}},lc=[0,le,[0,le],oc,-1],dc=[0,le,ce,ge],bs=[0,le,ce],uc=[0,le,dc,bs,ce],Tu=at(479097054,cc);fe[479097054]=[0,le,uc,lc],fe[463370452]=lc,fe[464864288]=dc;var Cu=at(462713202,ys);fe[462713202]=uc,fe[474472470]=bs;var Nu=class extends _{constructor(e){super(e)}},hc=class extends _{constructor(e){super(e)}},fc=class extends _{constructor(e){super(e)}},wc=class extends _{constructor(e){super(e)}},vs=[0,le,ce,-1,ge],xs=[0,le,ce,se];wc.prototype.g=Wi([0,le,bs,[0,le],gs,ps,vs,xs]);var gc=class extends _{constructor(e){super(e)}},Iu=at(456383383,gc);fe[456383383]=[0,le,ec];var pc=class extends _{constructor(e){super(e)}},Fu=at(476348187,pc);fe[476348187]=[0,le,Eu];var mc=class extends _{constructor(e){super(e)}},yc=class extends _{constructor(e){super(e)}},bc=[0,Pe,-1],Lu=at(458105876,class extends _{constructor(e){super(e)}g(){let e;var t=this.v;const r=0|t[E];return e=Le(this,r),t=function(i,n,s,a){var c=yc;!a&&hr(i)&&(s=0|(n=i.v)[E]);var l=gt(n,2);if(i=!1,l==null){if(a)return Go();l=[]}else if(l.constructor===wt){if(!(2&l.J)||a)return l;l=l.V()}else Array.isArray(l)?i=!!(2&(0|l[E])):l=[];if(a){if(!l.length)return Go();i||(i=!0,$r(l))}else i&&(i=!1,Wr(l),l=Ko(l));return!i&&32&s&&zr(l,32),s=he(n,s,2,a=new wt(l,c,Ld,void 0)),i||jt(n,s),a}(this,t,r,e),!e&&yc&&(t.ra=!0),t}});fe[458105876]=[0,bc,ru,[!0,_t,[0,K,-1,xe]],[0,ei,se,Pe]];var Es=class extends _{constructor(e){super(e)}},vc=at(458105758,Es);fe[458105758]=[0,le,K,bc];var _s=class extends _{constructor(e){super(e)}},xc=[0,nu,-1,Yt],Mu=class extends _{constructor(e){super(e)}},Ec=class extends _{constructor(e){super(e)}},ks=[1,2];Ec.prototype.g=Wi([0,ks,oe,xc,oe,[0,pe,xc]]);var _c=class extends _{constructor(e){super(e)}},Du=at(443442058,_c);fe[443442058]=[0,le,K,ge,ce,xe,-1,se,ce],fe[514774813]=vs;var kc=class extends _{constructor(e){super(e)}},Pu=at(516587230,kc);function Ss(e,t){return t=t?t.clone():new ws,e.displayNamesLocale!==void 0?W(t,1,Qr(e.displayNamesLocale)):e.displayNamesLocale===void 0&&W(t,1),e.maxResults!==void 0?mt(t,2,e.maxResults):"maxResults"in e&&W(t,2),e.scoreThreshold!==void 0?N(t,3,e.scoreThreshold):"scoreThreshold"in e&&W(t,3),e.categoryAllowlist!==void 0?Ni(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&W(t,4),e.categoryDenylist!==void 0?Ni(t,5,e.categoryDenylist):"categoryDenylist"in e&&W(t,5),t}function Sc(e){const t=Number(e);return Number.isSafeInteger(t)?t:String(e)}function As(e,t=-1,r=""){return{categories:e.map(i=>({index:We(i,1)??0??-1,score:ne(i,2)??0,categoryName:ve(X(i,3))??""??"",displayName:ve(X(i,4))??""??""})),headIndex:t,headName:r}}function Ou(e){const t={classifications:pt(e,mu,1).map(r=>{var i;return As(((i=G(r,qa,4))==null?void 0:i.g())??[],We(r,2)??0,ve(X(r,3))??"")})};return function(r){return Fd(En?X(r,2,void 0,void 0,Si):X(r,2))}(e)!=null&&(t.timestampMs=Sc(Zo(e))),t}function Ac(e){var a,c;var t=$t(e,3,nt,zt()),r=$t(e,2,dr,zt()),i=$t(e,1,ve,zt()),n=$t(e,9,ve,zt());const s={categories:[],keypoints:[]};for(let l=0;l<t.length;l++)s.categories.push({score:t[l],index:r[l]??-1,categoryName:i[l]??"",displayName:n[l]??""});if((t=(a=G(e,fs,4))==null?void 0:a.l())&&(s.boundingBox={originX:We(t,1,vt)??0,originY:We(t,2,vt)??0,width:We(t,3,vt)??0,height:We(t,4,vt)??0,angle:0}),(c=G(e,fs,4))==null?void 0:c.g().length)for(const l of G(e,fs,4).g())s.keypoints.push({x:X(l,1,void 0,vt,nt)??0,y:X(l,2,void 0,vt,nt)??0,score:X(l,4,void 0,vt,nt)??0,label:ve(X(l,3,void 0,vt))??""});return s}function Xi(e){const t=[];for(const r of pt(e,Qa,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function ii(e){const t=[];for(const r of pt(e,Xa,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function Tc(e){return Array.from(e,t=>t>127?t-256:t)}function Cc(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,i=0,n=0;for(let s=0;s<e.length;s++)r+=e[s]*t[s],i+=e[s]*e[s],n+=t[s]*t[s];if(i<=0||n<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(i*n)}let Qi;fe[516587230]=[0,le,vs,xs,ce],fe[518928384]=xs;const Bu=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Nc(){if(Qi===void 0)try{await WebAssembly.instantiate(Bu),Qi=!0}catch{Qi=!1}return Qi}async function ni(e,t=lu``){const r=await Nc()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var Xt=class{};function Ic(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")}(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function Fc(e){if(typeof importScripts!="function"){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise((r,i)=>{t.addEventListener("load",()=>{r()},!1),t.addEventListener("error",n=>{i(n)},!1),document.body.appendChild(t)})}try{importScripts(e.toString())}catch(t){if(!(t instanceof TypeError))throw t;await self.import(e.toString())}}function Lc(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function S(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Mc(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);const[i,n]=Lc(t);return!e.l||i===e.i.canvas.width&&n===e.i.canvas.height||(e.i.canvas.width=i,e.i.canvas.height=n),[i,n]}function Dc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const i=new Uint32Array(t.length);for(let n=0;n<t.length;n++)i[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*i.length),e.i.HEAPU32.set(i,t>>2),r(t);for(const n of i)e.i._free(n);e.i._free(t)}function ct(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function At(e,t,r){let i=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(n,s,a)=>{s?(r(i,a),i=[]):i.push(n)}}Xt.forVisionTasks=function(e){return ni("vision",e)},Xt.forTextTasks=function(e){return ni("text",e)},Xt.forGenAiExperimentalTasks=function(e){return ni("genai_experimental",e)},Xt.forGenAiTasks=function(e){return ni("genai",e)},Xt.forAudioTasks=function(e){return ni("audio",e)},Xt.isSimdSupported=function(){return Nc()};async function Uu(e,t,r,i){return e=await(async(n,s,a,c,l)=>{if(s&&await Fc(s),!self.ModuleFactory||a&&(await Fc(a),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&l&&((s=self.Module).locateFile=l.locateFile,l.mainScriptUrlOrBlob&&(s.mainScriptUrlOrBlob=l.mainScriptUrlOrBlob)),l=await self.ModuleFactory(self.Module||l),self.ModuleFactory=self.Module=void 0,new n(l,c)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:n=>n.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&n.endsWith(".data")?r.assetBinaryPath.toString():n}),await e.o(i),e}function Ts(e,t){const r=G(e.baseOptions,Ki,1)||new Ki;typeof t=="string"?(W(r,2,Qr(t)),W(r,1)):t instanceof Uint8Array&&(W(r,1,Tn(t,!1)),W(r,2)),I(e.baseOptions,0,1,r)}function Pc(e){try{const t=e.H.length;if(t===1)throw Error(e.H[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.H.map(r=>r.message).join(", "))}finally{e.H=[]}}function x(e,t){e.C=Math.max(e.C,t)}function Ji(e,t){e.B=new Ce,De(e.B,2,"PassThroughCalculator"),Q(e.B,"free_memory"),B(e.B,"free_memory_unused_out"),R(t,"free_memory"),qe(t,e.B)}function Ar(e,t){Q(e.B,t),B(e.B,t+"_unused_out")}function Zi(e){e.g.addBoolToStream(!0,"free_memory",e.C)}var Cs=class{constructor(e){this.g=e,this.H=[],this.C=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){var r,i,n,s,a,c;if(t){const l=e.baseOptions||{};if((r=e.baseOptions)!=null&&r.modelAssetBuffer&&((i=e.baseOptions)!=null&&i.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((n=G(this.baseOptions,Ki,1))!=null&&n.g()||(s=G(this.baseOptions,Ki,1))!=null&&s.l()||(a=e.baseOptions)!=null&&a.modelAssetBuffer||(c=e.baseOptions)!=null&&c.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(h,u){let f=G(h.baseOptions,rc,3);if(!f){var w=f=new rc,g=new Va;Zr(w,4,qi,g)}"delegate"in u&&(u.delegate==="GPU"?(u=f,w=new du,Zr(u,2,qi,w)):(u=f,w=new Va,Zr(u,4,qi,w))),I(h.baseOptions,0,3,f)}(this,l),l.modelAssetPath)return fetch(l.modelAssetPath.toString()).then(h=>{if(h.ok)return h.arrayBuffer();throw Error(`Failed to fetch model: ${l.modelAssetPath} (${h.status})`)}).then(h=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(h),!0,!1,!1),Ts(this,"/model.dat"),this.m(),this.L()});if(l.modelAssetBuffer instanceof Uint8Array)Ts(this,l.modelAssetBuffer);else if(l.modelAssetBuffer)return async function(h){const u=[];for(var f=0;;){const{done:w,value:g}=await h.read();if(w)break;u.push(g),f+=g.length}if(u.length===0)return new Uint8Array(0);if(u.length===1)return u[0];h=new Uint8Array(f),f=0;for(const w of u)h.set(w,f),f+=w.length;return h}(l.modelAssetBuffer).then(h=>{Ts(this,h),this.m(),this.L()})}return this.m(),this.L(),Promise.resolve()}L(){}ca(){let e;if(this.g.ca(t=>{e=uu(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.H.push(Error(i))}),this.g.Ja(),this.g.setGraph(e,t),this.B=void 0,Pc(this)}finishProcessing(){this.g.finishProcessing(),Pc(this)}close(){this.B=void 0,this.g.closeGraph()}};function Tt(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Cs.prototype.close=Cs.prototype.close;class Vu{constructor(t,r,i,n){this.g=t,this.h=r,this.m=i,this.l=n}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function Oc(e,t,r){const i=e.g;if(r=Tt(i.createShader(r),"Failed to create WebGL shader"),i.shaderSource(r,t),i.compileShader(r),!i.getShaderParameter(r,i.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${i.getShaderInfoLog(r)}`);return i.attachShader(e.h,r),r}function Bc(e,t){const r=e.g,i=Tt(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(i);const n=Tt(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,n),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);const s=Tt(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,s),r.enableVertexAttribArray(e.L),r.vertexAttribPointer(e.L,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new Vu(r,i,n,s)}function Ns(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Gu(e,t,r,i){return Ns(e,t),e.h||(e.m(),e.D()),r?(e.u||(e.u=Bc(e,!0)),r=e.u):(e.A||(e.A=Bc(e,!1)),r=e.A),t.useProgram(e.h),r.bind(),e.l(),e=i(),r.g.bindVertexArray(null),e}function Uc(e,t,r){return Ns(e,t),e=Tt(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function Vc(e,t,r){Ns(e,t),e.B||(e.B=Tt(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.B),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function ju(e){var t;(t=e.g)==null||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var Gc=class{H(){return`
2
2
  precision mediump float;
3
3
  varying vec2 vTex;
4
4
  uniform sampler2D inputTexture;
5
5
  void main() {
6
6
  gl_FragColor = texture2D(inputTexture, vTex);
7
7
  }
8
- `}m(){const e=this.g;if(this.h=Ft(e.createProgram(),"Failed to create WebGL program"),this.X=Bc(this,`
8
+ `}m(){const e=this.g;if(this.h=Tt(e.createProgram(),"Failed to create WebGL program"),this.X=Oc(this,`
9
9
  attribute vec2 aVertex;
10
10
  attribute vec2 aTex;
11
11
  varying vec2 vTex;
12
12
  void main(void) {
13
13
  gl_Position = vec4(aVertex, 0.0, 1.0);
14
14
  vTex = aTex;
15
- }`,e.VERTEX_SHADER),this.W=Bc(this,this.H(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.L=e.getAttribLocation(this.h,"aTex")}D(){}l(){}close(){if(this.h){const e=this.g;e.deleteProgram(this.h),e.deleteShader(this.X),e.deleteShader(this.W)}this.B&&this.g.deleteFramebuffer(this.B),this.A&&this.A.close(),this.u&&this.u.close()}};function vt(e,t){switch(t){case 0:return e.g.find(r=>r instanceof Uint8Array);case 1:return e.g.find(r=>r instanceof Float32Array);case 2:return e.g.find(r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture);default:throw Error(`Type is not supported: ${t}`)}}function Fs(e){var t=vt(e,1);if(!t){if(t=vt(e,0))t=new Float32Array(t).map(i=>i/255);else{t=new Float32Array(e.width*e.height);const i=Ar(e);var r=Ls(e);if(Gc(r,i,zc(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),i.readPixels(0,0,e.width,e.height,i.RGBA,i.FLOAT,r);for(let n=0,s=0;n<t.length;++n,s+=4)t[n]=r[s]}else i.readPixels(0,0,e.width,e.height,i.RED,i.FLOAT,t)}e.g.push(t)}return t}function zc(e){let t=vt(e,2);if(!t){const r=Ar(e);t=Wc(e);const i=Fs(e),n=$c(e);r.texImage2D(r.TEXTURE_2D,0,n,e.width,e.height,0,r.RED,r.FLOAT,i),Ms(e)}return t}function Ar(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Ft(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function $c(e){if(e=Ar(e),!Zi)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Zi=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Zi=e.R16F}return Zi}function Ls(e){return e.l||(e.l=new jc),e.l}function Wc(e){const t=Ar(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=vt(e,2);return r||(r=Vc(Ls(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Ms(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Zi,pe=class{constructor(e,t,r,i,n,s,a){this.g=e,this.m=t,this.j=r,this.canvas=i,this.l=n,this.width=s,this.height=a,this.j&&--Hc===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!vt(this,0)}ka(){return!!vt(this,1)}R(){return!!vt(this,2)}ja(){return(t=vt(e=this,0))||(t=Fs(e),t=new Uint8Array(t.map(r=>Math.round(255*r))),e.g.push(t)),t;var e,t}ia(){return Fs(this)}N(){return zc(this)}clone(){const e=[];for(const t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const i=Ar(this),n=Ls(this);i.activeTexture(i.TEXTURE1),r=Vc(n,i,this.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,r);const s=$c(this);i.texImage2D(i.TEXTURE_2D,0,s,this.width,this.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),Gc(n,i,r),$u(n,i,!1,()=>{Wc(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),Ms(this)}),Wu(n),Ms(this)}}e.push(r)}return new pe(e,this.m,this.R(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Ar(this).deleteTexture(vt(this,2)),Hc=-1}};pe.prototype.close=pe.prototype.close,pe.prototype.clone=pe.prototype.clone,pe.prototype.getAsWebGLTexture=pe.prototype.N,pe.prototype.getAsFloat32Array=pe.prototype.ia,pe.prototype.getAsUint8Array=pe.prototype.ja,pe.prototype.hasWebGLTexture=pe.prototype.R,pe.prototype.hasFloat32Array=pe.prototype.ka,pe.prototype.hasUint8Array=pe.prototype.Fa;var Hc=250;function Re(...e){return e.map(([t,r])=>({start:t,end:r}))}const Hu=function(e){return class extends e{Ja(){this.i._registerModelResourcesGraphService()}}}((qc=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:Fc()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){const r=e.length,i=this.i._malloc(r);this.i.HEAPU8.set(e,i),t?this.i._changeBinaryGraph(r,i):this.i._changeTextGraph(r,i),this.i._free(i)}configureAudio(e,t,r,i,n){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),k(this,i||"input_audio",s=>{k(this,n=n||"audio_header",a=>{this.i._configureAudio(s,a,e,t??0,r)})})}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}ca(e){dt(this,"__graph_config__",t=>{e(t)}),k(this,"__graph_config__",t=>{this.i._getGraphConfig(t,void 0)}),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,i,n){const s=4*e.length;this.h!==s&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(s),this.h=s),this.i.HEAPF32.set(e,this.g/4),k(this,i,a=>{this.i._addAudioToInputStream(this.g,t,r,a,n)})}addGpuBufferToStream(e,t,r){k(this,t,i=>{const[n,s]=Dc(this,e,i);this.i._addBoundTextureToStream(i,n,s,r)})}addBoolToStream(e,t,r){k(this,t,i=>{this.i._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){k(this,t,i=>{this.i._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){k(this,t,i=>{this.i._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){k(this,t,i=>{this.i._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){k(this,t,i=>{this.i._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){k(this,t,i=>{k(this,e,n=>{this.i._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){k(this,t,i=>{Pc(this,Object.keys(e),n=>{Pc(this,Object.values(e),s=>{this.i._addFlatHashMapToInputStream(n,s,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){k(this,r,n=>{k(this,t,s=>{const a=this.i._malloc(e.length);this.i.HEAPU8.set(e,a),this.i._addProtoToInputStream(a,e.length,s,n,i),this.i._free(a)})})}addEmptyPacketToStream(e,t){k(this,e,r=>{this.i._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(const s of e)this.i._addBoolVectorEntry(n,s);this.i._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(const s of e)this.i._addDoubleVectorEntry(n,s);this.i._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(const s of e)this.i._addFloatVectorEntry(n,s);this.i._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(const s of e)this.i._addIntVectorEntry(n,s);this.i._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(const s of e)this.i._addUintVectorEntry(n,s);this.i._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(const s of e)k(this,s,a=>{this.i._addStringVectorEntry(n,a)});this.i._addStringVectorToInputStream(n,i,r)})}addBoolToInputSidePacket(e,t){k(this,t,r=>{this.i._addBoolToInputSidePacket(e,r)})}addDoubleToInputSidePacket(e,t){k(this,t,r=>{this.i._addDoubleToInputSidePacket(e,r)})}addFloatToInputSidePacket(e,t){k(this,t,r=>{this.i._addFloatToInputSidePacket(e,r)})}addIntToInputSidePacket(e,t){k(this,t,r=>{this.i._addIntToInputSidePacket(e,r)})}addUintToInputSidePacket(e,t){k(this,t,r=>{this.i._addUintToInputSidePacket(e,r)})}addStringToInputSidePacket(e,t){k(this,t,r=>{k(this,e,i=>{this.i._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){k(this,r,i=>{k(this,t,n=>{const s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputSidePacket(s,e.length,n,i),this.i._free(s)})})}addBoolVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(const n of e)this.i._addBoolVectorEntry(i,n);this.i._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(const n of e)this.i._addDoubleVectorEntry(i,n);this.i._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(const n of e)this.i._addFloatVectorEntry(i,n);this.i._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(const n of e)this.i._addIntVectorEntry(i,n);this.i._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(const n of e)this.i._addUintVectorEntry(i,n);this.i._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(const n of e)k(this,n,s=>{this.i._addStringVectorEntry(i,s)});this.i._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){dt(this,e,t),k(this,e,r=>{this.i._attachBoolListener(r)})}attachBoolVectorListener(e,t){It(this,e,t),k(this,e,r=>{this.i._attachBoolVectorListener(r)})}attachIntListener(e,t){dt(this,e,t),k(this,e,r=>{this.i._attachIntListener(r)})}attachIntVectorListener(e,t){It(this,e,t),k(this,e,r=>{this.i._attachIntVectorListener(r)})}attachUintListener(e,t){dt(this,e,t),k(this,e,r=>{this.i._attachUintListener(r)})}attachUintVectorListener(e,t){It(this,e,t),k(this,e,r=>{this.i._attachUintVectorListener(r)})}attachDoubleListener(e,t){dt(this,e,t),k(this,e,r=>{this.i._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){It(this,e,t),k(this,e,r=>{this.i._attachDoubleVectorListener(r)})}attachFloatListener(e,t){dt(this,e,t),k(this,e,r=>{this.i._attachFloatListener(r)})}attachFloatVectorListener(e,t){It(this,e,t),k(this,e,r=>{this.i._attachFloatVectorListener(r)})}attachStringListener(e,t){dt(this,e,t),k(this,e,r=>{this.i._attachStringListener(r)})}attachStringVectorListener(e,t){It(this,e,t),k(this,e,r=>{this.i._attachStringVectorListener(r)})}attachProtoListener(e,t,r){dt(this,e,t),k(this,e,i=>{this.i._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){It(this,e,t),k(this,e,i=>{this.i._attachProtoVectorListener(i,r||!1)})}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),dt(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),k(this,e,i=>{this.i._attachAudioListener(i,r||!1)})}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends qc{get ga(){return this.i}pa(e,t,r){k(this,t,i=>{const[n,s]=Dc(this,e,i);this.ga._addBoundTextureAsImageToStream(i,n,s,r)})}Z(e,t){dt(this,e,t),k(this,e,r=>{this.ga._attachImageListener(r)})}aa(e,t){It(this,e,t),k(this,e,r=>{this.ga._attachImageVectorListener(r)})}}));var qc,et=class extends Hu{};async function U(e,t,r){return async function(i,n,s,a){return ju(i,n,s,a)}(e,r.canvas??(Fc()?void 0:document.createElement("canvas")),t,r)}function Kc(e,t,r,i){if(e.U){const s=new Za;if(r!=null&&r.regionOfInterest){if(!e.oa)throw Error("This task doesn't support region-of-interest.");var n=r.regionOfInterest;if(n.left>=n.right||n.top>=n.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(n.left<0||n.top<0||n.right>1||n.bottom>1)throw Error("Expected RectF values to be in [0,1].");C(s,1,(n.left+n.right)/2),C(s,2,(n.top+n.bottom)/2),C(s,4,n.right-n.left),C(s,3,n.bottom-n.top)}else C(s,1,.5),C(s,2,.5),C(s,4,1),C(s,3,1);if(r!=null&&r.rotationDegrees){if((r==null?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(C(s,5,-Math.PI*r.rotationDegrees/180),(r==null?void 0:r.rotationDegrees)%180!=0){const[a,c]=Mc(t);r=ne(s,3)*c/a,n=ne(s,4)*a/c,C(s,4,r),C(s,3,n)}}e.g.addProtoToStream(s.g(),"mediapipe.NormalizedRect",e.U,i)}e.g.pa(t,e.X,i??performance.now()),e.finishProcessing()}function tt(e,t,r){var i;if((i=e.baseOptions)!=null&&i.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Kc(e,t,r,e.C+1)}function ut(e,t,r,i){var n;if(!((n=e.baseOptions)!=null&&n.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Kc(e,t,r,i)}function Tr(e,t,r,i){var n=t.data;const s=t.width,a=s*(t=t.height);if((n instanceof Uint8Array||n instanceof Float32Array)&&n.length!==a)throw Error("Unsupported channel count: "+n.length/a);return e=new pe([n],r,!1,e.g.i.canvas,e.P,s,t),i?e.clone():e}var Be=class extends Ns{constructor(e,t,r,i){super(e),this.g=e,this.X=t,this.U=r,this.oa=i,this.P=new jc}l(e,t=!0){if("runningMode"in e&&$(this.baseOptions,2,Xr(!!e.runningMode&&e.runningMode!=="IMAGE")),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.P.close(),super.close()}};Be.prototype.close=Be.prototype.close;var He=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},N(e=this.h=new Ki,0,1,t=new ie),C(this.h,2,.5),C(this.h,3,.3)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&C(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&C(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},tt(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},ut(this,e,r,t),this.j}m(){var e=new Oe;te(e,"image_in"),te(e,"norm_rect_in"),z(e,"detections");const t=new Pe;ct(t,Au,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect_in"),B(r,"DETECTIONS:detections"),r.o(t),We(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Xa(s),this.j.detections.push(Tc(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};He.prototype.detectForVideo=He.prototype.G,He.prototype.detect=He.prototype.F,He.prototype.setOptions=He.prototype.o,He.createFromModelPath=async function(e,t){return U(He,e,{baseOptions:{modelAssetPath:t}})},He.createFromModelBuffer=function(e,t){return U(He,e,{baseOptions:{modelAssetBuffer:t}})},He.createFromOptions=function(e,t){return U(He,e,t)};var Ds=Re([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),Ps=Re([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),Os=Re([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Yc=Re([474,475],[475,476],[476,477],[477,474]),Bs=Re([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),Us=Re([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Xc=Re([469,470],[470,471],[471,472],[472,469]),Vs=Re([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),Qc=[...Ds,...Ps,...Os,...Bs,...Us,...Vs],Jc=Re([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Zc(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var re=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,N(e=this.h=new oc,0,1,t=new ie),this.A=new sc,N(this.h,0,3,this.A),this.u=new Ki,N(this.h,0,2,this.u),yt(this.u,4,1),C(this.u,2,.5),C(this.A,2,.5),C(this.h,4,.5)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return"numFaces"in e&&yt(this.u,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&C(this.u,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&C(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&C(this.A,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return Zc(this),tt(this,e,t),this.j}G(e,t,r){return Zc(this),ut(this,e,r,t),this.j}m(){var e=new Oe;te(e,"image_in"),te(e,"norm_rect"),z(e,"face_landmarks");const t=new Pe;ct(t,Cu,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),We(e,r),this.g.attachProtoVectorListener("face_landmarks",(i,n)=>{for(const s of i)i=ii(s),this.j.faceLandmarks.push(Yi(i));x(this,n)}),this.g.attachEmptyPacketListener("face_landmarks",i=>{x(this,i)}),this.outputFaceBlendshapes&&(z(e,"blendshapes"),B(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(i,n)=>{if(this.outputFaceBlendshapes)for(const s of i)i=Wi(s),this.j.faceBlendshapes.push(Ts(i.g()??[]));x(this,n)}),this.g.attachEmptyPacketListener("blendshapes",i=>{x(this,i)})),this.outputFacialTransformationMatrixes&&(z(e,"face_geometry"),B(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(i,n)=>{if(this.outputFacialTransformationMatrixes)for(const s of i)(i=V(i=Tu(s),yu,2))&&this.j.facialTransformationMatrixes.push({rows:ze(i,1)??0??0,columns:ze(i,2)??0??0,data:Wt(i,3,ot,$t()).slice()??[]});x(this,n)}),this.g.attachEmptyPacketListener("face_geometry",i=>{x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};re.prototype.detectForVideo=re.prototype.G,re.prototype.detect=re.prototype.F,re.prototype.setOptions=re.prototype.o,re.createFromModelPath=function(e,t){return U(re,e,{baseOptions:{modelAssetPath:t}})},re.createFromModelBuffer=function(e,t){return U(re,e,{baseOptions:{modelAssetBuffer:t}})},re.createFromOptions=function(e,t){return U(re,e,t)},re.FACE_LANDMARKS_LIPS=Ds,re.FACE_LANDMARKS_LEFT_EYE=Ps,re.FACE_LANDMARKS_LEFT_EYEBROW=Os,re.FACE_LANDMARKS_LEFT_IRIS=Yc,re.FACE_LANDMARKS_RIGHT_EYE=Bs,re.FACE_LANDMARKS_RIGHT_EYEBROW=Us,re.FACE_LANDMARKS_RIGHT_IRIS=Xc,re.FACE_LANDMARKS_FACE_OVAL=Vs,re.FACE_LANDMARKS_CONTOURS=Qc,re.FACE_LANDMARKS_TESSELATION=Jc;var Gs=Re([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function Rc(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function el(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function tl(e,t=!0){const r=[];for(const n of e){var i=Wi(n);e=[];for(const s of i.g())i=t&&ze(s,1)!=null?ze(s,1)??0:-1,e.push({score:ne(s,2)??0,index:i,categoryName:ve(X(s,3))??""??"",displayName:ve(X(s,4))??""??""});r.push(e)}return r}var Ue=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],N(e=this.j=new lc,0,1,t=new ie),this.u=new bs,N(this.j,0,2,this.u),this.D=new ys,N(this.u,0,3,this.D),this.A=new cc,N(this.u,0,2,this.A),this.h=new Nu,N(this.j,0,3,this.h),C(this.A,2,.5),C(this.u,4,.5),C(this.D,2,.5)}get baseOptions(){return V(this.j,ie,1)}set baseOptions(e){N(this.j,0,1,e)}o(e){var n,s,a,c;if(yt(this.A,3,e.numHands??1),"minHandDetectionConfidence"in e&&C(this.A,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&C(this.u,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&C(this.D,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new kr,r=t,i=As(e.cannedGesturesClassifierOptions,(n=V(this.h,kr,3))==null?void 0:n.l());N(r,0,2,i),N(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&((s=V(this.h,kr,3))==null||s.g());return e.customGesturesClassifierOptions?(N(r=t=new kr,0,2,i=As(e.customGesturesClassifierOptions,(a=V(this.h,kr,4))==null?void 0:a.l())),N(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&((c=V(this.h,kr,4))==null||c.g()),this.l(e)}Ha(e,t){return Rc(this),tt(this,e,t),el(this)}Ia(e,t,r){return Rc(this),ut(this,e,r,t),el(this)}m(){var e=new Oe;te(e,"image_in"),te(e,"norm_rect"),z(e,"hand_gestures"),z(e,"hand_landmarks"),z(e,"world_hand_landmarks"),z(e,"handedness");const t=new Pe;ct(t,Iu,this.j);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"HAND_GESTURES:hand_gestures"),B(r,"LANDMARKS:hand_landmarks"),B(r,"WORLD_LANDMARKS:world_hand_landmarks"),B(r,"HANDEDNESS:handedness"),r.o(t),We(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i){i=ii(s);const a=[];for(const c of mt(i,Ja,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.landmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i){i=_r(s);const a=[];for(const c of mt(i,Qa,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.worldLandmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("hand_gestures",(i,n)=>{this.gestures.push(...tl(i,!1)),x(this,n)}),this.g.attachEmptyPacketListener("hand_gestures",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{this.handedness.push(...tl(i)),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function rl(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Ue.prototype.recognizeForVideo=Ue.prototype.Ia,Ue.prototype.recognize=Ue.prototype.Ha,Ue.prototype.setOptions=Ue.prototype.o,Ue.createFromModelPath=function(e,t){return U(Ue,e,{baseOptions:{modelAssetPath:t}})},Ue.createFromModelBuffer=function(e,t){return U(Ue,e,{baseOptions:{modelAssetBuffer:t}})},Ue.createFromOptions=function(e,t){return U(Ue,e,t)},Ue.HAND_CONNECTIONS=Gs;var Ve=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],N(e=this.h=new bs,0,1,t=new ie),this.u=new ys,N(this.h,0,3,this.u),this.j=new cc,N(this.h,0,2,this.j),yt(this.j,3,1),C(this.j,2,.5),C(this.u,2,.5),C(this.h,4,.5)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return"numHands"in e&&yt(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&C(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&C(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&C(this.u,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],tt(this,e,t),rl(this)}G(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ut(this,e,r,t),rl(this)}m(){var e=new Oe;te(e,"image_in"),te(e,"norm_rect"),z(e,"hand_landmarks"),z(e,"world_hand_landmarks"),z(e,"handedness");const t=new Pe;ct(t,Fu,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"LANDMARKS:hand_landmarks"),B(r,"WORLD_LANDMARKS:world_hand_landmarks"),B(r,"HANDEDNESS:handedness"),r.o(t),We(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i)i=ii(s),this.landmarks.push(Yi(i));x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i)i=_r(s),this.worldLandmarks.push(ni(i));x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{var s=this.handedness,a=s.push;const c=[];for(const l of i){i=Wi(l);const h=[];for(const u of i.g())h.push({score:ne(u,2)??0,index:ze(u,1)??0??-1,categoryName:ve(X(u,3))??""??"",displayName:ve(X(u,4))??""??""});c.push(h)}a.call(s,...c),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ve.prototype.detectForVideo=Ve.prototype.G,Ve.prototype.detect=Ve.prototype.F,Ve.prototype.setOptions=Ve.prototype.o,Ve.createFromModelPath=function(e,t){return U(Ve,e,{baseOptions:{modelAssetPath:t}})},Ve.createFromModelBuffer=function(e,t){return U(Ve,e,{baseOptions:{modelAssetBuffer:t}})},Ve.createFromOptions=function(e,t){return U(Ve,e,t)},Ve.HAND_CONNECTIONS=Gs;var il=Re([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function nl(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function sl(e){try{if(!e.D)return e.h;e.D(e.h)}finally{Ji(e)}}function Ri(e,t){e=ii(e),t.push(Yi(e))}var J=class extends Be{constructor(e,t){super(new et(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,N(e=this.j=new gc,0,1,t=new ie),this.I=new ys,N(this.j,0,2,this.I),this.W=new Lu,N(this.j,0,3,this.W),this.u=new Ki,N(this.j,0,4,this.u),this.O=new sc,N(this.j,0,5,this.O),this.A=new fc,N(this.j,0,6,this.A),this.M=new wc,N(this.j,0,7,this.M),C(this.u,2,.5),C(this.u,3,.3),C(this.O,2,.5),C(this.A,2,.5),C(this.A,3,.3),C(this.M,2,.5),C(this.I,2,.5)}get baseOptions(){return V(this.j,ie,1)}set baseOptions(e){N(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&C(this.u,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&C(this.u,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&C(this.O,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&C(this.A,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&C(this.A,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&C(this.M,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&C(this.I,2,e.minHandLandmarksConfidence??.5),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.D=typeof t=="function"?t:r,nl(this),tt(this,e,i),sl(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.D=typeof r=="function"?r:i,nl(this),ut(this,e,n,t),sl(this)}m(){var e=new Oe;te(e,"input_frames_image"),z(e,"pose_landmarks"),z(e,"pose_world_landmarks"),z(e,"face_landmarks"),z(e,"left_hand_landmarks"),z(e,"left_hand_world_landmarks"),z(e,"right_hand_landmarks"),z(e,"right_hand_world_landmarks");const t=new Pe,r=new La;Me(r,1,"type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),function(n,s){if(s!=null)if(Array.isArray(s))$(n,2,Ti(s,0,Zr));else{if(!(typeof s=="string"||s instanceof nt||kn(s)))throw Error("invalid value in Any.value field: "+s+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");St(n,2,Cn(s,!1),Bt())}}(r,this.j.g());const i=new Ce;Me(i,2,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),Xn(i,8,La,r),Q(i,"IMAGE:input_frames_image"),B(i,"POSE_LANDMARKS:pose_landmarks"),B(i,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),B(i,"FACE_LANDMARKS:face_landmarks"),B(i,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),B(i,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),B(i,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),B(i,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),i.o(t),We(e,i),Qi(this,e),this.g.attachProtoListener("pose_landmarks",(n,s)=>{Ri(n,this.h.poseLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("pose_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("pose_world_landmarks",(n,s)=>{var a=this.h.poseWorldLandmarks;n=_r(n),a.push(ni(n)),x(this,s)}),this.g.attachEmptyPacketListener("pose_world_landmarks",n=>{x(this,n)}),this.outputPoseSegmentationMasks&&(B(i,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),Sr(this,"pose_segmentation_mask"),this.g.Z("pose_segmentation_mask",(n,s)=>{this.h.poseSegmentationMasks=[Tr(this,n,!0,!this.D)],x(this,s)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",n=>{this.h.poseSegmentationMasks=[],x(this,n)})),this.g.attachProtoListener("face_landmarks",(n,s)=>{Ri(n,this.h.faceLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("face_landmarks",n=>{x(this,n)}),this.outputFaceBlendshapes&&(z(e,"extra_blendshapes"),B(i,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(n,s)=>{var a=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(n=Wi(n),a.push(Ts(n.g()??[]))),x(this,s)}),this.g.attachEmptyPacketListener("extra_blendshapes",n=>{x(this,n)})),this.g.attachProtoListener("left_hand_landmarks",(n,s)=>{Ri(n,this.h.leftHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("left_hand_world_landmarks",(n,s)=>{var a=this.h.leftHandWorldLandmarks;n=_r(n),a.push(ni(n)),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_landmarks",(n,s)=>{Ri(n,this.h.rightHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_world_landmarks",(n,s)=>{var a=this.h.rightHandWorldLandmarks;n=_r(n),a.push(ni(n)),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",n=>{x(this,n)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};J.prototype.detectForVideo=J.prototype.G,J.prototype.detect=J.prototype.F,J.prototype.setOptions=J.prototype.o,J.createFromModelPath=function(e,t){return U(J,e,{baseOptions:{modelAssetPath:t}})},J.createFromModelBuffer=function(e,t){return U(J,e,{baseOptions:{modelAssetBuffer:t}})},J.createFromOptions=function(e,t){return U(J,e,t)},J.HAND_CONNECTIONS=Gs,J.POSE_CONNECTIONS=il,J.FACE_LANDMARKS_LIPS=Ds,J.FACE_LANDMARKS_LEFT_EYE=Ps,J.FACE_LANDMARKS_LEFT_EYEBROW=Os,J.FACE_LANDMARKS_LEFT_IRIS=Yc,J.FACE_LANDMARKS_RIGHT_EYE=Bs,J.FACE_LANDMARKS_RIGHT_EYEBROW=Us,J.FACE_LANDMARKS_RIGHT_IRIS=Xc,J.FACE_LANDMARKS_FACE_OVAL=Vs,J.FACE_LANDMARKS_CONTOURS=Qc,J.FACE_LANDMARKS_TESSELATION=Jc;var qe=class extends Be{constructor(e,t){super(new et(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},N(e=this.h=new pc,0,1,t=new ie)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return N(this.h,0,2,As(e,V(this.h,gs,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},tt(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},ut(this,e,r,t),this.j}m(){var e=new Oe;te(e,"input_image"),te(e,"norm_rect"),z(e,"classifications");const t=new Pe;ct(t,Mu,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Q(r,"IMAGE:input_image"),Q(r,"NORM_RECT:norm_rect"),B(r,"CLASSIFICATIONS:classifications"),r.o(t),We(e,r),this.g.attachProtoListener("classifications",(i,n)=>{this.j=Vu(xu(i)),x(this,n)}),this.g.attachEmptyPacketListener("classifications",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};qe.prototype.classifyForVideo=qe.prototype.ta,qe.prototype.classify=qe.prototype.sa,qe.prototype.setOptions=qe.prototype.o,qe.createFromModelPath=function(e,t){return U(qe,e,{baseOptions:{modelAssetPath:t}})},qe.createFromModelBuffer=function(e,t){return U(qe,e,{baseOptions:{modelAssetBuffer:t}})},qe.createFromOptions=function(e,t){return U(qe,e,t)};var Ge=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect",!0),this.h=new mc,this.embeddings={embeddings:[]},N(e=this.h,0,1,t=new ie)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){var t=this.h,r=V(this.h,rc,2);return r=r?r.clone():new rc,e.l2Normalize!==void 0?$(r,1,Xr(e.l2Normalize)):"l2Normalize"in e&&$(r,1),e.quantize!==void 0?$(r,2,Xr(e.quantize)):"quantize"in e&&$(r,2),N(t,0,2,r),this.l(e)}za(e,t){return tt(this,e,t),this.embeddings}Aa(e,t,r){return ut(this,e,r,t),this.embeddings}m(){var e=new Oe;te(e,"image_in"),te(e,"norm_rect"),z(e,"embeddings_out");const t=new Pe;ct(t,Du,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"EMBEDDINGS:embeddings_out"),r.o(t),We(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=ku(i),this.embeddings=function(s){return{embeddings:mt(s,_u,1).map(a=>{var h,u;const c={headIndex:ze(a,3)??0??-1,headName:ve(X(a,4))??""??""};var l=a.v;return Qo(l,0|l[E],Ra,Hn(a,1))!==void 0?(a=Wt(a=V(a,Ra,Hn(a,1),void 0),1,ot,$t()),c.floatEmbedding=a.slice()):(l=new Uint8Array(0),c.quantizedEmbedding=((u=(h=V(a,Eu,Hn(a,2),void 0))==null?void 0:h.na())==null?void 0:u.h())??l),c}),timestampMs:Ac(Ro(s))}}(i),x(this,n)}),this.g.attachEmptyPacketListener("embeddings_out",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ge.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Nc(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Nc(Cc(e.quantizedEmbedding),Cc(t.quantizedEmbedding))}return e},Ge.prototype.embedForVideo=Ge.prototype.Aa,Ge.prototype.embed=Ge.prototype.za,Ge.prototype.setOptions=Ge.prototype.o,Ge.createFromModelPath=function(e,t){return U(Ge,e,{baseOptions:{modelAssetPath:t}})},Ge.createFromModelBuffer=function(e,t){return U(Ge,e,{baseOptions:{modelAssetBuffer:t}})},Ge.createFromOptions=function(e,t){return U(Ge,e,t)};var js=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};function qu(e){var r,i;const t=function(n){return mt(n,Ce,1)}(e.ca()).filter(n=>(ve(X(n,1))??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator"));if(e.u=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(((i=(r=V(t[0],Pe,7))==null?void 0:r.j())==null?void 0:i.g())??new Map).forEach((n,s)=>{e.u[Number(s)]=ve(X(n,1))??""})}function ol(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function al(e){try{const t=new js(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Ji(e)}}js.prototype.close=js.prototype.close;var Ne=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect",!1),this.u=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new _s,this.A=new yc,N(this.h,0,3,this.A),N(e=this.h,0,1,t=new ie)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?$(this.h,2,Jr(e.displayNamesLocale)):"displayNamesLocale"in e&&$(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}L(){qu(this)}segment(e,t,r){const i=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,ol(this),tt(this,e,i),al(this)}La(e,t,r,i){const n=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:i,ol(this),ut(this,e,n,t),al(this)}Da(){return this.u}m(){var e=new Oe;te(e,"image_in"),te(e,"norm_rect");const t=new Pe;ct(t,xc,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),r.o(t),We(e,r),Qi(this,e),this.outputConfidenceMasks&&(z(e,"confidence_masks"),B(r,"CONFIDENCE_MASKS:confidence_masks"),Sr(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Tr(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(z(e,"category_mask"),B(r,"CATEGORY_MASK:category_mask"),Sr(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Tr(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),z(e,"quality_scores"),B(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ne.prototype.getLabels=Ne.prototype.Da,Ne.prototype.segmentForVideo=Ne.prototype.La,Ne.prototype.segment=Ne.prototype.segment,Ne.prototype.setOptions=Ne.prototype.o,Ne.createFromModelPath=function(e,t){return U(Ne,e,{baseOptions:{modelAssetPath:t}})},Ne.createFromModelBuffer=function(e,t){return U(Ne,e,{baseOptions:{modelAssetBuffer:t}})},Ne.createFromOptions=function(e,t){return U(Ne,e,t)};var zs=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};zs.prototype.close=zs.prototype.close;var ht=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new _s,this.u=new yc,N(this.h,0,3,this.u),N(e=this.h,0,1,t=new ie)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,i){const n=typeof r!="function"?r:{};if(this.j=typeof r=="function"?r:i,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.C+1,i=new _c,t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new ks;St(s,3,Xr(!0),!1),St(s,1,Yr(t.keypoint.x),0),St(s,2,Yr(t.keypoint.y),0),Rr(i,1,Ss,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");{const c=new Ou;for(s of t.scribble)St(t=new ks,3,Xr(!0),!1),St(t,1,Yr(s.x),0),St(t,2,Yr(s.y),0),Xn(c,1,ks,t);Rr(i,2,Ss,c)}}this.g.addProtoToStream(i.g(),"mediapipe.tasks.vision.interactive_segmenter.proto.RegionOfInterest","roi_in",r),tt(this,e,n);e:{try{const c=new zs(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var a=c;break e}this.j(c)}finally{Ji(this)}a=void 0}return a}m(){var e=new Oe;te(e,"image_in"),te(e,"roi_in"),te(e,"norm_rect_in");const t=new Pe;ct(t,xc,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraphV2"),Q(r,"IMAGE:image_in"),Q(r,"ROI:roi_in"),Q(r,"NORM_RECT:norm_rect_in"),r.o(t),We(e,r),Qi(this,e),this.outputConfidenceMasks&&(z(e,"confidence_masks"),B(r,"CONFIDENCE_MASKS:confidence_masks"),Sr(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Tr(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(z(e,"category_mask"),B(r,"CATEGORY_MASK:category_mask"),Sr(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Tr(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),z(e,"quality_scores"),B(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ht.prototype.segment=ht.prototype.segment,ht.prototype.setOptions=ht.prototype.o,ht.createFromModelPath=function(e,t){return U(ht,e,{baseOptions:{modelAssetPath:t}})},ht.createFromModelBuffer=function(e,t){return U(ht,e,{baseOptions:{modelAssetBuffer:t}})},ht.createFromOptions=function(e,t){return U(ht,e,t)};var Ke=class extends Be{constructor(e,t){super(new et(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},N(e=this.h=new kc,0,1,t=new ie)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?$(this.h,2,Jr(e.displayNamesLocale)):"displayNamesLocale"in e&&$(this.h,2),e.maxResults!==void 0?yt(this.h,3,e.maxResults):"maxResults"in e&&$(this.h,3),e.scoreThreshold!==void 0?C(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&$(this.h,4),e.categoryAllowlist!==void 0?Ci(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&$(this.h,5),e.categoryDenylist!==void 0?Ci(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&$(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},tt(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},ut(this,e,r,t),this.j}m(){var e=new Oe;te(e,"input_frame_gpu"),te(e,"norm_rect"),z(e,"detections");const t=new Pe;ct(t,Bu,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.ObjectDetectorGraph"),Q(r,"IMAGE:input_frame_gpu"),Q(r,"NORM_RECT:norm_rect"),B(r,"DETECTIONS:detections"),r.o(t),We(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Xa(s),this.j.detections.push(Tc(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ke.prototype.detectForVideo=Ke.prototype.G,Ke.prototype.detect=Ke.prototype.F,Ke.prototype.setOptions=Ke.prototype.o,Ke.createFromModelPath=async function(e,t){return U(Ke,e,{baseOptions:{modelAssetPath:t}})},Ke.createFromModelBuffer=function(e,t){return U(Ke,e,{baseOptions:{modelAssetBuffer:t}})},Ke.createFromOptions=function(e,t){return U(Ke,e,t)};var $s=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){var e;(e=this.segmentationMasks)==null||e.forEach(t=>{t.close()})}};function cl(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function ll(e){try{const t=new $s(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.u)return t;e.u(t)}finally{Ji(e)}}$s.prototype.close=$s.prototype.close;var je=class extends Be{constructor(e,t){super(new et(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,N(e=this.h=new Sc,0,1,t=new ie),this.A=new wc,N(this.h,0,3,this.A),this.j=new fc,N(this.h,0,2,this.j),yt(this.j,4,1),C(this.j,2,.5),C(this.A,2,.5),C(this.h,4,.5)}get baseOptions(){return V(this.h,ie,1)}set baseOptions(e){N(this.h,0,1,e)}o(e){return"numPoses"in e&&yt(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&C(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&C(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&C(this.A,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.u=typeof t=="function"?t:r,cl(this),tt(this,e,i),ll(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.u=typeof r=="function"?r:i,cl(this),ut(this,e,n,t),ll(this)}m(){var e=new Oe;te(e,"image_in"),te(e,"norm_rect"),z(e,"normalized_landmarks"),z(e,"world_landmarks"),z(e,"segmentation_masks");const t=new Pe;ct(t,Uu,this.h);const r=new Ce;Me(r,2,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"NORM_LANDMARKS:normalized_landmarks"),B(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),We(e,r),Qi(this,e),this.g.attachProtoVectorListener("normalized_landmarks",(i,n)=>{this.landmarks=[];for(const s of i)i=ii(s),this.landmarks.push(Yi(i));x(this,n)}),this.g.attachEmptyPacketListener("normalized_landmarks",i=>{this.landmarks=[],x(this,i)}),this.g.attachProtoVectorListener("world_landmarks",(i,n)=>{this.worldLandmarks=[];for(const s of i)i=_r(s),this.worldLandmarks.push(ni(i));x(this,n)}),this.g.attachEmptyPacketListener("world_landmarks",i=>{this.worldLandmarks=[],x(this,i)}),this.outputSegmentationMasks&&(B(r,"SEGMENTATION_MASK:segmentation_masks"),Sr(this,"segmentation_masks"),this.g.aa("segmentation_masks",(i,n)=>{this.segmentationMasks=i.map(s=>Tr(this,s,!0,!this.u)),x(this,n)}),this.g.attachEmptyPacketListener("segmentation_masks",i=>{this.segmentationMasks=[],x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};je.prototype.detectForVideo=je.prototype.G,je.prototype.detect=je.prototype.F,je.prototype.setOptions=je.prototype.o,je.createFromModelPath=function(e,t){return U(je,e,{baseOptions:{modelAssetPath:t}})},je.createFromModelBuffer=function(e,t){return U(je,e,{baseOptions:{modelAssetBuffer:t}})},je.createFromOptions=function(e,t){return U(je,e,t)},je.POSE_CONNECTIONS=il;const en="https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task",Ku="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.32/wasm",Yu=()=>{const e=d.useRef(null),[t,r]=d.useState(!1),[i,n]=d.useState("Initializing..."),[s,a]=d.useState(0),[c,l]=d.useState(!1);d.useEffect(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(w=>{console.log("ServiceWorker registered:",w)}).catch(w=>{console.log("ServiceWorker registration failed:",w)})},[]);const h=async()=>"caches"in window?await(await caches.open("mediapipe-models-v1")).match(en)!==void 0:!1,u=async()=>{try{const w=await fetch(en),g=w.headers.get("content-length"),p=g?parseInt(g,10):0;if(!w.body)throw new Error("No response body");const y=w.body.getReader();let m=0;const b=[];for(;;){const{done:v,value:I}=await y.read();if(v)break;if(b.push(I),m+=I.length,p){const T=Math.round(m/p*100);a(T),n(`Downloading model... ${T}%`)}}return"caches"in window&&await(await caches.open("mediapipe-models-v1")).put(en,new Response(new Blob(b),{headers:{"Content-Type":"application/octet-stream"}})),!0}catch(w){return console.error("Failed to preload model:",w),!1}};return d.useEffect(()=>{(async()=>{try{n("Checking cached models..."),await h()?n("Using cached model..."):(n("Model not cached. Downloading..."),await u()),n("Loading MediaPipe WASM...");const p=await Qt.forVisionTasks(Ku);n("Creating face landmarker...");const y=await re.createFromOptions(p,{baseOptions:{modelAssetPath:en,delegate:"GPU"},runningMode:"VIDEO",outputFaceBlendshapes:!0,numFaces:2});e.current=y,r(!0),n("Model loaded successfully ✅")}catch(g){console.error("Model init error:",g),n(`Error: ${g==null?void 0:g.message}`),(g==null?void 0:g.name)==="NotAllowedError"&&l(!0)}})()},[]),{faceLandmarkerRef:e,isModelLoaded:t,statusMessage:i,setStatusMessage:n,loadingProgress:s,permissionDenied:c,clearCache:async()=>{"caches"in window&&(await caches.delete("mediapipe-models-v1"),n("Cache cleared. Please refresh to re-download models."))}}},Xu=()=>{const[e,t]=d.useState(0),r=d.useRef({lastTime:0,frames:0,fps:0}),i=d.useCallback(()=>{const n=performance.now(),s=r.current;if(s.frames++,n-s.lastTime>=1e3){const a=Math.round(s.frames*1e3/(n-s.lastTime));t(a),s.frames=0,s.lastTime=n}},[]);return{fps:e,updateFPS:i}},Qu=()=>{const e=d.useRef({value:100,isLookingAway:!1}),t=d.useCallback((s,a,c,l)=>{if(!s||!c||!a)return;const h=s.getContext("2d");if(!h)return;const{width:u,height:f}=s;if(h.clearRect(0,0,u,f),h.drawImage(a,0,0,u,f),l){h.fillStyle="#00FF00";for(const w of c)h.fillRect(w.x*u-.5,w.y*f-.5,1,1)}},[]),r=d.useCallback(s=>{const a=e.current.value/100,c=100,l=20,h=20,u=40;s.fillStyle="rgba(0, 0, 0, 0.3)",s.fillRect(h,u,l,c),s.fillStyle=`rgba(${Math.floor(255*(1-a))}, ${Math.floor(255*a)}, 0, 0.8)`;const f=c*a;s.fillRect(h,u+c-f,l,f),s.fillStyle="#FFFFFF",s.fillRect(h,u+c*(1-a),l,2)},[]),i=d.useCallback((s,a,c,l,h,u,f)=>{if(t(s,a,c,l),h&&u&&f){const w=s.getContext("2d");w&&r(w)}},[t,r]),n=d.useCallback((s,a)=>{const c=s.getContext("2d");c&&(c.clearRect(0,0,s.width,s.height),c.drawImage(a,0,0,s.width,s.height))},[]);return{drawLandmarks:t,drawEngagementBar:r,drawWithEngagementBar:i,clearCanvas:n,engagementRef:e}},Ju=50,Zu=()=>{const[e,t]=d.useState(100),[r,i]=d.useState(!1),n=d.useRef(0),s=d.useCallback((a,c,l)=>{if(!l||a.length<468)return;const h=a[33],u=a[263],f=a[1];if(!h||!u||!f)return;const w=(h.x+u.x)*.5,g=(h.y+u.y)*.5,p=w-c.x,y=g-c.y,m=Math.sqrt(p*p+y*y),b=Math.abs(f.y-c.noseY)*100,v=Math.abs(f.x-c.noseX)*100,I=Math.max(0,100-(m*200+b+v)),T=I<Ju,S=performance.now();return S-n.current>100&&(t(I),i(T),n.current=S),{engagement:I,isLookingAway:T}},[]);return{engagement:e,isLookingAway:r,analyzeGaze:s,setEngagement:t,setIsLookingAway:i}},Ru=.05,e1=()=>{const[e,t]=d.useState(!1),[r,i]=d.useState(!1),n=d.useCallback((c,l)=>Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2)),[]),s=d.useCallback((c,l)=>{if(!c||!l)return 0;const h=[1,33,263,61,291,10,152];let u=0,f=0;const w=l[33],g=l[263],p=c[33],y=c[263];if(!w||!g||!p||!y)return 0;const m=n(w,g),b=n(p,y);if(m===0||b===0)return 0;for(const I of h){const T=l[I],S=c[I];if(T&&S){const A=w.x+(S.x-p.x)*m/b,M=w.y+(S.y-p.y)*m/b;u+=n(T,{x:A,y:M}),f++}}return f===0?0:u/f},[n]),a=d.useCallback((c,l,h,u)=>{if(!c.faceLandmarks||c.faceLandmarks.length===0)return u("Face not detected."),i(!0),t(!1),null;if(l&&h){let f=null,w=0;for(const g of c.faceLandmarks)s(g,h)<Ru&&(f=g,w++);return w===1?(t(!1),i(!1),u("Reference face tracked."),f):w>1?(t(!0),i(!1),u("Multiple matching faces detected. Tracking suspended."),null):(t(!1),i(!0),u("Reference face not detected."),null)}else{const f=c.faceLandmarks[0];if(c.faceLandmarks.length>1)return t(!0),i(!1),u("Multiple faces detected. Please ensure only you are visible."),null;if(!f)return i(!0),t(!1),u("Face not detected."),null;const g=f[1],p=f[33],y=f[263];return g&&p&&y&&g.x>.35&&g.x<.65&&g.y>.3&&g.y<.7&&p.x>.2&&p.x<.8&&y.x>.2&&y.x<.8?(i(!1),t(!1),u("Face detected. Ready for calibration."),f):(i(!0),t(!1),u("Please position your face in the center."),null)}},[s]);return{multipleFacesDetected:e,referenceFaceNotDetected:r,analyzeFace:a,setMultipleFacesDetected:t,setReferenceFaceNotDetected:i}},t1=500,r1=(e,t)=>{const[r,i]=d.useState(!1),[n,s]=d.useState(Te.MODEL_LOADING),{incrementGazeViolation:a}=Js(),{multipleFacesDetected:c,referenceFaceNotDetected:l,isLookingAway:h}=e;d.useEffect(()=>{let w;return(h||c||l)&&t?w=setTimeout(()=>{i(!0),h?(s("looking_away"),a("looking_away")):c?(s("multiple_faces"),a("multiple_faces")):l&&(s("no_face_detected"),a("no_face_detected"))},t1):(i(!1),s("face_detected")),()=>{clearTimeout(w)}},[h,c,l,t,a]);const u=d.useCallback(()=>c?Te.MULTIPLE_FACES:l?"no_face_detected":h?Te.LOOKING_AWAY:n===Te.MODEL_LOADING?Te.MODEL_LOADING:Te.FACE_DETECTED,[c,l,h]),f=d.useCallback(()=>{i(!1),s("face_detected")},[]);return{showGazeWarningModal:r,faceDetectionState:n,getWarningType:u,closeWarningModal:f,setShowGazeWarningModal:i,setFaceDetectionState:s}};class W extends Error{constructor(t,r,i=!1){super(t),this.code=r,this.recoverable=i,this.name="STTError"}}const i1=50*1024*1024,dl=300,ul=500;class hl{constructor(t={}){ye(this,"config");ye(this,"mediaRecorder",null);ye(this,"audioChunks",[]);ye(this,"audioChunksTotalSize",0);ye(this,"recordingStream",null);ye(this,"autoStopTimeoutId",null);ye(this,"disposed",!1);ye(this,"pendingStopPromise",null);ye(this,"isStarting",!1);ye(this,"recordingStartTime",null);this.config={baseUrl:"http://localhost:8000",provider:"groq",model:"whisper-large-v3-turbo",language:"en",includeTimestamps:!1,temperature:0,...t}}updateConfig(t){this.throwIfDisposed(),this.config={...this.config,...t}}isRecordingSupported(){return!!(navigator.mediaDevices&&typeof navigator.mediaDevices.getUserMedia=="function"&&window.MediaRecorder)}async startRecording(t,r){var i;if(this.throwIfDisposed(),!this.isRecordingSupported())throw new W("Audio recording is not supported in this browser","RECORDING_NOT_SUPPORTED",!1);if(this.isRecording()||this.isStarting){console.warn("STTService.startRecording: already recording or starting, ignoring duplicate call.");return}this.isStarting=!0;try{this.recordingStream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}}),this.audioChunks=[],this.audioChunksTotalSize=0;const n=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.recordingStream,{mimeType:n}),this.mediaRecorder.addEventListener("dataavailable",s=>{var a,c,l;if(s.data.size>0){if(this.audioChunksTotalSize+s.data.size>i1){console.error(`Max size exceeded: ${(this.audioChunksTotalSize/1024/1024).toFixed(2)} MB`);const h=new W("Recording exceeded maximum size limit","MAX_SIZE_EXCEEDED",!1);(a=r==null?void 0:r.onError)==null||a.call(r,h),this.isRecording()&&((c=this.mediaRecorder)==null||c.stop());return}this.audioChunks.push(s.data),this.audioChunksTotalSize+=s.data.size,(l=r==null?void 0:r.onDataAvailable)==null||l.call(r,s.data)}}),this.mediaRecorder.addEventListener("stop",()=>{var s;(s=r==null?void 0:r.onStop)==null||s.call(r)},{once:!0}),this.mediaRecorder.addEventListener("error",s=>{var c;const a=new W(`Recording failed: ${s.error}`,"RECORDING_ERROR",!0);(c=r==null?void 0:r.onError)==null||c.call(r,a),this.cleanup()}),this.mediaRecorder.start(100),this.recordingStartTime=Date.now(),(i=r==null?void 0:r.onStart)==null||i.call(r),t&&t>0&&(this.autoStopTimeoutId=setTimeout(()=>{this.handleAutoStop()},t*1e3))}catch(n){if(this.cleanup(),n instanceof Error){if(n.name==="NotAllowedError"||n.name==="PermissionDeniedError")throw new W("Microphone permission was denied","PERMISSION_DENIED",!1);if(n.name==="NotFoundError")throw new W("No microphone found","NO_MICROPHONE",!1)}throw new W(`Failed to start recording: ${n instanceof Error?n.message:String(n)}`,"START_RECORDING_FAILED",!0)}finally{this.isStarting=!1}}async stopRecording(){var t;if(this.throwIfDisposed(),this.pendingStopPromise)return this.pendingStopPromise;if(this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),!this.mediaRecorder||this.mediaRecorder.state==="inactive"){if(this.audioChunks.length>0){const i=((t=this.mediaRecorder)==null?void 0:t.mimeType)||"audio/webm",n=new Blob(this.audioChunks,{type:i});return this.cleanup(),n}const r=this.mediaRecorder?"State is inactive":"MediaRecorder is null";throw console.warn(`Cannot stop recording: ${r}`),new W("No active recording to stop","NO_ACTIVE_RECORDING",!1)}if(this.recordingStartTime!==null){const r=Date.now()-this.recordingStartTime;r<dl&&await new Promise(i=>setTimeout(i,dl-r))}return this.pendingStopPromise=new Promise((r,i)=>{if(!this.mediaRecorder){this.pendingStopPromise=null,i(new W("MediaRecorder is null","MEDIARECORDER_NULL",!1));return}const n=this.mediaRecorder,s=()=>{setTimeout(()=>{try{const a=n.mimeType||"audio/webm",c=new Blob(this.audioChunks,{type:a});if(!c||c.size===0){this.cleanup(),i(new W("Audio blob is empty","EMPTY_BLOB",!1));return}this.cleanup(),r(c)}catch(a){this.cleanup(),i(new W(`Failed to create audio blob: ${a instanceof Error?a.message:String(a)}`,"BLOB_CREATION_FAILED",!1))}finally{this.pendingStopPromise=null}},0)};n.addEventListener("stop",s,{once:!0});try{n.requestData(),n.stop()}catch(a){this.pendingStopPromise=null,i(a)}}),this.pendingStopPromise}handleAutoStop(){if(!this.isRecording())return;const t=this.recordingStartTime?Date.now()-this.recordingStartTime:1/0;if(t<ul){const r=ul-t;setTimeout(()=>{this.isRecording()&&this.executeAutoStop()},r);return}this.executeAutoStop()}executeAutoStop(){this.stopRecording().catch(t=>{console.error("Auto-stop recording failed:",t),t instanceof W&&console.error(`[${t.code}] ${t.message}`)})}async transcribe(t){this.throwIfDisposed();const{audioBlob:r}=t;if(!r||r.size===0)throw new W("Audio blob is empty or invalid","INVALID_AUDIO",!1);try{const i=new FormData,n=new File([r],"recording.wav",{type:r.type||"audio/wav"});if(i.append("file",n),i.append("qna_id",this.config.qnaId||""),!this.config.interviewId)throw new W("Interview ID is missing from configuration","MISSING_INTERVIEW_ID",!1);const s=await xt(`${this.config.baseUrl}${_t.TRANSCRIBE_ANSWER(this.config.interviewId)}`,{method:"POST",headers:{accept:"application/json","X-STT-Provider":this.config.provider||"groq",...this.config.authToken&&{Authorization:`Bearer ${this.config.authToken}`}},body:i},{attempts:1,backoff:"exponential",baseDelay:1e3,maxDelay:3e3,jitter:!0});if(!s.ok){const c=await s.text();let l=`STT request failed: ${s.status} ${s.statusText}`;try{const h=JSON.parse(c);l=h.message||h.error||l}catch{l=c||l}throw new W(l,`HTTP_${s.status}`,s.status>=500)}return{transcript:(await s.json()).data.transcribed_text??""}}catch(i){throw i instanceof W?i:new W(`Transcription failed: ${i instanceof Error?i.message:String(i)}`,"TRANSCRIPTION_FAILED",!0)}}cancelRecording(){this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),this.mediaRecorder&&this.isRecording()&&this.mediaRecorder.stop(),this.cleanup()}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}dispose(){this.disposed||(this.cancelRecording(),this.disposed=!0)}isDisposed(){return this.disposed}getSupportedMimeType(){const t=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/wav"];for(const r of t)if(MediaRecorder.isTypeSupported(r))return r;return"audio/webm"}getRecordingStream(){return this.recordingStream}cleanup(){this.recordingStream&&(this.recordingStream.getTracks().forEach(t=>t.stop()),this.recordingStream=null),this.recordingStartTime=null,this.mediaRecorder=null,this.audioChunks=[],this.audioChunksTotalSize=0,this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null)}throwIfDisposed(){if(this.disposed)throw new W("STTService has been disposed and cannot be reused","SERVICE_DISPOSED",!1)}}const n1=new hl,s1=(e,t,r,i)=>{const n=d.useRef(null);return d.useEffect(()=>{if(!t)return;const s=async()=>{try{const l=await navigator.mediaDevices.getUserMedia({video:{width:{ideal:640},height:{ideal:480},facingMode:"user"}});e.current&&(e.current.srcObject=l,e.current.onloadeddata=()=>{r()})}catch(l){console.error("Camera access error:",l),i("Camera access failed")}},a=n.current,c=e.current;return s(),()=>{a&&cancelAnimationFrame(a),c!=null&&c.srcObject&&c.srcObject.getTracks().forEach(h=>h.stop())}},[t,r]),d.useEffect(()=>{const s=n1.getRecordingStream();if(s&&e.current){e.current.srcObject=s;const a=s.getVideoTracks(),c=s.getAudioTracks(),l=()=>{console.log("Media track ended - permission may have been revoked")};[...a,...c].forEach(h=>{h.addEventListener("ended",l)})}},[]),{animationFrameRef:n}},o1=(e,t,r,i,n,s,a,c,l,h,u,f,w,g,p)=>{const y=d.useRef(null),m=d.useCallback(()=>{const b=e.current,v=t.current,I=r.current;if(!b||b.readyState<2||!I||!v){y.current=requestAnimationFrame(m);return}i();try{const T=performance.now(),S=I.detectForVideo(b,T),A=n(S,l,h.current,g);A?(s(v,b,A,u,f,w,l),l&&w&&c(A,h.current,w)):a(v,b)}catch(T){console.error("Face detection error:",T)}y.current=requestAnimationFrame(m)},[e,t,r,i,n,s,a,c,l,h,u,f,w,g,p]);return{renderLoop:m,animationFrameRef:y}},a1=(e,t,r,i)=>{const{referenceSet:n,referenceRef:s,setReferenceData:a}=Js(),c=d.useRef(s),l=d.useCallback(()=>{c.current=s},[s]),h=d.useCallback(()=>{var g;const f=e.current,w=t.current;if(!(!f||!w))try{const p=performance.now(),y=f.detectForVideo(w,p);if((g=y.faceLandmarks)!=null&&g[0]){const m=y.faceLandmarks[0],b=m[33],v=m[263],I=m[1];b&&v&&I&&(c.current={x:(b.x+v.x)*.5,y:(b.y+v.y)*.5,noseX:I.x,noseY:I.y},a(!0,c.current),r("Reference set. Gaze tracking active."),i&&i())}}catch(p){console.error("Set reference error:",p),r("Failed to set reference")}},[e,t,r,a,i]),u=d.useCallback(()=>{a(!1,{x:0,y:0,noseX:0,noseY:0}),r("Reference reset. Starting calibration...")},[a,r]);return{referenceSet:n,referenceRef:c,setReference:h,resetReference:u,syncReference:l}};function c1({onClose:e,warningType:t,isCheatingModalOpen:r=!1}){const i=no[t],n=i.icon;return t==="face_detected"?null:o.jsx("div",{className:"iw-absolute iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300 iw-transition-all",style:{bottom:r?"280px":"5rem"},children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#5C6686] iw-bg-[#F1F5FE] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:e,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(pi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-2",children:[o.jsx("div",{className:"iw-flex iw-size-8 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#5C6686]",children:o.jsx(n,{className:"iw-size-6 iw-text-[#5C6686]"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsx("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#062260] iw-pr-6",children:i.title}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:i.subtitle}),i.description&&o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-[#5C6686] iw-pt-3",children:o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:i.description})})]})]})]})})}const l1=({status:e})=>{const t=no[e];if(!t)return null;const r=e!=="face_detected";return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-0.5",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-px-3 iw-py-1 iw-rounded-full iw-backdrop-blur-md iw-shadow-sm transition-colors duration-300 iw-text-white",children:[o.jsx("div",{className:`iw-flex iw-h-4 iw-w-4 iw-items-center iw-size-2.5 iw-justify-center iw-rounded-full iw-text-white ${e==="face_detected"?"iw-bg-[#22C55E]":e==="model_loading"?"iw-bg-[#062260]":"iw-bg-[#E94315]"}`,children:e==="face_detected"?o.jsx(gi,{}):e==="model_loading"?o.jsx("div",{className:"iw-animate-spin iw-border iw-border-white iw-border-t-transparent iw-rounded-full iw-w-2 iw-h-2"}):o.jsx(pi,{})}),o.jsx("span",{className:"iw-text-sm iw-font-medium",children:e==="face_detected"?"Face detected clearly":e==="camera_error"?"Camera not found":t.title})]}),r&&o.jsx("span",{className:"iw-text-white iw-text-center iw-text-xs iw-drop-shadow-sm iw-max-w-[400px] iw-px-3",children:e==="model_loading"?"Initializing Face models. Please wait...":e==="no_face_detected"?"Face not detected. Please position yourself clearly in the frame.":e==="multiple_faces"?"Multiple faces detected. Please ensure only you are visible.":"Please position your face correctly."})]})},fl=d.forwardRef(({className:e="",interviewId:t="",interview_duration:r,showProctoringUI:i=!0,onSetReference:n,isAnswering:s,onProctoringStatusChange:a,showStatusOverlay:c=!1,cheatingWarningVisible:l=!1,isDeviceLoading:h=!1,videoAllowed:u=!0},f)=>{var Sl;const{authToken:w}=eo(),g=w?Hl(w):null,{borderRadius:p}=Zt(),y=p??18,{proctoring:m,capture_screenshots:b}=mn(),v=!!(m!=null&&m.gazeAnalysisEnabled),[I,T]=d.useState(!1),[S,A]=d.useState((m==null?void 0:m.showLandmarks)??!1),[M,F]=d.useState(i&&((m==null?void 0:m.showEngagementBar)??!0)),[D,G]=d.useState(v),[Y,H]=d.useState(!1),q=d.useRef(null),Z=d.useRef(null),O=d.useRef(null),R=d.useRef(null),Ye=d.useCallback(async Ee=>{var un;const di=q.current,Se=O.current;if(!di||!Se)return;const Br=Se.getContext("2d");if(!Br)return;Se.width=di.videoWidth,Se.height=di.videoHeight,Br.save(),Br.scale(-1,1),Br.drawImage(di,-Se.width,0,Se.width,Se.height),Br.restore();const ui=await new Promise(Jt=>Se.toBlob(Jt,"image/jpeg"));if(ui&&t)try{const Jt=`${Ee}-${Date.now()}.jpeg`,Ae=await mi.requestScreenshotUploadUrl(t,Jt);Ae.data&&Ae.data.upload_url&&(await mi.uploadScreenshot((un=Ae==null?void 0:Ae.data)==null?void 0:un.upload_url,ui),Ae.data.asset_id&&await mi.confirmScreenshotUpload(Ae.data.asset_id))}catch(Jt){console.error(`Failed to upload screenshot for ${Ee}:`,Jt)}},[mi,t]);d.useEffect(()=>{let Ee;return s&&(H(!0),Ee=setTimeout(()=>H(!1),1e3)),()=>{Ee&&clearTimeout(Ee)}},[s]);const{faceLandmarkerRef:ft,isModelLoaded:Xe,statusMessage:oi,setStatusMessage:ke,loadingProgress:Lt,permissionDenied:Mt,clearCache:Cr}=Yu(),{fps:Nr,updateFPS:Ir}=Xu(),{drawWithEngagementBar:Fr,clearCanvas:Lr,engagementRef:rt}=Qu(),{engagement:Qe,isLookingAway:wt,analyzeGaze:me,setEngagement:Mr,setIsLookingAway:Dt}=Zu(),{multipleFacesDetected:Dr,referenceFaceNotDetected:Pr,analyzeFace:Ks,setMultipleFacesDetected:sn,setReferenceFaceNotDetected:ai}=e1(),{referenceSet:on,referenceRef:an,setReference:Or,resetReference:cn,syncReference:ci}=a1(ft,q,ke,n),ln={multipleFacesDetected:Dr,referenceFaceNotDetected:Pr,isLookingAway:wt},{showGazeWarningModal:li,getWarningType:L,closeWarningModal:j,setShowGazeWarningModal:Je,setFaceDetectionState:dn}=r1(ln,v&&!c);d.useEffect(()=>{if(a){if(h||!Xe){a("model_loading");return}if(!u){a("camera_error");return}const Ee=L()||Te.NO_FACE;a(Ee)}},[Xe,h,u,Dr,Pr,wt,L,a]);const{renderLoop:n2}=o1(q,Z,ft,Ir,Ks,Fr,Lr,me,on,an,S,M,v,ke,ai);s1(q,Xe,n2,ke),d.useEffect(()=>{ci()},[ci]),d.useEffect(()=>{rt&&rt.current&&(rt.current.value=Qe,rt.current.isLookingAway=wt)},[Qe,wt,rt]);const s2=d.useCallback(Ee=>{G(Ee),Ee||(Mr(100),Dt(!1))},[Mr,Dt]),o2=d.useCallback(()=>{Dt(!1),sn(!1),ai(!1),dn("face_detected"),Je(!1),j()},[Dt,sn,ai,dn,Je,j]),a2={engagement:Qe,fps:Nr,isLookingAway:wt,multipleFacesDetected:Dr,referenceFaceNotDetected:Pr};return d.useEffect(()=>{if(!b)return;const Ee=[];return(async()=>{try{const Se=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});R.current=Se,q.current&&(q.current.srcObject=Se);const ui=(r??hi)*60*1e3/3,un=[0,1,2].map((Ae,Pt)=>({label:`capture-${Pt+1}`,start:Pt*ui,end:(Pt+1)*ui})),Jt=(Ae,Pt)=>Ae===Pt?Ae:Math.random()*(Pt-Ae)+Ae;un.forEach(({label:Ae,start:Pt,end:c2},l2)=>{let Ys;l2===0?Ys=3e3:Ys=Jt(Pt,c2),Ee.push(setTimeout(()=>{Ye(Ae)},Ys))})}catch(Se){console.error("Error accessing camera:",Se)}})(),()=>{R.current&&R.current.getTracks().forEach(Se=>Se.stop()),Ee.forEach(clearTimeout)}},[Ye,b]),d.useImperativeHandle(f,()=>({setReference:()=>{Or()},resetReference:()=>{cn()},stopCamera:()=>{R.current&&(R.current.getTracks().forEach(Ee=>Ee.stop()),R.current=null)}}),[Or,cn]),o.jsxs("div",{className:`iw-relative iw-h-full iw-w-full ${e}`,children:[Mt?o.jsxs("div",{className:"iw-rounded-md iw-border iw-border-red-600 iw-p-5 iw-text-red-600",children:[o.jsx("h2",{children:"Camera Permission Denied"}),o.jsx("p",{children:"Please allow camera access to use this application."})]}):o.jsx("div",{className:"iw-flex iw-w-full iw-h-full iw-justify-start iw-items-start",children:o.jsxs("div",{className:`iw-relative iw-max-w-full iw-max-h-full iw-aspect-video iw-rounded-2xl iw-overflow-hidden iw-bg-black ${Y?"iw-animate-answer-start":""} ${s?"iw-border-4 iw-border-[#6296FB]":""}`,style:{width:"100%",height:"auto",minHeight:"0"},children:[o.jsx("video",{ref:q,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}}),!u&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-flex-col iw-items-center iw-justify-center iw-bg-black/60 iw-z-30",children:h||!Xe?o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-w-5 iw-h-5 iw-border-2 iw-border-white/20 iw-border-t-white iw-rounded-full iw-animate-spin"}),o.jsx("span",{className:"iw-text-white/60 iw-text-xs iw-font-medium iw-tracking-wide",children:"Initializing camera..."})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"iw-text-white iw-font-medium iw-text-sm",children:"Camera not found"}),o.jsx("p",{className:"iw-text-white/60 iw-text-xs iw-mt-1",children:"Please ensure your camera is connected and enabled"})]})}),v&&o.jsx("canvas",{ref:Z,width:320,height:240,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)",borderRadius:y,display:"hidden"}}),o.jsx("canvas",{ref:O,style:{display:"none"}}),i&&o.jsxs("div",{className:"iw-absolute iw-top-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#FFEBE6] iw-px-2 iw-py-1 iw-backdrop-blur-md",children:[o.jsx("div",{className:"iw-size-2 iw-animate-pulse iw-rounded-full iw-bg-red-500"}),o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#E94315]",children:"RECORDING"})]}),i&&((Sl=g==null?void 0:g.data)==null?void 0:Sl.user_name)&&o.jsx("div",{className:"iw-absolute iw-z-50 iw-bottom-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#F1F5FE] iw-px-3 iw-py-1 iw-backdrop-blur-md",children:o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#062260]",children:g.data.user_name})}),i&&o.jsx("div",{className:"iw-absolute iw-bottom-4 iw-right-4",children:o.jsx(od,{showControls:(m==null?void 0:m.showControls)??!1,isBubbleOpen:I,setIsBubbleOpen:T,setReference:Or,clearCache:Cr,isModelLoaded:Xe,gazeAnalysisEnabled:D&&v,referenceSet:on,showLandmarks:S,setShowLandmarks:A,showEngagementBar:M,setShowEngagementBar:F,handleToggleGazeAnalysis:s2,stats:a2,statusMessage:oi,loadingProgress:Lt})}),c&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute iw-inset-0 iw-pointer-events-none iw-z-10 ",style:{background:"radial-gradient(ellipse 20% 40% at 50% 45%, transparent 99.5%, rgba(0,0,0,0.35) 100%)"}}),o.jsx("div",{className:"iw-absolute iw-bottom-2 iw-inset-x-0 iw-flex iw-justify-center iw-pointer-events-none iw-z-20",children:o.jsx(l1,{status:u?h||!Xe?"model_loading":L()??"no_face_detected":"camera_error"})})]})]})}),v&&li&&!c&&o.jsx(c1,{isOpen:li,onClose:o2,warningType:L(),isCheatingModalOpen:l})]})}),tn=({children:e,variant:t="primary",size:r="md",fullWidth:i=!1,isLoading:n=!1,disabled:s,className:a="",...c})=>{const l="iw-inline-flex iw-items-center iw-justify-center iw-rounded-md iw-font-medium iw-transition-colors iw-focus:outline-none iw-focus:ring-2 iw-focus:ring-primary-500 iw-focus:ring-offset-2",h={primary:"iw-bg-primary-600 iw-text-white iw-hover:bg-primary-700 iw-border iw-border-transparent",secondary:"iw-bg-primary-100 iw-text-primary-700 iw-hover:bg-primary-200 iw-border iw-border-transparent",outline:"iw-bg-transparent iw-text-primary-700 iw-border iw-border-primary-500 iw-hover:bg-primary-50",text:"iw-bg-transparent iw-text-primary-600 iw-hover:bg-primary-50 iw-border iw-border-transparent",gradient:"iw-text-white iw-border iw-border-transparent iw-bg-gradient-to-r iw-from-purple-500 iw-to-indigo-500 hover:iw-from-purple-600 hover:iw-to-indigo-600"},u={sm:"iw-px-3 iw-py-1.5 iw-text-sm",md:"iw-px-4 iw-py-2.5 iw-text-sm",lg:"iw-px-5 iw-py-3 iw-text-base"},f="iw-disabled:opacity-50 iw-disabled:cursor-not-allowed iw-disabled:pointer-events-none",w=i?"iw-w-full":"";return o.jsxs("button",{className:`${l} ${h[t]} ${u[r]} ${w} ${f} ${a}`,disabled:s||n,...c,children:[n&&o.jsx(ro,{height:16,width:16,style:{marginRight:"3px"}}),e]})},d1=({stream:e,className:t="",barCount:r=50})=>{const i=d.useRef(null),n=d.useRef(null),s=d.useRef(null),a=d.useRef(null),c=d.useRef(null);d.useEffect(()=>{if(!e||window===void 0)return;a.current||(a.current=new(window.AudioContext||window.webkitAudioContext));const h=a.current;s.current||(s.current=h.createAnalyser(),s.current.fftSize=256,s.current.smoothingTimeConstant=.5);const u=s.current;try{c.current&&c.current.disconnect(),c.current=h.createMediaStreamSource(e),c.current.connect(u)}catch(w){console.error("Error creating media stream source:",w);return}const f=()=>{if(!i.current)return;const w=i.current,g=w.getContext("2d");if(!g)return;const p=u.frequencyBinCount,y=new Uint8Array(p);u.getByteFrequencyData(y);const m=w.width,b=w.height;g.clearRect(0,0,m,b);let v=0;for(let M=0;M<p;M++){const F=y[M]??0;v+=F*F}const I=Math.sqrt(v/p),T=Math.min(1,I/128);g.clearRect(0,0,m,b);const S=r,A=Math.floor(T*S);for(let M=0;M<S;M++){const F=M*(m/S),D=m/S-1.8;M<A?g.fillStyle="#0EB00E":g.fillStyle="#D9D9D9",g.fillRect(F,0,D,b)}n.current=requestAnimationFrame(f)};return f(),()=>{n.current&&cancelAnimationFrame(n.current)}},[e,r]);const l=d.useRef({audioContext:a.current,source:c.current});return l.current={audioContext:a.current,source:c.current},d.useEffect(()=>()=>{l.current.source&&l.current.source.disconnect(),l.current.audioContext&&l.current.audioContext.state!=="closed"&&l.current.audioContext.close()},[]),o.jsx("canvas",{ref:i,className:t,width:300,height:20,style:{width:"100%",height:"16px"}})},wl=({icon:e,devices:t,selectedId:r,onChange:i,label:n,showVisualizer:s=!1,stream:a=null,hasPermission:c=!0})=>{const{baseColor:l}=Zt(),[h,u]=d.useState(!1),f=d.useRef(null);d.useEffect(()=>{const p=y=>{f.current&&!f.current.contains(y.target)&&u(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[]);const w=t.find(p=>p.deviceId===r)||t[0],g=c&&(w==null?void 0:w.label)||n;return o.jsxs("div",{className:"iw-relative iw-flex-1 iw-w-1/2 iw-group",ref:f,children:[o.jsxs("div",{className:`iw-max-w-[300px] iw-flex iw-items-center iw-justify-between iw-bg-white iw-border iw-border-gray-200 iw-rounded-xl iw-px-3 iw-py-3 iw-transition-colors ${c?"iw-cursor-pointer hover:iw-border-blue-500":"iw-cursor-not-allowed"}`,onClick:()=>c&&u(!h),title:c?"":"Permission denied or device not found",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3 iw-min-w-0 iw-max-w-[210px]",children:[o.jsx(e,{className:"iw-w-5 iw-h-5 iw-text-[#062260] iw-flex-shrink-0"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-truncate",children:g})]}),o.jsx("div",{className:"iw-flex iw-items-center iw-gap-2",children:c?o.jsxs(o.Fragment,{children:[o.jsx(Ql,{className:`iw-w-4 iw-h-4 iw-text-gray-400 iw-transition-transform ${h?"iw-rotate-180":""}`}),r&&o.jsx("div",{className:"iw-bg-[#22C55E] iw-rounded-full iw-p-0.5",children:o.jsx(gi,{className:"iw-w-3 iw-h-3 iw-text-white"})})]}):o.jsx("div",{className:"iw-text-[#E94315] iw-relative",children:o.jsx(wi,{className:"iw-size-5"})})})]}),!c&&o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/6 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:l},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsxs("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:["Allow us to access your ",(n==null?void 0:n.split(" ")[1])??"device"]})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"We need permission to access your device. Go to your browser privacy settings to allow it"}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})}),s&&c&&o.jsxs("div",{className:"iw-mt-2 iw-px-1 iw-flex iw-items-center iw-gap-2 iw-overflow-hidden",children:[o.jsx(rd,{className:"iw-min-h-5 iw-min-w-5"}),o.jsx(d1,{stream:a,className:"iw-w-full"})]}),h&&c&&o.jsxs("div",{className:"iw-absolute iw-bottom-full iw-left-0 iw-right-0 iw-mb-2 iw-bg-white iw-border iw-border-gray-100 iw-rounded-xl iw-shadow-xl iw-z-50 iw-py-2 iw-max-h-60 iw-overflow-y-auto",children:[t.map(p=>o.jsxs("div",{className:`iw-px-4 iw-py-2.5 iw-text-sm iw-cursor-pointer iw-flex iw-items-center iw-justify-start hover:iw-bg-gray-50 ${r===p.deviceId?"iw-text-[#062260] iw-font-medium iw-bg-blue-50":"iw-text-gray-600"}`,onClick:()=>{i==null||i(p.deviceId),u(!1)},children:[r===p.deviceId&&o.jsx(gi,{className:"iw-w-4 iw-h-4 iw-text-[#062260] iw-mr-1"}),o.jsx("span",{className:"iw-truncate",children:p.label||`Device ${p.deviceId.slice(0,5)}...`})]},p.deviceId)),t.length===0&&o.jsx("div",{className:"iw-px-4 iw-py-2 iw-text-sm iw-text-gray-400",children:"No devices found"})]})]})},gl=({micEnabled:e=!1,videoEnabled:t=!1,buttonText:r,onButtonClick:i,isAgreed:n,onAgreedToggle:s,showCheckbox:a=!0,showMediaIcons:c=!0,disabled:l=!1,audioDevices:h=[],videoDevices:u=[],selectedAudioId:f,selectedVideoId:w,onAudioChange:g,onVideoChange:p,audioStream:y=null,isDeviceLoading:m=!1})=>{const b=l||!n||c&&(!e||!t)||m;return o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-4 iw-w-full",children:[a&&o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-3 iw-border iw-border-[#c2c3c7]",children:[o.jsx("div",{className:`iw-mt-0.5 iw-h-5 iw-w-5 iw-min-w-[20px] iw-rounded iw-border iw-flex iw-items-center iw-justify-center iw-cursor-pointer iw-transition-colors ${n?"iw-bg-[#062260] iw-border-[#062260]":"iw-bg-white iw-border-[#062260]"}`,onClick:v=>{v.stopPropagation(),s(!n)},children:n&&o.jsx(gi,{className:"iw-size-3 iw-text-white"})}),o.jsx("label",{onClick:()=>s(!n),className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-cursor-pointer iw-select-none",children:"By continuing, you acknowledge and consent to the use of your face data exclusively for interview monitoring"})]}),o.jsx("div",{className:"iw-flex iw-justify-center iw-items-center iw-gap-4 iw-flex-wrap iw-max-w-[700px] iw-mx-auto",children:c&&o.jsxs("div",{className:"iw-flex iw-gap-4 iw-w-full",children:[o.jsx(wl,{icon:Rl,devices:h,selectedId:f??"",onChange:v=>g&&g(v),label:"Choose mic",showVisualizer:!0,stream:y,hasPermission:e}),o.jsx(wl,{icon:td,devices:u,selectedId:w??"",onChange:v=>p&&p(v),label:"Choose camera",hasPermission:t})]})}),o.jsxs("div",{className:"iw-relative iw-group iw-w-full iw-max-w-[280px] iw-mx-auto",children:[o.jsx(tn,{onClick:i,disabled:b,className:`iw-h-12 iw-w-full !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border-[#E7EAF1] iw-rounded-lg ${b?"iw-opacity-50":"hover:iw-opacity-75"}`,children:m?"Device Loading...":r}),!n&&(!c||e&&t)&&u1()]})]})},u1=()=>{const{baseColor:e}=Zt();return o.jsx(o.Fragment,{children:o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/2 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:e},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:"Action Required"})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"Please check the box to acknowledge and consent to continue."}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})})},h1=({steps:e,currentStepIndex:t})=>o.jsx("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4 iw-w-full iw-py-3",children:e.map((r,i)=>{const n=i<t,s=i===t;return o.jsxs(d.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:`iw-flex iw-size-9 iw-text-[#062260] iw-items-center iw-justify-center iw-rounded-full iw-font-semibold iw-border ${s||n?"iw-border-[#0EB00E] iw-bg-[#E9FFE6]":"iw-border-[#BDE0FD] iw-bg-[#E6F3FF]"}`,children:n?o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})}):i+1}),o.jsx("span",{className:`iw-text-sm iw-font-medium ${s||n?"iw-text-[#062260]":"iw-text-[#5C6686]"}`,children:r.label})]}),i<e.length-1&&o.jsx("div",{className:"iw-flex-1 iw-max-w-[120px] iw-border-t iw-border-dotted iw-border-[#B3B9CB]"})]},i)})}),f1=["Don't refresh or reload the page during your assessment","Don't switch tabs or open other applications while session is ongoing","Don't leave your position during the session","Don't disable or interfere with video/audio monitoring"],w1=({isOpen:e,onStart:t,gazeEnabled:r=!1,videoFeedRef:i,interviewId:n="",interview_duration:s=hi})=>{const{audioAllowed:a,videoAllowed:c,videoRef:l,audioDevices:h,videoDevices:u,selectedAudioDeviceId:f,selectedVideoDeviceId:w,isDeviceLoading:g,currentStream:p,handleAudioChange:y,handleVideoChange:m,stopStream:b}=Kl(e),[v,I]=d.useState(!1),[T,S]=d.useState(0),[A,M]=d.useState(!1),F=d.useRef(null),D=d.useRef(null),G=O=>{F.current=O,i&&(typeof i=="function"?i(O):i.current=O)};if(d.useEffect(()=>()=>{D.current&&(clearInterval(D.current),D.current=null)},[]),!e)return null;const[Y,H]=d.useState(Te.MODEL_LOADING),q=async()=>{var R;I(!0),(R=F.current)==null||R.resetReference();const O=()=>{var Ye;return(Ye=F.current)==null?void 0:Ye.setReference()};O(),D.current&&clearInterval(D.current),D.current=setInterval(O,500)},Z=[{label:r?"Calibrate your camera":"Camera & Mic permission"},{label:"Basic guidelines"}];return o.jsx("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center iw-bg-gray-900/40 iw-backdrop-blur-sm iw-p-4 iw-pt-5 iw-overflow-auto",children:o.jsxs("div",{className:"iw-w-full iw-max-w-[700px] iw-max-h-[900px] iw-my-4 iw-bg-white iw-rounded-xl iw-shadow-2xl iw-overflow-auto",children:[o.jsxs("div",{className:"iw-px-5 iw-pt-3",children:[o.jsx("h2",{className:"iw-text-[#062260] iw-text-2xl iw-font-medium iw-tracking-tight",children:"Final checks before you go live"}),o.jsx("div",{className:"iw-mt-2 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-2 iw-border iw-border-[#E7EAF1]",children:o.jsx("p",{className:"iw-text-[#5C6686] iw-text-xs iw-leading-relaxed",children:"To ensure the integrity of the interview process, this platform uses your device’s camera to monitor your face and gaze direction. We do not store any outside this session"})}),o.jsx("div",{className:"iw-mt-3 iw-border-b iw-border-dashed iw-border-[#B3B9CB] iw-w-full"}),o.jsx(h1,{steps:Z,currentStepIndex:T})]}),o.jsx("div",{className:"iw-px-5 iw-pb-5 iw-flex iw-flex-col iw-items-center",children:T===0?o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-w-full iw-max-w-[600px] iw-aspect-video iw-bg-slate-100 iw-rounded-2xl iw-overflow-hidden iw-relative iw-border iw-border-slate-200",children:r?o.jsx(fl,{ref:G,interviewId:n,interview_duration:s,showProctoringUI:!1,showStatusOverlay:!g&&c,isDeviceLoading:g,videoAllowed:c,onProctoringStatusChange:H,onSetReference:()=>{D.current&&(clearInterval(D.current),D.current=null),I(!1),S(1)}}):o.jsx("video",{ref:l,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}})}),o.jsx(gl,{micEnabled:a,videoEnabled:c,buttonText:r?v?"Calibrating...":Y==="model_loading"?"Initialising...":"Start calibrate":"Next",onButtonClick:()=>{r?q():S(1)},disabled:!A||r&&Y!=="face_detected"||!r&&(!a||!c),isAgreed:A,onAgreedToggle:M,audioDevices:h,videoDevices:u,selectedAudioId:f,selectedVideoId:w,onAudioChange:y,onVideoChange:m,audioStream:p,isDeviceLoading:g})]}):o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-bg-[#F8FAFF] iw-rounded-2xl iw-p-8 iw-flex iw-flex-col iw-gap-5",children:f1.map((O,R)=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-flex iw-h-7 iw-w-7 iw-min-w-[28px] iw-items-center iw-justify-center iw-rounded-full iw-bg-[#DBEAFE] iw-text-[#062260] iw-text-xs iw-font-bold",children:R+1}),o.jsx("span",{className:"iw-text-[#5C6686] iw-font-medium",children:O})]},R))}),o.jsx(gl,{buttonText:"Start interview",onButtonClick:()=>{t(),b()},isAgreed:A,onAgreedToggle:M,showMediaIcons:!1})]})})]})})};var P=(e=>(e.IDLE="idle",e.FETCHING_QUESTION="fetching_question",e.READING_QUESTION="reading_question",e.THINKING="thinking",e.ANSWERING="answering",e.TRANSCRIBING="transcribing",e.EDITING="editing",e.SUBMITTING="submitting",e.COMPLETED="completed",e))(P||{});const pl={thinkingDuration:0,answeringDuration:120,editingDuration:30},ml={idle:{next:"fetching_question"},fetching_question:{next:"reading_question"},reading_question:{next:"answering"},thinking:{next:"answering",duration:0},answering:{next:"transcribing",duration:120},transcribing:{next:"editing"},editing:{next:"submitting",duration:30},submitting:{next:"completed"},completed:{next:"completed"}};class g1{constructor(t={},r={}){ye(this,"config");ye(this,"state");ye(this,"phaseIntervalId",null);ye(this,"globalIntervalId",null);ye(this,"callbacks");this.config={...pl,...t},this.callbacks=r,this.state={phase:"idle",currentPhaseTimeRemaining:0,totalTimeElapsed:0,currentQuestionNumber:0}}updateConfig(t){this.config={...this.config,...t}}getState(){return{...this.state}}startQuestion(){this.state.currentQuestionNumber===0&&this.startGlobalTimer(),this.state.currentQuestionNumber=this.state.currentQuestionNumber+1,this.state.phase="fetching_question",this.notifyChange()}nextPhase(){const t=this.state.phase;let r=ml[t];if(!r)return;if(r.next==="editing"&&this.config.editingDuration===0){const n=ml.editing;n&&(r=n)}this.stopPhaseTimer(),this.state.phase=r.next;const i=this.getDurationForPhase(r.next);i>0?(this.state.currentPhaseTimeRemaining=i,this.startPhaseTimer()):this.state.currentPhaseTimeRemaining=0,this.notifyChange()}setTotalTimeElapsed(t){var r,i;this.state.totalTimeElapsed=t,(i=(r=this.callbacks).onTick)==null||i.call(r,this.getState())}completeInterview(){var t,r;this.stopGlobalTimer(),this.stopPhaseTimer(),this.state.phase="completed",(r=(t=this.callbacks).onInterviewEnd)==null||r.call(t),this.notifyChange()}destroy(){this.stopPhaseTimer(),this.stopGlobalTimer()}getDurationForPhase(t){switch(t){case"thinking":return this.config.thinkingDuration;case"answering":return this.config.answeringDuration;case"editing":return this.config.editingDuration;default:return 0}}startGlobalTimer(){this.globalIntervalId=setInterval(()=>{var t,r;this.state.totalTimeElapsed++,(r=(t=this.callbacks).onTick)==null||r.call(t,this.getState())},1e3)}stopGlobalTimer(){this.globalIntervalId&&(clearInterval(this.globalIntervalId),this.globalIntervalId=null)}startPhaseTimer(){this.phaseIntervalId=setInterval(()=>{this.state.currentPhaseTimeRemaining--,this.state.currentPhaseTimeRemaining<=0&&this.nextPhase()},1e3)}stopPhaseTimer(){this.phaseIntervalId&&(clearInterval(this.phaseIntervalId),this.phaseIntervalId=null)}notifyChange(){var t,r;(r=(t=this.callbacks).onPhaseChange)==null||r.call(t,this.state.phase,this.getState())}}function p1(e={}){const{config:t={},callbacks:r={}}=e,i=d.useRef(null);i.current||(i.current=new g1(t,{}));const n=i.current,[s,a]=d.useState(n.getState()),c=d.useCallback(()=>{a(n.getState())},[n]);d.useEffect(()=>{const f={onPhaseChange:(w,g)=>{var p;c(),(p=r.onPhaseChange)==null||p.call(r,w,g)},onTick:w=>{var g;c(),(g=r.onTick)==null||g.call(r,w)},onInterviewEnd:()=>{var w;c(),(w=r.onInterviewEnd)==null||w.call(r)}};n.callbacks=f},[n,r,c]),d.useEffect(()=>{n.updateConfig(t)},[n,t]),d.useEffect(()=>()=>{n.destroy()},[n]);const l=d.useCallback(()=>{n.startQuestion(),c()},[n,c]),h=d.useCallback(()=>{n.nextPhase(),c()},[n,c]),u=d.useCallback(()=>{n.completeInterview(),c()},[n,c]);return{state:s,startQuestion:l,nextPhase:h,completeInterview:u,timerService:n}}function m1(e,t={}){const[r,i]=d.useState({data:null,loading:!1,error:null}),n=d.useCallback(async(...s)=>{var a,c,l,h;i(u=>({...u,loading:!0,error:null}));try{const u=await e(...s);i(f=>({...f,data:u,loading:!1,error:null})),(a=t.onSuccess)==null||a.call(t,u),(c=t.onSettled)==null||c.call(t,u,null)}catch(u){const f=u.type?u:{type:"unknown",message:u.message||"Unknown error",retryable:!0,userMessage:"Something went wrong. Please try again.",originalError:u};i(w=>({...w,loading:!1,error:f})),(l=t.onError)==null||l.call(t,f),(h=t.onSettled)==null||h.call(t,null,f)}},[e,t]);return{...r,execute:n}}const y1=e=>{const[t,r]=d.useState(null),[i,n]=d.useState(!1),s=document,a=()=>!!(s.fullscreenEnabled||s.webkitFullscreenEnabled||s.mozFullScreenEnabled||s.msFullscreenEnabled),c=()=>s.fullscreenElement||s.webkitFullscreenElement||s.mozFullScreenElement||s.msFullscreenElement,l=async g=>{var p;try{if(!a())throw new Error("Fullscreen is not supported in this environment");g.requestFullscreen?await g.requestFullscreen():g.webkitRequestFullscreen?await g.webkitRequestFullscreen():g.mozRequestFullScreen?await g.mozRequestFullScreen():g.msRequestFullscreen&&await g.msRequestFullscreen()}catch(y){const m={name:"FullscreenError",message:y instanceof Error?y.message:"Failed to enter fullscreen"};r(m),(p=e==null?void 0:e.onError)==null||p.call(e,m)}},h=async()=>{var g;try{s.exitFullscreen?await s.exitFullscreen():s.webkitExitFullscreen?await s.webkitExitFullscreen():s.mozCancelFullScreen?await s.mozCancelFullScreen():s.msExitFullscreen&&await s.msExitFullscreen()}catch(p){const y={name:"FullscreenError",message:p instanceof Error?p.message:"Failed to exit fullscreen"};r(y),(g=e==null?void 0:e.onError)==null||g.call(e,y)}},u=d.useCallback(()=>{var p;const g=!!c();n(g),(p=e==null?void 0:e.onFullScreenChange)==null||p.call(e,g)},[e]);d.useEffect(()=>{const g=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];return g.forEach(p=>{document.addEventListener(p,u)}),()=>{g.forEach(p=>{document.removeEventListener(p,u)})}},[u]);const f=async g=>{r(null);const p=g??document.documentElement;await l(p)};return{isFullScreen:i,toggleFullScreen:async g=>{i?await h():await f(g)},enterFullScreen:f,exitFullScreen:h,error:t}};function yl(){const e=fi();return d.useMemo(()=>{const r=e.api||{};return new so(r)},[e.api])}const b1=e=>{d.useEffect(()=>{const t=i=>{(i.ctrlKey||i.metaKey)&&["c","v","a","t","n","w","r","s","p"].includes(i.key.toLowerCase())&&(i.preventDefault(),e({type:"blocked_shortcut",severity:"low",details:{action:"shortcut_pressed",reason:`Attempted to use a blocked keyboard shortcut: Ctrl + ${i.key}`}})),i.key.startsWith("F")&&i.key.length<=3&&(i.preventDefault(),e({type:"blocked_function_key",severity:"low",details:{action:"function_key_pressed",reason:`Attempted to use a blocked function key: ${i.key}`}})),i.altKey&&i.key==="Tab"&&(i.preventDefault(),e({type:"alt_tab_attempt",severity:"medium",details:{action:"alt_tab",reason:"Attempted to use the Alt + Tab shortcut"}}))},r=i=>{i.preventDefault(),e({type:"right_click_attempt",severity:"low",details:{action:"right_click",reason:"Attempted to use the right click"}})};return document.addEventListener("keydown",t),document.addEventListener("contextmenu",r),()=>{document.removeEventListener("keydown",t),document.removeEventListener("contextmenu",r)}},[e])},v1=(e={})=>{const[t,r]=d.useState(!1),[i,n]=d.useState(!1),[s,a]=d.useState(null),[c,l]=d.useState(null),[h,u]=d.useState(null),f=d.useRef(e);f.current=e;const w=d.useRef(null);w.current||(w.current=new hl(e.config)),d.useEffect(()=>{var b;e.config&&((b=w.current)==null||b.updateConfig(e.config))},[e.config]),d.useEffect(()=>{const b=w.current;return()=>{b==null||b.dispose(),w.current=null}},[]);const g=d.useCallback(async b=>{var I,T;const v=w.current;if(!v||v.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{l(null),a(null),u(null),await v.startRecording(b,{onStart:()=>{var S,A;r(!0),(A=(S=f.current).onStart)==null||A.call(S)},onStop:()=>{var S,A;r(!1),(A=(S=f.current).onStop)==null||A.call(S)},onError:S=>{var M,F;const A=S instanceof W?S:new W(S.message,"RECORDING_ERROR",!0);l(A),r(!1),(F=(M=f.current).onError)==null||F.call(M,A)}})}catch(S){const A=S instanceof W?S:new W(S instanceof Error?S.message:String(S),"START_FAILED",!1);throw l(A),r(!1),(T=(I=f.current).onError)==null||T.call(I,A),A}},[]),p=d.useCallback(async()=>{var v,I;const b=w.current;if(!b||b.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{const T=await b.stopRecording();return u(T),T}catch(T){const S=T instanceof W?T:new W(T instanceof Error?T.message:String(T),"STOP_FAILED",!1);throw l(S),r(!1),(I=(v=f.current).onError)==null||I.call(v,S),S}},[]),y=d.useCallback(async(b,v={})=>{var T,S,A,M,F,D;const I=w.current;if(!I||I.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{if(l(null),n(!0),!b||b.size===0){console.warn("Skipping transcription — blob is empty");const H={transcript:""};return a(H.transcript),n(!1),(S=(T=f.current).onTranscriptionComplete)==null||S.call(T,H),H}const G={audioBlob:b,...v},Y=await I.transcribe(G);return a(Y.transcript),n(!1),(M=(A=f.current).onTranscriptionComplete)==null||M.call(A,Y),Y}catch(G){const Y=G instanceof W?G:new W(G instanceof Error?G.message:String(G),"TRANSCRIPTION_FAILED",!0);throw l(Y),n(!1),(D=(F=f.current).onError)==null||D.call(F,Y),Y}},[]),m=d.useCallback(()=>{var b;(b=w.current)==null||b.cancelRecording(),r(!1),u(null)},[]);return{startRecording:g,stopRecording:p,transcribe:y,cancelRecording:m,isRecording:t,isTranscribing:i,transcript:s,error:c,audioBlob:h}},x1=e=>{const t=d.useRef(null),r=d.useRef(!1);d.useEffect(()=>{const i=()=>{document.hidden&&(r.current=!0,t.current&&(clearTimeout(t.current),t.current=null),e({type:"tab_switch",severity:"high",details:{action:"tab_hidden",reason:"Attempted to switch tabs or applications"}}),setTimeout(()=>{r.current=!1},100))},n=()=>{r.current||(t.current=setTimeout(()=>{r.current||e({type:"focus_loss",severity:"medium",details:{action:"window_blur",reason:"Focus lost from the interview window"}}),t.current=null},50))};return document.addEventListener("visibilitychange",i),window.addEventListener("blur",n),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("blur",n),t.current&&clearTimeout(t.current)}},[e])},E1=()=>{d.useEffect(()=>{const e=document.createElement("style");return e.textContent=`
15
+ }`,e.VERTEX_SHADER),this.W=Oc(this,this.H(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.L=e.getAttribLocation(this.h,"aTex")}D(){}l(){}close(){if(this.h){const e=this.g;e.deleteProgram(this.h),e.deleteShader(this.X),e.deleteShader(this.W)}this.B&&this.g.deleteFramebuffer(this.B),this.A&&this.A.close(),this.u&&this.u.close()}};function bt(e,t){switch(t){case 0:return e.g.find(r=>r instanceof Uint8Array);case 1:return e.g.find(r=>r instanceof Float32Array);case 2:return e.g.find(r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture);default:throw Error(`Type is not supported: ${t}`)}}function Is(e){var t=bt(e,1);if(!t){if(t=bt(e,0))t=new Float32Array(t).map(i=>i/255);else{t=new Float32Array(e.width*e.height);const i=Tr(e);var r=Fs(e);if(Vc(r,i,jc(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),i.readPixels(0,0,e.width,e.height,i.RGBA,i.FLOAT,r);for(let n=0,s=0;n<t.length;++n,s+=4)t[n]=r[s]}else i.readPixels(0,0,e.width,e.height,i.RED,i.FLOAT,t)}e.g.push(t)}return t}function jc(e){let t=bt(e,2);if(!t){const r=Tr(e);t=$c(e);const i=Is(e),n=zc(e);r.texImage2D(r.TEXTURE_2D,0,n,e.width,e.height,0,r.RED,r.FLOAT,i),Ls(e)}return t}function Tr(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Tt(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function zc(e){if(e=Tr(e),!Ri)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Ri=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Ri=e.R16F}return Ri}function Fs(e){return e.l||(e.l=new Gc),e.l}function $c(e){const t=Tr(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=bt(e,2);return r||(r=Uc(Fs(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Ls(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Ri,me=class{constructor(e,t,r,i,n,s,a){this.g=e,this.m=t,this.j=r,this.canvas=i,this.l=n,this.width=s,this.height=a,this.j&&--Wc===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!bt(this,0)}ka(){return!!bt(this,1)}R(){return!!bt(this,2)}ja(){return(t=bt(e=this,0))||(t=Is(e),t=new Uint8Array(t.map(r=>Math.round(255*r))),e.g.push(t)),t;var e,t}ia(){return Is(this)}N(){return jc(this)}clone(){const e=[];for(const t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const i=Tr(this),n=Fs(this);i.activeTexture(i.TEXTURE1),r=Uc(n,i,this.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,r);const s=zc(this);i.texImage2D(i.TEXTURE_2D,0,s,this.width,this.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),Vc(n,i,r),Gu(n,i,!1,()=>{$c(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),Ls(this)}),ju(n),Ls(this)}}e.push(r)}return new me(e,this.m,this.R(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Tr(this).deleteTexture(bt(this,2)),Wc=-1}};me.prototype.close=me.prototype.close,me.prototype.clone=me.prototype.clone,me.prototype.getAsWebGLTexture=me.prototype.N,me.prototype.getAsFloat32Array=me.prototype.ia,me.prototype.getAsUint8Array=me.prototype.ja,me.prototype.hasWebGLTexture=me.prototype.R,me.prototype.hasFloat32Array=me.prototype.ka,me.prototype.hasUint8Array=me.prototype.Fa;var Wc=250;function Ze(...e){return e.map(([t,r])=>({start:t,end:r}))}const zu=function(e){return class extends e{Ja(){this.i._registerModelResourcesGraphService()}}}((Hc=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:Ic()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){const r=e.length,i=this.i._malloc(r);this.i.HEAPU8.set(e,i),t?this.i._changeBinaryGraph(r,i):this.i._changeTextGraph(r,i),this.i._free(i)}configureAudio(e,t,r,i,n){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),S(this,i||"input_audio",s=>{S(this,n=n||"audio_header",a=>{this.i._configureAudio(s,a,e,t??0,r)})})}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}ca(e){ct(this,"__graph_config__",t=>{e(t)}),S(this,"__graph_config__",t=>{this.i._getGraphConfig(t,void 0)}),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,i,n){const s=4*e.length;this.h!==s&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(s),this.h=s),this.i.HEAPF32.set(e,this.g/4),S(this,i,a=>{this.i._addAudioToInputStream(this.g,t,r,a,n)})}addGpuBufferToStream(e,t,r){S(this,t,i=>{const[n,s]=Mc(this,e,i);this.i._addBoundTextureToStream(i,n,s,r)})}addBoolToStream(e,t,r){S(this,t,i=>{this.i._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){S(this,t,i=>{this.i._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){S(this,t,i=>{this.i._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){S(this,t,i=>{this.i._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){S(this,t,i=>{this.i._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){S(this,t,i=>{S(this,e,n=>{this.i._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){S(this,t,i=>{Dc(this,Object.keys(e),n=>{Dc(this,Object.values(e),s=>{this.i._addFlatHashMapToInputStream(n,s,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){S(this,r,n=>{S(this,t,s=>{const a=this.i._malloc(e.length);this.i.HEAPU8.set(e,a),this.i._addProtoToInputStream(a,e.length,s,n,i),this.i._free(a)})})}addEmptyPacketToStream(e,t){S(this,e,r=>{this.i._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(const s of e)this.i._addBoolVectorEntry(n,s);this.i._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(const s of e)this.i._addDoubleVectorEntry(n,s);this.i._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(const s of e)this.i._addFloatVectorEntry(n,s);this.i._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(const s of e)this.i._addIntVectorEntry(n,s);this.i._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(const s of e)this.i._addUintVectorEntry(n,s);this.i._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(const s of e)S(this,s,a=>{this.i._addStringVectorEntry(n,a)});this.i._addStringVectorToInputStream(n,i,r)})}addBoolToInputSidePacket(e,t){S(this,t,r=>{this.i._addBoolToInputSidePacket(e,r)})}addDoubleToInputSidePacket(e,t){S(this,t,r=>{this.i._addDoubleToInputSidePacket(e,r)})}addFloatToInputSidePacket(e,t){S(this,t,r=>{this.i._addFloatToInputSidePacket(e,r)})}addIntToInputSidePacket(e,t){S(this,t,r=>{this.i._addIntToInputSidePacket(e,r)})}addUintToInputSidePacket(e,t){S(this,t,r=>{this.i._addUintToInputSidePacket(e,r)})}addStringToInputSidePacket(e,t){S(this,t,r=>{S(this,e,i=>{this.i._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){S(this,r,i=>{S(this,t,n=>{const s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputSidePacket(s,e.length,n,i),this.i._free(s)})})}addBoolVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(const n of e)this.i._addBoolVectorEntry(i,n);this.i._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(const n of e)this.i._addDoubleVectorEntry(i,n);this.i._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(const n of e)this.i._addFloatVectorEntry(i,n);this.i._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(const n of e)this.i._addIntVectorEntry(i,n);this.i._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(const n of e)this.i._addUintVectorEntry(i,n);this.i._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(const n of e)S(this,n,s=>{this.i._addStringVectorEntry(i,s)});this.i._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){ct(this,e,t),S(this,e,r=>{this.i._attachBoolListener(r)})}attachBoolVectorListener(e,t){At(this,e,t),S(this,e,r=>{this.i._attachBoolVectorListener(r)})}attachIntListener(e,t){ct(this,e,t),S(this,e,r=>{this.i._attachIntListener(r)})}attachIntVectorListener(e,t){At(this,e,t),S(this,e,r=>{this.i._attachIntVectorListener(r)})}attachUintListener(e,t){ct(this,e,t),S(this,e,r=>{this.i._attachUintListener(r)})}attachUintVectorListener(e,t){At(this,e,t),S(this,e,r=>{this.i._attachUintVectorListener(r)})}attachDoubleListener(e,t){ct(this,e,t),S(this,e,r=>{this.i._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){At(this,e,t),S(this,e,r=>{this.i._attachDoubleVectorListener(r)})}attachFloatListener(e,t){ct(this,e,t),S(this,e,r=>{this.i._attachFloatListener(r)})}attachFloatVectorListener(e,t){At(this,e,t),S(this,e,r=>{this.i._attachFloatVectorListener(r)})}attachStringListener(e,t){ct(this,e,t),S(this,e,r=>{this.i._attachStringListener(r)})}attachStringVectorListener(e,t){At(this,e,t),S(this,e,r=>{this.i._attachStringVectorListener(r)})}attachProtoListener(e,t,r){ct(this,e,t),S(this,e,i=>{this.i._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){At(this,e,t),S(this,e,i=>{this.i._attachProtoVectorListener(i,r||!1)})}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),ct(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),S(this,e,i=>{this.i._attachAudioListener(i,r||!1)})}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Hc{get ga(){return this.i}pa(e,t,r){S(this,t,i=>{const[n,s]=Mc(this,e,i);this.ga._addBoundTextureAsImageToStream(i,n,s,r)})}Z(e,t){ct(this,e,t),S(this,e,r=>{this.ga._attachImageListener(r)})}aa(e,t){At(this,e,t),S(this,e,r=>{this.ga._attachImageVectorListener(r)})}}));var Hc,Re=class extends zu{};async function V(e,t,r){return async function(i,n,s,a){return Uu(i,n,s,a)}(e,r.canvas??(Ic()?void 0:document.createElement("canvas")),t,r)}function qc(e,t,r,i){if(e.U){const s=new Ja;if(r!=null&&r.regionOfInterest){if(!e.oa)throw Error("This task doesn't support region-of-interest.");var n=r.regionOfInterest;if(n.left>=n.right||n.top>=n.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(n.left<0||n.top<0||n.right>1||n.bottom>1)throw Error("Expected RectF values to be in [0,1].");N(s,1,(n.left+n.right)/2),N(s,2,(n.top+n.bottom)/2),N(s,4,n.right-n.left),N(s,3,n.bottom-n.top)}else N(s,1,.5),N(s,2,.5),N(s,4,1),N(s,3,1);if(r!=null&&r.rotationDegrees){if((r==null?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(N(s,5,-Math.PI*r.rotationDegrees/180),(r==null?void 0:r.rotationDegrees)%180!=0){const[a,c]=Lc(t);r=ne(s,3)*c/a,n=ne(s,4)*a/c,N(s,4,r),N(s,3,n)}}e.g.addProtoToStream(s.g(),"mediapipe.NormalizedRect",e.U,i)}e.g.pa(t,e.X,i??performance.now()),e.finishProcessing()}function et(e,t,r){var i;if((i=e.baseOptions)!=null&&i.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");qc(e,t,r,e.C+1)}function lt(e,t,r,i){var n;if(!((n=e.baseOptions)!=null&&n.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");qc(e,t,r,i)}function Cr(e,t,r,i){var n=t.data;const s=t.width,a=s*(t=t.height);if((n instanceof Uint8Array||n instanceof Float32Array)&&n.length!==a)throw Error("Unsupported channel count: "+n.length/a);return e=new me([n],r,!1,e.g.i.canvas,e.P,s,t),i?e.clone():e}var Ue=class extends Cs{constructor(e,t,r,i){super(e),this.g=e,this.X=t,this.U=r,this.oa=i,this.P=new Gc}l(e,t=!0){if("runningMode"in e&&W(this.baseOptions,2,Yr(!!e.runningMode&&e.runningMode!=="IMAGE")),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.P.close(),super.close()}};Ue.prototype.close=Ue.prototype.close;var Ke=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},I(e=this.h=new Yi,0,1,t=new te),N(this.h,2,.5),N(this.h,3,.3)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&N(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&N(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},et(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},lt(this,e,r,t),this.j}m(){var e=new Be;R(e,"image_in"),R(e,"norm_rect_in"),z(e,"detections");const t=new Oe;ot(t,_u,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect_in"),B(r,"DETECTIONS:detections"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Ya(s),this.j.detections.push(Ac(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ke.prototype.detectForVideo=Ke.prototype.G,Ke.prototype.detect=Ke.prototype.F,Ke.prototype.setOptions=Ke.prototype.o,Ke.createFromModelPath=async function(e,t){return V(Ke,e,{baseOptions:{modelAssetPath:t}})},Ke.createFromModelBuffer=function(e,t){return V(Ke,e,{baseOptions:{modelAssetBuffer:t}})},Ke.createFromOptions=function(e,t){return V(Ke,e,t)};var Ms=Ze([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),Ds=Ze([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),Ps=Ze([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Kc=Ze([474,475],[475,476],[476,477],[477,474]),Os=Ze([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),Bs=Ze([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Yc=Ze([469,470],[470,471],[471,472],[472,469]),Us=Ze([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),Xc=[...Ms,...Ds,...Ps,...Os,...Bs,...Us],Qc=Ze([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Jc(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var ee=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,I(e=this.h=new sc,0,1,t=new te),this.A=new nc,I(this.h,0,3,this.A),this.u=new Yi,I(this.h,0,2,this.u),mt(this.u,4,1),N(this.u,2,.5),N(this.A,2,.5),N(this.h,4,.5)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numFaces"in e&&mt(this.u,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&N(this.u,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&N(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&N(this.A,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return Jc(this),et(this,e,t),this.j}G(e,t,r){return Jc(this),lt(this,e,r,t),this.j}m(){var e=new Be;R(e,"image_in"),R(e,"norm_rect"),z(e,"face_landmarks");const t=new Oe;ot(t,Su,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("face_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.j.faceLandmarks.push(Xi(i));x(this,n)}),this.g.attachEmptyPacketListener("face_landmarks",i=>{x(this,i)}),this.outputFaceBlendshapes&&(z(e,"blendshapes"),B(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(i,n)=>{if(this.outputFaceBlendshapes)for(const s of i)i=Hi(s),this.j.faceBlendshapes.push(As(i.g()??[]));x(this,n)}),this.g.attachEmptyPacketListener("blendshapes",i=>{x(this,i)})),this.outputFacialTransformationMatrixes&&(z(e,"face_geometry"),B(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(i,n)=>{if(this.outputFacialTransformationMatrixes)for(const s of i)(i=G(i=ku(s),gu,2))&&this.j.facialTransformationMatrixes.push({rows:We(i,1)??0??0,columns:We(i,2)??0??0,data:$t(i,3,nt,zt()).slice()??[]});x(this,n)}),this.g.attachEmptyPacketListener("face_geometry",i=>{x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ee.prototype.detectForVideo=ee.prototype.G,ee.prototype.detect=ee.prototype.F,ee.prototype.setOptions=ee.prototype.o,ee.createFromModelPath=function(e,t){return V(ee,e,{baseOptions:{modelAssetPath:t}})},ee.createFromModelBuffer=function(e,t){return V(ee,e,{baseOptions:{modelAssetBuffer:t}})},ee.createFromOptions=function(e,t){return V(ee,e,t)},ee.FACE_LANDMARKS_LIPS=Ms,ee.FACE_LANDMARKS_LEFT_EYE=Ds,ee.FACE_LANDMARKS_LEFT_EYEBROW=Ps,ee.FACE_LANDMARKS_LEFT_IRIS=Kc,ee.FACE_LANDMARKS_RIGHT_EYE=Os,ee.FACE_LANDMARKS_RIGHT_EYEBROW=Bs,ee.FACE_LANDMARKS_RIGHT_IRIS=Yc,ee.FACE_LANDMARKS_FACE_OVAL=Us,ee.FACE_LANDMARKS_CONTOURS=Xc,ee.FACE_LANDMARKS_TESSELATION=Qc;var Vs=Ze([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function Zc(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function Rc(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function el(e,t=!0){const r=[];for(const n of e){var i=Hi(n);e=[];for(const s of i.g())i=t&&We(s,1)!=null?We(s,1)??0:-1,e.push({score:ne(s,2)??0,index:i,categoryName:ve(X(s,3))??""??"",displayName:ve(X(s,4))??""??""});r.push(e)}return r}var Ve=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],I(e=this.j=new cc,0,1,t=new te),this.u=new ys,I(this.j,0,2,this.u),this.D=new ms,I(this.u,0,3,this.D),this.A=new ac,I(this.u,0,2,this.A),this.h=new Au,I(this.j,0,3,this.h),N(this.A,2,.5),N(this.u,4,.5),N(this.D,2,.5)}get baseOptions(){return G(this.j,te,1)}set baseOptions(e){I(this.j,0,1,e)}o(e){var n,s,a,c;if(mt(this.A,3,e.numHands??1),"minHandDetectionConfidence"in e&&N(this.A,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&N(this.u,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&N(this.D,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new Sr,r=t,i=Ss(e.cannedGesturesClassifierOptions,(n=G(this.h,Sr,3))==null?void 0:n.l());I(r,0,2,i),I(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&((s=G(this.h,Sr,3))==null||s.g());return e.customGesturesClassifierOptions?(I(r=t=new Sr,0,2,i=Ss(e.customGesturesClassifierOptions,(a=G(this.h,Sr,4))==null?void 0:a.l())),I(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&((c=G(this.h,Sr,4))==null||c.g()),this.l(e)}Ha(e,t){return Zc(this),et(this,e,t),Rc(this)}Ia(e,t,r){return Zc(this),lt(this,e,r,t),Rc(this)}m(){var e=new Be;R(e,"image_in"),R(e,"norm_rect"),z(e,"hand_gestures"),z(e,"hand_landmarks"),z(e,"world_hand_landmarks"),z(e,"handedness");const t=new Oe;ot(t,Tu,this.j);const r=new Ce;De(r,2,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"HAND_GESTURES:hand_gestures"),B(r,"LANDMARKS:hand_landmarks"),B(r,"WORLD_LANDMARKS:world_hand_landmarks"),B(r,"HANDEDNESS:handedness"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i){i=ri(s);const a=[];for(const c of pt(i,Qa,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.landmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i){i=kr(s);const a=[];for(const c of pt(i,Xa,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.worldLandmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("hand_gestures",(i,n)=>{this.gestures.push(...el(i,!1)),x(this,n)}),this.g.attachEmptyPacketListener("hand_gestures",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{this.handedness.push(...el(i)),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function tl(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Ve.prototype.recognizeForVideo=Ve.prototype.Ia,Ve.prototype.recognize=Ve.prototype.Ha,Ve.prototype.setOptions=Ve.prototype.o,Ve.createFromModelPath=function(e,t){return V(Ve,e,{baseOptions:{modelAssetPath:t}})},Ve.createFromModelBuffer=function(e,t){return V(Ve,e,{baseOptions:{modelAssetBuffer:t}})},Ve.createFromOptions=function(e,t){return V(Ve,e,t)},Ve.HAND_CONNECTIONS=Vs;var Ge=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],I(e=this.h=new ys,0,1,t=new te),this.u=new ms,I(this.h,0,3,this.u),this.j=new ac,I(this.h,0,2,this.j),mt(this.j,3,1),N(this.j,2,.5),N(this.u,2,.5),N(this.h,4,.5)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numHands"in e&&mt(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&N(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&N(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&N(this.u,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],et(this,e,t),tl(this)}G(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],lt(this,e,r,t),tl(this)}m(){var e=new Be;R(e,"image_in"),R(e,"norm_rect"),z(e,"hand_landmarks"),z(e,"world_hand_landmarks"),z(e,"handedness");const t=new Oe;ot(t,Cu,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"LANDMARKS:hand_landmarks"),B(r,"WORLD_LANDMARKS:world_hand_landmarks"),B(r,"HANDEDNESS:handedness"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.landmarks.push(Xi(i));x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i)i=kr(s),this.worldLandmarks.push(ii(i));x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{var s=this.handedness,a=s.push;const c=[];for(const l of i){i=Hi(l);const h=[];for(const u of i.g())h.push({score:ne(u,2)??0,index:We(u,1)??0??-1,categoryName:ve(X(u,3))??""??"",displayName:ve(X(u,4))??""??""});c.push(h)}a.call(s,...c),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ge.prototype.detectForVideo=Ge.prototype.G,Ge.prototype.detect=Ge.prototype.F,Ge.prototype.setOptions=Ge.prototype.o,Ge.createFromModelPath=function(e,t){return V(Ge,e,{baseOptions:{modelAssetPath:t}})},Ge.createFromModelBuffer=function(e,t){return V(Ge,e,{baseOptions:{modelAssetBuffer:t}})},Ge.createFromOptions=function(e,t){return V(Ge,e,t)},Ge.HAND_CONNECTIONS=Vs;var rl=Ze([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function il(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function nl(e){try{if(!e.D)return e.h;e.D(e.h)}finally{Zi(e)}}function en(e,t){e=ri(e),t.push(Xi(e))}var J=class extends Ue{constructor(e,t){super(new Re(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,I(e=this.j=new wc,0,1,t=new te),this.I=new ms,I(this.j,0,2,this.I),this.W=new Nu,I(this.j,0,3,this.W),this.u=new Yi,I(this.j,0,4,this.u),this.O=new nc,I(this.j,0,5,this.O),this.A=new hc,I(this.j,0,6,this.A),this.M=new fc,I(this.j,0,7,this.M),N(this.u,2,.5),N(this.u,3,.3),N(this.O,2,.5),N(this.A,2,.5),N(this.A,3,.3),N(this.M,2,.5),N(this.I,2,.5)}get baseOptions(){return G(this.j,te,1)}set baseOptions(e){I(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&N(this.u,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&N(this.u,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&N(this.O,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&N(this.A,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&N(this.A,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&N(this.M,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&N(this.I,2,e.minHandLandmarksConfidence??.5),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.D=typeof t=="function"?t:r,il(this),et(this,e,i),nl(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.D=typeof r=="function"?r:i,il(this),lt(this,e,n,t),nl(this)}m(){var e=new Be;R(e,"input_frames_image"),z(e,"pose_landmarks"),z(e,"pose_world_landmarks"),z(e,"face_landmarks"),z(e,"left_hand_landmarks"),z(e,"left_hand_world_landmarks"),z(e,"right_hand_landmarks"),z(e,"right_hand_world_landmarks");const t=new Oe,r=new Fa;De(r,1,"type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),function(n,s){if(s!=null)if(Array.isArray(s))W(n,2,Ci(s,0,Jr));else{if(!(typeof s=="string"||s instanceof rt||_n(s)))throw Error("invalid value in Any.value field: "+s+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");xt(n,2,Tn(s,!1),Ot())}}(r,this.j.g());const i=new Ce;De(i,2,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),Yn(i,8,Fa,r),Q(i,"IMAGE:input_frames_image"),B(i,"POSE_LANDMARKS:pose_landmarks"),B(i,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),B(i,"FACE_LANDMARKS:face_landmarks"),B(i,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),B(i,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),B(i,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),B(i,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),i.o(t),qe(e,i),Ji(this,e),this.g.attachProtoListener("pose_landmarks",(n,s)=>{en(n,this.h.poseLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("pose_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("pose_world_landmarks",(n,s)=>{var a=this.h.poseWorldLandmarks;n=kr(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("pose_world_landmarks",n=>{x(this,n)}),this.outputPoseSegmentationMasks&&(B(i,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),Ar(this,"pose_segmentation_mask"),this.g.Z("pose_segmentation_mask",(n,s)=>{this.h.poseSegmentationMasks=[Cr(this,n,!0,!this.D)],x(this,s)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",n=>{this.h.poseSegmentationMasks=[],x(this,n)})),this.g.attachProtoListener("face_landmarks",(n,s)=>{en(n,this.h.faceLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("face_landmarks",n=>{x(this,n)}),this.outputFaceBlendshapes&&(z(e,"extra_blendshapes"),B(i,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(n,s)=>{var a=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(n=Hi(n),a.push(As(n.g()??[]))),x(this,s)}),this.g.attachEmptyPacketListener("extra_blendshapes",n=>{x(this,n)})),this.g.attachProtoListener("left_hand_landmarks",(n,s)=>{en(n,this.h.leftHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("left_hand_world_landmarks",(n,s)=>{var a=this.h.leftHandWorldLandmarks;n=kr(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_landmarks",(n,s)=>{en(n,this.h.rightHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_world_landmarks",(n,s)=>{var a=this.h.rightHandWorldLandmarks;n=kr(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",n=>{x(this,n)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};J.prototype.detectForVideo=J.prototype.G,J.prototype.detect=J.prototype.F,J.prototype.setOptions=J.prototype.o,J.createFromModelPath=function(e,t){return V(J,e,{baseOptions:{modelAssetPath:t}})},J.createFromModelBuffer=function(e,t){return V(J,e,{baseOptions:{modelAssetBuffer:t}})},J.createFromOptions=function(e,t){return V(J,e,t)},J.HAND_CONNECTIONS=Vs,J.POSE_CONNECTIONS=rl,J.FACE_LANDMARKS_LIPS=Ms,J.FACE_LANDMARKS_LEFT_EYE=Ds,J.FACE_LANDMARKS_LEFT_EYEBROW=Ps,J.FACE_LANDMARKS_LEFT_IRIS=Kc,J.FACE_LANDMARKS_RIGHT_EYE=Os,J.FACE_LANDMARKS_RIGHT_EYEBROW=Bs,J.FACE_LANDMARKS_RIGHT_IRIS=Yc,J.FACE_LANDMARKS_FACE_OVAL=Us,J.FACE_LANDMARKS_CONTOURS=Xc,J.FACE_LANDMARKS_TESSELATION=Qc;var Ye=class extends Ue{constructor(e,t){super(new Re(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},I(e=this.h=new gc,0,1,t=new te)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return I(this.h,0,2,Ss(e,G(this.h,ws,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},et(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},lt(this,e,r,t),this.j}m(){var e=new Be;R(e,"input_image"),R(e,"norm_rect"),z(e,"classifications");const t=new Oe;ot(t,Iu,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Q(r,"IMAGE:input_image"),Q(r,"NORM_RECT:norm_rect"),B(r,"CLASSIFICATIONS:classifications"),r.o(t),qe(e,r),this.g.attachProtoListener("classifications",(i,n)=>{this.j=Ou(yu(i)),x(this,n)}),this.g.attachEmptyPacketListener("classifications",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ye.prototype.classifyForVideo=Ye.prototype.ta,Ye.prototype.classify=Ye.prototype.sa,Ye.prototype.setOptions=Ye.prototype.o,Ye.createFromModelPath=function(e,t){return V(Ye,e,{baseOptions:{modelAssetPath:t}})},Ye.createFromModelBuffer=function(e,t){return V(Ye,e,{baseOptions:{modelAssetBuffer:t}})},Ye.createFromOptions=function(e,t){return V(Ye,e,t)};var je=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!0),this.h=new pc,this.embeddings={embeddings:[]},I(e=this.h,0,1,t=new te)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){var t=this.h,r=G(this.h,tc,2);return r=r?r.clone():new tc,e.l2Normalize!==void 0?W(r,1,Yr(e.l2Normalize)):"l2Normalize"in e&&W(r,1),e.quantize!==void 0?W(r,2,Yr(e.quantize)):"quantize"in e&&W(r,2),I(t,0,2,r),this.l(e)}za(e,t){return et(this,e,t),this.embeddings}Aa(e,t,r){return lt(this,e,r,t),this.embeddings}m(){var e=new Be;R(e,"image_in"),R(e,"norm_rect"),z(e,"embeddings_out");const t=new Oe;ot(t,Fu,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"EMBEDDINGS:embeddings_out"),r.o(t),qe(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=xu(i),this.embeddings=function(s){return{embeddings:pt(s,vu,1).map(a=>{var h,u;const c={headIndex:We(a,3)??0??-1,headName:ve(X(a,4))??""??""};var l=a.v;return Xo(l,0|l[E],Za,Wn(a,1))!==void 0?(a=$t(a=G(a,Za,Wn(a,1),void 0),1,nt,zt()),c.floatEmbedding=a.slice()):(l=new Uint8Array(0),c.quantizedEmbedding=((u=(h=G(a,bu,Wn(a,2),void 0))==null?void 0:h.na())==null?void 0:u.h())??l),c}),timestampMs:Sc(Zo(s))}}(i),x(this,n)}),this.g.attachEmptyPacketListener("embeddings_out",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};je.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Cc(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Cc(Tc(e.quantizedEmbedding),Tc(t.quantizedEmbedding))}return e},je.prototype.embedForVideo=je.prototype.Aa,je.prototype.embed=je.prototype.za,je.prototype.setOptions=je.prototype.o,je.createFromModelPath=function(e,t){return V(je,e,{baseOptions:{modelAssetPath:t}})},je.createFromModelBuffer=function(e,t){return V(je,e,{baseOptions:{modelAssetBuffer:t}})},je.createFromOptions=function(e,t){return V(je,e,t)};var Gs=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};function $u(e){var r,i;const t=function(n){return pt(n,Ce,1)}(e.ca()).filter(n=>(ve(X(n,1))??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator"));if(e.u=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(((i=(r=G(t[0],Oe,7))==null?void 0:r.j())==null?void 0:i.g())??new Map).forEach((n,s)=>{e.u[Number(s)]=ve(X(n,1))??""})}function sl(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function ol(e){try{const t=new Gs(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Zi(e)}}Gs.prototype.close=Gs.prototype.close;var Ne=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.u=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Es,this.A=new mc,I(this.h,0,3,this.A),I(e=this.h,0,1,t=new te)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?W(this.h,2,Qr(e.displayNamesLocale)):"displayNamesLocale"in e&&W(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}L(){$u(this)}segment(e,t,r){const i=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,sl(this),et(this,e,i),ol(this)}La(e,t,r,i){const n=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:i,sl(this),lt(this,e,n,t),ol(this)}Da(){return this.u}m(){var e=new Be;R(e,"image_in"),R(e,"norm_rect");const t=new Oe;ot(t,vc,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),r.o(t),qe(e,r),Ji(this,e),this.outputConfidenceMasks&&(z(e,"confidence_masks"),B(r,"CONFIDENCE_MASKS:confidence_masks"),Ar(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Cr(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(z(e,"category_mask"),B(r,"CATEGORY_MASK:category_mask"),Ar(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Cr(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),z(e,"quality_scores"),B(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ne.prototype.getLabels=Ne.prototype.Da,Ne.prototype.segmentForVideo=Ne.prototype.La,Ne.prototype.segment=Ne.prototype.segment,Ne.prototype.setOptions=Ne.prototype.o,Ne.createFromModelPath=function(e,t){return V(Ne,e,{baseOptions:{modelAssetPath:t}})},Ne.createFromModelBuffer=function(e,t){return V(Ne,e,{baseOptions:{modelAssetBuffer:t}})},Ne.createFromOptions=function(e,t){return V(Ne,e,t)};var js=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};js.prototype.close=js.prototype.close;var dt=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Es,this.u=new mc,I(this.h,0,3,this.u),I(e=this.h,0,1,t=new te)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,i){const n=typeof r!="function"?r:{};if(this.j=typeof r=="function"?r:i,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.C+1,i=new Ec,t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new _s;xt(s,3,Yr(!0),!1),xt(s,1,Kr(t.keypoint.x),0),xt(s,2,Kr(t.keypoint.y),0),Zr(i,1,ks,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");{const c=new Mu;for(s of t.scribble)xt(t=new _s,3,Yr(!0),!1),xt(t,1,Kr(s.x),0),xt(t,2,Kr(s.y),0),Yn(c,1,_s,t);Zr(i,2,ks,c)}}this.g.addProtoToStream(i.g(),"mediapipe.tasks.vision.interactive_segmenter.proto.RegionOfInterest","roi_in",r),et(this,e,n);e:{try{const c=new js(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var a=c;break e}this.j(c)}finally{Zi(this)}a=void 0}return a}m(){var e=new Be;R(e,"image_in"),R(e,"roi_in"),R(e,"norm_rect_in");const t=new Oe;ot(t,vc,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraphV2"),Q(r,"IMAGE:image_in"),Q(r,"ROI:roi_in"),Q(r,"NORM_RECT:norm_rect_in"),r.o(t),qe(e,r),Ji(this,e),this.outputConfidenceMasks&&(z(e,"confidence_masks"),B(r,"CONFIDENCE_MASKS:confidence_masks"),Ar(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Cr(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(z(e,"category_mask"),B(r,"CATEGORY_MASK:category_mask"),Ar(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Cr(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),z(e,"quality_scores"),B(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};dt.prototype.segment=dt.prototype.segment,dt.prototype.setOptions=dt.prototype.o,dt.createFromModelPath=function(e,t){return V(dt,e,{baseOptions:{modelAssetPath:t}})},dt.createFromModelBuffer=function(e,t){return V(dt,e,{baseOptions:{modelAssetBuffer:t}})},dt.createFromOptions=function(e,t){return V(dt,e,t)};var Xe=class extends Ue{constructor(e,t){super(new Re(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},I(e=this.h=new _c,0,1,t=new te)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?W(this.h,2,Qr(e.displayNamesLocale)):"displayNamesLocale"in e&&W(this.h,2),e.maxResults!==void 0?mt(this.h,3,e.maxResults):"maxResults"in e&&W(this.h,3),e.scoreThreshold!==void 0?N(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&W(this.h,4),e.categoryAllowlist!==void 0?Ni(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&W(this.h,5),e.categoryDenylist!==void 0?Ni(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&W(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},et(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},lt(this,e,r,t),this.j}m(){var e=new Be;R(e,"input_frame_gpu"),R(e,"norm_rect"),z(e,"detections");const t=new Oe;ot(t,Du,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.ObjectDetectorGraph"),Q(r,"IMAGE:input_frame_gpu"),Q(r,"NORM_RECT:norm_rect"),B(r,"DETECTIONS:detections"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Ya(s),this.j.detections.push(Ac(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Xe.prototype.detectForVideo=Xe.prototype.G,Xe.prototype.detect=Xe.prototype.F,Xe.prototype.setOptions=Xe.prototype.o,Xe.createFromModelPath=async function(e,t){return V(Xe,e,{baseOptions:{modelAssetPath:t}})},Xe.createFromModelBuffer=function(e,t){return V(Xe,e,{baseOptions:{modelAssetBuffer:t}})},Xe.createFromOptions=function(e,t){return V(Xe,e,t)};var zs=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){var e;(e=this.segmentationMasks)==null||e.forEach(t=>{t.close()})}};function al(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function cl(e){try{const t=new zs(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.u)return t;e.u(t)}finally{Zi(e)}}zs.prototype.close=zs.prototype.close;var ze=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,I(e=this.h=new kc,0,1,t=new te),this.A=new fc,I(this.h,0,3,this.A),this.j=new hc,I(this.h,0,2,this.j),mt(this.j,4,1),N(this.j,2,.5),N(this.A,2,.5),N(this.h,4,.5)}get baseOptions(){return G(this.h,te,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numPoses"in e&&mt(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&N(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&N(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&N(this.A,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.u=typeof t=="function"?t:r,al(this),et(this,e,i),cl(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.u=typeof r=="function"?r:i,al(this),lt(this,e,n,t),cl(this)}m(){var e=new Be;R(e,"image_in"),R(e,"norm_rect"),z(e,"normalized_landmarks"),z(e,"world_landmarks"),z(e,"segmentation_masks");const t=new Oe;ot(t,Pu,this.h);const r=new Ce;De(r,2,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Q(r,"IMAGE:image_in"),Q(r,"NORM_RECT:norm_rect"),B(r,"NORM_LANDMARKS:normalized_landmarks"),B(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),qe(e,r),Ji(this,e),this.g.attachProtoVectorListener("normalized_landmarks",(i,n)=>{this.landmarks=[];for(const s of i)i=ri(s),this.landmarks.push(Xi(i));x(this,n)}),this.g.attachEmptyPacketListener("normalized_landmarks",i=>{this.landmarks=[],x(this,i)}),this.g.attachProtoVectorListener("world_landmarks",(i,n)=>{this.worldLandmarks=[];for(const s of i)i=kr(s),this.worldLandmarks.push(ii(i));x(this,n)}),this.g.attachEmptyPacketListener("world_landmarks",i=>{this.worldLandmarks=[],x(this,i)}),this.outputSegmentationMasks&&(B(r,"SEGMENTATION_MASK:segmentation_masks"),Ar(this,"segmentation_masks"),this.g.aa("segmentation_masks",(i,n)=>{this.segmentationMasks=i.map(s=>Cr(this,s,!0,!this.u)),x(this,n)}),this.g.attachEmptyPacketListener("segmentation_masks",i=>{this.segmentationMasks=[],x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ze.prototype.detectForVideo=ze.prototype.G,ze.prototype.detect=ze.prototype.F,ze.prototype.setOptions=ze.prototype.o,ze.createFromModelPath=function(e,t){return V(ze,e,{baseOptions:{modelAssetPath:t}})},ze.createFromModelBuffer=function(e,t){return V(ze,e,{baseOptions:{modelAssetBuffer:t}})},ze.createFromOptions=function(e,t){return V(ze,e,t)},ze.POSE_CONNECTIONS=rl;const tn="https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task",Wu="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.32/wasm",Hu=()=>{const e=d.useRef(null),[t,r]=d.useState(!1),[i,n]=d.useState("Initializing..."),[s,a]=d.useState(0),[c,l]=d.useState(!1);d.useEffect(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(w=>{console.log("ServiceWorker registered:",w)}).catch(w=>{console.log("ServiceWorker registration failed:",w)})},[]);const h=async()=>"caches"in window?await(await caches.open("mediapipe-models-v1")).match(tn)!==void 0:!1,u=async()=>{try{const w=await fetch(tn),g=w.headers.get("content-length"),p=g?parseInt(g,10):0;if(!w.body)throw new Error("No response body");const y=w.body.getReader();let b=0;const m=[];for(;;){const{done:v,value:A}=await y.read();if(v)break;if(m.push(A),b+=A.length,p){const T=Math.round(b/p*100);a(T),n(`Downloading model... ${T}%`)}}return"caches"in window&&await(await caches.open("mediapipe-models-v1")).put(tn,new Response(new Blob(m),{headers:{"Content-Type":"application/octet-stream"}})),!0}catch(w){return console.error("Failed to preload model:",w),!1}};return d.useEffect(()=>{(async()=>{try{n("Checking cached models..."),await h()?n("Using cached model..."):(n("Model not cached. Downloading..."),await u()),n("Loading MediaPipe WASM...");const p=await Xt.forVisionTasks(Wu);n("Creating face landmarker...");const y=await ee.createFromOptions(p,{baseOptions:{modelAssetPath:tn,delegate:"GPU"},runningMode:"VIDEO",outputFaceBlendshapes:!0,numFaces:2});e.current=y,r(!0),n("Model loaded successfully ✅")}catch(g){console.error("Model init error:",g),n(`Error: ${g==null?void 0:g.message}`),(g==null?void 0:g.name)==="NotAllowedError"&&l(!0)}})()},[]),{faceLandmarkerRef:e,isModelLoaded:t,statusMessage:i,setStatusMessage:n,loadingProgress:s,permissionDenied:c,clearCache:async()=>{"caches"in window&&(await caches.delete("mediapipe-models-v1"),n("Cache cleared. Please refresh to re-download models."))}}},qu=()=>{const[e,t]=d.useState(0),r=d.useRef({lastTime:0,frames:0,fps:0}),i=d.useCallback(()=>{const n=performance.now(),s=r.current;if(s.frames++,n-s.lastTime>=1e3){const a=Math.round(s.frames*1e3/(n-s.lastTime));t(a),s.frames=0,s.lastTime=n}},[]);return{fps:e,updateFPS:i}},Ku=()=>{const e=d.useRef({value:100,isLookingAway:!1}),t=d.useCallback((s,a,c,l)=>{if(!s||!c||!a)return;const h=s.getContext("2d");if(!h)return;const{width:u,height:f}=s;if(h.clearRect(0,0,u,f),h.drawImage(a,0,0,u,f),l){h.fillStyle="#00FF00";for(const w of c)h.fillRect(w.x*u-.5,w.y*f-.5,1,1)}},[]),r=d.useCallback(s=>{const a=e.current.value/100,c=100,l=20,h=20,u=40;s.fillStyle="rgba(0, 0, 0, 0.3)",s.fillRect(h,u,l,c),s.fillStyle=`rgba(${Math.floor(255*(1-a))}, ${Math.floor(255*a)}, 0, 0.8)`;const f=c*a;s.fillRect(h,u+c-f,l,f),s.fillStyle="#FFFFFF",s.fillRect(h,u+c*(1-a),l,2)},[]),i=d.useCallback((s,a,c,l,h,u,f)=>{if(t(s,a,c,l),h&&u&&f){const w=s.getContext("2d");w&&r(w)}},[t,r]),n=d.useCallback((s,a)=>{const c=s.getContext("2d");c&&(c.clearRect(0,0,s.width,s.height),c.drawImage(a,0,0,s.width,s.height))},[]);return{drawLandmarks:t,drawEngagementBar:r,drawWithEngagementBar:i,clearCanvas:n,engagementRef:e}},Yu=50,Xu=()=>{const[e,t]=d.useState(100),[r,i]=d.useState(!1),n=d.useRef(0),s=d.useCallback((a,c,l)=>{if(!l||a.length<468)return;const h=a[33],u=a[263],f=a[1];if(!h||!u||!f)return;const w=(h.x+u.x)*.5,g=(h.y+u.y)*.5,p=w-c.x,y=g-c.y,b=Math.sqrt(p*p+y*y),m=Math.abs(f.y-c.noseY)*100,v=Math.abs(f.x-c.noseX)*100,A=Math.max(0,100-(b*200+m+v)),T=A<Yu,C=performance.now();return C-n.current>100&&(t(A),i(T),n.current=C),{engagement:A,isLookingAway:T}},[]);return{engagement:e,isLookingAway:r,analyzeGaze:s,setEngagement:t,setIsLookingAway:i}},Qu=.05,Ju=()=>{const[e,t]=d.useState(!1),[r,i]=d.useState(!1),n=d.useCallback((c,l)=>Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2)),[]),s=d.useCallback((c,l)=>{if(!c||!l)return 0;const h=[1,33,263,61,291,10,152];let u=0,f=0;const w=l[33],g=l[263],p=c[33],y=c[263];if(!w||!g||!p||!y)return 0;const b=n(w,g),m=n(p,y);if(b===0||m===0)return 0;for(const A of h){const T=l[A],C=c[A];if(T&&C){const k=w.x+(C.x-p.x)*b/m,D=w.y+(C.y-p.y)*b/m;u+=n(T,{x:k,y:D}),f++}}return f===0?0:u/f},[n]),a=d.useCallback((c,l,h,u)=>{if(!c.faceLandmarks||c.faceLandmarks.length===0)return u("Face not detected."),i(!0),t(!1),null;if(l&&h){let f=null,w=0;for(const g of c.faceLandmarks)s(g,h)<Qu&&(f=g,w++);return w===1?(t(!1),i(!1),u("Reference face tracked."),f):w>1?(t(!0),i(!1),u("Multiple matching faces detected. Tracking suspended."),null):(t(!1),i(!0),u("Reference face not detected."),null)}else{const f=c.faceLandmarks[0];if(c.faceLandmarks.length>1)return t(!0),i(!1),u("Multiple faces detected. Please ensure only you are visible."),null;if(!f)return i(!0),t(!1),u("Face not detected."),null;const g=f[1],p=f[33],y=f[263];return g&&p&&y&&g.x>.35&&g.x<.65&&g.y>.3&&g.y<.7&&p.x>.2&&p.x<.8&&y.x>.2&&y.x<.8?(i(!1),t(!1),u("Face detected. Ready for calibration."),f):(i(!0),t(!1),u("Please position your face in the center."),null)}},[s]);return{multipleFacesDetected:e,referenceFaceNotDetected:r,analyzeFace:a,setMultipleFacesDetected:t,setReferenceFaceNotDetected:i}},Zu=500,Ru=(e,t)=>{const[r,i]=d.useState(!1),[n,s]=d.useState(Te.MODEL_LOADING),{incrementGazeViolation:a}=Js(),{multipleFacesDetected:c,referenceFaceNotDetected:l,isLookingAway:h}=e;d.useEffect(()=>{let w;return(h||c||l)&&t?w=setTimeout(()=>{i(!0),h?(s("looking_away"),a("looking_away")):c?(s("multiple_faces"),a("multiple_faces")):l&&(s("no_face_detected"),a("no_face_detected"))},Zu):(i(!1),s("face_detected")),()=>{clearTimeout(w)}},[h,c,l,t,a]);const u=d.useCallback(()=>c?Te.MULTIPLE_FACES:l?"no_face_detected":h?Te.LOOKING_AWAY:n===Te.MODEL_LOADING?Te.MODEL_LOADING:Te.FACE_DETECTED,[c,l,h]),f=d.useCallback(()=>{i(!1),s("face_detected")},[]);return{showGazeWarningModal:r,faceDetectionState:n,getWarningType:u,closeWarningModal:f,setShowGazeWarningModal:i,setFaceDetectionState:s}};function e1(e){var t;if(!navigator.onLine)return{type:"network",message:"No internet connection",retryable:!0,userMessage:"Please check your internet connection and try again."};if(e.name==="AbortError"||(t=e.message)!=null&&t.includes("timeout"))return{type:"timeout",message:"Request timed out",retryable:!0,userMessage:"The request is taking longer than expected. Please try again."};if(e.status){const{status:r}=e;if(r===401||r===403)return{type:"auth",status:r,message:"Authentication failed",retryable:!1,userMessage:"Your session has expired. Please refresh the page."};if(r===429)return{type:"rate-limit",status:r,message:"Too many requests",retryable:!0,userMessage:"Please wait a moment before trying again."};if(r>=500)return{type:"server",status:r,message:`Server error: ${r}`,retryable:!0,userMessage:"Our servers are experiencing issues. Please try again in a few moments."};if(r>=400)return{type:"client",status:r,message:`Client error: ${r}`,retryable:!1,userMessage:"There was an issue with your request. Please check your input."}}return{type:"unknown",message:e.message||"Unknown error occurred",retryable:!0,userMessage:"Something unexpected happened. Please try again.",originalError:e}}async function Ct(e,t={},r={attempts:3,backoff:"exponential",baseDelay:1e3,maxDelay:1e4,jitter:!0}){let i;for(let n=1;n<=r.attempts;n++)try{const s=new AbortController,a=setTimeout(()=>s.abort(),6e4),c=await fetch(e,{...t,signal:s.signal});if(clearTimeout(a),c.status>=400&&c.status<500&&c.status!==429)return c;if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(s){i=s;const a=e1(s);if(!a.retryable||n===r.attempts)throw a;const c=t1(n,r);console.warn(`API request failed (attempt ${n}/${r.attempts}), retrying in ${c}ms:`,a.message),await new Promise(l=>setTimeout(l,c))}throw i}function t1(e,t){let r;return t.backoff==="exponential"?r=t.baseDelay*Math.pow(2,e-1):r=t.baseDelay,r=Math.min(r,t.maxDelay),t.jitter&&(r=r*(.5+Math.random()*.5)),Math.round(r)}const Nt={v2:"/v2"},It={GENERATE_QUESTION:e=>`${Nt.v2}/interviews/${e}/next-question`,SCREENSHOT_UPLOAD:e=>`${Nt.v2}/interviews/${e}/assets/upload-url`,CONFIRM_UPLOAD:e=>`${Nt.v2}/interviews/assets/${e}/confirm`,TRANSCRIBE_ANSWER:e=>`${Nt.v2}/interviews/${e}/transcribe-answer`,SUBMIT_ANSWER:e=>`${Nt.v2}/interviews/${e}/submit-answer`,EXIT:e=>`${Nt.v2}/interviews/${e}/exit`,CONFIG:e=>`${Nt.v2}/interviews/${e}/config`,TRANSCRIPTION:e=>`${Nt.v2}/interviews/${e}/transcript`};class H extends Error{constructor(t,r,i=!1){super(t),this.code=r,this.recoverable=i,this.name="STTError"}}const r1=50*1024*1024,ll=300,dl=500;class ul{constructor(t={}){ye(this,"config");ye(this,"mediaRecorder",null);ye(this,"audioChunks",[]);ye(this,"audioChunksTotalSize",0);ye(this,"recordingStream",null);ye(this,"autoStopTimeoutId",null);ye(this,"disposed",!1);ye(this,"pendingStopPromise",null);ye(this,"isStarting",!1);ye(this,"recordingStartTime",null);this.config={baseUrl:"http://localhost:8000",provider:"groq",model:"whisper-large-v3-turbo",language:"en",includeTimestamps:!1,temperature:0,...t}}updateConfig(t){this.throwIfDisposed(),this.config={...this.config,...t}}isRecordingSupported(){return!!(navigator.mediaDevices&&typeof navigator.mediaDevices.getUserMedia=="function"&&window.MediaRecorder)}async startRecording(t,r){var i;if(this.throwIfDisposed(),!this.isRecordingSupported())throw new H("Audio recording is not supported in this browser","RECORDING_NOT_SUPPORTED",!1);if(this.isRecording()||this.isStarting){console.warn("STTService.startRecording: already recording or starting, ignoring duplicate call.");return}this.isStarting=!0;try{this.recordingStream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}}),this.audioChunks=[],this.audioChunksTotalSize=0;const n=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.recordingStream,{mimeType:n}),this.mediaRecorder.addEventListener("dataavailable",s=>{var a,c,l;if(s.data.size>0){if(this.audioChunksTotalSize+s.data.size>r1){console.error(`Max size exceeded: ${(this.audioChunksTotalSize/1024/1024).toFixed(2)} MB`);const h=new H("Recording exceeded maximum size limit","MAX_SIZE_EXCEEDED",!1);(a=r==null?void 0:r.onError)==null||a.call(r,h),this.isRecording()&&((c=this.mediaRecorder)==null||c.stop());return}this.audioChunks.push(s.data),this.audioChunksTotalSize+=s.data.size,(l=r==null?void 0:r.onDataAvailable)==null||l.call(r,s.data)}}),this.mediaRecorder.addEventListener("stop",()=>{var s;(s=r==null?void 0:r.onStop)==null||s.call(r)},{once:!0}),this.mediaRecorder.addEventListener("error",s=>{var c;const a=new H(`Recording failed: ${s.error}`,"RECORDING_ERROR",!0);(c=r==null?void 0:r.onError)==null||c.call(r,a),this.cleanup()}),this.mediaRecorder.start(100),this.recordingStartTime=Date.now(),(i=r==null?void 0:r.onStart)==null||i.call(r),t&&t>0&&(this.autoStopTimeoutId=setTimeout(()=>{this.handleAutoStop()},t*1e3))}catch(n){if(this.cleanup(),n instanceof Error){if(n.name==="NotAllowedError"||n.name==="PermissionDeniedError")throw new H("Microphone permission was denied","PERMISSION_DENIED",!1);if(n.name==="NotFoundError")throw new H("No microphone found","NO_MICROPHONE",!1)}throw new H(`Failed to start recording: ${n instanceof Error?n.message:String(n)}`,"START_RECORDING_FAILED",!0)}finally{this.isStarting=!1}}async stopRecording(){var t;if(this.throwIfDisposed(),this.pendingStopPromise)return this.pendingStopPromise;if(this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),!this.mediaRecorder||this.mediaRecorder.state==="inactive"){if(this.audioChunks.length>0){const i=((t=this.mediaRecorder)==null?void 0:t.mimeType)||"audio/webm",n=new Blob(this.audioChunks,{type:i});return this.cleanup(),n}const r=this.mediaRecorder?"State is inactive":"MediaRecorder is null";throw console.warn(`Cannot stop recording: ${r}`),new H("No active recording to stop","NO_ACTIVE_RECORDING",!1)}if(this.recordingStartTime!==null){const r=Date.now()-this.recordingStartTime;r<ll&&await new Promise(i=>setTimeout(i,ll-r))}return this.pendingStopPromise=new Promise((r,i)=>{if(!this.mediaRecorder){this.pendingStopPromise=null,i(new H("MediaRecorder is null","MEDIARECORDER_NULL",!1));return}const n=this.mediaRecorder,s=()=>{setTimeout(()=>{try{const a=n.mimeType||"audio/webm",c=new Blob(this.audioChunks,{type:a});if(!c||c.size===0){this.cleanup(),i(new H("Audio blob is empty","EMPTY_BLOB",!1));return}this.cleanup(),r(c)}catch(a){this.cleanup(),i(new H(`Failed to create audio blob: ${a instanceof Error?a.message:String(a)}`,"BLOB_CREATION_FAILED",!1))}finally{this.pendingStopPromise=null}},0)};n.addEventListener("stop",s,{once:!0});try{n.requestData(),n.stop()}catch(a){this.pendingStopPromise=null,i(a)}}),this.pendingStopPromise}handleAutoStop(){if(!this.isRecording())return;const t=this.recordingStartTime?Date.now()-this.recordingStartTime:1/0;if(t<dl){const r=dl-t;setTimeout(()=>{this.isRecording()&&this.executeAutoStop()},r);return}this.executeAutoStop()}executeAutoStop(){this.stopRecording().catch(t=>{console.error("Auto-stop recording failed:",t),t instanceof H&&console.error(`[${t.code}] ${t.message}`)})}async transcribe(t){this.throwIfDisposed();const{audioBlob:r}=t;if(!r||r.size===0)throw new H("Audio blob is empty or invalid","INVALID_AUDIO",!1);try{const i=new FormData,n=new File([r],"recording.wav",{type:r.type||"audio/wav"});if(i.append("file",n),i.append("qna_id",this.config.qnaId||""),!this.config.interviewId)throw new H("Interview ID is missing from configuration","MISSING_INTERVIEW_ID",!1);const s=await Ct(`${this.config.baseUrl}${It.TRANSCRIBE_ANSWER(this.config.interviewId)}`,{method:"POST",headers:{accept:"application/json","X-STT-Provider":this.config.provider||"groq",...this.config.authToken&&{Authorization:`Bearer ${this.config.authToken}`}},body:i},{attempts:1,backoff:"exponential",baseDelay:1e3,maxDelay:3e3,jitter:!0});if(!s.ok){const c=await s.text();let l=`STT request failed: ${s.status} ${s.statusText}`;try{const h=JSON.parse(c);l=h.message||h.error||l}catch{l=c||l}throw new H(l,`HTTP_${s.status}`,s.status>=500)}return{transcript:(await s.json()).data.transcribed_text??""}}catch(i){throw i instanceof H?i:new H(`Transcription failed: ${i instanceof Error?i.message:String(i)}`,"TRANSCRIPTION_FAILED",!0)}}cancelRecording(){this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),this.mediaRecorder&&this.isRecording()&&this.mediaRecorder.stop(),this.cleanup()}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}dispose(){this.disposed||(this.cancelRecording(),this.disposed=!0)}isDisposed(){return this.disposed}getSupportedMimeType(){const t=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/wav"];for(const r of t)if(MediaRecorder.isTypeSupported(r))return r;return"audio/webm"}getRecordingStream(){return this.recordingStream}cleanup(){this.recordingStream&&(this.recordingStream.getTracks().forEach(t=>t.stop()),this.recordingStream=null),this.recordingStartTime=null,this.mediaRecorder=null,this.audioChunks=[],this.audioChunksTotalSize=0,this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null)}throwIfDisposed(){if(this.disposed)throw new H("STTService has been disposed and cannot be reused","SERVICE_DISPOSED",!1)}}const i1=new ul,n1=(e,t,r,i)=>{const n=d.useRef(null);return d.useEffect(()=>{if(!t)return;const s=async()=>{try{const l=await navigator.mediaDevices.getUserMedia({video:{width:{ideal:640},height:{ideal:480},facingMode:"user"}});e.current&&(e.current.srcObject=l,e.current.onloadeddata=()=>{r()})}catch(l){console.error("Camera access error:",l),i("Camera access failed")}},a=n.current,c=e.current;return s(),()=>{a&&cancelAnimationFrame(a),c!=null&&c.srcObject&&c.srcObject.getTracks().forEach(h=>h.stop())}},[t,r]),d.useEffect(()=>{const s=i1.getRecordingStream();if(s&&e.current){e.current.srcObject=s;const a=s.getVideoTracks(),c=s.getAudioTracks(),l=()=>{console.log("Media track ended - permission may have been revoked")};[...a,...c].forEach(h=>{h.addEventListener("ended",l)})}},[]),{animationFrameRef:n}},s1=(e,t,r,i,n,s,a,c,l,h,u,f,w,g,p)=>{const y=d.useRef(null),b=d.useCallback(()=>{const m=e.current,v=t.current,A=r.current;if(!m||m.readyState<2||!A||!v){y.current=requestAnimationFrame(b);return}i();try{const T=performance.now(),C=A.detectForVideo(m,T),k=n(C,l,h.current,g);k?(s(v,m,k,u,f,w,l),l&&w&&c(k,h.current,w)):a(v,m)}catch(T){console.error("Face detection error:",T)}y.current=requestAnimationFrame(b)},[e,t,r,i,n,s,a,c,l,h,u,f,w,g,p]);return{renderLoop:b,animationFrameRef:y}},o1=(e,t,r,i)=>{const{referenceSet:n,referenceRef:s,setReferenceData:a}=Js(),c=d.useRef(s),l=d.useCallback(()=>{c.current=s},[s]),h=d.useCallback(()=>{var g;const f=e.current,w=t.current;if(!(!f||!w))try{const p=performance.now(),y=f.detectForVideo(w,p);if((g=y.faceLandmarks)!=null&&g[0]){const b=y.faceLandmarks[0],m=b[33],v=b[263],A=b[1];m&&v&&A&&(c.current={x:(m.x+v.x)*.5,y:(m.y+v.y)*.5,noseX:A.x,noseY:A.y},a(!0,c.current),r("Reference set. Gaze tracking active."),i&&i())}}catch(p){console.error("Set reference error:",p),r("Failed to set reference")}},[e,t,r,a,i]),u=d.useCallback(()=>{a(!1,{x:0,y:0,noseX:0,noseY:0}),r("Reference reset. Starting calibration...")},[a,r]);return{referenceSet:n,referenceRef:c,setReference:h,resetReference:u,syncReference:l}};function a1({onClose:e,warningType:t,isCheatingModalOpen:r=!1}){const i=no[t],n=i.icon;return t==="face_detected"?null:o.jsx("div",{className:"iw-absolute iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300 iw-transition-all",style:{bottom:r?"280px":"5rem"},children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#5C6686] iw-bg-[#F1F5FE] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:e,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(yi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-2",children:[o.jsx("div",{className:"iw-flex iw-size-8 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#5C6686]",children:o.jsx(n,{className:"iw-size-6 iw-text-[#5C6686]"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsx("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#062260] iw-pr-6",children:i.title}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:i.subtitle}),i.description&&o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-[#5C6686] iw-pt-3",children:o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:i.description})})]})]})]})})}const c1=({status:e})=>{const t=no[e];if(!t)return null;const r=e!=="face_detected";return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-0.5",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-px-3 iw-py-1 iw-rounded-full iw-backdrop-blur-md iw-shadow-sm transition-colors duration-300 iw-text-white",children:[o.jsx("div",{className:`iw-flex iw-h-4 iw-w-4 iw-items-center iw-size-2.5 iw-justify-center iw-rounded-full iw-text-white ${e==="face_detected"?"iw-bg-[#22C55E]":e==="model_loading"?"iw-bg-[#062260]":"iw-bg-[#E94315]"}`,children:e==="face_detected"?o.jsx(mi,{}):e==="model_loading"?o.jsx("div",{className:"iw-animate-spin iw-border iw-border-white iw-border-t-transparent iw-rounded-full iw-w-2 iw-h-2"}):o.jsx(yi,{})}),o.jsx("span",{className:"iw-text-sm iw-font-medium",children:e==="face_detected"?"Face detected clearly":e==="camera_error"?"Camera not found":t.title})]}),r&&o.jsx("span",{className:"iw-text-white iw-text-center iw-text-xs iw-drop-shadow-sm iw-max-w-[400px] iw-px-3",children:e==="model_loading"?"Initializing Face models. Please wait...":e==="no_face_detected"?"Face not detected. Please position yourself clearly in the frame.":e==="multiple_faces"?"Multiple faces detected. Please ensure only you are visible.":"Please position your face correctly."})]})};function l1(e,t={}){const[r,i]=d.useState({data:null,loading:!1,error:null}),n=d.useCallback(async(...s)=>{var a,c,l,h;i(u=>({...u,loading:!0,error:null}));try{const u=await e(...s);i(f=>({...f,data:u,loading:!1,error:null})),(a=t.onSuccess)==null||a.call(t,u),(c=t.onSettled)==null||c.call(t,u,null)}catch(u){const f=u.type?u:{type:"unknown",message:u.message||"Unknown error",retryable:!0,userMessage:"Something went wrong. Please try again.",originalError:u};i(w=>({...w,loading:!1,error:f})),(l=t.onError)==null||l.call(t,f),(h=t.onSettled)==null||h.call(t,null,f)}},[e,t]);return{...r,execute:n}}const d1=e=>{const[t,r]=d.useState(null),[i,n]=d.useState(!1),s=document,a=()=>!!(s.fullscreenEnabled||s.webkitFullscreenEnabled||s.mozFullScreenEnabled||s.msFullscreenEnabled),c=()=>s.fullscreenElement||s.webkitFullscreenElement||s.mozFullScreenElement||s.msFullscreenElement,l=async g=>{var p;try{if(!a())throw new Error("Fullscreen is not supported in this environment");g.requestFullscreen?await g.requestFullscreen():g.webkitRequestFullscreen?await g.webkitRequestFullscreen():g.mozRequestFullScreen?await g.mozRequestFullScreen():g.msRequestFullscreen&&await g.msRequestFullscreen()}catch(y){const b={name:"FullscreenError",message:y instanceof Error?y.message:"Failed to enter fullscreen"};r(b),(p=e==null?void 0:e.onError)==null||p.call(e,b)}},h=async()=>{var g;try{s.exitFullscreen?await s.exitFullscreen():s.webkitExitFullscreen?await s.webkitExitFullscreen():s.mozCancelFullScreen?await s.mozCancelFullScreen():s.msExitFullscreen&&await s.msExitFullscreen()}catch(p){const y={name:"FullscreenError",message:p instanceof Error?p.message:"Failed to exit fullscreen"};r(y),(g=e==null?void 0:e.onError)==null||g.call(e,y)}},u=d.useCallback(()=>{var p;const g=!!c();n(g),(p=e==null?void 0:e.onFullScreenChange)==null||p.call(e,g)},[e]);d.useEffect(()=>{const g=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];return g.forEach(p=>{document.addEventListener(p,u)}),()=>{g.forEach(p=>{document.removeEventListener(p,u)})}},[u]);const f=async g=>{r(null);const p=g??document.documentElement;await l(p)};return{isFullScreen:i,toggleFullScreen:async g=>{i?await h():await f(g)},enterFullScreen:f,exitFullScreen:h,error:t}};class u1{constructor(t={}){ye(this,"config");this.config=t}updateConfig(t){this.config={...this.config,...t}}getHeaders(){var r;const t={"Content-Type":"application/json"};return(r=this.config)!=null&&r.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),t}getBaseUrl(){var t;return((t=this.config)==null?void 0:t.baseUrl)||"/api"}async generateQuestion({interviewId:t,isInterviewDone:r=!1}){const i=await Ct(`${this.getBaseUrl()}${It.GENERATE_QUESTION(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({interview_id:t,is_interview_done:r})});if(!i.ok)throw new Error(`Failed to get questions: ${i.status}`);return await i.json()}async submitAnswer({interviewId:t,qnaId:r,answer:i}){const n=await Ct(`${this.getBaseUrl()}${It.SUBMIT_ANSWER(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({qna_id:r,answer_text:i})});if(!n.ok)throw new Error(`Failed to submit answer: ${n.status}`);return await n.json()}async exitInterview(t){const r=await Ct(`${this.getBaseUrl()}${It.EXIT(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to exit interview: ${r.status}`)}async getInterviewConfig(t){const r=await Ct(`${this.getBaseUrl()}${It.CONFIG(t)}`,{method:"GET",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to get interview config: ${r.status}`);return await r.json()}async requestScreenshotUploadUrl(t,r=`screenshot-${Date.now()}.jpeg`){const i=await Ct(`${this.getBaseUrl()}${It.SCREENSHOT_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({filename:r,mime_type:"image/jpeg",asset_type:Tl.SCREENSHOT})});if(!i.ok)throw new Error(`Failed to request screenshot upload URL: ${i.status}`);return await i.json()}async uploadScreenshot(t,r){const i=await fetch(t,{method:"PUT",body:r,headers:{"Content-Type":"image/jpeg"}});if(!i.ok)throw new Error(`Failed to upload screenshot: ${i.status}`)}async confirmScreenshotUpload(t){const r=await Ct(`${this.getBaseUrl()}${It.CONFIRM_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to confirm screenshot upload: ${r.status}`)}async getInterviewTranscription(t){const r=await Ct(`${this.getBaseUrl()}${It.TRANSCRIPTION(t)}`,{method:"GET",headers:{...this.getHeaders()}});if(!r.ok)throw new Error(`Failed to get interview transcription: ${r.status}`);return await r.json()}}function $s(){const e=gi();return d.useMemo(()=>{const r=e.api||{};return new u1(r)},[e.api])}const h1=e=>{d.useEffect(()=>{const t=i=>{(i.ctrlKey||i.metaKey)&&["c","v","a","t","n","w","r","s","p"].includes(i.key.toLowerCase())&&(i.preventDefault(),e({type:"blocked_shortcut",severity:"low",details:{action:"shortcut_pressed",reason:`Attempted to use a blocked keyboard shortcut: Ctrl + ${i.key}`}})),i.key.startsWith("F")&&i.key.length<=3&&(i.preventDefault(),e({type:"blocked_function_key",severity:"low",details:{action:"function_key_pressed",reason:`Attempted to use a blocked function key: ${i.key}`}})),i.altKey&&i.key==="Tab"&&(i.preventDefault(),e({type:"alt_tab_attempt",severity:"medium",details:{action:"alt_tab",reason:"Attempted to use the Alt + Tab shortcut"}}))},r=i=>{i.preventDefault(),e({type:"right_click_attempt",severity:"low",details:{action:"right_click",reason:"Attempted to use the right click"}})};return document.addEventListener("keydown",t),document.addEventListener("contextmenu",r),()=>{document.removeEventListener("keydown",t),document.removeEventListener("contextmenu",r)}},[e])},f1=(e={})=>{const[t,r]=d.useState(!1),[i,n]=d.useState(!1),[s,a]=d.useState(null),[c,l]=d.useState(null),[h,u]=d.useState(null),f=d.useRef(e);f.current=e;const w=d.useRef(null);w.current||(w.current=new ul(e.config)),d.useEffect(()=>{var m;e.config&&((m=w.current)==null||m.updateConfig(e.config))},[e.config]),d.useEffect(()=>{const m=w.current;return()=>{m==null||m.dispose(),w.current=null}},[]);const g=d.useCallback(async m=>{var A,T;const v=w.current;if(!v||v.isDisposed())throw new H("STT service is not available","SERVICE_UNAVAILABLE",!1);try{l(null),a(null),u(null),await v.startRecording(m,{onStart:()=>{var C,k;r(!0),(k=(C=f.current).onStart)==null||k.call(C)},onStop:()=>{var C,k;r(!1),(k=(C=f.current).onStop)==null||k.call(C)},onError:C=>{var D,F;const k=C instanceof H?C:new H(C.message,"RECORDING_ERROR",!0);l(k),r(!1),(F=(D=f.current).onError)==null||F.call(D,k)}})}catch(C){const k=C instanceof H?C:new H(C instanceof Error?C.message:String(C),"START_FAILED",!1);throw l(k),r(!1),(T=(A=f.current).onError)==null||T.call(A,k),k}},[]),p=d.useCallback(async()=>{var v,A;const m=w.current;if(!m||m.isDisposed())throw new H("STT service is not available","SERVICE_UNAVAILABLE",!1);try{const T=await m.stopRecording();return u(T),T}catch(T){const C=T instanceof H?T:new H(T instanceof Error?T.message:String(T),"STOP_FAILED",!1);throw l(C),r(!1),(A=(v=f.current).onError)==null||A.call(v,C),C}},[]),y=d.useCallback(async(m,v={})=>{var T,C,k,D,F,L;const A=w.current;if(!A||A.isDisposed())throw new H("STT service is not available","SERVICE_UNAVAILABLE",!1);try{if(l(null),n(!0),!m||m.size===0){console.warn("Skipping transcription — blob is empty");const q={transcript:""};return a(q.transcript),n(!1),(C=(T=f.current).onTranscriptionComplete)==null||C.call(T,q),q}const j={audioBlob:m,...v},Y=await A.transcribe(j);return a(Y.transcript),n(!1),(D=(k=f.current).onTranscriptionComplete)==null||D.call(k,Y),Y}catch(j){const Y=j instanceof H?j:new H(j instanceof Error?j.message:String(j),"TRANSCRIPTION_FAILED",!0);throw l(Y),n(!1),(L=(F=f.current).onError)==null||L.call(F,Y),Y}},[]),b=d.useCallback(()=>{var m;(m=w.current)==null||m.cancelRecording(),r(!1),u(null)},[]);return{startRecording:g,stopRecording:p,transcribe:y,cancelRecording:b,isRecording:t,isTranscribing:i,transcript:s,error:c,audioBlob:h}},w1=e=>{const t=d.useRef(null),r=d.useRef(!1);d.useEffect(()=>{const i=()=>{document.hidden&&(r.current=!0,t.current&&(clearTimeout(t.current),t.current=null),e({type:"tab_switch",severity:"high",details:{action:"tab_hidden",reason:"Attempted to switch tabs or applications"}}),setTimeout(()=>{r.current=!1},100))},n=()=>{r.current||(t.current=setTimeout(()=>{r.current||e({type:"focus_loss",severity:"medium",details:{action:"window_blur",reason:"Focus lost from the interview window"}}),t.current=null},50))};return document.addEventListener("visibilitychange",i),window.addEventListener("blur",n),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("blur",n),t.current&&clearTimeout(t.current)}},[e])},g1=()=>{d.useEffect(()=>{const e=document.createElement("style");return e.textContent=`
16
16
  * {
17
17
  -webkit-user-select: none !important;
18
18
  -moz-user-select: none !important;
@@ -25,7 +25,7 @@
25
25
  -ms-user-select: text !important;
26
26
  user-select: text !important;
27
27
  }
28
- `,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[])};class _1{constructor(){ye(this,"currentAudio",null)}async play(t,r){var i,n;try{if(this.stop(),(i=r==null?void 0:r.onStart)==null||i.call(r),!t)throw new Error("No audio data provided");const s=window.atob(t),a=new Uint8Array(s==null?void 0:s.length);for(let h=0;h<(s==null?void 0:s.length);h++)a[h]=s==null?void 0:s.charCodeAt(h);const c=new Blob([a],{type:"audio/wav"}),l=URL.createObjectURL(c);return this.currentAudio=new Audio(l),new Promise((h,u)=>{if(!this.currentAudio){u(new Error("Audio element not created"));return}const f=this.currentAudio;f.onended=()=>{var w;URL.revokeObjectURL(l),this.currentAudio=null,(w=r==null?void 0:r.onEnd)==null||w.call(r),h()},f.onerror=w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Audio playback failed: ${w}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),u(g)},f.play().catch(w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Failed to play audio: ${w.message}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),u(g)})})}catch(s){const a=s instanceof Error?s:new Error(`TTS Error: ${String(s)}`);throw(n=r==null?void 0:r.onError)==null||n.call(r,a),a}}stop(){this.currentAudio&&(this.currentAudio.pause(),this.currentAudio.currentTime=0,this.currentAudio=null)}isPlaying(){return this.currentAudio!==null&&!this.currentAudio.paused}}const bl=new _1,k1=(e={})=>{const[t,r]=d.useState(!1),[i,n]=d.useState(!1),[s,a]=d.useState(null),c=d.useCallback(async h=>{var u;try{a(null),n(!0),await bl.play(h,{onStart:()=>{var f;n(!1),r(!0),(f=e.onStart)==null||f.call(e)},onEnd:()=>{var f;r(!1),(f=e.onEnd)==null||f.call(e)},onError:f=>{var w;r(!1),n(!1),a(f),(w=e.onError)==null||w.call(e,f)}})}catch(f){const w=f instanceof Error?f:new Error(String(f));throw a(w),r(!1),n(!1),(u=e.onError)==null||u.call(e,w),w}},[e]),l=d.useCallback(()=>{bl.stop(),r(!1),n(!1)},[]);return{speak:c,stop:l,isPlaying:t,isLoading:i,error:s}},S1=({onViolation:e,onEnd:t,maxViolations:r=5})=>{const{addViolation:i}=Ul(),n=Ol(),s=Bl(),a=d.useRef(s);d.useEffect(()=>{a.current=s},[s]);const c=d.useCallback(h=>{t&&t(h,a.current)},[t]);return{logViolation:d.useCallback(({type:h,severity:u,details:f})=>{const w={id:Wl(),type:h,severity:u,details:f,timestamp:Date.now()};i(w);const g=a.current+1;e&&e(w,g),g>=r&&c("excessive_violations")},[i,e,r,c]),onInterviewEnd:c,violationCount:s,logList:n}},A1=()=>{d.useEffect(()=>{function e(){console.clear(),console.log(`
28
+ `,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[])};var P=(e=>(e.IDLE="idle",e.FETCHING_QUESTION="fetching_question",e.READING_QUESTION="reading_question",e.THINKING="thinking",e.ANSWERING="answering",e.TRANSCRIBING="transcribing",e.EDITING="editing",e.SUBMITTING="submitting",e.COMPLETED="completed",e))(P||{});const hl={thinkingDuration:0,answeringDuration:120,editingDuration:30},fl={idle:{next:"fetching_question"},fetching_question:{next:"reading_question"},reading_question:{next:"answering"},thinking:{next:"answering",duration:0},answering:{next:"transcribing",duration:120},transcribing:{next:"editing"},editing:{next:"submitting",duration:30},submitting:{next:"completed"},completed:{next:"completed"}};class p1{constructor(t={},r={}){ye(this,"config");ye(this,"state");ye(this,"phaseIntervalId",null);ye(this,"globalIntervalId",null);ye(this,"callbacks");this.config={...hl,...t},this.callbacks=r,this.state={phase:"idle",currentPhaseTimeRemaining:0,totalTimeElapsed:0,currentQuestionNumber:0}}updateConfig(t){this.config={...this.config,...t}}getState(){return{...this.state}}startQuestion(){this.state.currentQuestionNumber===0&&this.startGlobalTimer(),this.state.currentQuestionNumber=this.state.currentQuestionNumber+1,this.state.phase="fetching_question",this.notifyChange()}nextPhase(){const t=this.state.phase;let r=fl[t];if(!r)return;if(r.next==="editing"&&this.config.editingDuration===0){const n=fl.editing;n&&(r=n)}this.stopPhaseTimer(),this.state.phase=r.next;const i=this.getDurationForPhase(r.next);i>0?(this.state.currentPhaseTimeRemaining=i,this.startPhaseTimer()):this.state.currentPhaseTimeRemaining=0,this.notifyChange()}setTotalTimeElapsed(t){var r,i;this.state.totalTimeElapsed=t,(i=(r=this.callbacks).onTick)==null||i.call(r,this.getState())}completeInterview(){var t,r;this.stopGlobalTimer(),this.stopPhaseTimer(),this.state.phase="completed",(r=(t=this.callbacks).onInterviewEnd)==null||r.call(t),this.notifyChange()}destroy(){this.stopPhaseTimer(),this.stopGlobalTimer()}getDurationForPhase(t){switch(t){case"thinking":return this.config.thinkingDuration;case"answering":return this.config.answeringDuration;case"editing":return this.config.editingDuration;default:return 0}}startGlobalTimer(){this.globalIntervalId=setInterval(()=>{var t,r;this.state.totalTimeElapsed++,(r=(t=this.callbacks).onTick)==null||r.call(t,this.getState())},1e3)}stopGlobalTimer(){this.globalIntervalId&&(clearInterval(this.globalIntervalId),this.globalIntervalId=null)}startPhaseTimer(){this.phaseIntervalId=setInterval(()=>{this.state.currentPhaseTimeRemaining--,this.state.currentPhaseTimeRemaining<=0&&this.nextPhase()},1e3)}stopPhaseTimer(){this.phaseIntervalId&&(clearInterval(this.phaseIntervalId),this.phaseIntervalId=null)}notifyChange(){var t,r;(r=(t=this.callbacks).onPhaseChange)==null||r.call(t,this.state.phase,this.getState())}}function m1(e={}){const{config:t={},callbacks:r={}}=e,i=d.useRef(null);i.current||(i.current=new p1(t,{}));const n=i.current,[s,a]=d.useState(n.getState()),c=d.useCallback(()=>{a(n.getState())},[n]);d.useEffect(()=>{const f={onPhaseChange:(w,g)=>{var p;c(),(p=r.onPhaseChange)==null||p.call(r,w,g)},onTick:w=>{var g;c(),(g=r.onTick)==null||g.call(r,w)},onInterviewEnd:()=>{var w;c(),(w=r.onInterviewEnd)==null||w.call(r)}};n.callbacks=f},[n,r,c]),d.useEffect(()=>{n.updateConfig(t)},[n,t]),d.useEffect(()=>()=>{n.destroy()},[n]);const l=d.useCallback(()=>{n.startQuestion(),c()},[n,c]),h=d.useCallback(()=>{n.nextPhase(),c()},[n,c]),u=d.useCallback(()=>{n.completeInterview(),c()},[n,c]);return{state:s,startQuestion:l,nextPhase:h,completeInterview:u,timerService:n}}class y1{constructor(){ye(this,"currentAudio",null)}async play(t,r){var i,n;try{if(this.stop(),(i=r==null?void 0:r.onStart)==null||i.call(r),!t)throw new Error("No audio data provided");const s=window.atob(t),a=new Uint8Array(s==null?void 0:s.length);for(let h=0;h<(s==null?void 0:s.length);h++)a[h]=s==null?void 0:s.charCodeAt(h);const c=new Blob([a],{type:"audio/wav"}),l=URL.createObjectURL(c);return this.currentAudio=new Audio(l),new Promise((h,u)=>{if(!this.currentAudio){u(new Error("Audio element not created"));return}const f=this.currentAudio;f.onended=()=>{var w;URL.revokeObjectURL(l),this.currentAudio=null,(w=r==null?void 0:r.onEnd)==null||w.call(r),h()},f.onerror=w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Audio playback failed: ${w}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),u(g)},f.play().catch(w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Failed to play audio: ${w.message}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),u(g)})})}catch(s){const a=s instanceof Error?s:new Error(`TTS Error: ${String(s)}`);throw(n=r==null?void 0:r.onError)==null||n.call(r,a),a}}stop(){this.currentAudio&&(this.currentAudio.pause(),this.currentAudio.currentTime=0,this.currentAudio=null)}isPlaying(){return this.currentAudio!==null&&!this.currentAudio.paused}}const wl=new y1,b1=(e={})=>{const[t,r]=d.useState(!1),[i,n]=d.useState(!1),[s,a]=d.useState(null),c=d.useCallback(async h=>{var u;try{a(null),n(!0),await wl.play(h,{onStart:()=>{var f;n(!1),r(!0),(f=e.onStart)==null||f.call(e)},onEnd:()=>{var f;r(!1),(f=e.onEnd)==null||f.call(e)},onError:f=>{var w;r(!1),n(!1),a(f),(w=e.onError)==null||w.call(e,f)}})}catch(f){const w=f instanceof Error?f:new Error(String(f));throw a(w),r(!1),n(!1),(u=e.onError)==null||u.call(e,w),w}},[e]),l=d.useCallback(()=>{wl.stop(),r(!1),n(!1)},[]);return{speak:c,stop:l,isPlaying:t,isLoading:i,error:s}},v1=({onViolation:e,onEnd:t,maxViolations:r=5})=>{const{addViolation:i}=Bl(),n=Pl(),s=Ol(),a=d.useRef(s);d.useEffect(()=>{a.current=s},[s]);const c=d.useCallback(h=>{t&&t(h,a.current)},[t]);return{logViolation:d.useCallback(({type:h,severity:u,details:f})=>{const w={id:$l(),type:h,severity:u,details:f,timestamp:Date.now()};i(w);const g=a.current+1;e&&e(w,g),g>=r&&c("excessive_violations")},[i,e,r,c]),onInterviewEnd:c,violationCount:s,logList:n}},x1=()=>{d.useEffect(()=>{function e(){console.clear(),console.log(`
29
29
  %c
30
30
  ╔═══════════════════════════════════════════════════════════════════════╗
31
31
  ║ ║
@@ -71,7 +71,7 @@
71
71
  │ │
72
72
  │ 💡 IMMEDIATE ACTION REQUIRED: │
73
73
  │ Close developer tools to continue interview │
74
- └─────────────────────────────────────────────────────────────┘`,"color: #ffd93d; font-size: 14px; font-family: monospace; background: rgba(255, 217, 61, 0.1); padding: 10px;")}const t={open:!1,orientation:null},r=160,i=setInterval(()=>{window.outerHeight-window.innerHeight>r||window.outerWidth-window.innerWidth>r?t.open||(t.open=!0,t.orientation=window.outerWidth-window.innerWidth>r?"vertical":"horizontal",e()):t.open&&(t.open=!1,console.log("%c🌟 Developer tools closed. Interview continues smoothly! ✨","color: #4ecdc4; font-weight: bold; text-shadow: 0 0 10px #4ecdc4;"))},500),n=a=>{if(a.keyCode===123||a.ctrlKey&&a.shiftKey&&(a.keyCode===73||a.keyCode===74)||a.ctrlKey&&a.keyCode===85)return a.preventDefault(),console.log("%c🎭 Nice try! Keyboard shortcuts are disabled during interviews ✨","color: #ffd93d; font-weight: bold; text-shadow: 0 0 10px #ffd93d;"),!1},s=a=>(a.preventDefault(),console.log("%c🌈 Right-click menu disabled for interview integrity! 🎪","color: #ff9ff3; font-weight: bold; text-shadow: 0 0 10px #ff9ff3;"),!1);return document.addEventListener("keydown",n),document.addEventListener("contextmenu",s),()=>{clearInterval(i),document.removeEventListener("keydown",n),document.removeEventListener("contextmenu",s),delete window.showStats,delete window.interviewTips}},[])},rn=e=>{const{baseColor:t,borderRadius:r}=Zt(),{loading:i,children:n,...s}=e;return o.jsx(tn,{style:{background:$l(t),borderRadius:r},...s,children:i?o.jsx(ro,{}):n})},T1=(e,t,r)=>Math.max(t,Math.min(r,e)),vl=e=>{const t=Math.max(0,Math.floor(e)),r=Math.floor(t/60).toString().padStart(2,"0"),i=(t%60).toString().padStart(2,"0");return`${r}:${i}`},nn=({total:e,remaining:t,size:r=64,strokeWidth:i=6,className:n="",showLabel:s=!0})=>{const a=Math.max(1,e||1),c=T1(t/a,0,1),{radius:l,circumference:h,dashOffset:u,center:f}=d.useMemo(()=>{const p=(r-i)/2,y=2*Math.PI*p,m=y*(1-c),b=Math.round(i)%2===1,v=r/2+(b?.5:0);return{radius:p,circumference:y,dashOffset:m,center:v}},[r,i,c]),w=d.useMemo(()=>c<=.25?"iw-stroke-red-500":c<=.5?"iw-stroke-yellow-500":"iw-stroke-green-500",[c]),g=c<=.25?"iw-animate-pulse":"";return o.jsxs("div",{className:`iw-relative iw-inline-flex iw-items-center iw-justify-center iw-rounded-full iw-bg-white ${n}`,style:{width:r,height:r},"aria-label":`Time remaining ${vl(t)}`,role:"timer","aria-live":"polite",children:[o.jsx("svg",{width:r,height:r,viewBox:`0 0 ${r} ${r}`,preserveAspectRatio:"xMidYMid meet",children:o.jsxs("g",{transform:`rotate(-90 ${f} ${f})`,children:[o.jsx("circle",{cx:f,cy:f,r:l,className:"iw-stroke-gray-200",strokeWidth:i,fill:"none",shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke"}),o.jsx("circle",{cx:f,cy:f,r:l,className:`${w} ${g}`,strokeWidth:i,strokeLinecap:"round",fill:"none",strokeDasharray:h,strokeDashoffset:u,shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke",style:{transition:"stroke-dashoffset 0.3s ease, stroke 0.2s ease"}})]})}),s?o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx("span",{className:`iw-text-[11px] iw-font-semibold iw-tabular-nums ${c<=.25?"iw-text-red-600":c<=.5?"iw-text-yellow-600":"iw-text-green-600"}`,children:vl(t)})}):o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx(Zl,{})})]})},C1=({timerState:e,answeringTime:t})=>{const r=(e==null?void 0:e.currentPhaseTimeRemaining)||0,i=t||pl.answeringDuration;return o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx(nn,{total:i,remaining:r,size:50,strokeWidth:4,showLabel:!1,className:"iw-shadow-sm iw-border iw-border-gray-100"}),o.jsxs("div",{className:"iw-flex iw-flex-col",children:[o.jsx("span",{className:"iw-text-[#5C6686]",children:"Time left to answer"}),o.jsxs("span",{className:"iw-text-xl iw-font-bold iw-text-[#062260]",children:[yn(r,!0),r>=60?" min":" sec"]})]})]})},N1=({question:e,isLoading:t=!1,phase:r,brandName:i,brandLogo:n,timerState:s,answeringTime:a})=>o.jsx("div",{className:"iw-rounded-xl iw-mb-4 message-animation iw-text-gray-800 iw-py-1",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:`iw-flex iw-flex-col iw-items-center iw-justify-center iw-relative iw-h-16 iw-w-16 iw-shrink-0 iw-shadow iw-rounded-full iw-border-[#E8EEFE] iw-border-4 ${r===P.READING_QUESTION?"iw-animate-speaking":""}`,children:o.jsx("div",{className:"iw-bg-transparent iw-flex iw-items-center iw-justify-center iw-rounded-full iw-size-full",style:{backgroundImage:"linear-gradient(#B5D0FD, #FFFFFF)"},children:o.jsx(bn,{brandLogo:n,brandName:i})})}),o.jsx(I1,{phase:r,question:e,isLoading:t,brandName:i,timerState:s,answeringTime:a})]})}),I1=({phase:e,question:t,isLoading:r,brandName:i,timerState:n,answeringTime:s})=>{const a=i||"We",c=i?"is":"are";if(r||e===P.FETCHING_QUESTION||e===P.IDLE)return o.jsxs("div",{className:"iw-animate-pulse iw-w-full iw-space-y-3 iw-mr-10",children:[o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-full"}),o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-3/4"})]});const l=()=>o.jsxs("span",{className:"iw-animate-dot-wave iw-ml-1",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]});switch(e){case P.ANSWERING:return o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-w-full",children:[o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:["Listening",o.jsx(l,{})]}),o.jsx(C1,{timerState:n,answeringTime:s})]});case P.TRANSCRIBING:return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," analyzing your answer",o.jsx(l,{})]});case(P.EDITING||P.SUBMITTING):return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," waiting for your answer..."]});default:return o.jsx("p",{className:"iw-text-lg iw-leading-7",children:t==null?void 0:t.question})}},F1=({label:e,error:t,fullWidth:r=!1,className:i="",id:n,...s})=>{const a=n||`textarea-${Math.random().toString(36).substring(2,9)}`,c="iw-block iw-rounded-md iw-border iw-border-gray-300 iw-shadow-sm iw-px-4 iw-py-2 iw-text-sm iw-transition-all",l=t?"iw-border-red-500 iw-focus:border-red-500 iw-focus:ring-red-500":"",h=r?"iw-w-full":"",u=i.includes("iw-h-full")||r?"iw-h-full":"";return o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col ${r?"iw-w-full":""}`,children:[e&&o.jsx("label",{htmlFor:a,className:"iw-block iw-text-sm iw-font-medium iw-text-gray-700 iw-mb-1",children:e}),o.jsx("textarea",{id:a,className:`${c} ${l} ${h} ${u} ${i}`,"aria-invalid":t?"true":"false",...s}),t&&o.jsx("p",{className:"iw-mt-1 iw-text-sm iw-text-red-600",children:t})]})},L1=({answerText:e,onAnswerChange:t,timerState:r,editingTime:i})=>o.jsxs("div",{className:"iw-w-full iw-bg-white iw-rounded-xl iw-border iw-border-[#84bbf5] iw-overflow-hidden iw-rounded-tr-none",children:[o.jsx("div",{className:"iw-p-2 iw-pb-0",children:o.jsx(F1,{value:e,onChange:t,placeholder:"Type your answer here...",className:"iw-w-full iw-h-64 iw-resize-none iw-bg-transparent iw-border-none iw-text-[#062260] iw-text-base iw-leading-relaxed focus-visible:iw-outline-0 iw-p-0",disabled:r.phase===P.SUBMITTING})}),o.jsxs("div",{className:"iw-bg-[#F1F5FE] iw-px-2 iw-py-2 iw-flex iw-items-center iw-justify-between iw-border-t iw-border-[#E8EEFE]",children:[o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-medium iw-line-clamp-1",children:"Time left to edit answer"}),o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(nn,{total:i,remaining:r.currentPhaseTimeRemaining,size:32,strokeWidth:3,showLabel:!1}),o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-bold",children:`${yn(r.currentPhaseTimeRemaining,!0)}${r.currentPhaseTimeRemaining>=60?" min":" sec"}`})]})]})]}),xl=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-start iw-mt-3 iw-gap-1",children:e}),M1=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-3 iw-gap-1",children:e}),D1=({questionNumber:e})=>o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:[" Q",e]}),El=({label:e})=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-text-sm iw-text-gray-500 iw-bg-[#F1F5FE] iw-px-4 iw-py-1.5 iw-rounded-full iw-my-2 iw-font-semibold",children:[e&&o.jsx("span",{className:"iw-font-medium",children:e}),o.jsxs("span",{className:"iw-animate-dot-wave iw-text-2xl",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]})]}),P1=({phase:e,questionNumber:t})=>{switch(e){case P.FETCHING_QUESTION:return o.jsxs(xl,{children:[o.jsx(D1,{questionNumber:t+1}),o.jsx(El,{})]});case P.ANSWERING:return o.jsx(M1,{children:o.jsx(El,{label:"You"})});case P.TRANSCRIBING:return o.jsx(xl,{children:o.jsxs("div",{className:"iw-flex iw-items-center iw-px-1 iw-py-1.5 iw-rounded-lg iw-mb-2 iw-text-sm iw-bg-[#F2E8FE]",children:[o.jsx("div",{className:"iw-h-8 iw-w-12 iw-transcribing-icon"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260]",children:"Analyzing answer…"})]})});default:return null}},O1=({item:e,index:t,isCurrentQuestion:r=!1,isEditable:i=!1,answerText:n="",onAnswerChange:s,timerState:a,editingTime:c})=>{const l=i&&a&&c!==void 0,h=l||e.answer!=null;return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-start",children:[o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:["Q",t+1]}),o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tl-none",style:{backgroundColor:"#F1F5FE",border:r?"2px solid #84bbf5":"1px solid transparent"},children:e.question})]}),h&&o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-4",children:[o.jsx("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#F2E8FE",border:"1px solid #E9D5FF"},children:"You"}),l?o.jsx(L1,{answerText:n||"",onAnswerChange:s,timerState:a,editingTime:c}):o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tr-none",style:{backgroundColor:"#F7F1FE"},children:e.answer?e.answer:o.jsx("span",{className:"iw-italic iw-text-[#062260]/60",children:"No response"})})]}),r&&o.jsx(P1,{phase:a==null?void 0:a.phase,questionNumber:t+1})]})},B1=()=>o.jsx("div",{className:"iw-space-y-6 iw-animate-pulse",children:[1,2,3].map(e=>o.jsxs("div",{className:`iw-flex iw-flex-col ${e%2===0?"iw-items-end":"iw-items-start"} iw-gap-2`,children:[o.jsx("div",{className:"iw-h-8 iw-w-16 iw-bg-gray-200 iw-rounded-full"}),o.jsx("div",{className:"iw-h-24 iw-w-full iw-bg-gray-100 iw-rounded-xl"})]},e))}),U1=({transcript:e,isLoading:t,className:r="",bottomRef:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col iw-bg-white iw-scroll-smooth iw-p-6 iw-pr-2 iw-min-w-32 iw-border iw-rounded-tr-2xl iw-rounded-br-2xl iw-border-[#E8EEFE] ${r}`,children:[o.jsxs("div",{className:"iw-mb-6",children:[o.jsx("h2",{className:"iw-text-lg iw-font-semibold iw-mb-4",style:{color:"#062260"},children:"Interview transcript"}),o.jsx("div",{className:"iw-h-px iw-w-full iw-border-t iw-border-dashed iw-border-gray-300"})]}),o.jsxs("div",{className:"iw-flex-1 iw-overflow-y-auto iw-pr-2 iw-space-y-6 iw-scrollbar-thin iw-max-w-xl iw-pb-5",children:[t?o.jsx(B1,{}):e==null?void 0:e.map((h,u)=>o.jsx(O1,{item:h,index:u,isCurrentQuestion:u===(e==null?void 0:e.length)-1,isEditable:!!(u===(e==null?void 0:e.length)-1&&n),answerText:s,onAnswerChange:a||(()=>{}),timerState:c,editingTime:l},h.qna_id)),o.jsx("div",{ref:i})]})]}),V1=({interviewId:e,className:t="",currentQuestion:r,lastSubmittedAnswer:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>{const h=yl(),[u,f]=d.useState([]),[w,g]=d.useState(!0),p=d.useRef(null);return d.useEffect(()=>{var y;(y=p.current)==null||y.scrollIntoView({behavior:"smooth"})},[u,s,c==null?void 0:c.phase]),d.useEffect(()=>{(async()=>{var m;try{const b=await h.getInterviewTranscription(e);f(((m=b==null?void 0:b.data)==null?void 0:m.transcript)||[])}catch(b){console.error("Failed to fetch transcript:",b)}finally{g(!1)}})()},[e,h]),d.useEffect(()=>{r&&f(y=>{if(y.some(v=>v.qna_id===r.qna_id))return y;const b={qna_id:r.qna_id,question:r.question,answer:null,question_generated_at:new Date().toISOString(),answer_submitted_at:null};return[...y,b]})},[r]),d.useEffect(()=>{i?f(y=>y.map(m=>m.qna_id===i.qnaId?{...m,answer:i.answer,answer_submitted_at:new Date().toISOString()}:m)):s&&f(y=>y.map(m=>m.qna_id===(i==null?void 0:i.qnaId)?{...m,answer:s,answer_submitted_at:new Date().toISOString()}:m))},[i,s]),o.jsx(U1,{transcript:u,isLoading:w||(u==null?void 0:u.length)===0,className:t,bottomRef:p,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})},Ws=5,Hs=5;function G1({isOpen:e,onClose:t,warningCount:r,violationType:i,onDisqualify:n}){const[,s]=d.useState(Hs),a=d.useRef(t),c=d.useRef(n),l=d.useRef(r);if(d.useEffect(()=>{a.current=t,c.current=n,l.current=r},[t,n,r]),d.useEffect(()=>{if(!e)return;const w=setInterval(()=>{s(g=>g<=1?(l.current+1>Ws?c.current():a.current(),Hs):g-1)},1e3);return()=>clearInterval(w)},[e]),d.useEffect(()=>{e&&s(Hs)},[e]),!e)return null;const h=()=>{switch(i){case"tab_switch":return"Attempted tab switch/reload";case"fullscreen_exit":return"Attempted to exit full screen mode";case"focus_loss":return"Lost focus from interview window";case"blocked_shortcut":return"Used a blocked keyboard shortcut";case"right_click_attempt":return"Attempted right click";case"alt_tab_attempt":return"Attempted Alt + Tab";case"blocked_function_key":return"Attempted to use function key";default:return"Attempted right click/tab switch"}},u=Ws-r,f=()=>{r+1>Ws?n():t()};return o.jsx("div",{className:"iw-absolute iw-bottom-20 iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300",children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#E94315] iw-bg-[#FFEBE6] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:f,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(pi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3",children:[o.jsx("div",{className:"iw-flex iw-h-10 iw-w-10 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#FDCBBD]",children:o.jsx(wi,{className:"iw-h-5 iw-w-5 iw-text-red-500"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsxs("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#E94315]",children:["You have ",u>0?u:0," warning",u>1?"s":""," left"]}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:h()}),o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-red-200 iw-pt-3",children:u===1?o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Next violation will disqualify you from this interview and automatically end the interview"}):o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Interview will end automatically after final warning"})})]})]})]})})}const j1=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z"}),o.jsx("circle",{cx:"12",cy:"12",r:"10"})]}),_l=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(d.useEffect(()=>{if(!e||!a)return;const u=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,a,t]),d.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=u=>{s&&u.target===u.currentTarget&&t()},h=o.jsxs("div",{className:"interview-widget-container",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center"},children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",transition:"opacity 0.2s"},onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"standalone-dialog-title":void 0,style:{zIndex:1e4},children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"standalone-dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return Al.createPortal(h,document.body)},z1=({showHardReloadWarning:e,onContinue:t})=>{const r=()=>{t()};return o.jsxs(_l,{isOpen:e,onClose:r,closeOnOverlayClick:!1,closeOnEscape:!1,showCloseButton:!1,className:"iw-max-w-lg iw-px-2 iw-rounded-xl",children:[o.jsx("div",{className:"iw-absolute iw-inset-x-0 iw-top-0 iw-h-1 iw-bg-gradient-to-r iw-from-red-500 iw-to-red-600"}),o.jsx("div",{className:"iw-space-y-1 iw-pb-2 iw-pt-3",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(wi,{className:"iw-w-5 iw-h-5 iw-text-red-500"}),o.jsx("h3",{className:"iw-text-xl iw-font-semibold iw-text-red-500",children:"Full Screen Exit Detected"})]})}),o.jsx("div",{className:"iw-pt-4 iw-pb-6",children:o.jsx("p",{className:"iw-text-center iw-text-sm iw-leading-relaxed iw-text-gray-500/90",children:"Exiting full screen mode or reloading this page during the session is strictly prohibited. Any attempt to do so will be recorded and may lead to penalties."})}),o.jsx("div",{className:"iw-pt-2 iw-pb-4",children:o.jsxs("button",{onClick:r,className:"iw-w-full iw-flex iw-items-center iw-justify-center iw-gap-2 iw-px-4 iw-py-3 iw-bg-gray-100 iw-text-gray-600 iw-rounded-md iw-font-medium iw-transition-colors hover:iw-bg-gray-200 focus:iw-outline-none focus:iw-ring-2 focus:iw-ring-gray-400 focus:iw-ring-offset-2",children:[o.jsx(j1,{className:"iw-size-4"}),"Continue Session"]})})]})},kl=d.createContext(null),$1=()=>{const e=d.useContext(kl);return e||{violationCount:0,violationType:"fullscreen_exit",showWarningModal:!1,setShowWarningModal:()=>{},handleClose:()=>{},handleDisqualify:()=>{}}},W1=d.forwardRef(({children:e,onDisqualify:t,isCompleted:r},i)=>{const[n,s]=d.useState(!1),[a,c]=d.useState(!1),[l,h]=d.useState(!1),[u,f]=d.useState("fullscreen_exit"),{logViolation:w,violationCount:g}=S1({maxViolations:5,onViolation:v=>{!a&&!r&&!l&&(s(!0),f(v.type))}}),{enterFullScreen:p,isFullScreen:y,exitFullScreen:m}=y1({onFullScreenChange(v){!v&&!a&&!l&&!r&&(s(!0),w({type:"fullscreen_exit",severity:"high",details:{action:"fullscreen_exit",reason:"Attempted to exit full screen mode"}})),v&&h(!1)}});d.useEffect(()=>{p()},[]),d.useImperativeHandle(i,()=>({exitFullScreenIntentionally:async()=>{h(!0),s(!1),c(!1);try{document.fullscreenElement&&await document.exitFullscreen()}catch(v){console.error("Failed to exit fullscreen:",v)}}}),[]),x1(w),b1(w),E1(),A1(),d.useEffect(()=>{const v=I=>{if(!(a||l||r))return I.preventDefault(),I.returnValue=void 0,""};return window.addEventListener("beforeunload",v),()=>{window.removeEventListener("beforeunload",v)}},[a,l,r]);const b=()=>{c(!0),m(),s(!1),t==null||t()};return o.jsxs(kl.Provider,{value:{violationCount:g,violationType:u,showWarningModal:n,setShowWarningModal:s,handleClose:()=>{s(!1),p()},handleDisqualify:b},children:[o.jsx("div",{className:"iw-relative iw-h-full iw-w-full",children:e}),!y&&g>0&&!a&&!l&&o.jsx(z1,{showHardReloadWarning:!0,logViolation:w,onContinue:p})]})}),H1=({onClick:e,text:t="Submit response",disabled:r=!1})=>(d.useEffect(()=>{if(typeof window>"u")return;const i=n=>{const s=n.key==="Enter",a=n.target;if(!(a.tagName==="INPUT"||a.isContentEditable)&&s){if(r)return;n.preventDefault(),e()}};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[e,r]),o.jsx("div",{className:"iw-fixed iw-bottom-10 iw-left-1/4 iw-transform iw--translate-x-1/2 iw-z-50",children:o.jsxs("button",{disabled:r,onClick:e,className:`iw-flex iw-items-center iw-gap-3 iw-text-white iw-px-5 iw-py-3 iw-rounded-lg iw-shadow-lg iw-transition-all iw-duration-200 iw-group ${r?"iw-bg-[#4C6CFF]/60 iw-cursor-not-allowed":"iw-bg-[#4C6CFF] hover:iw-bg-[#4c6dffd5]"}`,children:[o.jsx("span",{className:"iw-font-semibold iw-text-sm",children:t}),o.jsx("span",{className:"iw-bg-white/90 iw-text-[#062260] iw-px-2 iw-py-1 iw-rounded iw-text-xs iw-font-mono iw-font-bold group-hover:iw-bg-white iw-transition-colors",children:"Press Enter"})]})})),q1=({brandName:e,brandLogo:t,currentQuestion:r,state:i,phase:n,className:s="",interviewId:a="",interview_duration:c=hi,videoFeedRef:l,lastSubmittedAnswer:h,onNextPhase:u,answerText:f,onAnswerChange:w,editingTime:g,answeringTime:p,disableSubmitButton:y=!1})=>{const{showWarningModal:m,violationCount:b,violationType:v,handleClose:I,handleDisqualify:T}=$1();return o.jsxs("div",{className:`iw-px-4 iw-py-3 ${s} iw-h-[calc(100vh_-_120px)] iw-max-h-[calc(100vh_-_120px)] iw-flex iw-gap-0 iw-relative`,children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-flex-1 iw-p-5 iw-bg-white/50 iw-border iw-border-[#E8EEFE] iw-rounded-s-3xl iw-overflow-hidden",children:[o.jsx("div",{className:"iw-flex iw-items-start iw-justify-between iw-gap-3 iw-mb-4",children:o.jsx("div",{className:"iw-flex-1",children:o.jsx(N1,{question:r,isLoading:n===P.FETCHING_QUESTION||n===P.IDLE,phase:n,brandName:e,brandLogo:t,timerState:i,answeringTime:p})})}),o.jsxs("div",{className:"iw-flex-1 iw-min-h-0 iw-rounded-[16px] iw-overflow-hidden iw-relative",children:[o.jsx(fl,{ref:l,interviewId:a,interview_duration:c,isAnswering:n===P.ANSWERING,cheatingWarningVisible:m}),o.jsx(G1,{isOpen:m,warningCount:b,violationType:v,onClose:I,onDisqualify:T})]})]}),o.jsx("div",{className:"iw-interview-transcription iw-w-1/4 iw-min-w-32 iw-h-full",children:o.jsx(V1,{interviewId:a,currentQuestion:r,lastSubmittedAnswer:h,isEditing:n===P.EDITING,answerText:f,onAnswerChange:w,timerState:i,editingTime:g})}),u&&(n===P.ANSWERING||n===P.EDITING)&&o.jsx(H1,{onClick:u,disabled:y,text:n===P.ANSWERING?"Submit Response":"Submit Final Response"})]})},K1=({confirmExitInterview:e,isOpen:t,onClose:r})=>o.jsxs(_l,{isOpen:t,onClose:r,showCloseButton:!1,closeOnOverlayClick:!1,className:"iw-max-w-xl iw-border-2 iw-border-dashed iw-rounded-xl iw-border-[#6296FB]",children:[o.jsxs("div",{className:"iw-p-4",children:[o.jsx("h2",{className:"iw-text-xl iw-font-semibold iw-text-[#062260]",children:"Are you sure you want to leave interview?"}),o.jsx("p",{className:"iw-mt-2 iw-text-[#667085] iw-line-clamp-2",children:"If you exit now, the interview will be terminated and cannot be resumed."})]}),o.jsx("div",{className:"iw-my-0 iw-h-px iw-m-6 iw-border-t iw-border-dashed iw-border-[#B3B9CB]"}),o.jsxs("div",{className:"iw-flex iw-justify-center iw-gap-4 iw-p-4",children:[o.jsx(tn,{className:"iw-px-8 iw-py-3 iw-rounded-xl !iw-bg-[#E94315] !iw-text-white !iw-font-bold !iw-shadow-md !hover:iw-opacity-70",onClick:e,children:"Leave"}),o.jsx(tn,{onClick:r,className:"iw-px-6 iw-py-3 iw-rounded-xl !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border !iw-border-[#E7EAF1] !iw-shadow-md hover:iw-opacity-70",children:"Stay in Interview"})]})]}),Y1=({title:e,brandName:t,brandLogo:r,onExit:i,totalDuration:n=30,elapsedTime:s=0})=>{const[a,c]=d.useState(!1),l=Math.min(s/(n*60)*100,100),h=()=>o.jsxs("div",{className:"iw-px-4 iw-pb-2 iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-flex-1 iw-h-4 iw-bg-[#F2F4F7] iw-rounded-full iw-overflow-hidden iw-border iw-border-blue-100 iw-relative",children:o.jsx("div",{className:"iw-h-full iw-bg-[#0EB00E] iw-rounded-full iw-transition-all iw-duration-1000 iw-ease-linear",style:{width:`${l}%`}})}),o.jsxs("div",{className:"iw-text-sm iw-font-medium iw-whitespace-nowrap",children:[o.jsx("span",{className:"iw-text-[#062260]",children:yn(s)}),o.jsxs("span",{className:"iw-text-[#667085]",children:["/",n," Min"]})]})]});return o.jsxs("header",{className:"iw-w-full iw-text-gray-900 iw-shadow-sm",children:[o.jsxs("div",{className:"iw-mx-auto iw-flex iw-items-center iw-justify-between iw-p-4 iw-pt-1 iw-mb-2 iw-border-b iw-border-[#B3B9CB] iw-border-dashed",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2",children:[o.jsx(bn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx("h1",{className:"iw-text-2xl iw-font-semibold iw-text-gradient-silver",children:e}),o.jsx("button",{className:"iw-text-sm iw-text-[#E94315] iw-min-w-10 iw-rounded-md hover:iw-bg-orange-100 iw-p-2",onClick:()=>c(!0),children:o.jsxs("span",{className:"iw-flex iw-items-center iw-gap-1 iw-text-[18px] iw-font-semibold iw-whitespace-nowrap",children:[o.jsx(pi,{className:"iw-text-[#E94315] iw-size-5"}),"Leave interview"]})})]}),o.jsx(h,{}),o.jsx("div",{className:"iw-h-px iw-bg-gray-200"}),o.jsx(K1,{isOpen:a,confirmExitInterview:()=>{i(),c(!1)},onClose:()=>c(!1)})]})},X1=({className:e="",width:t,height:r=56,barWidth:i=3,gap:n=2,fftSize:s=1024,smoothingTimeConstant:a=.8,mediaStream:c,startOnMount:l=!0})=>{const{baseColor:h}=Zt(),u=d.useRef(null),f=d.useRef(null),w=d.useRef(null),g=d.useRef(null),p=d.useRef(null),y=d.useRef(null),m=d.useRef(!1),[b,v]=d.useState(null);d.useEffect(()=>{if(t||!f.current)return;const T=f.current,S=()=>{const M=u.current;if(!M)return;const F=T.clientWidth,D=r;M.width=Math.max(1,Math.floor(F*window.devicePixelRatio||1)),M.height=Math.max(1,Math.floor(D*window.devicePixelRatio||1))},A=new ResizeObserver(S);return A.observe(T),S(),()=>A.disconnect()},[t,r]),d.useEffect(()=>{if(!t)return;const T=u.current;T&&(T.width=Math.max(1,Math.floor(t*(window.devicePixelRatio||1))),T.height=Math.max(1,Math.floor(r*(window.devicePixelRatio||1))))},[t,r]),d.useEffect(()=>{let T=!1;return(async()=>{try{const A=new(window.AudioContext||window.webkitAudioContext);w.current=A;let M=c;if(!M){if(!l)return;M=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),m.current=!0}if(T)return;const F=A.createAnalyser();F.fftSize=s,F.smoothingTimeConstant=a,g.current=F;const D=A.createMediaStreamSource(M);p.current=D,D.connect(F),I()}catch(A){v((A==null?void 0:A.message)||"Failed to initialize microphone")}})(),()=>{var A,M,F,D;T=!0,y.current&&cancelAnimationFrame(y.current);try{(A=p.current)==null||A.disconnect()}catch{}try{(M=g.current)==null||M.disconnect()}catch{}m.current&&((D=((F=p.current)==null?void 0:F.mediaStream)||void 0)==null||D.getTracks().forEach(G=>G.stop())),w.current&&w.current.state!=="closed"&&w.current.close()}},[c,s,a,l]);const I=()=>{const T=u.current,S=g.current;if(!T||!S)return;const A=T.getContext("2d");if(!A)return;const M=window.devicePixelRatio||1,F=T.width,D=T.height,G=S.frequencyBinCount,Y=new Uint8Array(G),H=()=>{y.current=requestAnimationFrame(H),S.getByteTimeDomainData(Y),A.clearRect(0,0,F,D),A.fillStyle="rgba(0,0,0,0)",A.fillRect(0,0,F,D);const q=Math.max(1,Math.floor(i*M)),Z=Math.max(1,Math.floor(n*M)),O=q+Z,R=Math.max(8,Math.floor((F+Z)/O)),Ye=Math.floor(Y.length/R);for(let ft=0;ft<R;ft++){const Xe=Math.min(Y.length-1,ft*Ye),oi=Y[Xe]/128-1,ke=Math.abs(oi),Lt=Math.pow(ke,.6),Mt=Math.max(D*.06,Lt*(D*.9)),Cr=ft*O,Nr=(D-Mt)/2,Ir=140-Math.min(140,140*ke),Fr=85,Lr=48+Math.floor(12*(1-ke));A.fillStyle=`${h}`,A.shadowColor=`hsla(${Ir}, ${Fr}%, ${Lr}%, ${.25*ke})`,A.shadowBlur=8*ke;const rt=Math.min(q/2,Mt/2);Q1(A,Cr,Nr,q,Mt,rt),A.fill()}};H()};return o.jsxs("div",{ref:f,className:`iw-relative iw-w-full iw-overflow-hidden iw-rounded-md iw-bg-gray-50 ${e}`,style:{height:r},children:[o.jsx("canvas",{ref:u,className:"iw-w-full iw-h-full"}),b&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center",children:o.jsx("span",{className:"iw-text-xs iw-text-red-600 iw-bg-red-50 iw-border iw-border-red-200 iw-px-2 iw-py-1 iw-rounded",children:b})})]})};function Q1(e,t,r,i,n,s){const a=Math.min(s,i/2,n/2);e.beginPath(),e.moveTo(t+a,r),e.lineTo(t+i-a,r),e.quadraticCurveTo(t+i,r,t+i,r+a),e.lineTo(t+i,r+n-a),e.quadraticCurveTo(t+i,r+n,t+i-a,r+n),e.lineTo(t+a,r+n),e.quadraticCurveTo(t,r+n,t,r+n-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+a,r),e.closePath()}const J1=({state:e,answeringTime:t,nextPhase:r,sttError:i,disableStopButton:n=!1})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-justify-between iw-h-full ",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"You may start speaking now. We're listening...."}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(to,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to talk: "})]}),o.jsx(nn,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]})]}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"Done talking? Click the button to review your answer."})]}),o.jsxs("div",{children:[o.jsx(X1,{}),i&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Recording error: ",i.message]})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(rn,{disabled:n,onClick:()=>{r()},children:"Transcribe My Answer"})})]});function Z1(){const[e,t]=d.useState(!0),r=d.useMemo(()=>[0,1,2].map(i=>({id:i})),[]);return d.useEffect(()=>{const i=setInterval(()=>{t(n=>!n)},1500);return()=>clearInterval(i)},[]),o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-h-full",children:[o.jsx("div",{className:"iw-relative iw-w-80 iw-h-48 ","aria-hidden":!0,children:r.map((i,n)=>{const s=n*50,a=e?s:s+12,c=e?1:.08,l=n*140;return o.jsx("div",{role:"presentation",className:"iw-absolute iw-w-full iw-rounded-lg iw-p-4 iw-shadow-md iw-bg-gradient-to-b iw-from-gray-50 iw-to-gray-100 iw-overflow-hidden",style:{top:0,transform:`translateY(${a}px)`,opacity:c,transition:`transform 600ms cubic-bezier(.2,.9,.3,1) ${l}ms, opacity 400ms ease ${l}ms`},children:o.jsxs("div",{className:"iw-flex iw-gap-3 iw-items-center",children:[o.jsx("div",{className:"iw-w-10 iw-h-10 iw-bg-gray-300 iw-rounded iw-flex-shrink-0"}),o.jsxs("div",{className:"iw-flex-1 iw-space-y-2",children:[o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-24"}),o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-32"})]})]})},i.id)})}),o.jsx("div",{className:"iw-text-center",children:o.jsx("p",{className:"iw-text-gray-500 iw-font-medium",children:"Preparing your question..."})})]})}const R1=({size:e="192px",className:t,colors:r,animationDuration:i=20})=>{const s={...{bg:"oklch(95% 0.02 264.695)",c1:"oklch(75% 0.15 350)",c2:"oklch(80% 0.12 200)",c3:"oklch(78% 0.14 280)"},...r},a=parseInt(e.replace("px",""),10),c=a<50?Math.max(a*.008,1):Math.max(a*.015,4),l=a<50?Math.max(a*.004,1.2):Math.max(a*.008,1.5),h=a<50?Math.max(a*.004,.05):Math.max(a*.008,.1),u=a<50?Math.max(a*.004,.5):Math.max(a*.008,2),f=a<30?"0%":a<50?"5%":a<100?"15%":"25%",w=a<30?1.1:a<50?Math.max(l*1.2,1.3):l;return o.jsx("div",{className:`siri-orb ${t}`,style:{width:e,height:e,"--bg":s.bg,"--c1":s.c1,"--c2":s.c2,"--c3":s.c3,"--animation-duration":`${i}s`,"--blur-amount":`${c}px`,"--contrast-amount":w,"--dot-size":`${h}px`,"--shadow-spread":`${u}px`,"--mask-radius":f},children:o.jsx("style",{children:`
74
+ └─────────────────────────────────────────────────────────────┘`,"color: #ffd93d; font-size: 14px; font-family: monospace; background: rgba(255, 217, 61, 0.1); padding: 10px;")}const t={open:!1,orientation:null},r=160,i=setInterval(()=>{window.outerHeight-window.innerHeight>r||window.outerWidth-window.innerWidth>r?t.open||(t.open=!0,t.orientation=window.outerWidth-window.innerWidth>r?"vertical":"horizontal",e()):t.open&&(t.open=!1,console.log("%c🌟 Developer tools closed. Interview continues smoothly! ✨","color: #4ecdc4; font-weight: bold; text-shadow: 0 0 10px #4ecdc4;"))},500),n=a=>{if(a.keyCode===123||a.ctrlKey&&a.shiftKey&&(a.keyCode===73||a.keyCode===74)||a.ctrlKey&&a.keyCode===85)return a.preventDefault(),console.log("%c🎭 Nice try! Keyboard shortcuts are disabled during interviews ✨","color: #ffd93d; font-weight: bold; text-shadow: 0 0 10px #ffd93d;"),!1},s=a=>(a.preventDefault(),console.log("%c🌈 Right-click menu disabled for interview integrity! 🎪","color: #ff9ff3; font-weight: bold; text-shadow: 0 0 10px #ff9ff3;"),!1);return document.addEventListener("keydown",n),document.addEventListener("contextmenu",s),()=>{clearInterval(i),document.removeEventListener("keydown",n),document.removeEventListener("contextmenu",s),delete window.showStats,delete window.interviewTips}},[])},gl=d.forwardRef(({className:e="",interviewId:t="",interview_duration:r,showProctoringUI:i=!0,onSetReference:n,isAnswering:s,onProctoringStatusChange:a,showStatusOverlay:c=!1,cheatingWarningVisible:l=!1,isDeviceLoading:h=!1,videoAllowed:u=!0},f)=>{var kl;const{authToken:w}=eo(),g=$s(),p=w?Wl(w):null,{borderRadius:y}=Rt(),b=y??18,{proctoring:m,capture_screenshots:v}=pn(),A=!!(m!=null&&m.gazeAnalysisEnabled),[T,C]=d.useState(!1),[k,D]=d.useState((m==null?void 0:m.showLandmarks)??!1),[F,L]=d.useState(i&&((m==null?void 0:m.showEngagementBar)??!0)),[j,Y]=d.useState(A),[q,re]=d.useState(!1),$=d.useRef(null),O=d.useRef(null),de=d.useRef(null),Ee=d.useRef(null),ut=d.useCallback(async _e=>{var dn;const hi=$.current,Se=de.current;if(!hi||!Se)return;const Or=Se.getContext("2d");if(!Or)return;Se.width=hi.videoWidth,Se.height=hi.videoHeight,Or.save(),Or.scale(-1,1),Or.drawImage(hi,-Se.width,0,Se.width,Se.height),Or.restore();const fi=await new Promise(Zt=>Se.toBlob(Zt,"image/jpeg"));if(fi&&t)try{const Zt=`${_e}-${Date.now()}.jpeg`,Ae=await g.requestScreenshotUploadUrl(t,Zt);Ae.data&&Ae.data.upload_url&&(await g.uploadScreenshot((dn=Ae==null?void 0:Ae.data)==null?void 0:dn.upload_url,fi),Ae.data.asset_id&&await g.confirmScreenshotUpload(Ae.data.asset_id))}catch(Zt){console.error(`Failed to upload screenshot for ${_e}:`,Zt)}},[g,t]);d.useEffect(()=>{let _e;return s&&(re(!0),_e=setTimeout(()=>re(!1),1e3)),()=>{_e&&clearTimeout(_e)}},[s]);const{faceLandmarkerRef:Ft,isModelLoaded:ht,statusMessage:$e,setStatusMessage:ft,loadingProgress:Lt,permissionDenied:Nr,clearCache:Ir}=Hu(),{fps:Fr,updateFPS:Lr}=qu(),{drawWithEngagementBar:Mr,clearCanvas:Qt,engagementRef:Ie}=Ku(),{engagement:Mt,isLookingAway:ie,analyzeGaze:si,setEngagement:Dr,setIsLookingAway:Jt}=Xu(),{multipleFacesDetected:Pr,referenceFaceNotDetected:oi,analyzeFace:Ks,setMultipleFacesDetected:on,setReferenceFaceNotDetected:ai}=Ju(),{referenceSet:ci,referenceRef:an,setReference:li,resetReference:di,syncReference:ui}=o1(Ft,$,ft,n),cn={multipleFacesDetected:Pr,referenceFaceNotDetected:oi,isLookingAway:ie},{showGazeWarningModal:M,getWarningType:U,closeWarningModal:Qe,setShowGazeWarningModal:ln,setFaceDetectionState:_l}=Ru(cn,A&&!c);d.useEffect(()=>{if(a){if(h||!ht){a("model_loading");return}if(!u){a("camera_error");return}const _e=U()||Te.NO_FACE;a(_e)}},[ht,h,u,Pr,oi,ie,U,a]);const{renderLoop:n2}=s1($,O,Ft,Lr,Ks,Mr,Qt,si,ci,an,k,F,A,ft,ai);n1($,ht,n2,ft),d.useEffect(()=>{ui()},[ui]),d.useEffect(()=>{Ie&&Ie.current&&(Ie.current.value=Mt,Ie.current.isLookingAway=ie)},[Mt,ie,Ie]);const s2=d.useCallback(_e=>{Y(_e),_e||(Dr(100),Jt(!1))},[Dr,Jt]),o2=d.useCallback(()=>{Jt(!1),on(!1),ai(!1),_l("face_detected"),ln(!1),Qe()},[Jt,on,ai,_l,ln,Qe]),a2={engagement:Mt,fps:Fr,isLookingAway:ie,multipleFacesDetected:Pr,referenceFaceNotDetected:oi};return d.useEffect(()=>{if(!v)return;const _e=[];return(async()=>{try{const Se=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});Ee.current=Se,$.current&&($.current.srcObject=Se);const fi=(r??wi)*60*1e3/3,dn=[0,1,2].map((Ae,Dt)=>({label:`capture-${Dt+1}`,start:Dt*fi,end:(Dt+1)*fi})),Zt=(Ae,Dt)=>Ae===Dt?Ae:Math.random()*(Dt-Ae)+Ae;dn.forEach(({label:Ae,start:Dt,end:c2},l2)=>{let Ys;l2===0?Ys=3e3:Ys=Zt(Dt,c2),_e.push(setTimeout(()=>{ut(Ae)},Ys))})}catch(Se){console.error("Error accessing camera:",Se)}})(),()=>{Ee.current&&Ee.current.getTracks().forEach(Se=>Se.stop()),_e.forEach(clearTimeout)}},[ut,v]),d.useImperativeHandle(f,()=>({setReference:()=>{li()},resetReference:()=>{di()},stopCamera:()=>{Ee.current&&(Ee.current.getTracks().forEach(_e=>_e.stop()),Ee.current=null)}}),[li,di]),o.jsxs("div",{className:`iw-relative iw-h-full iw-w-full ${e}`,children:[Nr?o.jsxs("div",{className:"iw-rounded-md iw-border iw-border-red-600 iw-p-5 iw-text-red-600",children:[o.jsx("h2",{children:"Camera Permission Denied"}),o.jsx("p",{children:"Please allow camera access to use this application."})]}):o.jsx("div",{className:"iw-flex iw-w-full iw-h-full iw-justify-start iw-items-start",children:o.jsxs("div",{className:`iw-relative iw-max-w-full iw-max-h-full iw-aspect-video iw-rounded-2xl iw-overflow-hidden iw-bg-black ${q?"iw-animate-answer-start":""} ${s?"iw-border-4 iw-border-[#6296FB]":""}`,style:{width:"100%",height:"auto",minHeight:"0"},children:[o.jsx("video",{ref:$,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}}),!u&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-flex-col iw-items-center iw-justify-center iw-bg-black/60 iw-z-30",children:h||!ht?o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-w-5 iw-h-5 iw-border-2 iw-border-white/20 iw-border-t-white iw-rounded-full iw-animate-spin"}),o.jsx("span",{className:"iw-text-white/60 iw-text-xs iw-font-medium iw-tracking-wide",children:"Initializing camera..."})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"iw-text-white iw-font-medium iw-text-sm",children:"Camera not found"}),o.jsx("p",{className:"iw-text-white/60 iw-text-xs iw-mt-1",children:"Please ensure your camera is connected and enabled"})]})}),A&&o.jsx("canvas",{ref:O,width:320,height:240,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)",borderRadius:b,display:"hidden"}}),o.jsx("canvas",{ref:de,style:{display:"none"}}),i&&o.jsxs("div",{className:"iw-absolute iw-top-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#FFEBE6] iw-px-2 iw-py-1 iw-backdrop-blur-md",children:[o.jsx("div",{className:"iw-size-2 iw-animate-pulse iw-rounded-full iw-bg-red-500"}),o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#E94315]",children:"RECORDING"})]}),i&&((kl=p==null?void 0:p.data)==null?void 0:kl.user_name)&&o.jsx("div",{className:"iw-absolute iw-z-50 iw-bottom-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#F1F5FE] iw-px-3 iw-py-1 iw-backdrop-blur-md",children:o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#062260]",children:p.data.user_name})}),i&&o.jsx("div",{className:"iw-absolute iw-bottom-4 iw-right-4",children:o.jsx(id,{showControls:(m==null?void 0:m.showControls)??!1,isBubbleOpen:T,setIsBubbleOpen:C,setReference:li,clearCache:Ir,isModelLoaded:ht,gazeAnalysisEnabled:j&&A,referenceSet:ci,showLandmarks:k,setShowLandmarks:D,showEngagementBar:F,setShowEngagementBar:L,handleToggleGazeAnalysis:s2,stats:a2,statusMessage:$e,loadingProgress:Lt})}),c&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute iw-inset-0 iw-pointer-events-none iw-z-10 ",style:{background:"radial-gradient(ellipse 20% 40% at 50% 45%, transparent 99.5%, rgba(0,0,0,0.35) 100%)"}}),o.jsx("div",{className:"iw-absolute iw-bottom-2 iw-inset-x-0 iw-flex iw-justify-center iw-pointer-events-none iw-z-20",children:o.jsx(c1,{status:u?h||!ht?"model_loading":U()??"no_face_detected":"camera_error"})})]})]})}),A&&M&&!c&&o.jsx(a1,{isOpen:M,onClose:o2,warningType:U(),isCheatingModalOpen:l})]})}),rn=({children:e,variant:t="primary",size:r="md",fullWidth:i=!1,isLoading:n=!1,disabled:s,className:a="",...c})=>{const l="iw-inline-flex iw-items-center iw-justify-center iw-rounded-md iw-font-medium iw-transition-colors iw-focus:outline-none iw-focus:ring-2 iw-focus:ring-primary-500 iw-focus:ring-offset-2",h={primary:"iw-bg-primary-600 iw-text-white iw-hover:bg-primary-700 iw-border iw-border-transparent",secondary:"iw-bg-primary-100 iw-text-primary-700 iw-hover:bg-primary-200 iw-border iw-border-transparent",outline:"iw-bg-transparent iw-text-primary-700 iw-border iw-border-primary-500 iw-hover:bg-primary-50",text:"iw-bg-transparent iw-text-primary-600 iw-hover:bg-primary-50 iw-border iw-border-transparent",gradient:"iw-text-white iw-border iw-border-transparent iw-bg-gradient-to-r iw-from-purple-500 iw-to-indigo-500 hover:iw-from-purple-600 hover:iw-to-indigo-600"},u={sm:"iw-px-3 iw-py-1.5 iw-text-sm",md:"iw-px-4 iw-py-2.5 iw-text-sm",lg:"iw-px-5 iw-py-3 iw-text-base"},f="iw-disabled:opacity-50 iw-disabled:cursor-not-allowed iw-disabled:pointer-events-none",w=i?"iw-w-full":"";return o.jsxs("button",{className:`${l} ${h[t]} ${u[r]} ${w} ${f} ${a}`,disabled:s||n,...c,children:[n&&o.jsx(ro,{height:16,width:16,style:{marginRight:"3px"}}),e]})},E1=({stream:e,className:t="",barCount:r=50})=>{const i=d.useRef(null),n=d.useRef(null),s=d.useRef(null),a=d.useRef(null),c=d.useRef(null);d.useEffect(()=>{if(!e||window===void 0)return;a.current||(a.current=new(window.AudioContext||window.webkitAudioContext));const h=a.current;s.current||(s.current=h.createAnalyser(),s.current.fftSize=256,s.current.smoothingTimeConstant=.5);const u=s.current;try{c.current&&c.current.disconnect(),c.current=h.createMediaStreamSource(e),c.current.connect(u)}catch(w){console.error("Error creating media stream source:",w);return}const f=()=>{if(!i.current)return;const w=i.current,g=w.getContext("2d");if(!g)return;const p=u.frequencyBinCount,y=new Uint8Array(p);u.getByteFrequencyData(y);const b=w.width,m=w.height;g.clearRect(0,0,b,m);let v=0;for(let D=0;D<p;D++){const F=y[D]??0;v+=F*F}const A=Math.sqrt(v/p),T=Math.min(1,A/128);g.clearRect(0,0,b,m);const C=r,k=Math.floor(T*C);for(let D=0;D<C;D++){const F=D*(b/C),L=b/C-1.8;D<k?g.fillStyle="#0EB00E":g.fillStyle="#D9D9D9",g.fillRect(F,0,L,m)}n.current=requestAnimationFrame(f)};return f(),()=>{n.current&&cancelAnimationFrame(n.current)}},[e,r]);const l=d.useRef({audioContext:a.current,source:c.current});return l.current={audioContext:a.current,source:c.current},d.useEffect(()=>()=>{l.current.source&&l.current.source.disconnect(),l.current.audioContext&&l.current.audioContext.state!=="closed"&&l.current.audioContext.close()},[]),o.jsx("canvas",{ref:i,className:t,width:300,height:20,style:{width:"100%",height:"16px"}})},pl=({icon:e,devices:t,selectedId:r,onChange:i,label:n,showVisualizer:s=!1,stream:a=null,hasPermission:c=!0})=>{const{baseColor:l}=Rt(),[h,u]=d.useState(!1),f=d.useRef(null);d.useEffect(()=>{const p=y=>{f.current&&!f.current.contains(y.target)&&u(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[]);const w=t.find(p=>p.deviceId===r)||t[0],g=c&&(w==null?void 0:w.label)||n;return o.jsxs("div",{className:"iw-relative iw-flex-1 iw-w-1/2 iw-group",ref:f,children:[o.jsxs("div",{className:`iw-max-w-[300px] iw-flex iw-items-center iw-justify-between iw-bg-white iw-border iw-border-gray-200 iw-rounded-xl iw-px-3 iw-py-3 iw-transition-colors ${c?"iw-cursor-pointer hover:iw-border-blue-500":"iw-cursor-not-allowed"}`,onClick:()=>c&&u(!h),title:c?"":"Permission denied or device not found",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3 iw-min-w-0 iw-max-w-[210px]",children:[o.jsx(e,{className:"iw-w-5 iw-h-5 iw-text-[#062260] iw-flex-shrink-0"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-truncate",children:g})]}),o.jsx("div",{className:"iw-flex iw-items-center iw-gap-2",children:c?o.jsxs(o.Fragment,{children:[o.jsx(Xl,{className:`iw-w-4 iw-h-4 iw-text-gray-400 iw-transition-transform ${h?"iw-rotate-180":""}`}),r&&o.jsx("div",{className:"iw-bg-[#22C55E] iw-rounded-full iw-p-0.5",children:o.jsx(mi,{className:"iw-w-3 iw-h-3 iw-text-white"})})]}):o.jsx("div",{className:"iw-text-[#E94315] iw-relative",children:o.jsx(pi,{className:"iw-size-5"})})})]}),!c&&o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/6 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:l},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsxs("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:["Allow us to access your ",(n==null?void 0:n.split(" ")[1])??"device"]})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"We need permission to access your device. Go to your browser privacy settings to allow it"}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})}),s&&c&&o.jsxs("div",{className:"iw-mt-2 iw-px-1 iw-flex iw-items-center iw-gap-2 iw-overflow-hidden",children:[o.jsx(td,{className:"iw-min-h-5 iw-min-w-5"}),o.jsx(E1,{stream:a,className:"iw-w-full"})]}),h&&c&&o.jsxs("div",{className:"iw-absolute iw-bottom-full iw-left-0 iw-right-0 iw-mb-2 iw-bg-white iw-border iw-border-gray-100 iw-rounded-xl iw-shadow-xl iw-z-50 iw-py-2 iw-max-h-60 iw-overflow-y-auto",children:[t.map(p=>o.jsxs("div",{className:`iw-px-4 iw-py-2.5 iw-text-sm iw-cursor-pointer iw-flex iw-items-center iw-justify-start hover:iw-bg-gray-50 ${r===p.deviceId?"iw-text-[#062260] iw-font-medium iw-bg-blue-50":"iw-text-gray-600"}`,onClick:()=>{i==null||i(p.deviceId),u(!1)},children:[r===p.deviceId&&o.jsx(mi,{className:"iw-w-4 iw-h-4 iw-text-[#062260] iw-mr-1"}),o.jsx("span",{className:"iw-truncate",children:p.label||`Device ${p.deviceId.slice(0,5)}...`})]},p.deviceId)),t.length===0&&o.jsx("div",{className:"iw-px-4 iw-py-2 iw-text-sm iw-text-gray-400",children:"No devices found"})]})]})},ml=({micEnabled:e=!1,videoEnabled:t=!1,buttonText:r,onButtonClick:i,isAgreed:n,onAgreedToggle:s,showCheckbox:a=!0,showMediaIcons:c=!0,disabled:l=!1,audioDevices:h=[],videoDevices:u=[],selectedAudioId:f,selectedVideoId:w,onAudioChange:g,onVideoChange:p,audioStream:y=null,isDeviceLoading:b=!1})=>{const m=l||!n||c&&(!e||!t)||b;return o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-4 iw-w-full",children:[a&&o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-3 iw-border iw-border-[#c2c3c7]",children:[o.jsx("div",{className:`iw-mt-0.5 iw-h-5 iw-w-5 iw-min-w-[20px] iw-rounded iw-border iw-flex iw-items-center iw-justify-center iw-cursor-pointer iw-transition-colors ${n?"iw-bg-[#062260] iw-border-[#062260]":"iw-bg-white iw-border-[#062260]"}`,onClick:v=>{v.stopPropagation(),s(!n)},children:n&&o.jsx(mi,{className:"iw-size-3 iw-text-white"})}),o.jsx("label",{onClick:()=>s(!n),className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-cursor-pointer iw-select-none",children:"By continuing, you acknowledge and consent to the use of your face data exclusively for interview monitoring"})]}),o.jsx("div",{className:"iw-flex iw-justify-center iw-items-center iw-gap-4 iw-flex-wrap iw-max-w-[700px] iw-mx-auto",children:c&&o.jsxs("div",{className:"iw-flex iw-gap-4 iw-w-full",children:[o.jsx(pl,{icon:Zl,devices:h,selectedId:f??"",onChange:v=>g&&g(v),label:"Choose mic",showVisualizer:!0,stream:y,hasPermission:e}),o.jsx(pl,{icon:ed,devices:u,selectedId:w??"",onChange:v=>p&&p(v),label:"Choose camera",hasPermission:t})]})}),o.jsxs("div",{className:"iw-relative iw-group iw-w-full iw-max-w-[280px] iw-mx-auto",children:[o.jsx(rn,{onClick:i,disabled:m,className:`iw-h-12 iw-w-full !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border-[#E7EAF1] iw-rounded-lg ${m?"iw-opacity-50":"hover:iw-opacity-75"}`,children:b?"Device Loading...":r}),!n&&(!c||e&&t)&&_1()]})]})},_1=()=>{const{baseColor:e}=Rt();return o.jsx(o.Fragment,{children:o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/2 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:e},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:"Action Required"})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"Please check the box to acknowledge and consent to continue."}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})})},k1=({steps:e,currentStepIndex:t})=>o.jsx("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4 iw-w-full iw-py-3",children:e.map((r,i)=>{const n=i<t,s=i===t;return o.jsxs(d.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:`iw-flex iw-size-9 iw-text-[#062260] iw-items-center iw-justify-center iw-rounded-full iw-font-semibold iw-border ${s||n?"iw-border-[#0EB00E] iw-bg-[#E9FFE6]":"iw-border-[#BDE0FD] iw-bg-[#E6F3FF]"}`,children:n?o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})}):i+1}),o.jsx("span",{className:`iw-text-sm iw-font-medium ${s||n?"iw-text-[#062260]":"iw-text-[#5C6686]"}`,children:r.label})]}),i<e.length-1&&o.jsx("div",{className:"iw-flex-1 iw-max-w-[120px] iw-border-t iw-border-dotted iw-border-[#B3B9CB]"})]},i)})}),S1=["Don't refresh or reload the page during your assessment","Don't switch tabs or open other applications while session is ongoing","Don't leave your position during the session","Don't disable or interfere with video/audio monitoring"],A1=({isOpen:e,onStart:t,gazeEnabled:r=!1,videoFeedRef:i,interviewId:n="",interview_duration:s=wi})=>{const{audioAllowed:a,videoAllowed:c,videoRef:l,audioDevices:h,videoDevices:u,selectedAudioDeviceId:f,selectedVideoDeviceId:w,isDeviceLoading:g,currentStream:p,handleAudioChange:y,handleVideoChange:b,stopStream:m}=ql(e),[v,A]=d.useState(!1),[T,C]=d.useState(0),[k,D]=d.useState(!1),F=d.useRef(null),L=d.useRef(null),j=O=>{F.current=O,i&&(typeof i=="function"?i(O):i.current=O)};if(d.useEffect(()=>()=>{L.current&&(clearInterval(L.current),L.current=null)},[]),!e)return null;const[Y,q]=d.useState(Te.MODEL_LOADING),re=async()=>{var de;A(!0),(de=F.current)==null||de.resetReference();const O=()=>{var Ee;return(Ee=F.current)==null?void 0:Ee.setReference()};O(),L.current&&clearInterval(L.current),L.current=setInterval(O,500)},$=[{label:r?"Calibrate your camera":"Camera & Mic permission"},{label:"Basic guidelines"}];return o.jsx("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center iw-bg-gray-900/40 iw-backdrop-blur-sm iw-p-4 iw-pt-5 iw-overflow-auto",children:o.jsxs("div",{className:"iw-w-full iw-max-w-[700px] iw-max-h-[900px] iw-my-4 iw-bg-white iw-rounded-xl iw-shadow-2xl iw-overflow-auto",children:[o.jsxs("div",{className:"iw-px-5 iw-pt-3",children:[o.jsx("h2",{className:"iw-text-[#062260] iw-text-2xl iw-font-medium iw-tracking-tight",children:"Final checks before you go live"}),o.jsx("div",{className:"iw-mt-2 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-2 iw-border iw-border-[#E7EAF1]",children:o.jsx("p",{className:"iw-text-[#5C6686] iw-text-xs iw-leading-relaxed",children:"To ensure the integrity of the interview process, this platform uses your device’s camera to monitor your face and gaze direction. We do not store any outside this session"})}),o.jsx("div",{className:"iw-mt-3 iw-border-b iw-border-dashed iw-border-[#B3B9CB] iw-w-full"}),o.jsx(k1,{steps:$,currentStepIndex:T})]}),o.jsx("div",{className:"iw-px-5 iw-pb-5 iw-flex iw-flex-col iw-items-center",children:T===0?o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-w-full iw-max-w-[600px] iw-aspect-video iw-bg-slate-100 iw-rounded-2xl iw-overflow-hidden iw-relative iw-border iw-border-slate-200",children:r?o.jsx(gl,{ref:j,interviewId:n,interview_duration:s,showProctoringUI:!1,showStatusOverlay:!g&&c,isDeviceLoading:g,videoAllowed:c,onProctoringStatusChange:q,onSetReference:()=>{L.current&&(clearInterval(L.current),L.current=null),A(!1),C(1)}}):o.jsx("video",{ref:l,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}})}),o.jsx(ml,{micEnabled:a,videoEnabled:c,buttonText:r?v?"Calibrating...":Y==="model_loading"?"Initialising...":"Start calibrate":"Next",onButtonClick:()=>{r?re():C(1)},disabled:!k||r&&Y!=="face_detected"||!r&&(!a||!c),isAgreed:k,onAgreedToggle:D,audioDevices:h,videoDevices:u,selectedAudioId:f,selectedVideoId:w,onAudioChange:y,onVideoChange:b,audioStream:p,isDeviceLoading:g})]}):o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-bg-[#F8FAFF] iw-rounded-2xl iw-p-8 iw-flex iw-flex-col iw-gap-5",children:S1.map((O,de)=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-flex iw-h-7 iw-w-7 iw-min-w-[28px] iw-items-center iw-justify-center iw-rounded-full iw-bg-[#DBEAFE] iw-text-[#062260] iw-text-xs iw-font-bold",children:de+1}),o.jsx("span",{className:"iw-text-[#5C6686] iw-font-medium",children:O})]},de))}),o.jsx(ml,{buttonText:"Start interview",onButtonClick:()=>{t(),m()},isAgreed:k,onAgreedToggle:D,showMediaIcons:!1})]})})]})})},nn=e=>{const{baseColor:t,borderRadius:r}=Rt(),{loading:i,children:n,...s}=e;return o.jsx(rn,{style:{background:zl(t),borderRadius:r},...s,children:i?o.jsx(ro,{}):n})},T1=(e,t,r)=>Math.max(t,Math.min(r,e)),yl=e=>{const t=Math.max(0,Math.floor(e)),r=Math.floor(t/60).toString().padStart(2,"0"),i=(t%60).toString().padStart(2,"0");return`${r}:${i}`},sn=({total:e,remaining:t,size:r=64,strokeWidth:i=6,className:n="",showLabel:s=!0})=>{const a=Math.max(1,e||1),c=T1(t/a,0,1),{radius:l,circumference:h,dashOffset:u,center:f}=d.useMemo(()=>{const p=(r-i)/2,y=2*Math.PI*p,b=y*(1-c),m=Math.round(i)%2===1,v=r/2+(m?.5:0);return{radius:p,circumference:y,dashOffset:b,center:v}},[r,i,c]),w=d.useMemo(()=>c<=.25?"iw-stroke-red-500":c<=.5?"iw-stroke-yellow-500":"iw-stroke-green-500",[c]),g=c<=.25?"iw-animate-pulse":"";return o.jsxs("div",{className:`iw-relative iw-inline-flex iw-items-center iw-justify-center iw-rounded-full iw-bg-white ${n}`,style:{width:r,height:r},"aria-label":`Time remaining ${yl(t)}`,role:"timer","aria-live":"polite",children:[o.jsx("svg",{width:r,height:r,viewBox:`0 0 ${r} ${r}`,preserveAspectRatio:"xMidYMid meet",children:o.jsxs("g",{transform:`rotate(-90 ${f} ${f})`,children:[o.jsx("circle",{cx:f,cy:f,r:l,className:"iw-stroke-gray-200",strokeWidth:i,fill:"none",shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke"}),o.jsx("circle",{cx:f,cy:f,r:l,className:`${w} ${g}`,strokeWidth:i,strokeLinecap:"round",fill:"none",strokeDasharray:h,strokeDashoffset:u,shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke",style:{transition:"stroke-dashoffset 0.3s ease, stroke 0.2s ease"}})]})}),s?o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx("span",{className:`iw-text-[11px] iw-font-semibold iw-tabular-nums ${c<=.25?"iw-text-red-600":c<=.5?"iw-text-yellow-600":"iw-text-green-600"}`,children:yl(t)})}):o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx(Jl,{})})]})},C1=({timerState:e,answeringTime:t})=>{const r=(e==null?void 0:e.currentPhaseTimeRemaining)||0,i=t||hl.answeringDuration;return o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx(sn,{total:i,remaining:r,size:50,strokeWidth:4,showLabel:!1,className:"iw-shadow-sm iw-border iw-border-gray-100"}),o.jsxs("div",{className:"iw-flex iw-flex-col",children:[o.jsx("span",{className:"iw-text-[#5C6686]",children:"Time left to answer"}),o.jsxs("span",{className:"iw-text-xl iw-font-bold iw-text-[#062260]",children:[mn(r,!0),r>=60?" min":" sec"]})]})]})},N1=({question:e,isLoading:t=!1,phase:r,brandName:i,brandLogo:n,timerState:s,answeringTime:a})=>o.jsx("div",{className:"iw-rounded-xl iw-mb-4 message-animation iw-text-gray-800 iw-py-1",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:`iw-flex iw-flex-col iw-items-center iw-justify-center iw-relative iw-h-16 iw-w-16 iw-shrink-0 iw-shadow iw-rounded-full iw-border-[#E8EEFE] iw-border-4 ${r===P.READING_QUESTION?"iw-animate-speaking":""}`,children:o.jsx("div",{className:"iw-bg-transparent iw-flex iw-items-center iw-justify-center iw-rounded-full iw-size-full",style:{backgroundImage:"linear-gradient(#B5D0FD, #FFFFFF)"},children:o.jsx(yn,{brandLogo:n,brandName:i})})}),o.jsx(I1,{phase:r,question:e,isLoading:t,brandName:i,timerState:s,answeringTime:a})]})}),I1=({phase:e,question:t,isLoading:r,brandName:i,timerState:n,answeringTime:s})=>{const a=i||"We",c=i?"is":"are";if(r||e===P.FETCHING_QUESTION||e===P.IDLE)return o.jsxs("div",{className:"iw-animate-pulse iw-w-full iw-space-y-3 iw-mr-10",children:[o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-full"}),o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-3/4"})]});const l=()=>o.jsxs("span",{className:"iw-animate-dot-wave iw-ml-1",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]});switch(e){case P.ANSWERING:return o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-w-full",children:[o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:["Listening",o.jsx(l,{})]}),o.jsx(C1,{timerState:n,answeringTime:s})]});case P.TRANSCRIBING:return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," analyzing your answer",o.jsx(l,{})]});case(P.EDITING||P.SUBMITTING):return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," waiting for your answer..."]});default:return o.jsx("p",{className:"iw-text-lg iw-leading-7",children:t==null?void 0:t.question})}},F1=({label:e,error:t,fullWidth:r=!1,className:i="",id:n,...s})=>{const a=n||`textarea-${Math.random().toString(36).substring(2,9)}`,c="iw-block iw-rounded-md iw-border iw-border-gray-300 iw-shadow-sm iw-px-4 iw-py-2 iw-text-sm iw-transition-all",l=t?"iw-border-red-500 iw-focus:border-red-500 iw-focus:ring-red-500":"",h=r?"iw-w-full":"",u=i.includes("iw-h-full")||r?"iw-h-full":"";return o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col ${r?"iw-w-full":""}`,children:[e&&o.jsx("label",{htmlFor:a,className:"iw-block iw-text-sm iw-font-medium iw-text-gray-700 iw-mb-1",children:e}),o.jsx("textarea",{id:a,className:`${c} ${l} ${h} ${u} ${i}`,"aria-invalid":t?"true":"false",...s}),t&&o.jsx("p",{className:"iw-mt-1 iw-text-sm iw-text-red-600",children:t})]})},L1=({answerText:e,onAnswerChange:t,timerState:r,editingTime:i})=>o.jsxs("div",{className:"iw-w-full iw-bg-white iw-rounded-xl iw-border iw-border-[#84bbf5] iw-overflow-hidden iw-rounded-tr-none",children:[o.jsx("div",{className:"iw-p-2 iw-pb-0",children:o.jsx(F1,{value:e,onChange:t,placeholder:"Type your answer here...",className:"iw-w-full iw-h-64 iw-resize-none iw-bg-transparent iw-border-none iw-text-[#062260] iw-text-base iw-leading-relaxed focus-visible:iw-outline-0 iw-p-0",disabled:r.phase===P.SUBMITTING})}),o.jsxs("div",{className:"iw-bg-[#F1F5FE] iw-px-2 iw-py-2 iw-flex iw-items-center iw-justify-between iw-border-t iw-border-[#E8EEFE]",children:[o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-medium iw-line-clamp-1",children:"Time left to edit answer"}),o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(sn,{total:i,remaining:r.currentPhaseTimeRemaining,size:32,strokeWidth:3,showLabel:!1}),o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-bold",children:`${mn(r.currentPhaseTimeRemaining,!0)}${r.currentPhaseTimeRemaining>=60?" min":" sec"}`})]})]})]}),bl=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-start iw-mt-3 iw-gap-1",children:e}),M1=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-3 iw-gap-1",children:e}),D1=({questionNumber:e})=>o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:[" Q",e]}),vl=({label:e})=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-text-sm iw-text-gray-500 iw-bg-[#F1F5FE] iw-px-4 iw-py-1.5 iw-rounded-full iw-my-2 iw-font-semibold",children:[e&&o.jsx("span",{className:"iw-font-medium",children:e}),o.jsxs("span",{className:"iw-animate-dot-wave iw-text-2xl",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]})]}),P1=({phase:e,questionNumber:t})=>{switch(e){case P.FETCHING_QUESTION:return o.jsxs(bl,{children:[o.jsx(D1,{questionNumber:t+1}),o.jsx(vl,{})]});case P.ANSWERING:return o.jsx(M1,{children:o.jsx(vl,{label:"You"})});case P.TRANSCRIBING:return o.jsx(bl,{children:o.jsxs("div",{className:"iw-flex iw-items-center iw-px-1 iw-py-1.5 iw-rounded-lg iw-mb-2 iw-text-sm iw-bg-[#F2E8FE]",children:[o.jsx("div",{className:"iw-h-8 iw-w-12 iw-transcribing-icon"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260]",children:"Analyzing answer…"})]})});default:return null}},O1=({item:e,index:t,isCurrentQuestion:r=!1,isEditable:i=!1,answerText:n="",onAnswerChange:s,timerState:a,editingTime:c})=>{const l=i&&a&&c!==void 0,h=l||e.answer!=null;return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-start",children:[o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:["Q",t+1]}),o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tl-none",style:{backgroundColor:"#F1F5FE",border:r?"2px solid #84bbf5":"1px solid transparent"},children:e.question})]}),h&&o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-4",children:[o.jsx("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#F2E8FE",border:"1px solid #E9D5FF"},children:"You"}),l?o.jsx(L1,{answerText:n||"",onAnswerChange:s,timerState:a,editingTime:c}):o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tr-none",style:{backgroundColor:"#F7F1FE"},children:e.answer?e.answer:o.jsx("span",{className:"iw-italic iw-text-[#062260]/60",children:"No response"})})]}),r&&o.jsx(P1,{phase:a==null?void 0:a.phase,questionNumber:t+1})]})},B1=()=>o.jsx("div",{className:"iw-space-y-6 iw-animate-pulse",children:[1,2,3].map(e=>o.jsxs("div",{className:`iw-flex iw-flex-col ${e%2===0?"iw-items-end":"iw-items-start"} iw-gap-2`,children:[o.jsx("div",{className:"iw-h-8 iw-w-16 iw-bg-gray-200 iw-rounded-full"}),o.jsx("div",{className:"iw-h-24 iw-w-full iw-bg-gray-100 iw-rounded-xl"})]},e))}),U1=({transcript:e,isLoading:t,className:r="",bottomRef:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col iw-bg-white iw-scroll-smooth iw-p-6 iw-pr-2 iw-min-w-32 iw-border iw-rounded-tr-2xl iw-rounded-br-2xl iw-border-[#E8EEFE] ${r}`,children:[o.jsxs("div",{className:"iw-mb-6",children:[o.jsx("h2",{className:"iw-text-lg iw-font-semibold iw-mb-4",style:{color:"#062260"},children:"Interview transcript"}),o.jsx("div",{className:"iw-h-px iw-w-full iw-border-t iw-border-dashed iw-border-gray-300"})]}),o.jsxs("div",{className:"iw-flex-1 iw-overflow-y-auto iw-pr-2 iw-space-y-6 iw-scrollbar-thin iw-max-w-xl iw-pb-5",children:[t?o.jsx(B1,{}):e==null?void 0:e.map((h,u)=>o.jsx(O1,{item:h,index:u,isCurrentQuestion:u===(e==null?void 0:e.length)-1,isEditable:!!(u===(e==null?void 0:e.length)-1&&n),answerText:s,onAnswerChange:a||(()=>{}),timerState:c,editingTime:l},h.qna_id)),o.jsx("div",{ref:i})]})]}),V1=({interviewId:e,className:t="",currentQuestion:r,lastSubmittedAnswer:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>{const h=$s(),[u,f]=d.useState([]),[w,g]=d.useState(!0),p=d.useRef(null);return d.useEffect(()=>{var y;(y=p.current)==null||y.scrollIntoView({behavior:"smooth"})},[u,s,c==null?void 0:c.phase]),d.useEffect(()=>{(async()=>{var b;try{const m=await h.getInterviewTranscription(e);f(((b=m==null?void 0:m.data)==null?void 0:b.transcript)||[])}catch(m){console.error("Failed to fetch transcript:",m)}finally{g(!1)}})()},[e,h]),d.useEffect(()=>{r&&f(y=>{if(y.some(v=>v.qna_id===r.qna_id))return y;const m={qna_id:r.qna_id,question:r.question,answer:null,question_generated_at:new Date().toISOString(),answer_submitted_at:null};return[...y,m]})},[r]),d.useEffect(()=>{i?f(y=>y.map(b=>b.qna_id===i.qnaId?{...b,answer:i.answer,answer_submitted_at:new Date().toISOString()}:b)):s&&f(y=>y.map(b=>b.qna_id===(i==null?void 0:i.qnaId)?{...b,answer:s,answer_submitted_at:new Date().toISOString()}:b))},[i,s]),o.jsx(U1,{transcript:u,isLoading:w||(u==null?void 0:u.length)===0,className:t,bottomRef:p,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})},Ws=5,Hs=5;function G1({isOpen:e,onClose:t,warningCount:r,violationType:i,onDisqualify:n}){const[,s]=d.useState(Hs),a=d.useRef(t),c=d.useRef(n),l=d.useRef(r);if(d.useEffect(()=>{a.current=t,c.current=n,l.current=r},[t,n,r]),d.useEffect(()=>{if(!e)return;const w=setInterval(()=>{s(g=>g<=1?(l.current+1>Ws?c.current():a.current(),Hs):g-1)},1e3);return()=>clearInterval(w)},[e]),d.useEffect(()=>{e&&s(Hs)},[e]),!e)return null;const h=()=>{switch(i){case"tab_switch":return"Attempted tab switch/reload";case"fullscreen_exit":return"Attempted to exit full screen mode";case"focus_loss":return"Lost focus from interview window";case"blocked_shortcut":return"Used a blocked keyboard shortcut";case"right_click_attempt":return"Attempted right click";case"alt_tab_attempt":return"Attempted Alt + Tab";case"blocked_function_key":return"Attempted to use function key";default:return"Attempted right click/tab switch"}},u=Ws-r,f=()=>{r+1>Ws?n():t()};return o.jsx("div",{className:"iw-absolute iw-bottom-20 iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300",children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#E94315] iw-bg-[#FFEBE6] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:f,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(yi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3",children:[o.jsx("div",{className:"iw-flex iw-h-10 iw-w-10 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#FDCBBD]",children:o.jsx(pi,{className:"iw-h-5 iw-w-5 iw-text-red-500"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsxs("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#E94315]",children:["You have ",u>0?u:0," warning",u>1?"s":""," left"]}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:h()}),o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-red-200 iw-pt-3",children:u===1?o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Next violation will disqualify you from this interview and automatically end the interview"}):o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Interview will end automatically after final warning"})})]})]})]})})}const j1=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z"}),o.jsx("circle",{cx:"12",cy:"12",r:"10"})]}),xl=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(d.useEffect(()=>{if(!e||!a)return;const u=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,a,t]),d.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=u=>{s&&u.target===u.currentTarget&&t()},h=o.jsxs("div",{className:"interview-widget-container",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center"},children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",transition:"opacity 0.2s"},onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"standalone-dialog-title":void 0,style:{zIndex:1e4},children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"standalone-dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return Sl.createPortal(h,document.body)},z1=({showHardReloadWarning:e,onContinue:t})=>{const r=()=>{t()};return o.jsxs(xl,{isOpen:e,onClose:r,closeOnOverlayClick:!1,closeOnEscape:!1,showCloseButton:!1,className:"iw-max-w-lg iw-px-2 iw-rounded-xl",children:[o.jsx("div",{className:"iw-absolute iw-inset-x-0 iw-top-0 iw-h-1 iw-bg-gradient-to-r iw-from-red-500 iw-to-red-600"}),o.jsx("div",{className:"iw-space-y-1 iw-pb-2 iw-pt-3",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(pi,{className:"iw-w-5 iw-h-5 iw-text-red-500"}),o.jsx("h3",{className:"iw-text-xl iw-font-semibold iw-text-red-500",children:"Full Screen Exit Detected"})]})}),o.jsx("div",{className:"iw-pt-4 iw-pb-6",children:o.jsx("p",{className:"iw-text-center iw-text-sm iw-leading-relaxed iw-text-gray-500/90",children:"Exiting full screen mode or reloading this page during the session is strictly prohibited. Any attempt to do so will be recorded and may lead to penalties."})}),o.jsx("div",{className:"iw-pt-2 iw-pb-4",children:o.jsxs("button",{onClick:r,className:"iw-w-full iw-flex iw-items-center iw-justify-center iw-gap-2 iw-px-4 iw-py-3 iw-bg-gray-100 iw-text-gray-600 iw-rounded-md iw-font-medium iw-transition-colors hover:iw-bg-gray-200 focus:iw-outline-none focus:iw-ring-2 focus:iw-ring-gray-400 focus:iw-ring-offset-2",children:[o.jsx(j1,{className:"iw-size-4"}),"Continue Session"]})})]})},El=d.createContext(null),$1=()=>{const e=d.useContext(El);return e||{violationCount:0,violationType:"fullscreen_exit",showWarningModal:!1,setShowWarningModal:()=>{},handleClose:()=>{},handleDisqualify:()=>{}}},W1=d.forwardRef(({children:e,onDisqualify:t,isCompleted:r},i)=>{const[n,s]=d.useState(!1),[a,c]=d.useState(!1),[l,h]=d.useState(!1),[u,f]=d.useState("fullscreen_exit"),{logViolation:w,violationCount:g}=v1({maxViolations:5,onViolation:v=>{!a&&!r&&!l&&(s(!0),f(v.type))}}),{enterFullScreen:p,isFullScreen:y,exitFullScreen:b}=d1({onFullScreenChange(v){!v&&!a&&!l&&!r&&(s(!0),w({type:"fullscreen_exit",severity:"high",details:{action:"fullscreen_exit",reason:"Attempted to exit full screen mode"}})),v&&h(!1)}});d.useEffect(()=>{p()},[]),d.useImperativeHandle(i,()=>({exitFullScreenIntentionally:async()=>{h(!0),s(!1),c(!1);try{document.fullscreenElement&&await document.exitFullscreen()}catch(v){console.error("Failed to exit fullscreen:",v)}}}),[]),w1(w),h1(w),g1(),x1(),d.useEffect(()=>{const v=A=>{if(!(a||l||r))return A.preventDefault(),A.returnValue=void 0,""};return window.addEventListener("beforeunload",v),()=>{window.removeEventListener("beforeunload",v)}},[a,l,r]);const m=()=>{c(!0),b(),s(!1),t==null||t()};return o.jsxs(El.Provider,{value:{violationCount:g,violationType:u,showWarningModal:n,setShowWarningModal:s,handleClose:()=>{s(!1),p()},handleDisqualify:m},children:[o.jsx("div",{className:"iw-relative iw-h-full iw-w-full",children:e}),!y&&g>0&&!a&&!l&&o.jsx(z1,{showHardReloadWarning:!0,logViolation:w,onContinue:p})]})}),H1=({onClick:e,text:t="Submit response",disabled:r=!1})=>(d.useEffect(()=>{if(typeof window>"u")return;const i=n=>{const s=n.key==="Enter",a=n.target;if(!(a.tagName==="INPUT"||a.isContentEditable)&&s){if(r)return;n.preventDefault(),e()}};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[e,r]),o.jsx("div",{className:"iw-fixed iw-bottom-10 iw-left-1/4 iw-transform iw--translate-x-1/2 iw-z-50",children:o.jsxs("button",{disabled:r,onClick:e,className:`iw-flex iw-items-center iw-gap-3 iw-text-white iw-px-5 iw-py-3 iw-rounded-lg iw-shadow-lg iw-transition-all iw-duration-200 iw-group ${r?"iw-bg-[#4C6CFF]/60 iw-cursor-not-allowed":"iw-bg-[#4C6CFF] hover:iw-bg-[#4c6dffd5]"}`,children:[o.jsx("span",{className:"iw-font-semibold iw-text-sm",children:t}),o.jsx("span",{className:"iw-bg-white/90 iw-text-[#062260] iw-px-2 iw-py-1 iw-rounded iw-text-xs iw-font-mono iw-font-bold group-hover:iw-bg-white iw-transition-colors",children:"Press Enter"})]})})),q1=({brandName:e,brandLogo:t,currentQuestion:r,state:i,phase:n,className:s="",interviewId:a="",interview_duration:c=wi,videoFeedRef:l,lastSubmittedAnswer:h,onNextPhase:u,answerText:f,onAnswerChange:w,editingTime:g,answeringTime:p,disableSubmitButton:y=!1})=>{const{showWarningModal:b,violationCount:m,violationType:v,handleClose:A,handleDisqualify:T}=$1();return o.jsxs("div",{className:`iw-px-4 iw-py-3 ${s} iw-h-[calc(100vh_-_120px)] iw-max-h-[calc(100vh_-_120px)] iw-flex iw-gap-0 iw-relative`,children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-flex-1 iw-p-5 iw-bg-white/50 iw-border iw-border-[#E8EEFE] iw-rounded-s-3xl iw-overflow-hidden",children:[o.jsx("div",{className:"iw-flex iw-items-start iw-justify-between iw-gap-3 iw-mb-4",children:o.jsx("div",{className:"iw-flex-1",children:o.jsx(N1,{question:r,isLoading:n===P.FETCHING_QUESTION||n===P.IDLE,phase:n,brandName:e,brandLogo:t,timerState:i,answeringTime:p})})}),o.jsxs("div",{className:"iw-flex-1 iw-min-h-0 iw-rounded-[16px] iw-overflow-hidden iw-relative",children:[o.jsx(gl,{ref:l,interviewId:a,interview_duration:c,isAnswering:n===P.ANSWERING,cheatingWarningVisible:b}),o.jsx(G1,{isOpen:b,warningCount:m,violationType:v,onClose:A,onDisqualify:T})]})]}),o.jsx("div",{className:"iw-interview-transcription iw-w-1/4 iw-min-w-32 iw-h-full",children:o.jsx(V1,{interviewId:a,currentQuestion:r,lastSubmittedAnswer:h,isEditing:n===P.EDITING,answerText:f,onAnswerChange:w,timerState:i,editingTime:g})}),u&&(n===P.ANSWERING||n===P.EDITING)&&o.jsx(H1,{onClick:u,disabled:y,text:n===P.ANSWERING?"Submit Response":"Submit Final Response"})]})},K1=({confirmExitInterview:e,isOpen:t,onClose:r})=>o.jsxs(xl,{isOpen:t,onClose:r,showCloseButton:!1,closeOnOverlayClick:!1,className:"iw-max-w-xl iw-border-2 iw-border-dashed iw-rounded-xl iw-border-[#6296FB]",children:[o.jsxs("div",{className:"iw-p-4",children:[o.jsx("h2",{className:"iw-text-xl iw-font-semibold iw-text-[#062260]",children:"Are you sure you want to leave interview?"}),o.jsx("p",{className:"iw-mt-2 iw-text-[#667085] iw-line-clamp-2",children:"If you exit now, the interview will be terminated and cannot be resumed."})]}),o.jsx("div",{className:"iw-my-0 iw-h-px iw-m-6 iw-border-t iw-border-dashed iw-border-[#B3B9CB]"}),o.jsxs("div",{className:"iw-flex iw-justify-center iw-gap-4 iw-p-4",children:[o.jsx(rn,{className:"iw-px-8 iw-py-3 iw-rounded-xl !iw-bg-[#E94315] !iw-text-white !iw-font-bold !iw-shadow-md !hover:iw-opacity-70",onClick:e,children:"Leave"}),o.jsx(rn,{onClick:r,className:"iw-px-6 iw-py-3 iw-rounded-xl !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border !iw-border-[#E7EAF1] !iw-shadow-md hover:iw-opacity-70",children:"Stay in Interview"})]})]}),Y1=({title:e,brandName:t,brandLogo:r,onExit:i,totalDuration:n=30,elapsedTime:s=0})=>{const[a,c]=d.useState(!1),l=Math.min(s/(n*60)*100,100),h=()=>o.jsxs("div",{className:"iw-px-4 iw-pb-2 iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-flex-1 iw-h-4 iw-bg-[#F2F4F7] iw-rounded-full iw-overflow-hidden iw-border iw-border-blue-100 iw-relative",children:o.jsx("div",{className:"iw-h-full iw-bg-[#0EB00E] iw-rounded-full iw-transition-all iw-duration-1000 iw-ease-linear",style:{width:`${l}%`}})}),o.jsxs("div",{className:"iw-text-sm iw-font-medium iw-whitespace-nowrap",children:[o.jsx("span",{className:"iw-text-[#062260]",children:mn(s)}),o.jsxs("span",{className:"iw-text-[#667085]",children:["/",n," Min"]})]})]});return o.jsxs("header",{className:"iw-w-full iw-text-gray-900 iw-shadow-sm",children:[o.jsxs("div",{className:"iw-mx-auto iw-flex iw-items-center iw-justify-between iw-p-4 iw-pt-1 iw-mb-2 iw-border-b iw-border-[#B3B9CB] iw-border-dashed",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2",children:[o.jsx(yn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx("h1",{className:"iw-text-2xl iw-font-semibold iw-text-gradient-silver",children:e}),o.jsx("button",{className:"iw-text-sm iw-text-[#E94315] iw-min-w-10 iw-rounded-md hover:iw-bg-orange-100 iw-p-2",onClick:()=>c(!0),children:o.jsxs("span",{className:"iw-flex iw-items-center iw-gap-1 iw-text-[18px] iw-font-semibold iw-whitespace-nowrap",children:[o.jsx(yi,{className:"iw-text-[#E94315] iw-size-5"}),"Leave interview"]})})]}),o.jsx(h,{}),o.jsx("div",{className:"iw-h-px iw-bg-gray-200"}),o.jsx(K1,{isOpen:a,confirmExitInterview:()=>{i(),c(!1)},onClose:()=>c(!1)})]})},X1=({className:e="",width:t,height:r=56,barWidth:i=3,gap:n=2,fftSize:s=1024,smoothingTimeConstant:a=.8,mediaStream:c,startOnMount:l=!0})=>{const{baseColor:h}=Rt(),u=d.useRef(null),f=d.useRef(null),w=d.useRef(null),g=d.useRef(null),p=d.useRef(null),y=d.useRef(null),b=d.useRef(!1),[m,v]=d.useState(null);d.useEffect(()=>{if(t||!f.current)return;const T=f.current,C=()=>{const D=u.current;if(!D)return;const F=T.clientWidth,L=r;D.width=Math.max(1,Math.floor(F*window.devicePixelRatio||1)),D.height=Math.max(1,Math.floor(L*window.devicePixelRatio||1))},k=new ResizeObserver(C);return k.observe(T),C(),()=>k.disconnect()},[t,r]),d.useEffect(()=>{if(!t)return;const T=u.current;T&&(T.width=Math.max(1,Math.floor(t*(window.devicePixelRatio||1))),T.height=Math.max(1,Math.floor(r*(window.devicePixelRatio||1))))},[t,r]),d.useEffect(()=>{let T=!1;return(async()=>{try{const k=new(window.AudioContext||window.webkitAudioContext);w.current=k;let D=c;if(!D){if(!l)return;D=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),b.current=!0}if(T)return;const F=k.createAnalyser();F.fftSize=s,F.smoothingTimeConstant=a,g.current=F;const L=k.createMediaStreamSource(D);p.current=L,L.connect(F),A()}catch(k){v((k==null?void 0:k.message)||"Failed to initialize microphone")}})(),()=>{var k,D,F,L;T=!0,y.current&&cancelAnimationFrame(y.current);try{(k=p.current)==null||k.disconnect()}catch{}try{(D=g.current)==null||D.disconnect()}catch{}b.current&&((L=((F=p.current)==null?void 0:F.mediaStream)||void 0)==null||L.getTracks().forEach(j=>j.stop())),w.current&&w.current.state!=="closed"&&w.current.close()}},[c,s,a,l]);const A=()=>{const T=u.current,C=g.current;if(!T||!C)return;const k=T.getContext("2d");if(!k)return;const D=window.devicePixelRatio||1,F=T.width,L=T.height,j=C.frequencyBinCount,Y=new Uint8Array(j),q=()=>{y.current=requestAnimationFrame(q),C.getByteTimeDomainData(Y),k.clearRect(0,0,F,L),k.fillStyle="rgba(0,0,0,0)",k.fillRect(0,0,F,L);const re=Math.max(1,Math.floor(i*D)),$=Math.max(1,Math.floor(n*D)),O=re+$,de=Math.max(8,Math.floor((F+$)/O)),Ee=Math.floor(Y.length/de);for(let ut=0;ut<de;ut++){const Ft=Math.min(Y.length-1,ut*Ee),ht=Y[Ft]/128-1,$e=Math.abs(ht),ft=Math.pow($e,.6),Lt=Math.max(L*.06,ft*(L*.9)),Nr=ut*O,Ir=(L-Lt)/2,Fr=140-Math.min(140,140*$e),Lr=85,Mr=48+Math.floor(12*(1-$e));k.fillStyle=`${h}`,k.shadowColor=`hsla(${Fr}, ${Lr}%, ${Mr}%, ${.25*$e})`,k.shadowBlur=8*$e;const Qt=Math.min(re/2,Lt/2);Q1(k,Nr,Ir,re,Lt,Qt),k.fill()}};q()};return o.jsxs("div",{ref:f,className:`iw-relative iw-w-full iw-overflow-hidden iw-rounded-md iw-bg-gray-50 ${e}`,style:{height:r},children:[o.jsx("canvas",{ref:u,className:"iw-w-full iw-h-full"}),m&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center",children:o.jsx("span",{className:"iw-text-xs iw-text-red-600 iw-bg-red-50 iw-border iw-border-red-200 iw-px-2 iw-py-1 iw-rounded",children:m})})]})};function Q1(e,t,r,i,n,s){const a=Math.min(s,i/2,n/2);e.beginPath(),e.moveTo(t+a,r),e.lineTo(t+i-a,r),e.quadraticCurveTo(t+i,r,t+i,r+a),e.lineTo(t+i,r+n-a),e.quadraticCurveTo(t+i,r+n,t+i-a,r+n),e.lineTo(t+a,r+n),e.quadraticCurveTo(t,r+n,t,r+n-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+a,r),e.closePath()}const J1=({state:e,answeringTime:t,nextPhase:r,sttError:i,disableStopButton:n=!1})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-justify-between iw-h-full ",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"You may start speaking now. We're listening...."}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(to,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to talk: "})]}),o.jsx(sn,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]})]}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"Done talking? Click the button to review your answer."})]}),o.jsxs("div",{children:[o.jsx(X1,{}),i&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Recording error: ",i.message]})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(nn,{disabled:n,onClick:()=>{r()},children:"Transcribe My Answer"})})]});function Z1(){const[e,t]=d.useState(!0),r=d.useMemo(()=>[0,1,2].map(i=>({id:i})),[]);return d.useEffect(()=>{const i=setInterval(()=>{t(n=>!n)},1500);return()=>clearInterval(i)},[]),o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-h-full",children:[o.jsx("div",{className:"iw-relative iw-w-80 iw-h-48 ","aria-hidden":!0,children:r.map((i,n)=>{const s=n*50,a=e?s:s+12,c=e?1:.08,l=n*140;return o.jsx("div",{role:"presentation",className:"iw-absolute iw-w-full iw-rounded-lg iw-p-4 iw-shadow-md iw-bg-gradient-to-b iw-from-gray-50 iw-to-gray-100 iw-overflow-hidden",style:{top:0,transform:`translateY(${a}px)`,opacity:c,transition:`transform 600ms cubic-bezier(.2,.9,.3,1) ${l}ms, opacity 400ms ease ${l}ms`},children:o.jsxs("div",{className:"iw-flex iw-gap-3 iw-items-center",children:[o.jsx("div",{className:"iw-w-10 iw-h-10 iw-bg-gray-300 iw-rounded iw-flex-shrink-0"}),o.jsxs("div",{className:"iw-flex-1 iw-space-y-2",children:[o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-24"}),o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-32"})]})]})},i.id)})}),o.jsx("div",{className:"iw-text-center",children:o.jsx("p",{className:"iw-text-gray-500 iw-font-medium",children:"Preparing your question..."})})]})}const R1=({size:e="192px",className:t,colors:r,animationDuration:i=20})=>{const s={...{bg:"oklch(95% 0.02 264.695)",c1:"oklch(75% 0.15 350)",c2:"oklch(80% 0.12 200)",c3:"oklch(78% 0.14 280)"},...r},a=parseInt(e.replace("px",""),10),c=a<50?Math.max(a*.008,1):Math.max(a*.015,4),l=a<50?Math.max(a*.004,1.2):Math.max(a*.008,1.5),h=a<50?Math.max(a*.004,.05):Math.max(a*.008,.1),u=a<50?Math.max(a*.004,.5):Math.max(a*.008,2),f=a<30?"0%":a<50?"5%":a<100?"15%":"25%",w=a<30?1.1:a<50?Math.max(l*1.2,1.3):l;return o.jsx("div",{className:`siri-orb ${t}`,style:{width:e,height:e,"--bg":s.bg,"--c1":s.c1,"--c2":s.c2,"--c3":s.c3,"--animation-duration":`${i}s`,"--blur-amount":`${c}px`,"--contrast-amount":w,"--dot-size":`${h}px`,"--shadow-spread":`${u}px`,"--mask-radius":f},children:o.jsx("style",{children:`
75
75
  @property --angle {
76
76
  syntax: "<angle>";
77
77
  inherits: false;
@@ -176,4 +176,4 @@
176
176
  animation: none;
177
177
  }
178
178
  }
179
- `})})};function e2({ttsError:e}){return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-w-full iw-h-full",children:[o.jsx(R1,{size:"80px"}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Audio playback failed: ",e.message]}),o.jsx("p",{className:"iw-text- iw-text-gray-700",children:"Your AI interviewer is speaking..."})]})}const t2=({state:e,thinkingTime:t,nextPhase:r})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-items-center iw-justify-center iw-text-center iw-h-full ",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Get Ready to Answer"}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"After 30-seconds thinking time, recording will start automatically, or you can begin recording early by clicking the button below."})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(to,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to think: "})]}),o.jsx(nn,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(rn,{onClick:()=>{r()},children:"Start Answering"})})]}),r2=({sttError:e,editingDuration:t})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-h-full",children:[o.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 60 60",fill:"none",children:[o.jsx("rect",{width:60,height:60,rx:30,fill:"url(#prefix__paint0_linear_1460_12482)"}),o.jsx("path",{d:"M28.127 14c.276 7.685 6.442 13.851 14.127 14.127-7.684.276-13.85 6.442-14.127 14.127-.275-7.685-6.442-13.851-14.126-14.127 7.684-.276 13.85-6.442 14.126-14.127zM38.937 31.873A7.331 7.331 0 0046 38.937 7.331 7.331 0 0038.937 46a7.331 7.331 0 00-7.064-7.063 7.331 7.331 0 007.064-7.064z",fill:"#fff"}),o.jsx("defs",{children:o.jsxs("linearGradient",{id:"prefix__paint0_linear_1460_12482",x1:30,y1:-6.563,x2:77.813,y2:54.375,gradientUnits:"userSpaceOnUse",children:[o.jsx("stop",{offset:.211,stopColor:"#5C92FA"}),o.jsx("stop",{offset:1,stopColor:"#A75FFD"})]})})]}),o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1 iw-mt-3",children:"Just a moment... We're analyzing your response"}),o.jsxs("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:["After transcription, you'll have ",t||30," sec to review your answer."]}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Transcription error: ",e.message,e.recoverable&&" (attempting to continue)"]})]}),i2=({interviewTitle:e,brandName:t="Novara",brandLogo:r,interviewId:i,onComplete:n,onDisqualify:s,className:a="",videoFeedRef:c})=>{var ln,li;const l=yl(),{baseUrl:h,authToken:u}=eo(),{timers:f,stt:w,proctoring:g}=mn(),p=d.useRef(null),[y,m]=d.useState(null),[b,v]=d.useState(""),[I,T]=d.useState(null),[S,A]=d.useState(hi),[M,F]=d.useState(!0),D=d.useRef(""),G=d.useRef(null),Y={thinkingTime:(f==null?void 0:f.thinkingDuration)||0,answeringTime:(f==null?void 0:f.answeringDuration)||120,editingTime:M?(f==null?void 0:f.editingDuration)||30:0},{thinkingTime:H,answeringTime:q,editingTime:Z}=Y;d.useEffect(()=>{D.current=b},[b]);const[O,R]=d.useState(!1),Ye=d.useRef(!1),{speak:ft,stop:Xe,error:oi}=k1({onEnd:()=>{Ye.current=!1,me()},onError:()=>{Ye.current||(Ye.current=!0,me())}}),ke=d.useRef(!1),Lt=d.useRef(!1),{startRecording:Mt,stopRecording:Cr,transcribe:Nr,cancelRecording:Ir,isRecording:Fr,error:Lr,audioBlob:rt}=v1({config:{baseUrl:h,provider:w==null?void 0:w.provider,model:w==null?void 0:w.model,language:w==null?void 0:w.language,authToken:u,qnaId:((ln=G.current)==null?void 0:ln.qna_id)||"",interviewId:i},onStart:()=>{ke.current=!1,Lt.current=!1},onStop:()=>{},onTranscriptionComplete:L=>{const j=L.transcript;v(j),D.current=j,Lt.current||(Lt.current=!0,me())},onError:L=>{console.error("STT Error:",L),ke.current||(ke.current=!0,me())}}),{state:Qe,startQuestion:wt,nextPhase:me,completeInterview:Mr,timerService:Dt}=p1({config:{answeringDuration:q,editingDuration:Z},callbacks:{onPhaseChange:L=>{switch(L){case P.FETCHING_QUESTION:Dr();break;case P.READING_QUESTION:sn();break;case P.ANSWERING:ai();break;case P.TRANSCRIBING:on();break;case P.SUBMITTING:Ks();break}},onInterviewEnd:()=>{n==null||n()}}});d.useEffect(()=>{wt()},[]),d.useEffect(()=>{(async()=>{try{const j=await l.getInterviewConfig(i);if(j!=null&&j.data&&(j.data.duration_in_minutes&&A(j.data.duration_in_minutes),typeof j.data.allow_answer_editing=="boolean"&&F(j.data.allow_answer_editing),typeof j.data.elapsed_time_in_minutes=="number")){const Je=Math.floor(j.data.elapsed_time_in_minutes*60);Dt.setTotalTimeElapsed(Je)}}catch(j){console.error("Failed to fetch interview config:",j)}})()},[i,Dt]);const{execute:Dr,error:Pr}=m1(async()=>{const L=await l.generateQuestion({interviewId:i});return G.current=L.data,L},{onSuccess:async L=>{L&&L.data&&(v(""),D.current="",m(L.data),me())},onError:L=>{console.error("Failed to fetch questions:",L)}}),Ks=d.useCallback(async()=>{var L;try{const j=D.current,Je=((L=G.current)==null?void 0:L.qna_id)||"";M&&await l.submitAnswer({interviewId:i,qnaId:Je,answer:j}),T({qnaId:Je,answer:j})}catch(j){console.error("Failed to submit answer:",j)}wt()},[l,i,wt,M]),sn=d.useCallback(async()=>{var L,j;if((L=G.current)!=null&&L.question)if(G.current.question_audio_data_base64)try{Ye.current=!1,await ft(G.current.question_audio_data_base64),G.current.is_interview_done&&(Xe(),Ir(),c&&"current"in c&&((j=c.current)==null||j.stopCamera()),Mr())}catch(Je){console.error("Failed to speak question:",Je)}else console.warn("No audio data available for question"),await zl(2e3),me();else me()},[ft,me,Mr]),ai=d.useCallback(async()=>{try{await Mt(q)}catch(L){if((L==null?void 0:L.code)==="ALREADY_RECORDING"){console.warn("startRecording called while already recording — ignoring duplicate call.");return}console.error("Failed to start recording:",L),me()}},[Mt,me,q]),on=d.useCallback(async()=>{if(O){console.warn("Audio processing already in progress, ignoring duplicate call");return}R(!0);try{const L=!Fr&&rt?rt:await Cr();await Nr(L)}catch(L){console.error("STT processing failed:",L),!ke.current&&!Lt.current&&(ke.current=!0,me())}finally{R(!1)}},[O,Fr,rt,Cr,Nr,me,i,Dt]),an=d.useCallback(()=>{O||me()},[O,me]),Or=d.useCallback(async L=>{var j,Je;Xe(),Ir(),c&&"current"in c&&((j=c.current)==null||j.stopCamera()),await((Je=p.current)==null?void 0:Je.exitFullScreenIntentionally());try{await l.exitInterview(i)}catch(dn){console.error("API call failed:",dn)}finally{L==null||L(),Mr(),sessionStorage.removeItem(wn)}},[i,Xe,l]),cn=()=>{const{phase:L}=Qe;switch(L){case P.IDLE:return o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Ready to start the Interview?"}),o.jsx("p",{className:"iw-max-w-xl iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:`You will be asked a series of behavioral and technical questions. For each one you'll get a short thinking period, then a timed recording window. We'll transcribe your response so you can review and edit it before submitting. Click "Start Interview" when you're ready.`}),o.jsx(rn,{onClick:wt,className:"iw-mt-2 iw-w-40",children:"Start Interview"})]});case P.FETCHING_QUESTION:return Pr?o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-red-600 iw-mb-1",children:"Failed to load the next question"}),o.jsx("p",{className:"iw-max-w-md iw-text-gray-500 iw-text-sm iw-leading-[21px]",children:Pr.message||"Please check your network connection and try again."}),o.jsx(rn,{onClick:()=>Dr(),className:"iw-mt-4 iw-w-40",children:"Retry"})]}):o.jsx(Z1,{});case P.READING_QUESTION:return o.jsx(e2,{ttsError:oi});case P.THINKING:return o.jsx(t2,{state:Qe,thinkingTime:H,nextPhase:me});case P.ANSWERING:return o.jsx(J1,{state:Qe,answeringTime:q,nextPhase:an,sttError:Lr,disableStopButton:O});case P.TRANSCRIBING:return o.jsx(r2,{sttError:Lr,editingDuration:Z});case P.EDITING:case P.SUBMITTING:return null;case P.COMPLETED:return null;default:return null}},ci=o.jsxs(o.Fragment,{children:[o.jsx(Y1,{title:e,brandName:t,brandLogo:r,totalDuration:S,elapsedTime:Qe.totalTimeElapsed,onExit:()=>Or()}),o.jsx(q1,{brandName:t,brandLogo:r,currentQuestion:y,state:Qe,phase:Qe.phase,className:a,interviewId:i,interview_duration:S,videoFeedRef:c,lastSubmittedAnswer:I,onNextPhase:Qe.phase===P.ANSWERING?an:me,answerText:b,onAnswerChange:L=>{const j=L.target.value;v(j),D.current=j},editingTime:Z,answeringTime:q,disableSubmitButton:Qe.phase===P.ANSWERING&&O,children:cn()})]});return o.jsx(o.Fragment,{children:g!=null&&g.enabled?o.jsx(W1,{ref:p,onDisqualify:()=>Or(s),isCompleted:((li=G==null?void 0:G.current)==null?void 0:li.is_interview_done)??!1,children:ci}):ci})},qs=({title:e,brandName:t,brandLogo:r,interviewId:i,onInterviewEnd:n,onInterviewDisqualify:s,className:a=""})=>{const[c,l]=d.useState(!1),[h,u]=d.useState(!0),[f,w]=d.useState(!1),{proctoring:g}=mn(),p=d.useRef(null),y=d.useRef(null),m=(g==null?void 0:g.gazeAnalysisEnabled)===!0,b=()=>{l(!0),u(!1)};return d.useEffect(()=>{if(c&&f&&y.current&&m)try{y.current.setReference()}finally{w(!1)}},[c,f,m]),c?o.jsx("div",{className:"interview-widget-container",children:o.jsx("div",{ref:p,className:`iw-flex iw-flex-col iw-rounded-xl iw-shadow-lg iw-overflow-hidden iw-h-[calc(100vh-1rem)] ${a}`,children:o.jsx("div",{className:"iw-h-[calc(100vh-1rem)] iw-flex iw-flex-col iw-justify-between gap-1",children:o.jsx(i2,{interviewTitle:e??"Interview",brandName:t??"Novara",brandLogo:r,interviewId:i,className:a,onComplete:n??(()=>{}),onDisqualify:s,videoFeedRef:y})})})}):o.jsxs("div",{className:"interview-widget-container",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2 iw-mx-auto iw-p-2 iw-max-w-[1800px]",children:[o.jsx(bn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx(w1,{isOpen:h,gazeEnabled:m,onStart:b,onRequestCalibration:()=>w(!0),videoFeedRef:y,interviewId:i})]})};typeof window<"u"&&(window.InterviewWidget={InterviewWidget:qs,InterviewWidgetProvider:Rs}),be.InterviewWidget=qs,be.InterviewWidgetProvider=Rs,be.default=qs,Object.defineProperties(be,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
179
+ `})})};function e2({ttsError:e}){return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-w-full iw-h-full",children:[o.jsx(R1,{size:"80px"}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Audio playback failed: ",e.message]}),o.jsx("p",{className:"iw-text- iw-text-gray-700",children:"Your AI interviewer is speaking..."})]})}const t2=({state:e,thinkingTime:t,nextPhase:r})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-items-center iw-justify-center iw-text-center iw-h-full ",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Get Ready to Answer"}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"After 30-seconds thinking time, recording will start automatically, or you can begin recording early by clicking the button below."})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(to,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to think: "})]}),o.jsx(sn,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(nn,{onClick:()=>{r()},children:"Start Answering"})})]}),r2=({sttError:e,editingDuration:t})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-h-full",children:[o.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 60 60",fill:"none",children:[o.jsx("rect",{width:60,height:60,rx:30,fill:"url(#prefix__paint0_linear_1460_12482)"}),o.jsx("path",{d:"M28.127 14c.276 7.685 6.442 13.851 14.127 14.127-7.684.276-13.85 6.442-14.127 14.127-.275-7.685-6.442-13.851-14.126-14.127 7.684-.276 13.85-6.442 14.126-14.127zM38.937 31.873A7.331 7.331 0 0046 38.937 7.331 7.331 0 0038.937 46a7.331 7.331 0 00-7.064-7.063 7.331 7.331 0 007.064-7.064z",fill:"#fff"}),o.jsx("defs",{children:o.jsxs("linearGradient",{id:"prefix__paint0_linear_1460_12482",x1:30,y1:-6.563,x2:77.813,y2:54.375,gradientUnits:"userSpaceOnUse",children:[o.jsx("stop",{offset:.211,stopColor:"#5C92FA"}),o.jsx("stop",{offset:1,stopColor:"#A75FFD"})]})})]}),o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1 iw-mt-3",children:"Just a moment... We're analyzing your response"}),o.jsxs("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:["After transcription, you'll have ",t||30," sec to review your answer."]}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Transcription error: ",e.message,e.recoverable&&" (attempting to continue)"]})]}),i2=({interviewTitle:e,brandName:t="Novara",brandLogo:r,interviewId:i,onComplete:n,onDisqualify:s,className:a="",videoFeedRef:c})=>{var ui,cn;const l=$s(),{baseUrl:h,authToken:u}=eo(),{timers:f,stt:w,proctoring:g}=pn(),p=d.useRef(null),[y,b]=d.useState(null),[m,v]=d.useState(""),[A,T]=d.useState(null),[C,k]=d.useState(wi),[D,F]=d.useState(!0),L=d.useRef(""),j=d.useRef(null),Y={thinkingTime:(f==null?void 0:f.thinkingDuration)||0,answeringTime:(f==null?void 0:f.answeringDuration)||120,editingTime:D?(f==null?void 0:f.editingDuration)||30:0},{thinkingTime:q,answeringTime:re,editingTime:$}=Y;d.useEffect(()=>{L.current=m},[m]);const[O,de]=d.useState(!1),Ee=d.useRef(!1),{speak:ut,stop:Ft,error:ht}=b1({onEnd:()=>{Ee.current=!1,ie()},onError:()=>{Ee.current||(Ee.current=!0,ie())}}),$e=d.useRef(!1),ft=d.useRef(!1),{startRecording:Lt,stopRecording:Nr,transcribe:Ir,cancelRecording:Fr,isRecording:Lr,error:Mr,audioBlob:Qt}=f1({config:{baseUrl:h,provider:w==null?void 0:w.provider,model:w==null?void 0:w.model,language:w==null?void 0:w.language,authToken:u,qnaId:((ui=j.current)==null?void 0:ui.qna_id)||"",interviewId:i},onStart:()=>{$e.current=!1,ft.current=!1},onStop:()=>{},onTranscriptionComplete:M=>{const U=M.transcript;v(U),L.current=U,ft.current||(ft.current=!0,ie())},onError:M=>{console.error("STT Error:",M),$e.current||($e.current=!0,ie())}}),{state:Ie,startQuestion:Mt,nextPhase:ie,completeInterview:si,timerService:Dr}=m1({config:{answeringDuration:re,editingDuration:$},callbacks:{onPhaseChange:M=>{switch(M){case P.FETCHING_QUESTION:Jt();break;case P.READING_QUESTION:Ks();break;case P.ANSWERING:on();break;case P.TRANSCRIBING:ai();break;case P.SUBMITTING:oi();break}},onInterviewEnd:()=>{n==null||n()}}});d.useEffect(()=>{Mt()},[]),d.useEffect(()=>{(async()=>{try{const U=await l.getInterviewConfig(i);if(U!=null&&U.data&&(U.data.duration_in_minutes&&k(U.data.duration_in_minutes),typeof U.data.allow_answer_editing=="boolean"&&F(U.data.allow_answer_editing),typeof U.data.elapsed_time_in_minutes=="number")){const Qe=Math.floor(U.data.elapsed_time_in_minutes*60);Dr.setTotalTimeElapsed(Qe)}}catch(U){console.error("Failed to fetch interview config:",U)}})()},[i,Dr]);const{execute:Jt,error:Pr}=l1(async()=>{const M=await l.generateQuestion({interviewId:i});return j.current=M.data,M},{onSuccess:async M=>{M&&M.data&&(v(""),L.current="",b(M.data),ie())},onError:M=>{console.error("Failed to fetch questions:",M)}}),oi=d.useCallback(async()=>{var M;try{const U=L.current,Qe=((M=j.current)==null?void 0:M.qna_id)||"";D&&await l.submitAnswer({interviewId:i,qnaId:Qe,answer:U}),T({qnaId:Qe,answer:U})}catch(U){console.error("Failed to submit answer:",U)}Mt()},[l,i,Mt,D]),Ks=d.useCallback(async()=>{var M,U;if((M=j.current)!=null&&M.question)if(j.current.question_audio_data_base64)try{Ee.current=!1,await ut(j.current.question_audio_data_base64),j.current.is_interview_done&&(Ft(),Fr(),c&&"current"in c&&((U=c.current)==null||U.stopCamera()),si())}catch(Qe){console.error("Failed to speak question:",Qe)}else console.warn("No audio data available for question"),await jl(2e3),ie();else ie()},[ut,ie,si]),on=d.useCallback(async()=>{try{await Lt(re)}catch(M){if((M==null?void 0:M.code)==="ALREADY_RECORDING"){console.warn("startRecording called while already recording — ignoring duplicate call.");return}console.error("Failed to start recording:",M),ie()}},[Lt,ie,re]),ai=d.useCallback(async()=>{if(O){console.warn("Audio processing already in progress, ignoring duplicate call");return}de(!0);try{const M=!Lr&&Qt?Qt:await Nr();await Ir(M)}catch(M){console.error("STT processing failed:",M),!$e.current&&!ft.current&&($e.current=!0,ie())}finally{de(!1)}},[O,Lr,Qt,Nr,Ir,ie,i,Dr]),ci=d.useCallback(()=>{O||ie()},[O,ie]),an=d.useCallback(async M=>{var U,Qe;Ft(),Fr(),c&&"current"in c&&((U=c.current)==null||U.stopCamera()),await((Qe=p.current)==null?void 0:Qe.exitFullScreenIntentionally());try{await l.exitInterview(i)}catch(ln){console.error("API call failed:",ln)}finally{M==null||M(),si(),sessionStorage.removeItem(fn)}},[i,Ft,l]),li=()=>{const{phase:M}=Ie;switch(M){case P.IDLE:return o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Ready to start the Interview?"}),o.jsx("p",{className:"iw-max-w-xl iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:`You will be asked a series of behavioral and technical questions. For each one you'll get a short thinking period, then a timed recording window. We'll transcribe your response so you can review and edit it before submitting. Click "Start Interview" when you're ready.`}),o.jsx(nn,{onClick:Mt,className:"iw-mt-2 iw-w-40",children:"Start Interview"})]});case P.FETCHING_QUESTION:return Pr?o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-red-600 iw-mb-1",children:"Failed to load the next question"}),o.jsx("p",{className:"iw-max-w-md iw-text-gray-500 iw-text-sm iw-leading-[21px]",children:Pr.message||"Please check your network connection and try again."}),o.jsx(nn,{onClick:()=>Jt(),className:"iw-mt-4 iw-w-40",children:"Retry"})]}):o.jsx(Z1,{});case P.READING_QUESTION:return o.jsx(e2,{ttsError:ht});case P.THINKING:return o.jsx(t2,{state:Ie,thinkingTime:q,nextPhase:ie});case P.ANSWERING:return o.jsx(J1,{state:Ie,answeringTime:re,nextPhase:ci,sttError:Mr,disableStopButton:O});case P.TRANSCRIBING:return o.jsx(r2,{sttError:Mr,editingDuration:$});case P.EDITING:case P.SUBMITTING:return null;case P.COMPLETED:return null;default:return null}},di=o.jsxs(o.Fragment,{children:[o.jsx(Y1,{title:e,brandName:t,brandLogo:r,totalDuration:C,elapsedTime:Ie.totalTimeElapsed,onExit:()=>an()}),o.jsx(q1,{brandName:t,brandLogo:r,currentQuestion:y,state:Ie,phase:Ie.phase,className:a,interviewId:i,interview_duration:C,videoFeedRef:c,lastSubmittedAnswer:A,onNextPhase:Ie.phase===P.ANSWERING?ci:ie,answerText:m,onAnswerChange:M=>{const U=M.target.value;v(U),L.current=U},editingTime:$,answeringTime:re,disableSubmitButton:Ie.phase===P.ANSWERING&&O,children:li()})]});return o.jsx(o.Fragment,{children:g!=null&&g.enabled?o.jsx(W1,{ref:p,onDisqualify:()=>an(s),isCompleted:((cn=j==null?void 0:j.current)==null?void 0:cn.is_interview_done)??!1,children:di}):di})},qs=({title:e,brandName:t,brandLogo:r,interviewId:i,onInterviewEnd:n,onInterviewDisqualify:s,className:a=""})=>{const[c,l]=d.useState(!1),[h,u]=d.useState(!0),[f,w]=d.useState(!1),{proctoring:g}=pn(),p=d.useRef(null),y=d.useRef(null),b=(g==null?void 0:g.gazeAnalysisEnabled)===!0,m=()=>{l(!0),u(!1)};return d.useEffect(()=>{if(c&&f&&y.current&&b)try{y.current.setReference()}finally{w(!1)}},[c,f,b]),c?o.jsx("div",{className:"interview-widget-container",children:o.jsx("div",{ref:p,className:`iw-flex iw-flex-col iw-rounded-xl iw-shadow-lg iw-overflow-hidden iw-h-[calc(100vh-1rem)] ${a}`,children:o.jsx("div",{className:"iw-h-[calc(100vh-1rem)] iw-flex iw-flex-col iw-justify-between gap-1",children:o.jsx(i2,{interviewTitle:e??"Interview",brandName:t??"Novara",brandLogo:r,interviewId:i,className:a,onComplete:n??(()=>{}),onDisqualify:s,videoFeedRef:y})})})}):o.jsxs("div",{className:"interview-widget-container",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2 iw-mx-auto iw-p-2 iw-max-w-[1800px]",children:[o.jsx(yn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx(A1,{isOpen:h,gazeEnabled:b,onStart:m,onRequestCalibration:()=>w(!0),videoFeedRef:y,interviewId:i})]})};typeof window<"u"&&(window.InterviewWidget={InterviewWidget:qs,InterviewWidgetProvider:Rs}),be.InterviewWidget=qs,be.InterviewWidgetProvider=Rs,be.default=qs,Object.defineProperties(be,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});