var globalThis;(globalThis=void 0===globalThis?self:globalThis).Emby={};let supportsModules="noModule"in document.createElement("script"),usesModules=!0,usesMultiVersionJs=!1,scriptsUsingClasses=!0,usesClasses;function loadScript(src){return new Promise(function(resolve,reject){var doc=document,script=doc.createElement("script");globalThis.urlCacheParam&&(src+="?"+globalThis.urlCacheParam),usesModules&&supportsModules&&(script.type="module"),script.onload=resolve,script.onerror=reject,script.src=src,doc.head.appendChild(script)})}function loadPromise(onDone){if(globalThis.Promise&&globalThis.Promise.all)onDone();else{var doc=document,script=doc.createElement("script");let src="./modules/polyfills/native-promise-only.js";globalThis.urlCacheParam&&(src+="?"+globalThis.urlCacheParam),script.onload=onDone,script.src=src,doc.head.appendChild(script)}}function catchAndResolve(err){return console.log("error registering service worker: "+err),Promise.resolve()}function registerServiceWorker(){switch(globalThis.appMode){case"ios":case"android":case"winjs":case"tizen":case"webos":case"chromecast":case"embyclient":return Promise.resolve()}return"undefined"!=typeof caches&&navigator.serviceWorker?caches.open("embyappinfo").then(function(cache){return cache.put("appversion",new Response(globalThis.dashboardVersion||"")).then(function(){try{var serviceWorkerOptions={};return usesModules&&supportsModules&&(serviceWorkerOptions.type="module"),navigator.serviceWorker.register("serviceworker.js",serviceWorkerOptions).then(function(){return navigator.serviceWorker.ready.then(function(){"standalone"===globalThis.appMode&&(globalThis.urlCacheParam=null),Emby.serviceWorkerEnabled=!0})},catchAndResolve).then(function(reg){return reg&®.sync?reg.sync.register("emby-sync"):Promise.resolve()})}catch(err){console.log("Error registering serviceWorker: "+err)}},catchAndResolve)},catchAndResolve):Promise.resolve()}function loadRequire(){return loadScript("./modules/alameda/alameda.js")}function loadApp(){var config={urlArgs:globalThis.urlCacheParam,renameJsExtension:globalThis.Emby.jsExtension};if("android"!==globalThis.appMode){let baseRoute=globalThis.location.href.split("?")[0].replace("/index.html","");(baseRoute=baseRoute.split("#")[0]).lastIndexOf("/")===baseRoute.length-1&&(baseRoute=baseRoute.substring(0,baseRoute.length-1)),console.log("Setting require baseUrl to "+baseRoute),config.baseUrl=baseRoute}return require.config(config),loadScript("./app.js")}function onPromiseLoaded(){registerServiceWorker().then(loadRequire,loadRequire).then(loadApp,loadApp)}function init(){var docElem=document.documentElement,appMode=docElem.getAttribute("data-appmode"),docElem=(appMode&&(globalThis.appMode=appMode),docElem.getAttribute("data-appversion"));docElem&&(globalThis.dashboardVersion=docElem),docElem?globalThis.urlCacheParam="v="+docElem:appMode||(globalThis.urlCacheParam="v="+Date.now()),loadPromise(onPromiseLoaded)}usesClasses=usesMultiVersionJs?!!supportsModules:scriptsUsingClasses,globalThis.Emby.requiresClassesPolyfill=!usesClasses,init();