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]="10de65b2-9122-280e-c063-ab7a1e57847d")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,794935,701370,441879,404590,199610,e=>{"use strict";try{var t=window;t._sentryModuleMetadata=t._sentryModuleMetadata||{},t._sentryModuleMetadata[(new t.Error).stack]=Object.assign({},t._sentryModuleMetadata[(new t.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let a=e=>`${e}Variant`,r="__ab_force_control",s=({id:e,name:t,variants:s,weights:n})=>{let o=a(e),i=t?`,experiment_name:${JSON.stringify(t)}`:"",d=n&&n.length===s.length?`var w=${JSON.stringify(n)},t=0,i;for(i=0;i<w.length;i++){t+=w[i];}var r=Math.random()*t,acc=0;v=variants[variants.length-1];for(i=0;i<variants.length;i++){acc+=w[i];if(r<acc){v=variants[i];break;}}`:"v=variants[Math.floor(Math.random()*variants.length)];";return`(function(){try{var key=${JSON.stringify(e)},variants=${JSON.stringify(s)},v=localStorage.getItem(key);if(!v||variants.indexOf(v)<0){if(localStorage.getItem(${JSON.stringify(r)})){v=variants[0];}else{${d}localStorage.setItem(key,v);}}window.dataLayer=window.dataLayer||[];window.dataLayer.push({experiment_id:key${i},experiment_variant:v});window[${JSON.stringify(o)}]=v;console.debug('\\uD83E\\uDDEA','['+key+']','variant',v);}catch(e){console.debug('\\uD83E\\uDDEA experiment bootstrap failed',e);}})();`};e.s(["EXPERIMENT_FORCE_CONTROL_KEY",0,r,"buildExperimentsBootstrap",0,e=>e.map(s).join("\n"),"experimentGlobalVarName",0,a],701370);try{var n=window;n._sentryModuleMetadata=n._sentryModuleMetadata||{},n._sentryModuleMetadata[(new n.Error).stack]=Object.assign({},n._sentryModuleMetadata[(new n.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let o={id:"WU2986_TriviaQuiz",name:"WU2986 Trivia Quiz After Preroll",variants:["A","B"]};e.s(["wu2986TestVar",0,()=>{let e=window[a(o.id)];return e?`WU-2986-${e}`:void 0},"wu2986TriviaQuiz",0,o],794935);try{var i=window;i._sentryModuleMetadata=i._sentryModuleMetadata||{},i._sentryModuleMetadata[(new i.Error).stack]=Object.assign({},i._sentryModuleMetadata[(new i.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let d={id:"WU2988_PlayerSidecar",name:"WU2988 Expandable Player Sidecar",variants:["A","B","C"]};e.s(["wu2988PlayerSidecar",0,d,"wu2988TestVar",0,()=>{let e=window[a(d.id)];return e?`WU-2988-${e}`:void 0}],441879);var l=e.i(510084);try{var u="u">typeof window?window:e.g;u._sentryModuleMetadata=u._sentryModuleMetadata||{},u._sentryModuleMetadata[(new u.Error).stack]=Object.assign({},u._sentryModuleMetadata[(new u.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let c=e=>{let t,a=new Set,r=(e,r)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=r?r:"object"!=typeof s||null===s)?s:Object.assign({},t,s),a.forEach(a=>a(t,e))}},s=()=>t,n={setState:r,getState:s,getInitialState:()=>o,subscribe:e=>(a.add(e),()=>a.delete(e))},o=t=e(r,s,n);return n};try{var p="u">typeof window?window:e.g;p._sentryModuleMetadata=p._sentryModuleMetadata||{},p._sentryModuleMetadata[(new p.Error).stack]=Object.assign({},p._sentryModuleMetadata[(new p.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let y=e=>{let t=e?c(e):c,a=e=>(function(e,t=e=>e){let a=l.default.useSyncExternalStore(e.subscribe,l.default.useCallback(()=>t(e.getState()),[e,t]),l.default.useCallback(()=>t(e.getInitialState()),[e,t]));return l.default.useDebugValue(a),a})(t,e);return Object.assign(a,t),a};e.s(["create",0,e=>e?y(e):y],404590);var g={get url(){return e.F("node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]_/node_modules/zustand/esm/middleware.mjs")},env:{DEV:!1,PROD:!0,MODE:"production",BASE_URL:"/",SSR:!1}};try{var m="u">typeof window?window:e.g;m._sentryModuleMetadata=m._sentryModuleMetadata||{},m._sentryModuleMetadata[(new m.Error).stack]=Object.assign({},m._sentryModuleMetadata[(new m.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let h=e=>!!e.dispatchFromDevtools&&"function"==typeof e.dispatch,w=new Map,P=e=>{let t=w.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([e,t])=>[e,t.getState()])):{}},M=/^at (?:new |async )?(.+?) \(/,S=/^([^@]+)@/,f=(e,t)=>{let a;try{a=JSON.parse(e)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}void 0!==a&&t(a)},v=e=>t=>{try{let a=e(t);if(a instanceof Promise)return a;return{then:e=>v(e)(a),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>v(t)(e)}}};e.s(["devtools",0,(e,t={})=>(a,r,s)=>{let n,{enabled:o,anonymousActionType:i,store:d,...l}=t;try{n=(null!=o?o:"production"!==g.env.MODE)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}if(!n)return e(a,r,s);let{connection:u,...c}=((e,t,a)=>{if(void 0===e)return{type:"untracked",connection:t.connect(a)};let r=w.get(a.name);if(r)return{type:"tracked",store:e,...r};let s={connection:t.connect(a),stores:{}};return w.set(a.name,s),{type:"tracked",store:e,...s}})(d,n,l),p=!0;
2s.setState=(e,t,n)=>{let o=a(e,t);if(!p)return o;let c=void 0===n?{type:i||function(e){var t,a,r;if(!e)return;let s=e.split("\n"),n=s.findIndex(e=>e.includes("api.setState"));if(n<0)return;let o=(null==(t=s[n+1])?void 0:t.trim())||"";return(null==(a=M.exec(o))?void 0:a[1])||(null==(r=S.exec(o))?void 0:r[1])}(Error().stack)||"anonymous"}:"string"==typeof n?{type:n}:n;return void 0===d?null==u||u.send(c,r()):null==u||u.send({...c,type:`${d}/${c.type}`},{...P(l.name),[d]:s.getState()}),o},s.devtools={cleanup:()=>{u&&"function"==typeof u.unsubscribe&&u.unsubscribe(),((e,t)=>{if(void 0===t)return;let a=w.get(e);a&&(delete a.stores[t],0===Object.keys(a.stores).length&&w.delete(e))})(l.name,d)}};let y=(...e)=>{let t=p;p=!1,a(...e),p=t},m=e(s.setState,r,s);if("untracked"===c.type?null==u||u.init(m):(c.stores[c.store]=s,null==u||u.init(Object.fromEntries(Object.entries(c.stores).map(([e,t])=>[e,e===c.store?m:t.getState()])))),h(s)){let e=s.dispatch;s.dispatch=(...t)=>{e(...t)}}return u.subscribe(e=>{var t;switch(e.type){case"ACTION":if("string"!=typeof e.payload)return void console.error("[zustand devtools middleware] Unsupported action format");return f(e.payload,e=>{if("__setState"===e.type){if(void 0===d)return void y(e.state);1!==Object.keys(e.state).length&&console.error(` 3 [zustand devtools middleware] Unsupported __setState action format. 4 When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(), 5 and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } } 6 `);let t=e.state[d];return void(null==t||JSON.stringify(s.getState())!==JSON.stringify(t)&&y(t))}h(s)&&s.dispatch(e)});case"DISPATCH":switch(e.payload.type){case"RESET":if(y(m),void 0===d)return null==u?void 0:u.init(s.getState());return null==u?void 0:u.init(P(l.name));case"COMMIT":if(void 0===d){null==u||u.init(s.getState());break}return null==u?void 0:u.init(P(l.name));case"ROLLBACK":return f(e.state,e=>{if(void 0===d){y(e),null==u||u.init(s.getState());return}y(e[d]),null==u||u.init(P(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return f(e.state,e=>{void 0===d?y(e):JSON.stringify(s.getState())!==JSON.stringify(e[d])&&y(e[d])});case"IMPORT_STATE":{let{nextLiftedState:a}=e.payload,r=null==(t=a.computedStates.slice(-1)[0])?void 0:t.state;if(!r)return;void 0===d?y(r):y(r[d]),null==u||u.send(null,a);break}case"PAUSE_RECORDING":return p=!p}return}}),m},"persist",0,(e,t)=>(a,r,s)=>{let n,o={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var a;let r=e=>null===e?null:JSON.parse(e,void 0),s=null!=(a=t.getItem(e))?a:null;return s instanceof Promise?s.then(r):r(s)},setItem:(e,a)=>t.setItem(e,JSON.stringify(a,void 0)),removeItem:e=>t.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},i=!1,d=0,l=new Set,u=new Set,c=o.storage;if(!c)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),a(...e)},r,s);let p=()=>{let e=o.partialize({...r()});return c.setItem(o.name,{state:e,version:o.version})},y=s.setState;s.setState=(e,t)=>(y(e,t),p());let g=e((...e)=>(a(...e),p()),r,s);s.getInitialState=()=>g;let m=()=>{var e,t;if(!c)return;let s=++d;i=!1,l.forEach(e=>{var t;return e(null!=(t=r())?t:g)});let y=(null==(t=o.onRehydrateStorage)?void 0:t.call(o,null!=(e=r())?e:g))||void 0;return v(c.getItem.bind(c))(o.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===o.version)return[!1,e.state];else{if(o.migrate){let t=o.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(s!==d)return;let[i,l]=e;if(a(n=o.merge(l,null!=(t=r())?t:g),!0),i)return p()}).then(()=>{s===d&&(null==y||y(r(),void 0),n=r(),i=!0,u.forEach(e=>e(n)))}).catch(e=>{s===d&&(null==y||y(void 0,e))})};return s.persist={setOptions:e=>{o={...o,...e},e.storage&&(c=e.storage)},clearStorage:()=>{++d,null==c||c.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>m(),hasHydrated:()=>i,onHydrate:e=>(l.add(e),()=>{l.delete(e)}),onFinishHydration:e=>(u.add(e),()=>{u.delete(e)})},o.skipHydration||m(),n||g}],199610)},239757,e=>{"use strict";try{var t=window;t._sentryModuleMetadata=t._sentryModuleMetadata||{},t._sentryModuleMetadata[(new t.Error).stack]=Object.assign({},t._sentryModuleMetadata[(new t.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let a=new Date("2026-07-01T00:00:00").getTime(),r=new Date("2026-08-31T23:59:59").getTime(),s={"de-DE":new Set(["1livediggi","bayern1obb","swr1rp","ffh","deutschlandfunk","youfm","mdrthueringenerfurt","bremenvier","cosmo","dieneuewelle","ndr1wellenordkiel","radiobamberg","radioarabella","wdr5","radiobochum","mdrsachsendresden","radiofantasy","charivariregensburg","ndr1rostock","bayern2sued"])},n=(e,t,n=Date.now())=>!!e&&!!t&&!!((e=Date.now())=>e>=a&&e<=r)(n)&&(s[t]?.has(e)??!1),o=/^\/s\/([^/]+)\/?$/;e.s(["isAdFreeStation",0,n,"isAdFreeStationPage",0,(e,t,a=Date.now())=>{let r=e?.match(o);return!!r&&n(r[1],t,a)}])},16195,679628,482911,270109,257873,125873,383829,35329,215122,131100,929011,e=>{"use strict";var t=e.i(707241),a=e.i(505223),r=e.i(568481);try{var s=window;s._sentryModuleMetadata=s._sentryModuleMetadata||{},s._sentryModuleMetadata[(new s.Error).stack]=Object.assign({},s._sentryModuleMetadata[(new s.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var n=window;n._sentryModuleMetadata=n._sentryModuleMetadata||{},n._sentryModuleMetadata[(new n.Error).stack]=Object.assign({},n._sentryModuleMetadata[(new n.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let o=async e=>{let t=[],a=[];
6if(e.forEach(e=>{e.url.includes(".m3u")&&!e.url.includes(".m3u8")||e.url.includes(".pls")?t.push({url:e.url,contentFormat:e.contentFormat}):a.push(e)}),!(t.length>0))return e;try{return[...await fetch("/api/playlist",{method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify({playlists:t})}).then(e=>e.json()),...a]}catch(t){return e}};try{var i=window;i._sentryModuleMetadata=i._sentryModuleMetadata||{},i._sentryModuleMetadata[(new i.Error).stack]=Object.assign({},i._sentryModuleMetadata[(new i.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let d={STOPPED:-1,BUFFERING:0,PLAYING:1,PAUSED:2,WAITING:3,ERROR:99};d.STOPPED,d.PLAYING,d.PAUSED,d.BUFFERING,d.WAITING,d.ERROR;let l={STATION:"STATION",PODCAST:"PODCAST",SPORT:"SPORT"};e.s(["BROADCAST_TYPE",0,l,"PLAYSTATE",0,d],679628);try{var u=window;u._sentryModuleMetadata=u._sentryModuleMetadata||{},u._sentryModuleMetadata[(new u.Error).stack]=Object.assign({},u._sentryModuleMetadata[(new u.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var c=window;c._sentryModuleMetadata=c._sentryModuleMetadata||{},c._sentryModuleMetadata[(new c.Error).stack]=Object.assign({},c._sentryModuleMetadata[(new c.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var p=window;p._sentryModuleMetadata=p._sentryModuleMetadata||{},p._sentryModuleMetadata[(new p.Error).stack]=Object.assign({},p._sentryModuleMetadata[(new p.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let y={PENDING:"PENDING",COMPLETED:"COMPLETED"},g={IDLE:"IDLE",READY:"READY",BLOCKED:"BLOCKED"},m=e=>({cmpStatus:y.PENDING,imaSdkStatus:g.IDLE,setCmpStatus:t=>{e({cmpStatus:t},!1,"cmpStatus/setCmpStatus")},setImaSdkStatus:t=>{e({imaSdkStatus:t},!1,"cmpStatus/setImaSdkStatus")}});e.s(["CMP_STATUS",0,y,"IMA_SDK_STATUS",0,g,"default",0,m],482911);try{var h=window;h._sentryModuleMetadata=h._sentryModuleMetadata||{},h._sentryModuleMetadata[(new h.Error).stack]=Object.assign({},h._sentryModuleMetadata[(new h.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}function w(e,t="",a="Player-Unified",r=!0){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"playerEvent",eventCategory:a,eventAction:e,eventLabel:t,nonInteraction:r}),console.debug(`Player Event Sent - ${a} - ${e} - ${t}`)}function P(e,t){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,stationSubdomain:t}),console.debug(`Old Player Event Sent - ${e} - ${t}`)}e.s(["trackGAEvent",0,w,"trackListenEnd",0,function(e){let t={event:"listen_end",listen_duration_s:e.listen_duration_s,content_type:e.content_type,content_id:e.content_id,ended_reason:e.ended_reason};void 0!==e.episode_id&&(t.episode_id=e.episode_id),void 0!==e.episode_completed_pct&&(t.episode_completed_pct=e.episode_completed_pct),void 0!==e.episode_position&&(t.episode_position=e.episode_position),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t),console.debug(`Listen End Sent - ${e.content_type} ${e.content_id} - ${e.listen_duration_s}s (${e.ended_reason})`)},"trackOldGAEvent",0,P],270109);try{var M=window;M._sentryModuleMetadata=M._sentryModuleMetadata||{},M._sentryModuleMetadata[(new M.Error).stack]=Object.assign({},M._sentryModuleMetadata[(new M.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}var S=e.i(897062);try{var f=window;f._sentryModuleMetadata=f._sentryModuleMetadata||{},f._sentryModuleMetadata[(new f.Error).stack]=Object.assign({},f._sentryModuleMetadata[(new f.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let v=async(e,a)=>{try{if(e.type===l.STATION){let r=await t.default.getBroadcast(e.id,a);if(Array.isArray(r)&&r.length>0)return r[0]}else if(e.type===l.PODCAST){let r=await t.default.getPodcast(e.id,a);if(Array.isArray(r)&&r.length>0)return r[0]}}catch(e){console.error("Error fetching broadcast",e)}return null};try{var b=window;b._sentryModuleMetadata=b._sentryModuleMetadata||{},b._sentryModuleMetadata[(new b.Error).stack]=Object.assign({},b._sentryModuleMetadata[(new b.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let A=()=>{try{return!1===["755"].includes("755")}
6catch{return!1}},_=async()=>{try{let e,t=await Promise.all(["https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js","https://imasdk.googleapis.com/js/sdkloader/ima3.js"].map(e=>((e,t=5e3)=>new Promise(a=>{let r=document.createElement("script");r.type="text/javascript",r.async=!0;let s=()=>{r.onload=null,r.onerror=null,r.parentNode&&r.parentNode.removeChild(r)},n=setTimeout(()=>{s(),a(!0)},t);r.onload=()=>{clearTimeout(n),s(),a(!1)},r.onerror=()=>{clearTimeout(n),s(),a(!0)},r.src=e,document.head.appendChild(r)}))(e))),a=!!(e=window.google?.ima?.AdsLoader?.prototype)&&["contentComplete","destroy","addEventListener","removeEventListener"].filter(t=>(e=>{if("function"!=typeof e)return!1;try{return/^[^{]*\{\s*\}\s*$/.test(e.toString())}catch{return!1}})(e[t])).length>=2;return t.some(e=>e)||a}catch{return!0}},E=()=>new Promise(e=>{let t=document.createElement("div");t.className="pub_300x250 pub_300x250m pub_728x90 text-ad text_ad text_ads text-ads text-ad-links",t.style.opacity="0",t.style.position="absolute",t.style.left="-9999px",t.style.top="-9999px",t.ariaHidden="true",t.innerHTML="​",document.body.appendChild(t),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{0===t.offsetHeight||"none"===window.getComputedStyle(t).display?e(!0):e(!1),document.body.removeChild(t)})})});e.s(["checkBaitElement",0,E,"checkConsentArgTampered",0,A,"checkNetworkBlocked",0,_],257873),e.i(851718);try{var k=window;k._sentryModuleMetadata=k._sentryModuleMetadata||{},k._sentryModuleMetadata[(new k.Error).stack]=Object.assign({},k._sentryModuleMetadata[(new k.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let T=async(e,t,a="json")=>{let r=new AbortController,{signal:s}=r,n=setTimeout(()=>{r.abort()},t),o=await fetch(e,{signal:s});return(clearTimeout(n),"json"===a)?await o.json():await o.text()};e.i(510084);var I=e.i(271464);try{var L=window;L._sentryModuleMetadata=L._sentryModuleMetadata||{},L._sentryModuleMetadata[new L.Error().stack]=Object.assign({},L._sentryModuleMetadata[new L.Error().stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let O=async()=>{var e;let t=(0,r.safeGetSessionItem)("userLocation"),a=null!==t?JSON.parse(t):null,s=`${!["local","test"].includes("prod")?"":"https://www.radio.de"}/cdn-cgi/trace`;return(null===(e=a)||Math.floor(Date.now()/1e3)-parseInt(e.ts)>14400)&&(a=await T(s,1e3,"text").then(e=>(0,I.keyValueSplitter)(e)).catch(()=>({loc:"DE",ts:"0"})),(0,r.safeSetSessionItem)("userLocation",JSON.stringify(a))),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"user_location",user_location_dach:["DE","AT","CH"].includes(a.loc)?"1":"0"}),a};try{var D=window;D._sentryModuleMetadata=D._sentryModuleMetadata||{},D._sentryModuleMetadata[(new D.Error).stack]=Object.assign({},D._sentryModuleMetadata[(new D.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var B=window;B._sentryModuleMetadata=B._sentryModuleMetadata||{},B._sentryModuleMetadata[(new B.Error).stack]=Object.assign({},B._sentryModuleMetadata[(new B.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let C=e=>{let t=e.replace(" & "," ").split("&"),a={};return t.forEach(e=>{let[t,r]=e.split("=");r&&(a[t]?a[t]=`${a[t]},${r}`:a[t]=r)}),a};e.s(["prepareAdParams",0,C],125873);try{var R=window;R._sentryModuleMetadata=R._sentryModuleMetadata||{},R._sentryModuleMetadata[(new R.Error).stack]=Object.assign({},R._sentryModuleMetadata[(new R.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}var q=e.i(123038);try{var U=window;U._sentryModuleMetadata=U._sentryModuleMetadata||{},U._sentryModuleMetadata[(new U.Error).stack]=Object.assign({},U._sentryModuleMetadata[(new U.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let $=()=>`https://${(0,q.getUserServiceApiHost)()}/user`,N=e=>e||(window.__accessToken?window.__accessToken:""),x=async(e,t)=>{try{let a=N();if(!a)return console.debug("[LastListened] No access token available"),{success:!1,error:"No access token"};let r={itemId:e,type:t,lastListenedAt:Math.floor(Date.now()/1e3)},s=await fetch(`${$()}/last-listened`,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r),cache:"no-store"});if(409===s.status){console.debug("[LastListened] Entry exists, fetching and updating");let a=await z(t,100);if(a.success&&a.lastListened){let t=a.lastListened.find(t=>t.itemId===e);if(t)return await j(t.uuid),{success:!0,data:t}}return{success:!0}}if(s.status>299)return console.debug(`[LastListened] Failed to create: ${s.status} ${s.statusText}`),{success:!1,error:`HTTP ${s.status}: ${s.statusText}`};let n=await s.json();return console.debug("[LastListened] Created successfully:",{itemId:e,type:t,uuid:n.uuid}),{success:!0,data:n}}catch(e){return console.error("[LastListened] Error creating entry:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},j=async e=>{try{let t=N();if(!t)return console.debug("[LastListened] No access token available"),{success:!1,error:"No access token"};let a={lastListenedAt:Math.floor(Date.now()/1e3)},r=await fetch(`${$()}/last-listened/${e}`,{method:"PUT",credentials:"include",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(a),cache:"no-store"});if(r.status>299)return console.debug(`[LastListened] Failed to update: ${r.status} ${r.statusText}`),{success:!1,error:`HTTP ${r.status}: ${r.statusText}`};return console.debug("[LastListened] Updated successfully:",{uuid:e}),{success:!0}}catch(e){return console.error("[LastListened] Error updating entry:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},z=async(e,t=20,a=0,r)=>{try{let s=N(r);if(!s)return console.debug("[LastListened] No access token available"),{success:!1,statusCode:401,text:"No access token",isFailed:!0};let n=new URLSearchParams;e&&n.append("type",e),n.append("count",t.toString()),n.append("offset",a.toString());let o=await fetch(`${$()}/last-listened?${n.toString()}`,{credentials:"include",headers:{Authorization:`Bearer ${s}`,Accept:"application/json"},cache:"no-store"});if(o.status>299)return{success:!1,statusCode:o.status,text:o.statusText,isFailed:!0};let i=await o.json();return{success:!0,lastListened:i.lastListened||[],total:i.total||0}}catch(e){return console.error("[LastListened] Error getting entries:",e),{success:!1,statusCode:503,text:"Service Unavailable",isFailed:!0}}},F=async e=>{try{let t=N();if(!t)return console.debug("[LastListened] No access token available"),{success:!1,error:"No access token"};let a=await fetch(`${$()}/last-listened/${e}`,{method:"DELETE",credentials:"include",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},cache:"no-store"});if(a.status>299)return console.debug(`[LastListened] Failed to delete: ${a.status} ${a.statusText}`),{success:!1,error:`HTTP ${a.status}: ${a.statusText}`};return console.debug("[LastListened] Deleted successfully:",{uuid:e}),{success:!0}}catch(e){return console.error("[LastListened] Error deleting entry:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},K=async(e,a=50,r=0,s)=>{try{let n=await z("station",a,r,s);if(!n.success)return{stations:[],total:0,success:!1,error:n.text||"Failed to fetch last listened items"};let{lastListened:o,total:i}=n;if(0===o.length)return{stations:[],total:0,success:!0};let d=o.map(e=>e.itemId),l=new Map;for(let e of o)l.set(e.itemId,e.uuid);let u=await t.default.getStationsMulti(d.join(","),e);if(u&&"isFailed"in u&&u.isFailed)return{stations:[],total:0,success:!1,error:"Failed to fetch station details"};let c=new Map;if(u&&Array.isArray(u))for(let e of u)c.set(e.id,e);let p=[];for(let e of o){let t=c.get(e.itemId);t&&p.push({...t,lastListenedUuid:l.get(e.itemId)||""})}return{stations:p,total:i,success:!0}}catch(e){return console.error("[LastListenedService] Error:",e),{stations:[],total:0,success:!1,error:"Failed to fetch last listened stations"}}};e.s(["createLastListened",0,x,"deleteLastListened",0,F,"getLastListened",0,z,"getLastListenedStations",0,K,"updateLastListened",0,j],383829);try{var G=window;G._sentryModuleMetadata=G._sentryModuleMetadata||{},G._sentryModuleMetadata[(new G.Error).stack]=Object.assign({},G._sentryModuleMetadata[(new G.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let V=()=>`https://${(0,q.getUserServiceApiHost)()}/user`,H=async(e,t,a)=>{try{let r=window.__accessToken||"";if(!r)return console.debug("[PlayPosition] No access token available"),{success:!1,error:"No access token"};let s={itemId:e,parentId:t,type:"episode",seconds:Math.floor(a),playedAt:Math.floor(Date.now()/1e3)},n=await fetch(`${V()}/playpositions`,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(s),cache:"no-store"});if(409===n.status){console.debug("[PlayPosition] Position exists, fetching and updating");let t=await Q({itemIds:[e]});if(t.success&&t.playPositions.length>
60){let e=t.playPositions[0],r=Math.max(e.seconds,Math.floor(a));if((await W(e.uuid,r)).success)return{success:!0,data:e}}return{success:!0}}if(n.status>299)return console.debug(`[PlayPosition] Failed to save: ${n.status} ${n.statusText}`),{success:!1,error:`HTTP ${n.status}: ${n.statusText}`};let o=await n.json();return console.debug("[PlayPosition] Saved successfully:",{episodeId:e,seconds:s.seconds}),{success:!0,data:o}}catch(e){return console.error("[PlayPosition] Error saving position:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},W=async(e,t)=>{try{let a=window.__accessToken||"";if(!a)return console.debug("[PlayPosition] No access token available"),{success:!1,error:"No access token"};let r={seconds:Math.floor(t),playedAt:Math.floor(Date.now()/1e3)},s=await fetch(`${V()}/playpositions/${e}`,{method:"PUT",credentials:"include",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r),cache:"no-store"});if(s.status>299)return console.debug(`[PlayPosition] Failed to update: ${s.status} ${s.statusText}`),{success:!1,error:`HTTP ${s.status}: ${s.statusText}`};return console.debug("[PlayPosition] Updated successfully:",{uuid:e,seconds:r.seconds}),{success:!0}}catch(e){return console.error("[PlayPosition] Error updating position:",e),{success:!1,error:e instanceof Error?e.message:"Unknown error"}}},Q=async e=>{let{itemIds:t,parentIds:a,count:r,offset:s}=e;try{let e=window.__accessToken||"";if(!e)return console.debug("[PlayPosition] No access token available"),{success:!1,statusCode:401,text:"No access token",isFailed:!0};let n=new URLSearchParams({type:"episode"});t&&t.length>0&&n.append("itemIds",t.join(",")),a&&a.length>0&&n.append("parentIds",a.join(",")),void 0!==r&&n.append("count",String(r)),void 0!==s&&n.append("offset",String(s));let o=await fetch(`${V()}/playpositions?${n.toString()}`,{credentials:"include",headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},cache:"no-store"});if(o.status>299)return{success:!1,statusCode:o.status,text:o.statusText,isFailed:!0};let i=await o.json();return{success:!0,playPositions:i.playPositions||[],total:i.total||0}}catch(e){return console.error("[PlayPosition] Error getting positions:",e),{success:!1,statusCode:503,text:"Service Unavailable",isFailed:!0}}};e.s(["getPlayPositions",0,Q,"savePlayPosition",0,H,"updatePlayPosition",0,W],35329);try{var J=window;J._sentryModuleMetadata=J._sentryModuleMetadata||{},J._sentryModuleMetadata[(new J.Error).stack]=Object.assign({},J._sentryModuleMetadata[(new J.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var Y=window;Y._sentryModuleMetadata=Y._sentryModuleMetadata||{},Y._sentryModuleMetadata[(new Y.Error).stack]=Object.assign({},Y._sentryModuleMetadata[(new Y.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}var X=e.i(722187);try{var Z=window;Z._sentryModuleMetadata=Z._sentryModuleMetadata||{},Z._sentryModuleMetadata[(new Z.Error).stack]=Object.assign({},Z._sentryModuleMetadata[(new Z.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var ee=window;ee._sentryModuleMetadata=ee._sentryModuleMetadata||{},ee._sentryModuleMetadata[(new ee.Error).stack]=Object.assign({},ee._sentryModuleMetadata[(new ee.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var et=window;et._sentryModuleMetadata=et._sentryModuleMetadata||{},et._sentryModuleMetadata[(new et.Error).stack]=Object.assign({},et._sentryModuleMetadata[(new et.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var ea=window;ea._sentryModuleMetadata=ea._sentryModuleMetadata||{},ea._sentryModuleMetadata[(new ea.Error).stack]=Object.assign({},ea._sentryModuleMetadata[(new ea.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}function er(e){return"parentId"in e&&"duration"in e}let es=new WeakMap;try{var en=window;en._sentryModuleMetadata=en._sentryModuleMetadata||{},en._sentryModuleMetadata[(new en.Error).stack]=Object.assign({},en._sentryModuleMetadata[(new en.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}class eo{instance=null;listeners=new Set;getSnapshot=()=>this.instance;getServerSnapshot=()=>null;subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});setInstance=e=>{this.instance!==e&&(this.instance=e,this.notifyListeners())};notifyListeners=()=>{for(let e of this.listeners)e()}}let ei=new eo;e.s(["playerInstanceStore",0,ei],215122);try{var ed=window;ed._sentryModuleMetadata=ed._sentryModuleMetadata||{},ed._sentryModuleMetadata[(new ed.Error).stack]=Object.assign({},ed._sentryModuleMetadata[(new ed.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}function el(e){return"parentId"in e&&"duration"in e}var eu=e.i(239757),ec=e.i(794935),ep=e.i(441879);try{var ey=window;ey._sentryModuleMetadata=ey._sentryModuleMetadata||{},ey._sentryModuleMetadata[(new ey.Error).stack]=Object.assign({},ey._sentryModuleMetadata[(new ey.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let eg=()=>"function"==typeof window?.adHandler?.service?.getAdUnitsByTag;var em=e.i(58824);try{var eh=window;eh._sentryModuleMetadata=eh._sentryModuleMetadata||{},eh._sentryModuleMetadata[(new eh.Error).stack]=Object.assign({},eh._sentryModuleMetadata[(new eh.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let ew=class{prerollUrl;broadcast;adsManager=null;adsLoader=null;adsRequest=null;adContainerSelector;adDisplayContainer=null;adsRunningTick;adRunning=!1;adTotalDuration=0;activeStartedAtMs=null;activeAccumMs=0;_handleVisibilityChange=null;_onAdsManagerLoadedBound=e=>this.onAdsManagerLoaded(e);_onAdLoaderErrorBound=e=>this.onAdError(e);_onAdCompletedBound=()=>this.onAdCompleted();_onAdPausedBound=()=>this.onAdPaused();_onAdResumedBound=()=>this.onAdResumed();_onAdStartedBound=e=>this.onAdStarted(e);_onAdManagerErrorBound=e=>this.onAdManagerError(e);_onAdSkippedBound=()=>this.onAdSkipped();callbacks={onAdStarted:()=>{},onAdCompleted:()=>{},onAdSkipped:()=>{},onAdPaused:()=>{},onAdResumed:()=>{},onAdError:()=>{},setAdDuration:()=>{},setAdDurationRemaining:()=>{}};getActiveElapsedMs=()=>this.activeAccumMs+(null!==this.activeStartedAtMs?Date.now()-this.activeStartedAtMs:0);constructor(e,t,a){this.prerollUrl=e,this.broadcast=t,this.adContainerSelector=a}addCallback=(e,t=()=>{})=>{Object.hasOwn(this.callbacks,e)&&(this.callbacks[e]=t)};resume=()=>this.adsManager.resume();updatePrerollVolume=()=>{if(this.adsManager){let e=!0===(0,r.getPlayerMuted)()?0:((0,r.getPlayerVolume)()??75)/100||.75;this.adsManager.setVolume(e)}};togglePrerollPlayback=()=>{this.adsManager&&(this.adRunning?this.adsManager.pause():this.adsManager.resume())};pausePrerollPlayback=()=>{this.adsManager&&this.adRunning&&this.adsManager.pause()};destroyPreroll=()=>{if(this._stopVisibilityListener(),void 0!==this.adsRunningTick&&(clearInterval(this.adsRunningTick),this.adsRunningTick=void 0),this.adsManager){try{this.adsManager.removeEventListener?.(window.google.ima.AdEvent.Type.ALL_ADS_COMPLETED,this._onAdCompletedBound),this.adsManager.removeEventListener?.(window.google.ima.AdEvent.Type.PAUSED,this._onAdPausedBound),this.adsManager.removeEventListener?.(window.google.ima.AdEvent.Type.RESUMED,this._onAdResumedBound),this.adsManager.removeEventListener?.(window.google.ima.AdEvent.Type.STARTED,this._onAdStartedBound),this.adsManager.removeEventListener?.(window.google.ima.AdEvent.Type.SKIPPED,this._onAdSkippedBound),this.adsManager.removeEventListener?.(window.google.ima.AdErrorEvent.Type.AD_ERROR,this._onAdManagerErrorBound)}catch{}this.adsManager.destroy(),this.adsManager=null}if(this.adsLoader){try{this.adsLoader.removeEventListener?.(window.google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,this._onAdsManagerLoadedBound),this.adsLoader.removeEventListener?.(window.google.ima.AdErrorEvent.Type.AD_ERROR,this._onAdLoaderErrorBound),this.adsLoader.contentComplete?.()}catch{}this.adsLoader.destroy?.(),this.adsLoader=null}this.adDisplayContainer&&(this.adDisplayContainer.destroy(),this.adDisplayContainer=null),this.adsRequest=null,this.activeStartedAtMs=null,this.activeAccumMs=0,this.adTotalDuration=0,this.adRunning=!1};getAdContainerDOM=()=>document.querySelector(this.adContainerSelector);setupAndRunPreroll=async()=>
6{if(console.debug("starting preroll setup..."),window.google?.ima){this.setIMAGlobalSettings(),this.adDisplayContainer=this.getAdDisplayContainer(this.getAdContainerDOM()),this.adsLoader=this.getAdsLoader(),this.adsRequest=this.getAdsRequest(this.prerollUrl);let e=this.broadcast?.id??"";setTimeout(()=>{w("preroll-requesting",e,"Ads")},0),this.adsLoader.requestAds(this.adsRequest),setTimeout(()=>{w("preroll-requested",e,"Ads")},0)}else this.callbacks.onAdError()};getPPIDFromCookie=()=>(0,em.getCookie)("gpt_ppid50");setIMAGlobalSettings=()=>{let e=this.getPPIDFromCookie();""!==e&&window.google.ima.settings.setPpid(e),window.google.ima.settings.setNumRedirects(10),window.google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.INSECURE),window.google.ima.settings.setDisableCustomPlaybackForIOS10Plus(!0)};getAdDisplayContainer=e=>{let t=new window.google.ima.AdDisplayContainer(e);try{console.debug("preroll AdDisplayContainer sucessfully created",t)}catch(e){console.debug("preroll AdDisplayContainer sucessfully created")}return t.initialize(),t};getAdsLoader=()=>{let e=new window.google.ima.AdsLoader(this.adDisplayContainer);try{console.debug("Preroll adsLoader sucessfully created",e)}catch(e){console.debug("Preroll adsLoader sucessfully created")}return e.addEventListener(window.google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,this._onAdsManagerLoadedBound,!1),e.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,this._onAdLoaderErrorBound,!1),e};getAdsRequest=e=>{let t=new window.google.ima.AdsRequest;return t.adTagUrl=e,t.vastLoadTimeout=1e4,t.setAdWillPlayMuted(!1),t.omidAccessModeRules={},t.omidAccessModeRules[google.ima.OmidVerificationVendor.GOOGLE]=google.ima.OmidAccessMode.FULL,t.omidAccessModeRules[google.ima.OmidVerificationVendor.OTHER]=google.ima.OmidAccessMode.FULL,t};onAdsManagerLoaded(e){w("preroll-admanager-loaded",this.broadcast?.id??"","Ads");let t=new google.ima.AdsRenderingSettings;t.loadVideoTimeout=1e4,this.adsManager=e.getAdsManager(null,t),this.adsManager.addEventListener(window.google.ima.AdEvent.Type.ALL_ADS_COMPLETED,this._onAdCompletedBound),this.adsManager.addEventListener(window.google.ima.AdEvent.Type.PAUSED,this._onAdPausedBound),this.adsManager.addEventListener(window.google.ima.AdEvent.Type.RESUMED,this._onAdResumedBound),this.adsManager.addEventListener(window.google.ima.AdEvent.Type.STARTED,this._onAdStartedBound),this.adsManager.addEventListener(window.google.ima.AdErrorEvent.Type.AD_ERROR,this._onAdManagerErrorBound),this.adsManager.addEventListener(window.google.ima.AdEvent.Type.SKIPPED,this._onAdSkippedBound);try{window.innerWidth>639?this.adsManager.init(640,360,window.google.ima.ViewMode.NORMAL):this.adsManager.init(320,240,window.google.ima.ViewMode.NORMAL),this.updatePrerollVolume(),this.adsManager.start()}catch(e){this.callbacks.onAdError()}}_startVisibilityListener(){this._handleVisibilityChange=()=>{this.adsManager&&document.hidden&&this.pausePrerollPlayback()},document.addEventListener("visibilitychange",this._handleVisibilityChange)}_stopVisibilityListener(){this._handleVisibilityChange&&(document.removeEventListener("visibilitychange",this._handleVisibilityChange),this._handleVisibilityChange=null)}onAdStarted(e){if(w("preroll-received-filled",this.broadcast?.id??"","Ads"),w("preroll-started",this.broadcast?.id??"","Ads"),this.adRunning=!0,this._startVisibilityListener(),this.getAdContainerDOM().style.display="block",(0,S.isMobile)()&&eg()&&window.adHandler.service.getAdUnitsByTag("sticky")?.length&&(window.adHandler.service.getAdUnitsByTag("sticky").destroy(),window.adHandler.service.getAdUnitsByTag("sticky").disable("adUnit")),e.getAd().isLinear()){let t=e.getAd().getDuration();this.adTotalDuration=Math.max(0,Math.ceil(Number.isFinite(t)?t:0)),this.activeAccumMs=0,this.activeStartedAtMs=Date.now(),this.callbacks.setAdDuration(this.adTotalDuration),this.callbacks.setAdDurationRemaining(this.adTotalDuration),this.adsRunningTick=setInterval(()=>{this.updatePrerollVolume();let e=this.getActiveElapsedMs()/1e3,t=Math.max(0,Math.ceil(this.adTotalDuration-e));this.callbacks.setAdDurationRemaining(t)},100)}this.callbacks.onAdStarted()}onAdCompleted=()=>{w("preroll-finished",this.broadcast?.id??"","Ads"),clearInterval(this.adsRunningTick),this.adRunning=!1,this.activeStartedAtMs=null,this.destroyPreroll(),eg()&&(window.adHandler.service.getAdUnitsByTag("sticky").enable("adUnit"),window.adHandler.service.request()),this.callbacks.onAdCompleted()};onAdSkipped=()=>{w("preroll-skipped",this.broadcast?.id??"","Ads"),this.adRunning=!1,this.destroyPreroll(),this.callbacks.onAdSkipped()};onAdPaused(){w("preroll-paused",this.broadcast?.id??"","Ads"),this.adRunning=!1,null!==this.activeStartedAtMs&&(this.activeAccumMs+=Date.now()-this.activeStartedAtMs,this.activeStartedAtMs=null),this.callbacks.onAdPaused()}onAdResumed(){this.adRunning=!0,null===this.activeStartedAtMs&&(this.activeStartedAtMs=Date.now()),w("preroll-resumed",this.broadcast?.id??"","Ads"),this.callbacks.onAdResumed()}onAdError=e=>{this.adRunning=!1,this.destroyPreroll(),"AdError 1009: The VAST response document is empty."===e.getError().toString()&&w("preroll-received-empty",this.broadcast?.id??"","Ads"),w("preroll-error",this.broadcast?.id??"","Ads"),w("preroll-error-debug",`${e.getError().toString()}`,"Ads"),console.debug("preroll-error",e.getError().toString(),e),this.callbacks.onAdError()};onAdManagerError(e){this.destroyPreroll(),w("preroll-admanager-error",this.broadcast?.id??"","Ads"),w("preroll-admanager-error-debug",`${e.getError().toString()}`,"Ads"),this.callbacks.onAdError()}};try{var eP=window;eP._sentryModuleMetadata=eP._sentryModuleMetadata||{},eP._sentryModuleMetadata[(new eP.Error).stack]=Object.assign({},eP._sentryModuleMetadata[(new eP.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let eM=["tcloaded","useractioncomplete"],eS=null,ef=!1,ev=()=>eS||{gdprApplies:!(0,S.isBrowser)()||!1!==window.GDPRApplies,tcString:(()=>
6{if(!(0,S.isBrowser)())return"";let e=document.cookie.match(RegExp("(?:^|;\\s*)euconsent-v2=([^;]*)"));if(!e)return"";try{return decodeURIComponent(e[1])}catch{return""}})()};e.s(["getConsentSnapshot",0,ev,"initConsentSnapshot",0,()=>{if(ef)return;let e=(()=>{if(!(0,S.isBrowser)())return null;let e=window.__tcfapi;return"function"==typeof e?e:null})();if(e){ef=!0;try{e("addEventListener",2,(e,t)=>{!t||!e||(!e.eventStatus||eM.includes(e.eventStatus))&&(eS={gdprApplies:!1!==e.gdprApplies,tcString:e.tcString??""})})}catch(e){ef=!1}}}],131100);try{var eb=window;eb._sentryModuleMetadata=eb._sentryModuleMetadata||{},eb._sentryModuleMetadata[(new eb.Error).stack]=Object.assign({},eb._sentryModuleMetadata[(new eb.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let eA=["de-AT"],e_={tagId:"x9xw2lix",vfId:"1328",gpid:"RAD_D_Preroll",width:640,height:480},eE={tagId:"7fzb3zq7",vfId:"1329",gpid:"RAD_M_Preroll",width:640,height:480};try{var ek=window;ek._sentryModuleMetadata=ek._sentryModuleMetadata||{},ek._sentryModuleMetadata[(new ek.Error).stack]=Object.assign({},ek._sentryModuleMetadata[(new ek.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}class eT{locale="en-US";broadcast=null;targeting=[];container=null;adPlayer=null;debug="";containerSelector;url="";constructor(e,t="en-US",a={},r="#player-ad-region-display",s=!1){this.broadcast=e,this.locale=t,this.debug=s,this.containerSelector=r,this.setTargeting(a)}destroy(){if(this.adPlayer&&"function"==typeof this.adPlayer.destroyPreroll&&this.adPlayer.destroyPreroll(),this.containerSelector){let e=document.querySelector(this.containerSelector);if(e)for(;e.firstChild;)e.removeChild(e.firstChild)}this.adPlayer=null,this.broadcast=null,this.targeting=[],this.container=null,this.url=""}setTargeting(e){if(void 0!==e){for(let t in e)if("domain"!==t&&Object.hasOwn(e,t)){let a=[];a.push(encodeURI(e[t])),this.targeting.push(`${t}%3D${a.join("%2C")}`)}}let t=document.querySelector('meta[name="pbstck_context:pbstck_ab_test"]');t&&this.targeting.push(`pbstck_ab_test%3D${t.getAttribute("content")}`);let a=(0,ec.wu2986TestVar)()??(0,ep.wu2988TestVar)();a&&this.targeting.push(`test_var%3D${a}`)}getPrerollUrl=e=>{if("demo"===this.debug)return"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=&vpmute=0&plcmt=1&vpa=click";if("skipable"===this.debug)return"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=&vpmute=0&plcmt=1&vpa=click";if("error"===this.debug||"none"===this.debug)return"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dredirecterror&nofb=1&correlator=&vpmute=0&plcmt=1&vpa=click";let t=eA.includes(this.locale)?(({refUrl:e,custParams:t=""})=>{let a=(0,S.isMobile)()?eE:e_,r=ev(),s=[`tag_id=${a.tagId}`,`vf_id=${a.vfId}`,`gpid=${a.gpid}`,`gdpr=${+!!r.gdprApplies}`];return r.gdprApplies&&s.push(`gdpr_consent=${encodeURIComponent(r.tcString)}`),s.push(`w=${a.width}`,`h=${a.height}`,`url=${encodeURIComponent(e)}`,`description_url=${encodeURIComponent(e)}`,`correlator=${Math.random().toString().slice(2)}`),t&&s.push(`cust_params=${t}`),s.push("plcmt=1","vpa=click","vpmute=0","vconp=1","wta=1"),`https://fast.nexx360.io/vast?${s.join("&")}`})({refUrl:e,custParams:this.targeting.join("%26")}):this.getAdManagerPrerollUrl(e);return this.url=t,t};getAdManagerPrerollUrl=e=>{let t=this.getAdUnit(),a=(0,S.isMobile)()?"320x240":"640x360|760x134";return`https://pubads.g.doubleclick.net/gampad/ads?sz=${encodeURIComponent(a)}&iu=%2F65121655%2F${t}&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&url=${encodeURIComponent(e)}&wta=1${(0,S.isMobile)()?"&max_ad_duration=30000":""}&description_url=${encodeURIComponent(e)}${window.GDPRApplies?"":"&gdpr=0"}&correlator=${Date.now()}&cust_params=${this.targeting.join("%26")}&vpmute=0&plcmt=1&vpa=click&vconp=1`};getAdUnit=()=>(0,S.isMobile)()?"RAD_M_Preroll":"RAD_D_Preroll";init=async e=>{if(!window.google?.ima){let e="Preroll init called but IMA SDK is not available.";console.error(e),w("preroll-ima-failed",e);return}try{this.adPlayer=new ew(this.getPrerollUrl(e||window.location.href),this.broadcast,this.containerSelector)}catch(e){w("preroll-setup-failed",`locale: ${this.locale} | preroll-url: ${this.url}`,"Ads")}}}try{var eI=window;eI._sentryModuleMetadata=eI._sentryModuleMetadata||{},eI._sentryModuleMetadata[(new eI.Error).stack]=Object.assign({},eI._sentryModuleMetadata[(new eI.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var eL=window;eL._sentryModuleMetadata=eL._sentryModuleMetadata||{},eL._sentryModuleMetadata[(new eL.Error).stack]=Object.assign({},eL._sentryModuleMetadata[(new eL.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var eO=window;eO._sentryModuleMetadata=eO._sentryModuleMetadata||{},eO._sentryModuleMetadata[(new eO.Error).stack]=Object.assign({},eO._sentryModuleMetadata[(new eO.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}function eD(e){return"parentId"in e&&"duration"in e}try{var eB=window;eB._sentryModuleMetadata=eB._sentryModuleMetadata||{},eB._sentryModuleMetadata[(new eB.Error).stack]=Object.assign({},eB._sentryModuleMetadata[(new eB.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let eC={module:"trivia_quiz",moduleId:0},eR=["de-DE"],eq={charts:["charts","top 40","top40","hits","chartbreaker"],hiphop:["hip hop","hip-hop","hiphop","rap","urban","r&b","rnb","trap"],dance:["dance","electro","elektro","electronic","house","techno","trance","edm","club"],rock:["rock","metal","punk","alternative","
6indie","grunge","hardrock"],schlager:["schlager","volksmusik","volkstümlich","heimat"],oldies:["oldies","golden","evergreen","nostalgie","60er","70er","80er","90er","soul","motown","disco"],jazz:["jazz","blues","swing","lounge","chillout","smooth"],pop:["pop","schlagerpop","mainstream","adult contemporary"]},eU=["charts","hiphop","dance","schlager","oldies","jazz","rock","pop"],e$=e=>{if(!e?.length)return"pop";let t=e.flatMap(e=>[e.slug,e.name,e.systemName]).filter(e=>"string"==typeof e).map(e=>e.toLowerCase());return eU.find(e=>eq[e].some(e=>t.some(t=>t.includes(e))))??"pop"},eN=async e=>{try{let t=await fetch(`/api/quiz?genre=${encodeURIComponent(e)}`);if(!t.ok)return[];let a=await t.json();return Array.isArray(a.questions)?a.questions:[]}catch(e){return console.debug("quiz: failed to load questions",e),[]}};e.s(["QUIZ_LOCK_MS",0,864e5,"QUIZ_TRACKING_MODULE",0,eC,"fetchQuizQuestions",0,eN,"isQuizEnabledForLocale",0,e=>{let t=Array.isArray(e)?e[0]:e;return void 0!==t&&eR.includes(t)},"resolveGenreBank",0,e$],929011);var ex=e.i(965183);try{var ej=window;ej._sentryModuleMetadata=ej._sentryModuleMetadata||{},ej._sentryModuleMetadata[(new ej.Error).stack]=Object.assign({},ej._sentryModuleMetadata[(new ej.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let ez=(e,t)=>({genreSlug:e,questions:t,answers:Array(t.length).fill(null),currentStep:1,score:0,completed:!1});try{var eF=window;eF._sentryModuleMetadata=eF._sentryModuleMetadata||{},eF._sentryModuleMetadata[(new eF.Error).stack]=Object.assign({},eF._sentryModuleMetadata[(new eF.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var eK=window;eK._sentryModuleMetadata=eK._sentryModuleMetadata||{},eK._sentryModuleMetadata[(new eK.Error).stack]=Object.assign({},eK._sentryModuleMetadata[(new eK.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}var eG=e.i(857782);try{var eV=window;eV._sentryModuleMetadata=eV._sentryModuleMetadata||{},eV._sentryModuleMetadata[(new eV.Error).stack]=Object.assign({},eV._sentryModuleMetadata[(new eV.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var eH=window;eH._sentryModuleMetadata=eH._sentryModuleMetadata||{},eH._sentryModuleMetadata[(new eH.Error).stack]=Object.assign({},eH._sentryModuleMetadata[(new eH.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}try{var eW=window;eW._sentryModuleMetadata=eW._sentryModuleMetadata||{},eW._sentryModuleMetadata[(new eW.Error).stack]=Object.assign({},eW._sentryModuleMetadata[(new eW.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}var eQ=e.i(404590),eJ=e.i(199610);try{var eY=window;eY._sentryModuleMetadata=eY._sentryModuleMetadata||{},eY._sentryModuleMetadata[(new eY.Error).stack]=Object.assign({},eY._sentryModuleMetadata[(new eY.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let eX=(0,eQ.create)()((0,eJ.devtools)((e,s,n)=>({...{setup:!1,locale:"de-DE",translations:{},updateTargeting:()=>{let e=s()?.broadcast?.adParams,t=e?C(e):{};Object.hasOwn(t,"advertising")||(t.advertising="true"),window.pubadsTargeting=t},setupEnvironment:async(t,a)=>{s().setup||(s().runBrowserDetection(),e({locale:a,translations:t}))},setupPlayerWithBroadcast:async(t,a=null,r=!1)=>{await s().setBroadcast(t,a,r),e({setup:!0},!1,"general/setupComplete"),console.debug("complete player setup",`${Date.now()-(window.startTime||Date.now())}ms`)},hidePlayer:()=>{e({setup:!1,broadcast:null,streams:[],streamIndex:0,currentEpisode:null,playState:d.STOPPED,isPlaying:!1},!1,"general/setupComplete"),console.debug("[Player] Player hidden - content unavailable")},resetPlayer:()=>{e({prerollActive:!1,isPrerollInitializing:!1,playState:d.STOPPED},!1,"general/resetPlayer"),s().updateStatusMessage()},stopPlayer:()=>{s().prerollActive&&window.preroll?.adPlayer&&(console.debug("Preroll is active, stopping ad player."),window.preroll.adPlayer.stopAd?.()),s().updateLastListenedTimestamp&&(s().updateLastListenedTimestamp(),e({lastTimestampUpdate:null},!1,"general/stopPlayer/flush")),e({isPlaying:!1,prerollActive:!1,isPrerollInitializing:!1,playState:d.STOPPED},!1,"general/stopPlayer")}},...{pageBroadcast:null,broadcast:null,broadcastIsBlocked:!1,onlyHttpStream
6s:!1,setPageBroadcast:t=>{e(()=>({pageBroadcast:t}),!1,"broadcast/setPageBroadcast")},updateStreamData:async n=>{var i;let d,u,c,p,y,g,m,h,w,P,M=[];if(!n)return;switch(n.type){case l.STATION:if(n.streams&&n.streams[0]){let e=[n.streams[0]].filter(Boolean);M=await o(e)}break;case l.PODCAST:if(s().episodeBuffer.length>0&&s().episodeBuffer[0]?.parentId===n.id)M=s().episodeBuffer;else{let e=s().episodeBuffer;e.length>0&&s().setEpisodeBuffer([],"podcast-changed");let o=await t.default.getPodcastEpisodes(n.id,s().locale);if(!(0,a.isResponseFailed)(o)&&o.episodes)M=o.episodes,(e.length!==M.length||e[0]?.id!==M[0]?.id)&&s().setEpisodeBuffer(o.episodes,"updateStreamData");else if((0,a.isResponseFailed)(o)){let e=(0,r.getBroadcastEpisodesToLocalStorage)();e&&(M=e)}}break;default:M=[]}let S=s().streams;S!==M&&(S.length!==M.length||S[0]?.id!==M[0]?.id||S[0]?.url!==M[0]?.url)&&e({streams:M,onlyHttpStreams:n.type!==l.PODCAST&&(i=M,d=navigator.userAgent,u=e=>{let t=d.match(e);return t?parseInt(t[2],10):null},c=/iPad|iPhone|iPod/.test(d)&&!window.MSStream,g={chrome:u(/Chrom(e|ium)\/([0-9]+)\./),samsung:u(/(SamsungBrowser)\/(\d+)\./),firefox:u(/(Firefox)\/(\d+)\./),safari:(p=d.match(/Version\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari/))?parseInt(p[1],10)+parseInt(p[2],10)/10:null,chromeIOS:c&&(y=d.match(/CriOS\/([0-9]+)\./))?parseInt(y[1],10):null},m=c&&/Safari/.test(d)&&!/CriOS/.test(d),h=i.every(e=>!e.url.startsWith("https://"))&&i.length>0,w=!c&&null!==g.safari&&/Safari/.test(d)&&!/Chrom(e|ium)/.test(d),P=null!==g.chrome&&g.chrome>=80&&!c||null!==g.samsung&&g.samsung>=16||null!==g.firefox&&g.firefox>=113||null!==g.chromeIOS&&g.chromeIOS>=125||m&&null!==g.safari&&g.safari>=15.4||w&&null!==g.safari&&g.safari>=15,"STATION"===n.type&&P&&h)},!1,"broadcast/updateStreamData")},setBroadcast:async(t,a=null,n=!1)=>{let o=s().broadcast,i=!o||o.id!==t.id||o.type!==t.type;s().hasSuppressAds||(0,r.setBroadcastToLocalStorage)(t),i&&await s().updateStreamData(t);let u=0,c=null;if(t.type===l.PODCAST){let n=a||(0,r.getCurrentEpisodeFromLocalStorage)(),o=s().streams;if(n?.id&&n?.parentId===t.id&&o){let t=o.findIndex(e=>e.id===n.id);-1!==t?(u=t,c=o[t]):(e({streams:o=[n,...o]},!1,"broadcast/prependSavedEpisode"),u=0,c=n),s().setEpisodeBuffer(o,"setBroadcast/syncBuffer"),s().hasSuppressAds||(0,r.setCurrentEpisodeToLocalStorage)(c)}else o&&o.length>0&&(c=o[0])}else s().hasSuppressAds||(0,r.clearCurrentEpisodeFromLocalStorage)();e(()=>({broadcast:t,streamIndex:u,currentEpisode:c,playState:d.STOPPED,isPlaying:!1}),!1,"broadcast/setBroadcast"),i&&await s().runUserDetection(),t.type===l.PODCAST&&s().loadSavedPosition&&await s().loadSavedPosition(n)}},...{playSportStreamById:async(e,t)=>{let a=s().broadcast,r=s().sportBroadcast;r&&a&&r.id!==a.id&&await s().setBroadcast(r);let n=s().streams.findIndex(t=>t.id===e);return s().clickPlayButton("stationpage",n,t,null)},playSpecificEpisode:async(t,a,r="content")=>{var n;if(!a||!t)return;let o=s(),i=o.currentEpisode||o.streams?.[o.streamIndex],u=o.progress?.playedSeconds||0;return o.broadcast?.type===l.PODCAST&&i&&"parentId"in(n=i)&&"duration"in n&&i.id&&i.parentId&&u>0&&o.setEpisodePosition&&o.setEpisodePosition(i.id,i.parentId,u),o.handleEpisodeChange&&o.streams?.[o.streamIndex]?.id&&await o.handleEpisodeChange(),e({progress:{played:0,loaded:0,running:!1,playedSeconds:0},duration:0,isPlaying:!1,playState:d.STOPPED,savedPositionToRestore:null},!1,"playSpecificEpisode/reset-progress-before-load"),await o.setBroadcast(t,a,!0),e(()=>({setup:!0}),!1,"playSpecificEpisode/mark-setup-complete"),s().clickPlayButton(r,null,null,!1,!1)}},...{episodePositions:{},episodeMetadata:{},episodePositionDebounce:{},lastSavedPosition:null,saveInProgress:!1,saveTimer:null,needsImmediateSave:!1,pendingSeekSave:null,savedPositionToRestore:null,currentPositionUuid:null,getEpisodePosition:e=>s().episodePositions[e]??0,getEpisodeMetadata:e=>s().episodeMetadata[e],setEpisodePosition(t,a,r){if(t&&a&&void 0!==r&&(e(e=>({episodePositions:{...e.episodePositions,[t]:r}}),!1,`episodePosition/${t}/updated`),!s().hasSuppressAds)){let{episodePositionDebounce:n}=s();n[t]&&clearTimeout(n[t]);let o=setTimeout(()=>{try{sessionStorage.setItem("radio.player.position",JSON.stringify({episodeId:t,podcastId:a,seconds:r,timestamp:Date.now()}))}catch(e){console.error("[EpisodePositionManager] SessionStorage error:",e)}e(e=>{let a={...e.episodePositionDebounce};return delete a[t],{episodePositionDebounce:a}},!1,`episodePosition/${t}/debounce-cleared`)},100);e(e=>({episodePositionDebounce:{...e.episodePositionDebounce,[t]:o}}),!1,`episodePosition/${t}/debounced`)}},setEpisodeMetadata(t,a,r,s){if(!t)return;let n={podcastId:a};r&&(n.uuid=r),void 0!==s&&s>0&&(n.actualDuration=s),e(e=>({episodeMetadata:{...e.episodeMetadata,[t]:{...e.episodeMetadata[t],...n}}}),!1,`episodeMetadata/${t}/updated`)},async prefetchEpisodePositions(t,a,r=null){if((null!==r?r:s().hasSuppressAds)&&t?.length)try{let r=await Q({itemIds:t});if(r.success){let t={},n={}
6,o=s().streams?.[s().streamIndex]?.id;for(let e of r.playPositions)String(e.itemId)!==String(o)&&(t[e.itemId]=e.seconds),n[e.itemId]={podcastId:a,uuid:e.uuid};e(e=>({episodePositions:{...e.episodePositions,...t},episodeMetadata:{...e.episodeMetadata,...n}}),!1,"progressTracking/prefetched")}}catch(e){console.error("[EpisodePositionManager] Prefetch error:",e)}},async loadSavedEpisodePosition(t=!1){let a=s(),r=a.streams?.[a.streamIndex];if(!r||!eD(r)||!r.id||!r.parentId)return;let{id:n,parentId:o}=r;console.debug("[EpisodePositionManager] Loading position:",a.hasSuppressAds?"Prime":"ad-user",n,"isUserInitiated:",t);let i=a.episodeMetadata?.[n]?.actualDuration||r.duration||0,d=(e,a)=>{if(!t||!a||a<5)return!1;let r=a-e;return r<15&&r>=0};if(!a.hasSuppressAds){try{let t=sessionStorage.getItem("radio.player.position");if(t){let a=JSON.parse(t);if(a.episodeId===n){let t=d(a.seconds,i)?0:a.seconds;e(()=>({savedPositionToRestore:{seconds:t},lastSavedPosition:{episodeId:a.episodeId,podcastId:o,seconds:t,timestamp:a.timestamp}}),!1,"progressTracking/positionLoadedFromSession")}}}catch(e){console.error("[EpisodePositionManager] SessionStorage load error:",e)}return}let l=a.episodePositions[n]||0,u=l>0&&l>(a.lastSavedPosition?.seconds||0);try{let t=await Q({itemIds:[String(n)]});if(t.success&&t.playPositions?.length>0){let a=t.playPositions[0],r=u&&l>a.seconds?l:a.seconds;d(r,i)&&(console.debug("[EpisodePositionManager] Episode is finished, resetting to 0:",n,"was at",r),r=0),s().setEpisodeMetadata(n,o,a.uuid),s().setEpisodePosition(n,o,r),e(()=>({savedPositionToRestore:{seconds:r},currentPositionUuid:a.uuid,lastSavedPosition:{episodeId:n,podcastId:o,seconds:r,timestamp:Date.now()}}),!1,"progressTracking/positionLoaded")}else if(l>0){let t=d(l,i)?0:l;e(()=>({savedPositionToRestore:{seconds:t}}),!1,"progressTracking/positionLoadedFromCache")}}catch(t){if(console.error("[EpisodePositionManager] Cloud load error:",t),l>0){let t=d(l,i)?0:l;e(()=>({savedPositionToRestore:{seconds:t}}),!1,"progressTracking/positionLoadedFromCache")}}},loadSavedPosition:async(e=!1)=>{let t=s();t.broadcast?.type===l.PODCAST&&await t.loadSavedEpisodePosition(e)},clearSavedPositionToRestore:()=>e(()=>({savedPositionToRestore:null}),!1,"progressTracking/positionRestored"),async _fetchOrCacheUuid(t,a){let r=s(),n=r.episodeMetadata[t],o=n?.uuid||r.currentPositionUuid||null;if(!o){let r=await Q({itemIds:[t]});r.success&&r.playPositions?.length>0&&(o=r.playPositions[0].uuid,s().setEpisodeMetadata(t,a,o),e({currentPositionUuid:o},!1,"progressTracking/uuidCached"))}return o||null},async saveEpisodePositionToCloud(t,a,r){let n=s();if(!n.hasSuppressAds)try{return sessionStorage.setItem("radio.player.position",JSON.stringify({episodeId:t,podcastId:a,seconds:r,timestamp:Date.now()})),{success:!0}}catch(e){return{success:!1,error:e}}try{let o,i=await n._fetchOrCacheUuid(t,a);return i?o=await W(i,r):(o=await H(String(t),String(a),r),o.data?.uuid&&(s().setEpisodeMetadata(t,a,o.data.uuid),e({currentPositionUuid:o.data.uuid},!1,"progressTracking/uuidCached"))),o}catch(e){return console.error("[EpisodePositionManager] Cloud save error:",e),{success:!1,error:e}}},shouldSaveProgress:()=>{let e=s();if(e.broadcast?.type!==l.PODCAST||e.playState===d.ERROR)return!1;let t=e.streams?.[e.streamIndex];return!!t&&!!eD(t)&&!!t.id&&!!t.parentId&&(e.progress?.playedSeconds||0)>=1},async saveProgressImmediate(t={}){let a=s(),{forceSeek:r=!1,seconds:n=null,skipThresholdCheck:o=!1}=t;if(!r&&!o&&!a.shouldSaveProgress())return;let i=a.streams?.[a.streamIndex];if(!i||!eD(i))return;let d=null!==n?n:a.progress?.playedSeconds||0;if(a.saveInProgress){r&&(console.debug("[EpisodePositionManager] Queueing seek save:",d),e(()=>({pendingSeekSave:{episodeId:i.id,podcastId:i.parentId,seconds:d,timestamp:Date.now()}}),!1,"progressTracking/queuedSeek"));return}let l=i.id,u=i.parentId;if(!(!r&&a.lastSavedPosition&&a.lastSavedPosition.episodeId===l&&2>Math.abs(a.lastSavedPosition.seconds-d))){e(()=>({saveInProgress:!0}),!1,"progressTracking/saving");try{await a.saveEpisodePositionToCloud(l,u,d),e(()=>({lastSavedPosition:{episodeId:l,podcastId:u,seconds:d,timestamp:Date.now()}}),!1,"progressTracking/saved")}catch(e){console.error("[EpisodePositionManager] Save error:",e)}finally{e(()=>({saveInProgress:!1}),!1,"progressTracking/saveComplete");let t=s();if(t.pendingSeekSave){let r=t.pendingSeekSave;console.debug("[EpisodePositionManager] Processing queued save:",r.seconds),e(()=>({pendingSeekSave:null}),!1,"progressTracking/clearQueue"),await a.saveProgressImmediate({forceSeek:!0,seconds:r.seconds})}}}},cancelScheduledSave:()=>{let t=s();t.saveTimer&&(clearTimeout(t.saveTimer),e(()=>({saveTimer:null}),!1,"progressTracking/cancelTimer"),console.debug("[EpisodePositionManager] Canceled scheduled save"))},scheduleProgressSave:()=>{let t=s();if(t.needsImmediateSave){e(()=>({needsImmediateSave:!1}),!1,"progressTracking/immediateSaveTriggered"),t.saveProgressImmediate({skipThresholdCheck:!0}).catch(console.error);return}if(!t.shouldSaveProgress()||t.saveTimer)return;let a=setTimeout(()=>{e(()=>({saveTimer:null}),!1,"progressTracking/timerCleared"),t.saveProgressImmediate().catch(console.error)},3e4);e(()=>({saveTimer:a}),!1,"progressTracking/scheduled")},handleEpisodeChange:async()=>{let t=s();if(t.shouldSaveProgress()&&await t.saveProgressImmediate(),t.saveTimer&&clearTimeout(t.saveTimer),!t.hasSuppressAds)try{sessionStorage.removeItem("radio.player.position")}catch(e){console.error("[EpisodePositionManager] Failed to clear sessionStorage:",e)}e(()=>({saveTimer:null,currentPositionUuid:null,lastSavedPosition:null,needsImmediateSave:!0,pendingSeekSave:null}),!1,"progressTracking/episodeChanged")},cleanupProgressTracking:()=>{let t=s();t.saveTimer&&clearTimeout(t.saveTimer),e(()=>({saveTimer:null}),!1,"progressTracking/cleanup")},getCurrentPositionUuid:async()=>{let e=s(),t=e.streams?.[e.streamIndex];if(!t||!eD(t)||!t.id||!t.parentId)return null;let a=t.id,r=t.parentId,n=e.episodeMetadata?.[a];return n?.uuid?n.uuid:e.currentPositionUuid?e.currentPositionUuid:e.hasSuppressAds?e._fetchOrCacheUuid(a,r):null},clearPositionCache(){e({episodePositions:{},episodeMetadata:{}},!1,"progressTracking/cacheCleared")}},...{playSportStreamById:async(e,t)=>{let a=s().broadcast,r=s().sportBroadcast;r&&a&&r.id!==a.id&&await s().setBroadcast(r);let n=s().streams.findIndex(t=>t.id===e);return s().clickPlayButton("stationpage",n,t,null)},playStationAfterInteraction:async(t,a=null,r=!1,n=!1)=>
6{if(!(0,S.isBrowser)())return null;let o=s(),i=o.broadcast?.id===t.id,u=null===a||a===o.streamIndex,c=o.playState===d.PLAYING;if(!i||!u||!c){if(s().playState===d.STOPPED&&s().resetError(),t.type===l.STATION||n){var p;let n=await v(t,s().locale)||s().pageBroadcast;return n&&await s().setupPlayerWithBroadcast(n,null,!0),p=e,a||p({streamIndex:0},!1,"clickPlayButton/change-podcast-episode"),p(e=>({currentSong:null,nowplaying:{...e.nowplaying,lastUpdate:0,pollActive:!0}}),!1,"playButtonAfterCheck/nowplaying"),t.type===l.PODCAST&&(null!==a&&e({streamIndex:a}),e({progress:{played:0,loaded:0,running:!1,playedSeconds:0},duration:0},!1,"playStationAfterInteraction/reset-progress"),s().hasSuppressAds&&s().loadSavedPosition&&await s().loadSavedPosition(!0)),s().clickPlayButton("content",a,null,r)}return null}},clickPlayButton:async(t,a=null,n=null,o=null,i=!1)=>{if(s().playState===d.STOPPED&&s().error&&s().resetError(),s().isAdBlockerDetected){window.location.href="/adblock";return}if(s().prerollActive&&!i&&(s().playState===d.WAITING||s().playState===d.PAUSED)){s().togglePrerollPlayback(),e({error:!1,isPlaying:!1,isPrerollInitializing:!1},!1,"clickPlayButton/pause-preroll");return}if(s().destroyPreroll(),null!==a&&a!==s().streamIndex){var u;let i=s(),c=i.currentEpisode||i.streams?.[i.streamIndex],p=i.progress?.playedSeconds||0,y=i.playState!==d.STOPPED,g=i.broadcast?.type===l.PODCAST,m=y&&g&&c&&"parentId"in(u=c)&&"duration"in u&&c.id&&c.parentId&&p>0&&i.setEpisodePosition?Promise.resolve(i.setEpisodePosition(c.id,c.parentId,p)):Promise.resolve(),h=i.streams?.[i.streamIndex]?.id?i.handleEpisodeChange():Promise.resolve();await Promise.all([m,h]);let w=s().episodeBuffer?.[a]||null;e({streamIndex:a,currentEpisode:w,isPlaying:!1,playState:d.STOPPED,duration:0,progress:{played:0,loaded:0,running:!1,playedSeconds:0}},!1,"playStationAfterInteraction/reset-progress"),s().broadcast?.type===l.PODCAST&&w&&!s().hasSuppressAds&&(0,r.setCurrentEpisodeToLocalStorage)(w);let P=s().episodeBuffer;return P?.length>0&&s().setStreams(s().episodeBuffer),s().broadcast?.type===l.PODCAST&&s().hasSuppressAds&&s().loadSavedPosition&&await s().loadSavedPosition(!0),s().clickPlayButton(t,a,n,o)}if(s().playState===d.STOPPED){if(s().prerollActive)return void s().togglePrerollPlayback();let a=s().broadcast;if(a&&(a.type===l.SPORT&&"global"===t||a.type!==l.SPORT)){let e=null!==n?n:a.id,r=a.type===l.SPORT?"station":a.type.toLowerCase();setTimeout(()=>{o||w(`play-click-${t}`,e,"Player-Unified",!1),w(`audiostart_${r}`,e,"Player-Unified",!1)},0)}e({playState:d.WAITING},!1,"clickPlayButton/optimistic-loading"),s().startPlayer()}else if(s().playState===d.PAUSED){let a=s().broadcast;a&&(a.type===l.SPORT&&"global"===t||a.type!==l.SPORT)&&(w(`play-click-${t}`,null!==n?n:a.id,"Player-Unified",!1),w(`audiostart_${a.type===l.SPORT?"station":a.type.toLowerCase()}`,null!==n?n:a.id,"Player-Unified",!1),e({playState:d.PLAYING,isPlaying:!0},!1,"clickPlayButton/pause-preroll"))}else if(s().progress.playedSeconds||s().playbackWasActive){let a=s().broadcast;a&&(a.type===l.SPORT&&"global"===t||a.type!==l.SPORT)&&w(`pause-click-${t}`,null!==n?n:a.id,"Player-Unified",!1),a&&w("audiopause",null!==n?n:a.id),s().saveProgressImmediate&&s().saveProgressImmediate();let r=s().broadcast;e(e=>({error:!1,playState:r?.type===l.PODCAST?d.PAUSED:d.STOPPED,isPlaying:!1,isPrerollInitializing:!1,progress:{...e.progress,running:!1}}),!1,"playStationAfterInteraction/reset-progress")}}},...{isOffCanvasOpen:!1,initialSubmenuId:null,scrolledHeader:!1,adHeight:0,previousPathname:null,currentPathname:null,openOffCanvasOnNextRoute:!1,openOffCanvas:(t=null)=>{e({isOffCanvasOpen:!0,initialSubmenuId:t});let a=document.documentElement,r=window.innerWidth-document.documentElement.clientWidth;a.style.setProperty("--scrollbar-width",`${r}px`),a.classList.add("offcanvas-open")},closeOffCanvas:()=>{e({isOffCanvasOpen:!1,initialSubmenuId:null}),document.documentElement.classList.remove("offcanvas-open")},toggleOffCanvas:(e=null)=>{let{isOffCanvasOpen:t}=s();t?s().closeOffCanvas():s().openOffCanvas(e)},trackPathname:t=>{let{currentPathname:a}=s();a!==t&&e({previousPathname:a,currentPathname:t})},scheduleOffCanvasOpenOnNextRoute:()=>{e({openOffCanvasOnNextRoute:!0})},handleRouteChange:()=>{let{openOffCanvasOnNextRoute:t,isOffCanvasOpen:a}=s();if(t){e({openOffCanvasOnNextRoute:!1}),s().openOffCanvas();return}a&&s().closeOffCanvas()},setScrolledHeader:t=>{s().scrolledHeader!==t&&e({scrolledHeader:t})},setAdHeight:t=>{s().adHeight!==t&&e({adHeight:t})},initializeScrollHandling:()=>{let e=()=>{let e=document.getElementById("sticky-reklame-header");if(e){let t=e.offsetHeight-1;s().setAdHeight(t)}else s().setAdHeight(0)},t=()=>{let e=window.scrollY,t=window.innerWidth>=768;s().setScrolledHeader(e>130*!!t)},a=()=>{e(),t()};e(),t(),window.addEventListener("scroll",t),window.addEventListener("resize",a);let r=document.getElementById("sticky-reklame-header"),n=null;return r&&"ResizeObserver"in window&&(n=new ResizeObserver(()=>{e()})).observe(r),()=>{window.removeEventListener("scroll",t),window.removeEventListener("resize",a),n&&n.disconnect()}}},...{noValidStreams:!1,showRegionBlockedOverlay:!1,showInvalidStreamsOverlay:!1,toggleRegionBlockedOverlay:()=>{e({showRegionBlockedOverlay:!s().showRegionBlockedOverlay},!1,"overlay/toggleRegionBlocked")},toggleInvalidStreamsOverlay:()=>{e({showInvalidStreamsOverlay:!s().showInvalidStreamsOverlay},!1,"overlay/toggleInvalidStreams")}},...{isIOSBrowser:!1,isLaterAndroidChrome:!1,isMobile:!1,isRegionBlocked:!1,isAdBlockerDetected:!1,adBlockerStatus:"IDLE",adBlockerCheckPromise:null,hasSuppressAds:!1,setHasSuppressAds:t=>{e({hasSuppressAds:t})},runUserDetection:async()=>{let t=await O(),a=s().broadcast,r=!!a&&!!a.blockingInformation?.isBlockedIn?.includes(t.loc);e({userLocation:t,isRegionBlocked:r})},runBrowserDetection:()=>{e({isIOSBrowser:!!(navigator.userAgent.match(/iPad|iPhone|iPod/)&&!window.MSStream),isLaterAndroidChrome:!!navigator.userAgent.match(/Android(.*)C
6hrome\/(([6][6-9])|([7-9]\d+)|([1]\d{2}))/),isMobile:(0,S.isMobile)()},!1,"browserDetection/browsers")},runAdBlockerDetection:()=>{let t=s().adBlockerCheckPromise;if(t)return console.debug("[AdCheck] Returning cached ad blocker check result"),t;let a=new Promise(async t=>{console.debug("[AdCheck] Starting a new ad blocker check..."),e({adBlockerStatus:"RUNNING"},!1,"browserDetection/adBlocker_Running");let[a,r]=await Promise.all([_(),E()]),s=A();console.debug(`[AdCheck] Results - Network: ${a}, DOM: ${r}, Consent: ${s}`),a||r||s?(e({adBlockerStatus:"DETECTED"},!1,"browserDetection/adBlocker_Running"),t(!0)):(e({adBlockerStatus:"NOT_DETECTED"},!1,"browserDetection/adBlocker_Running"),t(!1))});return e({adBlockerCheckPromise:a},!1,"browserDetection/adBlocker_CachePromise"),a}},...m(e),...{prerollPlayed:!1,prerollActive:!1,prerollTimeLeft:null,prerollDuration:null,showResumeButton:!1,isPrerollInitializing:!1,setPrerollTimeLeft:t=>{t!==s().prerollTimeLeft&&e({prerollTimeLeft:t},!1,"prerollTimeLeft/update")},setPrerollDuration:t=>{t!==s().prerollDuration&&e({prerollDuration:t},!1,"prerollDuration/update")},clickResumeButton:()=>{window.preroll?.adPlayer&&window.preroll.adPlayer.resume()},togglePrerollPlayback:()=>{window.preroll?.adPlayer?.togglePrerollPlayback()},pausePrerollPlayback:()=>{window.preroll?.adPlayer?.pausePrerollPlayback()},destroyPreroll:()=>{window.preroll?.adPlayer&&(window.preroll.adPlayer.destroyPreroll(),e({prerollPlayed:!1,prerollActive:!1,prerollTimeLeft:null,prerollDuration:null,isPlaying:!1,isPrerollInitializing:!1},!1,"prerollTimeLeft/update"))},closePreroll:()=>{let e=s().broadcast;e&&w("audio-play-attempt",e.id),s().destroyPreroll(),s().startStreamAfterChange()},startStreamAfterChange:()=>{s().error||e({playState:d.BUFFERING},!1,"startStreamAfterChange/Buffering")},shouldPlayPreroll:()=>{let e=s().broadcast;return null!==e&&(e.type===l.STATION||e.type===l.SPORT)&&!s().isRegionBlocked&&!s().hasSuppressAds&&!(0,eu.isAdFreeStation)(e.id,s().locale)},startPlayer:async()=>{if(console.debug("startPlayer"),s().isPrerollInitializing)return void console.debug("startPlayer - preroll already initializing, skipping");s().updateTargeting();let t=s().broadcast;if(t&&t.type===l.STATION&&!t.hasValidStreams){console.debug("no valid streams"),e({isPlaying:!1,showInvalidStreamsOverlay:!0,playState:d.STOPPED},!1,"clickPlayButton/reset-preroll");return}let a=()=>{console.debug("finishPreroll - mark preroll finished"),e({isPlaying:!1,prerollPlayed:!0,prerollActive:!1,isPrerollInitializing:!1},!1,"clickPlayButton/reset-preroll");let t=s().broadcast;t&&w("audio-play-attempt",t.id),s().startStreamAfterChange()};if(s().shouldPlayPreroll()){let t;console.debug("shouldPlayPreroll"),e({isPrerollInitializing:!0},!1,"clickPlayButton/reset-preroll");let r=(e=>{if((0,S.isBrowser)()){let t=new URLSearchParams(window.location.search);if(t.has(e))return t.get(e)}return null})("prerollDebug");window.preroll&&(window.preroll.destroy(),window.preroll=void 0);let n=s().broadcast;if(!n){console.debug("No broadcast available for preroll"),e({isPrerollInitializing:!1},!1,"clickPlayButton/reset-preroll");return}try{t=new eT(n,s().locale,window.pubadsTargeting||{},"#player-ad-region-display",r??void 0),window.preroll=t;let o=`${window.location.origin}/s/${n.id}`;if(await t.init(o),!t.adPlayer){console.debug("Preroll could not be initialized, finishing early."),a();return}e({isPlaying:!1,playState:d.WAITING},!1,"clickPlayButton/reset-preroll"),t.adPlayer.addCallback("onAdStarted",()=>{console.debug("adPlayer - ad started"),e({prerollActive:!0,playState:d.WAITING,isPrerollInitializing:!1},!1,"clickPlayButton/reset-preroll")}),t.adPlayer.addCallback("onAdCompleted",a),t.adPlayer.addCallback("onAdError",a),t.adPlayer.addCallback("onAdSkipped",a),t.adPlayer.addCallback("setAdDuration",e=>{void 0!==e&&s().setPrerollDuration(e)}),t.adPlayer.addCallback("setAdDurationRemaining",e=>{void 0!==e&&s().setPrerollTimeLeft(e)}),t.adPlayer.addCallback("onAdPaused",()=>{e({showResumeButton:!0,playState:d.PAUSED},!1,"startStreamAfterChange/Buffering")}),t.adPlayer.addCallback("onAdResumed",()=>{e({showResumeButton:!1,playState:d.WAITING},!1,"startStreamAfterChange/Buffering")}),console.debug("adPlayer - setup and run preroll"),await t.adPlayer.setupAndRunPreroll()}catch(e){console.error("Preroll setup failed, starting stream without ad",e),w("preroll-setup-failed",String(e),"Ads"),t?.adPlayer?.destroyPreroll(),a()}}else{console.debug("should not play preroll - audio play attempt");let t=s().broadcast;if(t&&w("audio-play-attempt",t.id),s().isRegionBlocked){w("region-blocked-station","","Message"),e({isPlaying:!1,playState:d.STOPPED},!1,"clickPlayButton/reset-preroll"),s().toggleRegionBlockedOverlay();return}w("preroll-skipped-due-to-browser"),a()}}},...{isQuizPopupOpen:!1,quizRun:null,isQuizLoading:!1,hydrateQuizRun:()=>
6{e({quizRun:(0,r.getTriviaRun)()},!1,"quiz/hydrate")},maybeTriggerQuiz:async()=>{let t=s().broadcast;if(t?.type!=="STATION"||s().isQuizPopupOpen||s().isQuizLoading)return;let a=e$(t?.genreTags),n=(0,r.getTriviaLocks)(),o=n[a]??0;if(!(Date.now()-o<864e5)){e({isQuizLoading:!0},!1,"quiz/loading");try{let t=await eN(a);if(!t.length)return;let s=ez(a,t);(0,r.setTriviaRun)(s)&&(0,r.setTriviaLocks)({...n,[a]:Date.now()}),e({quizRun:s,isQuizPopupOpen:!0},!1,"quiz/trigger"),(0,ex.trackView)(eC,"View",{itemName:"quiz_popup_views"})}finally{e({isQuizLoading:!1},!1,"quiz/loadingDone")}}},closeQuizPopup:()=>{e({isQuizPopupOpen:!1},!1,"quiz/closePopup")},answerQuestion:(t,a)=>{let n=s().quizRun??(0,r.getTriviaRun)();if(!n||n.completed)return;let o=(a??n.currentStep)-1;if(!n.questions[o])return;let i=[...n.answers];i[o]=t;let d=i.reduce((e,t,a)=>e+(null!==t&&n.questions[a]?.answers[t]?.isCorrect?1:0),0),l=o+1>=n.questions.length,u={...n,answers:i,score:d,currentStep:l?n.currentStep:Math.max(n.currentStep,o+2),completed:l};(0,r.setTriviaRun)(u),e({quizRun:u,isQuizPopupOpen:!1},!1,"quiz/answer")},resetQuizRun:async()=>{let t=e$(s().broadcast?.genreTags);(0,r.clearTriviaRun)(),e({quizRun:null,isQuizPopupOpen:!1,isQuizLoading:!0},!1,"quiz/resetPending");try{let a=await eN(t);if(!a.length)return;let s=ez(t,a);(0,r.setTriviaRun)(s),e({quizRun:s},!1,"quiz/reset")}finally{e({isQuizLoading:!1},!1,"quiz/resetDone")}}},...{statusMessage:"",updateStatusMessage:(t=!1)=>{let a=e=>e&&e.type===l.PODCAST&&s().streams[s().streamIndex]?.title||"",r=s().broadcast,n=a(r);if(r&&r.type===l.PODCAST&&(n=a(r)),s().prerollActive&&s().prerollTimeLeft)n=`${(0,eG.replacer)(s().translations["module.player.preroll.timeleft"],{time:s().prerollTimeLeft})}`;else{if(s().playState!==d.BUFFERING&&s().playState!==d.WAITING&&(s().playState!==d.PLAYING||s().progress.playedSeconds)||(n=s().translations["module.player.playstate.loading"]),r&&r.type!==l.PODCAST&&r.type!==l.SPORT&&s().playState===d.PLAYING&&s().progress.playedSeconds){let e=s().currentSong;e&&(n=e)}if(r&&r.type===l.SPORT&&s().playState===d.PLAYING&&s().progress.playedSeconds){let e="streams"in r?r.streams:[];n=`${e[t]?.title} ${s().translations["module.player.connector.to"]} ${r.name}`}s().playState===d.STOPPED&&(n=a(r))}if(n!==s().statusMessage){if(r)try{var o;o=n,"mediaSession"in navigator&&(navigator.mediaSession.metadata=new MediaMetadata({title:o,artist:r.name,album:r.name,artwork:[{src:r.logo300x300,type:"image/png"}]}))}catch(e){console.error("could not set mediaSession")}e({statusMessage:n},!1,"updateStatusMessage")}}},...{currentSong:null,nowplaying:{pollActive:!0,pollInterval:30,pollFails:0,lastUpdate:0},updateNowPlaying:async(t=!1)=>{let a=s().broadcast,r=Math.floor((Date.now()-s().nowplaying.lastUpdate)/1e3);if(a&&s().playState===d.PLAYING&&(0,X.isTabVisible)()&&(t||s().nowplaying.pollActive&&s().nowplaying.pollInterval<r)){e(e=>({nowplaying:{...e.nowplaying,lastUpdate:Date.now()}}),!1,"nowplaying/throttle-stamp");try{let r=await (0,X.fetchCurrentSong)(a.id,t);e(e=>({currentSong:r,nowplaying:{...e.nowplaying,pollFails:0,pollActive:!0}}),!1,"nowplaying/update"),s().updateStatusMessage()}catch(t){console.error("now-playing error",t),e(e=>({nowplaying:{...e.nowplaying,pollFails:e.nowplaying.pollFails+1,pollActive:e.nowplaying.pollFails<5}}),!1,"nowplaying/poll-failed")}}}},...{playState:d.STOPPED,streamIndex:0,playbackWasActive:!1,isPlaying:!1,streams:[],currentEpisode:null,progress:{played:0,loaded:0,running:!1},lastTimestampUpdate:null,setCurrentEpisode:t=>{e({currentEpisode:t},!1,"playback/setCurrentEpisode")},getStreamUrl:e=>{let t=Array.isArray(s().streams)?s().streams[e]:null,a=s().broadcast?.type===l.PODCAST;return t&&s().playState!==d.WAITING&&(s().playState!==d.STOPPED||a)?t.url:"data:audio/mpeg;base64,//sQxAAABFgC/SCEYACCgB9AAAAAppppVCAHBAEIgBByw9WD5+J8ufwxiDEDsMfE+D4fwG/RUGCx6VO4awVxV3qDtQNPiXKnZUNSwKuUDR6IgaeoGg7Fg6pMQU1FMy4xMDCqqqqqqqr/+xLEB4PAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo="},handleProgressUpdate:t=>{let a=s();if(a.seeking)return;let r=a.streams?.[a.streamIndex],n=r&&er(r)?r.duration:0,o=a.duration||n||0,i=Math.round(t.playedSeconds||0),d=o>0?Math.min(i,o):i,l=a.progress.playedSeconds||0,u=Date.now()-(a.lastSeekTime||0);if(!(u<1e3&&Math.abs(d-l)>5)&&d!==l){if(e({progress:{...t,playedSeconds:d,running:!0}},!1,"handleProgressUpdate/progress"),r&&er(r)&&r.id&&r.parentId&&a.setEpisodePosition){let e=a.episodePositions?.[Number(r.id)]??0,t=Math.abs(d-e);e>0&&t>30&&u>1e3||a.setEpisodePosition(r.id,r.parentId,d)}if(a.scheduleProgressSave&&a.scheduleProgressSave(),a.updateLastListenedTimestamp){let t=Date.now();t-(a.lastTimestampUpdate||0)>3e4&&(a.updateLastListenedTimestamp(),e({lastTimestampUpdate:t},!1,"handleProgressUpdate/timestamp-throttle"))}}},handleOnPlay:()=>
6{if(s().prerollActive)return;let t=s().getStreamUrl(s().streamIndex);(t.includes("http://")||t.includes("https://"))&&e({playState:d.PLAYING,isPlaying:!0},!1,"handleOnPlay/playing");let a=s().broadcast;if(s().playState===d.PLAYING&&a){w("audio-play-success",a.id,"Player-Unified",!1);let e=s();if(e.broadcast?.type===l.PODCAST){let t=e.streams?.[e.streamIndex];if(t&&er(t)&&t.id&&t.parentId&&e.saveProgressImmediate){let a=e.progress?.playedSeconds||0,r=e.episodePositions?.[Number(t.id)]||0,s=e.savedPositionToRestore?.seconds||0;{let t=Math.max(a,s,r);e.saveProgressImmediate({forceSeek:!0,seconds:t}).catch(e=>{console.error("[handleOnPlay] Failed to save initial position:",e)})}}}if(s().shouldTrackLastListened&&s().shouldTrackLastListened())s().trackLastListened();else{let e=s().broadcast;setTimeout(()=>{e&&((0,r.markBroadcastPlayed)(e.id),(e.type!==l.STATION||e.hasValidStreams)&&e.type===l.STATION&&(0,r.writeRecent)(e))},1e3)}}},handleOnPause:()=>{let t=s(),a=t.broadcast?.type===l.STATION;a&&es.set(s,(es.get(s)??0)+1),!t.prerollActive&&(t.playState===d.PLAYING||t.playState===d.BUFFERING)&&a&&e(e=>({playState:d.STOPPED,isPlaying:!1,progress:{...e.progress,running:!1}}),!1,"handleOnPause/native-pause")},handleBufferEnd:()=>{let t=es.get(s)??0;setTimeout(()=>{if(t===(es.get(s)??0)&&s().progress.playedSeconds){e(e=>({progress:{...e.progress,running:!0}}),!1,"handleProgressUpdate/progress");let t=s().broadcast;s().playbackWasActive&&t?P("resumeStream",t.id):t&&(P("startStream",t.id),e({playbackWasActive:!0},!1,"handleBufferEnd/playbackWasActive"))}},500)}},...{volume:(0,r.getPlayerVolume)()||75,muted:!0===(0,r.getPlayerMuted)(),setVolume:t=>{(0,r.setPlayerVolume)(t),e(()=>({volume:+t,muted:t<1}))},toggleMute:()=>{let t=!s().muted;(0,r.setPlayerMuted)(t),e(()=>({muted:t}))}},...{duration:0,episodeBuffer:[],firstEpisodeIsOpen:!1,optimisticSeekSeconds:null,lastSeekTime:0,setFirstEpisodeIsOpen:t=>{e({firstEpisodeIsOpen:t},!1,"setFirstEpisodeIsOpen")},setEpisodeBuffer:(t,a="default")=>{let r=s().episodeBuffer;r===t||Array.isArray(r)&&Array.isArray(t)&&r.length===t.length&&r.length>0&&r[0]?.id===t[0]?.id||e({episodeBuffer:t},!1,`setEpisodeBuffer/${a}`)},seekTo:t=>{let a=s(),r=a.streams?.[a.streamIndex],n=r&&"duration"in r?r.duration:0,o=a.duration||n||0,i=Math.max(0,Math.min(t,o));o>0&&t>=o&&e({playState:d.STOPPED,isPlaying:!1},!1,"seekTo/stop-before-end"),e(e=>({optimisticSeekSeconds:i,progress:{...e.progress,playedSeconds:i},lastSeekTime:Date.now(),seeking:!0}),!1,"seekTo/optimistic");let l=ei.getSnapshot();l&&(l.currentTime=i);let u=a.streams?.[a.streamIndex];u&&el(u)&&u.id&&u.parentId&&a.setEpisodePosition&&a.setEpisodePosition(u.id,u.parentId,i),setTimeout(()=>{let t=s();2>Math.abs((t.progress?.playedSeconds??0)-i)&&t.saveProgressImmediate&&t.saveProgressImmediate({seconds:i,forceSeek:!0}),e({optimisticSeekSeconds:null,seeking:!1},!1,"seekTo/optimistic")},500)},resumeOrRestart:async(t="content")=>{let a=s(),{duration:r,progress:n,playState:o,broadcast:i}=a,u=n.playedSeconds||0,c=ei.getSnapshot(),p=r>0&&(u>=r||r-u<5),y=o===d.PAUSED&&!p;if(o===d.PLAYING&&!p){w(`pause-click-${t}`,i?.id||"","Player-Unified",!1),w("audiopause",i?.id||""),a.saveProgressImmediate&&a.saveProgressImmediate(),e({playState:d.PAUSED,isPlaying:!1},!1,"seekTo/stop-before-end");return}if(p){let t=a.streams?.[a.streamIndex];e({playState:d.STOPPED,isPlaying:!1},!1,"seekTo/stop-before-end"),c&&(c.currentTime=0),e(e=>({progress:{...e.progress,playedSeconds:0,played:0}}),!1,"seekTo/optimistic"),t&&el(t)&&t.id&&t.parentId&&a.setEpisodePosition&&a.setEpisodePosition(t.id,t.parentId,0),a.saveProgressImmediate&&await a.saveProgressImmediate({seconds:0,forceSeek:!0})}w(`play-click-${t}`,i?.id||"","Player-Unified",!1),w(`audiostart_${i?.type===l.PODCAST?"podcast":"station"}`,i?.id||"","Player-Unified",!1),!y&&i?.id&&w("audio-play-attempt",i.id),e({playState:d.PLAYING,isPlaying:!0},!1,"seekTo/stop-before-end")},skipForward:()=>{let e=s(),t=e.progress.playedSeconds||0;e.seekTo(t+30)},skipBackward:()=>{let e=s(),t=e.progress.playedSeconds||0;e.seekTo(t-15)},handleSeekChange:t=>{e(e=>({progress:{...e.progress,played:parseFloat(t.target.value)}}),!1,"resumeOrRestart/reset")},handleSeekMouseDown:()=>{e({seeking:!0},!1,"seekTo/optimistic")},handleSeekMouseUp:t=>{e({seeking:!1},!1,"seekTo/optimistic"),s().seekTo(parseFloat(t.target.value))},handleSeekMobile:e=>{s().seekTo(parseFloat(e.target.value))},handleDuration:t=>{e({duration:t});let a=s(),r=a.streams?.[a.streamIndex];if(r&&el(r)&&r.id&&r.parentId&&a.setEpisodeMetadata){let e=a.getEpisodeMetadata?.(r.id);a.setEpisodeMetadata(r.id,r.parentId,e?.uuid,t)}},setStreams:t=>{e({streams:t})},handleEnded:()=>{let t=s();if(t.broadcast&&t.broadcast.type===l.PODCAST){let a=t.streams?.[t.streamIndex],r=a&&"duration"in a?a.duration:0,s=t.duration||r||0;s>0&&(t.saveProgressImmediate&&t.saveProgressImmediate({seconds:s,forceSeek:!0}),a&&el(a)&&a.id&&a.parentId&&t.setEpisodePosition&&t.setEpisodePosition(a.id,a.parentId,s)),e({playState:d.STOPPED,isPlaying:!1,progress:{played:1,loaded:1,playedSeconds:s,running:!1}},!1,"seekTo/stop-before-end")}}},...{lastListenedUuids:{},lastListenedUpdateTimestamp:0,lastListenedTrackingInProgress:!1,shouldTrackLastListened:()=>{let e=s();return!!e.hasSuppressAds&&!!e.broadcast?.id&&e.playState===d.PLAYING},getLastListenedType:e=>e===l.STATION?"station":null,trackLastListened:async()=>{let t=s();if(!t.shouldTrackLastListened()||t.lastListenedTrackingInProgress)return;let a=t.broadcast;if(a&&t.getLastListenedType(a.type)){e(()=>({lastListenedTrackingInProgress:!0}),!1,"lastListened/tracking");try{if(a.type!==l.STATION)return;let t=await x(a.id,"station");if(t.success&&t.data){let r=t.data.uuid;r&&e(e=>({lastListenedUuids:{...e.lastListenedUuids,[a.id]:r}}),!1,"lastListened/stationTracked")}e(()=>({lastListenedUpdateTimestamp:Date.now()}),!1,"lastListened/timestampUpdated")}catch(e){console.error("[LastListened] Error tracking:",e)}finally{e(()=>({lastListenedTrackingInProgress:!1}),!1,"lastListened/trackingComplete")}}},updateLastListenedTimestamp:async()=>{let t=s();if(!t.shouldTrackLastListened()||Date.now()-t.lastListenedUpdateTimestamp<6e4)return;let a=t.broadcast;if(!a)return;let r=t.lastListenedUuids[a.id];r&&await j(r),e(()=>({lastListenedUpdateTimestamp:Date.now()}),!1,"lastListened/timestampUpdated")},clearLastListenedTracking:()=>{e(()=>({lastListenedUuids:{},lastListenedUpdateTimestamp:0,lastListenedTrackingInProgress:!1}),!1,"lastListened/cleared")},setupPlayerFromLastListened:async()=>{let e=s(),{broadcast:t,episode:a}=await e.restoreLastListened();return!!t&&(await e.setBroadcast(t,a),console.debug("[LastListened] Player setup complete:",{broadcastId:t.id,episodeId:a?.id}),!0)},restoreLastListened:async()=>{let e=s();if(!e.hasSuppressAds)return console.debug("[LastListened] Not restoring - user is not Prime"),{broadcast:null,episode:null};if(!window.__accessToken)return console.debug("[LastListened] Not restoring - no access token"),{broadcast:null,episode:null};try{let[r,s]=await Promise.all([z(void 0,5),Q({count:1})]),n=r.success?[...r.lastListened||[]].filter(e=>"station"===e.type).sort((e,t)=>
6t.lastListenedAt-e.lastListenedAt)[0]:void 0,o=s.success&&s.playPositions?.length>0?s.playPositions[0]:null,i=n?.lastListenedAt??0,d=o?.playedAt??0;if(0===i&&0===d)return console.debug("[LastListened] No recent content found"),{broadcast:null,episode:null};let u=e.locale||"de-DE",c=null,p=null;if(d>i&&o){let e=await t.default.getPodcast(o.parentId,u);if((0,a.isResponseFailed)(e))return console.debug("[PlayPositions] Podcast unavailable:",o.parentId),{broadcast:null,episode:null};if(!Array.isArray(e)||0===e.length)return console.debug("[PlayPositions] Podcast not found:",o.parentId),{broadcast:null,episode:null};if(!1===e[0].enabled)return console.debug("[PlayPositions] Podcast disabled:",o.parentId),{broadcast:null,episode:null};(c=e[0]).type=l.PODCAST,console.debug("[PlayPositions] Restored podcast:",c.id);let r=await t.default.getEpisodesByIds(o.itemId,u);!(0,a.isResponseFailed)(r)&&r?.episodes?.length>0?(p=r.episodes[0],console.debug("[PlayPositions] Restored episode:",p.id)):console.debug("[PlayPositions] Episode unavailable:",o.itemId)}else if(n){let e=await t.default.getStationsMulti(n.itemId,u);if((0,a.isResponseFailed)(e))return console.debug("[LastListened] Station unavailable (API error):",n.itemId),{broadcast:null,episode:null};if(!Array.isArray(e)||0===e.length)return console.debug("[LastListened] Station not found:",n.itemId),{broadcast:null,episode:null};if(!1===e[0].enabled)return console.debug("[LastListened] Station disabled:",n.itemId),{broadcast:null,episode:null};(c=e[0]).type=l.STATION,console.debug("[LastListened] Restored station:",c.id)}return{broadcast:c,episode:p}}catch(e){return console.error("[LastListened] Error restoring:",e),{broadcast:null,episode:null}}}},...{error:!1,errorCode:0,streamAttempts:{},startStreamTimeout:null,fireError:t=>{console.debug(`ð¨ Firing error with code: ${t}`);let a=s().broadcast;a&&w("audio-play-error",a.id),e({error:!0,errorCode:t,playState:d.STOPPED},!1,"error/play-error")},resetError:()=>{console.debug("ð Resetting error state"),e({error:!1,errorCode:0,streamAttempts:{}},!1,"error/play-error")},handlePlayerError:(e,t)=>{let{streams:a,streamIndex:r,onlyHttpStreams:n,getStreamUrl:o}=s();console.debug("ð´ Error with stream - only http",n,o(r),t);let i=a.length,d=s().streamAttempts[r]||0;if(d<1)console.debug(`ð Retrying stream ${r} (Attempt ${d+1})`),s().changeStream(r,!0);else if(r<i-1){let e=r+1;console.debug(`ð Moving to next stream: ${e}`),s().changeStream(e)}else console.debug("â All streams attempted twice, firing error"),s().fireError(100)},changeStream:(t,a=!1)=>{console.debug(`â³ Changing to stream index: ${t}, isRetry: ${a}`),e(e=>({streamIndex:t,playState:d.STOPPED,streamAttempts:a?{...e.streamAttempts,[t]:(e.streamAttempts[t]||0)+1}:e.streamAttempts}),!1,"error/play-error"),setTimeout(()=>{s().startStreamAfterChange()},300)}},...{sportBroadcast:null,setSportBroadcast:t=>{s().hasSuppressAds||(0,r.setBroadcastToLocalStorage)(t),e({sportBroadcast:t},!1,"sport/setSportBroadcast")}}}),{enabled:!1,name:"RadioStore"}));e.s(["default",0,eX],16195)},248567,e=>{"use strict";var t=e.i(510084);try{var a="u">typeof window?window:e.g;a._sentryModuleMetadata=a._sentryModuleMetadata||{},a._sentryModuleMetadata[(new a.Error).stack]=Object.assign({},a._sentryModuleMetadata[(new a.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}let r=(e,t)=>{let a=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(a.size!==r.size)return!1;for(let[e,t]of a)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0};try{var s="u">typeof window?window:e.g;s._sentryModuleMetadata=s._sentryModuleMetadata||{},s._sentryModuleMetadata[(new s.Error).stack]=Object.assign({},s._sentryModuleMetadata[(new s.Error).stack],{"_sentryBundlerPluginAppKey:radio-net-website":!0})}catch(e){}e.s(["useShallow",0,function(e){let a=t.default.useRef(void 0);return t=>{let s=e(t);return!function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(Symbol.iterator in e&&Symbol.iterator in t){if("entries"in e&&"entries"in t)return r(e,t);let a=e[Symbol.iterator](),s=t[Symbol.iterator](),n=a.next(),o=s.next();for(;!n.done&&!o.done;){if(!Object.is(n.value,o.value))return!1;n=a.next(),o=s.next()}return!!n.done&&!!o.done}return r({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}(a.current,s)?a.current=s:a.current}}],248567)}]); 7 8//# debugId=10de65b2-9122-280e-c063-ab7a1e57847d
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.