@nuralogix.ai/web-measurement-embedded-app 0.1.0-beta.5 → 0.1.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/app.mjs CHANGED
@@ -985,4 +985,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
985
985
  A ${j},${j} 0 0 1 ${W},${J}
986
986
  L ${W},${Z}
987
987
  A ${j},${j} 0 0 1 ${ut},${m}
988
- `;this.#r.setAttribute("d",Q.trim()),this.#C.children[0].setAttribute("d",Q.trim()),this.#C.children[1].children[1].setAttribute("d",Q.trim());const V=this.#r.getTotalLength();this.#d.setAttribute("stroke-dasharray",V.toFixed(0)),this.#d.setAttribute("stroke-dashoffset",V.toFixed(0));const z=Math.max(3,Math.round(V/30)),X=V/z,K=X*.5,ht=X*.5;this.#f.setAttribute("d",Q.trim()),this.#f.setAttribute("stroke-dasharray",`${K} ${ht}`),this.#s&&this.#f.firstChild.setAttribute("to",`-${V.toFixed(0)}`),this.#o.up.setAttribute("transform",`translate(${A},${m-6}) rotate(-90)`),this.#o.down.setAttribute("transform",`translate(${A},${J+j+6}) rotate(90)`),this.#o.left.setAttribute("transform",`translate(${N-3},${M}) rotate(180)`),this.#o.right.setAttribute("transform",`translate(${A+j+3},${M}) rotate(0)`);const T=30;this.#D(this.#l.topLeft,N+j,Z,j,[-62.5,-72.5],T,200),this.#D(this.#l.topRight,N+j,Z,j,[-27.5,-17.5],T,67),this.#D(this.#l.bottomRight,N+j,J,j,[22.5,17.5],T,-67),this.#D(this.#l.bottomLeft,N+j,J,j,[62.5,72.5],T,-200);const U=30,P=j/2,gt=2*Math.sqrt(Math.max(0,j*j-P*P))-U*2;this.#n.setAttribute("x",`${N+j-gt/2}`),this.#n.setAttribute("y",`${J+P}`),this.#n.setAttribute("width",`${gt}`),this.#n.setAttribute("height","100");const xt=this.#n.firstChild;for(xt.style.width=gt+"px";this.#c.firstChild;)this.#c.removeChild(this.#c.firstChild);const Nt=Math.floor(V/5),ue=2;for(let Xt=0;Xt<Nt;Xt++){const Xn=Xt/Nt*V,pn=this.#r.getPointAtLength(Xn),Ll=pn.x-A,oa=pn.y-M,Rn=Math.sqrt(Ll*Ll+oa*oa),sa=Ll/Rn,ca=oa/Rn,zo=pn.x-sa*ue,$i=pn.y-ca*ue,fr=pn.x+sa*ue,hr=pn.y+ca*ue,da=this.#nt(zo,fr,$i,hr,Xn);da.style.display="none",this.#c.appendChild(da)}}setText(n,a){const u=this.#n.firstChild;switch(u.innerHTML=n,a){case"TILT_RIGHT":this.#n.setAttribute("class","anim-tilt-right");break;case"TILT_LEFT":this.#n.setAttribute("class","anim-tilt-left");break;case"TOO_CLOSE":this.#n.setAttribute("class","anim-move-back");break;case"TOO_FAR":this.#n.setAttribute("class","anim-move-closer");break;case"LEFT":this.#n.setAttribute("class","anim-turn-left");break;case"RIGHT":this.#n.setAttribute("class","anim-turn-right");break;case"UP":this.#n.setAttribute("class","anim-turn-up");break;case"DOWN":this.#n.setAttribute("class","anim-turn-down");break;case"CENTER_FACE":this.#n.setAttribute("class","anim-center-face");break;case"DEFAULT":this.#n.setAttribute("class","anim-glow");break;default:this.#n.setAttribute("class","");break}}draw(n,a){if(this.#s)return;const{annotations:u,starRating:c,percentCompleted:d}=n;if(a){const{distanceConstraint:f,directionConstraint:h,rollConstraint:g,centerConstraint:m}=a;this.#q(u,f),m?this.#m.setAttribute("visibility","hidden"):(this.#m.setAttribute("visibility","visible"),this.#Z()),this.#Y(h,g)}else this.#q(u,this.#W(u)),this.#m.setAttribute("visibility","hidden"),this.#Y("OK","OK");if(this.#d.setAttribute("stroke",this.#a),Array.from(this.#c.children).forEach(f=>{f.setAttribute("stroke",this.#a)}),this.#r.setAttribute("stroke",this.#a),d>0){this.#r.setAttribute("stroke","none");const f=this.#r.getTotalLength(),h=d/100*f;Array.from(this.#c.children).forEach(g=>{const m=parseFloat(g.getAttribute("data-position"));g.style.display=m<h?"none":"block"}),this.#d.setAttribute("d",this.#r.getAttribute("d")),this.#d.setAttribute("stroke-dashoffset",(f-h).toString()),this.#bt(h,d)}for(let f=0;f<5;f+=1)this.#y.children[f].children[0].setAttribute("fill",c>=f?this.#v:"none"),this.#y.children[f].children[0].setAttribute("stroke",c>=f?this.#v:this.#h)}setMaskVisibility(n){this.#e.style.display=n?"block":"none"}setLoadingState(n){this.#s=n,this.#r.setAttribute("fill",this.#s?"white":"none"),this.#r.setAttribute("opacity",this.#s?"0.7":"1.0"),this.#y.setAttribute("visibility",this.#s?"hidden":"visible"),this.#d.setAttribute("visibility",this.#s?"hidden":"visible"),this.#V(this.#s),this.#s&&(this.#a="#39cb3a",this.#m.setAttribute("visibility","hidden"),this.#b.setAttribute("fill",this.#a),this.#b.setAttribute("visibility","hidden"),this.#p.setAttribute("visibility","hidden"),this.#E.setAttribute("visibility","hidden"),this.#A.textContent="")}setIntermediateResults(n){if(!this.#s){let a="";Object.keys(n).includes("HR_BPM")&&(a=parseInt(n.HR_BPM.value,10).toString()),this.#E.setAttribute("visibility",a?"visible":"hidden"),this.#A.textContent=a}}}var Ae=(i=>(i.Idle="idle",i.Starting="starting",i.InProgress="inProgress",i.Analyzing="analyzing",i.Complete="complete",i.Resetting="resetting",i))(Ae||{});const yb=1280,vb=720,BE=i=>typeof i.age!="number"||i.age<13||i.age>120?{code:"INVALID_AGE",message:"Age must be a number between 13 and 120."}:typeof i.height!="number"||i.height<120||i.height>220?{code:"INVALID_HEIGHT",message:"Height must be a number between 120 and 220."}:typeof i.weight!="number"||i.weight<30||i.weight>300?{code:"INVALID_WEIGHT",message:"Weight must be a number between 30 and 300."}:typeof i.sex!="number"||i.sex<1||i.sex>3?{code:"INVALID_SEX",message:"Sex must be a number between 1 and 3."}:typeof i.diabetes!="number"||i.diabetes<4||i.diabetes>6?{code:"INVALID_DIABETES",message:"Diabetes must be a number between 4 and 6."}:typeof i.bloodPressureMedication!="number"||i.bloodPressureMedication!==0&&i.bloodPressureMedication!==1?{code:"INVALID_BLOOD_PRESSURE_MEDICATION",message:"Blood Pressure Medication must be either 0 or 1."}:typeof i.smoking!="number"||i.smoking!==0&&i.smoking!==1?{code:"INVALID_SMOKING",message:"Smoking must be either 0 or 1."}:{code:"VALID",message:"Profile is valid."},jE=(i,n)=>{if(!na.config.cancelWhenLowSNR)return!1;const a=i===-100,u=i===-90,c=i===-91,d=c||u,f=30,h=5,g=15,m=2;let b=0;const v=n*h,S=v<=g,A=v==g,M=v===f;a&&!S&&(b+=1);const j=!S&&d,N=A&&(a||c),W=b>=m;return j||N||W||M&&a},UE=(i,n)=>{const a=n.checkConstraints(i.face,i.annotations),{distanceConstraint:u,directionConstraint:c,rollConstraint:d,centerConstraint:f,movementConstraint:h}=a;let g="";return u!=="OK"?g=u==="TOO_CLOSE"?Ft.t("MOVE_BACK"):Ft.t("MOVE_CLOSER"):c!=="OK"?c==="LEFT"?g=Ft.t("TURN_LEFT"):c==="RIGHT"?g=Ft.t("TURN_RIGHT"):c==="UP"?g=Ft.t("LOOK_UP"):c==="DOWN"&&(g=Ft.t("LOOK_DOWN")):d!=="OK"?g=d==="TILT_LEFT"?Ft.t("TILT_YOUR_FACE_LEFT"):Ft.t("TILT_YOUR_FACE_RIGHT"):f?h==="TOO_MUCH_MOVEMENT"&&(g=Ft.t("HOLD_STILL")):g=Ft.t("CENTER_YOUR_FACE"),{message:g,constraints:a}},IE=(i,n,a,u)=>{if(!n)return{message:Ft.t("FACE_NOT_DETECTED"),constraints:null};if(a){const{message:c,constraints:d}=UE(i,u);return{message:c,constraints:d}}return{message:"",constraints:null}},Sb=(i,n,a)=>{let u="",c="",d="",f=0,h=!1;const g=m=>{const b=m||"";b!==u&&(i.setText(b),u=b),c=b,a(b),h=!0};return{feed:m=>{if(m===c){d=m,f=0,h||(a(c),h=!0);return}m===d?f+=1:(d=m,f=1),f>=n&&(g(d),f=0)},clear:()=>{d="",f=0,c!==""?g(""):u!==""&&(i.setText(""),u="",a(""),h=!0),c===""&&(h=!1)}}},$E=i=>({minimumFps:14,boxWidth_pct:100,boxHeight_pct:100,checkBackLight:!1,checkCameraMovement:!1,checkCentered:!1,checkDistance:i,checkEyebrowMovement:!1,checkFaceDirection:i,checkLighting:!1,checkMinFps:!0,checkMovement:i}),Eb=5,Tb={starFillColor:"#39cb3a",starBorderColor:"#d1d1d1",pulseRateColor:"red",pulseRateLabelColor:"#ffffff",backgroundColor:"#ffffff",countDownLabelColor:"#000000",faceNotCenteredColor:"#fc6a0f",diameter:.8,topMargin:.06,bottomMargin:.02,shouldFlipHorizontally:!0},{ASSETS_NOT_DOWNLOADED:HE}=he,{SEX_ASSIGNED_MALE_AT_BIRTH:GE,SMOKER_FALSE:FE,BLOOD_PRESSURE_MEDICATION_FALSE:WE,DIABETES_NONE:qE}=_E,YE=async(i,n,a)=>{const{checkConstraints:u}=na.config,c={mediaElement:i,assetFolder:n,apiUrl:a,mirrorVideo:!0,displayMediaStream:!0,metrics:!1,logger:{extractionLibWasm:!1,mediaPipe:!1,beforeRESTCall:!1,afterRESTCall:!1,sdk:!1,extractionWorker:!1,faceTrackerWorkers:!1},constraintOverrides:$E(u)};return await zE.init(c)};let pe=new bb(Tb),jt=null,Od=0,wd=[],Rb=0,cr;const St=ta({assetFolder:"/assets",appPath:".",apiUrl:void 0,faceTrackerState:HE,constraintsSatisfiedStable:!1,percentDownloaded:0,measurementPhase:Ae.Idle,shouldDestroy:!1,token:"",refreshToken:"",studyId:"",isInitialized:!1,results:[],measurementError:null,profile:{age:0,height:0,weight:0,sex:GE,smoking:FE,bloodPressureMedication:WE,diabetes:qE,bypassProfile:!0},configureSdk:(i,n,a,u)=>{St.token=i,St.refreshToken=n,St.studyId=a,St.appPath=u},init:async i=>{jt=await YE(i,`${St.appPath}${St.assetFolder}`,St.apiUrl),jt.on.bytesDownloaded=(n,a,u,c)=>{const d=wd.find(h=>h.name===u);if(d){const h=n-d.bytes;d.bytes+=h,Od+=h}else Od+=n,Rb+=a,wd.push({name:u,bytes:n});const f=wd.length===8?Rb:4337298;St.percentDownloaded=Math.min(100,Math.trunc(Od*100/f))},jt.on.error=(n,a)=>{if(n===tr.COLLECTOR){const{frameNumber:u,error:c}=a;Cl({code:Pe.COLLECTOR,message:`Collector error on frame ${u}: ${c}`}),Jt.addLog(fe.COLLECTOR_ERROR,ae.collector,a)}if(n===tr.WEB_SOCKET){const u=a;if(u.type==="DISCONNECTED"){const{code:c,reason:d,wasClean:f}=u;Cl({code:Pe.WEBSOCKET_DISCONNECTED,message:`WebSocket disconnected: code=${c}, reason=${d}, wasClean=${f}`})}else if(u.type==="ERROR"){const{event:c}=u}}},jt.on.beforeRESTCall=(n,a)=>{},jt.on.afterRESTCall=(n,a,u,c)=>{},jt.on.faceTrackerStateChanged=async n=>{St.setTrackerState(n),n===he.LOADED&&(console.log(St.getVersion()),St.shouldDestroy&&(await jt?.destroy(),St.shouldDestroy=!1)),n===he.READY&&(await St.startTracking(),pe.setLoadingState(!1))},jt.on.resultsReceived=async n=>{St.results.push(n);const{points:a,resultsOrder:u,finalChunkNumber:c,errors:d}=n,f=Object.keys(a);for(const h of f){const{notes:g}=a[h];if(g.forEach(m=>{}),h==="SNR"){const m=Number(a.SNR.value);if(jE(m,u)){await St.reset(),Jt.addLog(fe.MEASUREMENT_LOW_SNR,ae.measurement,{snr:m,resultsOrder:u}),Cl({code:Pe.MEASUREMENT_LOW_SNR,message:""});break}}}switch(d.code){case"OK":break;case Ed.WORKER_ERROR:St.measurementError=Pe.WORKER_ERROR,Jt.addLog(fe.WORKER_ERROR,ae.measurement,{});break;case Ed.ANALYSIS_ERROR:Jt.addLog(fe.ANALYSIS_ERROR,ae.measurement,{});break;case Ed.LIVENESS_ERROR:Jt.addLog(fe.LIVENESS_ERROR,ae.measurement,{});break}u<c&&(pe.setIntermediateResults(a),Xe(mn.INTERMEDIATE_RESULTS)),u===c&&(St.measurementPhase=Ae.Complete,await jt?.disconnect(),Xe(mn.RESULTS_RECEIVED),Xe(mn.MEASUREMENT_COMPLETED))},jt.on.constraintsUpdated=(n,a)=>{},jt.on.chunkSent=n=>{Jt.addLog(fe.CHUNK_SENT,ae.measurement,n);const{chunkNumber:a,numberChunks:u}=n;a===u-1&&St.measurementPhase===Ae.InProgress&&(St.measurementPhase=Ae.Analyzing,pe.setLoadingState(!0),pe.setMaskVisibility(!1))},jt.on.facialLandmarksUpdated=n=>{const a=n.percentCompleted===0,{checkConstraints:u}=na.config;if(a){const{message:c,constraints:d}=IE(n,n.face.detected,u,pe);cr.feed(c),d?pe.draw(n,d):pe.draw(n)}else cr.clear(),pe.draw(n)},jt.on.mediaElementResize=n=>{const{detail:a}=n;pe.resize(a),Jt.addLog(fe.MEDIA_ELEMENT_RESIZED,ae.measurement,n.detail)},St.isInitialized=!0},setTrackerState:i=>{St.faceTrackerState=i},setApiUrl:i=>{St.apiUrl=i},getVersion:()=>jt?.getVersion(),reset:async()=>{if(!jt)return!1;St.measurementPhase=Ae.Resetting,St.constraintsSatisfiedStable=!1,cr.clear();const i=await jt.reset();return St.measurementPhase=Ae.Idle,i},prepare:async()=>{await jt?.prepare(St.token,St.refreshToken,St.studyId)?(Xe(mn.MEASUREMENT_PREPARED),await jt?.downloadAssets()&&Xe(mn.ASSETS_DOWNLOADED)):(Cl({code:Pe.MEASUREMENT_PREPARE_FAILED,message:"Failed to prepare measurement. Invalid or missing credentials (token, refreshToken, or studyId)."}),Jt.addLog(fe.MEASUREMENT_PREPARE_FAILED,ae.measurement,{hasToken:!!St.token,hasRefreshToken:!!St.refreshToken,hasStudyId:!!St.studyId}))},setMediaStream:async i=>{jt&&(await jt.setMediaStream(i),jt.setObjectFit(pe.objectFit)&&jt.loadMask(pe.getSvg()))},startTracking:async()=>{jt&&(await jt.setConstraintsConfig(!0),await jt.startTracking())},startMeasurement:async i=>{if(jt){if(St.measurementPhase=Ae.Starting,St.results=[],!St.profile.bypassProfile){const{bypassProfile:n,...a}=St.profile;jt.setDemographics(a)}await jt.startMeasurement(!1),St.measurementPhase=Ae.InProgress,Xe(mn.MEASUREMENT_STARTED)}},destroy:async()=>{const{LOADED:i,READY:n}=he;St.faceTrackerState===i||St.faceTrackerState===n?await jt?.destroy():St.shouldDestroy=!0,cr.clear()},setProfile:i=>{if(i.bypassProfile)Jt.addLog(fe.PROFILE_BYPASS_ENABLED,ae.measurement),_l(new CustomEvent(xl.ERROR,{detail:{code:Pe.PROFILE_INFO_NOT_SET,message:""}}));else{const n=BE(i);if(n.code!=="VALID"){Jt.addLog(fe.PROFILE_INVALID,ae.measurement,{validation:n}),_l(new CustomEvent(xl.ERROR,{detail:n}));return}St.profile=i,Jt.addLog(fe.PROFILE_SET,ae.measurement,{profile:i})}},setMaskVisibility:i=>{pe.setMaskVisibility(i)},setMaskLoadingState:i=>{pe.setLoadingState(i)},reinitMask:()=>{pe=new bb(Tb),cr=Sb(pe,Eb,i=>{St.constraintsSatisfiedStable=i===""}),jt&&jt.setObjectFit(pe.objectFit)&&jt.loadMask(pe.getSvg()),pe.setMaskVisibility(!1)}});cr=Sb(pe,Eb,i=>{St.constraintsSatisfiedStable=i===""});const ki=ta({theme:"light",language:"en",externalAction:null,setTheme:i=>{ki.theme=i},setLanguage:i=>{ki.language=i,Ft.changeLanguage(i)},setExternalAction:i=>{ki.externalAction=i},setMountElement:i=>{const n=async a=>{ki.externalAction=a.detail};i.addEventListener("measurement-embedded-app-action",n),U1(i)}}),VE={general:ki,camera:xe,measurement:St,logger:Jt,config:na},ct=ta(VE);process.env.IS_DEVELOPMENT&&i1(ct,{name:"WMEA",enabled:!0});const KE=(i,n,a,u)=>{const c=[a,{code:n,...u||{}}];if(i?.services?.logger?.forward)return i.services.logger.forward(c,"warn","react-i18next::",!0);ia(c[0])&&(c[0]=`react-i18next:: ${c[0]}`),i?.services?.logger?.warn?i.services.logger.warn(...c):console?.warn&&console.warn(...c)},xb={},kd=(i,n,a,u)=>{ia(a)&&xb[a]||(ia(a)&&(xb[a]=new Date),KE(i,n,a,u))},_b=(i,n)=>()=>{if(i.isInitialized)n();else{const a=()=>{setTimeout(()=>{i.off("initialized",a)},0),n()};i.on("initialized",a)}},Dd=(i,n,a)=>{i.loadNamespaces(n,_b(i,a))},Cb=(i,n,a,u)=>{if(ia(a)&&(a=[a]),i.options.preload&&i.options.preload.indexOf(n)>-1)return Dd(i,a,u);a.forEach(c=>{i.options.ns.indexOf(c)<0&&i.options.ns.push(c)}),i.loadLanguages(n,_b(i,u))},PE=(i,n,a={})=>!n.languages||!n.languages.length?(kd(n,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:n.languages}),!0):n.hasLoadedNamespace(i,{lng:a.lng,precheck:(u,c)=>{if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&u.services.backendConnector.backend&&u.isLanguageChangingTo&&!c(u.isLanguageChangingTo,i))return!1}}),ia=i=>typeof i=="string",XE=i=>typeof i=="object"&&i!==null,QE=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ZE={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"\xA9","&#169;":"\xA9","&reg;":"\xAE","&#174;":"\xAE","&hellip;":"\u2026","&#8230;":"\u2026","&#x2F;":"/","&#47;":"/"},JE=i=>ZE[i],tT=i=>i.replace(QE,JE);let Ld={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:tT};const eT=(i={})=>{Ld={...Ld,...i}},nT=()=>Ld;let Ab;const lT=i=>{Ab=i},aT=()=>Ab,rT={type:"3rdParty",init(i){eT(i.options.react),lT(i)}},iT=ft.createContext();class uT{constructor(){this.usedNamespaces={}}addUsedNamespaces(n){n.forEach(a=>{this.usedNamespaces[a]||(this.usedNamespaces[a]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const oT=(i,n)=>{const a=ft.useRef();return ft.useEffect(()=>{a.current=i},[i,n]),a.current},Ob=(i,n,a,u)=>i.getFixedT(n,a,u),sT=(i,n,a,u)=>ft.useCallback(Ob(i,n,a,u),[i,n,a,u]),Ol=(i,n={})=>{const{i18n:a}=n,{i18n:u,defaultNS:c}=ft.useContext(iT)||{},d=a||u||aT();if(d&&!d.reportNamespaces&&(d.reportNamespaces=new uT),!d){kd(d,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const J=(q,k)=>ia(k)?k:XE(k)&&ia(k.defaultValue)?k.defaultValue:Array.isArray(q)?q[q.length-1]:q,ut=[J,{},!1];return ut.t=J,ut.i18n={},ut.ready=!1,ut}d.options.react?.wait&&kd(d,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const f={...nT(),...d.options.react,...n},{useSuspense:h,keyPrefix:g}=f;let m=c||d.options?.defaultNS;m=ia(m)?[m]:m||["translation"],d.reportNamespaces.addUsedNamespaces?.(m);const b=(d.isInitialized||d.initializedStoreOnce)&&m.every(J=>PE(J,d,f)),v=sT(d,n.lng||null,f.nsMode==="fallback"?m:m[0],g),S=()=>v,A=()=>Ob(d,n.lng||null,f.nsMode==="fallback"?m:m[0],g),[M,j]=ft.useState(S);let N=m.join();n.lng&&(N=`${n.lng}${N}`);const W=oT(N),F=ft.useRef(!0);ft.useEffect(()=>{const{bindI18n:J,bindI18nStore:ut}=f;F.current=!0,!b&&!h&&(n.lng?Cb(d,n.lng,m,()=>{F.current&&j(A)}):Dd(d,m,()=>{F.current&&j(A)})),b&&W&&W!==N&&F.current&&j(A);const q=()=>{F.current&&j(A)};return J&&d?.on(J,q),ut&&d?.store.on(ut,q),()=>{F.current=!1,d&&J&&J?.split(" ").forEach(k=>d.off(k,q)),ut&&d&&ut.split(" ").forEach(k=>d.store.off(k,q))}},[d,N]),ft.useEffect(()=>{F.current&&b&&j(S)},[d,g,b]);const Z=[M,d,b];if(Z.t=M,Z.i18n=d,Z.ready=b,b||!b&&!h)return Z;throw new Promise(J=>{n.lng?Cb(d,n.lng,m,()=>J()):Dd(d,m,()=>J())})},cT=()=>{const{t:i}=Ol(),{mediaDevices:n,deviceId:a}=ee(ct.camera),u=n.map(d=>({label:d.device.label,value:d.device.deviceId})),c=d=>ct.camera.updateDeviceId(d);return yt.jsx(dS,{placeholder:i("SELECT_CAMERA"),width:"350px",value:a,options:u,onChange:c})},wb=()=>{const[i,n]=ft.useState(()=>window.matchMedia("(max-width: 768px)").matches);return ft.useEffect(()=>{const a=window.matchMedia("(max-width: 768px)"),u=c=>{n(c.matches)};return a.addEventListener("change",u),()=>{a.removeEventListener("change",u)}},[]),i};function Di(i){"@babel/helpers - typeof";return Di=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Di(i)}function kb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Db(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?kb(Object(a),!0).forEach(function(u){dT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):kb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function dT(i,n,a){return(n=fT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function fT(i){var n=hT(i,"string");return Di(n)=="symbol"?n:n+""}function hT(i,n){if(Di(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Di(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function Nd(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var i,n,a=typeof Symbol=="function"?Symbol:{},u=a.iterator||"@@iterator",c=a.toStringTag||"@@toStringTag";function d(A,M,j,N){var W=M&&M.prototype instanceof h?M:h,F=Object.create(W.prototype);return tn(F,"_invoke",(function(Z,J,ut){var q,k,Y,pt=0,Rt=ut||[],et=!1,tt={p:0,n:0,v:i,a:At,f:At.bind(i,4),d:function(Q,V){return q=Q,k=0,Y=i,tt.n=V,f}};function At(Q,V){for(k=Q,Y=V,n=0;!et&&pt&&!C&&n<Rt.length;n++){var C,z=Rt[n],X=tt.p,K=z[2];Q>3?(C=K===V)&&(Y=z[(k=z[4])?5:(k=3,3)],z[4]=z[5]=i):z[0]<=X&&((C=Q<2&&X<z[1])?(k=0,tt.v=V,tt.n=z[1]):X<K&&(C=Q<3||z[0]>V||V>K)&&(z[4]=Q,z[5]=V,tt.n=K,k=0))}if(C||Q>1)return f;throw et=!0,V}return function(Q,V,C){if(pt>1)throw TypeError("Generator is already running");for(et&&V===1&&At(V,C),k=V,Y=C;(n=k<2?i:Y)||!et;){q||(k?k<3?(k>1&&(tt.n=-1),At(k,Y)):tt.n=Y:tt.v=Y);try{if(pt=2,q){if(k||(Q="next"),n=q[Q]){if(!(n=n.call(q,Y)))throw TypeError("iterator result is not an object");if(!n.done)return n;Y=n.value,k<2&&(k=0)}else k===1&&(n=q.return)&&n.call(q),k<2&&(Y=TypeError("The iterator does not provide a '"+Q+"' method"),k=1);q=i}else if((n=(et=tt.n<0)?Y:Z.call(J,tt))!==f)break}catch(z){q=i,k=1,Y=z}finally{pt=1}}return{value:n,done:et}}})(A,j,N),!0),F}var f={};function h(){}function g(){}function m(){}n=Object.getPrototypeOf;var b=[][u]?n(n([][u]())):(tn(n={},u,function(){return this}),n),v=m.prototype=h.prototype=Object.create(b);function S(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,tn(A,c,"GeneratorFunction")),A.prototype=Object.create(v),A}return g.prototype=m,tn(v,"constructor",m),tn(m,"constructor",g),g.displayName="GeneratorFunction",tn(m,c,"GeneratorFunction"),tn(v),tn(v,c,"Generator"),tn(v,u,function(){return this}),tn(v,"toString",function(){return"[object Generator]"}),(Nd=function(){return{w:d,m:S}})()}function tn(i,n,a,u){var c=Object.defineProperty;try{c({},"",{})}catch{c=0}tn=function(d,f,h,g){function m(b,v){tn(d,b,function(S){return this._invoke(b,v,S)})}f?c?c(d,f,{value:h,enumerable:!g,configurable:!g,writable:!g}):d[f]=h:(m("next",0),m("throw",1),m("return",2))},tn(i,n,a,u)}function Lb(i,n,a,u,c,d,f){try{var h=i[d](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(u,c)}function mT(i){return function(){var n=this,a=arguments;return new Promise(function(u,c){var d=i.apply(n,a);function f(g){Lb(d,u,c,f,h,"next",g)}function h(g){Lb(d,u,c,f,h,"throw",g)}f(void 0)})}}var pT=function(){var i=ee(ct.camera),n=ee(ct.config),a=i.isPermissionGranted,u=i.enumerationPhase,c=i.mediaDevices,d=Ol(),f=d.t,h=wb();ft.useEffect(function(){mT(Nd().m(function S(){return Nd().w(function(A){for(;;)switch(A.n){case 0:if(!(a&&u===Rl.Idle)){A.n=1;break}return A.n=1,ct.camera.listCameras();case 1:return A.a(2)}},S)}))()},[a,u]);var g=u===Rl.Enumerating,m=u===Rl.Done,b=c.length>0,v=null;return g?v=yt.jsx(ci,{small:!0}):m&&!b?v=yt.jsx(ug,{variant:"error",children:f("NO_DEVICES_FOUND")}):!n.config.cameraAutoStart&&!h&&(v=yt.jsx(cT,{})),v?yt.jsx("div",Db(Db({},{className:"display-x78zum5 justifyContent-xl56j7k alignItems-x6s0dn4 width-x65xoit margin-x1bpp3o7 minHeight-xe8gcm","data-style-src":"CameraDevices/index.tsx:12"}),{},{children:v})):null};const wl=()=>{const{measurementPhase:i}=ee(ct.measurement);return{measurementPhase:i,isIdle:i===Ae.Idle,isStarting:i===Ae.Starting,isInProgress:i===Ae.InProgress,isAnalyzing:i===Ae.Analyzing,isComplete:i===Ae.Complete,isResetting:i===Ae.Resetting}},Nb=()=>{const i=ee(ct.measurement),n=ee(ct.camera),{isIdle:a}=wl(),{READY:u}=he;return i.faceTrackerState===u&&i.constraintsSatisfiedStable&&a&&!!n.deviceId&&n.isOpen},gT=()=>{const{config:i}=ee(ct.config),{isPermissionGranted:n,deviceId:a,isOpen:u}=ee(ct.camera),{faceTrackerState:c}=ee(ct.measurement),d=Nb();ft.useEffect(()=>{i.cameraAutoStart&&n&&a&&!u&&(async()=>await ct.camera.start(yb,vb)?(Xe(mn.CAMERA_STARTED),ct.measurement.setMaskVisibility(!0)):Jt.addLog(fe.CAMERA_START_FAILED,ae.camera))()},[i.cameraAutoStart,n,a,u]),ft.useEffect(()=>{i.measurementAutoStart&&d&&(async()=>await ct.measurement.startMeasurement())()},[i.measurementAutoStart,c,d])},Mb=()=>{ct.camera.isOpen&&(ct.camera.stop(),ct.measurement.setMaskVisibility(!1))},bT=async()=>{Mb(),ct.measurement.measurementPhase=Ae.Resetting;try{await ct.measurement.reset()&&ct.measurement.reinitMask()}catch(i){Jt.addLog(fe.CAMERA_STOP_RESET_FAILED,ae.camera,{error:i.message})}},yT=async()=>{const i=await ct.camera.start(yb,vb);return i?(Xe(mn.CAMERA_STARTED),ct.measurement.setMaskVisibility(!0)):Jt.addLog(fe.CAMERA_START_FAILED,ae.camera),i},vT=()=>{const{isAnalyzing:i}=wl(),{isOpen:n}=ee(ct.camera);ft.useEffect(()=>{i&&n&&(Mb(),Jt.addLog(fe.CAMERA_STOPPED_AT_ANALYZING_START,ae.camera))},[i,n])},ST=()=>{const[i,n]=ft.useState(!document.hidden),a=ft.useCallback(()=>{n(!document.hidden)},[]);return ft.useEffect(()=>(document.addEventListener("visibilitychange",a),()=>{document.removeEventListener("visibilitychange",a)}),[a]),ft.useEffect(()=>{Xe(mn.PAGE_VISIBILITY_CHANGE,{isVisible:i})},[i]),i},ET=()=>{const i=ST(),{isInProgress:n}=wl();ft.useEffect(()=>{!i&&n&&(Jt.addLog(fe.PAGE_NOT_VISIBLE,ae.app),Cl({code:Pe.PAGE_NOT_VISIBLE,message:""}))},[i,n])},TT=()=>{const{isOpen:i,cameraStream:n}=ee(ct.camera);ft.useEffect(()=>{(async()=>i&&n&&await ct.measurement.setMediaStream(n))()},[i,n])},RT=()=>{const{isInitialized:i}=ee(ct.measurement);ft.useEffect(()=>{(async()=>i&&await ct.measurement.prepare())()},[i])},xT=()=>{const{isComplete:i}=wl();ft.useEffect(()=>{if(!i)return;const n=Kn(ct.measurement.results),a=5;n.length===a+1&&_l(new CustomEvent(xl.RESULTS,{detail:n[a]}))},[i])},_T=()=>{const{t:i}=Ol(),n=u=>{switch(u){case Pe.WORKER_ERROR:return i("ERR_WORKER_ERROR");case Pe.PROFILE_INFO_NOT_SET:return i("ERR_PROFILE_INFO_NOT_SET");default:return""}},{measurementError:a}=ee(ct.measurement);ft.useEffect(()=>{a&&(a===Pe.WORKER_ERROR&&Jt.addLog(fe.WORKER_ERROR,ae.measurement),Cl({code:a,message:n(a)}))},[a,n])},CT=()=>{gT(),vT(),ET(),TT(),RT(),_T(),xT()},AT=()=>{const{t:i}=Ol(),{deviceId:n}=ee(ct.camera),{isInProgress:a}=wl(),u=wb(),c=i(a?"STOP_MEASUREMENT":"STOP_CAMERA");return yt.jsx(ed,{disabled:!n,onClick:bT,variant:u?"link":"outline",size:"sm",children:c})},OT=()=>{const{t:i}=Ol(),n=ee(ct.camera),{isOpen:a,deviceId:u}=n;return a?yt.jsx(AT,{}):yt.jsx(ed,{disabled:!u,onClick:yT,variant:"primary",children:i("START_CAMERA")})},wT=()=>{const{t:i}=Ol(),n=ee(ct.measurement),a=Nb(),{isStarting:u}=wl(),{READY:c}=he;if(n.faceTrackerState!==c)return yt.jsx(ci,{small:!0});const d=async()=>{await ct.measurement.startMeasurement()},f=!a||u,h=i(u?"STARTING":"START_MEASUREMENT");return yt.jsx(ed,{onClick:d,variant:"primary",disabled:f,children:h})};function Li(i){"@babel/helpers - typeof";return Li=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Li(i)}function zb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function wo(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?zb(Object(a),!0).forEach(function(u){kT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):zb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function kT(i,n,a){return(n=DT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function DT(i){var n=LT(i,"string");return Li(n)=="symbol"?n:n+""}function LT(i,n){if(Li(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Li(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var NT=function(i){var n=i.showStartMeasurementButton,a=i.isFaceTrackerLoaded,u=i.deviceId,c=i.cameraAutoStart;return yt.jsxs("div",wo(wo({},{className:"display-x78zum5 flexDirection-xdt5ytf alignItems-x6s0dn4 padding-x1vy5iyh gap-xvh977a","data-style-src":"Measurement/MeasurementFooter.tsx:6"}),{},{children:[n&&yt.jsx(wT,{}),a&&u&&!c&&yt.jsx("div",wo(wo({},{className:"textAlign-x2b8uid marginTop-x1tbvfm1","data-style-src":"Measurement/MeasurementFooter.tsx:13"}),{},{children:yt.jsx(OT,{})}))]}))};function Ni(i){"@babel/helpers - typeof";return Ni=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ni(i)}function Bb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function jb(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Bb(Object(a),!0).forEach(function(u){MT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Bb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function MT(i,n,a){return(n=zT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function zT(i){var n=BT(i,"string");return Ni(n)=="symbol"?n:n+""}function BT(i,n){if(Ni(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Ni(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var jT=function(){return yt.jsx("div",jb(jb({},{className:"position-x10l6tqk inset-x10a8y8t display-x78zum5 alignItems-x6s0dn4 justifyContent-xl56j7k background-xb6wlsq zIndex-x1n327nk","data-style-src":"Measurement/ResettingOverlay.tsx:5"}),{},{children:yt.jsx(ci,{})}))};function Mi(i){"@babel/helpers - typeof";return Mi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Mi(i)}function Ub(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function ko(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Ub(Object(a),!0).forEach(function(u){UT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Ub(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function UT(i,n,a){return(n=IT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function IT(i){var n=$T(i,"string");return Mi(n)=="symbol"?n:n+""}function $T(i,n){if(Mi(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Mi(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var HT=function(){var i=Ol(),n=i.t;return yt.jsx("div",ko(ko({},{className:"position-x10l6tqk inset-x10a8y8t display-x78zum5 alignItems-x6s0dn4 justifyContent-xl56j7k background-xlu028j zIndex-x1355qak","data-style-src":"Measurement/AnalyzingOverlay.tsx:6"}),{},{children:yt.jsxs("div",ko(ko({},{className:"display-x78zum5 flexDirection-xdt5ytf alignItems-x6s0dn4 justifyContent-xl56j7k gap-x13z6uf9 padding-xtsht4i","data-style-src":"Measurement/AnalyzingOverlay.tsx:15"}),{},{children:[yt.jsx(ci,{}),yt.jsx(ug,{children:n("WAITING_FOR_RESULTS")})]}))}))};function zi(i){"@babel/helpers - typeof";return zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},zi(i)}function Ib(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function $b(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Ib(Object(a),!0).forEach(function(u){GT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Ib(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function GT(i,n,a){return(n=FT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function FT(i){var n=WT(i,"string");return zi(n)=="symbol"?n:n+""}function WT(i,n){if(zi(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(zi(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var qT=function(){return yt.jsx("div",$b($b({},{className:"display-x78zum5 justifyContent-xl56j7k marginTop-x1hpjnmm","data-style-src":"Measurement/TrackerSpinner.tsx:5"}),{},{children:yt.jsx(ci,{})}))};function Bi(i){"@babel/helpers - typeof";return Bi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Bi(i)}function Hb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function kl(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Hb(Object(a),!0).forEach(function(u){YT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Hb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function YT(i,n,a){return(n=VT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function VT(i){var n=KT(i,"string");return Bi(n)=="symbol"?n:n+""}function KT(i,n){if(Bi(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Bi(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function Md(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var i,n,a=typeof Symbol=="function"?Symbol:{},u=a.iterator||"@@iterator",c=a.toStringTag||"@@toStringTag";function d(A,M,j,N){var W=M&&M.prototype instanceof h?M:h,F=Object.create(W.prototype);return en(F,"_invoke",(function(Z,J,ut){var q,k,Y,pt=0,Rt=ut||[],et=!1,tt={p:0,n:0,v:i,a:At,f:At.bind(i,4),d:function(Q,V){return q=Q,k=0,Y=i,tt.n=V,f}};function At(Q,V){for(k=Q,Y=V,n=0;!et&&pt&&!C&&n<Rt.length;n++){var C,z=Rt[n],X=tt.p,K=z[2];Q>3?(C=K===V)&&(Y=z[(k=z[4])?5:(k=3,3)],z[4]=z[5]=i):z[0]<=X&&((C=Q<2&&X<z[1])?(k=0,tt.v=V,tt.n=z[1]):X<K&&(C=Q<3||z[0]>V||V>K)&&(z[4]=Q,z[5]=V,tt.n=K,k=0))}if(C||Q>1)return f;throw et=!0,V}return function(Q,V,C){if(pt>1)throw TypeError("Generator is already running");for(et&&V===1&&At(V,C),k=V,Y=C;(n=k<2?i:Y)||!et;){q||(k?k<3?(k>1&&(tt.n=-1),At(k,Y)):tt.n=Y:tt.v=Y);try{if(pt=2,q){if(k||(Q="next"),n=q[Q]){if(!(n=n.call(q,Y)))throw TypeError("iterator result is not an object");if(!n.done)return n;Y=n.value,k<2&&(k=0)}else k===1&&(n=q.return)&&n.call(q),k<2&&(Y=TypeError("The iterator does not provide a '"+Q+"' method"),k=1);q=i}else if((n=(et=tt.n<0)?Y:Z.call(J,tt))!==f)break}catch(z){q=i,k=1,Y=z}finally{pt=1}}return{value:n,done:et}}})(A,j,N),!0),F}var f={};function h(){}function g(){}function m(){}n=Object.getPrototypeOf;var b=[][u]?n(n([][u]())):(en(n={},u,function(){return this}),n),v=m.prototype=h.prototype=Object.create(b);function S(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,en(A,c,"GeneratorFunction")),A.prototype=Object.create(v),A}return g.prototype=m,en(v,"constructor",m),en(m,"constructor",g),g.displayName="GeneratorFunction",en(m,c,"GeneratorFunction"),en(v),en(v,c,"Generator"),en(v,u,function(){return this}),en(v,"toString",function(){return"[object Generator]"}),(Md=function(){return{w:d,m:S}})()}function en(i,n,a,u){var c=Object.defineProperty;try{c({},"",{})}catch{c=0}en=function(d,f,h,g){function m(b,v){en(d,b,function(S){return this._invoke(b,v,S)})}f?c?c(d,f,{value:h,enumerable:!g,configurable:!g,writable:!g}):d[f]=h:(m("next",0),m("throw",1),m("return",2))},en(i,n,a,u)}function Gb(i,n,a,u,c,d,f){try{var h=i[d](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(u,c)}function PT(i){return function(){var n=this,a=arguments;return new Promise(function(u,c){var d=i.apply(n,a);function f(g){Gb(d,u,c,f,h,"next",g)}function h(g){Gb(d,u,c,f,h,"throw",g)}f(void 0)})}}var XT=function(){var i=Ol(),n=i.t,a=he.ASSETS_NOT_DOWNLOADED,u=he.NOT_LOADED,c=he.READY,d=he.LOADING,f=he.LOADED,h=ee(ct.config),g=h.config,m=ee(ct.measurement);CT();var b=ee(ct.camera),v=m.faceTrackerState,S=m.percentDownloaded,A=m.token,M=wl(),j=M.isInProgress,N=M.isComplete,W=M.isAnalyzing,F=M.isResetting,Z=M.isIdle,J=b.isOpen,ut=b.deviceId,q=ft.useRef(null),k=v===f||v===c,Y=J&&!j&&!g.measurementAutoStart,pt=Z&&(v===a||v===u),Rt=!W&&v===d,et=!N||W;return ft.useEffect(function(){var tt=(function(){var At=PT(Md().m(function Q(){return Md().w(function(V){for(;;)switch(V.n){case 0:if(!(A&&q.current)){V.n=1;break}return V.n=1,ct.measurement.init(q.current);case 1:return V.a(2)}},Q)}));return function(){return At.apply(this,arguments)}})();tt()},[A]),yt.jsxs("div",kl(kl({},{className:"marginTop-x1mjqqkp flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf","data-style-src":"Measurement/index.tsx:16"}),{},{children:[pt&&yt.jsx("div",kl(kl({},{className:"display-x78zum5 justifyContent-xl56j7k marginTop-x1hpjnmm","data-style-src":"Measurement/index.tsx:22"}),{},{children:yt.jsx(sS,{percentage:S,label:n("PLEASE_WAIT"),width:"60%"})})),Rt&&yt.jsx(qT,{}),et&&yt.jsxs("div",kl(kl({},{0:{className:"backgroundColor-x12peec7 flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf overflow-xb3r6kr containerType-xpqogu8 boxSizing-x9f619","data-style-src":"Measurement/index.tsx:27"},1:{className:"backgroundColor-x12peec7 flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf overflow-xb3r6kr containerType-xpqogu8 boxSizing-x9f619 visibility-xlshs6z","data-style-src":"Measurement/index.tsx:27; Measurement/index.tsx:50"}}[!k<<0]),{},{children:[yt.jsx("div",kl(kl({},{0:{className:"flexGrow-x1iyjqo2 position-x1n2onr6 overflow-xb3r6kr margin-x19bbpc0 width-xh8yej3 boxSizing-x9f619 maxWidth-xthuv2 maxWidth-xbjzrla","data-style-src":"Measurement/index.tsx:36"},1:{className:"flexGrow-x1iyjqo2 position-x1n2onr6 overflow-xb3r6kr margin-x19bbpc0 width-xh8yej3 boxSizing-x9f619 maxWidth-xthuv2 maxWidth-xbjzrla visibility-xlshs6z","data-style-src":"Measurement/index.tsx:36; Measurement/index.tsx:50"}}[!!W<<0]),{},{ref:q})),F&&yt.jsx(jT,{}),W&&yt.jsx(HT,{})]})),!W&&yt.jsx(NT,{showStartMeasurementButton:Y,isFaceTrackerLoaded:k,deviceId:ut,cameraAutoStart:g.cameraAutoStart})]}))};function ji(i){"@babel/helpers - typeof";return ji=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ji(i)}function Fb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Wb(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Fb(Object(a),!0).forEach(function(u){QT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Fb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function QT(i,n,a){return(n=ZT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function ZT(i){var n=JT(i,"string");return ji(n)=="symbol"?n:n+""}function JT(i,n){if(ji(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(ji(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var tR=function(){var i=he.LOADED,n=he.READY,a=ee(ct.measurement),u=a.faceTrackerState,c=wl(),d=c.isIdle,f=ee(ct.camera),h=f.isPermissionGranted,g=u===i||u===n;return yt.jsxs("div",Wb(Wb({},{className:"flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf","data-style-src":"MeasurementPage/index.tsx:10"}),{},{children:[g&&d&&h&&yt.jsx(pT,{}),yt.jsx(XT,{})]}))};const zd=["en","ja","zh","es","pt","pt-BR","it","fr","de"],eR={loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",multiSeparator:"+",allowMultiLoading:!1,fetch:typeof fetch>"u"?void 0:fetch,parse:JSON.parse,stringify:JSON.stringify,requestOptions:{}},nR=i=>Array.isArray(i)?i:[i],lR=(i,...n)=>typeof i=="function"?i(...n):i;class Do extends Error{retry=null;constructor(n,a=!1){super(n),this.retry=a}}class aR{constructor(n,a){this.init(n,a)}type="backend";static type="backend";init(n,a={}){this.services=n,this.options={...eR,...this.options,...a}}getLoadPath(n,a){return lR(this.options.loadPath,n,a)}read(n,a,u){const c=this.getLoadPath(n,a),d=this.services.interpolator.interpolate(c,{lng:n,ns:a});this.loadUrl(d,u)}readMulti(n,a,u){const c=this.getLoadPath(n,a),{multiSeparator:d}=this.options,f=this.services.interpolator.interpolate(c,{lng:n.join(d),ns:a.join(d)});this.loadUrl(f,u)}loadUrl(n,a){const{fetch:u,requestOptions:c,parse:d}=this.options;u(n,c).then(f=>{const{ok:h,status:g}=f;if(!h){const m=g>=500&&g<600;throw new Do(`failed loading ${n}`,m)}return f.text()},()=>{throw new Do(`failed loading ${n}`)}).then(f=>{try{return a(null,d(f,n))}catch{throw new Do(`failed parsing ${n} to json`,!1)}}).catch(f=>{f instanceof Do&&a(f.message,f.retry)})}create(n,a,u,c){const d={[u]:c||""};nR(n).forEach(f=>{const{addPath:h,requestOptions:g,fetch:m,stringify:b}=this.options,v=this.services.interpolator.interpolate(h,{lng:f,ns:a});try{m(v,{method:"POST",body:b(d),...g})}catch(S){console.error(S)}})}}const rR=(i,n)=>Ft.use(aR).use(rT).init({lng:n,fallbackLng:"en",supportedLngs:["en","ja","zh","es","pt","pt-BR","it","fr","de"],backend:{loadPath:i,requestOptions:{credentials:"same-origin",mode:"cors",headers:{"Content-Type":"application/json"}}},interpolation:{escapeValue:!1}}),iR=()=>{const i=navigator.language;if(zd.includes(i))return i;const n=i.split("-")[0];return zd.includes(n)?n:"en"},uR=(i,n)=>{const[a,u]=ft.useState(!1);return ft.useEffect(()=>{const c=n&&zd.includes(n)?n:iR();rR(`${i}/language/strings.{{lng}}.json`,c).then(()=>{u(!0),ct.general.setLanguage(c)})},[i,n]),a};function Ui(i){"@babel/helpers - typeof";return Ui=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ui(i)}function qb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Yb(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?qb(Object(a),!0).forEach(function(u){oR(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):qb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function oR(i,n,a){return(n=sR(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function sR(i){var n=cR(i,"string");return Ui(n)=="symbol"?n:n+""}function cR(i,n){if(Ui(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Ui(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function ua(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var i,n,a=typeof Symbol=="function"?Symbol:{},u=a.iterator||"@@iterator",c=a.toStringTag||"@@toStringTag";function d(A,M,j,N){var W=M&&M.prototype instanceof h?M:h,F=Object.create(W.prototype);return nn(F,"_invoke",(function(Z,J,ut){var q,k,Y,pt=0,Rt=ut||[],et=!1,tt={p:0,n:0,v:i,a:At,f:At.bind(i,4),d:function(Q,V){return q=Q,k=0,Y=i,tt.n=V,f}};function At(Q,V){for(k=Q,Y=V,n=0;!et&&pt&&!C&&n<Rt.length;n++){var C,z=Rt[n],X=tt.p,K=z[2];Q>3?(C=K===V)&&(Y=z[(k=z[4])?5:(k=3,3)],z[4]=z[5]=i):z[0]<=X&&((C=Q<2&&X<z[1])?(k=0,tt.v=V,tt.n=z[1]):X<K&&(C=Q<3||z[0]>V||V>K)&&(z[4]=Q,z[5]=V,tt.n=K,k=0))}if(C||Q>1)return f;throw et=!0,V}return function(Q,V,C){if(pt>1)throw TypeError("Generator is already running");for(et&&V===1&&At(V,C),k=V,Y=C;(n=k<2?i:Y)||!et;){q||(k?k<3?(k>1&&(tt.n=-1),At(k,Y)):tt.n=Y:tt.v=Y);try{if(pt=2,q){if(k||(Q="next"),n=q[Q]){if(!(n=n.call(q,Y)))throw TypeError("iterator result is not an object");if(!n.done)return n;Y=n.value,k<2&&(k=0)}else k===1&&(n=q.return)&&n.call(q),k<2&&(Y=TypeError("The iterator does not provide a '"+Q+"' method"),k=1);q=i}else if((n=(et=tt.n<0)?Y:Z.call(J,tt))!==f)break}catch(z){q=i,k=1,Y=z}finally{pt=1}}return{value:n,done:et}}})(A,j,N),!0),F}var f={};function h(){}function g(){}function m(){}n=Object.getPrototypeOf;var b=[][u]?n(n([][u]())):(nn(n={},u,function(){return this}),n),v=m.prototype=h.prototype=Object.create(b);function S(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,nn(A,c,"GeneratorFunction")),A.prototype=Object.create(v),A}return g.prototype=m,nn(v,"constructor",m),nn(m,"constructor",g),g.displayName="GeneratorFunction",nn(m,c,"GeneratorFunction"),nn(v),nn(v,c,"Generator"),nn(v,u,function(){return this}),nn(v,"toString",function(){return"[object Generator]"}),(ua=function(){return{w:d,m:S}})()}function nn(i,n,a,u){var c=Object.defineProperty;try{c({},"",{})}catch{c=0}nn=function(d,f,h,g){function m(b,v){nn(d,b,function(S){return this._invoke(b,v,S)})}f?c?c(d,f,{value:h,enumerable:!g,configurable:!g,writable:!g}):d[f]=h:(m("next",0),m("throw",1),m("return",2))},nn(i,n,a,u)}function Vb(i,n,a,u,c,d,f){try{var h=i[d](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(u,c)}function Bd(i){return function(){var n=this,a=arguments;return new Promise(function(u,c){var d=i.apply(n,a);function f(g){Vb(d,u,c,f,h,"next",g)}function h(g){Vb(d,u,c,f,h,"throw",g)}f(void 0)})}}var dR=function(i){var n=i.mountElement,a=i.appPath,u=i.settings,c=i.profile,d=i.config,f=i.language,h=i.apiUrl,g=ee(ct.config),m=g.setConfig,b=ee(ct.general),v=b.theme,S=b.externalAction,A=b.setTheme,M=b.setLanguage,j=b.setMountElement,N=ee(ct.measurement),W=N.configureSdk,F=N.destroy,Z=N.token,J=N.setProfile,ut=N.setApiUrl,q=uR(a,f);return ft.useEffect(function(){var k=N1(d);m(k)},[]),ft.useEffect(function(){q&&(j(n),ut(h),W(u.token,u.refreshToken,u.studyId,a),J(c),Bd(ua().m(function k(){return ua().w(function(Y){for(;;)switch(Y.n){case 0:return Y.n=1,ct.camera.requestPermission();case 1:return Y.a(2,Y.v)}},k)}))(),Xe(mn.APP_LOADED))},[q]),ft.useEffect(function(){var k=(function(){var Y=Bd(ua().m(function pt(){return ua().w(function(Rt){for(;;)switch(Rt.n){case 0:Xe(mn.PAGE_UNLOADED);case 1:return Rt.a(2)}},pt)}));return function(){return Y.apply(this,arguments)}})();return window.addEventListener("beforeunload",k),function(){return window.removeEventListener("beforeunload",k)}},[Xe]),ft.useEffect(function(){var k=(function(){var Y=Bd(ua().m(function pt(){var Rt,et,tt,At,Q,V,C,z,X;return ua().w(function(K){for(;;)switch(K.n){case 0:if(!S){K.n=10;break}Rt=gi.SET_THEME,et=gi.SET_LANGUAGE,tt=gi.DESTROY,At=gi.CANCEL,Q=gi.GET_LOGS,V=S.action,C=S.data,X=V,K.n=X===tt?1:X===Rt?3:X===et?4:X===At?5:X===Q?8:9;break;case 1:return ct.camera.stop(),ct.measurement.setMaskVisibility(!1),K.n=2,F();case 2:return _l(new CustomEvent(xl.DESTROYED,{detail:{}})),K.a(3,10);case 3:return A(C.theme),K.a(3,10);case 4:return M(C.language),K.a(3,10);case 5:if(ct.camera.stop(),ct.measurement.setMaskVisibility(!1),ct.measurement.setMaskLoadingState(!0),z=!1,!C.reset){K.n=7;break}return K.n=6,ct.measurement.reset();case 6:z=K.v;case 7:return _l(new CustomEvent(xl.CANCELLED,{detail:{reset:z}})),K.a(3,10);case 8:return _l(new CustomEvent(xl.LOGS,{detail:{logs:Kn(ct.logger.getLogs())}})),K.a(3,10);case 9:console.log("[React]: received action from Measurement Embedded App:",C);case 10:return K.a(2)}},pt)}));return function(){return Y.apply(this,arguments)}})();k()},[S]),!q||!Z?null:yt.jsx(SS,{theme:v==="light"?WS:LS,children:yt.jsx(hS,{children:yt.jsx("div",Yb(Yb({},{className:"height-x5yr21d margin-x1ghz6dp display-x78zum5 flexDirection-xdt5ytf overflow-xb3r6kr","data-style-src":"client/App.tsx:21"}),{},{children:yt.jsx(tR,{})}))})})};function dr(i){"@babel/helpers - typeof";return dr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},dr(i)}function Kb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Dl(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Kb(Object(a),!0).forEach(function(u){fR(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Kb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function fR(i,n,a){return(n=Xb(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function hR(i,n){if(!(i instanceof n))throw new TypeError("Cannot call a class as a function")}function Pb(i,n){for(var a=0;a<n.length;a++){var u=n[a];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(i,Xb(u.key),u)}}function mR(i,n,a){return n&&Pb(i.prototype,n),a&&Pb(i,a),Object.defineProperty(i,"prototype",{writable:!1}),i}function Xb(i){var n=pR(i,"string");return dr(n)=="symbol"?n:n+""}function pR(i,n){if(dr(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(dr(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(i)}function gR(i,n,a){return n=Lo(n),bR(i,Qb()?Reflect.construct(n,a||[],Lo(i).constructor):n.apply(i,a))}function bR(i,n){if(n&&(dr(n)=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yR(i)}function yR(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}function Qb(){try{var i=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Qb=function(){return!!i})()}function Lo(i){return Lo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Lo(i)}function vR(i,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(n&&n.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),n&&jd(i,n)}function jd(i,n){return jd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,u){return a.__proto__=u,a},jd(i,n)}var SR=(function(i){function n(a){var u;return hR(this,n),u=gR(this,n,[a]),u.state={hasError:!1},u}return vR(n,i),mR(n,[{key:"componentDidCatch",value:function(a,u){console.error("AppErrorBoundary caught an error:",a,u)}},{key:"render",value:function(){return this.state.hasError?this.props.fallback?this.props.fallback:yt.jsxs("div",Dl(Dl({},{className:"display-x78zum5 flexDirection-xdt5ytf alignItems-x6s0dn4 justifyContent-xl56j7k minHeight-xg6iff7 padding-x1qhigcl fontFamily-x6n8kwa textAlign-x2b8uid backgroundColor-xmiktxe","data-style-src":"AppErrorBoundary/index.tsx:5"}),{},{children:[yt.jsx("h1",Dl(Dl({},{className:"color-x10bj97 marginBottom-x1yztbdb","data-style-src":"AppErrorBoundary/index.tsx:16"}),{},{children:"Something went wrong"})),yt.jsx("p",Dl(Dl({},{className:"color-x36lisw marginBottom-x1hq5gj4 maxWidth-x1j9u4d2","data-style-src":"AppErrorBoundary/index.tsx:20"}),{},{children:"An unexpected error occurred. Please refresh the page to try again."})),yt.jsx("button",Dl(Dl({onClick:function(){return window.location.reload()},"aria-label":"Refresh page to recover from error"},{className:"padding-x1ff1495 backgroundColor-x1lh7yn1 color-x1awj2ng border-x1gs6z28 borderRadius-x12oqio5 cursor-x1ypdohk fontSize-xif65rj","data-style-src":"AppErrorBoundary/index.tsx:25"}),{},{children:"Refresh Page"})),!1]})):this.props.children}}],[{key:"getDerivedStateFromError",value:function(a){return{hasError:!0,error:a}}}])})(ft.Component);const ER={init:function(i,n,a,u,c,d,f){Lv.createRoot(i).render(yt.jsx(SR,{children:yt.jsx(dR,{mountElement:i,settings:a,profile:u,appPath:n,apiUrl:c,config:d,language:f})}))}};export{ER as app};
988
+ `;this.#r.setAttribute("d",Q.trim()),this.#C.children[0].setAttribute("d",Q.trim()),this.#C.children[1].children[1].setAttribute("d",Q.trim());const V=this.#r.getTotalLength();this.#d.setAttribute("stroke-dasharray",V.toFixed(0)),this.#d.setAttribute("stroke-dashoffset",V.toFixed(0));const z=Math.max(3,Math.round(V/30)),X=V/z,K=X*.5,ht=X*.5;this.#f.setAttribute("d",Q.trim()),this.#f.setAttribute("stroke-dasharray",`${K} ${ht}`),this.#s&&this.#f.firstChild.setAttribute("to",`-${V.toFixed(0)}`),this.#o.up.setAttribute("transform",`translate(${A},${m-6}) rotate(-90)`),this.#o.down.setAttribute("transform",`translate(${A},${J+j+6}) rotate(90)`),this.#o.left.setAttribute("transform",`translate(${N-3},${M}) rotate(180)`),this.#o.right.setAttribute("transform",`translate(${A+j+3},${M}) rotate(0)`);const T=30;this.#D(this.#l.topLeft,N+j,Z,j,[-62.5,-72.5],T,200),this.#D(this.#l.topRight,N+j,Z,j,[-27.5,-17.5],T,67),this.#D(this.#l.bottomRight,N+j,J,j,[22.5,17.5],T,-67),this.#D(this.#l.bottomLeft,N+j,J,j,[62.5,72.5],T,-200);const U=30,P=j/2,gt=2*Math.sqrt(Math.max(0,j*j-P*P))-U*2;this.#n.setAttribute("x",`${N+j-gt/2}`),this.#n.setAttribute("y",`${J+P}`),this.#n.setAttribute("width",`${gt}`),this.#n.setAttribute("height","100");const xt=this.#n.firstChild;for(xt.style.width=gt+"px";this.#c.firstChild;)this.#c.removeChild(this.#c.firstChild);const Nt=Math.floor(V/5),ue=2;for(let Xt=0;Xt<Nt;Xt++){const Xn=Xt/Nt*V,pn=this.#r.getPointAtLength(Xn),Ll=pn.x-A,oa=pn.y-M,Rn=Math.sqrt(Ll*Ll+oa*oa),sa=Ll/Rn,ca=oa/Rn,zo=pn.x-sa*ue,$i=pn.y-ca*ue,fr=pn.x+sa*ue,hr=pn.y+ca*ue,da=this.#nt(zo,fr,$i,hr,Xn);da.style.display="none",this.#c.appendChild(da)}}setText(n,a){const u=this.#n.firstChild;switch(u.innerHTML=n,a){case"TILT_RIGHT":this.#n.setAttribute("class","anim-tilt-right");break;case"TILT_LEFT":this.#n.setAttribute("class","anim-tilt-left");break;case"TOO_CLOSE":this.#n.setAttribute("class","anim-move-back");break;case"TOO_FAR":this.#n.setAttribute("class","anim-move-closer");break;case"LEFT":this.#n.setAttribute("class","anim-turn-left");break;case"RIGHT":this.#n.setAttribute("class","anim-turn-right");break;case"UP":this.#n.setAttribute("class","anim-turn-up");break;case"DOWN":this.#n.setAttribute("class","anim-turn-down");break;case"CENTER_FACE":this.#n.setAttribute("class","anim-center-face");break;case"DEFAULT":this.#n.setAttribute("class","anim-glow");break;default:this.#n.setAttribute("class","");break}}draw(n,a){if(this.#s)return;const{annotations:u,starRating:c,percentCompleted:d}=n;if(a){const{distanceConstraint:f,directionConstraint:h,rollConstraint:g,centerConstraint:m}=a;this.#q(u,f),m?this.#m.setAttribute("visibility","hidden"):(this.#m.setAttribute("visibility","visible"),this.#Z()),this.#Y(h,g)}else this.#q(u,this.#W(u)),this.#m.setAttribute("visibility","hidden"),this.#Y("OK","OK");if(this.#d.setAttribute("stroke",this.#a),Array.from(this.#c.children).forEach(f=>{f.setAttribute("stroke",this.#a)}),this.#r.setAttribute("stroke",this.#a),d>0){this.#r.setAttribute("stroke","none");const f=this.#r.getTotalLength(),h=d/100*f;Array.from(this.#c.children).forEach(g=>{const m=parseFloat(g.getAttribute("data-position"));g.style.display=m<h?"none":"block"}),this.#d.setAttribute("d",this.#r.getAttribute("d")),this.#d.setAttribute("stroke-dashoffset",(f-h).toString()),this.#bt(h,d)}for(let f=0;f<5;f+=1)this.#y.children[f].children[0].setAttribute("fill",c>=f?this.#v:"none"),this.#y.children[f].children[0].setAttribute("stroke",c>=f?this.#v:this.#h)}setMaskVisibility(n){this.#e.style.display=n?"block":"none"}setLoadingState(n){this.#s=n,this.#r.setAttribute("fill",this.#s?"white":"none"),this.#r.setAttribute("opacity",this.#s?"0.7":"1.0"),this.#y.setAttribute("visibility",this.#s?"hidden":"visible"),this.#d.setAttribute("visibility",this.#s?"hidden":"visible"),this.#V(this.#s),this.#s&&(this.#a="#39cb3a",this.#m.setAttribute("visibility","hidden"),this.#b.setAttribute("fill",this.#a),this.#b.setAttribute("visibility","hidden"),this.#p.setAttribute("visibility","hidden"),this.#E.setAttribute("visibility","hidden"),this.#A.textContent="")}setIntermediateResults(n){if(!this.#s){let a="";Object.keys(n).includes("HR_BPM")&&(a=parseInt(n.HR_BPM.value,10).toString()),this.#E.setAttribute("visibility",a?"visible":"hidden"),this.#A.textContent=a}}}var Ae=(i=>(i.Idle="idle",i.Starting="starting",i.InProgress="inProgress",i.Analyzing="analyzing",i.Complete="complete",i.Resetting="resetting",i))(Ae||{});const yb=1280,vb=720,BE=i=>typeof i.age!="number"||i.age<13||i.age>120?{code:"INVALID_AGE",message:"Age must be a number between 13 and 120."}:typeof i.height!="number"||i.height<120||i.height>220?{code:"INVALID_HEIGHT",message:"Height must be a number between 120 and 220."}:typeof i.weight!="number"||i.weight<30||i.weight>300?{code:"INVALID_WEIGHT",message:"Weight must be a number between 30 and 300."}:typeof i.sex!="number"||i.sex<1||i.sex>3?{code:"INVALID_SEX",message:"Sex must be a number between 1 and 3."}:typeof i.diabetes!="number"||i.diabetes<4||i.diabetes>6?{code:"INVALID_DIABETES",message:"Diabetes must be a number between 4 and 6."}:typeof i.bloodPressureMedication!="number"||i.bloodPressureMedication!==0&&i.bloodPressureMedication!==1?{code:"INVALID_BLOOD_PRESSURE_MEDICATION",message:"Blood Pressure Medication must be either 0 or 1."}:typeof i.smoking!="number"||i.smoking!==0&&i.smoking!==1?{code:"INVALID_SMOKING",message:"Smoking must be either 0 or 1."}:{code:"VALID",message:"Profile is valid."},jE=(i,n)=>{if(!na.config.cancelWhenLowSNR)return!1;const a=i===-100,u=i===-90,c=i===-91,d=c||u,f=30,h=5,g=15,m=2;let b=0;const v=n*h,S=v<=g,A=v==g,M=v===f;a&&!S&&(b+=1);const j=!S&&d,N=A&&(a||c),W=b>=m;return j||N||W||M&&a},UE=(i,n)=>{const a=n.checkConstraints(i.face,i.annotations),{distanceConstraint:u,directionConstraint:c,rollConstraint:d,centerConstraint:f,movementConstraint:h}=a;let g="";return u!=="OK"?g=u==="TOO_CLOSE"?Ft.t("MOVE_BACK"):Ft.t("MOVE_CLOSER"):c!=="OK"?c==="LEFT"?g=Ft.t("TURN_LEFT"):c==="RIGHT"?g=Ft.t("TURN_RIGHT"):c==="UP"?g=Ft.t("LOOK_UP"):c==="DOWN"&&(g=Ft.t("LOOK_DOWN")):d!=="OK"?g=d==="TILT_LEFT"?Ft.t("TILT_YOUR_FACE_LEFT"):Ft.t("TILT_YOUR_FACE_RIGHT"):f?h==="TOO_MUCH_MOVEMENT"&&(g=Ft.t("HOLD_STILL")):g=Ft.t("CENTER_YOUR_FACE"),{message:g,constraints:a}},IE=(i,n,a,u)=>{if(!n)return{message:Ft.t("FACE_NOT_DETECTED"),constraints:null};if(a){const{message:c,constraints:d}=UE(i,u);return{message:c,constraints:d}}return{message:"",constraints:null}},Sb=(i,n,a)=>{let u="",c="",d="",f=0,h=!1;const g=m=>{const b=m||"";b!==u&&(i.setText(b),u=b),c=b,a(b),h=!0};return{feed:m=>{if(m===c){d=m,f=0,h||(a(c),h=!0);return}m===d?f+=1:(d=m,f=1),f>=n&&(g(d),f=0)},clear:()=>{d="",f=0,c!==""?g(""):u!==""&&(i.setText(""),u="",a(""),h=!0),c===""&&(h=!1)}}},$E=i=>({minimumFps:14,boxWidth_pct:100,boxHeight_pct:100,checkBackLight:!1,checkCameraMovement:!1,checkCentered:!1,checkDistance:i,checkEyebrowMovement:!1,checkFaceDirection:i,checkLighting:!1,checkMinFps:!0,checkMovement:i}),Eb=5,Tb={starFillColor:"#39cb3a",starBorderColor:"#d1d1d1",pulseRateColor:"red",pulseRateLabelColor:"#ffffff",backgroundColor:"#ffffff",countDownLabelColor:"#000000",faceNotCenteredColor:"#fc6a0f",diameter:.8,topMargin:.06,bottomMargin:.02,shouldFlipHorizontally:!0},{ASSETS_NOT_DOWNLOADED:HE}=he,{SEX_ASSIGNED_MALE_AT_BIRTH:GE,SMOKER_FALSE:FE,BLOOD_PRESSURE_MEDICATION_FALSE:WE,DIABETES_NONE:qE}=_E,YE=async(i,n,a)=>{const{checkConstraints:u}=na.config,c={mediaElement:i,assetFolder:n,apiUrl:a,mirrorVideo:!0,displayMediaStream:!0,metrics:!1,logger:{extractionLibWasm:!1,mediaPipe:!1,beforeRESTCall:!1,afterRESTCall:!1,sdk:!1,extractionWorker:!1,faceTrackerWorkers:!1},constraintOverrides:$E(u)};return await zE.init(c)};let pe=new bb(Tb),jt=null,Od=0,wd=[],Rb=0,cr;const St=ta({assetFolder:"/assets",appPath:".",apiUrl:void 0,faceTrackerState:HE,constraintsSatisfiedStable:!1,percentDownloaded:0,measurementPhase:Ae.Idle,shouldDestroy:!1,token:"",refreshToken:"",studyId:"",isInitialized:!1,results:[],measurementError:null,profile:{age:0,height:0,weight:0,sex:GE,smoking:FE,bloodPressureMedication:WE,diabetes:qE,bypassProfile:!0},configureSdk:(i,n,a,u)=>{St.token=i,St.refreshToken=n,St.studyId=a,St.appPath=u},init:async i=>{jt=await YE(i,`${St.appPath}${St.assetFolder}`,St.apiUrl),jt.on.bytesDownloaded=(n,a,u,c)=>{const d=wd.find(h=>h.name===u);if(d){const h=n-d.bytes;d.bytes+=h,Od+=h}else Od+=n,Rb+=a,wd.push({name:u,bytes:n});const f=wd.length===8?Rb:4337298;St.percentDownloaded=Math.min(100,Math.trunc(Od*100/f))},jt.on.error=(n,a)=>{if(n===tr.COLLECTOR){const{frameNumber:u,error:c}=a;Cl({code:Pe.COLLECTOR,message:`Collector error on frame ${u}: ${c}`}),Jt.addLog(fe.COLLECTOR_ERROR,ae.collector,a)}if(n===tr.WEB_SOCKET){const u=a;if(u.type==="DISCONNECTED"){const{code:c,reason:d,wasClean:f}=u;Cl({code:Pe.WEBSOCKET_DISCONNECTED,message:`WebSocket disconnected: code=${c}, reason=${d}, wasClean=${f}`})}else if(u.type==="ERROR"){const{event:c}=u}}},jt.on.beforeRESTCall=(n,a)=>{},jt.on.afterRESTCall=(n,a,u,c)=>{},jt.on.faceTrackerStateChanged=async n=>{St.setTrackerState(n),n===he.LOADED&&(console.log(St.getVersion()),St.shouldDestroy&&(await jt?.destroy(),St.shouldDestroy=!1)),n===he.READY&&(await St.startTracking(),pe.setLoadingState(!1))},jt.on.resultsReceived=async n=>{St.results.push(n);const{points:a,resultsOrder:u,finalChunkNumber:c,errors:d}=n,f=Object.keys(a);for(const h of f){const{notes:g}=a[h];if(g.forEach(m=>{}),h==="SNR"){const m=Number(a.SNR.value);if(jE(m,u)){await St.reset(),Jt.addLog(fe.MEASUREMENT_LOW_SNR,ae.measurement,{snr:m,resultsOrder:u}),Cl({code:Pe.MEASUREMENT_LOW_SNR,message:""});break}}}switch(d.code){case"OK":break;case Ed.WORKER_ERROR:St.measurementError=Pe.WORKER_ERROR,Jt.addLog(fe.WORKER_ERROR,ae.measurement,{});break;case Ed.ANALYSIS_ERROR:Jt.addLog(fe.ANALYSIS_ERROR,ae.measurement,{});break;case Ed.LIVENESS_ERROR:Jt.addLog(fe.LIVENESS_ERROR,ae.measurement,{});break}u<c&&(pe.setIntermediateResults(a),Xe(mn.INTERMEDIATE_RESULTS)),u===c&&(St.measurementPhase=Ae.Complete,await jt?.disconnect(),Xe(mn.RESULTS_RECEIVED),Xe(mn.MEASUREMENT_COMPLETED))},jt.on.constraintsUpdated=(n,a)=>{},jt.on.chunkSent=n=>{Jt.addLog(fe.CHUNK_SENT,ae.measurement,n);const{chunkNumber:a,numberChunks:u}=n;a===u-1&&St.measurementPhase===Ae.InProgress&&(St.measurementPhase=Ae.Analyzing,pe.setLoadingState(!0),pe.setMaskVisibility(!1))},jt.on.facialLandmarksUpdated=n=>{const a=n.percentCompleted===0,{checkConstraints:u}=na.config;if(a){const{message:c,constraints:d}=IE(n,n.face.detected,u,pe);cr.feed(c),d?pe.draw(n,d):pe.draw(n)}else cr.clear(),pe.draw(n)},jt.on.mediaElementResize=n=>{const{detail:a}=n;pe.resize(a),Jt.addLog(fe.MEDIA_ELEMENT_RESIZED,ae.measurement,n.detail)},St.isInitialized=!0},setTrackerState:i=>{St.faceTrackerState=i},setApiUrl:i=>{St.apiUrl=i},getVersion:()=>jt?.getVersion(),reset:async()=>{if(!jt)return!1;St.measurementPhase=Ae.Resetting,St.constraintsSatisfiedStable=!1,cr.clear();const i=await jt.reset();return St.measurementPhase=Ae.Idle,i},prepare:async()=>{await jt?.prepare(St.token,St.refreshToken,St.studyId)?(Xe(mn.MEASUREMENT_PREPARED),await jt?.downloadAssets()&&Xe(mn.ASSETS_DOWNLOADED)):(Cl({code:Pe.MEASUREMENT_PREPARE_FAILED,message:"Failed to prepare measurement. Invalid or missing credentials (token, refreshToken, or studyId)."}),Jt.addLog(fe.MEASUREMENT_PREPARE_FAILED,ae.measurement,{hasToken:!!St.token,hasRefreshToken:!!St.refreshToken,hasStudyId:!!St.studyId}))},setMediaStream:async i=>{jt&&(await jt.setMediaStream(i),jt.setObjectFit(pe.objectFit)&&jt.loadMask(pe.getSvg()))},startTracking:async()=>{jt&&(await jt.setConstraintsConfig(!0),await jt.startTracking())},startMeasurement:async i=>{if(jt){if(St.measurementPhase=Ae.Starting,St.results=[],!St.profile.bypassProfile){const{bypassProfile:n,...a}=St.profile;jt.setDemographics(a)}await jt.startMeasurement(!1),St.measurementPhase=Ae.InProgress,Xe(mn.MEASUREMENT_STARTED)}},destroy:async()=>{const{LOADED:i,READY:n}=he;St.faceTrackerState===i||St.faceTrackerState===n?await jt?.destroy():St.shouldDestroy=!0,cr.clear()},setProfile:i=>{if(i.bypassProfile)Jt.addLog(fe.PROFILE_BYPASS_ENABLED,ae.measurement),_l(new CustomEvent(xl.ERROR,{detail:{code:Pe.PROFILE_INFO_NOT_SET,message:""}}));else{const n=BE(i);if(n.code!=="VALID"){Jt.addLog(fe.PROFILE_INVALID,ae.measurement,{validation:n}),_l(new CustomEvent(xl.ERROR,{detail:n}));return}St.profile=i,Jt.addLog(fe.PROFILE_SET,ae.measurement,{profile:i})}},setMaskVisibility:i=>{pe.setMaskVisibility(i)},setMaskLoadingState:i=>{pe.setLoadingState(i)},reinitMask:()=>{pe=new bb(Tb),cr=Sb(pe,Eb,i=>{St.constraintsSatisfiedStable=i===""}),jt&&jt.setObjectFit(pe.objectFit)&&jt.loadMask(pe.getSvg()),pe.setMaskVisibility(!1)}});cr=Sb(pe,Eb,i=>{St.constraintsSatisfiedStable=i===""});const ki=ta({theme:"light",language:"en",externalAction:null,setTheme:i=>{ki.theme=i},setLanguage:i=>{ki.language=i,Ft.changeLanguage(i)},setExternalAction:i=>{ki.externalAction=i},setMountElement:i=>{const n=async a=>{ki.externalAction=a.detail};i.addEventListener("measurement-embedded-app-action",n),U1(i)}}),VE={general:ki,camera:xe,measurement:St,logger:Jt,config:na},ct=ta(VE);process.env.IS_DEVELOPMENT&&i1(ct,{name:"WMEA",enabled:!0});const KE=(i,n,a,u)=>{const c=[a,{code:n,...u||{}}];if(i?.services?.logger?.forward)return i.services.logger.forward(c,"warn","react-i18next::",!0);ia(c[0])&&(c[0]=`react-i18next:: ${c[0]}`),i?.services?.logger?.warn?i.services.logger.warn(...c):console?.warn&&console.warn(...c)},xb={},kd=(i,n,a,u)=>{ia(a)&&xb[a]||(ia(a)&&(xb[a]=new Date),KE(i,n,a,u))},_b=(i,n)=>()=>{if(i.isInitialized)n();else{const a=()=>{setTimeout(()=>{i.off("initialized",a)},0),n()};i.on("initialized",a)}},Dd=(i,n,a)=>{i.loadNamespaces(n,_b(i,a))},Cb=(i,n,a,u)=>{if(ia(a)&&(a=[a]),i.options.preload&&i.options.preload.indexOf(n)>-1)return Dd(i,a,u);a.forEach(c=>{i.options.ns.indexOf(c)<0&&i.options.ns.push(c)}),i.loadLanguages(n,_b(i,u))},PE=(i,n,a={})=>!n.languages||!n.languages.length?(kd(n,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:n.languages}),!0):n.hasLoadedNamespace(i,{lng:a.lng,precheck:(u,c)=>{if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&u.services.backendConnector.backend&&u.isLanguageChangingTo&&!c(u.isLanguageChangingTo,i))return!1}}),ia=i=>typeof i=="string",XE=i=>typeof i=="object"&&i!==null,QE=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ZE={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"\xA9","&#169;":"\xA9","&reg;":"\xAE","&#174;":"\xAE","&hellip;":"\u2026","&#8230;":"\u2026","&#x2F;":"/","&#47;":"/"},JE=i=>ZE[i],tT=i=>i.replace(QE,JE);let Ld={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:tT};const eT=(i={})=>{Ld={...Ld,...i}},nT=()=>Ld;let Ab;const lT=i=>{Ab=i},aT=()=>Ab,rT={type:"3rdParty",init(i){eT(i.options.react),lT(i)}},iT=ft.createContext();class uT{constructor(){this.usedNamespaces={}}addUsedNamespaces(n){n.forEach(a=>{this.usedNamespaces[a]||(this.usedNamespaces[a]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const oT=(i,n)=>{const a=ft.useRef();return ft.useEffect(()=>{a.current=i},[i,n]),a.current},Ob=(i,n,a,u)=>i.getFixedT(n,a,u),sT=(i,n,a,u)=>ft.useCallback(Ob(i,n,a,u),[i,n,a,u]),Ol=(i,n={})=>{const{i18n:a}=n,{i18n:u,defaultNS:c}=ft.useContext(iT)||{},d=a||u||aT();if(d&&!d.reportNamespaces&&(d.reportNamespaces=new uT),!d){kd(d,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const J=(q,k)=>ia(k)?k:XE(k)&&ia(k.defaultValue)?k.defaultValue:Array.isArray(q)?q[q.length-1]:q,ut=[J,{},!1];return ut.t=J,ut.i18n={},ut.ready=!1,ut}d.options.react?.wait&&kd(d,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const f={...nT(),...d.options.react,...n},{useSuspense:h,keyPrefix:g}=f;let m=c||d.options?.defaultNS;m=ia(m)?[m]:m||["translation"],d.reportNamespaces.addUsedNamespaces?.(m);const b=(d.isInitialized||d.initializedStoreOnce)&&m.every(J=>PE(J,d,f)),v=sT(d,n.lng||null,f.nsMode==="fallback"?m:m[0],g),S=()=>v,A=()=>Ob(d,n.lng||null,f.nsMode==="fallback"?m:m[0],g),[M,j]=ft.useState(S);let N=m.join();n.lng&&(N=`${n.lng}${N}`);const W=oT(N),F=ft.useRef(!0);ft.useEffect(()=>{const{bindI18n:J,bindI18nStore:ut}=f;F.current=!0,!b&&!h&&(n.lng?Cb(d,n.lng,m,()=>{F.current&&j(A)}):Dd(d,m,()=>{F.current&&j(A)})),b&&W&&W!==N&&F.current&&j(A);const q=()=>{F.current&&j(A)};return J&&d?.on(J,q),ut&&d?.store.on(ut,q),()=>{F.current=!1,d&&J&&J?.split(" ").forEach(k=>d.off(k,q)),ut&&d&&ut.split(" ").forEach(k=>d.store.off(k,q))}},[d,N]),ft.useEffect(()=>{F.current&&b&&j(S)},[d,g,b]);const Z=[M,d,b];if(Z.t=M,Z.i18n=d,Z.ready=b,b||!b&&!h)return Z;throw new Promise(J=>{n.lng?Cb(d,n.lng,m,()=>J()):Dd(d,m,()=>J())})},cT=()=>{const{t:i}=Ol(),{mediaDevices:n,deviceId:a}=ee(ct.camera),u=n.map(d=>({label:d.device.label,value:d.device.deviceId})),c=d=>ct.camera.updateDeviceId(d);return yt.jsx(dS,{placeholder:i("SELECT_CAMERA"),width:"350px",value:a,options:u,onChange:c})},wb=()=>{const[i,n]=ft.useState(()=>window.matchMedia("(max-width: 768px)").matches);return ft.useEffect(()=>{const a=window.matchMedia("(max-width: 768px)"),u=c=>{n(c.matches)};return a.addEventListener("change",u),()=>{a.removeEventListener("change",u)}},[]),i};function Di(i){"@babel/helpers - typeof";return Di=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Di(i)}function kb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Db(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?kb(Object(a),!0).forEach(function(u){dT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):kb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function dT(i,n,a){return(n=fT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function fT(i){var n=hT(i,"string");return Di(n)=="symbol"?n:n+""}function hT(i,n){if(Di(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Di(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function Nd(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var i,n,a=typeof Symbol=="function"?Symbol:{},u=a.iterator||"@@iterator",c=a.toStringTag||"@@toStringTag";function d(A,M,j,N){var W=M&&M.prototype instanceof h?M:h,F=Object.create(W.prototype);return tn(F,"_invoke",(function(Z,J,ut){var q,k,Y,pt=0,Rt=ut||[],et=!1,tt={p:0,n:0,v:i,a:At,f:At.bind(i,4),d:function(Q,V){return q=Q,k=0,Y=i,tt.n=V,f}};function At(Q,V){for(k=Q,Y=V,n=0;!et&&pt&&!C&&n<Rt.length;n++){var C,z=Rt[n],X=tt.p,K=z[2];Q>3?(C=K===V)&&(Y=z[(k=z[4])?5:(k=3,3)],z[4]=z[5]=i):z[0]<=X&&((C=Q<2&&X<z[1])?(k=0,tt.v=V,tt.n=z[1]):X<K&&(C=Q<3||z[0]>V||V>K)&&(z[4]=Q,z[5]=V,tt.n=K,k=0))}if(C||Q>1)return f;throw et=!0,V}return function(Q,V,C){if(pt>1)throw TypeError("Generator is already running");for(et&&V===1&&At(V,C),k=V,Y=C;(n=k<2?i:Y)||!et;){q||(k?k<3?(k>1&&(tt.n=-1),At(k,Y)):tt.n=Y:tt.v=Y);try{if(pt=2,q){if(k||(Q="next"),n=q[Q]){if(!(n=n.call(q,Y)))throw TypeError("iterator result is not an object");if(!n.done)return n;Y=n.value,k<2&&(k=0)}else k===1&&(n=q.return)&&n.call(q),k<2&&(Y=TypeError("The iterator does not provide a '"+Q+"' method"),k=1);q=i}else if((n=(et=tt.n<0)?Y:Z.call(J,tt))!==f)break}catch(z){q=i,k=1,Y=z}finally{pt=1}}return{value:n,done:et}}})(A,j,N),!0),F}var f={};function h(){}function g(){}function m(){}n=Object.getPrototypeOf;var b=[][u]?n(n([][u]())):(tn(n={},u,function(){return this}),n),v=m.prototype=h.prototype=Object.create(b);function S(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,tn(A,c,"GeneratorFunction")),A.prototype=Object.create(v),A}return g.prototype=m,tn(v,"constructor",m),tn(m,"constructor",g),g.displayName="GeneratorFunction",tn(m,c,"GeneratorFunction"),tn(v),tn(v,c,"Generator"),tn(v,u,function(){return this}),tn(v,"toString",function(){return"[object Generator]"}),(Nd=function(){return{w:d,m:S}})()}function tn(i,n,a,u){var c=Object.defineProperty;try{c({},"",{})}catch{c=0}tn=function(d,f,h,g){function m(b,v){tn(d,b,function(S){return this._invoke(b,v,S)})}f?c?c(d,f,{value:h,enumerable:!g,configurable:!g,writable:!g}):d[f]=h:(m("next",0),m("throw",1),m("return",2))},tn(i,n,a,u)}function Lb(i,n,a,u,c,d,f){try{var h=i[d](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(u,c)}function mT(i){return function(){var n=this,a=arguments;return new Promise(function(u,c){var d=i.apply(n,a);function f(g){Lb(d,u,c,f,h,"next",g)}function h(g){Lb(d,u,c,f,h,"throw",g)}f(void 0)})}}var pT=function(){var i=ee(ct.camera),n=ee(ct.config),a=i.isPermissionGranted,u=i.enumerationPhase,c=i.mediaDevices,d=Ol(),f=d.t,h=wb();ft.useEffect(function(){mT(Nd().m(function S(){return Nd().w(function(A){for(;;)switch(A.n){case 0:if(!(a&&u===Rl.Idle)){A.n=1;break}return A.n=1,ct.camera.listCameras();case 1:return A.a(2)}},S)}))()},[a,u]);var g=u===Rl.Enumerating,m=u===Rl.Done,b=c.length>0,v=null;return g?v=yt.jsx(ci,{small:!0}):m&&!b?v=yt.jsx(ug,{variant:"error",children:f("NO_DEVICES_FOUND")}):!n.config.cameraAutoStart&&!h&&(v=yt.jsx(cT,{})),v?yt.jsx("div",Db(Db({},{className:"display-x78zum5 justifyContent-xl56j7k alignItems-x6s0dn4 width-x65xoit margin-x1bpp3o7 minHeight-xe8gcm","data-style-src":"CameraDevices/index.tsx:12"}),{},{children:v})):null};const wl=()=>{const{measurementPhase:i}=ee(ct.measurement);return{measurementPhase:i,isIdle:i===Ae.Idle,isStarting:i===Ae.Starting,isInProgress:i===Ae.InProgress,isAnalyzing:i===Ae.Analyzing,isComplete:i===Ae.Complete,isResetting:i===Ae.Resetting}},Nb=()=>{const i=ee(ct.measurement),n=ee(ct.camera),{isIdle:a}=wl(),{READY:u}=he;return i.faceTrackerState===u&&i.constraintsSatisfiedStable&&a&&!!n.deviceId&&n.isOpen},gT=()=>{const{config:i}=ee(ct.config),{isPermissionGranted:n,deviceId:a,isOpen:u}=ee(ct.camera),{faceTrackerState:c}=ee(ct.measurement),d=Nb();ft.useEffect(()=>{i.cameraAutoStart&&n&&a&&!u&&(async()=>await ct.camera.start(yb,vb)?(Xe(mn.CAMERA_STARTED),ct.measurement.setMaskVisibility(!0)):Jt.addLog(fe.CAMERA_START_FAILED,ae.camera))()},[i.cameraAutoStart,n,a,u]),ft.useEffect(()=>{i.measurementAutoStart&&d&&(async()=>await ct.measurement.startMeasurement())()},[i.measurementAutoStart,c,d])},Mb=()=>{ct.camera.isOpen&&(ct.camera.stop(),ct.measurement.setMaskVisibility(!1))},bT=async()=>{Mb(),ct.measurement.measurementPhase=Ae.Resetting;try{await ct.measurement.reset()&&ct.measurement.reinitMask()}catch(i){Jt.addLog(fe.CAMERA_STOP_RESET_FAILED,ae.camera,{error:i.message})}},yT=async()=>{const i=await ct.camera.start(yb,vb);return i?(Xe(mn.CAMERA_STARTED),ct.measurement.setMaskVisibility(!0)):Jt.addLog(fe.CAMERA_START_FAILED,ae.camera),i},vT=()=>{const{isAnalyzing:i}=wl(),{isOpen:n}=ee(ct.camera);ft.useEffect(()=>{i&&n&&(Mb(),Jt.addLog(fe.CAMERA_STOPPED_AT_ANALYZING_START,ae.camera))},[i,n])},ST=()=>{const[i,n]=ft.useState(!document.hidden),a=ft.useCallback(()=>{n(!document.hidden)},[]);return ft.useEffect(()=>(document.addEventListener("visibilitychange",a),()=>{document.removeEventListener("visibilitychange",a)}),[a]),ft.useEffect(()=>{Xe(mn.PAGE_VISIBILITY_CHANGE,{isVisible:i})},[i]),i},ET=()=>{const i=ST(),{isInProgress:n}=wl();ft.useEffect(()=>{!i&&n&&(Jt.addLog(fe.PAGE_NOT_VISIBLE,ae.app),Cl({code:Pe.PAGE_NOT_VISIBLE,message:""}))},[i,n])},TT=()=>{const{isOpen:i,cameraStream:n}=ee(ct.camera);ft.useEffect(()=>{(async()=>i&&n&&await ct.measurement.setMediaStream(n))()},[i,n])},RT=()=>{const{isInitialized:i}=ee(ct.measurement);ft.useEffect(()=>{(async()=>i&&await ct.measurement.prepare())()},[i])},xT=()=>{const{isComplete:i}=wl();ft.useEffect(()=>{if(!i)return;const n=Kn(ct.measurement.results),a=5;n.length===a+1&&_l(new CustomEvent(xl.RESULTS,{detail:n[a]}))},[i])},_T=()=>{const{t:i}=Ol(),n=u=>{switch(u){case Pe.WORKER_ERROR:return i("ERR_WORKER_ERROR");case Pe.PROFILE_INFO_NOT_SET:return i("ERR_PROFILE_INFO_NOT_SET");default:return""}},{measurementError:a}=ee(ct.measurement);ft.useEffect(()=>{a&&(a===Pe.WORKER_ERROR&&Jt.addLog(fe.WORKER_ERROR,ae.measurement),Cl({code:a,message:n(a)}))},[a,n])},CT=()=>{gT(),vT(),ET(),TT(),RT(),_T(),xT()},AT=()=>{const{t:i}=Ol(),{deviceId:n}=ee(ct.camera),{isInProgress:a}=wl(),u=wb(),c=i(a?"STOP_MEASUREMENT":"STOP_CAMERA");return yt.jsx(ed,{disabled:!n,onClick:bT,variant:u?"link":"outline",size:"sm",children:c})},OT=()=>{const{t:i}=Ol(),n=ee(ct.camera),{isOpen:a,deviceId:u}=n;return a?yt.jsx(AT,{}):yt.jsx(ed,{disabled:!u,onClick:yT,variant:"primary",children:i("START_CAMERA")})},wT=()=>{const{t:i}=Ol(),n=ee(ct.measurement),a=Nb(),{isStarting:u}=wl(),{READY:c}=he;if(n.faceTrackerState!==c)return yt.jsx(ci,{small:!0});const d=async()=>{await ct.measurement.startMeasurement()},f=!a||u,h=i(u?"STARTING":"START_MEASUREMENT");return yt.jsx(ed,{onClick:d,variant:"primary",disabled:f,children:h})};function Li(i){"@babel/helpers - typeof";return Li=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Li(i)}function zb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function wo(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?zb(Object(a),!0).forEach(function(u){kT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):zb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function kT(i,n,a){return(n=DT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function DT(i){var n=LT(i,"string");return Li(n)=="symbol"?n:n+""}function LT(i,n){if(Li(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Li(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var NT=function(i){var n=i.showStartMeasurementButton,a=i.isFaceTrackerLoaded,u=i.deviceId,c=i.cameraAutoStart;return yt.jsxs("div",wo(wo({},{className:"display-x78zum5 flexDirection-xdt5ytf alignItems-x6s0dn4 padding-xxm6lfi gap-xvh977a","data-style-src":"Measurement/MeasurementFooter.tsx:6"}),{},{children:[n&&yt.jsx(wT,{}),a&&u&&!c&&yt.jsx("div",wo(wo({},{className:"textAlign-x2b8uid marginTop-x1tbvfm1","data-style-src":"Measurement/MeasurementFooter.tsx:13"}),{},{children:yt.jsx(OT,{})}))]}))};function Ni(i){"@babel/helpers - typeof";return Ni=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ni(i)}function Bb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function jb(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Bb(Object(a),!0).forEach(function(u){MT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Bb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function MT(i,n,a){return(n=zT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function zT(i){var n=BT(i,"string");return Ni(n)=="symbol"?n:n+""}function BT(i,n){if(Ni(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Ni(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var jT=function(){return yt.jsx("div",jb(jb({},{className:"position-x10l6tqk inset-x10a8y8t display-x78zum5 alignItems-x6s0dn4 justifyContent-xl56j7k background-xb6wlsq zIndex-x1n327nk","data-style-src":"Measurement/ResettingOverlay.tsx:5"}),{},{children:yt.jsx(ci,{})}))};function Mi(i){"@babel/helpers - typeof";return Mi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Mi(i)}function Ub(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function ko(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Ub(Object(a),!0).forEach(function(u){UT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Ub(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function UT(i,n,a){return(n=IT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function IT(i){var n=$T(i,"string");return Mi(n)=="symbol"?n:n+""}function $T(i,n){if(Mi(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Mi(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var HT=function(){var i=Ol(),n=i.t;return yt.jsx("div",ko(ko({},{className:"position-x10l6tqk inset-x10a8y8t display-x78zum5 alignItems-x6s0dn4 justifyContent-xl56j7k background-xlu028j zIndex-x1355qak","data-style-src":"Measurement/AnalyzingOverlay.tsx:6"}),{},{children:yt.jsxs("div",ko(ko({},{className:"display-x78zum5 flexDirection-xdt5ytf alignItems-x6s0dn4 justifyContent-xl56j7k gap-x13z6uf9 padding-xtsht4i","data-style-src":"Measurement/AnalyzingOverlay.tsx:15"}),{},{children:[yt.jsx(ci,{}),yt.jsx(ug,{children:n("WAITING_FOR_RESULTS")})]}))}))};function zi(i){"@babel/helpers - typeof";return zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},zi(i)}function Ib(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function $b(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Ib(Object(a),!0).forEach(function(u){GT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Ib(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function GT(i,n,a){return(n=FT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function FT(i){var n=WT(i,"string");return zi(n)=="symbol"?n:n+""}function WT(i,n){if(zi(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(zi(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var qT=function(){return yt.jsx("div",$b($b({},{className:"display-x78zum5 justifyContent-xl56j7k marginTop-x1hpjnmm","data-style-src":"Measurement/TrackerSpinner.tsx:5"}),{},{children:yt.jsx(ci,{})}))};function Bi(i){"@babel/helpers - typeof";return Bi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Bi(i)}function Hb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function kl(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Hb(Object(a),!0).forEach(function(u){YT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Hb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function YT(i,n,a){return(n=VT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function VT(i){var n=KT(i,"string");return Bi(n)=="symbol"?n:n+""}function KT(i,n){if(Bi(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Bi(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function Md(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var i,n,a=typeof Symbol=="function"?Symbol:{},u=a.iterator||"@@iterator",c=a.toStringTag||"@@toStringTag";function d(A,M,j,N){var W=M&&M.prototype instanceof h?M:h,F=Object.create(W.prototype);return en(F,"_invoke",(function(Z,J,ut){var q,k,Y,pt=0,Rt=ut||[],et=!1,tt={p:0,n:0,v:i,a:At,f:At.bind(i,4),d:function(Q,V){return q=Q,k=0,Y=i,tt.n=V,f}};function At(Q,V){for(k=Q,Y=V,n=0;!et&&pt&&!C&&n<Rt.length;n++){var C,z=Rt[n],X=tt.p,K=z[2];Q>3?(C=K===V)&&(Y=z[(k=z[4])?5:(k=3,3)],z[4]=z[5]=i):z[0]<=X&&((C=Q<2&&X<z[1])?(k=0,tt.v=V,tt.n=z[1]):X<K&&(C=Q<3||z[0]>V||V>K)&&(z[4]=Q,z[5]=V,tt.n=K,k=0))}if(C||Q>1)return f;throw et=!0,V}return function(Q,V,C){if(pt>1)throw TypeError("Generator is already running");for(et&&V===1&&At(V,C),k=V,Y=C;(n=k<2?i:Y)||!et;){q||(k?k<3?(k>1&&(tt.n=-1),At(k,Y)):tt.n=Y:tt.v=Y);try{if(pt=2,q){if(k||(Q="next"),n=q[Q]){if(!(n=n.call(q,Y)))throw TypeError("iterator result is not an object");if(!n.done)return n;Y=n.value,k<2&&(k=0)}else k===1&&(n=q.return)&&n.call(q),k<2&&(Y=TypeError("The iterator does not provide a '"+Q+"' method"),k=1);q=i}else if((n=(et=tt.n<0)?Y:Z.call(J,tt))!==f)break}catch(z){q=i,k=1,Y=z}finally{pt=1}}return{value:n,done:et}}})(A,j,N),!0),F}var f={};function h(){}function g(){}function m(){}n=Object.getPrototypeOf;var b=[][u]?n(n([][u]())):(en(n={},u,function(){return this}),n),v=m.prototype=h.prototype=Object.create(b);function S(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,en(A,c,"GeneratorFunction")),A.prototype=Object.create(v),A}return g.prototype=m,en(v,"constructor",m),en(m,"constructor",g),g.displayName="GeneratorFunction",en(m,c,"GeneratorFunction"),en(v),en(v,c,"Generator"),en(v,u,function(){return this}),en(v,"toString",function(){return"[object Generator]"}),(Md=function(){return{w:d,m:S}})()}function en(i,n,a,u){var c=Object.defineProperty;try{c({},"",{})}catch{c=0}en=function(d,f,h,g){function m(b,v){en(d,b,function(S){return this._invoke(b,v,S)})}f?c?c(d,f,{value:h,enumerable:!g,configurable:!g,writable:!g}):d[f]=h:(m("next",0),m("throw",1),m("return",2))},en(i,n,a,u)}function Gb(i,n,a,u,c,d,f){try{var h=i[d](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(u,c)}function PT(i){return function(){var n=this,a=arguments;return new Promise(function(u,c){var d=i.apply(n,a);function f(g){Gb(d,u,c,f,h,"next",g)}function h(g){Gb(d,u,c,f,h,"throw",g)}f(void 0)})}}var XT=function(){var i=Ol(),n=i.t,a=he.ASSETS_NOT_DOWNLOADED,u=he.NOT_LOADED,c=he.READY,d=he.LOADING,f=he.LOADED,h=ee(ct.config),g=h.config,m=ee(ct.measurement);CT();var b=ee(ct.camera),v=m.faceTrackerState,S=m.percentDownloaded,A=m.token,M=wl(),j=M.isInProgress,N=M.isComplete,W=M.isAnalyzing,F=M.isResetting,Z=M.isIdle,J=b.isOpen,ut=b.deviceId,q=ft.useRef(null),k=v===f||v===c,Y=J&&!j&&!g.measurementAutoStart,pt=Z&&(v===a||v===u),Rt=!W&&v===d,et=!N||W;return ft.useEffect(function(){var tt=(function(){var At=PT(Md().m(function Q(){return Md().w(function(V){for(;;)switch(V.n){case 0:if(!(A&&q.current)){V.n=1;break}return V.n=1,ct.measurement.init(q.current);case 1:return V.a(2)}},Q)}));return function(){return At.apply(this,arguments)}})();tt()},[A]),yt.jsxs("div",kl(kl({},{className:"marginTop-x1mjqqkp flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf","data-style-src":"Measurement/index.tsx:16"}),{},{children:[pt&&yt.jsx("div",kl(kl({},{className:"display-x78zum5 justifyContent-xl56j7k marginTop-x1hpjnmm","data-style-src":"Measurement/index.tsx:22"}),{},{children:yt.jsx(sS,{percentage:S,label:n("PLEASE_WAIT"),width:"60%"})})),Rt&&yt.jsx(qT,{}),et&&yt.jsxs("div",kl(kl({},{0:{className:"backgroundColor-x12peec7 flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf overflow-xb3r6kr containerType-xpqogu8 boxSizing-x9f619","data-style-src":"Measurement/index.tsx:27"},1:{className:"backgroundColor-x12peec7 flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf overflow-xb3r6kr containerType-xpqogu8 boxSizing-x9f619 visibility-xlshs6z","data-style-src":"Measurement/index.tsx:27; Measurement/index.tsx:50"}}[!k<<0]),{},{children:[yt.jsx("div",kl(kl({},{0:{className:"flexGrow-x1iyjqo2 position-x1n2onr6 overflow-xb3r6kr margin-x19bbpc0 width-xh8yej3 boxSizing-x9f619 maxWidth-xthuv2 maxWidth-xbjzrla","data-style-src":"Measurement/index.tsx:36"},1:{className:"flexGrow-x1iyjqo2 position-x1n2onr6 overflow-xb3r6kr margin-x19bbpc0 width-xh8yej3 boxSizing-x9f619 maxWidth-xthuv2 maxWidth-xbjzrla visibility-xlshs6z","data-style-src":"Measurement/index.tsx:36; Measurement/index.tsx:50"}}[!!W<<0]),{},{ref:q})),F&&yt.jsx(jT,{}),W&&yt.jsx(HT,{})]})),!W&&yt.jsx(NT,{showStartMeasurementButton:Y,isFaceTrackerLoaded:k,deviceId:ut,cameraAutoStart:g.cameraAutoStart})]}))};function ji(i){"@babel/helpers - typeof";return ji=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ji(i)}function Fb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Wb(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Fb(Object(a),!0).forEach(function(u){QT(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Fb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function QT(i,n,a){return(n=ZT(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function ZT(i){var n=JT(i,"string");return ji(n)=="symbol"?n:n+""}function JT(i,n){if(ji(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(ji(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}var tR=function(){var i=he.LOADED,n=he.READY,a=ee(ct.measurement),u=a.faceTrackerState,c=wl(),d=c.isIdle,f=ee(ct.camera),h=f.isPermissionGranted,g=u===i||u===n;return yt.jsxs("div",Wb(Wb({},{className:"flexGrow-x1iyjqo2 display-x78zum5 flexDirection-xdt5ytf","data-style-src":"MeasurementPage/index.tsx:10"}),{},{children:[g&&d&&h&&yt.jsx(pT,{}),yt.jsx(XT,{})]}))};const zd=["en","ja","zh","es","pt","pt-BR","it","fr","de"],eR={loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",multiSeparator:"+",allowMultiLoading:!1,fetch:typeof fetch>"u"?void 0:fetch,parse:JSON.parse,stringify:JSON.stringify,requestOptions:{}},nR=i=>Array.isArray(i)?i:[i],lR=(i,...n)=>typeof i=="function"?i(...n):i;class Do extends Error{retry=null;constructor(n,a=!1){super(n),this.retry=a}}class aR{constructor(n,a){this.init(n,a)}type="backend";static type="backend";init(n,a={}){this.services=n,this.options={...eR,...this.options,...a}}getLoadPath(n,a){return lR(this.options.loadPath,n,a)}read(n,a,u){const c=this.getLoadPath(n,a),d=this.services.interpolator.interpolate(c,{lng:n,ns:a});this.loadUrl(d,u)}readMulti(n,a,u){const c=this.getLoadPath(n,a),{multiSeparator:d}=this.options,f=this.services.interpolator.interpolate(c,{lng:n.join(d),ns:a.join(d)});this.loadUrl(f,u)}loadUrl(n,a){const{fetch:u,requestOptions:c,parse:d}=this.options;u(n,c).then(f=>{const{ok:h,status:g}=f;if(!h){const m=g>=500&&g<600;throw new Do(`failed loading ${n}`,m)}return f.text()},()=>{throw new Do(`failed loading ${n}`)}).then(f=>{try{return a(null,d(f,n))}catch{throw new Do(`failed parsing ${n} to json`,!1)}}).catch(f=>{f instanceof Do&&a(f.message,f.retry)})}create(n,a,u,c){const d={[u]:c||""};nR(n).forEach(f=>{const{addPath:h,requestOptions:g,fetch:m,stringify:b}=this.options,v=this.services.interpolator.interpolate(h,{lng:f,ns:a});try{m(v,{method:"POST",body:b(d),...g})}catch(S){console.error(S)}})}}const rR=(i,n)=>Ft.use(aR).use(rT).init({lng:n,fallbackLng:"en",supportedLngs:["en","ja","zh","es","pt","pt-BR","it","fr","de"],backend:{loadPath:i,requestOptions:{credentials:"same-origin",mode:"cors",headers:{"Content-Type":"application/json"}}},interpolation:{escapeValue:!1}}),iR=()=>{const i=navigator.language;if(zd.includes(i))return i;const n=i.split("-")[0];return zd.includes(n)?n:"en"},uR=(i,n)=>{const[a,u]=ft.useState(!1);return ft.useEffect(()=>{const c=n&&zd.includes(n)?n:iR();rR(`${i}/language/strings.{{lng}}.json`,c).then(()=>{u(!0),ct.general.setLanguage(c)})},[i,n]),a};function Ui(i){"@babel/helpers - typeof";return Ui=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ui(i)}function qb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Yb(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?qb(Object(a),!0).forEach(function(u){oR(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):qb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function oR(i,n,a){return(n=sR(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function sR(i){var n=cR(i,"string");return Ui(n)=="symbol"?n:n+""}function cR(i,n){if(Ui(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(Ui(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function ua(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var i,n,a=typeof Symbol=="function"?Symbol:{},u=a.iterator||"@@iterator",c=a.toStringTag||"@@toStringTag";function d(A,M,j,N){var W=M&&M.prototype instanceof h?M:h,F=Object.create(W.prototype);return nn(F,"_invoke",(function(Z,J,ut){var q,k,Y,pt=0,Rt=ut||[],et=!1,tt={p:0,n:0,v:i,a:At,f:At.bind(i,4),d:function(Q,V){return q=Q,k=0,Y=i,tt.n=V,f}};function At(Q,V){for(k=Q,Y=V,n=0;!et&&pt&&!C&&n<Rt.length;n++){var C,z=Rt[n],X=tt.p,K=z[2];Q>3?(C=K===V)&&(Y=z[(k=z[4])?5:(k=3,3)],z[4]=z[5]=i):z[0]<=X&&((C=Q<2&&X<z[1])?(k=0,tt.v=V,tt.n=z[1]):X<K&&(C=Q<3||z[0]>V||V>K)&&(z[4]=Q,z[5]=V,tt.n=K,k=0))}if(C||Q>1)return f;throw et=!0,V}return function(Q,V,C){if(pt>1)throw TypeError("Generator is already running");for(et&&V===1&&At(V,C),k=V,Y=C;(n=k<2?i:Y)||!et;){q||(k?k<3?(k>1&&(tt.n=-1),At(k,Y)):tt.n=Y:tt.v=Y);try{if(pt=2,q){if(k||(Q="next"),n=q[Q]){if(!(n=n.call(q,Y)))throw TypeError("iterator result is not an object");if(!n.done)return n;Y=n.value,k<2&&(k=0)}else k===1&&(n=q.return)&&n.call(q),k<2&&(Y=TypeError("The iterator does not provide a '"+Q+"' method"),k=1);q=i}else if((n=(et=tt.n<0)?Y:Z.call(J,tt))!==f)break}catch(z){q=i,k=1,Y=z}finally{pt=1}}return{value:n,done:et}}})(A,j,N),!0),F}var f={};function h(){}function g(){}function m(){}n=Object.getPrototypeOf;var b=[][u]?n(n([][u]())):(nn(n={},u,function(){return this}),n),v=m.prototype=h.prototype=Object.create(b);function S(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,nn(A,c,"GeneratorFunction")),A.prototype=Object.create(v),A}return g.prototype=m,nn(v,"constructor",m),nn(m,"constructor",g),g.displayName="GeneratorFunction",nn(m,c,"GeneratorFunction"),nn(v),nn(v,c,"Generator"),nn(v,u,function(){return this}),nn(v,"toString",function(){return"[object Generator]"}),(ua=function(){return{w:d,m:S}})()}function nn(i,n,a,u){var c=Object.defineProperty;try{c({},"",{})}catch{c=0}nn=function(d,f,h,g){function m(b,v){nn(d,b,function(S){return this._invoke(b,v,S)})}f?c?c(d,f,{value:h,enumerable:!g,configurable:!g,writable:!g}):d[f]=h:(m("next",0),m("throw",1),m("return",2))},nn(i,n,a,u)}function Vb(i,n,a,u,c,d,f){try{var h=i[d](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(u,c)}function Bd(i){return function(){var n=this,a=arguments;return new Promise(function(u,c){var d=i.apply(n,a);function f(g){Vb(d,u,c,f,h,"next",g)}function h(g){Vb(d,u,c,f,h,"throw",g)}f(void 0)})}}var dR=function(i){var n=i.mountElement,a=i.appPath,u=i.settings,c=i.profile,d=i.config,f=i.language,h=i.apiUrl,g=ee(ct.config),m=g.setConfig,b=ee(ct.general),v=b.theme,S=b.externalAction,A=b.setTheme,M=b.setLanguage,j=b.setMountElement,N=ee(ct.measurement),W=N.configureSdk,F=N.destroy,Z=N.token,J=N.setProfile,ut=N.setApiUrl,q=uR(a,f);return ft.useEffect(function(){var k=N1(d);m(k)},[]),ft.useEffect(function(){q&&(j(n),ut(h),W(u.token,u.refreshToken,u.studyId,a),J(c),Bd(ua().m(function k(){return ua().w(function(Y){for(;;)switch(Y.n){case 0:return Y.n=1,ct.camera.requestPermission();case 1:return Y.a(2,Y.v)}},k)}))(),Xe(mn.APP_LOADED,{version:ct.measurement.getVersion()}))},[q]),ft.useEffect(function(){var k=(function(){var Y=Bd(ua().m(function pt(){return ua().w(function(Rt){for(;;)switch(Rt.n){case 0:Xe(mn.PAGE_UNLOADED);case 1:return Rt.a(2)}},pt)}));return function(){return Y.apply(this,arguments)}})();return window.addEventListener("beforeunload",k),function(){return window.removeEventListener("beforeunload",k)}},[Xe]),ft.useEffect(function(){var k=(function(){var Y=Bd(ua().m(function pt(){var Rt,et,tt,At,Q,V,C,z,X;return ua().w(function(K){for(;;)switch(K.n){case 0:if(!S){K.n=10;break}Rt=gi.SET_THEME,et=gi.SET_LANGUAGE,tt=gi.DESTROY,At=gi.CANCEL,Q=gi.GET_LOGS,V=S.action,C=S.data,X=V,K.n=X===tt?1:X===Rt?3:X===et?4:X===At?5:X===Q?8:9;break;case 1:return ct.camera.stop(),ct.measurement.setMaskVisibility(!1),K.n=2,F();case 2:return _l(new CustomEvent(xl.DESTROYED,{detail:{}})),K.a(3,10);case 3:return A(C.theme),K.a(3,10);case 4:return M(C.language),K.a(3,10);case 5:if(ct.camera.stop(),ct.measurement.setMaskVisibility(!1),ct.measurement.setMaskLoadingState(!0),z=!1,!C.reset){K.n=7;break}return K.n=6,ct.measurement.reset();case 6:z=K.v;case 7:return _l(new CustomEvent(xl.CANCELLED,{detail:{reset:z}})),K.a(3,10);case 8:return _l(new CustomEvent(xl.LOGS,{detail:{logs:Kn(ct.logger.getLogs())}})),K.a(3,10);case 9:console.log("[React]: received action from Measurement Embedded App:",C);case 10:return K.a(2)}},pt)}));return function(){return Y.apply(this,arguments)}})();k()},[S]),!q||!Z?null:yt.jsx(SS,{theme:v==="light"?WS:LS,children:yt.jsx(hS,{children:yt.jsx("div",Yb(Yb({},{className:"height-x5yr21d margin-x1ghz6dp display-x78zum5 flexDirection-xdt5ytf overflow-xb3r6kr","data-style-src":"client/App.tsx:21"}),{},{children:yt.jsx(tR,{})}))})})};function dr(i){"@babel/helpers - typeof";return dr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},dr(i)}function Kb(i,n){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);n&&(u=u.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),a.push.apply(a,u)}return a}function Dl(i){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Kb(Object(a),!0).forEach(function(u){fR(i,u,a[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):Kb(Object(a)).forEach(function(u){Object.defineProperty(i,u,Object.getOwnPropertyDescriptor(a,u))})}return i}function fR(i,n,a){return(n=Xb(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a,i}function hR(i,n){if(!(i instanceof n))throw new TypeError("Cannot call a class as a function")}function Pb(i,n){for(var a=0;a<n.length;a++){var u=n[a];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(i,Xb(u.key),u)}}function mR(i,n,a){return n&&Pb(i.prototype,n),a&&Pb(i,a),Object.defineProperty(i,"prototype",{writable:!1}),i}function Xb(i){var n=pR(i,"string");return dr(n)=="symbol"?n:n+""}function pR(i,n){if(dr(i)!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var u=a.call(i,n);if(dr(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(i)}function gR(i,n,a){return n=Lo(n),bR(i,Qb()?Reflect.construct(n,a||[],Lo(i).constructor):n.apply(i,a))}function bR(i,n){if(n&&(dr(n)=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yR(i)}function yR(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}function Qb(){try{var i=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Qb=function(){return!!i})()}function Lo(i){return Lo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Lo(i)}function vR(i,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(n&&n.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),n&&jd(i,n)}function jd(i,n){return jd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,u){return a.__proto__=u,a},jd(i,n)}var SR=(function(i){function n(a){var u;return hR(this,n),u=gR(this,n,[a]),u.state={hasError:!1},u}return vR(n,i),mR(n,[{key:"componentDidCatch",value:function(a,u){console.error("AppErrorBoundary caught an error:",a,u)}},{key:"render",value:function(){return this.state.hasError?this.props.fallback?this.props.fallback:yt.jsxs("div",Dl(Dl({},{className:"display-x78zum5 flexDirection-xdt5ytf alignItems-x6s0dn4 justifyContent-xl56j7k minHeight-xg6iff7 padding-x1qhigcl fontFamily-x6n8kwa textAlign-x2b8uid backgroundColor-xmiktxe","data-style-src":"AppErrorBoundary/index.tsx:5"}),{},{children:[yt.jsx("h1",Dl(Dl({},{className:"color-x10bj97 marginBottom-x1yztbdb","data-style-src":"AppErrorBoundary/index.tsx:16"}),{},{children:"Something went wrong"})),yt.jsx("p",Dl(Dl({},{className:"color-x36lisw marginBottom-x1hq5gj4 maxWidth-x1j9u4d2","data-style-src":"AppErrorBoundary/index.tsx:20"}),{},{children:"An unexpected error occurred. Please refresh the page to try again."})),yt.jsx("button",Dl(Dl({onClick:function(){return window.location.reload()},"aria-label":"Refresh page to recover from error"},{className:"padding-x1ff1495 backgroundColor-x1lh7yn1 color-x1awj2ng border-x1gs6z28 borderRadius-x12oqio5 cursor-x1ypdohk fontSize-xif65rj","data-style-src":"AppErrorBoundary/index.tsx:25"}),{},{children:"Refresh Page"})),!1]})):this.props.children}}],[{key:"getDerivedStateFromError",value:function(a){return{hasError:!0,error:a}}}])})(ft.Component);const ER={init:function(i,n,a,u,c,d,f){Lv.createRoot(i).render(yt.jsx(SR,{children:yt.jsx(dR,{mountElement:i,settings:a,profile:u,appPath:n,apiUrl:c,config:d,language:f})}))}};export{ER as app};
package/dist/stylex.css CHANGED
@@ -31,8 +31,8 @@
31
31
  margin: auto;
32
32
  }
33
33
 
34
- .padding-x1vy5iyh {
35
- padding: .75rem 0 3rem;
34
+ .padding-xxm6lfi {
35
+ padding: .75rem 0 1rem;
36
36
  }
37
37
 
38
38
  .padding-xc7ga6q {
package/lib/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var Lt="0.1.0-beta.5";const U={RESULTS:"results",ERROR:"error",APPEVENT:"appEvent",CANCELLED:"cancelled",DESTROYED:"destroyed",LOGS:"logs"};var Ye=(t=>(t.measurement="Measurement",t.collector="Collector",t.camera="Camera",t.app="App",t))(Ye||{});const N={INFO:"INFO",WARN:"WARN",ERROR:"ERROR"},L={CAMERA_STARTED:"CAMERA_STARTED",APP_LOADED:"APP_LOADED",MEASUREMENT_PREPARED:"MEASUREMENT_PREPARED",ASSETS_DOWNLOADED:"ASSETS_DOWNLOADED",MEASUREMENT_STARTED:"MEASUREMENT_STARTED",MEASUREMENT_COMPLETED:"MEASUREMENT_COMPLETED",CAMERA_PERMISSION_GRANTED:"CAMERA_PERMISSION_GRANTED",INTERMEDIATE_RESULTS:"INTERMEDIATE_RESULTS",RESULTS_RECEIVED:"RESULTS_RECEIVED",MEASUREMENT_CANCELED:"MEASUREMENT_CANCELED",CONSTRAINT_VIOLATION:"CONSTRAINT_VIOLATION",PAGE_UNLOADED:"PAGE_UNLOADED",PAGE_VISIBILITY_CHANGE:"PAGE_VISIBILITY_CHANGE"},Dt={CAMERA_STARTED:{event:L.CAMERA_STARTED,level:N.INFO},APP_LOADED:{event:L.APP_LOADED,level:N.INFO},MEASUREMENT_PREPARED:{event:L.MEASUREMENT_PREPARED,level:N.INFO},ASSETS_DOWNLOADED:{event:L.ASSETS_DOWNLOADED,level:N.INFO},MEASUREMENT_STARTED:{event:L.MEASUREMENT_STARTED,level:N.INFO},MEASUREMENT_COMPLETED:{event:L.MEASUREMENT_COMPLETED,level:N.INFO},CAMERA_PERMISSION_GRANTED:{event:L.CAMERA_PERMISSION_GRANTED,level:N.INFO},INTERMEDIATE_RESULTS:{event:L.INTERMEDIATE_RESULTS,level:N.INFO},RESULTS_RECEIVED:{event:L.RESULTS_RECEIVED,level:N.INFO},MEASUREMENT_CANCELED:{event:L.MEASUREMENT_CANCELED,level:N.WARN},CONSTRAINT_VIOLATION:{event:L.CONSTRAINT_VIOLATION,level:N.ERROR},PAGE_UNLOADED:{event:L.PAGE_UNLOADED,level:N.INFO},PAGE_VISIBILITY_CHANGE:{event:L.PAGE_VISIBILITY_CHANGE,level:N.INFO}},ne={DESTROY:"destroy",CANCEL:"cancel",SET_THEME:"setTheme",SET_LANGUAGE:"setLanguage",GET_LOGS:"getLogs"};var Je=(t=>(t.CAMERA_PERMISSION_DENIED="CAMERA_PERMISSION_DENIED",t.WORKER_ERROR="WORKER_ERROR",t.PROFILE_INFO_NOT_SET="PROFILE_INFO_NOT_SET",t.NO_DEVICES_FOUND="NO_DEVICES_FOUND",t.PAGE_NOT_VISIBLE="PAGE_NOT_VISIBLE",t.CAMERA_START_FAILED="CAMERA_START_FAILED",t.MEASUREMENT_LOW_SNR="MEASUREMENT_LOW_SNR",t.COLLECTOR="COLLECTOR",t.WEBSOCKET_DISCONNECTED="WEBSOCKET_DISCONNECTED",t.MEASUREMENT_PREPARE_FAILED="MEASUREMENT_PREPARE_FAILED",t))(Je||{}),Xe="0.1.0-beta.2",J=(t=>(t.DELETE="DELETE",t.GET="GET",t.PATCH="PATCH",t.POST="POST",t.PUT="PUT",t.CONNECT="CONNECT",t))(J||{}),H=(t=>(t.ON_BEFORE_REST_CALL_ERROR="ON_BEFORE_REST_CALL_ERROR",t))(H||{});const ze=typeof DedicatedWorkerGlobalScope<"u",_e=async({baseUrl:t,urlFragment:e,method:i,headers:a,data:c},d)=>{const n=`${t}/${e}`;let r={Code:"",Message:""};try{const u=await fetch(n,{method:i,cache:"no-store",credentials:"include",headers:a,...c!=null&&{body:JSON.stringify(c)}}),h=u.headers.get("content-type"),p=u.status.toString();r={Code:"UNSUPPORTED_RESPONSE_CONTENT_TYPE",Message:"UNSUPPORTED_RESPONSE_CONTENT_TYPE"},p==="503"&&(r={Code:"SERVICE_UNAVAILABLE",Message:"Service unavailable"}),p==="429"&&(r={Code:"TOO_MANY_REQUESTS",Message:"Too many requests"}),h!=null&&(h.startsWith("application/json;")&&(r=await u.json()),h.startsWith("text/plain;")&&(r={data:await u.text()}));let S=u.headers;if(ze){const C={};u.headers.forEach((k,O)=>{C[O]=k}),S=C}try{d(p,p==="200"?void 0:r)}catch(C){console.error("Error running onAfterRESTCall callback",C)}return{status:p,headers:S,body:r}}catch(u){return u instanceof SyntaxError?r={Code:"SYNTAX_ERROR",Message:"SYNTAX_ERROR"}:r={Code:"UNEXPECTED_ERROR",Message:"UNEXPECTED_ERROR"},{status:"UNKNOWN",headers:ze?{}:new Headers,body:r}}},ge=()=>new Headers({"Content-Type":"application/json"});var It=Object.defineProperty,xt=(t,e,i)=>e in t?It(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Ft=(t,e,i)=>xt(t,e+"",i);class Me{constructor(e){Ft(this,"parent"),this.parent=e}async onBeforeRESTCall(){try{return this.parent.onBeforeRESTCall(),{Code:"SUCCESS",Message:"SUCCESS"}}catch{return{Code:H.ON_BEFORE_REST_CALL_ERROR,Message:H.ON_BEFORE_REST_CALL_ERROR}}}getDefaults(e){return{baseUrl:JSON.parse(this.parent.getUrl()).http.slice(0,-1),method:J[e],headers:ge()}}getHeaderWithDeviceToken(){const e=ge();return e.set("Authorization",`Bearer ${this.parent.getSession().deviceToken}`),e}getHeaderWithUserToken(){const e=ge();return e.set("Authorization",`Bearer ${this.parent.getSession().userToken}`),e}getHeaderWithSessionEnabled(){const e=ge();return e.set("x-nura-session","true"),e}}class Mt extends Me{async create(e,i){const{Code:a,Message:c}=await this.onBeforeRESTCall();if(a===H.ON_BEFORE_REST_CALL_ERROR)return{status:a,body:{Code:a,Message:c},headers:new Headers};const{status:d,body:n,headers:r}=await _e({...this.getDefaults(J.POST),headers:i==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"measurements",data:e},this.parent.onAfterRESTCall);return d==="200"&&this.parent.setSession({lastMeasurementId:n.ID}),{status:d,body:n,headers:r}}}class Pt extends Me{async retrieveSdkConfigData(e,i){const{Code:a,Message:c}=await this.onBeforeRESTCall();if(a===H.ON_BEFORE_REST_CALL_ERROR)return{status:a,body:{Code:a,Message:c},headers:new Headers};const{status:d,body:n,headers:r}=await _e({...this.getDefaults(J.POST),headers:i==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"studies/sdkconfig",data:e},this.parent.onAfterRESTCall);return d==="200"&&this.parent.setSession({studyCfgData:n.ConfigFile,studyCfgHash:n.MD5Hash}),{status:d,body:n,headers:r}}}class Wt extends Me{async renew(e,i){const{Code:a,Message:c}=await this.onBeforeRESTCall();if(a===H.ON_BEFORE_REST_CALL_ERROR)return{status:a,body:{Code:a,Message:c},headers:new Headers};const{status:d,body:n,headers:r}=await _e({...this.getDefaults(J.POST),headers:i==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"auths/renew",data:e},this.parent.onAfterRESTCall);if(d==="200"){const u=n.Token,h=n.RefreshToken,p={...i==="user"&&{userToken:u,userRefreshToken:h},...i==="device"&&{deviceToken:u,deviceRefreshToken:h}};this.parent.setSession(p)}return{status:d,body:n,headers:r}}async validate(e){const{Code:i,Message:a}=await this.onBeforeRESTCall();return i===H.ON_BEFORE_REST_CALL_ERROR?{status:i,body:{Code:i,Message:a},headers:new Headers}:await _e({...this.getDefaults(J.GET),headers:e==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"auth/v1/validate"},this.parent.onAfterRESTCall)}}var Ut=Object.defineProperty,qe=t=>{throw TypeError(t)},$t=(t,e,i)=>e in t?Ut(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Pe=(t,e,i)=>$t(t,typeof e!="symbol"?e+"":e,i),Ze=(t,e,i)=>e.has(t)||qe("Cannot "+i),We=(t,e,i)=>(Ze(t,e,"read from private field"),i?i.call(t):e.get(t)),Qe=(t,e,i)=>e.has(t)?qe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),we=(t,e,i,a)=>(Ze(t,e,"write to private field"),e.set(t,i),i),oe,X;class Bt{constructor(e){Qe(this,oe,{http:new URL("https://api.deepaffex.ai")}),Qe(this,X),Pe(this,"onBeforeRESTCall"),Pe(this,"onAfterRESTCall"),Pe(this,"http"),we(this,X,{deviceToken:"",deviceRefreshToken:"",userToken:"",userRefreshToken:"",deviceId:"",roleId:"",userId:"",selectedStudy:"",lastMeasurementId:"",studyCfgHash:"",studyCfgData:""}),this.http={measurements:new Mt(this),studies:new Pt(this),auths:new Wt(this)},this.onBeforeRESTCall=e?.onBeforeRESTCall?e.onBeforeRESTCall:()=>{},this.onAfterRESTCall=e?.onAfterRESTCall?e.onAfterRESTCall:()=>{},e?.url!=null&&we(this,oe,e.url)}static new(e){return new this(e??void 0)}getUrl(){return JSON.stringify(We(this,oe))}setUrl(e){we(this,oe,{http:new URL(e)})}getSession(){return We(this,X)}setSession(e){const i=["deviceToken","deviceRefreshToken","userToken","userRefreshToken","deviceId","userId","roleId","selectedStudy","lastMeasurementId","studyCfgHash","studyCfgData"];Object.keys(e).every(d=>i.includes(d)&&typeof e[d]=="string")&&we(this,X,{...We(this,X),...e})}}oe=new WeakMap,X=new WeakMap;const Gt=t=>Bt.new(t);var Ht=Object.defineProperty,et=t=>{throw TypeError(t)},Vt=(t,e,i)=>e in t?Ht(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Kt=(t,e,i)=>Vt(t,e+"",i),jt=(t,e,i)=>e.has(t)||et("Cannot "+i),Yt=(t,e,i)=>e.has(t)?et("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),Ue=(t,e,i)=>(jt(t,e,"access private method"),i),le,$e,tt;let it=t=>new Int8Array(t);class Jt extends EventTarget{constructor(){super(...arguments),Yt(this,le),Kt(this,"canDecompress",!1)}static init(){return new this}dispatch(e,i){this.dispatchEvent(new CustomEvent(e,{detail:i}))}getBytesDownloadedEvent(e,i,a,c){return new CustomEvent("bytesDownloaded",{detail:{bytes:e,uncompressedSize:i,url:a,done:c}})}getBytesDownloadErrorEvent(e,i){return new CustomEvent("downloadedError",{detail:{url:e,error:i}})}decompressBrotli(e){const i=atob(e),a=new Uint8Array(i.length);for(let n=0;n<i.length;n++)a[n]=i.charCodeAt(n);const c=new Int8Array(a.length);for(let n=0;n<a.length;n++)c[n]=a[n]>=128?a[n]-256:a[n];return it(c).buffer}async fetchAsset(e,i,a,c,d){const n=i+a,r=e.find(h=>h.file===a).uncompressedSize,u=(h,p,S,C)=>Ue(this,le,$e).call(this,this.getBytesDownloadedEvent(h,p,S,C));try{const p=(await fetch(n)).body?.getReader();if(!p)throw new Error("Failed to get reader from response body.");let S=0;const C=new ReadableStream({async start(O){await P();async function P(){const{done:G,value:re}=await p.read();if(G){O.close(),u(S,r,n,!0);return}re&&(O.enqueue(re),S+=re.length,u(S,r,n,!1)),await P()}}}),k=new Response(C);if(c){const O=await k.json(),{base64EncodedValue:P}=O;if(d==="gzip"){await Ue(this,le,tt).call(this,P);return}return this.decompressBrotli(P)}else return await k.arrayBuffer()}catch(h){Ue(this,le,$e).call(this,this.getBytesDownloadErrorEvent(n,h))}}}le=new WeakSet,$e=function(t){this.dispatchEvent(t)},tt=async function(t){const e=Uint8Array.from(atob(t),h=>h.charCodeAt(0)),a=new Blob([e]).stream().pipeThrough(new DecompressionStream("gzip")),c=await new Response(a).arrayBuffer(),d=new TextDecoder().decode(new Uint8Array(c)),n=new Blob([d],{type:"application/javascript"}),r=URL.createObjectURL(n);it=(await import(r)).BrotliDecode,this.canDecompress=!0,URL.revokeObjectURL(r)};var Xt=Object.defineProperty,zt=(t,e,i)=>e in t?Xt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,st=(t,e,i)=>zt(t,typeof e!="symbol"?e+"":e,i);class qt{constructor(){st(this,"version",{webSDK:"",extractionLib:{version:"",sdkId:""},faceTracker:""}),st(this,"debugLogs",[])}appendLog(e){this.debugLogs.push(e)}transferLogs(){}generateHTMLTable(){return`
1
+ var Lt="0.1.0-beta.6";const U={RESULTS:"results",ERROR:"error",APPEVENT:"appEvent",CANCELLED:"cancelled",DESTROYED:"destroyed",LOGS:"logs"};var Ye=(t=>(t.measurement="Measurement",t.collector="Collector",t.camera="Camera",t.app="App",t))(Ye||{});const N={INFO:"INFO",WARN:"WARN",ERROR:"ERROR"},L={CAMERA_STARTED:"CAMERA_STARTED",APP_LOADED:"APP_LOADED",MEASUREMENT_PREPARED:"MEASUREMENT_PREPARED",ASSETS_DOWNLOADED:"ASSETS_DOWNLOADED",MEASUREMENT_STARTED:"MEASUREMENT_STARTED",MEASUREMENT_COMPLETED:"MEASUREMENT_COMPLETED",CAMERA_PERMISSION_GRANTED:"CAMERA_PERMISSION_GRANTED",INTERMEDIATE_RESULTS:"INTERMEDIATE_RESULTS",RESULTS_RECEIVED:"RESULTS_RECEIVED",MEASUREMENT_CANCELED:"MEASUREMENT_CANCELED",CONSTRAINT_VIOLATION:"CONSTRAINT_VIOLATION",PAGE_UNLOADED:"PAGE_UNLOADED",PAGE_VISIBILITY_CHANGE:"PAGE_VISIBILITY_CHANGE"},Dt={CAMERA_STARTED:{event:L.CAMERA_STARTED,level:N.INFO},APP_LOADED:{event:L.APP_LOADED,level:N.INFO},MEASUREMENT_PREPARED:{event:L.MEASUREMENT_PREPARED,level:N.INFO},ASSETS_DOWNLOADED:{event:L.ASSETS_DOWNLOADED,level:N.INFO},MEASUREMENT_STARTED:{event:L.MEASUREMENT_STARTED,level:N.INFO},MEASUREMENT_COMPLETED:{event:L.MEASUREMENT_COMPLETED,level:N.INFO},CAMERA_PERMISSION_GRANTED:{event:L.CAMERA_PERMISSION_GRANTED,level:N.INFO},INTERMEDIATE_RESULTS:{event:L.INTERMEDIATE_RESULTS,level:N.INFO},RESULTS_RECEIVED:{event:L.RESULTS_RECEIVED,level:N.INFO},MEASUREMENT_CANCELED:{event:L.MEASUREMENT_CANCELED,level:N.WARN},CONSTRAINT_VIOLATION:{event:L.CONSTRAINT_VIOLATION,level:N.ERROR},PAGE_UNLOADED:{event:L.PAGE_UNLOADED,level:N.INFO},PAGE_VISIBILITY_CHANGE:{event:L.PAGE_VISIBILITY_CHANGE,level:N.INFO}},ne={DESTROY:"destroy",CANCEL:"cancel",SET_THEME:"setTheme",SET_LANGUAGE:"setLanguage",GET_LOGS:"getLogs"};var Je=(t=>(t.CAMERA_PERMISSION_DENIED="CAMERA_PERMISSION_DENIED",t.WORKER_ERROR="WORKER_ERROR",t.PROFILE_INFO_NOT_SET="PROFILE_INFO_NOT_SET",t.NO_DEVICES_FOUND="NO_DEVICES_FOUND",t.PAGE_NOT_VISIBLE="PAGE_NOT_VISIBLE",t.CAMERA_START_FAILED="CAMERA_START_FAILED",t.MEASUREMENT_LOW_SNR="MEASUREMENT_LOW_SNR",t.COLLECTOR="COLLECTOR",t.WEBSOCKET_DISCONNECTED="WEBSOCKET_DISCONNECTED",t.MEASUREMENT_PREPARE_FAILED="MEASUREMENT_PREPARE_FAILED",t))(Je||{}),Xe="0.1.0-beta.2",J=(t=>(t.DELETE="DELETE",t.GET="GET",t.PATCH="PATCH",t.POST="POST",t.PUT="PUT",t.CONNECT="CONNECT",t))(J||{}),H=(t=>(t.ON_BEFORE_REST_CALL_ERROR="ON_BEFORE_REST_CALL_ERROR",t))(H||{});const ze=typeof DedicatedWorkerGlobalScope<"u",_e=async({baseUrl:t,urlFragment:e,method:i,headers:a,data:c},d)=>{const n=`${t}/${e}`;let r={Code:"",Message:""};try{const u=await fetch(n,{method:i,cache:"no-store",credentials:"include",headers:a,...c!=null&&{body:JSON.stringify(c)}}),h=u.headers.get("content-type"),p=u.status.toString();r={Code:"UNSUPPORTED_RESPONSE_CONTENT_TYPE",Message:"UNSUPPORTED_RESPONSE_CONTENT_TYPE"},p==="503"&&(r={Code:"SERVICE_UNAVAILABLE",Message:"Service unavailable"}),p==="429"&&(r={Code:"TOO_MANY_REQUESTS",Message:"Too many requests"}),h!=null&&(h.startsWith("application/json;")&&(r=await u.json()),h.startsWith("text/plain;")&&(r={data:await u.text()}));let S=u.headers;if(ze){const C={};u.headers.forEach((k,O)=>{C[O]=k}),S=C}try{d(p,p==="200"?void 0:r)}catch(C){console.error("Error running onAfterRESTCall callback",C)}return{status:p,headers:S,body:r}}catch(u){return u instanceof SyntaxError?r={Code:"SYNTAX_ERROR",Message:"SYNTAX_ERROR"}:r={Code:"UNEXPECTED_ERROR",Message:"UNEXPECTED_ERROR"},{status:"UNKNOWN",headers:ze?{}:new Headers,body:r}}},ge=()=>new Headers({"Content-Type":"application/json"});var It=Object.defineProperty,xt=(t,e,i)=>e in t?It(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Ft=(t,e,i)=>xt(t,e+"",i);class Me{constructor(e){Ft(this,"parent"),this.parent=e}async onBeforeRESTCall(){try{return this.parent.onBeforeRESTCall(),{Code:"SUCCESS",Message:"SUCCESS"}}catch{return{Code:H.ON_BEFORE_REST_CALL_ERROR,Message:H.ON_BEFORE_REST_CALL_ERROR}}}getDefaults(e){return{baseUrl:JSON.parse(this.parent.getUrl()).http.slice(0,-1),method:J[e],headers:ge()}}getHeaderWithDeviceToken(){const e=ge();return e.set("Authorization",`Bearer ${this.parent.getSession().deviceToken}`),e}getHeaderWithUserToken(){const e=ge();return e.set("Authorization",`Bearer ${this.parent.getSession().userToken}`),e}getHeaderWithSessionEnabled(){const e=ge();return e.set("x-nura-session","true"),e}}class Mt extends Me{async create(e,i){const{Code:a,Message:c}=await this.onBeforeRESTCall();if(a===H.ON_BEFORE_REST_CALL_ERROR)return{status:a,body:{Code:a,Message:c},headers:new Headers};const{status:d,body:n,headers:r}=await _e({...this.getDefaults(J.POST),headers:i==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"measurements",data:e},this.parent.onAfterRESTCall);return d==="200"&&this.parent.setSession({lastMeasurementId:n.ID}),{status:d,body:n,headers:r}}}class Pt extends Me{async retrieveSdkConfigData(e,i){const{Code:a,Message:c}=await this.onBeforeRESTCall();if(a===H.ON_BEFORE_REST_CALL_ERROR)return{status:a,body:{Code:a,Message:c},headers:new Headers};const{status:d,body:n,headers:r}=await _e({...this.getDefaults(J.POST),headers:i==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"studies/sdkconfig",data:e},this.parent.onAfterRESTCall);return d==="200"&&this.parent.setSession({studyCfgData:n.ConfigFile,studyCfgHash:n.MD5Hash}),{status:d,body:n,headers:r}}}class Wt extends Me{async renew(e,i){const{Code:a,Message:c}=await this.onBeforeRESTCall();if(a===H.ON_BEFORE_REST_CALL_ERROR)return{status:a,body:{Code:a,Message:c},headers:new Headers};const{status:d,body:n,headers:r}=await _e({...this.getDefaults(J.POST),headers:i==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"auths/renew",data:e},this.parent.onAfterRESTCall);if(d==="200"){const u=n.Token,h=n.RefreshToken,p={...i==="user"&&{userToken:u,userRefreshToken:h},...i==="device"&&{deviceToken:u,deviceRefreshToken:h}};this.parent.setSession(p)}return{status:d,body:n,headers:r}}async validate(e){const{Code:i,Message:a}=await this.onBeforeRESTCall();return i===H.ON_BEFORE_REST_CALL_ERROR?{status:i,body:{Code:i,Message:a},headers:new Headers}:await _e({...this.getDefaults(J.GET),headers:e==="device"?this.getHeaderWithDeviceToken():this.getHeaderWithUserToken(),urlFragment:"auth/v1/validate"},this.parent.onAfterRESTCall)}}var Ut=Object.defineProperty,qe=t=>{throw TypeError(t)},$t=(t,e,i)=>e in t?Ut(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Pe=(t,e,i)=>$t(t,typeof e!="symbol"?e+"":e,i),Ze=(t,e,i)=>e.has(t)||qe("Cannot "+i),We=(t,e,i)=>(Ze(t,e,"read from private field"),i?i.call(t):e.get(t)),Qe=(t,e,i)=>e.has(t)?qe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),we=(t,e,i,a)=>(Ze(t,e,"write to private field"),e.set(t,i),i),oe,X;class Bt{constructor(e){Qe(this,oe,{http:new URL("https://api.deepaffex.ai")}),Qe(this,X),Pe(this,"onBeforeRESTCall"),Pe(this,"onAfterRESTCall"),Pe(this,"http"),we(this,X,{deviceToken:"",deviceRefreshToken:"",userToken:"",userRefreshToken:"",deviceId:"",roleId:"",userId:"",selectedStudy:"",lastMeasurementId:"",studyCfgHash:"",studyCfgData:""}),this.http={measurements:new Mt(this),studies:new Pt(this),auths:new Wt(this)},this.onBeforeRESTCall=e?.onBeforeRESTCall?e.onBeforeRESTCall:()=>{},this.onAfterRESTCall=e?.onAfterRESTCall?e.onAfterRESTCall:()=>{},e?.url!=null&&we(this,oe,e.url)}static new(e){return new this(e??void 0)}getUrl(){return JSON.stringify(We(this,oe))}setUrl(e){we(this,oe,{http:new URL(e)})}getSession(){return We(this,X)}setSession(e){const i=["deviceToken","deviceRefreshToken","userToken","userRefreshToken","deviceId","userId","roleId","selectedStudy","lastMeasurementId","studyCfgHash","studyCfgData"];Object.keys(e).every(d=>i.includes(d)&&typeof e[d]=="string")&&we(this,X,{...We(this,X),...e})}}oe=new WeakMap,X=new WeakMap;const Gt=t=>Bt.new(t);var Ht=Object.defineProperty,et=t=>{throw TypeError(t)},Vt=(t,e,i)=>e in t?Ht(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Kt=(t,e,i)=>Vt(t,e+"",i),jt=(t,e,i)=>e.has(t)||et("Cannot "+i),Yt=(t,e,i)=>e.has(t)?et("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),Ue=(t,e,i)=>(jt(t,e,"access private method"),i),le,$e,tt;let it=t=>new Int8Array(t);class Jt extends EventTarget{constructor(){super(...arguments),Yt(this,le),Kt(this,"canDecompress",!1)}static init(){return new this}dispatch(e,i){this.dispatchEvent(new CustomEvent(e,{detail:i}))}getBytesDownloadedEvent(e,i,a,c){return new CustomEvent("bytesDownloaded",{detail:{bytes:e,uncompressedSize:i,url:a,done:c}})}getBytesDownloadErrorEvent(e,i){return new CustomEvent("downloadedError",{detail:{url:e,error:i}})}decompressBrotli(e){const i=atob(e),a=new Uint8Array(i.length);for(let n=0;n<i.length;n++)a[n]=i.charCodeAt(n);const c=new Int8Array(a.length);for(let n=0;n<a.length;n++)c[n]=a[n]>=128?a[n]-256:a[n];return it(c).buffer}async fetchAsset(e,i,a,c,d){const n=i+a,r=e.find(h=>h.file===a).uncompressedSize,u=(h,p,S,C)=>Ue(this,le,$e).call(this,this.getBytesDownloadedEvent(h,p,S,C));try{const p=(await fetch(n)).body?.getReader();if(!p)throw new Error("Failed to get reader from response body.");let S=0;const C=new ReadableStream({async start(O){await P();async function P(){const{done:G,value:re}=await p.read();if(G){O.close(),u(S,r,n,!0);return}re&&(O.enqueue(re),S+=re.length,u(S,r,n,!1)),await P()}}}),k=new Response(C);if(c){const O=await k.json(),{base64EncodedValue:P}=O;if(d==="gzip"){await Ue(this,le,tt).call(this,P);return}return this.decompressBrotli(P)}else return await k.arrayBuffer()}catch(h){Ue(this,le,$e).call(this,this.getBytesDownloadErrorEvent(n,h))}}}le=new WeakSet,$e=function(t){this.dispatchEvent(t)},tt=async function(t){const e=Uint8Array.from(atob(t),h=>h.charCodeAt(0)),a=new Blob([e]).stream().pipeThrough(new DecompressionStream("gzip")),c=await new Response(a).arrayBuffer(),d=new TextDecoder().decode(new Uint8Array(c)),n=new Blob([d],{type:"application/javascript"}),r=URL.createObjectURL(n);it=(await import(r)).BrotliDecode,this.canDecompress=!0,URL.revokeObjectURL(r)};var Xt=Object.defineProperty,zt=(t,e,i)=>e in t?Xt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,st=(t,e,i)=>zt(t,typeof e!="symbol"?e+"":e,i);class qt{constructor(){st(this,"version",{webSDK:"",extractionLib:{version:"",sdkId:""},faceTracker:""}),st(this,"debugLogs",[])}appendLog(e){this.debugLogs.push(e)}transferLogs(){}generateHTMLTable(){return`
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuralogix.ai/web-measurement-embedded-app",
3
- "version": "0.1.0-beta.5",
3
+ "version": "0.1.0-beta.6",
4
4
  "description": "Web Measurement Embedded App",
5
5
  "homepage": "https://docs.deepaffex.ai/wmea/",
6
6
  "contributors": [