PageSourceSearch

https://www.soundseam.com/_next/static/immutable/chunks/1bvigxu3e12r9.js

js soundseam.com collected 2026-10-05 07:13:53 UTC 41,973 bytes, 4 lines download raw bytes

1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="80ec4877-8a56-785d-3d71-d38b988c2120")}catch(e){}}();
2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,542455,e=>{"use strict";var t=e.i(271645),r=e.i(946788);let i={owner:null,trackId:null,isPlaying:!1,isLoading:!1,currentTime:0,duration:0,volume:1,isMuted:!1,isLooping:!1};function n(e){e&&(e.pause(),e.removeAttribute("src"),e.load())}async function a(e,t){t?.throwIfAborted(),e.readyState>=1||await new Promise((r,i)=>{let n=()=>{u(),r()},a=()=>{u(),i(Error("Could not load audio metadata"))},s=()=>{u(),i(new DOMException("Playback canceled","AbortError"))},u=()=>{e.removeEventListener("loadedmetadata",n),e.removeEventListener("canplay",n),e.removeEventListener("error",a),t?.removeEventListener("abort",s)};e.addEventListener("loadedmetadata",n),e.addEventListener("canplay",n),e.addEventListener("error",a),t?.addEventListener("abort",s,{once:!0})})}function s(e,t){let r=Number.isFinite(e.duration)?e.duration:0,i=null!=t.startPercentage&&Number.isFinite(t.startPercentage)?Math.max(0,Math.min(1,t.startPercentage)):null;return null!=i&&r>0?r*i:null!=t.startTime&&Number.isFinite(t.startTime)?r>0?Math.max(0,Math.min(t.startTime,r)):Math.max(0,t.startTime):null}class u{activeAudio=null;preloadAudio=null;snapshot=i;listeners=new Set;resolvedSrcCache=new Map;resolvingSrcCache=new Map;retentionPolicies=new Map;activeTrack=null;preloadTrack=null;activeHost=null;playRequestId=0;wantsPlayback=!1;playbackAbortController=null;preloadRequestId=0;recoveryInFlight=!1;lastRecoveryAt=0;seekBufferingTimeout=null;volumeRampTimeouts=[];getSnapshot(){return this.snapshot}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(){for(let e of this.listeners)e(this.snapshot)}clearSeekBufferingTimeout(){null!==this.seekBufferingTimeout&&clearTimeout(this.seekBufferingTimeout),this.seekBufferingTimeout=null}settleSeekBuffering(){this.clearSeekBufferingTimeout(),this.seekBufferingTimeout=setTimeout(()=>{this.seekBufferingTimeout=null;let e=this.activeAudio;if(e){if(e.seeking)return void this.settleSeekBuffering();this.snapshot={...this.snapshot,isLoading:this.wantsPlayback&&!e.paused&&!e.ended&&e.readyState<3},this.syncSnapshot()}},250)}ensureAudioElements(){if(this.activeAudio)return;this.activeAudio=new Audio,this.preloadAudio=new Audio,this.activeAudio.preload="auto",this.preloadAudio.preload="auto",this.activeAudio.volume=this.snapshot.volume,this.activeAudio.muted=this.snapshot.isMuted,this.activeAudio.loop=this.snapshot.isLooping;let e=()=>this.syncSnapshot();this.activeAudio.addEventListener("playing",()=>{this.wantsPlayback?!this.activeAudio||this.activeAudio.paused||this.activeAudio.readyState<3||(this.clearSeekBufferingTimeout(),this.snapshot={...this.snapshot,isLoading:!1},this.syncSnapshot()):this.activeAudio?.pause()}),this.activeAudio.addEventListener("waiting",()=>{!this.wantsPlayback||this.activeAudio?.seeking||null!==this.seekBufferingTimeout||(this.snapshot={...this.snapshot,isLoading:!0},this.syncSnapshot())}),this.activeAudio.addEventListener("loadedmetadata",e),this.activeAudio.addEventListener("durationchange",e),this.activeAudio.addEventListener("timeupdate",e),this.activeAudio.addEventListener("play",()=>{this.activeAudio&&!this.activeAudio.paused&&(this.wantsPlayback=!0),this.syncSnapshot()}),this.activeAudio.addEventListener("pause",e),this.activeAudio.addEventListener("ended",e),this.activeAudio.addEventListener("seeking",e),this.activeAudio.addEventListener("seeked",()=>{let e=this.activeAudio;if(e){if(null!==this.seekBufferingTimeout)return void this.syncSnapshot();this.snapshot={...this.snapshot,isLoading:this.wantsPlayback&&!e.paused&&e.readyState<3},this.syncSnapshot()}}),this.activeAudio.addEventListener("error",()=>{this.recoverActiveSource()})}async recoverActiveSource(){let e=this.activeAudio,t=this.activeTrack,r=this.snapshot.owner,i=Date.now();if(!e||!t||!r||this.recoveryInFlight||i-this.lastRecoveryAt<5e3)return;this.recoveryInFlight=!0,this.lastRecoveryAt=i;let n=Number.isFinite(e.currentTime)?e.currentTime:0,s=this.wantsPlayback,u=++this.playRequestId;this.playbackAbortController?.abort();let o=new AbortController;this.playbackAbortController=o;try{this.resolvedSrcCache.delete(t.id),this.resolvingSrcCache.delete(t.id);let r=await this.resolveTrackSource(t);if(u!==this.playRequestId||this.activeAudio!==e||this.activeTrack?.id!==t.id||(e.src=r,e.load(),await a(e,o.signal),u!==this.playRequestId||this.activeAudio!==e))return;if(n>0){let t=Number.isFinite(e.duration)?e.duration:0;e.currentTime=t>0?Math.min(n,t):n}s&&await e.play(),u===this.playRequestId&&(this.snapshot={...this.snapshot,isLoading:!1},this.syncSnapshot())}catch(e){console.error("[useAudioPlayer] Failed to refresh an interrupted stream",{trackId:t.id,error:e instanceof Error?e.message:"unknown playback error"}),u===this.playRequestId&&(this.snapshot={...this.snapshot,isLoading:!1},this.syncSnapshot())}finally{this.recoveryInFlight=!1}}async resolveTrackSource(e){let t=e.src?.trim();if("kit-preview"===e.kind){if(!t||!/^(https?:\/\/|\/(?!\/)|blob:|data:)/i.test(t)||t.includes("/api/audio/resolve/"))throw Error("Kit preview audio is unavailable");return t}if(t&&(t.startsWith("blob:")||t.startsWith("data:")||t.startsWith("/api/audio/"))&&!t.includes("/api/audio/resolve/"))return this.resolvedSrcCache.set(e.id,{src:t,expiresAt:null}),t;let i=this.resolvedSrcCache.get(e.id);if(i&&(!i.expiresAt||i.expiresAt-Date.now()>3e4))return i.src;let n=this.resolvingSrcCache.get(e.id);if(n)return(await n).src;let a=(async()=>{let t=await (0,r.resolveAudioPlayback)(e.id),i={src:t.url,expiresAt:function(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}(t.expiresAt)};return this.resolvedSrcCache.set(e.id,i),this.resolvingSrcCache.delete(e.id),i})().catch(t=>{throw this.resolvingSrcCache.delete(e.id),t});return this.resolvingSrcCache.set(e.id,a),(await a).src}pruneResolvedSources(e){let t=e?this.retentionPolicies.get(e):null,r=new Set;for(let e of[this.activeTrack,this.preloadTrack,t?.current,t?.next,t?.previous])e?.id&&r.add(e.id);for(let e of Array.from(this.resolvedSrcCache.keys()))r.has(e)||this.resolvedSrcCache.delete(e);for(let e of Array.from(this.resolvingSrcCache.keys()))r.has(e)||this.resolvingSrcCache.delete(e)}async applyRetentionPolicy(e){var t;this.ensureAudioElements(),this.pruneResolvedSources(e);let r=this.preloadAudio;if(!r||!e){n(r),this.preloadTrack=null;return}let i=this.retentionPolicies.get(e),a=i?.preload==="previous"?i.previous:i?.next;
2if(!a||(t=this.activeTrack,a?.id!=null&&a.id===t?.id)){n(r),this.preloadTrack=null,this.pruneResolvedSources(e);return}let s=++this.preloadRequestId;try{let t=await this.resolveTrackSource(a);if(s!==this.preloadRequestId||!this.preloadAudio)return;let r=this.preloadAudio.getAttribute("src");if(this.preloadTrack?.id===a.id&&r===t)return void this.pruneResolvedSources(e);n(this.preloadAudio),this.preloadTrack=a,this.preloadAudio.preload="auto",this.preloadAudio.src=t,this.preloadAudio.load(),this.pruneResolvedSources(e)}catch(e){console.error("[useAudioPlayer] Failed to preload track:",e)}}syncSnapshot(){if(!this.activeAudio){this.snapshot=i,this.emit();return}this.snapshot={...this.snapshot,trackId:this.activeTrack?.id??null,isPlaying:!this.activeAudio.paused&&!this.activeAudio.ended&&(this.activeAudio.readyState>=3||(this.activeAudio.seeking||null!==this.seekBufferingTimeout)&&this.wantsPlayback&&!this.snapshot.isLoading),currentTime:Number.isFinite(this.activeAudio.currentTime)?this.activeAudio.currentTime:0,duration:Number.isFinite(this.activeAudio.duration)?this.activeAudio.duration:0,volume:this.activeAudio.volume,isMuted:this.activeAudio.muted,isLooping:this.activeAudio.loop},this.emit()}async play(e,t){if(this.ensureAudioElements(),!this.activeAudio)return!1;this.clearSeekBufferingTimeout();let r=++this.playRequestId;this.playbackAbortController?.abort();let i=new AbortController;this.playbackAbortController=i;let u=this.activeAudio,o=t.track,l=this.activeTrack?.id===o.id;this.wantsPlayback=!1!==t.autoplay,l||n(u),this.activeTrack=o,this.snapshot={...this.snapshot,owner:e,trackId:o.id,isPlaying:!1,isLoading:this.wantsPlayback&&(!l||u.readyState<3),currentTime:l?this.snapshot.currentTime:0,duration:l?this.snapshot.duration:0},this.emit();try{let l=await this.resolveTrackSource(o);if(r!==this.playRequestId)return!1;if(u.getAttribute("src")!==l&&(this.snapshot={...this.snapshot,isLoading:this.wantsPlayback},n(u),u.preload="auto",u.src=l,u.load()),null!=t.startPercentage&&Number.isFinite(t.startPercentage)||null!=t.startTime&&Number.isFinite(t.startTime)){if(await a(u,i.signal),r!==this.playRequestId)return!1;let e=s(u,t);null!=e&&(u.currentTime=e)}if(this.syncSnapshot(),this.applyRetentionPolicy(e),!1===t.autoplay)return!0;if(await u.play(),r!==this.playRequestId)return!1;let c=s(u,t);return null!=c&&u.currentTime<c-.5&&(u.currentTime=c),this.snapshot={...this.snapshot,isLoading:!1},this.syncSnapshot(),!0}catch(e){if(r!==this.playRequestId)return!1;if(this.wantsPlayback=!1,this.snapshot={...this.snapshot,isLoading:!1},this.syncSnapshot(),!u.getAttribute("src"))throw e;return!function(e){if(!(e instanceof Error))return!1;let t=e.message.toLowerCase();return"NotAllowedError"===e.name||t.includes("user didn't interact")}(e)&&console.error("[useAudioPlayer] Play interrupted or failed:",e),!1}}pause(e){this.ensureAudioElements(),this.activeAudio&&this.snapshot.owner===e&&(this.clearSeekBufferingTimeout(),++this.playRequestId,this.playbackAbortController?.abort(),this.wantsPlayback=!1,this.snapshot={...this.snapshot,isLoading:!1},this.activeAudio.pause(),this.syncSnapshot())}async toggle(e){return this.ensureAudioElements(),!!this.activeAudio&&this.snapshot.owner===e&&!!this.activeTrack&&(this.snapshot.isLoading||!this.activeAudio.paused?(this.pause(e),!1):this.play(e,{track:this.activeTrack}))}seek(e,t){if(this.ensureAudioElements(),!this.activeAudio||this.snapshot.owner!==e)return;let r=Number.isFinite(this.activeAudio.duration)?this.activeAudio.duration:0;if(!r||r<=0)return;let i=Math.max(0,Math.min(r,t/100*r));this.settleSeekBuffering(),this.activeAudio.currentTime=i,this.syncSnapshot()}changeVolume(e){if(this.ensureAudioElements(),!this.activeAudio)return;let t=Math.max(0,Math.min(1,e)),r=this.activeAudio.volume,i=t-r;for(let e of this.volumeRampTimeouts)clearTimeout(e);this.volumeRampTimeouts=[];for(let e=1;e<=5;e++){let n=setTimeout(()=>{this.activeAudio&&(this.activeAudio.volume=Math.max(0,Math.min(1,r+i*e/5)),5===e&&(this.activeAudio.muted=0===t,this.syncSnapshot()))},4*e);this.volumeRampTimeouts.push(n)}0===t?this.activeAudio.muted=!0:this.activeAudio.muted&&(this.activeAudio.muted=!1),this.snapshot={...this.snapshot,volume:t,isMuted:0===t||this.activeAudio.muted}
2,this.emit()}toggleMute(){this.ensureAudioElements(),this.activeAudio&&(this.activeAudio.muted=!this.activeAudio.muted,this.syncSnapshot())}toggleLoop(){this.ensureAudioElements(),this.activeAudio&&(this.activeAudio.loop=!this.activeAudio.loop,this.syncSnapshot())}syncRetainedTracks(e,t){this.retentionPolicies.set(e,t);let r=this.snapshot.owner===e?e:this.snapshot.owner;this.applyRetentionPolicy(r)}attachActiveElement(e,t){this.ensureAudioElements();let r=this.activeAudio;return r?(r.parentElement&&r.parentElement!==e&&r.parentElement.removeChild(r),this.activeHost=e,t?.controls!=null&&(r.controls=t.controls),t?.className!=null&&(r.className=t.className),t?.preload&&(r.preload=t.preload),e&&r.parentElement!==e&&e.appendChild(r),()=>{this.activeHost===e&&r.parentElement&&(r.parentElement.removeChild(r),this.activeHost=null)}):()=>{}}disposeOwner(e){this.retentionPolicies.delete(e),this.snapshot.owner===e&&(this.clearSeekBufferingTimeout(),++this.playRequestId,this.playbackAbortController?.abort(),this.wantsPlayback=!1,this.activeAudio&&this.activeAudio.pause(),n(this.activeAudio),this.activeTrack=null,this.snapshot={...this.snapshot,owner:null,trackId:null,isPlaying:!1,isLoading:!1,currentTime:0,duration:0},this.emit()),this.applyRetentionPolicy(this.snapshot.owner)}}let o=new u;e.s(["useAudioPlayer",0,function({owner:e}){let[r,n]=(0,t.useState)(()=>o.getSnapshot()),a=(0,t.useRef)(i);(0,t.useEffect)(()=>o.subscribe(t=>{n(t),t.owner===e&&(a.current=t)}),[e]),(0,t.useEffect)(()=>()=>{o.disposeOwner(e)},[e]);let s=r.owner===e?r:a.current,u=r.owner===e,l=(0,t.useCallback)(t=>o.play(e,t),[e]),c=(0,t.useCallback)(()=>{o.pause(e)},[e]),d=(0,t.useCallback)(()=>o.toggle(e),[e]),h=(0,t.useCallback)(t=>{o.seek(e,t)},[e]),f=(0,t.useCallback)(()=>{o.toggleMute()},[]),p=(0,t.useCallback)(e=>{o.changeVolume(e)},[]),m=(0,t.useCallback)(()=>{o.toggleLoop()},[]),v=(0,t.useCallback)(t=>{o.syncRetainedTracks(e,t)},[e]),k=(0,t.useCallback)((e,t)=>o.attachActiveElement(e,t),[]),A=(0,t.useCallback)(t=>o.subscribe(r=>{r.owner===e&&t(r.currentTime,r.duration)}),[e]);return{currentTrackId:s.trackId,isActiveOwner:u,isPlaying:!!u&&r.isPlaying,isLoading:!!u&&r.isLoading,duration:s.duration,currentTime:s.currentTime,play:l,pause:c,togglePlayPause:d,seek:h,volume:r.volume,isMuted:r.isMuted,isLooping:r.isLooping,toggleMute:f,changeVolume:p,toggleLoop:m,syncRetainedTracks:v,attachAudioElement:k,onPlayTimeUpdate:A}}])},186579,e=>{"use strict";var t=e.i(109088);function r(e){return"string"==typeof e&&e.trim().length>0?e.trim():void 0}function i(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function n(e){if("string"!=typeof e)return;let r=e.trim().toUpperCase();return t.ANALYTICS_SOURCES.includes(r)?r:void 0}function a(e,t){return t.some(t=>e.includes(t))}function s(e,t){let i=r(e?.surface)?.toLowerCase()??"",s=n(e?.source),u=n(t);return"AUTOPLAY"===s?"AUTOPLAY":i.startsWith("discover")||a(i,["discover_","project","canvas"])?"DISCOVER":a(i,["profile","producer","pro_storefront","storefront"])?"PROFILE":a(i,["explore","browse"])?"EXPLORE":r(e?.playlistId)||a(i,["playlist"])?"PLAYLIST":r(e?.recommendationRunId)||a(i,["recommendation","recommend"])?"RECOMMENDED":a(i,["autoplay"])?"AUTOPLAY":r(e?.sourceRunId)||r(e?.queryHash)||a(i,["search"])?"SEARCH":"direct"===i||"track_page"===i||"beat_page"===i?"DIRECT":s??u}function u(e){if(!e)return;let t=Object.entries({stationId:r(e.stationId),stationVersion:i(e.stationVersion),surface:r(e.surface),source:n(e.source),sourceRunId:r(e.sourceRunId),recommendationRunId:r(e.recommendationRunId),rank:i(e.rank),queryHash:r(e.queryHash),playlistId:r(e.playlistId),projectId:r(e.projectId),score:i(e.score),algorithmVersion:r(e.algorithmVersion)}).filter(([,e])=>void 0!==e);return t.length>0?Object.fromEntries(t):void 0}e.s(["attributionContextToEventPayload",0,function(e,t){let r=u(e);if(!r)return{};let i=s(r,t);return{...r,...i?{source:i}:{},attributionContext:r}},"getTrackAttributionContext",0,function(e,t={}){let r=u({...t,playlistId:e.playlistId??t.playlistId,rank:e.sourceRank??e.position??t.rank,sourceRunId:e.sourceRunId??e.sourceContext?.sourceRunId??t.sourceRunId,recommendationRunId:e.attributionContext?.recommendationRunId??t.recommendationRunId,queryHash:e.sourceContext?.queryHash??e.attributionContext?.queryHash??t.queryHash,score:e.sourceContext?.finalScore??e.attributionContext?.score??t.score,surface:e.sourceContext?.surface??e.attributionContext?.surface??t.surface,source:n(e.sourceContext?.source)??e.attributionContext?.source??t.source,projectId:e.attributionContext?.projectId??t.projectId,...e.attributionContext});if(r)return{...r,source:s(r,t.source)??r.source}},"resolveAnalyticsAttributionSource",0,s])},67670,e=>{"use strict";var t=e.i(843476),r=e.i(271645),i=e.i(67323),n=e.i(489686),a=e.i(738247),s=e.i(116452),u=e.i(618566),o=e.i(674910),l=e.i(542455),c=e.i(538666),d=e.i(846696),h=e.i(281929),f=e.i(186579),p=e.i(603931);function m(e,t,r){let i=new Set([...r,...e.map(e=>e.id)]),n=[];for(let e of t)!e.id||i.has(e.id)||(i.add(e.id),n.push(e));return[...e,...n]}function v(e,t){let r=[],i=0;
2for(let n of e){if("AUTOMATIC"!==n.queueSource){r.push(n);continue}i<Math.max(0,t)&&(r.push(n),i+=1)}return r}let k=["96x96","128x128","192x192","256x256","384x384","512x512"];function A(e){if(!e)return null;if(/^https?:\/\//i.test(e))return e;if(e.startsWith("//"))return`${window.location.protocol}${e}`;try{return new URL(e,window.location.origin).toString()}catch{return null}}function y(e){return e?{id:e.id,src:e.audioUrl}:null}function S(e,t){return{...(0,f.attributionContextToEventPayload)(e,t),source:(0,f.resolveAnalyticsAttributionSource)(e,t)??t}}function g(e){return{...e,source:"AUTOPLAY"}}let C=(0,r.createContext)(void 0),b=(0,r.createContext)(void 0),E=(0,r.createContext)(void 0);e.s(["AudioContextProvider",0,function({children:e}){let f=(0,u.usePathname)(),[T,I]=(0,r.useState)(null),[R,w]=(0,r.useState)(null),[P,L]=(0,r.useState)(null),[x,O]=(0,r.useState)(void 0),[M,U]=(0,r.useState)(null),[N,q]=(0,r.useState)(null),[D,F]=(0,r.useState)(null),[_,$]=(0,r.useState)(null),[B,j]=(0,r.useState)(null),[V,H]=(0,r.useState)(null),[Y,W]=(0,r.useState)(!1),[K,G]=(0,r.useState)(!1),[z,J]=(0,r.useState)(void 0),[X,Q]=(0,r.useState)(void 0),[Z,ee]=(0,r.useState)(!1),[et,er]=(0,r.useState)(!1),ei=(0,r.useRef)(0),en=(0,r.useRef)(!1),[ea,es]=(0,r.useState)(1),[eu,eo]=(0,r.useState)(!1),[el,ec]=(0,r.useState)({}),[ed,eh]=(0,r.useState)(!1),[ef,ep]=(0,r.useState)(null),[em,ev]=(0,r.useState)({}),[ek,eA]=(0,r.useState)({}),[ey,eS]=(0,r.useState)(!1),[eg,eC]=(0,r.useState)(null),[eb,eE]=(0,r.useState)([]),[eT,eI]=(0,r.useState)([]),eR=(0,r.useRef)([]),ew=(0,r.useRef)([]),eP=(0,r.useRef)(null),eL=(0,r.useRef)(null),ex=(0,r.useRef)([]),eO=(0,r.useRef)(null),eM=(0,r.useRef)(0),eU=(0,r.useRef)(0),eN=(0,r.useRef)(new Set),eq=(0,r.useRef)([]),eD=(0,r.useRef)(new Set),eF=(0,r.useRef)([]),e_=(0,r.useRef)(!1),e$=(0,r.useRef)(null),eB=(0,r.useRef)(null),ej=(0,r.useRef)(null),eV=(0,r.useRef)(0),eH=(0,r.useRef)(!1),eY=(0,r.useRef)(null),eW=(0,r.useRef)(null),eK=(0,r.useRef)(null),eG=(0,r.useRef)(0),ez=(0,r.useRef)(0),eJ=(0,r.useRef)(new Set),eX=(0,r.useRef)(null),eQ=(0,r.useRef)(void 0),eZ=(0,r.useRef)(!1),e0=(0,r.useRef)(!1),e1=(0,r.useRef)(null),e5=(0,o.useSessionInfo)(),e2=(0,h.useUser)(),{currentTrackId:e6,isActiveOwner:e3,isPlaying:e9,isLoading:e4,duration:e8,currentTime:e7,play:te,pause:tt,togglePlayPause:tr,seek:ti,isLooping:tn,toggleMute:ta,changeVolume:ts,toggleLoop:tu,syncRetainedTracks:to,onPlayTimeUpdate:tl}=(0,l.useAudioPlayer)({owner:"main-audio-context"}),tc=et||e4;!function(e,t,s,u,o="manual"){let l=(0,r.useRef)({trackId:null,position:0,wallTime:0,milliseconds:0,qualified:!1}),c=(0,r.useRef)(new Set);(0,r.useEffect)(()=>{if("allowed"!==(0,a.getAdvertisingMeasurementDecision)()){l.current={trackId:null,position:0,wallTime:0,milliseconds:0,qualified:!1};return}let r=function(e,t,r,i,n){if(!t||e.trackId!==t)return{trackId:t,position:r,wallTime:n,milliseconds:0,qualified:!1};let a=(r-e.position)*1e3,s=n-e.wallTime,u=i&&a>0&&s>0&&s<=5e3&&a<=1.5*s+250?Math.min(a,s):0,o=e.milliseconds+u;return{trackId:t,position:r,wallTime:n,milliseconds:o,qualified:e.qualified||o>=3e4}}(l.current,e,t,s,performance.now()),d=`${(0,i.getClientAttributionIdentity)().sessionId}:${e}`;r.qualified&&!c.current.has(d)&&e&&(c.current.add(d),c.current.size>500&&c.current.delete(c.current.values().next().value),(0,n.emitTraffic)("listening.qualified",{trackId:e,projectId:u,input:o,durationMs:Math.floor(r.milliseconds)})),l.current=r},[e,t,s,u,o])}(T,e7,e9,x?.projectId,x?.source==="AUTOPLAY"?"automatic":"manual"),(0,r.useEffect)(()=>{eO.current=T},[T]),(0,r.useEffect)(()=>{eM.current=e7,eU.current=e8},[e7,e8]),(0,r.useEffect)(()=>{ew.current=eb},[eb]);let td=(0,r.useCallback)(e=>{if(eN.current.has(e)||(eN.current.add(e),eq.current.push(e),eq.current.length<=200))return;let t=eq.current.shift();t&&eN.current.delete(t)},[]),th=(0,r.useCallback)(e=>{if(eD.current.has(e)||(eD.current.add(e),eF.current.push(e),eF.current.length<=30))return;let t=eF.current.shift();t&&eD.current.delete(t)},[]);(0,r.useEffect)(()=>(eY.current=new BroadcastChannel("track-like-channel"),eY.current.onmessage=e=>{let{trackId:t,isLiked:r,likeCount:i}=e.data;ev(e=>({...e,[t]:r})),eA(e=>({...e,[t]:i}))},()=>{eY.current?.close(),eY.current=null}),[]),(0,r.useEffect)(()=>{let e=1,t=localStorage.getItem("audioVolume");if(null!==t){let r=parseFloat(t);Number.isNaN(r)||(e=Math.max(0,Math.min(1,r)))}let r=0===e,i=localStorage.getItem("audioIsMuted");if(null!==i)try{r=JSON.parse(i)||0===e}catch{r=0===e}es(e),eo(r),1!==e&&ts(e),e>0&&r&&ta()},[ts,ta]),(0,r.useEffect)(()=>{localStorage.setItem("audioVolume",ea.toString()),localStorage.setItem("audioIsMuted",JSON.stringify(eu))},[ea,eu]),(0,r.useEffect)(()=>{e5.isInitialized&&e5.sessionId&&!eW.current&&(eW.current=e5.sessionId)},[e5]),(0,r.useEffect)(()=>{e2&&e5.isInitialized&&P?.kind!=="kit-preview"&&(async()=>{try{let e=[...T?[T]:[],...eb.map(e=>e.id),...window.location.pathname.startsWith("/t/")?[window.location.pathname.split("/t/")[1]]:[]].slice(0,50);if(0===e.length)return;let t=new URLSearchParams({userId:e2.id,trackIds:e.join(",")}),r=await fetch(`/api/track/likedTracks/batch?${t}`,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store"});if(!r.ok)throw Error(`HTTP ${r.status}`);let{likedTracks:i,likeCounts:n}=await r.json();ev(e=>({...e,...i})),eA(e=>({...e,...n}))}catch(e){console.error("[AudioContextProvider] Failed to fetch liked tracks:",e)}})()},[T,e5.isInitialized,e2,eb,P?.kind]),(0,r.useEffect)(()=>
2{if(P?.kind==="kit-preview"||!T||!D||!_)return;let e=!0,t=`[AudioContext:${T}]`;return(async()=>{try{let t=await (0,c.getPurchaseSnapshot)(D);if(!t||t.track.id!==T)throw Error("Track metadata unavailable");e&&(U(t.track),H(t.track.leaseOptions||[]),G(t.track.offerEnabled??!1),J(t.track.offerCeilingPrice),Q(t.track.offerFloorPrice),W((0,p.hasDirectPurchaseOption)(t.track)))}catch(r){console.error(`${t} Failed to fetch track metadata:`,r),e&&(U(null),H([]),W(!1),G(!1),J(void 0),Q(void 0))}})(),()=>{e=!1}},[T,D,_,P?.kind]);let tf=(0,r.useCallback)(async e=>{if(P?.kind!=="track"||!e2||ey)return;eS(!0);let t=em[e]||!1,r=ek[e]||0;ev(r=>({...r,[e]:!t})),eA(i=>({...i,[e]:t?r-1:r+1}));try{let i=await fetch("/api/track/likedTracks/batch",{method:t?"DELETE":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e2.id,trackIds:[e]})});if(!i.ok)throw Error(`HTTP ${i.status}`);let{likedTracks:n,likeCounts:a}=await i.json();ev(e=>({...e,...n})),eA(e=>({...e,...a})),eY.current?.postMessage({trackId:e,isLiked:!t,likeCount:t?r-1:r+1});let s={trackId:e,sessionId:e5.sessionId,eventType:t?"UNLIKE":"LIKE",source:e5.source,deviceType:e5.deviceType,countryCode:e5.countryCode};await fetch("/api/analytics/misc",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(i){console.error("[AudioContextProvider] Error toggling like:",i),ev(r=>({...r,[e]:t})),eA(t=>({...t,[e]:r})),d.toast.error("Failed to update like. Please try again.")}finally{eS(!1)}},[e5,em,ek,ey,e2,P?.kind]),tp=(0,r.useCallback)(async(e,t=2,r=1e3)=>{if(!e5.isInitialized||!e.sessionId)return;let i=async n=>{try{let t=await fetch("/api/analytics/audio-stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),keepalive:!0});if(!t.ok){if(!(429===t.status||t.status>=500))return;throw Error(`HTTP ${t.status}`)}}catch(a){n<t?setTimeout(()=>i(n+1),r*2**n):console.error(`[AudioContextProvider] Failed to send stream event for track ${e.trackId}:`,a)}};await i(1)},[e5.isInitialized]),tm=(0,r.useCallback)(()=>{eX.current&&clearInterval(eX.current),ez.current=Date.now(),eX.current=setInterval(()=>{let e=Date.now(),t=(e-ez.current)/1e3;e9&&(eG.current+=t),ez.current=e},1e3)},[e9]),tv=(0,r.useCallback)(()=>{eX.current&&clearInterval(eX.current),eX.current=null},[]),tk=(0,r.useCallback)(()=>{if(P?.kind!=="track"||!e5.isInitialized||!eW.current||!T||0===eG.current)return;let{deviceType:e,countryCode:t}=e5,r=Math.round(1e3*eG.current),i=eK.current??crypto.randomUUID();tp({trackId:T,sessionId:eW.current,milestone:"RECAP",listenMs:r,deviceType:e,countryCode:t,userAgent:navigator.userAgent,idempotencyKey:`${i}:RECAP`,...S(x,e5.source)}),eW.current=null,eK.current=null,eG.current=0,eJ.current.clear()},[T,tp,e5,P?.kind,x]),tA=(0,r.useCallback)(e=>{let t=[...e];for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),i=t[e];t[e]=t[r],t[r]=i}return t},[]),ty=(0,r.useMemo)(()=>T&&R?{id:T,src:R,kind:P?.kind}:null,[T,R,P?.kind]),tS=(0,r.useMemo)(()=>/^\/projects\/[^/]+$/.test(f??""),[f]),tg=(0,r.useMemo)(()=>{if(!ef||0===eb.length)return{next:y(eb[0]),previous:y(eT[0]),preload:eb[0]?"next":null};let e=eb.findIndex(e=>e.id===T),t=e>0?eb[e-1]:eT[0],r=!ed&&e>=0?eb[e+1]:null;return{next:y(r),previous:y(t),preload:r?"next":null}},[ef,eb,eT,ed,T]);(0,r.useEffect)(()=>{to({current:ty,next:tg.next,previous:tg.previous,preload:tg.preload})},[ty,tg,to]),(0,r.useEffect)(()=>{if(tS&&P?.kind==="track"&&T){e0.current||(e0.current=!0,e1.current=tn),tn||tu();return}if(!e0.current)return;e0.current=!1;let e=e1.current;e1.current=null,null!==e&&tn!==e&&tu()},[P?.kind,T,tn,tS,tu,e9]);let tC=(0,r.useCallback)(async(e,t={})=>{var r;if(eP.current)return[];let i=Array.from(new Set([e,...eb.map(e=>e.id),...eT.map(e=>e.id),...eN.current])),n=eq.current.slice(-12),a=eF.current.slice(-8),s=JSON.stringify({trackId:(r={trackId:e,excludedTrackIds:i,limit:5,author:eg}).trackId,excludedTrackIds:[...r.excludedTrackIds].sort(),limit:r.limit,author:r.author});if(e$.current===s||eB.current===s)return[];ej.current?.abort();let u=new AbortController;ej.current=u;let o=eV.current+1;eV.current=o,e_.current=!0,e$.current=s;try{let r=await fetch("/api/track/queue-recommendations",{method:"POST",headers:{"Content-Type":"application/json","x-session-id":e5.sessionId||""},body:JSON.stringify({trackId:e,excludedTrackIds:i,recentTrackIds:n,negativeTrackIds:a,limit:5,author:eg,sessionId:e5.sessionId}),signal:u.signal});if(!r.ok){let e=await r.text();throw Error(`Recommendations request failed (${r.status})${e?`: ${e}`:""}`)}let l=await r.text(),c=l.trim()?JSON.parse(l):[];if(!Array.isArray(c))throw Error("Recommendations response was not an array");if(o!==eV.current||eO.current!==e)return[];let d=new Set(i),h=c.flatMap(e=>!e.id||d.has(e.id)?[]:(d.add(e.id),[{id:e.id,audioUrl:`/api/audio/resolve/${e.id}`,trackUrl:e.url,title:e.title,thumbnail:e.thumbnail,author:e.authorUsername,queueSource:"AUTOMATIC",attributionContext:e.attributionContext}]));if(0===h.length)return eB.current=s,[];return eB.current=null,!1!==t.append&&eE(e=>{let t=m(e,h,eN.current);return(eR.current=[...t],ed&&!ef)?tA([...t]):t}),h}catch(e){if(e instanceof Error&&"AbortError"===e.name)return[];return console.error("[AudioContextProvider] Failed to fetch recommendations:",e),[]}finally{o===eV.current&&(e_.current=!1,e$.current=null,ej.current=null)}},[eb,eT,e5.sessionId,ed,tA,ef,eg]),tb=(0,r.useCallback)(async(e,t,r,i,n,a,s,u,o=3,l=2e3)=>{if(!e5.isInitialized)return;if(eg&&a!==eg)return void console.warn(`[AudioContext] Blocked playback: ${a} ≠ locked ${eg}`);let c=eP.current;if(eP.current=u??null,u||c){ej.current?.abort(),ej.current=null,eV.current+=1,e_.current=!1,e$.current=null,eB.current=null;let e=u?u.tracks.slice(u.index+1):[];ew.current=e,eR.current=[...e],eE(e),eI(u?u.tracks.slice(0,u.index).reverse():[])}let d=++ei.current;en.current=!0;try{let c;er(!0);let h=(c=t?.trim())&&(/^https?:\/\//i.test(c)||c.startsWith("blob:")||c.startsWith("data:")||c.startsWith("/api/audio/"))?c:`/api/audio/resolve/${e}`,f=eO.current,p=eG.current,m=eU.current;f&&f!==e&&p>0&&p<12&&(m>0?p/m:1)<.1&&th(f),!u&&!eH.current&&T&&R&&N&&D&&_&&B&&eI(e=>[{id:T,audioUrl:R,trackUrl:D,title:N,thumbnail:B,author:_,attributionContext:x},...e.slice(0,4)]),tt(),e9&&(tv(),tk()),eO.current=e,I(e),w(h),L({kind:"track",id:e,audioUrl:h,trackUrl:r,title:i,thumbnail:n,author:a,href:`/t/${r}`,attributionContext:s}),O(s),U(null),q(i),F(r),$(a),j(n),H(null),W(!1),G(!1),J(void 0),Q(void 0),ee(!0),eW.current=e5.sessionId,eK.current=crypto.randomUUID(),eJ.current.clear(),eG.current=0;let k=!1;for(let t=1;t<=o;t++){if(d!==ei.current)return;try{k=await te({track:{id:e,src:h}});break}catch(r){if(d!==ei.current)return;if(t<o)console.warn(`[AudioContextProvider] Retry ${t}/${o} for track ${e}:`,r),await new Promise(e=>setTimeout(e,l*t));else throw Error(`Failed to load track ${e} after ${o} attempts`)}}if(d!==ei.current)return;en.current=!1,er(!1),eP.current||0!==ew.current.length||eL.current||tC(e),k&&(td(e),u||eE(t=>{let r=t.filter(t=>t.id!==e),i=ef?r:v(r,2);return eR.current=v(eR.current.filter(t=>t.id!==e),ef?1/0:2),i}),tm())}catch(e){if(d!==ei.current)return;en.current=!1,console.error("[AudioContextProvider] Error playing track:",e),U(null),H(null),W(!1),G(!1),J(void 0),Q(void 0),er(!1)}},[e5,e9,tt,tv,tk,te,tm,T,R,N,D,_,B,x,eg,tC,ef,td,th]),tE=(0,r.useCallback)(()=>
2{if(P?.kind!=="track"||!e5.isInitialized||!T||!e9)return;let{sessionId:e,deviceType:t,countryCode:r}=e5,i=e8||60,n=e7/i*100,a=(i,n)=>{eJ.current.has(i)||(eK.current||(eK.current=crypto.randomUUID()),tp({trackId:T,sessionId:e,milestone:i,listenMs:n,deviceType:t,countryCode:r,userAgent:"RECAP"===i?navigator.userAgent:void 0,idempotencyKey:`${eK.current}:${i}`,...S(x,e5.source)}),eJ.current.add(i))};e7>=0&&!eJ.current.has("START")&&a("START"),n>=25&&!eJ.current.has("PROGRESS_25")&&a("PROGRESS_25"),n>=50&&!eJ.current.has("PROGRESS_50")&&a("PROGRESS_50"),n>=75&&!eJ.current.has("PROGRESS_75")&&a("PROGRESS_75"),(n>=90||e7>=i-.5)&&!eJ.current.has("PROGRESS_100")&&a("PROGRESS_100",Math.round(1e3*eG.current)),e7<=.5&&e7<eG.current&&eJ.current.has("PROGRESS_100")&&!eJ.current.has("REPLAY")&&(a("REPLAY"),eJ.current.delete("PROGRESS_100"))},[T,e9,e7,e8,tp,e5,P?.kind,x]);(0,r.useEffect)(()=>tl(tE),[tl,tE]),(0,r.useEffect)(()=>{P?.kind!=="track"||ef||eP.current||!T||eb.length>=3||e_.current||tC(T)},[eb.length,T,ef,tC,P?.kind]);let tT=(0,r.useCallback)(e=>{eg&&e.author!==eg||eE(t=>{let r=new Set(eN.current);eO.current&&r.add(eO.current);let i=m(t,[{...e,queueSource:"MANUAL"}],r);return(eR.current=[...i],ed&&!ef)?tA([...i]):i})},[ed,tA,ef,eg]),tI=(0,r.useCallback)((e,t)=>{let r=new Set(eN.current);r.add(e);let i=function(e,t,r,i){let n=t.findIndex(e=>e.id===r),a=t.slice(n+1);if(n<0||0===a.length&&!e.some(e=>"LIST"===e.queueSource))return e;let s=e.filter(e=>"AUTOMATIC"!==e.queueSource&&"LIST"!==e.queueSource),u=e.filter(e=>"AUTOMATIC"===e.queueSource);return m([],[...s,...a.map(e=>({...e,queueSource:"LIST"})),...u],i)}(ew.current,t,e,r);i!==ew.current&&(ej.current?.abort(),ej.current=null,eV.current+=1,e_.current=!1,e$.current=null,eB.current=null,ew.current=i,eR.current=[...i],eE(i))},[]),tR=(0,r.useCallback)(async()=>{let e,t=eP.current;if(t){let e=t.index+1,r=t.tracks[e];if(!r)return;await tb(r.id,r.audioUrl,r.trackUrl,r.title,r.thumbnail,r.author,r.attributionContext,{tracks:t.tracks,index:e});return}if(0===eb.length){if(T&&!ef){let[e,...t]=await tC(T,{append:!1});if(!e)return;eE(t),eR.current=[...t],await tb(e.id,e.audioUrl,e.trackUrl,e.title,e.thumbnail,e.author,g(e.attributionContext))}return}if(ed&&eb.length>1&&!ef){let t=Math.floor(Math.random()*eb.length);e=eb[t],eE(r=>{let i=r.filter((e,r)=>r!==t);return eR.current=eR.current.filter(t=>t.id!==e.id),i})}else e=eb[0],eE(e=>{let t=e.slice(1);return eR.current=eR.current.slice(1),t});await tb(e.id,e.audioUrl,e.trackUrl,e.title,e.thumbnail,e.author,g(e.attributionContext))},[eb,ed,tb,tC,T,ef]),tw=(0,r.useCallback)(async()=>{let e=eP.current;if(e){let t=e.index-1,r=e.tracks[t];if(!r)return;await tb(r.id,r.audioUrl,r.trackUrl,r.title,r.thumbnail,r.author,r.attributionContext,{tracks:e.tracks,index:t});return}if(0!==eT.length){eH.current=!0;try{let e=eT[0];eI(e=>e.slice(1)),await tb(e.id,e.audioUrl,e.trackUrl,e.title,e.thumbnail,e.author,e.attributionContext)}finally{eH.current=!1}}},[eT,tb]),tP=(0,r.useCallback)((e,t)=>{if(ej.current?.abort(),ej.current=null,eV.current+=1,e_.current=!1,e$.current=null,eB.current=null,eP.current=null,ep(e),e){eL.current||(ex.current=[...ew.current]),eL.current=e;let r=t.map(e=>({...e,queueSource:"PLAYLIST"}));ew.current=r,eE(r),eR.current=[...r]}else{eL.current=null;let e=[...ex.current];ex.current=[],ew.current=e,eE(e),eR.current=[...e]}},[]),tL=(0,r.useCallback)(()=>{++ei.current,en.current=!1,er(!1),tt(),tv(),tk()},[tt,tv,tk]),tx=(0,r.useCallback)(async e=>{if("track"===e.kind)return void await tb(e.id,e.audioUrl,e.trackUrl,e.title,e.thumbnail,e.author,e.attributionContext);if(!e5.isInitialized)return;eP.current=null;let t=++ei.current;en.current=!0;try{er(!0),tt(),e9&&(tv(),tk()),eO.current=e.id,I(e.id),w(e.audioUrl),L(e),U(null),q(e.title),F(e.href??""),$(e.author),j(e.thumbnail),H(null),W(!1),G(!1),J(void 0),Q(void 0),ee(!0),eW.current=null,eK.current=null,eJ.current.clear(),eG.current=0;let r=await te({track:{id:e.id,src:e.audioUrl,kind:e.kind}});if(t!==ei.current)return;r&&tm()}catch(e){if(t!==ei.current)return;console.error("[AudioContextProvider] Error playing media item:",e),U(null),H(null),W(!1),G(!1),J(void 0),Q(void 0)}finally{t===ei.current&&(en.current=!1,er(!1))}},[tb,e5.isInitialized,e9,tt,tv,tk,te,tm]),tO=(0,r.useCallback)(async(e,t)=>{if(0===t.length)return void tL();let r=function(e,t,r,i,n=Math.random()){let a=e.findIndex(e=>e.id===t);if(i){let i=e.filter(e=>e.id!==t&&!r.has(e.id));if(0===i.length)return;let a=Math.min(i.length-1,Math.floor(Math.max(0,Math.min(.999999,n))*i.length));return i[a]}return e.slice(Math.max(a+1,0)).find(e=>!r.has(e.id))}(t,e,eN.current,ed);r?await tb(r.id,r.audioUrl,r.trackUrl,r.title,r.thumbnail,r.author,g(r.attributionContext)):tL()},[ed,tb,tL]),tM=(0,r.useCallback)(()=>
2{if(!e5.isInitialized)return;if(e9||e4||en.current)return void tL();if(!T||!R)return;let e=++ei.current;en.current=!0,(e3&&e6===T?tr():te({track:{id:T,src:R,kind:P?.kind},startTime:e7})).then(t=>{e===ei.current&&t&&(tm(),eW.current||(eW.current=e5.sessionId,eK.current=crypto.randomUUID()))}).catch(t=>{e===ei.current&&console.error("[AudioContextProvider] Failed to resume track:",t)}).finally(()=>{e===ei.current&&(en.current=!1,er(!1))})},[e5,e9,e4,tL,e3,e6,T,R,e7,P?.kind,tr,te,tm]),tU=(0,r.useCallback)(e=>{eC(t=>t===e?t:e),eE(e=>e.length?[]:e),eI(e=>e.length?[]:e),ew.current=[],eR.current=[],ej.current?.abort(),ej.current=null,eV.current+=1,e_.current=!1,e$.current=null,eB.current=null},[]),tN=(0,r.useCallback)(e=>{let t=Math.max(0,Math.min(1,e));ts(t),es(t),eo(0===t)},[ts]),tq=(0,r.useCallback)(()=>{eo(e=>!e),ta()},[ta]),tD=(0,r.useCallback)(()=>{ej.current?.abort(),ej.current=null,eV.current+=1,e_.current=!1,e$.current=null,eB.current=null,ew.current=[],eE([]),eR.current=[]},[]),tF=(0,r.useCallback)(()=>{eh(e=>(e?(eE([...eR.current]),eR.current=[]):(eR.current=[...eb],eb.length>1&&!ef&&eE(tA([...eb]))),!e))},[eb,tA,ef]);(0,r.useEffect)(()=>{if(!("mediaSession"in navigator)||"u"<typeof MediaMetadata)return;let e=navigator.mediaSession,t=A(B)??A("/img/PlaceholderThumbnail.jpg"),r=t?function(e){try{let t=new URL(e).pathname.toLowerCase();if(t.endsWith(".png"))return"image/png";if(t.endsWith(".webp"))return"image/webp";if(t.endsWith(".gif"))return"image/gif";if(t.endsWith(".avif"))return"image/avif";if(t.endsWith(".svg"))return"image/svg+xml";if(t.endsWith(".jpg")||t.endsWith(".jpeg"))return"image/jpeg"}catch{}}(t):void 0;if(e.metadata=N?new MediaMetadata({title:N,artist:_??"",album:"SoundSeam",artwork:t?k.map(e=>r?{src:t,sizes:e,type:r}:{src:t,sizes:e}):[]}):null,e.playbackState=T?e9?"playing":"paused":"none",T&&"function"==typeof e.setPositionState&&Number.isFinite(e8)&&e8>0)try{e.setPositionState({duration:e8,playbackRate:1,position:Math.min(e7,e8)})}catch{}},[T,N,_,B,e9,e7,e8]),(0,r.useEffect)(()=>{if(!("mediaSession"in navigator))return;let e=navigator.mediaSession,t=(t,r)=>{try{e.setActionHandler(t,r)}catch{}};return t("play",()=>{e9||tc||tM()}),t("pause",tL),t("stop",tL),t("previoustrack",()=>{tw()}),t("nexttrack",()=>{eQ.current?eQ.current():tR()}),t("seekbackward",e=>{!Number.isFinite(e8)||e8<=0||ti(Math.max(0,e7-(e?.seekOffset??10))/e8*100)}),t("seekforward",e=>{!Number.isFinite(e8)||e8<=0||ti(Math.min(e8,e7+(e?.seekOffset??10))/e8*100)}),t("seekto",e=>{e?.seekTime==null||!Number.isFinite(e8)||e8<=0||ti(Math.max(0,Math.min(e8,e.seekTime))/e8*100)}),()=>{t("play",null),t("pause",null),t("stop",null),t("previoustrack",null),t("nexttrack",null),t("seekbackward",null),t("seekforward",null),t("seekto",null)}},[e7,e8,e9,tc,tL,tR,tw,ti,tM]),(0,r.useEffect)(()=>{e9?tm():tv()},[e9,tm,tv]),(0,r.useEffect)(()=>{let e=()=>{tv(),tk()};return window.addEventListener("pagehide",e),window.addEventListener("beforeunload",e),()=>{window.removeEventListener("pagehide",e),window.removeEventListener("beforeunload",e),e()}},[tv,tk]),(0,r.useEffect)(()=>{eZ.current&&!e9&&!tc&&e8>0&&e7>=e8-.75&&(tk(),tn||P?.kind!=="track"||(eQ.current?eQ.current():tR())),eZ.current=e9},[e9,tc,e8,e7,tk,tR,tn,P?.kind]);let t_=(0,r.useRef)(tM);(0,r.useEffect)(()=>{t_.current=tM},[tM]);let t$=(0,r.useCallback)(()=>t_.current(),[]),tB=(0,r.useMemo)(()=>({currentlyPlayingId:T,isPlaying:e9,isTrackLoading:tc,playTrack:tb,togglePlayPause:t$}),[T,e9,tc,tb,t$]),tj=(0,r.useMemo)(()=>({likedTracks:em,likeCounts:ek,toggleLike:tf}),[em,ek,tf]),tV=(0,r.useMemo)(()=>({hasPlayedTrack:Z,isTrackLoading:tc}),[Z,tc]),tH={currentMedia:P,currentMediaKind:P?.kind??null,currentlyPlayingId:T,currentlyPlayingUrl:R,setCurrentlyPlayingId:I,audioPosition:el,setAudioPosition:(e,t)=>ec(r=>({...r,[e]:t})),isPlaying:e9,currentTime:e7,duration:e8,volume:ea,isMuted:eu,isLooping:tn,playTrack:tb,playMediaItem:tx,pauseTrack:tL,togglePlayPause:tM,seek:ti,toggleMute:tq,changeVolume:tN,toggleLoop:tu,currentTrack:M,currentTrackTitle:N,currentTrackUrl:D,currentTrackAuthor:_,currentTrackThumbnail:B,currentTrackLeaseOptions:V,currentTrackHasDirectPurchaseOption:Y,currentTrackOfferEnabled:K,currentTrackOfferCeilingPrice:z,currentTrackOfferFloorPrice:X,isTrackLoading:tc,setOnTrackEnd(e){eQ.current=e},hasPlayedTrack:Z,queue:eb,history:eT,addToQueue:tT,queueFollowingTracks:tI,playNext:tR,playPrevious:tw,clearQueue:tD,isS
2huffled:ed,toggleShuffle:tF,playlistId:ef,setPlaylistContext:tP,playNextInPlaylist:tO,likedTracks:em,likeCounts:ek,toggleLike:tf,lockedAuthor:eg,lockToAuthor:tU};return(0,t.jsx)(C.Provider,{value:tH,children:(0,t.jsx)(b.Provider,{value:tB,children:(0,t.jsx)(s.AudioDockStateContext.Provider,{value:tV,children:(0,t.jsx)(E.Provider,{value:tj,children:e})})})})},"AudioContextSnapshotProvider",0,function({value:e,children:r}){return(0,t.jsx)(C.Provider,{value:e,children:(0,t.jsx)(b.Provider,{value:e,children:(0,t.jsx)(s.AudioDockStateContext.Provider,{value:e,children:(0,t.jsx)(E.Provider,{value:e,children:r})})})})},"useAudioContext",0,function(){let e=(0,r.useContext)(C);if(!e)throw Error("useAudioContext must be used within AudioContextProvider");return e},"useAudioLikes",0,function(){let e=(0,r.useContext)(E);if(!e)throw Error("useAudioLikes must be used within AudioContextProvider");return e},"useAudioTrackControls",0,function(){let e=(0,r.useContext)(b);if(!e)throw Error("useAudioTrackControls must be used within AudioContextProvider");return e}],67670)},603931,e=>{"use strict";function t(e){var t;if("boolean"==typeof(t=e.pendingCollaborations)?t:(t?.length??0)>0)return{state:"UNAVAILABLE",reasonCode:"TRACK_PENDING_COLLABORATIONS",message:"This track is temporarily unavailable while its collaborators are being confirmed."};if(e.exclusivelySold)return{state:"UNAVAILABLE",reasonCode:"TRACK_EXCLUSIVELY_SOLD",message:"This track has been exclusively sold."};if("EXCLUSIVE"===e.leaseOption.leaseType.toUpperCase()&&e.leaseOption.isOfferOnly)return e.offerEnabled&&e.leaseOption.isActive?{state:"OFFER_ONLY",reasonCode:"TRACK_OFFER_ONLY",message:`Lease option "${e.leaseOption.leaseType}" is offer-only and cannot be purchased directly.`}:{state:"UNAVAILABLE",reasonCode:"TRACK_LEASE_INACTIVE",message:`Lease option "${e.leaseOption.leaseType}" is offer-only and cannot be purchased directly.`};
2if("EXCLUSIVE"===e.leaseOption.leaseType.toUpperCase())return{state:"UNAVAILABLE",reasonCode:"TRACK_DIRECT_EXCLUSIVE_PAUSED",message:"Direct exclusive checkout is temporarily unavailable. Please arrange an exclusive offer with the producer."};if(!e.leaseOption.isActive){let t=e.missingRequiredFiles??[];return{state:"UNAVAILABLE",reasonCode:"TRACK_LEASE_INACTIVE",message:t.length>0?`Lease option "${e.leaseOption.leaseType}" is unavailable because required files are missing: ${t.join(", ")}.`:`Lease option "${e.leaseOption.leaseType}" is not available for this track.`}}return"number"!=typeof e.leaseOption.price||e.leaseOption.price<=0?{state:"UNAVAILABLE",reasonCode:"TRACK_PRICE_MISSING",message:`Lease option "${e.leaseOption.leaseType}" cannot be purchased.`}:{state:"PURCHASABLE",reasonCode:null,message:null}}e.s(["getCheapestDirectPurchaseLeaseOption",0,function(e){return(e.leaseOptions??[]).reduce((r,i)=>"PURCHASABLE"!==t({...e,leaseOption:i}).state?r:!r||i.price<r.price?i:r,null)},"hasDirectPurchaseOption",0,function(e){return(e.leaseOptions??[]).some(r=>"PURCHASABLE"===t({exclusivelySold:e.exclusivelySold,pendingCollaborations:e.pendingCollaborations,leaseOption:r}).state)},"resolveTrackPurchaseAvailability",0,t])},109088,e=>{"use strict";let t=["SEARCH","EXPLORE","DISCOVER","PLAYLIST","RECOMMENDED","AUTOPLAY","SOCIAL","PROFILE","DIRECT"];e.s(["ANALYTICS_SOURCES",0,t,"ANALYTICS_SOURCE_LABELS",0,{SEARCH:"Direct search",EXPLORE:"Explore",DISCOVER:"Search",PLAYLIST:"Playlist",RECOMMENDED:"Recommended",AUTOPLAY:"Autoplay",SOCIAL:"Social",PROFILE:"Profile",DIRECT:"Direct"},"ANALYTICS_SOURCE_ORDER",0,["DISCOVER","EXPLORE","SEARCH","PLAYLIST","RECOMMENDED","AUTOPLAY","PROFILE","SOCIAL","DIRECT"],"isAnalyticsSource",0,function(e){return t.includes(e)}])}]);
3
4//# debugId=80ec4877-8a56-785d-3d71-d38b988c2120

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.