1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44],{101:(e,t,n)=>{n.r(t),n.d(t,{TrackedLink:()=>s});var r=n(5155);n(2115);var a=n(2619),i=n.n(a),l=n(8901);function s(e){let{eventName:t,eventPayload:n,onClick:a,...s}=e;return(0,r.jsx)(i(),{...s,onClick:e=>{t&&(0,l.$)(t,null!=n?n:{}),null==a||a(e)}})}},366:(e,t,n)=>{n.d(t,{g:()=>D});var r=n(5155),a=n(2115),i=n(7879),l=n(5826),s=n(8901);let c=null;async function o(e){let{frequency:t,durationMs:n=900,signal:r}=e;if(null==r?void 0:r.aborted)return;let a=function(){if(!c){let e=window.AudioContext||window.webkitAudioContext;if(!e)return null;c=new e}return c}();if(!a)throw Error("audio-unavailable");if("suspended"===a.state&&await a.resume(),null==r?void 0:r.aborted)return;let i=a.createOscillator(),l=a.createGain();i.type="sine",i.frequency.value=t,l.gain.setValueAtTime(1e-4,a.currentTime),l.gain.exponentialRampToValueAtTime(.18,a.currentTime+.06),l.gain.exponentialRampToValueAtTime(1e-4,a.currentTime+n/1e3),i.connect(l),l.connect(a.destination),i.start(),i.stop(a.currentTime+n/1e3+.05),await new Promise(e=>{let t=!1,a=()=>{t||(t=!0,null==r||r.removeEventListener("abort",s),e())},s=()=>{window.clearTimeout(c);try{i.stop()}catch(e){}i.disconnect(),l.disconnect(),a()},c=window.setTimeout(a,n+80);null==r||r.addEventListener("abort",s,{once:!0}),(null==r?void 0:r.aborted)&&s()})}var u=n(9049);let d={first:"First attempt",practice:"Practice attempt",historical_practice:"Historical practice"};var h=n(6692);function m(e,t){return"daily:".concat(e,":").concat(t)}function g(e,t){return Array.isArray(e)&&e.every(e=>"number"==typeof e&&Number.isFinite(e)&&t(e))}function p(e){if(!e)return null;try{let t=JSON.parse(e);return 1===t.schemaVersion&&"string"==typeof t.challengeDate&&"string"==typeof t.rulesVersion&&("in_progress"===t.status||"completed"===t.status)&&g(t.submittedAnswers,e=>e>=i.dH.controls.min&&e<=i.dH.controls.max)&&g(t.submittedScores,e=>e>=0&&e<=10)&&t.submittedAnswers.length===t.submittedScores.length&&t.submittedAnswers.length<=5&&("completed"===t.status||t.submittedAnswers.length<5)&&"number"==typeof t.currentToneIndex&&Number.isInteger(t.currentToneIndex)&&t.currentToneIndex>=0&&t.currentToneIndex<=5&&t.currentToneIndex===t.submittedAnswers.length&&"string"==typeof t.attemptId&&t.attemptId.length>0&&("completed"!==t.status||5===t.submittedAnswers.length&&"number"==typeof t.firstScore&&Number.isFinite(t.firstScore)&&t.firstScore>=0&&t.firstScore<=50&&"string"==typeof t.completedAt&&t.completedAt.length>0)?t:null}catch(e){return null}}function v(e,t,n){try{let r=p(e.getItem(m(t,n)));return{progress:(null==r?void 0:r.challengeDate)===t&&r.rulesVersion===n?r:null,storageFailed:!1}}catch(e){return{progress:null,storageFailed:!0}}}async function f(e){let t;try{t="undefined"==typeof navigator?void 0:navigator.locks}catch(e){t=void 0}if(t)try{return await t.request("daily-progress",()=>e(!0))}catch(e){}return e(!1)}async function y(e,t,n,r){return f(()=>(function(e,t,n,r){try{let a=m(t,n),i=p(JSON.stringify({...r,challengeDate:t,rulesVersion:n}));if(!i)return!1;let l=p(e.getItem(a)),s=(null==l?void 0:l.challengeDate)===t&&l.rulesVersion===n?l:null;return e.setItem(a,JSON.stringify((null==s?void 0:s.status)==="completed"?s:s&&"completed"!==i.status?i.currentToneIndex>=s.currentToneIndex?i:s:i)),!0}catch(e){return!1}})(e,t,n,r))}async function w(e,t,n,r){return f(a=>(function(e,t,n,r,a){try{let i=m(t,n),l=p(JSON.stringify({...r,challengeDate:t,rulesVersion:n}));if((null==l?void 0:l.status)!=="completed")return{outcome:"invalid_progress",progress:null,authoritative:a};let s=p(e.getItem(i)),c=(null==s?void 0:s.challengeDate)===t&&s.rulesVersion===n?s:null;if((null==c?void 0:c.status)==="completed")return{outcome:"existing_completed",progress:c,authoritative:a};return e.setItem(i,JSON.stringify(l)),{outcome:"saved",progress:l,authoritative:a}}catch(e){return{outcome:"storage_failed",progress:null,authoritative:a}}})(e,t,n,r,a))}function b(e,t){let n=[];try{for(let r=0;r<e.length;r+=1){let a=e.key(r),i=null==a?void 0:a.match(/^daily:(\d{4}-\d{2}-\d{2}):(.+)$/);if((null==i?void 0:i[2])===t&&a){let t=p(e.getItem(a));(null==t?void 0:t.status)==="completed"&&t.challengeDate===i[1]&&t.rulesVersion===i[2]&&n.push(i[1])}}}catch(e){return[]}return n.sort()}function x(e,t){let n=new Set(e),r=new Date("".concat(t,"T00:00:00.000Z")),a=0;for(;n.has((0,h.ML)(r));)a+=1,r=new Date(r.getTime()-864e5);return a}
1async function k(e){return f(()=>(function(e){try{let t=Array.from({length:e.length},(t,n)=>e.key(n)).filter(e=>!!(null==e?void 0:e.startsWith("daily:")));return t.forEach(t=>e.removeItem(t)),t.length}catch(e){return 0}})(e))}let T=i.dH.controls.min,_=i.dH.controls.max,S=i.dH.controls.defaultValue,j=_-T;function N(e,t,n){return Math.max(t,Math.min(n,e))}function C(e){return Math.round(10*e)/10}function A(e){return Math.round((0,l.R8)(N(e,0,1),T,_))}function R(){try{return window.localStorage}catch(e){return null}}function M(e){let{amplitude:t,frequency:n,drift:i,speed:l}=e,[s,c]=(0,a.useState)(0),o=(0,a.useRef)(l);(0,a.useEffect)(()=>{o.current=l},[l]),(0,a.useEffect)(()=>{var e,t,n;let r=0,a=null==(e=(t=window).matchMedia)?void 0:e.call(t,"(prefers-reduced-motion: reduce)"),i=()=>{c(e=>e+o.current),r=window.requestAnimationFrame(i)},l=()=>{window.cancelAnimationFrame(r),r=0,"visible"!==document.visibilityState||(null==a?void 0:a.matches)||(r=window.requestAnimationFrame(i))};return l(),document.addEventListener("visibilitychange",l),null==a||null==(n=a.addEventListener)||n.call(a,"change",l),()=>{var e;window.cancelAnimationFrame(r),document.removeEventListener("visibilitychange",l),null==a||null==(e=a.removeEventListener)||e.call(a,"change",l)}},[]);let u=(0,a.useMemo)(()=>(function(e){let{width:t,height:n,phase:r,amplitude:a,frequency:i,drift:l}=e,s=n/2,c=[];for(let e=0;e<=t;e+=8){let n=e/t,o=s+(Math.sin(n*i*Math.PI*2+r)*a+Math.sin(.6*i*n*Math.PI*2+.7*r)*l);c.push("".concat(0===e?"M":"L"," ").concat(e.toFixed(1)," ").concat(o.toFixed(1)))}return c.join(" ")})({width:640,height:240,phase:s,amplitude:t,frequency:n,drift:i}),[t,i,n,s]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("svg",{className:"live-wave-canvas live-wave-canvas-back",viewBox:"0 0 640 240",preserveAspectRatio:"none","aria-hidden":"true",children:(0,r.jsx)("path",{d:u})}),(0,r.jsx)("svg",{className:"live-wave-canvas live-wave-canvas-front",viewBox:"0 0 640 240",preserveAspectRatio:"none","aria-hidden":"true",children:(0,r.jsx)("path",{d:u})})]})}function D(e){var t,n;let{challenge:c,entrySurface:g,framing:f,mode:D,onModeRequest:E,source:H,startSignal:L=0,showIntroActions:P=!0}=e,{currentStreak:V,bestStreak:q,currentRound:G,roundScores:F,currentDifficulty:I,onRoundComplete:z,resetStreak:B,continueStreak:U}=function(){let[e,t]=(0,a.useState)({currentStreak:0,bestStreak:0,currentRound:1,roundScores:[]}),n=(0,a.useMemo)(()=>(0,l.Cg)(e.currentRound),[e.currentRound]),r=(0,a.useCallback)(e=>(t(t=>{let n=e>=30?t.currentStreak+1:0,r=Math.max(t.bestStreak,n);return{currentStreak:n,bestStreak:r,currentRound:t.currentRound+1,roundScores:[...t.roundScores,e]}}),e>=30),[]),i=(0,a.useCallback)(()=>{t({currentStreak:0,bestStreak:0,currentRound:1,roundScores:[]})},[]),s=(0,a.useCallback)(()=>{},[]);return{...e,currentDifficulty:n,onRoundComplete:r,resetStreak:i,continueStreak:s}}(),{startAudition:O,glideTo:$,setFeedback:Y,stopAudition:J}=function(){let e=(0,a.useRef)(null),t=(0,a.useRef)(null),n=(0,a.useRef)(null),r=(0,a.useRef)(0);(0,a.useEffect)(()=>{let a=window.AudioContext||window.webkitAudioContext;if(!a)return;let i=new a,l=i.createOscillator(),s=i.createGain();return l.type="sine",l.frequency.value=440,l.detune.value=0,s.gain.value=0,l.connect(s),s.connect(i.destination),l.start(),e.current=l,t.current=s,n.current=i,()=>{r.current+=1;try{l.stop()}catch(e){}l.disconnect(),s.disconnect(),e.current=null,t.current=null,"closed"!==i.state&&i.close(),n.current=null}},[]);let i=(0,a.useCallback)(function(){var r;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.current,l=t.current,s=n.current;if(!i||!l||!s)return;let c=Math.max(0,Math.min(1,null!=(r=a.energy)?r:.2));l.gain.cancelScheduledValues(s.currentTime),l.gain.setValueAtTime(l.gain.value,s.currentTime),l.gain.linearRampToValueAtTime(.14+.04*c,s.currentTime+.05),i.detune.cancelScheduledValues(s.currentTime),i.detune.setTargetAtTime(0,s.currentTime,.03)},[]),l=(0,a.useCallback)(async function(a){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=++r.current,c=n.current,o=e.current,u=t.current;if(!c||!o||!u)throw Error("audio-unavailable");"suspended"===c.state&&await c.resume(),s===r.current&&(o.frequency.setValueAtTime(Math.max(1,a),c.currentTime),u.gain.cancelScheduledValues(c.currentTime),u.gain.setValueAtTime(u.gain.value,c.currentTime),u.gain.linearRampToValueAtTime(.16,c.currentTime+.03),i(l))},[i]),s=(0,a.useCallback)(function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=e.current,l=n.current;
1a&&l&&(a.frequency.setTargetAtTime(Math.max(1,t),l.currentTime,.01),i(r))},[i]);return{startAudition:l,glideTo:s,setFeedback:(0,a.useCallback)(function(e){i(e)},[i]),stopAudition:(0,a.useCallback)(function(){r.current+=1;let e=t.current,a=n.current;e&&a&&(e.gain.cancelScheduledValues(a.currentTime),e.gain.setValueAtTime(e.gain.value,a.currentTime),e.gain.linearRampToValueAtTime(0,a.currentTime+.1))},[])}}(),[W,K]=(0,a.useState)("pre-play"),[Q,X]=(0,a.useState)(c.sequence),[Z,ee]=(0,a.useState)(c),[et,en]=(0,a.useState)(D),[er,ea]=(0,a.useState)(0),[ei,el]=(0,a.useState)([]),[es,ec]=(0,a.useState)([]),[eo,eu]=(0,a.useState)(S),[ed,eh]=(0,a.useState)(null),[em,eg]=(0,a.useState)(""),[ep,ev]=(0,a.useState)(""),[ef,ey]=(0,a.useState)(""),[ew,eb]=(0,a.useState)("first"),[ex,ek]=(0,a.useState)(0),[eT,e_]=(0,a.useState)(!1),[eS,ej]=(0,a.useState)(!1),[eN,eC]=(0,a.useState)(!1),[eA,eR]=(0,a.useState)(!1),[eM,eD]=(0,a.useState)(0),eE=(0,a.useRef)(L),eH=(0,a.useRef)(!1),eL=(0,a.useRef)(!1),eP=(0,a.useRef)(!1),eV=(0,a.useRef)(S),eq=(0,a.useRef)(null),eG=(0,a.useRef)(S),eF=(0,a.useRef)(0),eI=(0,a.useRef)(0),ez=(0,a.useRef)(null),eB=(0,a.useRef)(0),eU=(0,a.useRef)(!1),eO=(0,a.useRef)(null),e$=(0,a.useRef)(""),eY=(0,a.useRef)("first"),eJ=(0,a.useRef)(""),eW=(0,a.useMemo)(()=>100*(0,l.Jo)(eo,T,_),[eo]),eK=null!=(n=null!=(t=Q[er])?t:Q[0])?n:S,eQ=(null!=ed?ed:0)>=30,eX=1-N(Math.abs(eK-eo)/j,0,1),eZ="daily"===et?.5:eX,e0=18+(1-eZ)*42+10*eM,e1=4+(1-eZ)*18,e5=function(e){let{lockFlash:t,mode:n,dragging:r,auditioning:a,proximity:i}=e;return t?"Tone locked":"daily"===n?r?"Signal moving":a?"Signal live":"Touch to tune":r?i>.82?"Signal settling":i>.58?"Hold the line":"Wave in resistance":a&&i>.72?"Close and steady":a?"Signal live":"Touch to tune"}({lockFlash:eA,mode:et,dragging:eN,auditioning:eS,proximity:eZ});function e2(e,t,n){"completed"===e.status&&void 0!==e.firstScore&&(J(),e$.current=e.attemptId,eY.current="first",eb("first"),ee(t),en("daily"),X(t.sequence),ea(t.sequence.length),el(e.submittedAnswers),ec(e.submittedScores),eh(e.firstScore),ek(x(b(n,t.rulesVersion),t.date)),eg(""),ev(""),e_(!0),K("scored"))}function e4(){var e;return eI.current+=1,null==(e=ez.current)||e.abort(),ez.current=null,eU.current=!1,null!==eO.current&&(window.clearTimeout(eO.current),eO.current=null),eI.current}function e8(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Z,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:et;return{game_type:i.dH.slug,mode:t,entry_surface:g,challenge_id:e.id,challenge_date:e.date,rules_version:e.rulesVersion,attempt_id:e$.current,attempt_type:eY.current}}async function e6(e,t,n,r){var a;let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Z,l=e[t];if(!l)return;K("listening"),eC(!1),eR(!1),eD(0),eH.current=!1,(0,s.$)(s.s.toneStarted,{...e8(i,r),tone_index:t+1,source:H}),null==(a=ez.current)||a.abort();let c=new AbortController;ez.current=c;try{if(await o({frequency:l,durationMs:"daily"===r?h.VN:I.playbackMs,signal:c.signal}),n!==eI.current)return;eU.current=!1,K("recall")}catch(e){if(n!==eI.current)return;K("blocked"),(0,s.$)(s.s.gameBlocked,{...e8(i,r),reason:"audio_blocked",source:H})}}async function e3(e){var t,n,r,a;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=e4(),u="daily"===e?c:{id:"free-play-".concat(Date.now()),date:c.date,kind:"free-play",sequence:(0,l.Rj)(I),label:"Free play",rulesVersion:"free-play"},d=0,m=[],g=[],p="free-play"===e||i?"practice":"first",f=null!=(r=null==(n=globalThis.crypto)||null==(t=n.randomUUID)?void 0:t.call(n))?r:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));if("daily"===e){if(u.date<(0,h.ML)())p="historical_practice";else if(!i){let e=R(),t=e?v(e,u.date,u.rulesVersion):{progress:null,storageFailed:!0};if(t.storageFailed)ey("Daily progress cannot be saved here. This visit will still work.");else if((null==(a=t.progress)?void 0:a.status)==="completed"){e&&e2(t.progress,u,e);return}else t.progress&&(d=Math.min(t.progress.currentToneIndex,u.sequence.length-1),m=t.progress.submittedAnswers.slice(0,d),g=t.progress.submittedScores.slice(0,d),f=t.progress.attemptId)}}e$.current=f,eY.current=p,eb(p),ee(u),en(e),X(u.sequence),ea(d),el(m),ec(g),eu(S),eh(null),e_(!1),eg(""),ev(""),J(),eB.current+=1,ej(!1),eC(!1),eR(!1),eD(0),eH.current=!1,eL.current=!1,eP.current=!1,eV.current=S,eG.current=S,eF.current=0,(0,s.$)(s.s.gameStart,{...e8(u,e),source:H,round:G,difficulty:I.tier}),await e6(u.sequence,d,o,e,u)}async function e9(){if(eU.current)return;let e=e4();
1J(),eB.current+=1,ej(!1),eL.current=!1,eP.current=!1,eV.current=eo,eD(0),await e6(Q,er,e,et,Z)}async function e7(e,t,n){var r;if("daily"!==et||"first"!==eY.current)return;let a=R();if(!a)return void ey("Daily progress cannot be saved here. This visit will still work.");let i={schemaVersion:1,challengeDate:Z.date,rulesVersion:Z.rulesVersion,submittedAnswers:e,submittedScores:t,currentToneIndex:e.length,attemptId:e$.current};if(void 0!==n){let e=await w(a,Z.date,Z.rulesVersion,{...i,status:"completed",firstScore:n,completedAt:new Date().toISOString()});if("existing_completed"===e.outcome){eY.current="practice",eb("practice"),ey("This challenge was already completed elsewhere. This round is practice.");return}return"saved"!==e.outcome?void ey("Daily progress cannot be saved here. This visit will still work."):void("first"===eY.current&&ek(x(b(a,Z.rulesVersion),Z.date)))}if((null==(r=v(a,Z.date,Z.rulesVersion).progress)?void 0:r.status)==="completed"){eY.current="practice",eb("practice"),ey("This challenge was already completed elsewhere. This round is practice.");return}await y(a,Z.date,Z.rulesVersion,{...i,status:"in_progress"})||ey("Daily progress cannot be saved here. This visit will still work.")}function te(e){return{energy:N(e,0,1)}}async function tt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.3;eV.current=e;let n=te(t);if(eL.current)return void $(e,n);if(eP.current)return;let r=++eB.current;try{if(eP.current=!0,await O(e,n),r!==eB.current)return;eL.current=!0,ej(!0);let a=te(t);Y(a),$(eV.current,a)}catch(e){if(r!==eB.current)return;eL.current=!1,K("blocked")}finally{r===eB.current&&(eP.current=!1)}}function tn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.28,n=N(Math.round(e),T,_);eu(n),eG.current=n,eD(t),"recall"===W&&tt(n,t)}function tr(){eB.current+=1,J(),eL.current=!1,eP.current=!1,ej(!1),eC(!1),eD(0),eH.current=!1}function ta(e){let t=eq.current;if(!t)return eo;let n=t.getBoundingClientRect();if(n.width<=0||n.height<=0)return eo;let r=A(N(1-(e-n.top)/n.height,0,1)),a="undefined"!=typeof performance?performance.now():Date.now(),i=Math.max(16,a-eF.current||16),l=N(6*(Math.abs(r-eG.current)/j)+48/i,.14,1);return eF.current=a,tn(r,l),r}function ti(e){"recall"===W&&(eH.current=!0,eC(!0),eF.current="undefined"!=typeof performance?performance.now():Date.now(),tt(ta(e),.42))}function tl(e){"recall"===W&&eH.current&&ta(e)}function ts(){eH.current=!1,tr()}function tc(e){var t,n,r,a;(null==(t=(n=e.currentTarget).hasPointerCapture)?void 0:t.call(n,e.pointerId))&&(null==(r=(a=e.currentTarget).releasePointerCapture)||r.call(a,e.pointerId)),ts()}async function to(e,t,n){if(n!==eI.current)return;let r=er+1;if(r<Q.length){ea(r),eu(S),await e6(Q,r,n,et,Z);return}let a=C(t.reduce((e,t)=>e+t,0)),i=z(a);eh(a),K("scored"),eJ.current!==e$.current&&(eJ.current=e$.current,(0,s.$)(s.s.gameComplete,{...e8(),score:a,source:H,round:G,difficulty:I.tier})),i?(0,s.$)(s.s.streakContinue,{streak:V+1,score:a,difficulty:I.tier}):(0,s.$)(s.s.streakBroken,{bestStreak:q,roundsPlayed:F.length+1})}function tu(){if("recall"!==W||eU.current)return;eU.current=!0;let e=eI.current,t=(0,l.BK)(eK,eo,T,_),n=[...ei,eo],r=[...es,t];el(n),ec(r);let a=n.length===Q.length?C(r.reduce((e,t)=>e+t,0)):void 0,i=e7(n,r,a);tr(),eR(!0),(0,s.$)(s.s.gameStepProgress,{...e8(),step:"tone_".concat(er+1,"_locked"),round:G,source:H}),eO.current=window.setTimeout(()=>{eO.current=null,i.then(()=>{e===eI.current&&to(n,r,e)})},180)}async function td(){var e;let t=function(e){let{challenge:t,score:n,attemptType:r}=e,a="daily"===t.kind,i=a?"".concat(u.QR,"/?challenge=").concat(t.date,"&rules=").concat(t.rulesVersion,"&source=share"):"".concat(u.QR,"/?source=share"),l=a?"DialedGG Daily":"DialedGG Free Play",s=a?"Rules v".concat(t.rulesVersion," \xb7 "):"",c="".concat(l," \xb7 ").concat(t.date,"\n").concat("historical_practice"===r?"Five tones \xb7 No spoilers":a?"Today's challenge \xb7 Five tones \xb7 No spoilers":"Five-tone practice \xb7 No spoilers","\n").concat(s).concat(d[r],"\n").concat(n,"/50 \xb7 Can you beat my score?");
1return{title:l,text:c,url:i,copyText:"".concat(c,"\n").concat(i)}}({challenge:Z,score:null!=ed?ed:0,attemptType:eY.current});ev("");let n=(e,t,n)=>{(0,s.$)(e,{...e8(),method:t,outcome:n,source:H})};if("undefined"!=typeof navigator&&"share"in navigator&&"function"==typeof navigator.share){n(s.s.shareClick,"native");try{await navigator.share({title:t.title,text:t.text,url:t.url}),n(s.s.shareResult,"native","accepted"),ev("Share sheet accepted the result.");return}catch(e){if("object"==typeof e&&null!==e&&"name"in e&&"AbortError"===e.name)return void n(s.s.shareResult,"native","cancelled");n(s.s.shareResult,"native","failed")}}n(s.s.shareClick,"clipboard");try{if("undefined"!=typeof navigator&&(null==(e=navigator.clipboard)?void 0:e.writeText)){await navigator.clipboard.writeText(t.copyText),eg(t.copyText),ev("Copied to clipboard."),n(s.s.shareResult,"clipboard","success");return}}catch(e){n(s.s.shareResult,"clipboard","failed")}n(s.s.shareClick,"manual"),n(s.s.shareResult,"manual","available"),eg(t.copyText),ev("Copy the share text manually.")}async function th(){let e=R();if(!e)return void ey("Daily local data could not be cleared in this browser.");"first"===eY.current&&("listening"===W||"recall"===W)&&(eY.current="practice",eb("practice")),await k(e),ek(0),eT&&(e_(!1),K("pre-play"),eh(null)),ey("Daily local data cleared.")}async function tm(e){var t;null==(t=ez.current)||t.abort();let n=new AbortController;ez.current=n;try{await o({frequency:e,durationMs:600,signal:n.signal})}catch(e){}finally{ez.current===n&&(ez.current=null)}}return(0,a.useEffect)(()=>{(0,s.$)(s.s.landingView,{gameType:i.dH.slug,source:H})},[H]),(0,a.useEffect)(()=>()=>{var e;eI.current+=1,null==(e=ez.current)||e.abort(),eB.current+=1,null!==eO.current&&window.clearTimeout(eO.current)},[]),(0,a.useEffect)(()=>{0!==L&&L!==eE.current&&(eE.current=L,e3(D))},[D,L]),(0,a.useEffect)(()=>{var e;if("daily"!==D||"pre-play"!==W)return;ee(c),X(c.sequence);let t=R();if(!t)return;let n=v(t,c.date,c.rulesVersion);(null==(e=n.progress)?void 0:e.status)==="completed"&&e2(n.progress,c,t)},[c.date,c.rulesVersion]),(0,a.useEffect)(()=>{let e=m(Z.date,Z.rulesVersion),t=t=>{if(t.key!==e)return;let n=p(t.newValue);if(!n&&eT){e_(!1),K("pre-play"),eh(null);return}if((null==n?void 0:n.status)==="completed"&&n.challengeDate===Z.date&&n.rulesVersion===Z.rulesVersion)if("pre-play"===W&&"daily"===et){let e=R();e&&e2(n,Z,e)}else"first"===eY.current&&"scored"!==W&&(eY.current="practice",eb("practice"),ey("This challenge was completed in another tab. This round is now practice."))};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)},[Z,W,et,eT]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("section",{id:"play-now",className:"immersive-game","aria-label":"Primary sound challenge",children:[(0,r.jsxs)("div",{className:"sound-field","aria-hidden":"true",children:[(0,r.jsx)("div",{className:"sound-field-ring sound-field-ring-a"}),(0,r.jsx)("div",{className:"sound-field-ring sound-field-ring-b"}),(0,r.jsx)("div",{className:"sound-field-ring sound-field-ring-c"}),(0,r.jsx)("div",{className:"sound-field-glow"})]}),"pre-play"===W||"replaying"===W?(0,r.jsx)("div",{className:"immersive-screen active",style:{padding:"30px",justifyContent:"flex-end"},children:(0,r.jsxs)("div",{style:{position:"relative",zIndex:2},children:[(0,r.jsx)("div",{style:{fontSize:"11px",letterSpacing:"1.92px",textTransform:"uppercase",opacity:.4,marginBottom:"12px"},children:f.heroEyebrow}),(0,r.jsx)("h2",{className:"immersive-title",style:{margin:0},children:f.heroTitle}),(0,r.jsx)("p",{className:"immersive-subtitle",style:{margin:"20px 0 0"},children:f.heroText}),P?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{className:"immersive-btn immersive-btn-cta",style:{marginTop:"30px"},onClick:()=>void e3(D),children:f.primaryCtaLabel}),"daily"===D&&f.secondaryCtaLabel?(0,r.jsx)("button",{className:"immersive-btn immersive-btn-ghost",style:{marginTop:"12px"},onClick:()=>{null==E||E("free-play"),e3("free-play")},children:f.secondaryCtaLabel}):null]}):null]})}):null,"listening"===W?(0,r.jsxs)("div",{className:"immersive-screen active",children:[(0,r.jsxs)("div",{className:"immersive-round-label",children:["Listening tone ",er+1," / ",Q.length]}),(0,r.jsxs)("div",{className:"immersive-listening-center",children:[(0,r.jsx)("div",{className:"immersive-note-icon",children:"â«"}),(0,r.jsx)("div",{style:{fontSize:"13px",opacity:.4},children:"Listen to the current target tone"}),(0,r.jsx)("div",{className:"tone-orbit","aria-label":"Tone progress",children:Q.map((e,t)=>(0,r.jsx)("div",{className:"tone-orbit-node".concat(t<er?" locked":"").concat(t===er?" active":""),children:(0,r.jsxs)("span",{children:["Tone ",t+1]})},t))})]})]}):null,"recall"===W?(0,r.jsxs)("div",{className:"immersive-screen immersive-screen-recall active",children:[(0,r.jsxs)("div",{className:"immersive-round-label",children:["Round ",G," \xb7 ",d[ew]," \xb7 Tone ",er+1," / ",Q.length]}),(0,r.jsxs)("div",{className:"immersive-listening-center immersive-listening-center-recall",style:{gap:"18px"},children:[(0,r.jsxs)("p",{className:"sound-choice-title",children:["Match tone ",er+1," by ear"]}),(0,r.jsx)("p",{className:"sound-choice-copy",children:"Replay this tone as often as needed, then drag the wave surface until the sound lines up."}),(0,r.jsx)("div",{className:"tone-orbit","aria-label":"Tone progress",children:Q.map((e,t)=>(0,r.jsx)("div",{className:"tone-orbit-node".concat(t<er?" locked":"").concat(t===er?" active":""),children:(0,r.jsxs)("span",{children:["Tone ",t+1]})},t))}),(0,r.jsxs)("div",{ref:eq,className:"live-wave-surface".concat(eS?" is-auditioning":"").concat(eN?" is-dragging":"").concat(eA?" is-locked":""),role:"slider",tabIndex:0,"aria-label":"Live wave tuning surface","aria-valuemin":T,"aria-valuemax":_,"aria-valuenow":eo,"aria-valuetext":"".concat(eo," hertz"),onPointerDown:function(e){var t,n;
1"recall"===W&&(e.preventDefault(),e.currentTarget.focus(),null==(t=(n=e.currentTarget).setPointerCapture)||t.call(n,e.pointerId),ti(e.clientY))},onPointerMove:function(e){tl(e.clientY)},onPointerUp:tc,onPointerCancel:tc,onMouseDown:function(e){e.preventDefault(),e.currentTarget.focus(),ti(e.clientY)},onMouseMove:function(e){tl(e.clientY)},onMouseUp:ts,onMouseLeave:ts,onTouchStart:function(e){let t=e.touches[0];t&&(e.preventDefault(),e.currentTarget.focus(),ti(t.clientY))},onTouchMove:function(e){let t=e.touches[0];t&&(e.preventDefault(),tl(t.clientY))},onTouchEnd:ts,onTouchCancel:ts,onKeyDown:function(e){if("Enter"===e.key){e.preventDefault(),tu();return}if(" "===e.key){e.preventDefault(),e9();return}if("Home"===e.key||"End"===e.key){e.preventDefault(),tn("Home"===e.key?T:_,.22);return}let t="ArrowLeft"===e.key||"ArrowDown"===e.key?-1:"ArrowRight"===e.key||"ArrowUp"===e.key?1:"PageDown"===e.key?-5:5*("PageUp"===e.key);0!==t&&(e.preventDefault(),tn(A((0,l.Jo)(eo,T,_)+t/100),.22))},onKeyUp:function(e){["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageUp","PageDown","Home","End"].includes(e.key)&&tr()},onBlur:tr,children:[(0,r.jsx)("div",{className:"live-wave-grid","aria-hidden":"true"}),(0,r.jsx)("div",{className:"live-wave-glow","aria-hidden":"true"}),(0,r.jsx)(M,{amplitude:e0,frequency:1.8+eW/100*2.4,drift:e1,speed:.06+(1-eZ)*.04+.05*eM}),(0,r.jsxs)("div",{className:"live-wave-surface-copy",children:[(0,r.jsx)("span",{className:"live-wave-mode",children:e5}),(0,r.jsxs)("strong",{children:[eo," Hz"]}),(0,r.jsx)("p",{children:"daily"===et?"Use smaller vertical moves when you are ready to refine your guess.":eZ>.82?"The wave is starting to settle. Make smaller moves.":eZ>.58?"You are in range. Hold the sound and refine it.":"Pull the signal into shape. Big moves still have bite."})]}),eN||eS?null:(0,r.jsxs)("div",{className:"live-wave-onboarding","aria-hidden":"true",children:[(0,r.jsx)("span",{className:"live-wave-onboarding-pill",children:"Touch and drag the wave"}),(0,r.jsxs)("div",{className:"live-wave-onboarding-arrows",children:[(0,r.jsx)("span",{children:"â Higher Hz"}),(0,r.jsx)("span",{children:"â Lower Hz"})]})]}),(0,r.jsxs)("div",{className:"live-wave-guides","aria-hidden":"true",children:[(0,r.jsx)("span",{children:"Higher"}),(0,r.jsx)("span",{children:"Lower"})]}),(0,r.jsx)("div",{className:"live-wave-locked-row","aria-hidden":"true",children:ei.map((e,t)=>(0,r.jsxs)("span",{className:"live-wave-locked-chip",children:["Tone ",t+1,": ",e," Hz"]},"".concat(e,"-").concat(t)))})]}),(0,r.jsxs)("div",{className:"immersive-results-actions",style:{marginTop:"12px",width:"min(560px, calc(100vw - 48px))"},children:[(0,r.jsxs)("button",{className:"immersive-btn immersive-btn-ghost",onClick:()=>void e9(),"aria-label":"Replay tone ".concat(er+1),disabled:eU.current,children:["Replay tone ",er+1]}),(0,r.jsxs)("button",{className:"immersive-btn immersive-btn-cta",onClick:()=>tu(),"aria-label":"Lock tone ".concat(er+1),disabled:eU.current,children:["Lock tone ",er+1]})]})]})]}):null,"scored"===W?(0,r.jsx)("div",{className:"immersive-screen active",style:{overflowY:"auto"},children:(0,r.jsxs)("div",{className:"immersive-results",children:[(0,r.jsx)("div",{className:"immersive-results-title",children:f.resultTitle}),(0,r.jsxs)("div",{style:{fontSize:"14px",color:"rgba(255,255,255,0.5)",marginTop:"8px"},children:[Z.date," \xb7 ",d[ew]]}),(0,r.jsxs)("div",{className:"immersive-results-score",children:[(0,r.jsx)("span",{className:"score-gold",children:null!=ed?ed:0}),(0,r.jsx)("span",{className:"score-dim",style:{fontSize:"20px"},children:"/50"})]}),(0,r.jsx)("div",{style:{marginTop:"10px",fontSize:"13px",color:"rgba(255,255,255,0.6)"},children:f.resultHint}),eT?null:(0,r.jsx)("div",{style:{marginTop:"8px",fontSize:"12px",color:eQ?"#f0c040":"rgba(255,255,255,0.5)"},children:eQ?"Session score streak: ".concat(V):"Need 30/50 to continue the session score streak"}),ex>0?(0,r.jsxs)("div",{style:{marginTop:"8px",fontSize:"12px",color:"rgba(255,255,255,0.5)"},children:["Daily completion streak: ",ex," day",1===ex?"":"s"]}):null,(0,r.jsx)("div",{className:"immersive-results-grid",style:{marginTop:"20px"},children:Q.map((e,t)=>{var n;return(0,r.jsxs)("div",{className:"immersive-results-cell",children:[(0,r.jsxs)("div",{className:"cell-label",children:["Tone ",t+1]}),(0,r.jsxs)("div",{className:"cell-target",children:["Target: ",e," Hz"]}),(0,r.jsxs)("div",{className:"cell-dial",children:["Guess: ",ei[t]," Hz"]}),(0,r.jsx)("div",{className:"cell-dial",children:function(e,t){let n=t-e,r=0===n?"on target":"".concat(Math.round((0,l.ot)(e,t))," cents ").concat(n>0?"high":"low");return"".concat(r," \xb7 ").concat(n>0?"+":"").concat(n," Hz")}(e,ei[t])}),(0,r.jsxs)("div",{className:"cell-score",children:[null!=(n=es[t])?n:0,"/10"]}),(0,r.jsxs)("div",{className:"immersive-results-actions",children:[(0,r.jsx)("button",{className:"immersive-btn immersive-btn-ghost",onClick:()=>void tm(e),"aria-label":"Play target tone ".concat(t+1),children:"A \xb7 Target"}),(0,r.jsx)("button",{className:"immersive-btn immersive-btn-ghost",onClick:()=>void tm(ei[t]),"aria-label":"Play guess tone ".concat(t+1),children:"B \xb7 Guess"})]})]},t)})}),(0,r.jsxs)("div",{className:"immersive-results-actions",children:[(0,r.jsx)("button",{className:"immersive-btn immersive-btn-cta",onClick:()=>void td(),children:f.shareLabel}),(0,r.jsx)("button",{className:"immersive-btn immersive-btn-ghost",onClick:"daily"===et?()=>{eQ&&!eT&&U(),e3("daily",!0)}:eQ?function(){U(),e3(et)}:function(){e4(),B(),K("pre-play"),ea(0),el([]),ec([]),eu(S),eh(null),eg(""),ev(""),J(),eB.current+=1,eH.current=!1,eL.current=!1,eP.current=!1,eV.current=S,ej(!1),eD(0),eG.current=S,eF.current=0},children:"daily"===et?"Practice today's challenge":eQ?"Continue Challenge":"Try again"})]})]})}):null,"blocked"===W?(0,r.jsx)("div",{className:"immersive-screen active",style:{padding:"30px",justifyContent:"center",alignItems:"center",textAlign:"center"},children:(0,r.jsxs)("div",{style:{maxWidth:340},children:[(0,r.jsx)("p",{style:{fontSize:"18px",margin:"0 0 16px",color:"rgba(255,255,255,0.7)"},children:"Audio was blocked. Tap play again or interact with the page first."}),(0,r.jsx)("button",{className:"immersive-btn immersive-btn-cta",onClick:()=>void e3(et),children:"Try again"})]})}):null]}),ep?(0,r.jsx)("p",{role:"status",style:{margin:"16px 32px"},children:ep}):null,em?(0,r.jsxs)("div",{className:"share-fallback",role:"note",style:{margin:"16px 32px"},children:[(0,r.jsx)("p",{className:"micro-label",children:"Share text"}),(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:em})]}):null,(0,r.jsxs)("div",{style:{margin:"16px 32px"},children:[ef?(0,r.jsx)("p",{role:"status",children:ef}):null,(0,r.jsx)("button",{className:"ghost-button",type:"button",onClick:th,children:"Clear Daily local data"})]})]})}},4377:(e,t,n)=>{n.d(t,{l:()=>i});var r=n(2115),a=n(6692);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],[n,i]=(0,r.useState)(()=>null!=e?e:(0,a.ML)());return(0,r.useEffect)(()=>
1{if(t)return;let e=()=>i((0,a.ML)()),n=window.setTimeout(e,(0,a.Sh)()+50),r=()=>{"visible"===document.visibilityState&&e()};return window.addEventListener("focus",e),document.addEventListener("visibilitychange",r),()=>{window.clearTimeout(n),window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",r)}},[n,t]),n}},5495:(e,t,n)=>{n.d(t,{E:()=>r});function r(e){let{mode:t,entrySurface:n}=e;if("free-play"===t)return{heroEyebrow:"Free Play",heroTitle:"Free play",heroText:"Practice the Dialed GG Sound Game in free play. Hear five hidden tones, match each sound frequency by ear, and use it as a warm-up.",oneLineExplainer:"This is the open practice lane. Today's challenge still sits one step up.",primaryCtaLabel:"Start free play",playSteps:["1. Hear all 5","2. Match each sound frequency","3. Lock each tone"],resultTitle:"Free play results",resultHint:"Jump back in right away or switch to today's challenge.",shareLabel:"Share free play"};let r="home"===n,a="pitch"===n,i="frequency"===n;return{heroEyebrow:"pitch"===n?"Dialed Pitch Game":"frequency"===n?"Dialed Frequency Game":"Daily sound challenge",heroTitle:a?"Dialed Pitch Game":i?"Dialed Frequency Game":"Today's challenge",heroText:r?"Dialed GG Sound Game now runs as one shared daily browser sound game. Hear five hidden tones, match each sound frequency by ear, and post a spoiler-free result.":a?"Dialed Pitch Game points into today's Dialed GG Sound Game round. Hear five hidden tones, match pitch by ear, and post a spoiler-free result.":"Dialed Frequency Game points into today's Dialed GG Sound Game round. Hear five hidden tones, match sound frequency by ear, and tighten each Hz guess before you lock the run.",oneLineExplainer:r?"This is the Dialed GG Sound daily challenge. Free play is still here if you just want reps.":i?"This entry uses the same daily challenge, but the listening frame is Hz direction, gap size, and overshoot control.":"This entry uses the same daily sound challenge. Free play is still here if you just want reps.",primaryCtaLabel:"Start today's challenge",secondaryCtaLabel:"Start free play",playSteps:r?["1. Listen","2. Adjust","3. Lock each guess"]:["1. Hear all 5","2. Match each sound frequency","3. Share the line"],resultTitle:"Today's challenge complete",resultHint:"New challenge tomorrow. Share this /50 run or drop into free play for extra reps.",shareLabel:"Share today's challenge"}}},5826:(e,t,n)=>{n.d(t,{BK:()=>u,Cg:()=>a,Jo:()=>c,R8:()=>s,Rj:()=>i,Yf:()=>h,ot:()=>o,p6:()=>d,zA:()=>m});let r=[{maxRound:3,tier:"easy",playbackMs:900,minHz:120,maxHz:1200,minSpacing:50},{maxRound:6,tier:"medium",playbackMs:750,minHz:120,maxHz:1200,minSpacing:50},{maxRound:9,tier:"hard",playbackMs:600,minHz:120,maxHz:1200,minSpacing:80},{maxRound:1/0,tier:"expert",playbackMs:500,minHz:120,maxHz:1200,minSpacing:100}];function a(e){var t;let n=Math.max(1,e),a=null!=(t=r.find(e=>n<=e.maxRound))?t:r[r.length-1];return{tier:a.tier,playbackMs:a.playbackMs,minHz:a.minHz,maxHz:a.maxHz,minSpacing:a.minSpacing}}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,{minHz:n,maxHz:r,minSpacing:a}=e,i=r-n;if(i<(t-1)*a)return Array.from({length:t},(e,r)=>Math.round(n+r*i/(t-1)));for(let e=0;e<100;e++){let e=Array.from({length:t},()=>Math.round(n+Math.random()*i)).sort((e,t)=>e-t),r=!0;for(let t=1;t<e.length;t++)if(e[t]-e[t-1]<a){r=!1;break}if(r)return e}return Array.from({length:t},(e,r)=>Math.round(n+r*i/(t-1)))}function l(e,t,n){return Math.min(n,Math.max(t,e))}function s(e,t,n){return t*Math.pow(n/t,l(e,0,1))}function c(e,t,n){return Math.log(l(e,Math.max(1,t),n)/t)/Math.log(n/t)}function o(e,t){if(![e,t].every(Number.isFinite)||e<=0||t<=0)throw RangeError("Frequencies must be finite positive numbers");return 1200*Math.abs(Math.log2(t/e))}function u(e,t,n,r){if(![n,r].every(Number.isFinite)||n<=0||r<=n||e<n||e>r||t<n||t>r)throw RangeError("Score frequencies must be inside a valid range");return l(Math.round(10*(10*(1-o(e,t)/600)))/10,0,10)}function d(e){let{target:t,value:n,min:r,max:a}=e,i=Math.abs(t-l(n,r,a));return l(100-Math.round(i/Math.max(1,a-r)*100),0,100)}function h(e){let{game:t,score:n,value:r,target:a}=e;return{gameSlug:t.slug,score:null!=n?n:0,target:a,value:r,share:{title:"".concat(t.name," score"),summary:"I hit ".concat(null!=n?n:0,"/50 on ").concat(t.name,".")}}}function m(e){return"".concat(e.share.summary," Can you beat it?")}},6692:(e,t,n)=>{n.d(t,{ML:()=>l,Sh:()=>s,VN:()=>i,rr:()=>c});var r=n(7879),a=n(5826);let i=900;function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return e.toISOString().slice(0,10)}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+1,0,0,0,0)-e.getTime()}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l();return{id:"daily-".concat(e,"-v").concat("2"),date:e,kind:"daily",sequence:function(e){var t;let n=r.dH.controls.min,i=r.dH.controls.max,l=(t=function(e){let t=0x811c9dc5;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,0x1000193);return t>>>0}("".concat("2",":").concat(e)),()=>{let e=t+=0x6d2b79f5;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}),s=[];for(let e=0;e<1e3;e+=1){let e=Array.from({length:5},(e,t)=>Math.round((0,a.R8)((t+l())/5,n,i))).sort((e,t)=>
1e-t);if(e.every((t,n)=>0===n||(0,a.ot)(t,e[n-1])>=240)){s=e;break}}0===s.length&&(s=Array.from({length:5},(e,t)=>Math.round((0,a.R8)(t/4,n,i))));for(let e=s.length-1;e>0;e-=1){let t=Math.floor(l()*(e+1));[s[e],s[t]]=[s[t],s[e]]}return s}(e),label:"Today's challenge",rulesVersion:"2"}}},7879:(e,t,n)=>{n.d(t,{An:()=>i,dH:()=>r});let r={slug:"sound",name:"Dialed GG Sound Game",shortLabel:"Sound",description:"Match each hidden dialed gg sound frequency by ear, lock each tone, then post the result.",kind:"primary",challenge:{target:742},controls:{min:120,max:1200,defaultValue:640}},a=[r,{slug:"color",name:"Color Match",shortLabel:"Color",description:"Watch a 5-color sequence, hide it, then match each slot from memory.",kind:"secondary",unitLabel:"%",challenge:{target:67},controls:{min:0,max:100,defaultValue:48}},{slug:"memory",name:"Memory Stack",shortLabel:"Memory",description:"Flash a short sequence, hide it, then type back what you remember.",kind:"secondary",unitLabel:"pts",memorySequence:"5831",challenge:{target:84},controls:{min:0,max:100,defaultValue:50}},{slug:"breath",name:"Breath Match",shortLabel:"Breath",description:"Flash one inhale-exhale cycle, hide it, then dial both phases back by feel.",kind:"secondary",unitLabel:"ms",breathCycle:{inhale:820,exhale:1180},challenge:{target:0},controls:{min:300,max:1500,defaultValue:820}}],i=a.filter(e=>"secondary"===e.kind);Object.fromEntries(a.map(e=>[e.slug,e]))},8901:(e,t,n)=>{n.d(t,{$:()=>l,s:()=>a});var r=n(5704);let a={landingView:"landing_view",pageViewCustom:"page_view_custom",ctaClick:"cta_click",navClick:"nav_click",relatedLinkClick:"related_link_click",faqClick:"faq_click",gameStart:"game_start",toneStarted:"tone_started",gameStepProgress:"game_step_progress",gameComplete:"game_complete",gameBlocked:"game_blocked",gameReplay:"game_replay",shareClick:"share_click",shareResult:"share_result",secondaryGameClick:"secondary_game_click",streakContinue:"streak_continue",streakBroken:"streak_broken",nextRoundClick:"next_round_click",streakShare:"streak_share"};function i(){var e;if("function"!=typeof window.gtag)return!1;let t=(null!=(e=window.__dialedggPendingEvents)?e:[]).filter(e=>{let{expiresAt:t}=e;return t>Date.now()});return window.__dialedggPendingEvents=[],window.__dialedggAnalyticsRetryAttempts=0,t.forEach(e=>{let{eventName:t,payload:n}=e;try{var r,a;null==(r=(a=window).gtag)||r.call(a,"event",t,n)}catch(e){}}),window.__dialedggAnalyticsRetryTimer&&(window.clearTimeout(window.__dialedggAnalyticsRetryTimer),window.__dialedggAnalyticsRetryTimer=void 0),!0}function l(e,t){var n,a,l,s,c;let o=function(e){let t=Object.fromEntries(Object.entries(e).filter(e=>{let[,t]=e;return void 0!==t}));return void 0!==e.gameType&&void 0===t.game_type&&(t.game_type=e.gameType),void 0!==e.game_type&&void 0===t.gameType&&(t.gameType=e.game_type),t.event_version=1,t}(t);try{window.dispatchEvent(new CustomEvent("dialedgg:analytics",{detail:{eventName:e,payload:o}}))}catch(e){}if("false"!==r.env.NEXT_PUBLIC_ANALYTICS_ENABLED){try{null==(n=(a=window).plausible)||n.call(a,e,{props:o})}catch(e){}try{if(i()){null==(l=(s=window).gtag)||l.call(s,"event",e,o);return}window.__dialedggPendingEvents=[...(null!=(c=window.__dialedggPendingEvents)?c:[]).slice(-99),{eventName:e,payload:o,expiresAt:Date.now()+5e3}],function e(){var t;if(!window.__dialedggAnalyticsRetryTimer){if((null!=(t=window.__dialedggAnalyticsRetryAttempts)?t:0)>=20){window.__dialedggPendingEvents=[],window.__dialedggAnalyticsRetryAttempts=0;return}window.__dialedggAnalyticsRetryTimer=window.setTimeout(()=>{var t,n,r,a,l,s;window.__dialedggAnalyticsRetryTimer=void 0,window.__dialedggAnalyticsRetryAttempts=(null!=(r=window.__dialedggAnalyticsRetryAttempts)?r:0)+1,window.__dialedggPendingEvents=(null!=(a=window.__dialedggPendingEvents)?a:[]).filter(e=>{let{expiresAt:t}=e;return t>Date.now()}),!i()&&(null!=(l=null==(t=window.__dialedggPendingEvents)?void 0:t.length)?l:0)>0?e():(null!=(s=null==(n=window.__dialedggPendingEvents)?void 0:n.length)?s:0)===0&&(window.__dialedggAnalyticsRetryAttempts=0)},250)}}()}catch(e){}}}},9049:(e,t,n)=>{n.d(t,{QR:()=>a,Wh:()=>o,e0:()=>c,k:()=>l,mu:()=>s});var r=n(8901);let a="https://dialedgg.run",i="/guides",l=[{href:"/how-dialedgg-works",label:"How
1it works",eventName:r.s.navClick,eventPayload:{label:"how_it_works",target_path:"/how-dialedgg-works",location:"trust_nav"}},{href:"/about",label:"About",eventName:r.s.navClick,eventPayload:{label:"about",target_path:"/about",location:"trust_nav"}},{href:"/contact",label:"Contact",eventName:r.s.navClick,eventPayload:{label:"contact",target_path:"/contact",location:"trust_nav"}},{href:"/privacy",label:"Privacy",eventName:r.s.navClick,eventPayload:{label:"privacy",target_path:"/privacy",location:"trust_nav"}},{href:"/terms",label:"Terms",eventName:r.s.navClick,eventPayload:{label:"terms",target_path:"/terms",location:"trust_nav"}}],s=[{title:"No account required",body:"The daily sound challenge and free play open in the browser without sign-up."},{title:"Five-tone rounds",body:"Each round asks you to listen, adjust the tuning surface, and lock five guesses."},{title:"Independent site",body:"DialedGG publishes its own game, guides, contact details, privacy policy, and terms."}],c=[{href:"/how-dialedgg-works",label:"How DialedGG works",summary:"See what happens during a round and how the other game modes fit in.",eventPayload:{page_type:"home",target_page:"/how-dialedgg-works",anchor_type:"guide_cluster"}},{href:"/perfect-pitch-test",label:"Perfect Pitch Test Guide",summary:"Read what a browser pitch check can show, what it cannot prove, and where to practice.",eventPayload:{page_type:"home",target_page:"/perfect-pitch-test",anchor_type:"guide_cluster"}},{href:"/how-to-guess-frequency-by-ear",label:"How to guess frequency by ear",summary:"Use short comparisons, replay loops, and revealed Hz values while you practice.",eventPayload:{page_type:"home",target_page:"/how-to-guess-frequency-by-ear",anchor_type:"guide_cluster"}}],o=[{href:i,label:"Guide hub",eventName:r.s.navClick,eventPayload:{label:"guide_hub",target_path:i,location:"learn_nav"}},{href:"/how-to-guess-frequency-by-ear",label:"How to Guess Frequency by Ear",eventName:r.s.navClick,eventPayload:{label:"how_to_guess_frequency_by_ear",target_path:"/how-to-guess-frequency-by-ear",location:"learn_nav"}},{href:"/how-to-train-pitch-by-ear",label:"How to Train Pitch by Ear",eventName:r.s.navClick,eventPayload:{label:"how_to_train_pitch_by_ear",target_path:"/how-to-train-pitch-by-ear",location:"learn_nav"}}]}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.