1var appInitTime=(new Date).getTime();var appLoc=location.toString();var UA=navigator.userAgent.toLowerCase();var INIT=true;if(APP_VERSION.indexOf("@build_number")>-1)APP_VERSION="0.0.1";var appLoc=location.toString();var packageLoaderBasePath="/s=1.0.857/js/"; 2var dateFormat=function(){var token=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,timezone=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,timezoneClip=/[^-+\dA-Z]/g,pad=function(val,len){val=String(val);len=len||2;while(val.length<len)val="0"+val;return val};return function(date,mask,utc){var dF=dateFormat;var originalDateValue=date;if(arguments.length==1&&Object.prototype.toString.call(date)== 3"[object String]"&&!/\d/.test(date)){mask=date;date=undefined}date=date?new Date(date):new Date;if(isNaN(date))date=new Date(originalDateValue.constructor().replace(" +0000 "," "));mask=String(dF.masks[mask]||mask||dF.masks["default"]);if(mask.slice(0,4)=="UTC:"){mask=mask.slice(4);utc=true}var _=utc?"getUTC":"get",d=date[_+"Date"](),D=date[_+"Day"](),m=date[_+"Month"](),y=date[_+"FullYear"](),H=date[_+"Hours"](),M=date[_+"Minutes"](),s=date[_+"Seconds"](),L=date[_+"Milliseconds"](),o=utc?0:date.getTimezoneOffset(), 4flags={d:d,dd:pad(d),ddd:dF.i18n.dayNames[D],dddd:dF.i18n.dayNames[D+7],m:m+1,mm:pad(m+1),mmm:dF.i18n.monthNames[m],mmmm:dF.i18n.monthNames[m+12],yy:String(y).slice(2),yyyy:y,h:H%12||12,hh:pad(H%12||12),H:H,HH:pad(H),M:M,MM:pad(M),s:s,ss:pad(s),l:pad(L,3),L:pad(L>99?Math.round(L/10):L),t:H<12?"a":"p",tt:H<12?"am":"pm",T:H<12?"A":"P",TT:H<12?"AM":"PM",Z:utc?"UTC":(String(date).match(timezone)||[""]).pop().replace(timezoneClip,""),o:(o>0?"-":"+")+pad(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4), 5S:["th","st","nd","rd"][d%10>3?0:(d%100-d%10!=10)*d%10]};return mask.replace(token,function($0){return $0 in flags?flags[$0]:$0.slice(1,$0.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}; 6dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]}; 7function formatSecondsAsTime(secs,format){var hr=Math.floor(secs/3600);var min=Math.floor((secs-hr*3600)/60);var sec=Math.floor(secs-hr*3600-min*60);if(hr<10)hr="0"+hr;if(min<10)min="0"+min;if(sec<10)sec="0"+sec;if(format!=null){var formatted_time=format.replace("hh",hr);formatted_time=formatted_time.replace("h",hr*1+"");formatted_time=formatted_time.replace("mm",min);formatted_time=formatted_time.replace("m",min*1+"");formatted_time=formatted_time.replace("ss",sec);formatted_time=formatted_time.replace("s", 8sec*1+"");return formatted_time}else return hr+":"+min+":"+sec}window.com={};packageLoaderModules={};readyPackageLoaderModules={};waitingLibraries={};packageLoaderVersion="1.0.857";wait=function($mapID,$functionRef){waitingLibraries[$mapID]=Delegate.create(window,$functionRef)};now=function($mapID){waitingLibraries[$mapID]();waitingLibraries[$mapID]=null};if(typeof Delegate==="undefined")Delegate={}; 9if(!Delegate.create){Delegate.__mapData={};Delegate.map=function(underlyingMethod,delegateObject){Delegate.__mapData[underlyingMethod]=delegateObject};Delegate.unmap=function(underlyingMethod){delete Delegate.__mapData[underlyingMethod]};Delegate.find=function(underlyingMethod){var reference=Delegate.__mapData[underlyingMethod];if(typeof reference==="undefined")return null;return Delegate.__mapData[underlyingMethod]};Delegate.create=function(object,method){var theDelegate=function(){return method.apply(object, 10arguments)};theDelegate.isDelegate=true;theDelegate.method=method;theDelegate.object=object;return theDelegate};Delegate.destroy=function(objOrMethod){if(objOrMethod.isDelegate){Delegate.unmap(objOrMethod.method);delete objOrMethod.isDelegate;delete objOrMethod.method;delete objOrMethod.object;delete objOrMethod}else{var theDelegate=Delegate.find(objOrMethod);Delegate.unmap(objOrMethod.method);delete theDelegate.isDelegate;delete theDelegate.method;delete theDelegate.object;delete theDelegate}}} 11window.RateLimiter={create:function(object,method,limitEveryMS){var theDelegate=function(){var lastTime=-1;var f=function(){var currentTime=(new Date).getTime();var elapsedTime=currentTime-lastTime;if(lastTime==-1||currentTime-limitEveryMS>=lastTime){lastTime=currentTime;if(console&&console.log)console.log("RateLimiter: allowed");return method.apply(object,arguments)}else{if(console&&console.log)console.log("RateLimiter: not allowed, not enough time has elapsed. Requires "+limitEveryMS+"ms and only "+ 12elapsedTime+"ms has passed.");return{denied:true,method:method,scope:obj,args:arguments,limit:limitEveryMS,elapsed:elapsedTime}}};f.isDelegate=true;f.method=method;f.scope=object;f.limit=limitEveryMS;return f};return theDelegate()}};window.getPackageName=function($obj){if($obj.__inheritance===undefined)return"";else if($obj.__inheritance.length>=1)return $obj.__inheritance[0].path;else return""};
13window.getLocalClassName=function($obj){if($obj.__inheritance===undefined)return"";else if($obj.__inheritance.length>=1)return $obj.__inheritance[0].name;else return""};window.getClassReference=function($obj){if($obj.__inheritance===undefined)return null;else if($obj.__inheritance.length>=1)return $obj.__inheritance[0].reference;else return null}; 14window.is=function($obj){return{a:function($Class){if(typeof $Class=="function"){if($obj.__inheritance===undefined)return false;var foundIt=false;for(var i=0;i<$obj.__inheritance.length;i++){var iInheritanceItem=$obj.__inheritance[i];if(iInheritanceItem.reference==$Class){foundIt=true;break}}return foundIt}else{var foundIt=false;for(var i=0;i<$obj.__inheritance.length;i++){var iInheritanceItem=$obj.__inheritance[i];if(iInheritanceItem.path==$Class){foundIt=true;break}}return foundIt}}}}; 15window.Accessors={route:function($scope,$arguments,$object){if($arguments.length==0)if($object.get)return $object.get.call($scope);else throw new Error("No getter defined!");else if($arguments.length==1)if($object.set)return $object.set.apply($scope,$arguments);else throw new Error("No setter defined!");
15else throw new Error("Must pass 0 or 1 arguments to a Getter/Setter");}}; 16String.prototype.contains=function(inStr,ignoreCase){var cmp=ignoreCase?this.toString().toLowerCase():this.toString();if(ignoreCase)inStr=inStr.toLowerCase();return cmp.indexOf(inStr)!==-1};String.prototype.equals=function(inStr,ignoreCase){var cmp=ignoreCase?this.toString().toLowerCase():this.toString();if(ignoreCase)inStr=inStr.toLowerCase();return cmp===inStr};Array.prototype.swap=function(a,b){var tmp=this[a];this[a]=this[b];this[b]=tmp}; 17getPackageVersion=function(p){var _v=p.version||p;var v;if(_v)v=_v.replace(/\$(\w+): ([^\s]+) (\$)?/,"$2");else v=0;return Number(v)}; 18extendClass=function(destination,source){if(destination.__inheritance===undefined)destination.__inheritance=[];if(source.__inheritance!==undefined)for(var i=0;i<source.__inheritance.length;i++)destination.__inheritance.push(source.__inheritance[i]);if(source.$super){if(typeof destination.$super==="undefined")destination.$super={};destination.$super.$super=source.$super}for(var property in source)if(source[property]&&source[property].constructor&&source[property].constructor===Object){destination[property]= 19destination[property]||{};if(source[property]!=destination)arguments.callee(destination[property],source[property])}else{var existsOnDestination=destination[property]!==undefined;var hasSuper=typeof destination["$super"]!=="undefined";var beginsWith__=property.length>=2&&property[0]=="_"&&property[1]=="_";if(!hasSuper)destination["$super"]={};if(existsOnDestination)destination["$super"][property]=source[property];else destination[property]=source[property]}return destination}; 20inheritFromClass=function(clazz,source){clazz["implements"]=source;for(var prop in source)if(!clazz.hasOwnProperty(prop)&&prop.indexOf("__")!=0)clazz[prop]=source[prop]}; 21require=function(s_moduleName,expires){var temp;var currentTime=new Date;if(readyPackageLoaderModules[s_moduleName]!=null){var moduleToRun=readyPackageLoaderModules[s_moduleName];moduleToRun();readyPackageLoaderModules[s_moduleName]=null}if(window.suppressLoading)return;try{temp=eval(s_moduleName)}catch(e){temp=undefined}finally{if(!temp){packageLoaderModules[s_moduleName]={isLoaded:false,expires:expires,expAction:expires?window.setTimeout(function(){require("com.slacker.util.Console");com.slacker.util.Console.log("debug", 22"Expiring "+s_moduleName);expireModule(s_moduleName)},expires*60*1E3):null};var pkg=new ClassLoader(s_moduleName);pkg.load();try{temp=eval(s_moduleName)}catch(e2){temp=undefined}}else;}return temp};getLoadedModules=function(){var returnArray=[];for(var i in packageLoaderModules)returnArray.push(i.toString());return returnArray};bjork=function(s_moduleName,func){readyPackageLoaderModules[s_moduleName]=func}; 23expireModule=function(s_moduleName,bExpireOnly){packageLoaderModules[s_moduleName].isLoaded=false;if(!packageLoaderModules[s_moduleName].expires)packageLoaderModules[s_moduleName].expires=60*24;clearTimeout(packageLoaderModules[s_moduleName].expAction);if(!bExpireOnly)require(s_moduleName,packageLoaderModules[s_moduleName].expires)}; 24ClassLoader=function(p){this.id=(new Date).getTime();this.packageName=p;this.basePath=packageLoaderBasePath;if(location.toString().indexOf("http")===0)this.cacheBuster=packageLoaderModules[this.packageName].expires?"s="+(new Date).getTime()+"/":"s=1.0.857/";else this.cacheBuster="/"}; 25ClassLoader.prototype.load=function(){var packageName=this.packageName;var ctrl=this;var url="";if(typeof DEPENDENCIES!=="undefined"&&DEPENDENCIES[this.packageName]&&getAllDependenciesNotYetLoaded(this.packageName).length>0){var dep=getAllDependenciesNotYetLoaded(this.packageName);var expires=packageLoaderModules[this.packageName].expires;for(var i=0;i<dep.length;i++){var s_moduleName=dep[i];packageLoaderModules[s_moduleName]={isLoaded:false,isLoaded:false,expires:expires,expAction:expires?window.setTimeout(function(){require("com.slacker.util.Console"); 26com.slacker.util.Console.log("debug","Expiring "+s_moduleName);expireModule(s_moduleName)},expires*60*1E3):null}}url=this.basePath+generateConcatURL(this.packageName);url=replaceAll(url,"/js?","/jsc?");url=replaceAll(url,"/s=1.0.857/js/?","/jsc/?")}else url=this.basePath+packageName.split(".").join("/")+".js";if(eval());var rId=com.slacker.io.HttpRequest.createRequest({url:url,async:false,bypassDr:true,callback:function(rId){var data=com.slacker.io.HttpRequest.getRequest
26(rId).http;try{eval(data.responseText)}catch(e){if(window&& 27window.suppressPackageLoaderErrors)return;else{var errorString="ERROR LOADING MODULE:\n"+packageName+"\n"+url+"\n"+e.toString();appendScriptToHead(url);if(console&&console.log)console.log(errorString);throw e;}}}})};appendClassToHead=function($packageAndClass){var url=packageLoaderBasePath+$packageAndClass.split(".").join("/")+".js";appendScriptToHead(url)}; 28appendScriptToHead=function(url){var canAppendToHead=document.getElementsByTagName("head")&&document.getElementsByTagName("head")[0];if(canAppendToHead){var headID=document.getElementsByTagName("head")[0];var newScript=document.createElement("script");newScript.type="text/javascript";newScript.src=url;headID.appendChild(newScript)}}; 29verifyNamespace=function(ns){var packagePath=ns.split(".");var p=window;var i;for(i=0;i<packagePath.length;i++){if(!p[packagePath[i]])p[packagePath[i]]={id:packagePath[i]};p=p[packagePath[i]]}return eval(ns)}; 30registerClass=function($package,$reference,$prototype){var afterLast=function(p_string,p_char){if(p_string==null)return"";var idx=p_string.lastIndexOf(p_char);if(idx==-1)return"";idx+=p_char.length;return p_string.substr(idx)};var shortName=$package;if($package.indexOf(".")!=-1)shortName=afterLast($package,".");var inheritanceItem={name:shortName,path:$package,reference:$reference};if($prototype.__inheritance===undefined)$prototype.__inheritance=[inheritanceItem];else{var foundIt=false;for(var i= 310;i<$prototype.__inheritance.length;i++){var iInheritanceItem=$prototype.__inheritance[i];if(iInheritanceItem.reference==$reference){foundIt=true;break}}if(!foundIt)$prototype.__inheritance.unshift(inheritanceItem)}$reference.prototype=$prototype;registerPackage($package);eval($package+"=$reference;");if($reference.prototype&&$reference.prototype.__constants!==undefined)$reference.prototype.__constants()}; 32instantiateClass=function($instance,$arguments){if($instance.__constants!==undefined)$instance.__constants();if($instance.__properties!==undefined)$instance.__properties();if($instance.__constructor!==undefined)$instance.__constructor.apply($instance,$arguments)}; 33registerPackage=function(path){try{var p=verifyNamespace(path);if(p){packageLoaderModules[path]=p;var console=packageLoaderModules["com.slacker.util.Console"];if(console&&com.slacker.util.Console.log)com.slacker.util.Console.log("warn",path+" loaded")}}catch(e){}}; 34(function(){try{console}catch(e){console=null}function Console(guiDoc){this.version="$LastChangedRevision: 1323 $";this.msgs=[];this.logLevel=0;this.supportsColors=false;this.levels={off:0,error:1,warn:2,info:3,debug:4};this.syntaxColor={error:"red",warn:"orange",info:"white",debug:"#5C5F6E"};this.scrollBackCount=1E3;this.consoleGui=guiDoc;this._constructor()}Console.prototype={_constructor:function(){var l="off";try{if(QUERY_OBJ&&QUERY_OBJ.debug)l="debug";else l="off"}catch(e$8){}this.logLevel=this.setLogLevel(l)}, 35println:function(msg,level){var console=this;var out,item;try{if(this.msgWin){out=this.msgWin.document.getElementById("output");item=this.msgWin.document.createElement("li");item.setAttribute("level",level);item.innerHTML=msg.replace(/\n/g,"<br>");out.insertBefore(item,out.firstChild)}else setTimeout(function(){console._dumpMsgs();console=null},1E3)}catch(e$9){setTimeout(function(){console._dumpMsgs();console=null},1E3)}finally{out=null;item=null}},setConsoleGui:function(uri){this.consoleGui=uri}, 36logPretty:function(){var args=Array.prototype.slice.call(arguments,0);var level=args[0];var msg=args[1];var style=args[2];var c=this;var evtTime=this.getTimestamp();setTimeout(function(){if(c.levels[level]&&c.levels[level]<=c.logLevel){var wpmsg=evtTime+" - ["+level+"] "+msg;var jbmsg="["+level+"] "+msg;c.msgs.unshift(wpmsg);
36c.println(wpmsg,level);c._trimScrollbackBuffer();if(console&&console[level]){if(style)console[level](evtTime+" - "+msg,style);else console[level](evtTime+" - "+msg);if(level== 37"error")if(console.trace)console.trace()}wpmsg=jbmsg=null}c=null;msg=null;err=null;evtTime=null},10)},log:function(level,msg,err){if(msg&&msg.indexOf("BBIPlayer:")>-1)if(msg.indexOf("getPercentLoaded")>-1)return;if(level&&!msg&&!err){msg=level;level="info"}var c=this;var evtTime=this.getTimestamp();setTimeout(function(){if(c.levels[level]&&c.levels[level]<=c.logLevel){if(err&&err.StackTrace)msg+=err.StackTrace.toString();else if(err)msg+=err.message+"\n"+err.line+"\n"+err.file;var wpmsg=evtTime+" - ["+ 38level+"] "+msg;var jbmsg="["+level+"] "+msg;c.msgs.unshift(wpmsg);c.println(wpmsg,level);c._trimScrollbackBuffer();if(console&&console[level]){console[level](evtTime+" - "+msg,err||"");if(level=="error")if(console.trace)console.trace()}wpmsg=jbmsg=null}c=null;msg=null;err=null;evtTime=null},10)},setScrollBack:function(i){this.scrollBackCount=i;this.log("debug","scrollback cache set: "+i);if(this.msgs.length>this.scrollBackCount){var out=this.msgWin.document.getElementById("output");this.msgs.pop(); 39out.removeChild(out.lastChild);out=null}},setLogLevel:function(v){if(typeof v=="string")if(this.levels[v]>=0)this.logLevel=this.levels[v];else{alert("Invalid logging level: "+v);this.logLevel=0}else if(!isNaN(v))this.logLevel=v;else this.logLevel=0},hide:function(){this.msgWin.close()},show:function(){var tmp;try{if(!this.msgWin)try{this.msgWin=JaxConsole;tmp=this.msgWin.document.getElementById("output").innerHTML.split("</li>");var idx;for(idx=0;idx<tmp.length;idx++)this.msgs.push(tmp[idx].replace(/<li([^>]+)?>/, 40""))}catch(e$10){}var foo=this.msgWin.document.body.innerHTML}catch(e1){if(this.consoleGui){this.msgWin=window.open(this.consoleGui,"JaxConsole","resizable=yes,scrollbars=false,toolbar=false");tmp=window;try{JaxConsole=this.msgWin}catch(e2){}}else alert("Console GUI file not set. Can't show console.")}},clear:function(){this.msgs=[];this.msgWin.document.body.innerHTML=""},getLog:function(nEntries){this._trimScrollbackBuffer();var entries=this.msgs;if(nEntries)entries.slice(0,nEntries);return entries}, 41_dumpMsgs:function(el){try{this._trimScrollbackBuffer();var dump=new Array(this.msgs.length);var i;for(i=0;i<this.msgs.length;i++){var level;var msg=this.msgs[i];if(msg.indexOf("[error]")>-1)level="error";else if(msg.indexOf("[warn]")>-1)level="warn";else if(msg.indexOf("[info]")>-1)level="info";else level="debug";dump[i]="<li level='"+level+"'>"+msg+"</li>"}if(el)el.innerHTML=dump.join("\n");else if(this.msgWin)this.msgWin.document.getElementById("output").innerHTML=dump.join("\n")}catch(e$11){}}, 42_trimScrollbackBuffer:function(){var maxLen=this.scrollBackCount;var len=this.msgs.length;if(len>maxLen){this.msgs=this.msgs.slice(0,maxLen);try{if(this.msgWin){var out=this.msgWin.document.getElementById("output");out.removeChild(out.lastChild);out=null}}catch(e$12){}}},getTimestamp:function(){var dt=new Date;var s=dt.toString();var m=dt.getMilliseconds();m=this.leftZeroFill(m,4);s=s.replace(/ GMT/,"."+m+" GMT");return s},leftZeroFill:function(n,totalDigits){n=n.toString();var pd="";var i;if(totalDigits> 43n.length)for(i=0;i<totalDigits-n.length;i++)pd+="0";return pd+n.toString()}};registerPackage("com.slacker.util.Console");com.slacker.util.Console=new Console})(); 44(function(){var conTest={trials:0,cumm:0,avg:0,last:0};function TestConnection(size,t,http){var speed;if(parseInt(size,10)&&t&&http&&http.status==200){conTest.trials++;speed=Math.round(parseInt(size,10)/128/(t/1E3));conTest.last=speed;conTest.cumm=conTest.cumm+speed;CONSOLE.log("debug","Calc connection speed: "+[size,t,speed])}}function http(){this.version="$LastChangedRevision: 1323 $";this.requests={};this.urlToRequestId={};this.keepAliveCache={};this.noConnectionHandler;this.drHandler;this.outageHandler; 45this.DR_MODE_ENABLED=false;this._seqId=0;this.stale=1E3*60*5;this.cleanerThread=setInterval(function(){com.slacker.io.HttpRequest.__requestCleaner()},this.stale)}http.prototype={setNoConnectionHandler:function(func){this.noConnectionHandler=func},getNoConnectionHandler:function(){return this.noConnectionHandler},setOutageHandler:function(func){this.outageHandler=func},getOutageHandler:function(){return this.outageHandler},setDrHandler:function(func){this.drHandler=func},getDrHandler:function(){return this.drHandler}, 46createRequest:function(params){var self=this;if(params.url.indexOf("http")==0&&self.noConnectionHandler&&!navigator.onLine){self.noConnectionHandler.apply(this,[params]);return}var method,url,async,postData,callback,username,password,requestTime,withCredentials;method=params.method||"GET";async=params.async||false;params.username=params.username||"";params.password=params.password||"";params.postData=params.postData||null;
46var request=this.getHttpRequestObj(params);request.callback=params.callback; 47var logURL=params.url;var pWordScrub="";if(logURL.indexOf("password=")>-1)pWordScrub="password=";else if(logURL.indexOf("pw=")>-1)pWordScrub="pw=";if(pWordScrub){var pstart=logURL.indexOf(pWordScrub)+pWordScrub.length;var bit1=logURL.substring(0,pstart);var bit2=logURL.substring(pstart);var pend=bit2.indexOf("&");bit2=bit2.substring(pstart);logURL=bit1+"******"+bit2}if(params.url.indexOf("undefined")>-1){CONSOLE.log("debug","Malformed URL contains the word undefined: "+logURL);params.url=params.url.replace(/undefined/g, 48"")}try{request.http.open(method,params.url,async,params.username,params.password);if(navigator.userAgent.indexOf("MSIE")>-1||navigator.userAgent.indexOf("Trident")>-1)try{request.http.responseType="msxml-document"}catch(e){}}catch(e$13){CONSOLE.log("error","Malformed URL: "+[logURL,e$13])}if(async&¶ms.callback&&typeof params.callback=="function")if(window.ActiveXObject)request.http.onreadystatechange=function(){if(request.http.readyState==4)try{request.requestTime=requestTime=new Date-request.startTime; 49request.contentLength=request.http?request.http.getResponseHeader("Content-Length"):0;CONSOLE.log("info","Async "+method+" request returning ("+request.http.status+" - "+requestTime+"ms / "+request.contentLength+"): "+logURL);params.httpStatus=request.http.status;setTimeout(function(){TestConnection(request.contentLength,requestTime,request.http)},10);self.handleRequestCallback(params,request)}catch(e$14){CONSOLE.log("warn","HTTP request callback may have failed: "+[e$14,logURL,params.callback])}}; 50else{request.http.onload=function(evt){try{request.requestTime=requestTime=new Date-request.startTime;request.contentLength=request.http?request.http.getResponseHeader("Content-Length"):0;CONSOLE.log("info","Async "+method+" request returning ("+request.http.status+" - "+requestTime+"ms / "+request.contentLength+"): "+logURL);params.httpStatus=request.http.status;setTimeout(function(){TestConnection(request.contentLength,requestTime,request.http)},10)}catch(e$15){}if(params.callback)self.handleRequestCallback(params, 51request);else CONSOLE.log("warn","Async HTTP request called without a callback: "+logURL)};request.http.onerror=function(evt){var status=null;try{status=evt.target.status}catch(e$16){status=500}try{request.requestTime=requestTime=new Date-request.startTime;CONSOLE.log("error","httprequest error - "+status+" ("+requestTime+"ms): "+logURL);com.slacker.io.HttpRequest.cancelRequest(request.id)}catch(e1){CONSOLE.log("error","Failed to cancel request",e1)}if(params.async&&(!status||status>=500)){if(typeof params.retryCount=== 52"undefined")params.retryCount=0;else params.retryCount++;if(params.retryCount>2)try{CONSOLE.log("warn","Request retry limit exceeded. Cancelling request: "+logURL);if(params.callback)self.handleRequestCallback(params,request)}catch(e2){}else{try{CONSOLE.log("warn","Retry ("+params.retryCount+") request after error ("+status+"): "+logURL)}catch(e3){}setTimeout(function(){com.slacker.io.HttpRequest.createRequest(params)},params.retryCount*5E3)}}else{try{CONSOLE.log("warn","return null http on failed request")}catch(e4){}self.handleRequestCallback(null, 53request)}}}if(params.headers){var h;for(h in params.headers)if(params.headers.hasOwnProperty(h))try{request.http.setRequestHeader(h,params.headers[h])}catch(e5){CONSOLE.log("error","HttpRequest.createRequest() error setting header "+h+" - "+params.headers[h]+": "+e5)}if(!params.headers["BBI-AUTHORIZATION"]&¶ms.url.indexOf("slacker.com")>-1)CONSOLE.log("warn","BBI-AUTH header is missing!")}
53try{if(request.http.setProperty)request.http.setProperty("SelectionLanguage","XPath")}catch(e6){}try{request.startTime= 54new Date;request.http.send(params.postData);CONSOLE.log("debug","Requesting (async:"+async+"): "+method+" "+logURL)}catch(e7){try{var msg=e7.message||e7;CONSOLE.log("error",msg+" requesting (async:"+async+"): "+method+" "+logURL)}catch(e8){}}if(params.timeout){var msec=params.timeout.msec;var ontimeout=params.timeout.ontimeout;setTimeout(function(){try{var r=com.slacker.io.HttpRequest.getRequest(request.id);if(r&&r.http&&r.http.readyState<3){com.slacker.io.HttpRequest.cancelRequest(request.id);try{CONSOLE.log("warn", 55"httpRequest: Request timed out: "+params.url)}catch(e9){}if(typeof ontimeout=="function")ontimeout.apply(request.http,[request.id,params])}}catch(e10){}},msec)}if(async==false&&typeof params.callback=="function"){try{request.requestTime=requestTime=new Date-request.startTime;request.contentLength=request.http?request.http.getResponseHeader("Content-Length"):0;CONSOLE.log("info","Returning sync request ("+request.http.status+": "+requestTime+"ms / "+request.contentLength+") with callback: "+logURL); 56setTimeout(function(){TestConnection(request.contentLength,requestTime,request.http)},10)}catch(e11){}return self.handleRequestCallback(params,request)}else{if(async==false||!params.callback){var type=!params.callback?"async fire and forget":"sync";try{request.requestTime=requestTime=new Date-request.startTime;request.contentLength=request.http?request.http.getResponseHeader("Content-Length"):0;CONSOLE.log("info","Returning "+type+" request ("+request.http.status+": "+requestTime+"ms / "+request.contentLength+ 57") : "+logURL);if(async!=true)setTimeout(function(){TestConnection(request.contentLength,requestTime,request.http)},10)}catch(e12){}}return request.id}},handleRequestCallback:function(params,request){var isDegraded=request.http.getResponseHeader("X-Slacker-Degraded");if(this.drHandler&&isDegraded&&!request.bypassDr){this.DR_MODE_ENABLED=true;this.drHandler.apply(request.http,[true,request,params])}else if(this.DR_MODE_ENABLED&&!request.bypassDr){this.DR_MODE_ENABLED=false;this.drHandler.apply(null, 58[false,request,params])}else if(params&¶ms.callback){if(!request.bypassDr)this.DR_MODE_ENABLED=isDegraded;return params.callback.apply(request?request.http:null,[request?request.id:null])}},finalize:function(id,forceKill){var r=this.requests[id];forceKill=true;if(r){var domain=this.getRequestDomain(r.url);var keepAlive=false;try{keepAlive=r.http.getResponseHeader("Keep-Alive")}catch(e){forceKill=true;CONSOLE.log("error",e,e)}if(!forceKill&&keepAlive&&r.http.status<400){CONSOLE.log("debug","Connection Keep-Alive available. Push to connection cache ("+ 59r.id+").");if(!this.keepAliveCache[domain])this.keepAliveCache[domain]=[];this.keepAliveCache[domain].push(r)}else if(forceKill||!r.isCacheable){CONSOLE.log("debug","finalize connection ("+r.id+").");if(window.ActiveXObject)try{r.http.onreadystatechange=null}catch(e1){}else try{r.http.onload=null}catch(e2){}delete this.urlToRequestId[r.url];delete this.requests[id];r.http.abort();r.http=null;r=null}}},__requestCleaner:function(){var now=new Date;var count=0;CONSOLE.log("info","Stale request cleaner running."); 60for(var r in this.requests){var req=this.requests[r];if(now-req.startTime>=this.stale){count++;CONSOLE.log("debug","Cleaning stale request object: "+r+" - "+req.url);var keepAlives=this.keepAliveCache[this.getRequestDomain(req.url)];if(keepAlives)for(var i=0;i<keepAlives.length;i++)if(keepAlives[i].id==req.id)keepAlives[i]=null;this.finalize(r,true)}}CONSOLE.log("info","Stale request cleaner cleaned "+count+" stale requests")},getRequest:function(id){return this.requests[id]},getRequestDomain:function(url){var domain= 61url.substring(appLoc.indexOf("//")+2);if(domain.indexOf("/")>-1)domain=domain.substring(0,domain.indexOf("/"));else if(domain.indexOf("?")>-1)domain=domain.substring(0,domain.indexOf("?"));return domain},getHttpRequestObj:function(structParams){var domain=this.getRequestDomain(structParams.url);if(this.keepAliveCache[domain]&&this.keepAliveCache[domain].length>0){var r=null;while(!r&&this.keepAliveCache[domain].length>0)r=this.keepAliveCache[domain].shift();if(!r)return getHttpRequestObj(structParams); 62r.url=structParams.url;r.method=structParams.method||"GET";r.postData=structParams.postData||"";r.async=structParams.async;r.headers=structParams.headers;r.bypassDr=structParams.bypassDr;r.isCacheable=structParams.isCacheable;r.status=0;if(structParams.withCredentials)obj.withCredentials=structParams.withCredentials;else obj.withCredentials=null;CONSOLE.log("debug","Re-using connection from keepaliveCache: "+r.id+r.url);return r}else{var hasXDomainRequest=false;if(window.XDomainRequest)hasXDomainRequest= 63true;var obj=hasXDomainRequest&&structParams.withCredentials?new XDomainRequest:new XMLHttpRequest;var id=++this._seqId;if(!hasXDomainRequest&&structParams.withCredentials)obj.withCredentials=structParams.withCredentials;this.requests[id]=new HttpRequest(this._seqId++,obj,structParams);this.urlToRequestId[structParams.url]=id;return this.requests[id]}},getResponseHeaders:function(response){var headers={};var h=response.getAllResponseHeaders();var tempH=h.split("\n");var temp;var i;for(i=0;i<tempH.length;i++){temp= 64tempH[i].split(": ");headers[temp[0]]=temp[1]}tempH=h=temp=null;return headers},cancelRequest:function(id){var r=this.requests[id];if(r){r.isCacheable=false;this.finalize(id,true)}},getConnSpeed:function(){conTest.avg=conTest.cumm/conTest.trials;return conTest.avg}};function HttpRequest(id,request,structParams){this.startTime;this.id=id;this.url=structParams.url;this.method=structParams.method||"GET";this.postData=structParams.postData||"";this.http=request;this.async=structParams.async;this.headers= 65structParams.headers;this.bypassDr=structParams.bypassDr;this.contentLength;this.status=0;this.isCacheable=false;this.callback}try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead")}catch(e){}registerPackage("com.slacker.io.HttpRequest");com.slacker.io.HttpRequest=new http;var CONSOLE=require("com.slacker.util.Console");try{CONSOLE=com.slacker.util.Console}catch(error){}})(); 66bjork("com.slacker.app.CustomBindings",function(){(function(){var CONSOLE=require("com.slacker.util.Console");function CustomBindings(){this.__beforeConstructor();this.__constructor()}CustomBindings.prototype={__beforeConstructor:function(){},__constructor:function(){},apply:function(){this.delegation();this.validation()},validation:function(){ko.bindingHandlers.validation={init:function(element,valueAccessor,allBindingsAccessor,viewModel){if(viewModel.validation==null){viewModel.validation={};viewModel.validation.formID= 67element;viewModel.validation.objects=[];viewModel.validation.errors=[];viewModel.validation.handler=function(errors,event){throw new Error("Mu
67st override form validation handler");};viewModel.validation.validate=function(){var formValidator=(new FormValidator(viewModel.validation.formID,viewModel.validation.objects,Delegate.create(viewModel,viewModel.validation.handler))).validate()}}if(element.nodeName.toLowerCase()=="form"){if(element.getAttribute("id"))viewModel.validation.formID=element.getAttribute("id"); 68else throw new Error("For validation to work form must have an id");if(valueAccessor().handler!=null)viewModel.validation.handler=valueAccessor().handler}else{var o=valueAccessor();o.name=element.getAttribute("name");viewModel.validation.objects.push(o)}}}},delegation:function(){ko.bindingHandlers.onClick={init:function(element,valueAccessor){var action=valueAccessor();ko.utils.domData.set(element,"onClick",action)}}}};registerPackage("com.slacker.app.CustomBindings");com.slacker.app.CustomBindings= 69new CustomBindings})()}); 70bjork("com.slacker.app.XMLUtils",function(){(function(){var CONSOLE=require("com.slacker.util.Console");function XMLUtils(){this.__beforeConstructor();this.__constructor()}XMLUtils.prototype={__beforeConstructor:function(){this.x2js=null},__constructor:function(){this.x2js=new X2JS},xmlToJson:function(xml){if(xml&&typeof xml==="object"&&!xml.childNodes)return xml;else return this.x2js.xml2json(xml)},xmlStringToJson:function(xmlString){return this.x2js.xml_str2json(xmlString)}};registerPackage("com.slacker.app.XMLUtils"); 71com.slacker.app.XMLUtils=new XMLUtils})()}); 72bjork("com.slacker.app.actions.AbstractAction",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");var AJAXTransport=require("com.slacker.io.AJAXTransport");var StringUtils=require("com.slacker.util.StringUtils");var HttpRequest=require("com.slacker.io.HttpRequest");var Url=require("com.slacker.io.Url");function AbstractAction($templateURL){extendClass(this,new EventNotifier(this));this.__properties();this.__constants();this.__constructor.apply(this,arguments)}AbstractAction.prototype= 73{__constants:function(){AbstractAction.EVENT_ONNETWORKEVENT="onNetworkEvent";AbstractAction.SUCCESS="success";AbstractAction.FAILURE="failure";AbstractAction.METHOD_GET="GET";AbstractAction.METHOD_POST="POST";AbstractAction.METHOD_PUT="PUT"},__properties:function(){this.url=new Url;this.method="GET";this.headers={};this.data={};this.actionURL="";this.transport=null;this.domain=window.location.host;this.envDomain=this.domain.replace(/^(.*?)\.(pubdev|dev|dev2|stg|stg2)\./,"www.$2.");this.isCrossDomain= 74this.domain!=this.envDomain},__constructor:function(templateURL){if(templateURL)this.url.parse(StringUtils.format(templateURL,{"http-root":this.envDomain}))},execute:function(){var theDelegate=Delegate.create(this,this.onActionResponse);this.url.replacementParams=this.data;if(StringUtils.contains(this.url.href(),"<")||StringUtils.contains(this.url.href(),"%3C")){var s="Problem with url. Missing parameters for replacement: "+this.url.href()+", data: "+JSON.stringify(this.data);this.url.replacementParams= 75{};throw new Error(s);}this.transport=new AJAXTransport;this.transport.to=this.url.protocol+"://"+this.url.host;var request={url:this.url.href(),method:this.method,headers:this.headers,data:this.headers&&(this.headers["Content-Type"]||this.headers["content-type"])==="application/json"?JSON.stringify(this.data):this.data};if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.url.replacementParams={};this.transport.get(request,theDelegate,theDelegate)},halifyLinks:function(links){if(links)links.forEach(function(_l){links[_l.rel]= 76_l})},_doRequest:function(params){var self=this,noContentType=false,ajaxConfig={method:params.method||"GET",data:params.data,url:params.source,dataType:params.type||"",xhrFields:{withCredentials:true},crossDomain:true,beforeSend:function(jqXHR,settings){if(params.headers)for(h in params.headers)jqXHR.setRequestHeader(h,params.headers[h]);if(CONFIG.xscid)jqXHR.setRequestHeader("x-scid",CONFIG.xscid);return true},success:params.callback,error:params.callback};if(params.type=="multipart/form-data"){delete ajaxConfig.dataType; 77ajaxConfig.enctype="multipart/form-data";ajaxConfig.processData=false;ajaxConfig.contentType=false;noContentType=true}return $.ajax(ajaxConfig)}
77,onActionResponse:function(e){var responseData=e;throw new Error("Must override AbstractAction's onActionResponse");switch(e.status){case 200:this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,status:e.status,target:this});break;default:this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,status:e.status,target:this});break}}};registerPackage("com.slacker.app.actions.AbstractAction"); 78AbstractAction.prototype.__constants();com.slacker.app.actions.AbstractAction=AbstractAction})()}); 79bjork("com.slacker.app.actions.CheckOfferCodeAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var AJAXTransport=require("com.slacker.io.AJAXTransport");function CheckOfferCodeAction(context){extendClass(this,new AbstractAction);this.__constants();this.__properties();this.__constructor(context)}CheckOfferCodeAction.prototype={__constants:function(){this.PATH_CODE_CHECK="<store-root>/store/rest/pops/offerCodes/<code>";this.TICKET_UNAVAILABLE_ERROR= 80"This ticket is no longer for sale"},__properties:function(){var self=this;this.error=ko.observable();this.code=ko.observable();this.units={0:"unknown",1:"HOURLY",2:"DAILY",3:"MONTHLY",4:"YEARLY"}},__constructor:function(context){this.context=context},execute:function(){var self=this,request,headers,serviceSite;serviceSite="LiveOne";this.transport=new AJAXTransport;this.transport.to=STOREROOT;headers={"x-scid":CONFIG.xscid,"Content-Type":"application/json"};request={url:APP.modules.urlModule.constructUrl(this.PATH_CODE_CHECK, 81{"code":(this.code()+"").trim()}),method:"GET",headers:headers};CONSOLE.log("info","Sending code validation request");this.transport.get(request,function(response){var isOk=false,data=response&&response.data?response.data:null,offer=null,_tmp;if(response.status==200){_tmp=JSON.parse(response.data);offer={};isOk=_tmp&&_tmp.active;if(isOk){offer={offerCode:self.code(),trial:_tmp.subscriptionType==="TRIAL",benefits:_tmp.levelId,resourceId:_tmp.resourceId};if(_tmp.productFamily==="LIVE_SHOW"){offer.trial= 82true;offer.term="${_tmp.term}";offer.topNote=null;offer.offer={price:null,term:"${_tmp.term}"};offer.product="Ticket";offer.benefits="ticketing";var _termDetail;if(_tmp.eventMetadata){var MAX_ITEMS=3;var $jscomp$optchain$tmp1377861237$0;var _eventDetail=[],_evtImg=($jscomp$optchain$tmp1377861237$0=_tmp.eventMetadata.storeItem)==null?void 0:$jscomp$optchain$tmp1377861237$0.imageUrl,_imgClss="",_lstClss="";var $jscomp$optchain$tmp1377861237$1;var title=(($jscomp$optchain$tmp1377861237$1=_tmp.eventMetadata.storeItem)== 83null?void 0:$jscomp$optchain$tmp1377861237$1.name)||_tmp.eventMetadata.title;for(var i=0;i<MAX_ITEMS&&i<_tmp.eventMetadata.events.length;i++){var _e=_tmp.eventMetadata.events[i];var lastItem=i===MAX_ITEMS-1||i<_tmp.eventMetadata.events.length;if(!_evtImg){_evtImg=_e.imageUrl;_imgClss="with-img"}_lstClss=lastItem?" ticket-card__date-time--last":"";_eventDetail.push('<div class="ticket-card__date-time '+(_imgClss+_lstClss)+'">'+dateFormat(new Date(_e.startDate),"ddd ⢠mmm d ⢠h:MM TT Z")+"</div>")}if(_tmp.eventMetadata.events.length> 84MAX_ITEMS)_eventDetail.push('<div class="ticket-card__date-time more '+_imgClss+'">... and '+(_tmp.eventMetadata.events.length-MAX_ITEMS)+" more</div>");_termDetail=(_evtImg?'<img src="/s=1.0.857/images/pixel.gif" style="background:url('+_evtImg+')"/>':"")+'<div class="ticket-card"><div class="ticket-card__title '+_imgClss+" "+(title>20?"condensed":"")+'">'+title+"</div>\n\t\t\t\t\t\t\t\t\t"+_eventDetail.join("")+'\n\t\t\t\t\t\t\t\t\t<div class="ticket-card__info">\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__line-price '+ 85_imgClss+'">PRICE: <span class="'+_tmp.currency+'">'+_tmp.price+'</span></div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__desc '+_imgClss+'">'+_tmp.term+" DIGITAL TICKET"+(_tmp.term>1?"S":"")+'</div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__disclaimer '+_imgClss+'">LiveOne digital ticket is good only for the event, date, and time indicated.</div></div>\n\t\t\t\t\t\t\t\t\t</div>'}else _termDetail='\n\t\t\t\t\t\t\t\t\t<div class="ticket-card__title">'+_tmp.prettyName+'</div>\n\t\t\t\t\t\t\t\t\t<div class="ticket-card__info">\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__date-time">'+ 86_tmp.description+'</div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__line-price">PRICE: <span class="'+_tmp.currency+'">'+_tmp.price+'</span></div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__desc">'+_tmp.term+" DIGITAL TICKET"+(_tmp.term>1?"S":"")+'</div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__disclaimer">LiveOne digital ticket is good only for the event, date, and time indicated.</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t';offer.offer.termDetail=_termDetail}else if(_tmp.subscriptionType=== 87"TRIAL"){offer.term=self._getTermString(_tmp.trialTerm,_tmp.trialTermUnitId,true);offer.product=self._getProductString(_tmp.levelId);offer.offer={price:_tmp.price,term:self._getPriceString(_tmp.price,_tmp.term,_tmp.termUnitId,_tmp.trialTerm,_tmp.trialTermUnitId).split(" ").splice(2,100).join(" "),currency:_tmp.currency}}else{offer.term=self._getTermString(_tmp.term,_tmp.termUnitId);offer.product=self._getProductString(_tmp.levelId);offer.price=self._getPriceString(_tmp.price,_tmp.term,_tmp.termUnitId); 88offer.offer={price:_tmp.price,term:self._getPriceString(_tmp.price,_tmp.term,_tmp.termUnitId).split(" ")[2],currency:_tmp.currency}}}else{if(_tmp&&!_tmp.active)self.error("This offer is no longer available.");else self.error("An unexpected error has occurred. Please try again later.");offer=null}}else if(data&&data.statusMessage)self.error(data.statusMessage);else{var isTicketing=["ticketing","ticket"].indexOf(QUERY_OBJ["entryPage"])!==-1;switch(response.status){case 403:self.error(isTicketing?self.TICKET_UNAVAILABLE_ERROR: 89"This offer has already been redeemed.");break;
89case 404:self.error("Offer code is not valid. Please check your code and try again.");break;case 409:var msg=isTicketing?self.TICKET_UNAVAILABLE_ERROR:"This offer can no longer be redeemed.";self.error(msg);break;case 410:self.error("This offer is no longer available.");break;case 503:self.error("The system is currently unavailable, please try again in a few minutes.");break;default:self.error("An unexpected error has occurred. Please try again later."); 90break}}self.context.onOfferCodeCheck.bind(self.context)(isOk,offer)})},_getProductString:function(level){return level==15?"Platinum":level==10?"Premium":level==5?"Plus":"Basic"},_getTermString:function(term,termUnitId,bIsTrial){var unit=this.units[termUnitId].toLowerCase();if(bIsTrial){var termUnit=this.units[termUnitId].toLowerCase().replace("ly","").replace("dai","day");if(term>1)termUnit+="s";unit=term+" "+termUnit+" free"}else if(unit==="yearly")unit="annually billed";else unit="billed "+unit; 91return unit},_getPriceString:function(price,term,termUnitId,trialTerm,trialTermUnitId){var unit=this.units[termUnitId].toLowerCase().replace("ly","");if(unit==="dai")unit="day";if(trialTerm&&trialTermUnitId)unit+=" - "+trialTerm+" "+this.units[trialTermUnitId].toLowerCase().replace("ly","").replace("dai","day")+" trial";return"$"+price+" per "+unit},_handleDidOverride:function(){var did=this.offerCodeDidMap[this.code()];!!did&&this.context.onDidCodeRedemption.bind(this.context)(true,5,did);return!!did}}; 92registerPackage("com.slacker.app.actions.CheckOfferCodeAction");com.slacker.app.actions.CheckOfferCodeAction=CheckOfferCodeAction})()}); 93bjork("com.slacker.app.actions.auth.LoginAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var StringUtils=require("com.slacker.util.StringUtils");var UserEvent=require("com.slacker.app.events.UserEvent");function LoginAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}LoginAction.prototype={__beforeConstructor:function(){LoginAction.EVENT_SUCCESS="EVENT_SUCCESS"; 94LoginAction.EVENT_FAILURE="EVENT_FAILURE";this.transport=null;this.username="";this.password="";this.serviceName="";this.C="";this.L="";this.N="";this.A="";this.aid="";this.isReturningUser=false;this.doAutoLogin=true},__constructor:function(){},execute:function(){var myLoginURL,myLoginData;if(this.transport==null)this.transport=new AJAXTransport;var urlTemplate=APP.modules.urlModule.urls.user;myLoginURL=APP.modules.urlModule.constructUrl(urlTemplate.login);myLoginData={username:this.username,password:this.password, 95site:"slacker"};if(myLoginURL)this.transport.to=myLoginURL.substring(0,myLoginURL.indexOf(".com")+4);var headers={"Content-Type":"application/json"};if(PARTNER!="slacker")switch(PARTNER){case "tesla-creator":myLoginData.site="tesla-creator";break}var request={url:myLoginURL,method:"POST",headers:headers,data:JSON.stringify(myLoginData)};var userToken=APP.modules.userModule.user&&APP.modules.userModule.user.getToken();if(userToken)request.headers["BBI-AUTHORIZATION"]=userToken;if(APP.appUserAgent)request.headers["x-scid"]= 96APP.appUserAgent;this.username="";this.password="";this.transport.get(request,Delegate.create(this,this.onLoginActionResponse))},updateUserState:function(data){var userData=JSON.parse(data);var user=APP.modules.userModule.user;if(userData.accountId)this.aid=userData.accountId;user.set({token:null,wstoken:null});this.isReturningUser=this.aid!=user.get("id")},onLoginActionResponse:function(e){switch(e.status){case 200:this.updateUserState(e.data);this.dispatchEvent({type:LoginAction.EVENT_SUCCESS,status:e.status, 97target:this,data:e.data});break;case 403:default:this.dispatchEvent({type:LoginAction.EVENT_FAILURE,property:UserEvent.LOGIN_FAILED,status:e.status,target:this});break}}};registerPackage("com.slacker.app.actions.auth.LoginAction");com.slacker.app.actions.auth.LoginAction=LoginAction;var t=new LoginAction;t.temp=""})()}); 98bjork("com.slacker.app.actions.auth.PairDeviceAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var XMLUtils=require("com.slacker.app.XMLUtils");function PairDeviceAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}PairDeviceAction.prototype={__beforeConstructor:function(){PairDeviceAction.EVENT_SUCCESS="EVENT_SUCCESS";PairDeviceAction.EVENT_FAILURE="EVENT_FAILURE"; 99this.client=CONFIG.client;this.transport=null;this.formerTrigger=null;this.deviceType=null;this.linkCode=null},__constructor:function(){},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;this.transport.to=STOREROOT;var urlModule=APP.modules.urlModule;var myUrl=urlModule.constructUrl(urlModule.urls.user.pairDevice,{"app-name":this.deviceType,"code":this.linkCode});var request={url:myUrl,method:this.linkCode?"PUT":"GET",headers:{"Content-Type":"application/json"}};if(this.linkCode)request.data= 100JSON.stringify({deviceType:this.deviceType,linkCode:this.linkCode});if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.transport.get(request,Delegate.create(this,this.onPairDeviceActionResponse))},onPairDeviceActionResponse:function(e){switch(e.status){case 200:var data=JSON.parse(e.data);if(data&&data.linkCodeStatus=="ok")this.dispatchEvent({type:PairDeviceAction.EVENT_SUCCESS,linkCodeStatus:data.linkCodeStatus,status:e.status});else this.dispatchEvent({type:PairDeviceAction.EVENT_FAILURE, 101linkCodeStatus:data.linkCodeStatus,status:e.status});break;default:this.dispatchEvent({type:PairDeviceAction.EVENT_FAILURE,status:e.status});break}}};registerPackage("com.slacker.app.actions.auth.PairDeviceAction");com.slacker.app.actions.auth.PairDeviceAction=PairDeviceAction})()}); 102bjork("com.slacker.app.actions.auth.SocialLoginAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var UserEvent=require("com.slacker.app.events.UserEvent");function SocialLoginAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}SocialLoginAction.prototype={__beforeConstructor:function(){SocialLoginAction.EVENT_SUCCESS="EVENT_SUCCESS";SocialLoginAction.EVENT_EMAILSUCCESS= 103"EVENT_SUCCESS";SocialLoginAction.EVENT_FAILURE="EVENT_SOCIALFAILURE";SocialLoginAction.EVENT_REQUESTSOCIALCLAIM="EVENT_REQUESTSOCIALCLAIM";SocialLoginAction.EVENT_SOCIALAPIFALIURE="EVENT_SOCIALAPIFALIURE";SocialLoginAction.EVENT_MERGEFAILURE="EVENT_MERGEFAILURE";SocialLoginAction.EVENT_MERGESUCCESS="EVENT_MERGESUCCESS";this.GOOGLE_LOGIN="google";this.FACEBOOK_LOGIN="facebook";this.APPLE_LOGIN="apple";this.transport=null;this.snRegRel="registration";this.snRegUrl=null;this.snLoginUrl=null;this.snMergeRel= 104"merge";this.snMergeUrl=null;this.googleLoginUrl=null;this.username="";this.password="";this.serviceToken="";this.serviceUid="";this.gpluscode="";this.serviceName="";this.socialRegData=null;this.addEmailFlow=false;this.mergeFlow=false;this.client="web";this.aid=null;this.loginData=null;this.C="";this.L="";this.N="";this.A=""},__constructor:function(){var $jscomp$this=this;this.paramObj=$.deparam(location.search.substr(1));this.getFirstQSValueOnly=function(key,def){var item=$jscomp$this.paramObj[key]; 105if(Array.isArray(item))return item[0];else return item||def||"client_web_register"}},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;var request=null;var responseHandler=null;if(this.addEmailFlow){request=this.getRequestToAddEmail();responseHandler=this.onSocialEmailActionResponse}else if(this.mergeFlow){request=this.getRequestToMergeAccounts();responseHandler=this.onSocialMergeActionResponse}else{request=this.getRequestToLogin();responseHandler=this.onSocialLoginActionResponse}if(request==
106null){CONSOLE.log("warning","invalid request");return}if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;var userToken=APP.modules.userModule.user?APP.modules.userModule.user.getToken():null;var oauthToken=APP.modules.userModule.user?APP.modules.userModule.user.get("access_token"):null;if(oauthToken)request.headers.Authorization="Bearer "+oauthToken;if(userToken){request.headers["BBI-AUTHORIZATION"]=userToken;CONSOLE.log("info","BBI-AUTHORIZATION = "+userToken)}if(document.domain.match(/live(xlive|one)\.com/)){request.url= 107request.url.replace("www","slacker");if(request.url.indexOf("slacker-account-service")>-1)request.url=request.url.replace(SAPI_SITEROOT,SAPI_CNAMEROOT)}CONSOLE.log("debug","calling: "+request.url);this.transport.to=request.url.substring(0,request.url.indexOf(".com")+4);this.transport.get(request,Delegate.create(this,responseHandler))},setSNMergeUrl:function(snUrl){this.snMergeUrl=snUrl;APP.modules.urlModule.urls.auth.snmerge=snUrl},setSNLoginUrl:function(snUrl){this.snLoginUrl=snUrl;APP.modules.urlModule.urls.auth.snlogin= 108snUrl},setSNRegUrl:function(snUrl){this.snRegUrl=snUrl;APP.modules.urlModule.urls.auth.snregister=snUrl},getRequestToAddEmail:function(){var $jscomp$this=this;var urlModule=APP.modules.urlModule;if(!this.snRegUrl)if(urlModule.urls.auth.snregister)this.setSNRegUrl(urlModule.urls.auth.snregister);else{urlModule.getAuthUrl(this.snRegRel,function(url){$jscomp$this.setSNRegUrl(url);$jscomp$this.execute()});return null}var authBits=this.snRegUrl.split("/");if(!authBits||authBits.length<3)return null;this.transport.to= 109"https://"+authBits[2];var regUser={"tosAcceptDate":(new Date).getTime(),"tosVersion":"current","username":this.username};if(this.socialRegData){regUser.birthYear=this.socialRegData.birthyear;regUser.gender=this.socialRegData.gender;regUser.postalCode=this.socialRegData.postalCode}var myRegData={"user":regUser,"context":{"client":CONFIG.storeClient,"site":CONFIG.site,"partner":CONFIG.partner,"source":this.getFirstQSValueOnly("source")}};var request={url:this.snRegUrl,method:"POST",headers:{"Content-Type":"application/json"}, 110data:JSON.stringify(myRegData),processData:false};return request},getRequestToLogin:function(){var $jscomp$this=this;if(!this.snLoginUrl){APP.modules.urlModule.getAuthUrl(this.serviceName,function(url){$jscomp$this.setSNLoginUrl(url);$jscomp$this.execute()});return null}var authBits=this.snLoginUrl.split("/");if(!authBits||authBits.length<3)return null;this.transport.to="https://"+authBits[2];var commonData={"site":APP.modules.userModule.site,"client":APP.modules.userModule.client,"partner":APP.modules.userModule.partner, 111"source":this.getFirstQSValueOnly("source")};if(!this.loginData)this.loginData={};for(var k in commonData)this.loginData[k]=commonData[k];if(this.serviceName==this.GOOGLE_LOGIN){this.loginData.googleUserId=this.serviceUid;this.loginData.token=this.serviceToken}else if(this.serviceName==this.FACEBOOK_LOGIN){this.loginData.fbUserId=this.serviceUid;this.loginData.token=this.serviceToken}else if(this.serviceName==this.APPLE_LOGIN){this.loginData.appleUserId=this.serviceUid;this.loginData.idToken=this.serviceToken}var user= 112APP.modules.userModule.user;if(user&&user.get("id"))this.loginData.accountId=user.get("id");var request={url:this.snLoginUrl,method:"POST",headers:{"Content-Type":"application/json"},data:JSON.stringify(this.loginData),processData:false};return request},getRequestToMergeAccounts:function(){var $jscomp$this=this;if(!this.snMergeUrl){APP.modules.urlModule.getAuthUrl(this.snMergeRel,function(url){$jscomp$this.setSNMergeUrl(url);$jscomp$this.execute()});return null}var authBits=this.snMergeUrl.split("/"); 113if(!authBits||authBits.length<3)return null;this.transport.to="https://"+authBits[2];var myMergeData={"type":"username","username":this.username,"password":this.password,"site":APP.modules.userModule.site,"client":APP.modules.userModule.client,"partner":APP.modules.userModule.partner};var request={url:this.snMergeUrl,method:"POST",headers:{"Content-Type":"application/json"},data:JSON.stringify(myMergeData),processData:false};return request},processAddEmailUserData:function(data,status){if(data){var userInfo= 114JSON.parse(data);if(userInfo&&userInfo.user){APP.modules.userModule.user.set({username:userInfo.user.username});this.aid=userInfo.accountId}}},processSNLoginUserData:function(data,status){var loginView=APP.views.login;var urlModule=APP.modules.urlModule;var user=APP.modules.userModule.user;var socialNetworkUser;var socialName=this.socialRegData&&this.socialRegData.profileName?this.socialRegData.profileName:null;var socialAvatarUrl=this.socialRegData&&this.socialRegData.profileImgUrl?this.socialRegData.profileImgUrl: 115null;if(data){var userInfo=JSON.parse(data);if(userInfo){user.set({loggedin:true});if(userInfo.loginToken)user.set({loginToken:userInfo.loginToken});if(userInfo.accountId)this.aid=userInfo.accountId;if(this.serviceName==this.FACEBOOK_LOGIN){if(!socialAvatarUrl)socialAvatarUrl=urlModule.constructUrl(urlModule.urls.social.facebookAvatar,{"fbuid":this.serviceUid});user.set({fbuid:this.serviceUid});socialNetworkUser=userInfo.fbUser?userInfo.fbUser:null;SL_GC.fbuid=this.serviceUid}else if(this.serviceName== 116this.GOOGLE_LOGIN){user.set({gpuid:this.serviceUid});SL_GC.gpuid=this.serviceUid;socialNetworkUser=userInfo.googleUser?userInfo.googleUser:null}else if(this.serviceName==this.APPLE_LOGIN){user.set({appleuid:this.serviceUid});SL_GC.appleuid=this.serviceUid;socialNetworkUser=userInfo.appleUser?userInfo.appleUser:null}if(userInfo.user){loginView.socialLoginRegData=null;user.set({username:userInfo.user.username,birthYear:userInfo.user.birthYear,explicit:userInfo.user.explicitContent,country:userInfo.user.country, 117level:userInfo.user.subscriptionLevelId})}else{if(!APP.modules.userModule.user.get("settingsFlow")||APP.modules.userModule.user.get("addEmailRequested"))user.set({"incompleteReg":true});user.set({"socialEmail":socialNetworkUser&&socialNetworkUser.email?socialNetworkUser.email:""});
117if(status==200){loginView.isInSocialEmailRequest(true);loginView.isInSocialClaimState(true)}}com.slacker.util.behavior.Beacon.tagEvent({name:"socialSSOComplete",type:userInfo.user?"login":"needs-reg",value:this.serviceName, 118params:{flow:this.serviceName,label:userInfo.user?"login":"needs-reg"}});if(socialNetworkUser){user.set({id:userInfo.accountId,accountId:userInfo.accountId,name:socialNetworkUser.name||socialName,profileImgUrl:socialAvatarUrl,country:socialNetworkUser.country,username:socialNetworkUser.email});if(loginView.socialLoginRegData)loginView.socialLoginRegData.email=socialNetworkUser.email}setGlobalCookie(SL_GC)}}},onSocialLoginActionResponse:function(e){var user=APP.modules.userModule.user,error;switch(e.status){case 200:case 201:user.set({loginSource:this.serviceName, 119serviceToken:this.serviceToken,status:e.status});if(!e.data){this.dispatchEvent({type:SocialLoginAction.EVENT_FAILURE,status:e.status,target:this});return}if(this.serviceName==this.FACEBOOK_LOGIN)user.set({fbuid:this.serviceUid});else if(this.serviceName==this.GOOGLE_LOGIN)user.set({gpuid:this.serviceUid});else if(this.serviceName==this.APPLE_LOGIN)user.set({appleuid:this.serviceUid});this.processSNLoginUserData(e.data,e.status);this.isReturningUser=this.aid!=user.get("id");user.set({token:null,wstoken:null}); 120this.dispatchEvent({type:SocialLoginAction.EVENT_SUCCESS,status:e.status,target:this});break;case 405:this.dispatchEvent({type:SocialLoginAction.EVENT_SOCIALAPIFALIURE,status:e.status,target:this});error=e.status;break;default:CONSOLE.log("warn","SocialLogin failed: "+e.message);error=e.message;if(e.errors)for(var er in e.errors){CONSOLE.log("warn",er);error=er}this.dispatchEvent({type:SocialLoginAction.EVENT_FAILURE,property:UserEvent.LOGIN_FAILED,status:e.status,target:this});break}if(error)com.slacker.util.behavior.Beacon.tagEvent({name:"socialSSOFail", 121type:error,value:this.serviceName,params:{flow:this.serviceName,label:error}})},onSocialEmailActionResponse:function(e){var loginView=APP.views.login;var user=APP.modules.userModule.user;if(e.status)switch(e.status){case 200:case 201:user.set({status:e.status});if(user.get("incompleteReg"))user.set({"incompleteReg":false,"requireCompleteReg":false,"socialEmail":null});if(!e.data){this.dispatchEvent({type:SocialLoginAction.EVENT_FAILURE,status:e.status,target:this});return}this.processAddEmailUserData(e.data, 122e.status);this.dispatchEvent({type:SocialLoginAction.EVENT_EMAILSUCCESS,status:e.status,target:this});break;case 409:if(loginView.socialLoginRegData){loginView.onDuplicateEmail();return}this.dispatchEvent({type:SocialLoginAction.EVENT_REQUESTSOCIALCLAIM,status:e.status,target:this});break;default:CONSOLE.log("warn","AddEmail failed: "+e.message);if(e.errors)for(var er in e.errors)CONSOLE.log("warn",er);this.dispatchEvent({type:SocialLoginAction.EVENT_MERGEFAILURE,status:e.status,target:this});break}}, 123onSocialMergeActionResponse:function(e){var user=APP.modules.userModule.user;if(e.status)switch(e.status){case 200:if(e.data){var accountInfo=JSON.parse(e.data);if(accountInfo){this.aid=accountInfo.accountId;user.set({id:this.aid,accountId:this.aid,loginToken:accountInfo.loginToken});if(accountInfo.loginToken)user.set({token:null,wstoken:null,access_token:null});if(user.get("incompleteReg"))user.set({"incompleteReg":false,"requireCompleteReg":false});this.dispatchEvent({type:SocialLoginAction.EVENT_MERGESUCCESS, 124status:e.status,target:this});return}}this.dispatchEvent({type:SocialLoginAction.EVENT_MERGEFAILURE,status:e.status,target:this});break;default:CONSOLE.log("warn","SocialMerge failed: "+e.message);if(e.errors)for(var er in e.errors)CONSOLE.log("warn",er);this.dispatchEvent({type:SocialLoginAction.EVENT_MERGEFAILURE,status:e.status,target:this});break}}};registerPackage("com.slacker.app.actions.auth.SocialLoginAction");com.slacker.app.actions.auth.SocialLoginAction=SocialLoginAction;var t=new SocialLoginAction; 125t.temp=""})()}); 126bjork("com.slacker.app.actions.auth.WSTokenAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var XMLUtils=require("com.slacker.app.XMLUtils");function WSTokenAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}WSTokenAction.prototype={__beforeConstructor:function(){WSTokenAction.EVENT_SUCCESS="EVENT_SUCCESS";WSTokenAction.EVENT_FAILURE="EVENT_FAILURE"; 127WSTokenAction.SERVERTIME_SUCCESS="SERVERTIME_SUCCESS";WSTokenAction.SERVERTIME_FAILURE="SERVERTIME_FAILURE";this.tokenURL=null;this.tokenURLParams=null;this.client=CONFIG.client;this.transport=null;this.resultToken="";this.formerTrigger=null;this.tokenTimeout=null;this.oauthLoginToken=null;this.oauthUserId=null;this.onReauthAction=null;this.serverTimeUrl=null;this.isToken=false;this.isBridgeCall=false;this.OAUTH_K="06607506e06307406906f06e02006406506306f06406504607206f06d04806507802807307407202902007b07606107202007307407202002002002003d02002203003503703003703103003303303003406403003403703003706103003606503003503303003503603003603303003606403003406403003703503003403203003303403003603703003403403003706103003303703003406102203b07606107202007206507407507206e05606106c02003d02002202203b07606107202006c06506e02003d02007307407202e06c06506e06707406803b07606107202006306e07406507202
127003d02007307407202e06c06506e06707406802002d02003303b07706806906c06502806c06506e02003e02003002907b06306e07407202003d02002806c06506e02002d02003302902003e03d02003002003f02006c06506e02002d02003302003a02003003b07206507407507206e05606106c02003d02005307407206906e06702e06607206f06d04306806107204306f06406502802203007802202002b02007307407202e07307506207307407206906e06702806306e07407202002c02006c06506e02902902002b02007206507407507206e05606106c03b06c06506e02003d02006306e07407203b07d07206507407507206e02007206507407507206e05606106c03b07d"; 128this.isLtCall=false;this.grants={credential:"grant_type=client_credentials",anonymous:"grant_type=login_token&loginToken={loginToken}&accountId={accountId}",refresh:"grant_type=refresh_token&refresh_token={refreshtoken}"}},__constructor:function(){},execute:function(){var data=null,headers={},request,callback,url;if(this.transport==null)this.transport=new AJAXTransport;if(!this.signingKey)eval(decodeFromHex(this.OAUTH_K).replace("function decodeFromHex(str) ","this.signingKey=function decodeFromHex(str)")); 129if(!this.isToken){url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.oauth);data=this.grants.anonymous.replace("{loginToken}",this.oauthLoginToken).replace("{accountId}",this.oauthUserId);headers.Authorization="Basic "+com.slacker.util.encoding.B64.encode64("slackersite:"+this.signingKey()).replace(/\|/g,"=");headers["Content-Type"]="application/x-www-form-urlencoded";if(APP.appUserAgent)headers["x-scid"]=APP.appUserAgent;this.transport.to=url.substring(0,url.indexOf("/auth")); 130request={"url":url,"method":"POST","headers":headers,"data":data};callback=Delegate.create(this,this.onLoginTokenUse)}else if(this.isBridgeCall){url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.tokenBridge);this.transport.to="https:"+OFFICIAL_SITEROOT;if(document.domain.match(/live(xlive|one)\.com/)){this.transport.to=this.transport.to.replace("www","slacker");url=url.replace("www","slacker")}headers.Authorization="Bearer "+this.oauthLoginToken;headers["Content-Type"]="application/x-www-form-urlencoded"; 131if(APP.appUserAgent)headers["x-scid"]=APP.appUserAgent;request={"url":url,"method":"POST","headers":headers,"data":data};callback=Delegate.create(this,this.onWSTokenActionResponse)}else{var myUrl=null;this.transport.to="https:"+OFFICIAL_SITEROOT;if(!APP.modules.userModule.serverTime){if(!this.serverTimeUrl)this.serverTimeUrl=APP.modules.urlModule.getServertimeUrl();url=this.serverTimeUrl;callback=Delegate.create(this,this.onWSServerTimeActionResponse)}else{if(!this.tokenURL)this.tokenURL=APP.modules.urlModule.getTokenUrl(); 132url=this.tokenURL;callback=Delegate.create(this,this.onWSTokenActionResponse)}if(this.tokenTimeout)tokenTimeout=null;if(document.domain.match(/live(xlive|one)\.com/)){url=url.replace("www","slacker");if(url.indexOf("slacker-account-service")>-1)url=url.replace(SAPI_SITEROOT,SAPI_CNAMEROOT)}this.transport.to=url.substring(0,url.indexOf(".com")+4);if(APP.appUserAgent)headers["x-scid"]=APP.appUserAgent;request={url:url,method:"GET",headers:headers,data:{}}}this.transport.get(request,callback)},getLoginToken:function(){var USER= 133APP.modules.userModule;var transport=new AJAXTransport;var url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.loginToken);var accountId=USER.user.get("accountId");var token=USER.user.get("token");this.isLtCall=true;var data={accountId:accountId,site:"SLACKER"};var request={url:url,method:"POST",headers:{"BBI-AUTHORIZATION":USER.user.get("token"),"Content-Type":"application/json"},data:JSON.stringify(data),processData:false};transport.to=url.substring(0,url.indexOf(".com")+4);transport.get(request, 134Delegate.create(this,this.onWSTokenActionResponse))},onLoginTokenUse:function(e){var USER=APP.modules.userModule;switch(e.status){case 200:var data=JSON.parse(e.data);if(data.access_token){USER.user.set({"oauthLoginToken":null});USER.user.set({"access_token":data.access_token});this.isToken=true;this.isBridgeCall=true;this.oauthLoginToken=data.access_token;this.execute()}break;default:this.onWSTokenActionResponse(e);break}},onWSServerTimeActionResponse:function(e){switch(e.status){case 200:var data= 135XMLUtils.xmlStringToJson(e.data);if(data&&data.Response){var serverTimeresponse=data.Response;this.isToken=true;APP.modules.userModule.setServerTime(serverTimeresponse);this.execute();this.dispatchEvent({type:WSTokenAction.SERVERTIME_SUCCESS,status:e.status})}break;default:this.dispatchEvent({type:WSTokenAction.SERVERTIME_FAILURE,status:e.status});break}},onWSTokenActionResponse:function(e){var USER=APP.modules.userModule;switch(e.status){case 200:if(this.isBridgeCall){this.isBridgeCall=false;this.execute(); 136return}if(this.isLtCall){this.isLtCall=false;USER.user.set({"loginToken":JSON.parse(e.data).loginToken});this.dispatchEvent({type:WSTokenAction.EVENT_SUCCESS,status:e.status});return}var data=XMLUtils.xmlStringToJson(e.data),r,user=USER.user;if(data){r=data.Response;if(r&&r.WSToken)this.resultToken=r.WSToken}this.isReturningUser=this.aid!=user.get("id");user.set({username:r._username,id:r._aid,level:r._tier,country:r._country||"US",explicit:r._explicit==1,promoid:r._promoId||null,token:r.WSToken}); 137if(!r._username&&user.get("requireCompleteReg"))user.set({"incompleteReg":true});else if(r._username&&APP.isDeviceUpgradeFlow())user.set({"incompleteReg":false});this.dispatchEvent({type:WSTokenAction.EVENT_SUCCESS,token:this.resultToken,status:e.status});break;case 409:bOk=true;CONSOLE.log("warn","Key revoked. Client must update.");this.onReauthAction=null;this.dispatchEvent({type:WSTokenAction.EVENT_FAILURE,status:e.status});break;case 412:bOk=false;CONSOLE.log("info","WSToken server time mismatch: "+ 138[USER.serverTime,USER.serverTimeSkew]);USER.serverTime=null;USER.getServerTime();break;default:this.dispatchEvent({type:WSTokenAction.EVENT_FAILURE,status:e.status});break}}};registerPackage("com.slacker.app.actions.auth.WSTokenAction");com.slacker.app.actions.auth.WSTokenAction=WSTokenAction})()}); 139bjork("com.slacker.app.actions.user.CreateAccountAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var AJAXTransport=require("com.slacker.io.AJAXTransport");function CreateAccountAction(){extendClass(this,new AbstractAction(APP.modules.userModule.user.createAccount));this.__properties();this.__constants();this.__constructor.apply(this,arguments)}CreateAccountAction.prototype={__constants:function(){},__beforeConstructor:function(){CreateAccountAction.EVENT_SUCCESS= 140"EVENT_SUCCESS";CreateAccountAction.EVENT_FAILURE="EVENT_FAILURE"},__properties:function(){var paramObj=$.deparam(location.search.substr(1));this.method=AbstractAction.METHOD_POST;this.getFirstQSValueOnly=function(key){var item=paramObj[key];if(Array.isArray(item))return item[0];else return item||"client_web_register"};this.data={"context":{"bCookie":"bCookie","client":CONFIG.storeClient,"coBrand":CONFIG.cobrand,"site":CONFIG.site,"partner":CONFIG.partner,"initiatedBy":"user","source":this.getFirstQSValueOnly("source")}, 141"password":"","user":{"birthYear":0,"gender":"","receiveNewsLetter":false,"tosAcceptDate":null,"tosVersion":"1.0","email":"","username":""}};this.aid=null;this.token=null},__constructor:function(){},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;var oauthToken=APP.modules.userModule.user?APP.modules.userModule.user.get("access_token"):null;var userToken=APP.modules.userModule.user&&APP.modules.userModule.user.getToken();var myUrl=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.createAccount); 142var request={url:myUrl,method:"POST",headers:{"Content-Type":"application/json"},data:JSON.stringify(this.data)};if(oauthToken)request.headers.Authorization="Bearer "+oauthToken;if(userToken)request.headers["BBI-AUTHORIZATION"]=userToken;if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.transport.to=request.url.substring(0,request.url.indexOf(".com")+4);this.transport.get(request,Delegate.create(this,this.onActionResponse))},onActionResponse:function(e){var response={};if(e.data)try{response= 143JSON.parse(e.data);response.code=parseInt(response.code||e.status,10)}catch(e$17){response={code:400,errors:[{fieldName:"generic",errors:["GENERIC"]}]}}else response.code=e.status;if(!response.accountId||response.code!=200&&response.code!=201){this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.FAILURE,status:response.code,target:this,response:response});return}CONSOLE.log("debug","CreateAccount success - new ID: "+response.accountId);this.aid=response.accountId;APP.modules.userModule.user.set({id:this.aid, 144username:APP.views.createAccount.emailAddress()});APP.views.createAccount.clearAll();this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:CreateAccountAction.EVENT_SUCCESS,status:response.code,target:this,response:response});return}};registerPackage("com.slacker.app.actions.user.CreateAccountAction");CreateAccountAction.prototype.__constants();com.slacker.app.actions.user.CreateAccountAction=CreateAccountAction})()}); 145bjork("com.slacker.app.actions.user.ForgotPasswordAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var AJAXTransport=require("com.slacker.io.AJAXTransport");function ForgotPasswordAction(){var templateToUse=APP.modules.userModule.user.forgotPassword;extendClass(this,new AbstractAction(templateToUse));this.__constants();this.__properties();this.__constructor.apply(this,arguments)}ForgotPasswordAction.prototype={__constants:function(){},__properties:function(){this.method= 146AbstractAction.METHOD_GET;this.data={skin:CONFIG.storeSkin,json:true,username:""}},__constructor:function(){},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;this.transport.to=STOREROOT;var myUrl=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.forgotPassword,this.data);var request={url:myUrl,method:"GET",headers:{}};if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.transport.get(request,Delegate.create(this,this.onActionResponse))}, 147onActionResponse:function(e){var response={};if(e.data){response=JSON.parse(e.data);response.code=parseInt(response.code,10)}else response.code=e.status;if(response.code!=200)this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.FAILURE,status:e.status,target:this,response:response});else this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.SUCCESS,status:e.code,target:this,response:response})}};registerPackage("com.slacker.app.actions.user.ForgotPasswordAction"); 148ForgotPasswordAction.prototype.__constants();com.slacker.app.actions.user.ForgotPasswordAction=ForgotPasswordAction})()}); 149bjork("com.slacker.app.actions.user.PurchaseQueueAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var UrlModule=require("com.slacker.app.modules.UrlModule");var AJAXTransport=require("com.slacker.io.AJAXTransport");function PurchaseQueueAction(obj,scope,source){extendClass(this,new AbstractAction);this.__beforeConstructor();this.__constructor(obj,scope)}PurchaseQueueAction.prototype={__beforeConstructor:function(){this.ACTION={ENTER:1,CHECK:2,LEAVE:3}; 150new UrlModule;this.action=1},__constructor:function(obj,scope,source){this.scopes=scope?[scope]:null;this.obj=obj;this.source=source;this.active=false;this.noneShallPass=true;this.reentryToken=null;this.userUrl=null;this.placeCheck=null;this.waitTime=ko.observable(0);APP.purchaseQueue=this},execute:function(){var self=this,params;if(this.isFetching){CONSOLE.log("warn","PurchaseQueueAction::execute - Request already in process. Ignore redundant request.");return}this.isFetching=true;this.clearQueueCheckTimer(); 151var _method=this.action==1?"POST":this.action==2?"GET":"DELETE",_api="https://api."+UrlModule.DEV_STG+"liveone.com/ticket/entry";_data=null;if(this.action==1&&this.reentryToken)_data={reentryToken:this.reentryToken};params={source:this.userUrl||_api,callback:this.onActionResponse.bind(this),method:_method,type:"json",data:_data?JSON.stringify(_data):null,headers:{"content-type":"application/json"}};params.noretry=this.action==1;this._doRequest(params)},reset:function(obj,scope,source){this.scopes= 152scope?[scope]:null;this.obj=obj;this.source=source;this.active=false;this.noneShallPass=true;this.userUrl=null;this.action=1},queryPlace:function(){var $jscomp$this=this;if(this.userUrl){this.waitTime("CHECKING...");this.placeCheck=setTimeout(function(){$jscomp$this.action=2;$jscomp$this.execute()},2E3)}else if(this.active)this.onQueueStatus({locked:false})},leaveQueue:function(){this.clearQueueCheckTimer();if(this.userUrl){this.action=3;this.execute();BEACON.tagEvent({name:"purchaseQueue",params:{value:"leave", 153label:this.obj.storeUrl}})}this.noneShallPass=true},clearQueueCheckTimer:function(){if(this.placeCheck){clearTimeout(this.placeCheck);this.placeCheck=0}},setWaitingRoomStateOnDetailPage:function(addtlScopes){var $jscomp$this=this;if(addtlScopes){if(!this.scopes)this.scopes=[];this.scopes=this.scopes.concat(addtlScopes)}
153this.scopes.forEach(function(_scope){if(_scope.isTicketWaitingRoomActive)_scope.isTicketWaitingRoomActive($jscomp$this.active)})},onWaitTimeCount:function(){var $jscomp$this=this;var _t= 154this.waitTime();if(_t>1){this.placeCheck=setTimeout(function(){return $jscomp$this.onWaitTimeCount()},1E3);this.waitTime(--_t);if(_t%30==0)this.queryPlace()}else this.queryPlace()},onQueueStatus:function(payload,isEviction){if(!payload.locked){this.noneShallPass=false;if(this.active){this.clearQueueCheckTimer();this.active=false;this.leaveQueue()}this.setWaitingRoomStateOnDetailPage()}},onActionResponse:function(response,status,jqXHR){var _isCounting=this.waitTime()>0;this.status=jqXHR.status;this.isFetching= 155false;if(response){this.halifyLinks(response.links);if(response.reentryToken)this.reentryToken=response.reentryToken;if(response.projectedWaitTime){this.clearQueueCheckTimer();if(response.links&&response.links.self)this.userUrl=response.links.self.href;this.waitTime(response.projectedWaitTime);if(!_isCounting)this.onWaitTimeCount()}}switch(jqXHR.status){case 200:switch(this.action){case 1:this.onQueueStatus({locked:false});break;case 2:if(!response||!response.projectedWaitTime)this.onQueueStatus({locked:false}); 156break;case 3:if(this.active)this.onQueueStatus({locked:false});break}break;case 202:if(!this.active){BEACON.tagEvent({name:"purchaseQueue",params:{value:"enter",label:this.obj.storeUrl}});this.active=true;if(this.scopes.length){window.scrollTo(0,0);this.setWaitingRoomStateOnDetailPage()}}break;default:CONSOLE.log("warn","PurchaseQueueAction::onActionResponse - Unknown queue error "+jqXHR.status+". Unlock user as safety.");if(this.action!=3)this.onQueueStatus({locked:false});break}}};registerPackage("com.slacker.app.actions.user.PurchaseQueueAction"); 157com.slacker.app.actions.user.PurchaseQueueAction=PurchaseQueueAction})()}); 158bjork("com.slacker.app.components.ReactWrapper",function(){(function(){function ReactWrapper(){this.__constructor.apply(this)}ReactWrapper.prototype={__constructor:function(){if(ko.components.isRegistered("react-wrapper"))return;ko.components.register("react-wrapper",{viewModel:function(params){var $jscomp$this=this;var componentHash=Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,8);this.params=ko.observable(params);this.id="react-wrapper-"+componentHash;var renderComponent=function(){var propsValue= 159typeof params.props==="function"?params.props():params.props;window.REACT_LIB.utils.render(window.REACT_LIB.components[params.name](propsValue),document.getElementById($jscomp$this.id))};this.koDescendantsComplete=renderComponent},template:'<div data-bind="attr: { id: id }"></div>'})}};registerPackage("com.slacker.app.components.ReactWrapper");com.slacker.app.components.ReactWrapper=new ReactWrapper})()}); 160bjork("com.slacker.app.events.UserEvent",function(){(function(){function UserEvent(){this.__constants();this.__properties();this.__constructor.apply(this,arguments)}UserEvent.prototype={__constants:function(){UserEvent.EVENT_ONUSEREVENT="onUserEvent";UserEvent.LOGIN_PROCESSED="LoginProcessed";UserEvent.SOCIAL_LOGIN_FAILED="SocialLoginFailed";UserEvent.LOGIN_FAILED="LoginFailed";UserEvent.MERGE_SUCCESS="AccountMergeSuccess";UserEvent.MERGE_FAILED="AccountMergeFailed";UserEvent.TOKEN_READY="TokenReady"; 161UserEvent.TOKEN_FAILED="TokenFailed";UserEvent.CREATE_ACCOUNT_SUCCESS="CreateAccountSuccess";UserEvent.CREATE_ACCOUNT_FAILURE="CreateAccountFailure";UserEvent.FORGOT_PASSWORD_SUCCESS="ForgotPasswordSuccess";UserEvent.FORGOT_PASSWORD_FAILURE="ForgotPasswordFailure"},__properties:function(){this.type="";this.property="";this.payload=""},__constructor:function($property,$payload){this.type=UserEvent.EVENT_ONUSEREVENT;this.property=$property;this.payload=$payload}};registerPackage("com.slacker.app.events.UserEvent"); 162UserEvent.prototype.__constants();com.slacker.app.events.UserEvent=UserEvent})()}); 163bjork("com.slacker.app.views.CreateAccountView",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");var AsyncUtils=require("com.slacker.util.AsyncUtils");var Apple=require("com.slacker.util.social.Apple");var Google=require("com.slacker.util.social.Google");function CreateAccountView(){extendClass(this,new EventNotifier(this));this.__constants();this.__properties();this.__constructor.apply(this,arguments);this.__bindKoComputeds()}CreateAccountView.prototype={__constants:function(){}, 164__properties:function(){var $jscomp$this=this;this.id=ko.observable("createAccount");this.pathName=ko.observable(this.id());this.visible=ko.observable(true);this.copaViolation=ko.observable(false);this.emailAddress=ko.observable("");this.password=ko.observable("");this.passwordConfirm=ko.observable("");this.birthYear=ko.observable("");this.gender=ko.observable("");this.explicit=ko.observable(false);this.agreesToTerms=ko.observable(false);this.receiveNewsLetter=ko.observable(false);this.accountCreateBlocked= 165ko.observable(false);this.isRequiredToLogin=ko.observable(!window.opener&&window.parent===window);this.hideSocialButtons=ko.observable(false);this.isCreatePending=ko.observable(true);this.createAccountReason=ko.observable("");this.socialAuthPopupNotice=ko.observable("");this.legalText=ko.observable(null);this.legalText.subscribe(function(){setTimeout(function(){$jscomp$this.addLegalScrollHandlers()},0)});this.errors=ko.observable({});this.errorMessage=ko.observable("");this.lockScroll=ko.observable("true"); 166this.loginProvider=ko.observable();this.doNotShowChooserOnBack=ko.observable();this.dirtyState=ko.observable({});this.showPassword=ko.observable(false);this.Google=Google;this.inputKeyToObservable={username:"emailAddress"};this.isMobileDevice=ko.observable(com.slacker.util.browser.Browser.isMobileDevice()
166);this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]};this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey},__constructor:function(){this.focus(); 167this.isCreatePending.subscribe(function(newValue){console.log("isCreatePending",newValue);newValue===false&&APP.notifyParentWindowReady()})},__bindKoComputeds:function(){var self=this;this.emailOk=ko.computed(function(){var regex=/^(.+)@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,32}$/;basicCheck=self.emailAddress()&&self.emailAddress().trim()&®ex.test(self.emailAddress())&&self.emailAddress().indexOf(" ")==-1;return self.emailAddress()&&basicCheck&&self.emailAddress().indexOf("@@")==-1});this.passwordOk= 168ko.computed(function(){return self.password()&&self.password().trim().length>5&&self.password().trim().length<33});this.birthYearOk=ko.computed(function(){return self.birthYear()&&self.birthYear().trim().length>3});this.canSubmitForm=ko.computed(function(){return self.emailOk()&&self.passwordOk()&&self.birthYearOk()&&!self.copaViolation()})},init:function(){var user=APP.modules.userModule.user;ko.applyBindings(this,$("#CreateAccountView")[0]);BEACON.tagView({name:"create-account"});if(this.hideSocialButtons()){this.loginProvider("email"); 169this.doNotShowChooserOnBack(true)}this.loginProvider.valueHasMutated();document.title="LiveOne Account Create";if(user.get("username")&&user.get("receiveNewsLetter")=="true"){this.loginProvider("email");this.emailAddress(user.get("username"));this.receiveNewsLetter(true)}return this},resume:function(){var self=this;var qstring=location.search.substr(1).split("&").map(function(kvString){var kv=kvString.split("=");var $jscomp$compprop0={};return $jscomp$compprop0[kv[0]]=kv[1],$jscomp$compprop0}).reduce(function(acc, 170item){return Object.assign({},acc,item)},{});APP.modules.userModule.user.set({screen:"createAccount"});if(APP.modules.userModule.user.get("isRequiredToLogin"))this.isRequiredToLogin(true);else if(qstring.token)this.isRequiredToLogin(false);if(APP.isDeviceRedeemFlow()||APP.isDeviceUpgradeFlow()){APP.modules.userModule.token(null,null,"loginToken");com.slacker.util.social.Apple.checkApiLoaded("AppleID");APP.isDeviceRedeemFlow()&&setTimeout(function(){self.isCreatePending(false)},1E3);return}com.slacker.util.social.Apple.checkApiLoaded("AppleID"); 171var $jscomp$optchain$tmp1377861237$2;if(APP.isTeslaUpgradeFlow&&(!APP.modules.teslaLinkModule.linkStatus||(($jscomp$optchain$tmp1377861237$2=APP.modules.teslaLinkModule.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$2.length)))return;setTimeout(function(){self.isCreatePending(false)},1E3)},clearAll:function(){this.emailAddress("");this.password("");this.passwordConfirm("");this.birthYear("");this.gender("");this.explicit(false);this.agreesToTerms(false);this.receiveNewsLetter(false);this.hideSocialButtons(false); 172this.isRequiredToLogin(APP.modules.userModule.user.get("isRequiredToLogin")||!window.opener&&window.parent===window);this.legalText(null);this.errors({});this.errorMessage("");this.isMobileDevice(com.slacker.util.browser.Browser.isMobileDevice())},focus:function(){if($(".create-account #username")[0]){$(".create-account #username")[0].removeAttribute("disabled");$(".create-account #password")[0].removeAttribute("disabled");$(".create-account #username").focus()}},reset:function(){this.clearAll()}, 173hide:function(){this.visible(false)},show:function(){this.reset();this.visible(true);this.focus()},hasError:function($id){return this.errors&&this.errors[$id]!=null},setPasswordValidationVisible:function(){this.passwordValidationVisible(true)},onGoogleLoginReturn:function(gpuid,token,name,imgUrl){return APP.views.login.onGoogleLoginReturn(gpuid,token,name,imgUrl)},onEmailLoginAction:function(){if(APP.contestEntryData()&&APP.contestEntryData().ended)APP.isContestEntryFlow(false);this.loginProvider("email")}, 174onGoogleLoginAction:function(){this.handleTeslaSSOFlow();APP.views.login.onGoogleLoginAction()},onFBLoginAction:function(){this.handleTeslaSSOFlow();APP.views.login.onFBLoginAction()},onAppleLoginAction:function(){this.handleTeslaSSOFlow();APP.views.login.onAppleLoginAction()},onAppleLoginReturn:function(appleId,idToken,name,msgObj){APP.views.login.onAppleLoginReturn(appleId,idToken,name,msgObj)}
174,toggleCheckBox:function(which){switch(which){case "terms":this.agreesToTerms(this.agreesToTerms()!=true); 175break}},handleTeslaSSOFlow:function(){if(APP.isTeslaUpgradeFlow)APP.modules.teslaLinkModule.flow="SSO"},showLegal:function(which){var self=this;var url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.legal,{"http-root":"https:"+OFFICIAL_SITEROOT,"which":which});$.get(url,function(data){self.legalText(data);$(".login-container")[0].scrollTo(0,0)})},handleInternalClick:function(vm,evt){var target=evt.target,href;if(target.nodeName=="A"){href=target.getAttribute("href");if(target.getAttribute("target")|| 176href.indexOf("http")==0||href.indexOf("mailto")==0)window.open(href);else switch(href.substring(1)){case "":window.open("https:"+OFFICIAL_SITEROOT);case "opt-out-of-sales":window.open("https:"+OFFICIAL_SITEROOT+"/opt-out-of-sales");break;case "terms":case "privacy":$(".login-container")[0].scrollTo(0,0);this.showLegal(href.substring(1));break}}},viewLogin:function(){APP.redirectToView(APP.views.login)},onShowPasswordToggle:function(){var view=APP.views.createAccount;view.showPassword(!view.showPassword())}, 177onCancelButtonClick:function(){if(this.accountCreateBlocked()){this.clearAll();this.accountCreateBlocked(false)}APP.views.login.onCancelButtonClick(true)},onCloseButtonClick:function(){if(APP.isCostcoMemberLinkFlow()){APP.showCostcoExitDialog(true);return}com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountClose",type:"close",value:"close",params:{flow:"createAccount",label:"close"}});APP.modules.userModule.onUserLoginCancel()},onLogoClick:function(data,event){com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountClose", 178type:"close",value:"logo",params:{flow:"createAccount",label:"logo"}});var target=event.target;if(target&&!target.href)target=target.parentElement;APP.modules.userModule.onUserLoginCancel(target)},onCreateAccountSubmit:function(data,e){var $jscomp$this=this;["username","password","birthYear"].forEach(function(key){return $jscomp$this.updateDirtyState(key)});if(this.canSubmitForm()){this.validation.validate();com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountSubmit",type:"signup",value:"signup", 179params:{flow:"createAccount",label:"signup"}})}},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i];errorsObject[error.id]=error}this.errors(errorsObject)}else{this.errors({});this.errorMessage("");this.isCreatePending(true);if(!APP.isTeslaUpgradeFlow)APP.modules.userModule.createAccount({username:this.emailAddress(),password:this.password(),birthYear:this.birthYear(),gender:this.gender(),explicit:this.explicit(), 180receiveNewsLetter:this.receiveNewsLetter()});else{APP.modules.teslaLinkModule.flow="email";APP.modules.teslaLinkModule.altLogin({username:this.emailAddress(),password:this.password(),birthYear:this.birthYear(),gender:this.gender(),explicit:this.explicit(),receiveNewsLetter:this.receiveNewsLetter()}).then(function(){APP.modules.userModule.onUserLoginReturn()})}}},processSuccess:function(event){var createAction=event.target,qstring=$.deparam(location.search.substr(1));this.aid=createAction.aid;APP.modules.userModule.user.set({id:createAction.aid}); 181if(APP.contestEntryData()&&!APP.contestEntryData().invalid&&!APP.contestEntryData().ended)APP.modules.userModule.user.set({contest:APP.isContestEntryFlow()});if(!APP.afterLoginPath)APP.afterLoginPath="createAccount";AsyncUtils.getPromiseWithExpiry(function(){return com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountComplete",type:"createAccount",value:"email",params:{flow:"createAccount",label:"email",source:qstring.source}})},2E3,function($jscomp$destructuring$var0){var $jscomp$destructuring$var1= 182$jscomp$destructuring$var0;var resolve=$jscomp$destructuring$var1.resolve;return resolve()}).then(function(){APP.modules.userModule.onUserLoginReturn()})},processError:function(response){var $jscomp$this=this;var errorsObject={},errors=[],field;if(response.errors.length>0)errors=errors.concat(response.errors);if(response.user&&response.user.errors.length>0)errors=errors.concat(response.user.errors);len=errors.length;
182errors.forEach(function(error){field=error.fieldName;if(field.indexOf("postalCode")> 183-1)field="postalCode";if(field=="birthYear"&&error.errors.length>1)error.errors[0]="BIRTHYEAR_INVALID";if(field=="email")error.fieldName="username";errorsObject[error.fieldName]={id:response.code,name:error.fieldName,message:$jscomp$this.getHumanReadableError(error.errors[0]),server:true}});if(errorsObject.cookies)errorsObject.generic={id:"generic",name:"generic",message:APP.contestEntryData()&&!APP.contestEntryData().invalid&&!APP.contestEntryData().ended?"Entering the contest requires a new email address. Log out to create a new account.": 184"You are already logged in to a Slacker account. Log out to create a new account.",server:true};if(errors.length>0)if(errorsObject.generic)this.errorMessage(errorsObject.generic.message);else this.errorMessage("Please correct the errors below");else if(response.code==400){this.accountCreateBlocked(true);this.resetDirtyState()}this.isCreatePending(false);this.errors(errorsObject);com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountError",type:"createAccount",value:errors[0]?errors[0].fieldName: 185"error",params:{flow:"createAccount",label:errors[0]?errors[0].fieldName:"error"}})},getHumanReadableError:function(key){return APP.modules.messagingModule.nagMessages["create-account"][key]},resetDirtyState:function(){this.dirtyState({})},updateDirtyState:function(key){return function(){var $jscomp$compprop1={};this.dirtyState(Object.assign({},this.dirtyState(),($jscomp$compprop1[key]=true,$jscomp$compprop1)))}},isDirty:function(key){return!!this.dirtyState()[key]},handleFieldChange:function(key){return function(vm, 186event){var $jscomp$compprop2={};this.errors(Object.assign({},this.errors(),($jscomp$compprop2[key]=null,$jscomp$compprop2)));this.errorMessage("")}},setGender:function(v,g){v.gender(g)},getRadioKeyEventHandler:function(callback){return function(data,event){var SPACE=32;var LEFT=37;var UP=38;var RIGHT=39;var DOWN=40;var value=null;var target=null;switch(event.which){case SPACE:target=event.target;break;case LEFT:case UP:target=event.target.previousElementSibling||event.target.parentElement.children[event.target.parentElement.children.length- 1871];break;case RIGHT:case DOWN:target=event.target.nextElementSibling||event.target.parentElement.children[0];break}var $jscomp$optchain$tmp1377861237$3;var $jscomp$optchain$tmp1377861237$4;if(($jscomp$optchain$tmp1377861237$3=target)==null?void 0:($jscomp$optchain$tmp1377861237$4=$jscomp$optchain$tmp1377861237$3.dataset)==null?void 0:$jscomp$optchain$tmp1377861237$4.value){target.focus();callback(data,target.dataset.value)}}},getGenderSetter:function(g){return function(v,e){v.gender(g)}},addLegalScrollHandlers:function(options){options= 188options===undefined?{}:options;var $jscomp$destructuring$var2=options;var behavior=$jscomp$destructuring$var2.behavior===undefined?"smooth":$jscomp$destructuring$var2.behavior;var offset=$jscomp$destructuring$var2.offset===undefined?0:$jscomp$destructuring$var2.offset;function handleClick(event){var link=event.currentTarget;var $jscomp$optchain$tmp1377861237$5;var targetId=($jscomp$optchain$tmp1377861237$5=link.getAttribute("href"))==null?void 0:$jscomp$optchain$tmp1377861237$5.slice(1);if(!targetId)return; 189var targetEl=document.getElementById(targetId);if(!targetEl)return;event.preventDefault();var container=document.querySelector(".legal-text");var rect=targetEl.getBoundingClientRect();var scrollTop=container.scrollTop;container.scrollTo({top:rect.top+scrollTop-offset,behavior:behavior})}var anchorLinks=document.querySelectorAll('.legal-text a[href^="#"]');anchorLinks.forEach(function(link){link.removeEventListener("click",handleClick);link.addEventListener("click",handleClick)})}};registerPackage("com.slacker.app.views.CreateAccountView"); 190CreateAccountView.prototype.__constants();com.slacker.app.views.CreateAccountView=CreateAccountView})()}); 191bjork("com.slacker.app.views.ForgotPasswordView",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");var XmlUtils=require("com.slacker.io.XmlUtils");function ForgotPasswordView(){extendClass(this,new EventNotifier(this));this.__constants();this.__properties();this.__constructor.apply(this,arguments);this.__bindKoComputeds()}ForgotPasswordView.prototype={__constants:function(){},__properties:function(){this.id=ko.observable("forgotPassword");this.pathName=ko.observable(this.id()); 192this.isRequiredToLogin=ko.observable(false);this.visible=ko.observable(false);this.emailAddress=ko.observable("");this.errorMessage=ko.observable("");this.successMessage=ko.observable("");this.lockScroll=ko.observable("true");this.errors=ko.observable({});this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey;this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]}},__constructor:function(){},__bindKoComputeds:function(){var self=this;this.emailOk=ko.computed(function(){var regex= 193/^(.+)@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,32}$/;return self.emailAddress().trim()&®ex.test(self.emailAddress())});this.canSubmitForm=ko.computed(function(){return self.emailOk()})},focus:function(){var user=APP.modules.userModule.user;this.visible(true);if(user&&user.get("level")>0&&user.get("username")){this.emailAddress(XmlUtils.decode(user.get("username")));$("#password-reset-form #username").addClass("disabled").focus(function(){$("#password-reset-form button[type='submit']").focus()})}else $("#password-reset-form #username").focus()}, 194reset:function(){this.errors({});this.errorMessage("");this.successMessage("")},hide:function(){this.visible(false);this.reset()},show:function(){this.reset();this.visible(true);this.focus()},init:function(){ko.applyBindings(this,$("#ForgotPasswordView")[0]);if(APP.modules.userModule)this.focus();BEACON.tagView({name:this.id()});document.title="LiveOne Forgot Password";return this},resume:function(){this.socialLoginState=APP.readFromLocalStorage(this.localStorageKey);if(!this.socialLoginState)return; 195if(this.socialLoginState.emailAddress)this.emailAddress(this.socialLoginState.emailAddress)},processResponse:function($wasSuccess,$message){if($wasSuccess){this.errorMessage("");this.successMessage($message)}else{this.errors({username:true});this.errorMessage($message);this.successMessage("")}},onCloseButtonClick:function(){APP.redirectToView(APP.views.login)},onLogoClick:function(data,event){com.slacker.util.behavior.Beacon.tagEvent({name:"forgotPasswordClose",type:"close",value:"logo",params:{flow:"forgotPassword", 196label:"logo"}});var target=event.target;if(target&&!target.href)target=target.parentElement;APP.modules.userModule.onUserLoginCancel(target)}
196,onSubmit:function(data,e){if(this.canSubmitForm())this.validation.validate()},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i];errorsObject[error.id]=error}this.errors(errorsObject)}else{this.errors({});APP.modules.userModule.forgotPassword(this.emailAddress());com.slacker.util.behavior.Beacon.tagEvent({name:"forgotPasswordSubmit", 197type:"submit",value:"submit",params:{flow:"forgotPassword",label:"submit"}})}}};registerPackage("com.slacker.app.views.ForgotPasswordView");ForgotPasswordView.prototype.__constants();com.slacker.app.views.ForgotPasswordView=ForgotPasswordView})()}); 198bjork("com.slacker.app.views.LoginView",function(){(function(){var CONSOLE=require("com.slacker.util.Console");var EventNotifier=require("com.slacker.event.EventNotifier");var Apple=require("com.slacker.util.social.Apple");var Google=require("com.slacker.util.social.Google");var UserEvent=require("com.slacker.app.events.UserEvent");var XmlUtils=require("com.slacker.io.XmlUtils");require("com.slacker.util.social.Facebook");function LoginView(){extendClass(this,new EventNotifier(this));this.__constants(); 199this.__properties();this.__constructor.apply(this,arguments)}LoginView.prototype={__constants:function(){LoginView.LOGIN_SCREEN="login";LoginView.COLLECT_EMAIL_SCREEN="socialCollectEmail";LoginView.DUPLICATE_EMAIL_SCREEN="socialDuplicateEmail";LoginView.LOGIN_MERGE_SCREEN="socialMergeLoginFlow";LoginView.UPGRADE_MERGE_SCREEN="socialMergeUpgradeFlow";LoginView.APPLE_TYPE="apple"},__properties:function(){this.id=ko.observable("login");this.pathName=ko.observable(this.id());this.isRequiredToLogin=ko.observable(!window.opener&& 200window.parent===window);this.isInUpgradeFlow=ko.observable(false);this.isInSettingsFlow=ko.observable(false);this.isInSocialClaimState=ko.observable(false);this.isInSocialMergeState=ko.observable(false);this.isInSocialEmailRequest=ko.observable(false);this.isInSocialDuplicateEmailState=ko.observable(false);this.isInAccountLoginPrompt=ko.observable(false);this.hideSocialButtons=ko.observable(false);this.loginProvider=ko.observable();this.doNotShowChooserOnBack=ko.observable();this.socialLoginRegData= 201null;this.isLoginPending=ko.observable(true);this.loginReason=ko.observable({msg:""});this.socialAuthPopupNotice=ko.observable("");this.errorMessage=ko.observable("");this.socialNetwork=ko.observable("");this.emailAddress=ko.observable("");this.emailAddressType=ko.observable("email");this.password=ko.observable("");this.visible=ko.observable(true);this.hasLoginErrored=ko.observable(false);this.errors=ko.observable({});this.alertType=ko.observable(null);this.lockScroll=ko.observable("true");this.showPassword= 202ko.observable(false);this.isMobileDevice=ko.observable(com.slacker.util.browser.Browser.isMobileDevice());this.fbApiCheck=null;this.fbApiCheckCount=0;this.fbApiCheckMax=5;this.flowName=LoginView.LOGIN_SCREEN;this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]};this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey;this.Google=Google},__constructor:function(){this.__bindKoComputeds();this.focus();this.isLoginPending.subscribe(function(newValue){console.log("isLoginPending", 203newValue);newValue===false&&APP.notifyParentWindowReady()})},__bindKoComputeds:function(){var self=this;this.emailOk=ko.computed(function(){var regex=/^(.+)@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,32}$/;var $jscomp$optchain$tmp1377861237$6;var $jscomp$optchain$tmp1377861237$7;var $jscomp$optchain$tmp1377861237$8;var $jscomp$optchain$tmp1377861237$9;var $jscomp$optchain$tmp1377861237$10;var $jscomp$optchain$tmp1377861237$11;return(($jscomp$optchain$tmp1377861237$6=self)==null?void 0:($jscomp$optchain$tmp1377861237$8= 204($jscomp$optchain$tmp1377861237$7=$jscomp$optchain$tmp1377861237$6).emailAddress)==null?void 0:($jscomp$optchain$tmp1377861237$9=$jscomp$optchain$tmp1377861237$8.call($jscomp$optchain$tmp1377861237$7))==null?void 0:($jscomp$optchain$tmp1377861237$11=($jscomp$optchain$tmp1377861237$10=$jscomp$optchain$tmp1377861237$9).trim)==null?void 0:$jscomp$optchain$tmp1377861237$11.call($jscomp$optchain$tmp1377861237$10))&®ex.test(self.emailAddress())});this.passwordOk=ko.computed(function(){var $jscomp$optchain$tmp1377861237$12; 205var $jscomp$optchain$tmp1377861237$13;var $jscomp$optchain$tmp1377861237$14;var $jscomp$optchain$tmp1377861237$15;var $jscomp$optchain$tmp1377861237$16;var $jscomp$optchain$tmp1377861237$17;return(($jscomp$optchain$tmp1377861237$12=self)==null?void 0:($jscomp$optchain$tmp1377861237$14=($jscomp$optchain$tmp1377861237$13=$jscomp$optchain$tmp1377861237$12).password)==null?void 0:($jscomp$optchain$tmp1377861237$15=$jscomp$optchain$tmp1377861237$14.call($jscomp$optchain$tmp1377861237$13))==null?void 0: 206($jscomp$optchain$tmp1377861237$17=($jscomp$optchain$tmp1377861237$16=$jscomp$optchain$tmp1377861237$15).trim)==null?void 0:$jscomp$optchain$tmp1377861237$17.call($jscomp$optchain$tmp1377861237$16).length)>0});this.canSubmitForm=ko.computed(function(){if(self.isInSocialEmailRequest
206()||self.isInSocialDuplicateEmailState())return self.emailOk();return self.emailOk()&&self.passwordOk()});this.submitText=ko.computed(function(){var submitBtnText="LOG IN";if(self.isInSocialEmailRequest()){if(self.isInUpgradeFlow())submitBtnText= 207"CONTINUE"}else if(self.isInSocialDuplicateEmailState())submitBtnText="YES, MERGE ACCOUNTS";else if(self.isInSocialMergeState()&&self.isInUpgradeFlow())submitBtnText="MERGE ACCOUNTS";return submitBtnText});this.cancelText=ko.computed(function(){var cancelBtnText="CANCEL";if(self.isInSocialEmailRequest()){if(self.isInUpgradeFlow()&&!self.isInAccountLoginPrompt())cancelBtnText="CANCEL"}else if(self.isInSocialDuplicateEmailState())cancelBtnText="NO, MOVE ON";else if(self.isInSocialMergeState())if(self.isInUpgradeFlow())cancelBtnText= 208"BACK TO EMAIL";else cancelBtnText="CANCEL MERGE";return cancelBtnText});this.emailOnly=ko.computed(function(){return self.isInSocialDuplicateEmailState()||self.isInSocialEmailRequest()});this.emailEnabled=ko.computed(function(){return!self.isLoginPending()&&!self.isInSocialDuplicateEmailState()});this.newUUID=ko.computed(function(){var dt=(new Date).getTime();var uuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(dt+Math.random()*16)%16|0;dt=Math.floor(dt/16);return(c== 209"x"?r:r&3|8).toString(16)});return uuid})},init:function(){ko.applyBindings(this,$("#LoginView")[0]);if(APP.modules.userModule&&APP.modules.userModule.user&&(APP.modules.userModule.user.get("username")||APP.modules.userModule.user.get("settingsFlow"))){this.setLoginReason("ecleg-verify-account");if(APP.modules.userModule.user.get("username")){this.emailAddress(XmlUtils.decode(APP.modules.userModule.user.get("username")));this.focusPass()}}if(getGlobalCookie().isLoggedOut){if(!this.loginReason().msg)this.setLoginReason("general-login"); 210this.isRequiredToLogin(true)}if(this.hideSocialButtons()){this.loginProvider("email");this.doNotShowChooserOnBack(true)}this.loginProvider.valueHasMutated();BEACON.tagView({name:this.id()});document.title="LiveOne Account Login";return this},resume:function(){var self=this;var qstring=$.deparam(location.search.substr(1));var user=APP.modules.userModule.user;var _auth=user.get("oauth")||user.get("loginToken");var suppressAutoLogin=APP.errorType()==="offer"||APP.isTeslaUpgradeFlow;user.set({screen:"login"}); 211if(APP.isHoopla()){APP.redirectToView(APP.views.createAccount);return}if(APP.isDeviceRedeemFlow()||APP.isDeviceUpgradeFlow()){APP.modules.userModule.token(null,null,"loginToken");APP.isDeviceRedeemFlow()&&setTimeout(function(){return self.isLoginPending(false)},1E3);return}if(_auth&&!suppressAutoLogin){this.isLoginPending(true);APP.autoAuth("PENDING");user.set({"oauth":null});user.set({"requireCompleteReg":true});if(!APP.isDeviceUpgradeFlow()&&!user.get("username"))user.set({"incompleteReg":true}); 212APP.modules.userModule.token(null,null,user.get("loginToken")?"loginToken":_auth);return}this.socialLoginState=APP.readFromLocalStorage(this.localStorageKey);if(this.socialLoginState){APP.removeFromLocalStorage(this.localStorageKey);this.overwriteStates();if(this.socialLoginState&&this.socialLoginState.startingFunction&&typeof this.socialLoginState.startingFunction=="function")this.socialLoginState.startingFunction.apply(this.socialLoginState.params)}if(APP.modules.userModule.user.get("isRequiredToLogin"))this.isRequiredToLogin(true); 213else if(qstring.token)this.isRequiredToLogin(false);if(!APP.isTeslaUpgradeFlow)this.isLoginPending(false);com.slacker.util.social.Apple.checkApiLoaded("AppleID")},focus:function(){$("#login-form #username").removeClass("disabled");$("#login-form #username").focus()},focusPass:function(){$("#login-form #password").focus();$("#login-form #username").addClass("disabled").focus(function(){$("#login-form #password").focus()})},resetStates:function(){this.isInSocialEmailRequest(false);this.isInSocialMergeState(false); 214this.isInSocialDuplicateEmailState(false);this.isInAccountLoginPrompt(false);this.isLoginPending(false);this.loginProvider(null);this.emailAddressType("email");this.socialAuthPopupNotice("")},reset:function(){this.isMobileDevice(com.slacker.util.browser.Browser.isMobileDevice()
214);this.resetStates();this.isInSocialClaimState(false);this.isInUpgradeFlow(false);this.hideSocialButtons(false);this.clearLoginReason();this.socialAuthPopupNotice("");this.socialNetwork("");this.emailAddress("");this.password(""); 215this.hasLoginErrored(false);this.errors({});this.flowName=LoginView.LOGIN_SCREEN;APP.modules.userModule.resetSNAction();if(APP.currentView!==this){APP.currentView.isCreatePending(false);APP.currentView.socialAuthPopupNotice(null)}if($("#login-form #username").hasClass("disabled"))$("#login-form #username").removeClass("disabled").focus();else $("#login-form #username").focus();this.isRequiredToLogin(APP.modules.userModule.user.get("isRequiredToLogin")||!window.opener&&window.parent===window)},getViewParams:function(){return[this.isInUpgradeFlow(), 216this.isInSocialClaimState(),this.isInSocialMergeState(),this.isInSocialEmailRequest(),this.isInSocialDuplicateEmailState(),this.isInAccountLoginPrompt(),this.isLoginPending(),this.hasLoginErrored(),this.loginReason(),this.socialNetwork(),this.emailAddress(),this.isRequiredToLogin()]},setViewParams:function(viewParams){if(viewParams&&viewParams.length>9){this.isInUpgradeFlow(viewParams[0]=="true");this.isInSocialClaimState(viewParams[1]=="true");this.isInSocialMergeState(viewParams[2]=="true");this.isInSocialEmailRequest(viewParams[3]== 217"true");this.isInSocialDuplicateEmailState(viewParams[4]=="true");this.isInAccountLoginPrompt(viewParams[5]=="true");this.isLoginPending(viewParams[6]=="true");this.hasLoginErrored(viewParams[7]=="true");this.loginReason(viewParams[8]);this.socialNetwork(viewParams[9]);this.emailAddress(viewParams[10]);this.isRequiredToLogin(viewParams[11]=="true")}},saveStates:function(callback,callbackArgs){if(APP.currentView!==this)this.saveAndRedirect(this,this.localStorageKey,this.socialLoginState)},saveAndRedirect:function(view, 218callback,callbackArgs){this.socialLoginState={startingFunction:callback,params:callbackArgs,socialLoginRegData:this.socialLoginRegData,user:APP.modules.userModule.user.metadata.data,flowName:this.flowName,emailAddress:this.emailAddress(),viewParams:this.getViewParams()};APP.redirectToView(view,this.localStorageKey,this.socialLoginState)},overwriteStates:function(){if(!this.socialLoginState)return;if(this.socialLoginState.viewParams&&this.socialLoginState.viewParams.length>0)this.setViewParams(this.socialLoginState.viewParams); 219this.socialLoginRegData=this.socialLoginState.socialLoginRegData;APP.modules.userModule.user.set(this.socialLoginState.user);this.emailAddress(this.socialLoginState.user.socialEmail||this.socialLoginState.emailAddress);this.flowName=this.socialLoginState.flowName},hide:function(){this.visible(false)},show:function(){this.reset();this.visible(true);if(!com.slacker.util.browser.Browser.isTV())this.focus()},makeVisible:function(){this.visible(true);if(APP.currentView!==this){this.saveStates();return}}, 220viewCreateAccount:function(){APP.redirectToView(APP.views.createAccount)},onShowPasswordToggle:function(){var view=APP.views.login;view.showPassword(!view.showPassword())},onCreateAccount:function(){this.onCloseButtonClick(true,true)},onForgotPassword:function(){this.saveAndRedirect(APP.views.forgotPassword)},onAutologinWithProvider:function(provider){var _em=APP.modules.userModule.getSocialMergeUsername();var _pw=this.password();this.show();wasLoggedOut=false;APP.modules.userModule.user.set({init:true, 221autoLoggedIn:true});switch(provider){case "facebook":this.onFBLoginAction();break;case "google":this.onGoogleLoginAction();break;case "apple":this.onAppleLoginAction();break;default:if(_pw&&_em){this.emailAddress(_em);APP.modules.userModule.onUserLoginAttempt(_em);APP.modules.userModule.login(_em,_pw)}else CONSOLE.log("warn","Unable to auto-log user in after SSO merge. Prompt user with login view.")}},onCollectEmail:function(reasonId,socialEmail,isUpgradeFlow,isAccountLoginPrompt){CONSOLE.log("info", 222"User doesn't have an email. Showing the collect email screen.");this.flowName=LoginView.COLLECT_EMAIL_SCREEN;this.resetStates();this.isInSocialEmailRequest(true);this.isInSocialClaimState(true);this.doNotShowChooserOnBack(true);this.isInAccountLoginPrompt(isAccountLoginPrompt);this.loginProvider("email");if(isUpgradeFlow!==undefined)this.isInUpgradeFlow(isUpgradeFlow);this.socialNetwork(APP.modules.userModule.getSocialLoginServiceName());this.emailAddress(socialEmail?socialEmail:"");this.password(""); 223this.setLoginReason(reasonId,"Please supply an email address to use for account recovery purposes.");this.focus();BEACON.tagView({name:"socialLoginCollectEmail"});if(socialEmail&&!this.isInUpgradeFlow()){this.onEmailSubmitAction();return}if(APP.currentView!==this){this.saveStates(this.onCollectEmail,[reasonId,socialEmail,isUpgradeFlow,isAccountLoginPrompt]);return}},onDuplicateEmail:function(){CONSOLE.log("info","Email collision is detected at login time ("+this.emailAddress()+"). Confirming it is the user's email/account."); 224this.flowName=LoginView.DUPLICATE_EMAIL_SCREEN;if(this.isInUpgradeFlow()){CONSOLE.log("info","They are in the upgrade flow, so we send them to the merge screen");this.onMergeAccounts();return}this.resetStates();this.isInSocialClaimState(true);this.isInSocialDuplicateEmailState(true);this.doNotShowChooserOnBack(true);this.loginProvider("email");this.emailAddressType("text");this.setLoginReason("social-login-email-collision");if(APP.currentView!==this){this.saveStates(this.onDuplicateEmail,[]);return}}, 225onMergeAccounts:function(reasonId,isUpgradeFlow,errorMessage){CONSOLE.log("info","Email collision is detected ("+this.emailAddress()+"). Showing the merge account screen.");if(isUpgradeFlow!==undefined)this.isInUpgradeFlow(isUpgradeFlow);this.flowName=this.isInUpgradeFlow()?LoginView.UPGRADE_MERGE_SCREEN:LoginView.LOGIN_MERGE_SCREEN;if(!reasonId)reasonId=this.isInUpgradeFlow()?"ecleg-social-merge":"social-login-validate-account";this.resetStates();this.isInSocialClaimState(true);this.isInSocialMergeState(true); 226this.doNotShowChooserOnBack(true);this.loginProvider("email");errorMessage?this.setLoginReason(null,errorMessage):this.setLoginReason(reasonId);this.focusPass();if(APP.currentView!==this){this.saveStates(this.onMergeAccounts,[reasonId,isUpgradeFlow,errorMessage]);return}},onEmailLoginAction:function(){this.errors({});this.clearLoginReason();this.loginProvider("email")},onAppleLoginAction:function(){var msg='If you do not see the Apple login prompt, please check that you have disabled any pop-up blockers and <a onclick="APP.views.login.onAppleLoginAction()" href="#">try again</a>.'; 227this.hasLoginErrored(false);this.isLoginPending(true);this.clearLoginReason();this.socialNetwork(LoginView.APPLE_TYPE);this.socialAuthPopupNotice(msg);if(APP.currentView!==this){APP.currentView.isCreatePending(true);APP.currentView.socialAuthPopupNotice(msg)}if(!Apple.waitForAPI("doLoginAction"))Apple.doLoginAction();com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthStart",type:LoginView.APPLE_TYPE,value:LoginView.APPLE_TYPE,params:{flow:LoginView.APPLE_TYPE,label:LoginView.APPLE_TYPE}})}, 228onAppleLoginReturn:function(appleId,idToken,name,msgObj){if(!appleId&&msgObj){var reasonIgnoreList=["popup_closed_by_user","user_cancelled_authorize"];var showMessage=reasonIgnoreList.indexOf(msgObj.reason)===-1;this.socialAuthPopupNotice("");
228this.setLoginReason(null,showMessage?msgObj.message:"");this.isLoginPending(false);if(APP.currentView!==this){APP.currentView.isCreatePending(false);APP.currentView.socialAuthPopupNotice(null)}}else{this.isLoginPending(true);this.socialNetwork(LoginView.APPLE_TYPE); 229this.socialLoginRegData={uid:appleId,token:idToken,profileName:name};APP.modules.userModule.sociallogin(null,null,this.socialNetwork(),appleId,idToken,this.socialLoginRegData)}},onGoogleLoginAction:function(){var msg='If you do not see the Google login prompt, please check that you have disabled any pop-up blockers and <a onclick="APP.views.login.onGoogleLoginAction()" href="#">try again</a>.';this.hasLoginErrored(false);this.clearLoginReason();this.socialNetwork("google");this.socialAuthPopupNotice(msg); 230if(APP.currentView!==this)APP.currentView.socialAuthPopupNotice(msg);com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthStart",type:"google",value:"google",params:{flow:"google",label:"google"}})},onGoogleLoginReturn:function(gpuid,token,name,imgUrl){if(!gpuid){this.socialAuthPopupNotice("");this.setLoginReason(null,token||"");this.isLoginPending(false);if(APP.currentView!==this){APP.currentView.isCreatePending(false);APP.currentView.socialAuthPopupNotice(null);APP.currentView.createAccountReason(token|| 231"")}}else{this.isLoginPending(true);if(APP.currentView!==this)APP.currentView.isCreatePending(true);this.socialNetwork("google");this.socialLoginRegData={uid:gpuid,token:token,profileName:name,profileImgUrl:imgUrl};APP.modules.userModule.sociallogin(null,null,this.socialNetwork(),gpuid,token,this.socialLoginRegData)}},onFBLoginAction:function(){var self=this;var msg='If you do not see the Facebook login prompt, please check that you have disabled any pop-up blockers and <a onclick="APP.views.login.onFBLoginAction()" href="#">try again</a>.'; 232this.isLoginPending(true);this.hasLoginErrored(false);this.clearLoginReason();this.socialNetwork("facebook");this.socialAuthPopupNotice(msg);if(APP.currentView!==this){APP.currentView.isCreatePending(true);APP.currentView.socialAuthPopupNotice(msg);APP.currentView.createAccountReason("")}if(typeof FB==="undefined"&&this.fbApiCheckCount<this.fbApiCheckMax){this.fbApiCheck=setTimeout(function(){self.fbApiCheckCount++;self.onFBLoginAction()},500);return}if(typeof FB!=="undefined"){com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthStart", 233type:"facebook",value:"facebook",params:{flow:"facebook",label:"facebook"}});FB.login(function(r){self.clearLoginReason();if(r.authResponse)if(r.authResponse.userID)FB.api("/me",{},function(apiR){self.password("");if(apiR.email)self.emailAddress(apiR.email);self.socialLoginRegData={linkType:"register",uid:r.authResponse.userID,serviceToken:r.authResponse.accessToken,gender:"",birthyear:"",country:apiR.locale};APP.modules.userModule.sociallogin(null,null,"facebook",r.authResponse.userID,r.authResponse.accessToken, 234self.socialLoginRegData)});else{self.reset();com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthFail",type:"facebook",value:"permissions",params:{flow:"facebook",label:"permissions"}})}else{self.reset();com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthFail",type:"facebook",value:"abort",params:{flow:"facebook",label:"abort"}})}},{scope:"email"})}},onLoginSubmitAction:function(data,e){com.slacker.util.behavior.Beacon.tagEvent({name:"loginSubmit",type:this.flowName,value:this.submitText(), 235params:{flow:this.flowName,label:this.submitText()}});APP.modules.userModule.onUserLoginAttempt(this.emailAddress());if(this.canSubmitForm()){CONSOLE.log("info","User has submitted the login form.");if(this.isInSocialClaimState())if(this.isInSocialDuplicateEmailState())this.onMergeAccounts();else if(this.isInSocialEmailRequest())this.onEmailSubmitAction();else if(this.isInSocialMergeState())this.onMergeSubmitAction();else APP.modules.userModule.sociallogin(this.emailAddress(),this.password());else{this.isLoginPending(true); 236this.clearLoginReason();this.socialAuthPopupNotice("");this.validation.validate()}}},onEmailSubmitAction:function(){if(this.canSubmitForm()){CONSOLE.log("info","User has submitted an email.");this.isLoginPending(true);this.clearLoginReason();if(!this.socialLoginRegData)this.socialLoginRegData={linkType:"register"};this.socialLoginRegData.email=this.emailAddress();APP.modules.userModule.socialEmailSubmit(this.emailAddress(),this.socialNetwork(),this.socialLoginRegData.uid,this.socialLoginRegData.serviceToken, 237this.socialLoginRegData);
237this.isInSocialEmailRequest(false)}},onMergeSubmitAction:function(){APP.modules.userModule.socialMerge(this.emailAddress(),this.password(),this.socialNetwork());this.isInSocialMergeState(false)},onCreateAccountSubmit:function(data,e){this.onLoginSubmitAction(data,e)},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){CONSOLE.log("info","Login Form had issues. Making user correct them.");var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i]; 238errorsObject[error.id]=error}this.errors(errorsObject);this.isLoginPending(false)}else{CONSOLE.log("info","Login Form did not have issues");this.errors({});APP.modules.userModule.onUserLoginAttempt(this.emailAddress());if(this.isInSocialClaimState())if(this.isInSocialDuplicateEmailState())this.onMergeAccounts();else if(this.isInSocialEmailRequest())this.onEmailSubmitAction();else if(this.isInSocialMergeState())this.onMergeSubmitAction();else APP.modules.userModule.sociallogin(this.emailAddress(), 239this.password());else APP.modules.userModule.login(this.emailAddress(),this.password())}},onCancelButtonClick:function(bIsCreate){if(APP.isCostcoMemberLinkFlow()){APP.showCostcoExitDialog(true);return}var loginProvider=APP.currentView.loginProvider,doNotShowChooser=APP.currentView.doNotShowChooserOnBack();com.slacker.util.behavior.Beacon.tagEvent({name:"loginCancel",type:this.flowName,value:this.cancelText(),params:{flow:this.flowName,label:this.cancelText()}});if(APP.isTeslaUpgradeFlow||APP.isTeslaAcctMergeFlow)APP.modules.userModule.onUserLoginReturn(false, 240"tesla_init");else if(this.isInSocialMergeState()&&this.isInUpgradeFlow())this.onCollectEmail("ecleg-social-login-email-required",null,true);else if(loginProvider())if(doNotShowChooser)this.onCloseButtonClick(bIsCreate,true);else{loginProvider(null);this.clearLoginReason();this.socialAuthPopupNotice("");this.hasLoginErrored(false)}else this.onCloseButtonClick(bIsCreate,true)},onCloseButtonClick:function(bIsCreate,bIsNotUserClick){if(APP.isCostcoMemberLinkFlow()&&!bIsNotUserClick){APP.showCostcoExitDialog(true); 241return}if(typeof bIsCreate!=="boolean")bIsCreate=null;if(!bIsNotUserClick)com.slacker.util.behavior.Beacon.tagEvent({name:"loginClose",type:this.flowName,value:"close",params:{flow:this.flowName,label:"close"}});if(this.isInSocialEmailRequest()&&this.isInSocialClaimState()&&!this.isInUpgradeFlow())this.resetStates();else{if(this.isInUpgradeFlow())APP.afterLoginPath="deviceUpgrade";APP.modules.userModule.onUserLoginReturn(!(this.isInSocialDuplicateEmailState()||this.isInSocialMergeState()))}},onLogoClick:function(data, 242event){com.slacker.util.behavior.Beacon.tagEvent({name:"loginClose",type:this.flowName,value:"logo",params:{flow:this.flowName,label:"logo"}});var target=event.target;if(target&&!target.href)target=target.parentElement;APP.modules.userModule.onUserLoginCancel(target)},onProcessError:function(failedEvent,response,loginRequest){var detail={id:response.code,name:response.param,message:response.message,server:true};var loginReasonId="";var loginServiceName=response&&response.target?response.target.serviceName|| 243"slacker":"slacker";this.hasLoginErrored(true);this.isLoginPending(false);com.slacker.util.behavior.Beacon.tagEvent({name:"loginError",type:loginServiceName,value:failedEvent||"invalid",params:{flow:loginServiceName,label:failedEvent||"invalid"}});if(response&&response.target)switch(response.status){case 400:loginReasonId="social-merge-error-400";break;case 401:loginReasonId=null;if(failedEvent==UserEvent.MERGE_FAILED)APP.modules.userModule.token(APP.views.login.onMergeSubmitAction);else if(failedEvent== 244UserEvent.SOCIAL_LOGIN_FAILED&&response.target&&response.target.serviceName=="facebook");break;case 403:loginReasonId="login-error-403";break;case 405:loginReasonId="login-error-405";break;case 409:if(loginRequest&&!loginRequest.socialAttempt&&loginRequest.count===0)loginRequest.socialAttempt=true;this.onDuplicateEmail();break;case 422:loginReasonId="social-merge-error-422";break;case 429:loginReasonId="slackacct-error-429";break;case 500:this.hasLoginErrored(true);loginReasonId="social-merge-error-500"; 245break;default:loginReasonId="social-merge-error-500";break}else this.hasLoginErrored(true);if(this.hasLoginErrored()&&loginRequest&&loginRequest.socialAttempt){alert("error: Having trouble? Click <a onclick='showToast('forgotPassword')'");this.setLoginReason(null,'Having trouble? Click <a onclick="Toasts.getInstance().showToast(\'forgotPassword\')" href="javascript:void(0);">here</a> to reset your password.')}switch(failedEvent){case UserEvent.SOCIAL_LOGIN_FAILED:case UserEvent.LOGIN_FAILED:this.setLoginReason(loginReasonId); 246CONSOLE.log("debug","Login failed. Reason id: "+loginReasonId);break;case UserEvent.MERGE_FAILED:this.onMergeAccounts(loginReasonId);break;default:this.setLoginReason(null);break}},setLoginReason:function(loginReasonId,customMsg,object){var nag=loginReasonId?APP.modules.messagingModule.nagMessages[loginReasonId]:null;var msg=nag?nag.msg:customMsg?customMsg:null;this.loginReason(object||{msg:msg,nag:nag})},clearLoginReason:function(){this.loginReason({msg:"",nag:null})}};registerPackage("com.slacker.app.views.LoginView"); 247LoginView.prototype.__constants();com.slacker.app.views.LoginView=LoginView})()}); 248bjork("com.slacker.app.views.PairDeviceView",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");function PairDeviceView(){extendClass(this,new EventNotifier(this));this.__constants();this.__properties();this.__constructor.apply(this,arguments);this.__bindKoComputeds()}PairDeviceView.prototype={__constants:function(){},__properties:function(){this.id=ko.observable("pairDevice");this.pathName=ko.observable(this.id());this.visible=ko.observable(false);this.linkCode=ko.observable(""); 249this.emailAddress=ko.observable("");this.socialName=ko.observable("");this.errorMessage=ko.observable("");this.successMessage=ko.observable("");this.lockScroll=ko.observable("true");this.deviceName=ko.observable("");this.errors=ko.observable({});this.closeButtonPath=null;this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey;this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]}},__constructor:function(){},__bindKoComputeds:function(){var self=this; 250this.codeOk=ko.computed(function(){var regex=/^([a-zA-Z0-9]+){5,12}$/;return self.linkCode().trim()&®ex.test(self.linkCode())});this.canSubmitForm=ko.computed(function(){return self.codeOk()})},focus:function(){this.visible(true);$("#linkcode")[0].focus()},reset:function(){this.errors({});this.errorMessage("");this.successMessage("")},hide:function(){this.visible(false);this.reset()},show:function(){this.reset();this.visible(true);this.focus()},init:function(){ko.applyBindings(this,$("#PairDeviceView")[0]); 251if(APP.modules.userModule)this.focus();BEACON.tagView({name:this.id()});document.title="LiveOne Device Pairing";return this},resume:function(){this.deviceName(APP.afterLoginPath);this.closeButtonPath=APP.afterLoginPath+"Success";var username=APP.modules.userModule.user.get("username");if(username)this.emailAddress(username);var name=APP.modules.userModule.user.get("name");if(name)this.socialName(name)},processResponse:function($wasSuccess,$message){if($wasSuccess){this.errorMessage("");this.successMessage($message)}else{this.errors({linkCode:true}); 252this.errorMessage($message);this.successMessage("")}},onCloseButtonClick:function(){com.slacker.util.behavior.Beacon.tagEvent({evt:55,type:this.id(),button:"close"});APP.modules.userModule.onUserLoginReturn(false,this.closeButtonPath)}
252,onSubmit:function(data,e){if(this.canSubmitForm())this.validation.validate()},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i];errorsObject[error.id]=error}this.errors(errorsObject)}else{this.errors({}); 253APP.modules.userModule.pairDevice(this.deviceName(),this.linkCode().toUpperCase())}},onProcessResponse:function(e){if(e.linkCodeStatus=="ok")this.processResponse(true,this.getHumanReadableError(this.deviceName()+"-link-successful"));else this.processResponse(false,this.getHumanReadableError("link-code-"+e.linkCodeStatus))},getHumanReadableError:function(key){return APP.modules.messagingModule.nagMessages["pair-device"][key]||APP.modules.messagingModule.nagMessages["pair-device"]["link-code-error"]}}; 254registerPackage("com.slacker.app.views.PairDeviceView");PairDeviceView.prototype.__constants();com.slacker.app.views.PairDeviceView=PairDeviceView})()}); 255bjork("com.slacker.event.EventNotifier",function(){(function(){var CONSOLE=require("com.slacker.util.Console");function EventNotifier(){instantiateClass(this,arguments)}registerClass("com.slacker.event.EventNotifier",EventNotifier,{__properties:function(){this.events={};this.eventMap={};this.handlerMap={};this.count=0},__constructor:function(context){this.context=context||this},countReferences:function(){var self=this;var f=function($obj){var count=0;for(var i in $obj)count++;return count};var eventsCount= 256f(events);var eventMapCount=f(eventMap);var handlerMapCount=f(handlerMap);CONSOLE.log("info","Reference Counts:\n"+"events: "+eventsCount+"\n"+"eventMap: "+eventMapCount+"\n"+"handlerMap: "+handlerMapCount)},attachEvent:function(e,callBack,synced){if(!this.events[e])this.events[e]={};var id=this.getNextId();var self=this;this.eventMap[id]={evt:e,handler:callBack,synced:synced||false,fire:function(params){setTimeout(function(){if(self.eventMap[id])self.eventMap[id].handler.apply(self.context,params)}, 25710)}};this.events[e][id]=callBack;return id},addEventListener:function(eventType,callBack,createDelegateScope){if(eventType===undefined||eventType===null||eventType==="")throw new Error("Cannot addEventListener for event type of undefined, null, or empty string");if(typeof eventType!="string")eventType=eventType.toString();if(createDelegateScope!=null&&!callBack.isDelegate)callBack=Delegate.create(createDelegateScope,callBack);if(this.handlerMap[eventType]&&this.handlerMap[eventType][callBack])CONSOLE.log("debug", 258"Ignoring duplicate addEventListener to same eventType and callBack: "+eventType+": "+callBack);else{var id=this.attachEvent(eventType,callBack);if(callBack.isDelegate)Delegate.map(callBack.method,callBack);if(typeof this.handlerMap[eventType]==="undefined")this.handlerMap[eventType]={count:0};this.handlerMap[eventType][callBack]=id;this.handlerMap[eventType].count++}},removeEventListener:function(eventType,callBack){if(eventType===undefined||eventType===null||eventType==="")throw new Error("Cannot removeEventListener for event type of undefined, null, or empty string"); 259if(typeof eventType!="string")eventType=eventType.toString();if(this.handlerMap[eventType]&&this.handlerMap[eventType][callBack]){var listenerID;var delegate;if(callBack.isDelegate){listenerID=this.handlerMap[eventType][callBack];if(listenerID)this.detachEvent(listenerID);else CONSOLE.log("debug","Could not find listener id to remove: "+listenerID)}else{delegate=Delegate.find(callBack);if(delegate){callBack=delegate;Delegate.destroy(delegate)}listenerID=this.handlerMap[eventType][callBack];if(listenerID)this.detachEvent(listenerID); 260else CONSOLE.log("debug","Could not find listener id to remove: "+listenerID)}delete this.handlerMap[eventType][callBack];if(this.handlerMap[eventType].count<=1)delete this.handlerMap[eventType];else this.handlerMap[eventType].count--}else{delegate=Delegate.find(callBack);if(delegate){callBack=delegate;Delegate.destroy(delegate)}listenerID=this.handlerMap[eventType][callBack];if(listenerID){this.detachEvent(listenerID);delete this.handlerMap[eventType][callBack];if(this.handlerMap[eventType].count<= 2611)delete this.handlerMap[eventType];else this.handlerMap[eventType].count--}else CONSOLE.log("debug","Could not find listener id to remove: "+listenerID)}},dispatch:function(e){if(e.target==null)e.target=this;this.notify(e.type,[e])},dispatchEvent:function(e){if(e.target==null)e.target=this;this.notify(e.type,[e])},notify:function(e,params){var returnVal=null;params=params||[];if(this.events[e]){var evt=this.events[e];for(var id in evt)if(evt.hasOwnProperty(id)){var logLevel="debug";if(typeof LOGEVENTS!== 262"undefined"&&LOGEVENTS)logLevel="info";var logParams=params;try{logParams.toString()}catch(err$18){logParams.toString=function(){return"Object"}}this.context.eventId=id;try{if(this.eventMap[id].synced)returnVal=evt[id].apply(this.context,params);else this.eventMap[id].fire(params)}catch(err1){try{com.slacker.util.Console.log("error","Event notification failed ("+e+"):"+(err1.message||err1))}catch(err2){}}}}if(returnVal)return returnVal},detachEvent:function(id){var e=this.eventMap[id];if(e){delete this.events[e.evt][id]; 263delete this.eventMap[id];com.slacker.util.Console.log("info","Event id detached: "+[e.evt,id])}else com.slacker.util.Console.log("warn","No event for id: "+[id])},getNextId:function(){return++this.count}})})()}); 264bjork("com.slacker.io.AJAXTransport",function(){(function(){require("com.slacker.util.Console");var CONSOLE=com.slacker.util.Console;function AJAXTransport($to){this.__beforeConstructor();this.__constructor($to)}AJAXTransport.prototype={__beforeConstructor:function(){this.loc="/js/easyxdm/";this.xhr=null;this.to="http://www.slacker.com"},__constructor:function($to){if(typeof $to!=="undefined")this.to=$to},get:function($request,$callback){var destroyMe=this.xhr=new easyXDM.Rpc({local:"../name.html", 265swf:this.to+this.loc+"easyxdm.swf",remote:this.to+this.loc+"cors/",remoteHelper:this.to+this.loc+"name.html"},{remote:{request:{}}});if(typeof $request==="undefined")throw new Error("request must contain a valid object");
265if(typeof $request.url==="undefined")throw new Error("request must contain a url");if(typeof $request.headers==="undefined")$request.headers={};if(typeof $request.data==="undefined")$request.data={};if(typeof $request.method==="undefined")$request.method="GET";this.xhr.request($request, 266function(){$callback.apply(null,arguments);destroyMe.destroy();destroyMe=null},function(){$callback.apply(null,arguments);destroyMe.destroy();destroyMe=null})}};registerPackage("com.slacker.io.AJAXTransport");com.slacker.io.AJAXTransport=AJAXTransport})()}); 267bjork("com.slacker.io.Url",function(){(function(){var ObjectUtils=require("com.slacker.util.ObjectUtils");var StringUtils=require("com.slacker.util.StringUtils");function Url(){this.__constants();this.__properties();this.__constructor.apply(this,arguments)}Url.prototype={__constants:function(){},__properties:function(){this.anchor="";this.authority="";this.directory="";this.file="";this.host="";this.password="";this.path="";this.port="";this.protocol="";this.queryParameters=[];this.relative="";this.source= 268"";this.user="";this.userInfo="";this.replacementParams={}},__constructor:function($url){this.parse($url)},query:function($isRaw){var i,theChar="?",str="",name,value,shouldAdd;if($isRaw==null)$isRaw=false;for(i=0;i<this.queryParameters.length;i++){if(i>=1)theChar="&";name=this.queryParameters[i].name;value=this.queryParameters[i].value;if(StringUtils.beginsWith(value,"<")&&StringUtils.endsWith(value,">"))if(this.replacementParams[name]!=null){value=this.replacementParams[name];shouldAdd=true}else shouldAdd= 269false;else shouldAdd=true;if(shouldAdd){if(!$isRaw){value=encodeURIComponent(value);value=StringUtils.replaceAll(value,"'","%27")}str+=theChar+name+"="+value}}return str},parse:function($url){var i,parseData,name,value;parseData=parseUri($url);this.queryParameters=[];for(i=0;i<parseData.queryKeyIndexes.length;i++){name=parseData.queryKeyIndexes[i];value=parseData.queryKey[name];this.queryParameters.push({name:name,value:value})}delete parseData.queryKeyIndexes;delete parseData.queryKey;ObjectUtils.fromObject(parseData, 270this,{same:true})},href:function($isRaw){var str=this.protocol+"://"+this.host;if(this.port!="")str+=":"+this.port;if(this.path!=""){var replacedPath=this.path;if(this.path.indexOf("<")!=-1)for(var i in this.replacementParams)replacedPath=StringUtils.replaceAll(replacedPath,"<"+i+">",this.replacementParams[i]);str+=replacedPath}if($isRaw==false||$isRaw==null)str+=this.query(false);else str+=this.query(true);if(this.anchor!="")str+="#"+this.anchor;return str}};registerPackage("com.slacker.io.Url"); 271Url.prototype.__constants();com.slacker.io.Url=Url})();function parseUri(str){var o=parseUri.options,m=o.parser[o.strictMode?"strict":"loose"].exec(str),uri={},i=14;while(i--)uri[o.key[i]]=m[i]||"";uri[o.q.name]={};uri.queryKeyIndexes=[];uri[o.key[12]].replace(o.q.parser,function($0,$1,$2){if($1){uri[o.q.name][$1]=$2;uri.queryKeyIndexes.push($1)}});return uri}parseUri.options={strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory", 272"file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}}}); 273bjork("com.slacker.io.XmlUtils",function(){(function(require,com,registerPackage){function XmlUtils(){this.version="$LastChangedRevision: 1308 $";this.tempDom=this.createDom("root")}String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};XmlUtils.prototype={encode:function(str,bUseXHtml){if(str){str=str.toString().replace(/&/g,"&");str=str.replace(/</g,"<");str=str.replace(/>/g,">");if(bUseXHtml)str=str.replace(/'/g,"'");else str=str.replace(/'/g,"'");str=str.replace(/"/g, 274""")}else str="";return str},decode:function(str,bUseXHtml){if(str){if(bUseXHtml)str=str.toString().replace(/'/g,"'");else str=str.toString().replace(/'/g,"'");str=str.replace(/"/g,'"');str=str.replace(/</g,"<");str=str.replace(/>/g,">");str=str.replace(/&/g,"&")}else str="";return str},parseFromUrl:function(url){require("com.slacker.io.HttpRequest");var rId=com.slacker.io.HttpRequest.createRequest({method:"GET",url:url,async:false});var dom=null;
274try{dom=com.slacker.io.HttpRequest.getRequest(rId).http.responseXML; 275dom.setProperty("SelectionLanguage","XPath")}catch(e){}finally{com.slacker.io.HttpRequest.finalize(rId)}return dom||null},parseFromString:function(string){if(!string)return null;var dom=null;if(string.indexOf("<?xml ")>-1)string=string.replace(/<\?xml([^>]+)>/,"");if(string.trim)string=string.trim();try{dom=new ActiveXObject("Microsoft.XMLDOM")}catch(e){}if(dom){dom=new ActiveXObject("Microsoft.XMLDOM");dom.async="false";dom.loadXML(string);dom.setProperty("SelectionLanguage","XPath");if(!dom.xml){if(com.slacker.util&& 276com.slacker.util.Console)com.slacker.util.Console.log("warn","XML parse failed.\n"+string+"\n"+(dom.parseError?dom.parseError.reason:""));dom=null}}else if(window.DOMParser){var parser=new DOMParser;dom=parser.parseFromString(string,"text/xml");if(dom.mimeType)com.slacker.util.Console.log("info","dom.mimeType reports as: "+dom.mimeType);if(dom.toString().toLowerCase().indexOf("htmldocument")>-1)dom=null}if(!dom)try{if(!dom){var xml="<?xml version='1.0'?>"+string;var url="data:text/xml;charset=utf-8,"+ 277encodeURIComponent(xml);var req=new XMLHttpRequest;req.open("GET",url);req.send(null);dom=req.responseXML;com.slacker.util.Console.log("info","Trying XML parse using XHR")}}catch(e$19){if(com.slacker.util&&com.slacker.util.Console)com.slacker.util.Console.log("error","XML parse failed.\n"+string+"\n"+e$19.toString())}return dom},createDom:function(rootName,string){var dom;rootName=rootName||"root";string=string||"";var toParse="<"+rootName+">"+string+"</"+rootName+">";return this.parseFromString(toParse)}, 278serialize:function(dom){var xmlString="";if(!dom)return xmlString;try{var s=new XMLSerializer;xmlString=s.serializeToString(dom)}catch(e){try{if(window.ActiveXObject||dom.xml)xmlString=dom.xml;else xmlString=dom.toString()}catch(e1){if(com.slacker.util&&com.slacker.util.Console)com.slacker.util.Console.log("warn","XML serialize failed",e1)}}return xmlString},serializeToHtml:function(dom){return this.encode(this.serialize(dom))},selectNodes:function(dom,xpath){if(!dom||!xpath)return[];xpath=xpath.replace(/\\('|")/g, 279"$1");if(dom.nodeType!=9&&dom.nodeType!=10)try{return dom.selectNodes(xpath)}catch(e){dom=this.parseFromString(this.serialize(dom))}if(dom.mimeType&&(dom.mimeType.toLowerCase().indexOf("html document")>-1||dom.mimeType.toLowerCase().indexOf("xml file")>-1))dom=this.parseFromString(this.serialize(dom));try{try{dom.setProperty("SelectionLanguage","XPath");return dom.selectNodes(xpath)}catch(e$20){if(window.ActiveXObject){if(!dom.xml)return null}else{dom=this.parseFromString(this.serialize(dom));return dom.selectNodes(xpath)}}}catch(e1){var nodes= 280[];try{var nsResolver=dom.createNSResolver(dom.ownerDocument==null?dom.documentElement:dom.ownerDocument.documentElement);var oResult=dom.evaluate(xpath,dom,nsResolver,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var thisNode=oResult.iterateNext();while(thisNode){nodes.push(thisNode);thisNode=oResult.iterateNext()}}catch(e4){if(dom&&dom.querySelector){var query=xpath.replace(/\/\//g,"/").replace("/","").split("/");for(var i=0;i<query.length;i++)if(i==query.length-1)nodes=dom.querySelectorAll(query[i]); 281else dom=dom.querySelector(query[i])}}return nodes}},selectSingleNode:function(dom,xpath){if(!dom||!xpath)return null;xpath=xpath.replace(/\\('|")/g,"$1");if(dom.nodeType!=9&&dom.nodeType!=10)try{return dom.selectSingleNode(xpath)}catch(e){dom=this.parseFromString(this.serialize(dom))}if(dom.mimeType&&(dom.mimeType.toLowerCase().indexOf("html document")>-1||dom.mimeType.toLowerCase().indexOf("xml file")>-1))dom=this.parseFromString(this.serialize(dom));try{try{dom.setProperty("SelectionLanguage", 282"XPath");return dom.selectSingleNode(xpath)}catch(e$21){if(window.ActiveXObject){if(!dom.xml)return null}else{dom=this.parseFromString(this.serialize(dom));return dom.selectNodes(xpath)}}}catch(e1){var node,oResult;try{var nsResolver=dom.createNSResolver(dom.ownerDocument==null?dom.documentElement:dom.ownerDocument.documentElement);if(xpath.indexOf("count")==0){oResult=dom.evaluate(xpath,dom,nsResolver,XPathResult.ANY_TYPE,null);return oResult.numberValue}else{oResult=dom.evaluate(xpath,dom,nsResolver, 283XPathResult.FIRST_ORDERED_NODE_TYPE,null);return oResult.singleNodeValue}}catch(e2){try{if(dom&&dom.querySelector){var query=xpath.replace(/\/\//g,"/").replace("/","").split("/");for(var i=0;i<query.length;i++)if(i==query.length-1)node=dom.querySelector(query[i]);else dom=dom.querySelector(query[i]);return node}}catch(e3){return e2.message}}}},getRootNode:function(dom){var rootNode=dom;if(!rootNode.firstChild)return rootNode;rootNode=dom.firstChild;while(rootNode.nodeName=="xml"||rootNode.nodeName== 284"xml-stylesheet")rootNode=rootNode.nextSibling;return rootNode}};registerPackage("com.slacker.io.XmlUtils");com.slacker.io.XmlUtils=new XmlUtils})(require,com,registerPackage)}); 285bjork("com.slacker.model.Metadata",function(){(function(require,com,registerPackage){function Metadata(url){this.version="$LastChangedRevision: 1323 $";this.data={};if(url)this._constructor(url)}Metadata.prototype={_constructor:function(url){require("com.slacker.util.ParamHash");var hash=new com.slacker.util.ParamHash(url,"&","=");this.data=hash.hash},set:function(o){for(var i in o){try{if(o.hasOwnProperty(i)&&o[i]&&typeof o[i]==="str
285ing"){this.data[i]=decodeURIComponentString(o[i]);continue}}catch(exp){}this.data[i]= 286o[i]}},get:function(m){return this.data[m]},toString:function(){var out=[];for(var i in this.data)if(this.data.hasOwnProperty(i))out[out.length]=i+": "+this.data[i];return out.join("\n")}};registerPackage("com.slacker.model.Metadata");com.slacker.model.Metadata=Metadata})(require,com,registerPackage)}); 287bjork("com.slacker.model.User",function(){(function(require,com,registerPackage){require("com.slacker.util.Timer");require("com.slacker.model.Metadata");var User=function(){this.idleTimer=null;this.metadata=new com.slacker.model.Metadata;this.NEW_USER={username:null,name:null,token:null,id:null,level:0,promoid:null,accountTier:0,explicit:true,newsTrial:true,newsTrialStarted:false,hasPlayed:false,loginSource:null,isRequiredToLogin:false,serverconfig:{},init:true};this.metadata.set(this.NEW_USER);this._idleTimeoutValues= 288{anon:1,basic:1E3,plus:8,prem:8};this.getIdleTimeoutValue=function(){if(this.isPremium())return this._idleTimeoutValues.prem;else if(this.isPlus())return this._idleTimeoutValues.plus;else if(this.isAnon())return this._idleTimeoutValues.anon;else return this._idleTimeoutValues.basic};this.isLoggedIn=function(){if(!this.get("init")&&this.get("id")&&this.get("token")&&(this.get("name")||this.get("username")&&this.get("username")!=="undefined"))return true;return false};this.getLevelText=function(){if(this.isAnon())return"anonymous"; 289else if(this.isBasic())return"basic";else if(this.isPlus())return"plus";else if(this.isPremium())return"premium";else return""};this.promoid=function(){return this.get("promoid")||""},this.isAnon=function(bCheckPromo){if(bCheckPromo&&this.get("promoid"))return this.get("id")>0&&!this.get("accountTier")||this.get("accountTier")==0;return this.get("id")>0&&!this.get("level")||this.get("level")==0};this.isAnonymous=function(bCheckPromo){return this.isAnon(bCheckPromo)};this.isBasic=function(bCheckPromo){if(bCheckPromo&& 290this.get("promoid"))return this.get("id")>0&&this.get("accountTier")>0&&this.get("accountTier")<5;return this.get("id")>0&&this.get("level")>0&&this.get("level")<5};this.isPlus=function(bCheckPromo){if(bCheckPromo&&this.get("promoid"))return this.get("id")>0&&this.get("accountTier")>0&&this.get("accountTier")==5;return this.get("id")>0&&this.get("level")>0&&this.get("level")==5};this.isPremium=function(bCheckPromo){if(bCheckPromo&&this.get("promoid"))return this.get("id")>0&&this.get("accountTier")> 2910&&this.get("accountTier")>=10;return this.get("id")>0&&this.get("level")>0&&this.get("level")>=10};this.isAdFree=function(bAllowPromo){if(bAllowPromo)return this.get("id")>0&&this.get("level")>=5;return this.get("id")>0&&this.get("level")>=5&&!this.get("promoid")};this.getTerritory=function(){return this.get("accountLoc")||this.get("currentLoc")||"US"};this.getToken=function(){return this.get("token")||this.get("wstoken")};this.getLyricsType=function(){return this.isPlus()||this.isPremium()?"full": 292"partial"};this.getMediaFormat=function(){};this.getSnapshot=function(){var $jscomp$this=this;var snapshot={};Object.keys(this.NEW_USER).forEach(function(key){return snapshot[key]=$jscomp$this.get(key)});return snapshot};this.set=function(o){this.metadata.set(o)};this.get=function(s){return this.metadata.get(s)};this.reset=function(){this.set(this.NEW_USER)};this.toString=function(){return this.metadata.get("username")};this.idleTimer=new com.slacker.util.Timer(this.getIdleTimeoutValue()*3600*1E3); 293this.idleTimer.start()};registerPackage("com.slacker.model.User");com.slacker.model.User=User})(require,com,registerPackage)}); 294bjork("com.slacker.util.ArrayUtils",function(){(function(){function ArrayUtils(){this.__constants()}ArrayUtils.prototype={__constants:function(){},alphabetize:function(array,property){return array.sort(function(a,b){var propertyA=a[property].toLowerCase();var propertyB=b[property].toLowerCase();if(propertyA<propertyB)return-1;else if(propertyA>propertyB)return 1;else return 0})},sum:function($array,$property){var iItem,i=0,total=0;if(arguments.length==1)for(i=0;i<$array.length;i++){iItem=$array[i]; 295total+=iItem}else for(i=0;i<$array.length;i++){iItem=$array[i];total+=iItem[$property]}return total},pushAll:function($toArray){if(arguments.length<=1)throw new Error("Mu
295st pass at least 2 arguments");for(var i=1;i<arguments.length;i++)$toArray.push(arguments[i])},addAll:function(fromArray,toArray){var i,item;for(i=0;i<fromArray.length;i++)toArray.push(fromArray[i])},addAllAtBeginning:function($array,$elementsToAdd){$elementsToAdd.reverse();for(var i=0;i<$elementsToAdd.length;i++){var item=$elementsToAdd[i]; 296this.addFirst($array,item)}},average:function(array){var sum=0,i;for(i=0;i<array.length;i++)sum+=array[i];return sum/array.length},contains:function($array,$valueToMatch){return $array.indexOf($valueToMatch)!=-1},containsAnyItemsWithPropertyEqualTo:function($array,$property,$value){var i=0,matchingItems=[],item=null;for(var i=0;i<$array.length;i++){item=$array[i];if(item[$property]==$value)return true}return false},getFirstItemWithPropertyEqualTo:function($array,$property,$value){var i=0,matchingItems= 297[],item=null;for(i=0;i<$array.length;i++){item=$array[i];if(typeof item[$property]=="function")try{var v=item[$property]();if(v==$value)return item}catch(error){}else try{if(item[$property]==$value)return item}catch(error$22){}}return null},getItemsWithPropertyEqualTo:function($array,$property,$value){var i=0,matchingItems=[],item=null;for(i=0;i<$array.length;i++){item=$array[i];if(item[$property]==$value)matchingItems.push(item)}return matchingItems},getFirst:function($array){if($array.length==0)return null; 298return $array[0]},getLast:function($array){if($array.length==0)return null;var lastIndex=$array.length-1;return $array[lastIndex]},toKeyValueMap:function($array,$keyID,$valueID){var obj={};for(var i=0;i<$array.length;i++){var iItem=$array[i];var key=iItem[$keyID];var value=iItem[$valueID];obj[key]=value}return obj},getRandom:function($array){if($array.length==0)return null;var lastIndex=$array.length-1;var randomIndex=Math.floor(Math.random()*(1+lastIndex));return $array[randomIndex]},getRandomSubset:function($array, 299$subLength,_subset){if(!this.isArray($array)||$array.length==0)return[];if(!$subLength||$subLength>=$array.length)return $array;if(!_subset)_subset=[];if($subLength>0){_subset.push($array.splice(Math.floor(Math.random()*$array.length),1)[0]);this.getRandomSubset($array.slice(0),$subLength-1,_subset)}return _subset},isArray:function(arg){return Object.prototype.toString.call(arg)==="[object Array]"},isOneOfTheFollowing:function($value,$goodValues){for(var i=0;i<$goodValues.length;i++){var item=$goodValues[i]; 300if(item==$value)return true}return false},removeAll:function(array){array.length=0},shuffle:function(array){if(!array||array.length==0)return array;var i,j,temp;for(i=array.length-1;i>0;i--){j=Math.floor(Math.random()*(i+1));temp=array[i];array[i]=array[j];array[j]=temp}return array},sortOn:function($array,$property){return $array.sort(function(a,b){if(a[$property]<b[$property])return-1;else if(a[$property]>b[$property])return 1;else return 0})},shelve:function($array,$shelfSize){if(!this.isArray($array)|| 301isNaN($shelfSize)||$array.length<=$shelfSize){CONSOLE.log("debug","ArrayUtils.shelve failed");return new Array($array)}var i=1,rowId=0,$result=[];$array.map(function(item){if(!$result[rowId])$result[rowId]=new Array;if(typeof item!="function")$result[rowId].push(item);if(i%$shelfSize===0)rowId++;i++});return $result}};registerPackage("com.slacker.util.ArrayUtils");ArrayUtils.prototype.__constants();com.slacker.util.ArrayUtils=new ArrayUtils})()}); 302bjork("com.slacker.util.AsyncUtils",function(){(function(){function AsyncUtils(){}AsyncUtils.prototype={getPromiseWithExpiry:function(getPromise,ms,onTimeout){return new Promise(function(resolve,reject){getPromise().then(resolve);setTimeout(function(){return onTimeout({resolve:resolve,reject:reject})},ms)})}};registerPackage("com.slacker.util.AsyncUtils");com.slacker.util.AsyncUtils=new AsyncUtils})()}); 303bjork("com.slacker.util.CookieJar",function(){(function(require,com,registerPackage,document){function CookieJar(){this.version="$LastChangedRevision: 1320 $";this.shadowCookiePrefix=""}CookieJar.prototype={composeCookieName:function(name){return this.shadowCookiePrefix?this.shadowCookiePrefix+"_"+name:name},getCookie:function(name,doc){require("com.slacker.util.encoding.B64");var _name=this.composeCookieName(name);if(!doc)doc=document;var cStartKey="; "+_name+"=";var start=doc.cookie.indexOf(cStartKey); 304var len=0;var end=0;if(start>-1)len=start+cStartKey.length;else if(_name==doc.cookie.substring(0,_name.length))len=_name.length+1;else return null;end=doc.cookie.indexOf(";",len);if(end==-1)end=doc.cookie.length;var c=doc.cookie.substring(len,end);if(c.indexOf("<<::")>-1)c=com.slacker.util.encoding.B64.decode64(c.substring(c.indexOf("<<::")+4,c.length));return c},getCompoundCookie:function(name,delimiter){var _name=this.composeCookieName(name);var c=this.getCookie(_name)||"";var data=c.split(delimiter); 305var struct={};
305if(data.length>1)while(data.length>0)struct[data.shift()]=data.shift();return struct},setCompoundCookie:function(name,struct,delimiter,expires,path,domain,secure,encode){var _name=this.composeCookieName(name);var data=[],i;for(i in struct){data.push(i);data.push(struct[i])}this.setCookie(_name,data.join(delimiter),expires,path,domain,secure,encode)},setCookie:function(name,value,expires,path,domain,secure,encode){require("com.slacker.util.encoding.B64");var _name=this.composeCookieName(name); 306var c;var today=new Date;today.setTime(today.getTime());if(expires)expires=expires*1E3*60;var expires_date=new Date(today.getTime()+expires);if(encode)value="<<::"+com.slacker.util.encoding.B64.encode64(value);c=_name+"="+value+(expires?";expires="+expires_date.toGMTString():"")+(path?";path="+path:"")+(domain?";domain="+domain:"")+(secure?";secure":"");com.slacker.util.Console.log("debug","Set Cookie: "+c);document.cookie=c},deleteCookie:function(name,value,path,domain,secure){var _name=this.composeCookieName(name); 307var c=_name+"="+value+";expires=Fri, 31 Dec 1999 23:59:59 GMT"+(path?";path="+path:"")+(domain?";domain="+domain:"")+(secure?";secure":"");com.slacker.util.Console.log("debug","Delete Cookie: "+c);document.cookie=c}};registerPackage("com.slacker.util.CookieJar");com.slacker.util.CookieJar=new CookieJar})(require,com,registerPackage,document)}); 308bjork("com.slacker.util.ObjectUtils",function(){(function(){var CONSOLE=require("com.slacker.util.Console");var ArrayUtils=require("com.slacker.util.ArrayUtils");function ObjectUtils(){this.__constants();this.__constructor()}ObjectUtils.prototype={__constants:function(){},__constructor:function(){},fromObject:function($objectContainingValues,$destination,$options){var i,isFunction,isObject,isArray,isNullOrUndefined,isPrimitiveType,theTypeOf,onlyPropertiesAlreadyExisting,disregardedProperties;if($options=== 309undefined)$options={same:true,except:[],functions:false};onlyPropertiesAlreadyExisting=$options&&$options.same==true;disregardedProperties=$options&&$options.except&&$options.except.length?$options.except:[];for(i in $objectContainingValues){var canSet=!(disregardedProperties&&disregardedProperties.length>0&&disregardedProperties.indexOf(i)>=0);if(canSet)if(onlyPropertiesAlreadyExisting&&$destination[i]!=null)try{theTypeOf=typeof $destination[i];isFunction=theTypeOf==="function";isObject=theTypeOf=== 310"object"&&$destination[i].length==null;isArray=theTypeOf==="object"&&$destination[i].length!=null;isNullOrUndefined=theTypeOf===null||theTypeOf==="undefined";isPrimitiveType=!isFunction&&!isObject&&!isNullOrUndefined;if(isFunction)if(ko&&ko.isWriteableObservable($destination[i]))$destination[i]($objectContainingValues[i]);else if(ko&&ko.isObservable($destination[i])&&!($destination[i].removeAll===undefined)){$destination[i].removeAll();if($objectContainingValues[i].length!=null)$destination[i]($objectContainingValues[i])}else{if($options.functions)$destination[i]= 311$objectContainingValues[i]}else if(isObject)com.slacker.util.ObjectUtils.fromObject($objectContainingValues[i],$destination[i],$options);else if(isArray){ArrayUtils.removeAll($destination[i]);ArrayUtils.addAll($objectContainingValues[i],$destination[i])}else if(isPrimitiveType)$destination[i]=$objectContainingValues[i]}catch(error){CONSOLE.log("warn","Error with ObjectUtils.fromObject. Values have not been properly copied.\n"+i)}else $destination[i]=$objectContainingValues[i]}}};registerPackage("com.slacker.util.ObjectUtils"); 312ObjectUtils.prototype.__constants();com.slacker.util.ObjectUtils=new ObjectUtils})()}); 313bjork("com.slacker.util.ParamHash",function(){{var ParamHash=function(qStr,pairSplit,valSplit){this.qStr=qStr;this.pairDelimiter=pairSplit||"&";this.namValDelimiter=valSplit||"=";this.hash={};this._constructor()};ParamHash.prototype={_constructor:function(){var pairs=this.qStr.split(this.pairDelimiter);var nameVal;for(var i=0;i<pairs.length;i++){nameVal=pairs[i].split(this.namValDelimiter);if(nameVal[0]=="debug")this.hash[nameVal[0]]=nameVal[1]=="false"?0:nameVal[1];else this.hash[nameVal[0]]=nameVal[1]}}, 314get:function(n){return this.hash[n]},set:function(k,v){this.hash[k]=v},getQueryString:function(){return this.qStr}};registerPackage("com.slacker.util.ParamHash");com.slacker.util.ParamHash=ParamHash}}); 315bjork("com.slacker.util.StringUtils",function(){(function(){function StringUtils(){this.__beforeConstructor();this.__constructor()}StringUtils.prototype={__beforeConstructor:function(){},__constructor:function(){},afterFirst:function(p_string,p_char){if(p_string==null)return"";var idx=p_string.indexOf(p_char);if(idx==-1)return"";idx+=p_char.length;return p_string.substr(idx)},afterLast:function(p_string,p_char){if(p_string==null)return"";var idx=p_string.lastIndexOf(p_char);if(idx==-1)return"";idx+= 316p_char.length;return p_string.substr(idx)},between:function(p_string,p_start,p_end){var str="";if(p_string==null)return str;var startIdx=p_string.indexOf(p_start);if(startIdx!=-1){startIdx+=p_start.length;var endIdx=p_string.indexOf(p_end,startIdx);if(endIdx!=-1)str=p_string.substr(startIdx,endIdx-startIdx)}return str},beginsWith:function(p_string,p_begin){if(p_string==null)return false;return p_string.indexOf(p_begin)==0},endsWith:function(p_string,p_end){return p_string.lastIndexOf(p_end)==p_string.length- 317p_end.length},beforeFirst:function(p_string,p_char){if(p_string==null)return"";var idx=p_string.indexOf(p_char);if(idx==-1)return"";return p_string.substr(0,idx)},beforeLast:function(p_string,p_char){if(p_string==null)return"";var idx=p_string.lastIndexOf(p_char);if(idx==-1)return"";return p_string.substr(0,idx)}
317,doIndent:function(pIndent,pNumSpaces){var i;if(pNumSpaces===undefined)pNumSpaces=5;var result="";var indent="";for(i=0;i<pNumSpaces;i++)indent+=" ";for(i=0;i<pIndent;i++)result+=indent;return result}, 318pad:function(d,maxlen){d=d.toString();if(d.length>=maxlen)return d;else{while(d.length<maxlen)d="0"+d;return d}},replaceAll:function(org,fnd,rpl){return org.split(fnd).join(rpl)},removeCarriageReturnsAndNewLines:function(value){return value.replace(/\r?\n/g,"")},contains:function(str,fnd){return str.indexOf(fnd)>-1},hexColorToRGB:function(hexValue){hexValue=hexValue.charAt(0)=="#"?hexValue.substring(1,7):hexValue;hexValue=hexValue.beginsWith("0x")?hexValue.substring(2,8):hexValue;var rHex=hexValue.substring(0, 3192);var gHex=hexValue.substring(2,4);var bHex=hexValue.substring(4,6);return{r:parseInt(rHex,16),g:parseInt(gHex,16),b:parseInt(bHex,16)}},format:function(str,args){var newStr=str;for(var key in args)newStr=this.replaceAll(newStr,"<"+key+">",args[key]);return newStr}};registerPackage("com.slacker.util.StringUtils");com.slacker.util.StringUtils=new StringUtils})()}); 320bjork("com.slacker.util.Timer",function(){(function(){function Timer(signalTime,signalCallback){this.startTime;this.stopTime;this.elapsedTime=0;this.signalTime=signalTime;this.signalCallback=signalCallback;this.running=false;this.lapTime=0;this._signalTimer;this._constructor()}Timer.prototype={_constructor:function(){if(this.signaltime)if(!this._signalTimer&&this.signalCallback)this._signalTimer=setTimeout(this.signalCallback,this.signaltime)},setSignalTime:function(t){this.signalTime=t;this.reset(); 321this.start()},start:function(){this.startTime=(new Date).getTime();this.running=true;this._constructor()},stop:function(){this.stopTime=(new Date).getTime();this.running=false;this.lapTime=this.getElapsed()},reset:function(){this.startTime=this.stopTime=this.elapsedTime=0;this.running=false;this.lapTime=0;if(this._signalTimer){clearTimeout(this._signalTimer);this._signalTimer=0}},restart:function(){this.reset();this.start()},getElapsed:function(){var tempTime;if(this.running)tempTime=(new Date).getTime()- 322this.startTime;else tempTime=this.stopTime-this.startTime;this.elapsedTime=this.lapTime?this.elapsedTime=this.lapTime+tempTime:this.elapsedTime=tempTime;return this.elapsedTime},getTimeRemaining:function(){return this.signalTime-this.getElapsed()},isExpired:function(){return this.getElapsed()>=this.signalTime}};registerPackage("com.slacker.util.Timer");com.slacker.util.Timer=Timer})()}); 323bjork("com.slacker.util.behavior.Beacon",function(){(function(){require("com.slacker.util.CookieJar");var CONSOLE=com.slacker.util.Console;var HTML_BODY=document.getElementsByTagName("body")[0];function O(){this.RAW_LANDING=location.href;this.EVT_QUEUE=new Array;this.IS_PROCESSING=false;this.HAS_POST_SPLASH=false;this.ENV_NAMES={"dev":"slackerdev","stg":"slackerdev","prd":"slackerprod","":"slackerprod"},this.bCookie=com.slacker.util.CookieJar.getCookie("B");this.count=0;this.partnerLogging={};this.pageFormat= 324"/beacon/page/<name>";this.eventFormat="/beacon/event/<name>";this.promises=[]}O.prototype={init:function(env){var self=this;this.initTime=this.partnerLogging.initTime||(new Date).getTime();if(this.partnerLogging.enableGA)this._setUpGA();if(this.partnerLogging.formats){if(this.partnerLogging.formats.page)this.pageFormat=this.partnerLogging.formats.page;if(this.partnerLogging.formats.event)this.eventFormat=this.partnerLogging.formats.event}},addQueueEvent:function(type,options){this.EVT_QUEUE.push({t:type, 325o:options})},getQueuePromise:function(){var $jscomp$this=this;var originalSize=this.promises.length;return Promise.all(this.promises).then(function(){if($jscomp$this.EVT_QUEUE>0||$jscomp$this.promises.length>originalSize)return Promise.all($jscomp$this.promises);else return Promise.resolve()})},processQueueEvents:function(){var $jscomp$this=this;if(this.IS_PROCESSING)return this.getQueuePromise();else this.IS_PROCESSING=true;var o=this.EVT_QUEUE.shift();if(o)try{CONSOLE.log("debug","Process beacon: "+ 326o.t);if(o.t==="view")this.promises.push(this._doTagView(o.o));else if(o.t==="event")this.promises.push(this._doTagEvent(o.o));else CONSOLE.log("warn","Unknown beacon type: "+o.t)}catch(e){CONSOLE.log("error","Error processing beacon type: "+o.t+": ",e);
326this.promises.push(Promise.reject())}this.IS_PROCESSING=false;if(this.EVT_QUEUE.length>0)this.promises.push(this.processQueueEvents());else this.getQueuePromise().then(function(){$jscomp$this.promises=[]});return this.getQueuePromise()},appendConfig:function(options, 327append){for(var v in append)options[v]=append[v];if(append["evt-start-time"])options["event-load-time"]=(new Date).getTime()-append["evt-start-time"];return options},tagView:function(options){if(!options.name){CONSOLE.log("warn","Beacon.tagView called without view name");return}this.addQueueEvent("view",options);return this.processQueueEvents()},_doTagView:function(options){var promises=[{valid:this.partnerLogging.enableGA,promise:this._doGA("page",options)}].filter(function(item){return item.valid}).map(function(item){return item.promise}); 328return Promise.all(promises)},tagEvent:function(options){if(!options.name){CONSOLE.log("warn","Beacon.tagEvent called without event name");return}this.addQueueEvent("event",options);return this.processQueueEvents()},_doTagEvent:function(options){var promises=[{valid:this.partnerLogging.enableGA,promise:this._doGA("event",options)}].filter(function(item){return item.valid}).map(function(item){return item.promise});return Promise.all(promises)},_doSlackerBeacon:function(type,options){var buf=type=== 329"page"?this.pageFormat:this.eventFormat;if(options.pageName)buf=buf.replace("<pageName>",encodeURI(options.pageName.replace(/:/g,"/")));var tmp,evts;if(!options.params)options.params={};options.params.e=(new Date).getTime()-this.initTime;options.params.n=++this.count;buf=buf.replace("<name>",options.name);if(buf.indexOf("event/ad/")>-1)buf=buf.replace("event/ad/","ad/");var qString=[],param;var i;if(options.params)for(param in options.params)qString.push(param+"="+encodeURIComponent(options.params[param])); 330if(qString.length>0){var q=qString.join("&");if(q.indexOf("&")==0)q=q.replace("&","");buf+="?"+q}if(options.subevents)buf+="&subevents="+options.subevents.join(",");return this._doBeaconUrl(buf)},_doGA:function(type,options){var $jscomp$this=this;return new Promise(function(resolve,reject){var siteOrigin=window.location.origin.replace("account","www");var gaCon=$jscomp$this.partnerLogging.gaConfig,counter=0,steps=[];var handleSingleCompletion=function(){counter++;console.log(counter+" items complete"); 331if(counter===steps.length)resolve("SUCCESS: "+steps.length+" items completed")};var executeSteps=function(){steps.length?steps.forEach(function(step){return step.exec()}):resolve()};if(type==="event"){if(gaCon.events!=="*"&&gaCon.events&&!gaCon.events[options.name]){resolve();return}var logEvt={name:options.name,value:options.value,label:options.type};steps=[{valid:typeof gtmDataLayer!=="undefined",exec:function(){var _dl={dataLayer:{"label":logEvt.label,"value":logEvt.value,"event":logEvt.name,"page_title":document.title, 332"page_location":window.location.href,"traffic_type":APP_ENV=="prd"?"exernal":"internal"}};if(options.params)Object.keys(options.params).forEach(function(_p){return _dl.dataLayer["param-"+_p]=options.params[_p]});if(window.self!==window.top)window.parent.postMessage(JSON.stringify(_dl),siteOrigin);else gtmDataLayer.push(_dl.dataLayer);handleSingleCompletion()}}].filter(function(step){return step.valid})}else if($jscomp$this.partnerLogging.gaConfig.pageview){var pageName=options.name.replace(/:/g,"/"); 333steps=[{valid:typeof gtmDataLayer!=="undefined",exec:function(){var _dl={dataLayer:{"event":"navigate","page":pageName,"page_title":document.title,"page_location":window.location.href,"traffic_type":APP_ENV=="prd"?"exernal":"internal","eventCallback":handleSingleCompletion()}};if(window.self!==window.top)window.parent.postMessage(JSON.stringify(_dl),siteOrigin);else gtmDataLayer.push(_dl.dataLayer);handleSingleCompletion()}}].filter(function(step){return step.valid})}executeSteps()})},_doBeaconUrl:function(url){var $jscomp$this= 334this;return new Promise(function(resolve,reject){url=url.replace(/&&/g,"&");if($jscomp$this.partnerLogging&&$jscomp$this.partnerLogging.configPartner!=="slacker")url=url.replace("/beacon/","/beacon/"+$jscomp$this.partnerLogging.clientid+"/");CONSOLE.log("debug","beacon() firing URL:\n"+url);$.ajax(url,{method:"GET",success:function(){CONSOLE.log("debug","beacon() success! URL:\n"+url)},error:function(){CONSOLE.log("debug","beacon() error! URL:\n"+url)},complete:function(jqXHR,textStatus){resolve()}})})}, 335_setUpGA:function(){var gaConfig=this.partnerLogging.gaConfig,tmp="*";(function(){var s=document.createElement("script");var el=document.getElementsByTagName("script")[0];s.async=true;
335s.src="https://www.googletagmanager.com/gtag/js?id="+gaConfig.ga4;el.parentNode.insertBefore(s,el)})();window.gtmDataLayer=window.gtmDataLayer||[];window.gtag=function(){gtmDataLayer.push(arguments)};gtag("js",new Date);var gtagGonfig={"anonymize_ip":true,"send_page_view":false,"cookie_flags":"SameSite=None;Secure", 336"linker":{"domains":["slacker.com","livexlive.com","liveone.com"]}};if(gaConfig.events&&typeof gaConfig.events!=="string"){tmp={};gaConfig.events.forEach(function(_e){CONSOLE.debug("Setting GA event allowed: "+_e);tmp[_e]=1})}gaConfig.events=tmp;gtag("config",gaConfig.ga4,gtagGonfig)}};registerPackage("com.slacker.util.behavior.Beacon");com.slacker.util.behavior.Beacon=new O})()}); 337bjork("com.slacker.util.browser.Browser",function(){(function(){var HTML_HEAD=document.getElementsByTagName("head")[0];function Browser(){this.UA=window.navigator.userAgent||navigator.vendor||window.opera;this.utils;this.version;this._ctor();this._visible=false}Browser.prototype={_ctor:function(){if(this.isChrome()){require("com.slacker.util.browser.Chrome");this.utils=new com.slacker.util.browser.Chrome(this)}else if(this.isIE()){require("com.slacker.util.browser.IE");this.utils=new com.slacker.util.browser.IE(this)}}, 338uaCheck:function(check){return this.UA.toLowerCase().indexOf(check.toLowerCase())>-1},isVisible:function(){return this._visible},isIE:function(){return this.uaCheck("MSIE")||this.uaCheck("Trident/")},isIE7:function(){return this.uaCheck("MSIE 7")&&!this.uaCheck("Trident/4.0")},isIE8:function(){return this.uaCheck("MSIE 8")||this.isIE8CompatibilityView()},isIE8CompatibilityView:function(){return this.uaCheck("MSIE 7")&&this.uaCheck("Trident/4.0")},isIE9:function(){return this.uaCheck("trident/5.0")|| 339this.uaCheck("MSIE 9")},isIE10:function(){return this.uaCheck("trident/6.0")},isMsEdge:function(){return this.uaCheck("Win")&&this.uaCheck("Edge")},isMSHostApp:function(){return this.uaCheck("MSAppHost")},isMSDesktopHostApp:function(){return this.isMSHostApp()&&this.uaCheck("Windows NT")},isMSMobileHostApp:function(){return this.isMSHostApp()&&this.uaCheck("Windows Phone")},isMSXboxHostApp:function(){return this.isMSHostApp()&&this.uaCheck("Xbox One")},isIEPinnable:function(){return this.isWindows7()&& 340this.isIE9()},isOSPinnable:function(){return this.isWindows7()},isSitePinned:function(){if(this.isIE()&&window.external&&"msIsSiteMode"in window.external&&window.external.msIsSiteMode())return true;else return false},isMac:function(){return this.uaCheck("Mac")&&!this.isIOS()},isWindows:function(){return this.uaCheck("Windows")},isWindows7:function(){return this.uaCheck("Windows NT 7.")||this.uaCheck("Windows NT 6.1")},isVista:function(){return this.uaCheck("Windows NT 6.0")},isXp:function(){return this.uaCheck("Windows NT 5.1")}, 341isChrome:function(){return this.uaCheck("Chrome/")},isFirefox:function(){return this.uaCheck("Firefox/")},isSafari:function(){return this.uaCheck("Safari/")&&!this.uaCheck("Chrome/")},isCorsSupported:function(){if(this.isIE7())return false;return true},canUseHtml5AudioMimeType:function(){return!this.isMobileDevice()&&!this.isTV()},supportsHTML5MediaSource:function(){var operaCheck=this.UA.match(/OMI\/(\d+\.\d+\.\d+\.\d+)/),embedOperaV=this.uaCheck("OPR/")&&operaCheck?operaCheck[1]:null,vBits;if(embedOperaV){vBits= 342embedOperaV.split(".");if(vBits[0]<4)return false;else if(vBits[0]==4&&vBits[1]<8)return false;else if(vBits[0]==4&&vBits[1]==8&&vBits[0]<2)return false;else return true}else return typeof fetch!=="undefined"&&typeof MediaSource!=="undefined"&&typeof MediaSource.isTypeSupported!=="undefined"?true:false},supportsMediaSourceFormat:function(fmtHint){if(this.supportsHTML5MediaSource())switch(fmtHint){case "mp3":return MediaSource.isTypeSupported("audio/mpeg");case "aac":return MediaSource.isTypeSupported('video/mp4;codecs="mp4a.40.5"'); 343default:return false}else return false},supportsHtml5HLS:function(){return typeof Hls!=="undefined"&&Hls.isSupported()},isMobileDevice:function(){if(this.uaCheck("xbox")||this.isTV())return false;else if(this.isAndroidPhone()||this.isAndroidTablet()||this.isPhone()||this.UA.match(/Chrome\/[.0-9]* Mobile/i)||this.isIOS())return true;else{var check=false;
343(function(a){if(/(android|bb\d+|meego).+mobile|(android \d\.)|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)|| 344/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 3454)))check=true})(navigator.userAgent||navigator.vendor||window.opera);return check}},getPhoneModelInfo:function(){return this.uaCheck("phone")||this.UA.match(/Chrome\/[.0-9]* Mobile/i)||this.UA.match(/(galaxy)?\s?nexus ([3|4|5|6])?/i)||this.UA.match(/(GT-I9)|(SM-N9)|(SGH-)/i)||this.UA.match(/; HTC/i)||this.isAndroidPhone()},isPhone:function(){return this.getPhoneModelInfo()!=false},isAndroidTablet:function(){return this.uaCheck("android")&&!this.uaCheck("mobile")},isAndroidPhone:function(){return this.uaCheck("android")&& 346this.uaCheck("mobile")||this.uaCheck("SGH-")},isIOS:function(){return this.uaCheck("iphone")||this.uaCheck("ipod")||this.uaCheck("ipad")},isDesktop:function(){return!this.isMSHostApp()&&!this.uaCheck("xbox")&&!this.isTV()&&(!this.isMobileDevice()||typeof window.orientation==="undefined")},isTV:function(){var operaCheck=this.UA.match(/OMI\/(\d+\.\d+\.\d+\.\d+)/);return this.UA.match(/(-)?TV/)||this.uaCheck("Xbox")||this.uaCheck("Large Screen")||this.uaCheck("SonyCEBrowser")||this.uaCheck("OPR/")&& 347operaCheck},browser:{"localStorage":function(){try{return"localStorage"in window&&window["localStorage"]!==null}catch(e){return false}},"audioTag":function(){var elem=document.createElement("audio"),bool=false;try{if(bool=!!elem.canPlayType){bool=new Boolean(bool);bool.ogg=elem.canPlayType('audio/ogg; codecs="vorbis"');bool.mp3=elem.canPlayType("audio/mpeg;");bool.wav=elem.canPlayType('audio/wav; codecs="1"');bool.m4a=elem.canPlayType("audio/x-m4a;")||elem.canPlayType("audio/aac;");bool.aac=elem.canPlayType("audio/aac;")}}catch(e){}return bool}, 348"audioTagWithMp3":function(){var elem=document.createElement("audio");if(elem&&elem.canPlayType&&elem.canPlayType("audio/mpeg;"))return elem.canPlayType("audio/mpeg;")!="";else return false},"audioTagWithAac":function(){var elem=document.createElement("audio");if(elem&&elem.canPlayType&&(elem.canPlayType("audio/x-m4a;")||elem.canPlayType("audio/aac;")))return elem.canPlayType("audio/x-m4a;")!=""&&elem.canPlayType("audio/aac;")!="";else return false},"navigatorOnline":function(){try{return navigator.onLine}catch(e){return false}},
349"ajaxSupport":function(){var xhr=null;try{xhr=new XMLHttpRequest}catch(e){}try{xhr=new ActiveXObject("Microsoft.XMLHTTP")}catch(e2){}try{xhr=new ActiveXObject("Msxml2.XMLHTTP")}catch(e3){}return xhr!=null},"cookies":function(){var tmpcookie=new Date;var chkcookie=tmpcookie.getTime()+"";document.cookie="chkcookie="+chkcookie+"; path=/";if(document.cookie.indexOf(chkcookie,0)<0)return false;else return true}},"keyEventHasCapsLock":function(keyEvent){var CAPSLOCK_ON="caps_lock_on";var CAPSLOCK_OFF="caps_lock_off"; 350var CAPSLOCK_UNDETERMINED="caps_lock_undetermined";var returnValue=CAPSLOCK_UNDETERMINED;if(!keyEvent)return false;var ascii_code=keyEvent.which;var letter=String.fromCharCode(ascii_code);var upper=letter.toUpperCase();var lower=letter.toLowerCase();var shift_key=keyEvent.shiftKey;var MAC_SHIFT_HACK=true;var CAPSLOCK_DEBUG=false;if(upper!==lower)if(letter===upper&&!shift_key)returnValue=CAPSLOCK_ON;else if(letter===lower&&!shift_key)returnValue=CAPSLOCK_OFF;else if(letter===lower&&shift_key)returnValue= 351CAPSLOCK_ON;else if(letter===upper&&shift_key)if(navigator.platform.toLowerCase().indexOf("win")!==-1)returnValue=CAPSLOCK_OFF;else if(navigator.platform.toLowerCase().indexOf("mac")!==-1&&MAC_SHIFT_HACK)returnValue=CAPSLOCK_OFF;else returnValue=CAPSLOCK_UNDETERMINED;else returnValue=CAPSLOCK_UNDETERMINED;else returnValue=CAPSLOCK_UNDETERMINED;return returnValue===CAPSLOCK_ON},onWindowVisibilityChange:function(evt){var v="visible",h="hidden",evtMap={focus:v,focusin:v,pageshow:v,blur:h,focusout:h, 352pagehide:h};evt=evt||window.event;if(evt.type in evtMap)com.slacker.util.browser.Browser._visible=evtMap[evt.type]==v;else com.slacker.util.browser.Browser._visible=this["hidden"]==false||this["hidden"]==v}};registerPackage("com.slacker.util.browser.Browser");com.slacker.util.browser.Browser=new Browser;(function(){var hidden="hidden";if(hidden in document)document.addEventListener("visibilitychange",com.slacker.util.browser.Browser.onWindowVisibilityChange);else if((hidden="mozHidden")in document)document.addEventListener("mozvisibilitychange", 353com.slacker.util.browser.Browser.onWindowVisibilityChange);else if((hidden="webkitHidden")in document)document.addEventListener("webkitvisibilitychange",com.slacker.util.browser.Browser.onWindowVisibilityChange);else if((hidden="msHidden")in document)document.addEventListener("msvisibilitychange",com.slacker.util.browser.Browser.onWindowVisibilityChange);else if("onfocusin"in document)document.onfocusin=document.onfocusout=com.slacker.util.browser.Browser.onWindowVisibilityChange;else window.onpageshow= 354window.onpagehide=window.onfocus=window.onblur=com.slacker.util.browser.Browser.onWindowVisibilityChange;if(document["hidden"]!==undefined)com.slacker.util.browser.Browser.onWindowVisibilityChange({type:document["hidden"]?"blur":"focus"})})();(function(){if(self.fetch)return;function normalizeName(name){if(typeof name!=="string")name=String(name);
354if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name))throw new TypeError("Invalid character in header field name");return name.toLowerCase()}function normalizeValue(value){if(typeof value!== 355"string")value=String(value);return value}function Headers(headers){this.map={};if(headers instanceof Headers)headers.forEach(function(value,name){this.append(name,value)},this);else if(headers)Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name])},this)}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var list=this.map[name];if(!list){list=[];this.map[name]=list}list.push(value)};Headers.prototype["delete"]=function(name){delete this.map[normalizeName(name)]}; 356Headers.prototype.get=function(name){var values=this.map[normalizeName(name)];return values?values[0]:null};Headers.prototype.getAll=function(name){return this.map[normalizeName(name)]||[]};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name))};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=[normalizeValue(value)]};Headers.prototype.forEach=function(callback,thisArg){Object.getOwnPropertyNames(this.map).forEach(function(name){this.map[name].forEach(function(value){callback.call(thisArg, 357value,name,this)},this)},this)};function consumed(body){if(body.bodyUsed)return Promise.reject(new TypeError("Already read"));body.bodyUsed=true}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result)};reader.onerror=function(){reject(reader.error)}})}function readBlobAsArrayBuffer(blob){var reader=new FileReader;reader.readAsArrayBuffer(blob);return fileReaderReady(reader)}function readBlobAsText(blob){var reader=new FileReader; 358reader.readAsText(blob);return fileReaderReady(reader)}var support={blob:"FileReader"in self&&"Blob"in self&&function(){try{new Blob;return true}catch(e){return false}}(),formData:"FormData"in self};function Body(){this.bodyUsed=false;this._initBody=function(body){this._bodyInit=body;if(typeof body==="string")this._bodyText=body;else if(support.blob&&Blob.prototype.isPrototypeOf(body))this._bodyBlob=body;else if(support.formData&&FormData.prototype.isPrototypeOf(body))this._bodyFormData=body;else if(!body)this._bodyText= 359"";else throw new Error("unsupported BodyInit type");};if(support.blob){this.blob=function(){var rejected=consumed(this);if(rejected)return rejected;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);else if(this._bodyFormData)throw new Error("could not read FormData body as blob");else return Promise.resolve(new Blob([this._bodyText]))};this.arrayBuffer=function(){return this.blob().then(readBlobAsArrayBuffer)};this.text=function(){var rejected=consumed(this);if(rejected)return rejected;if(this._bodyBlob)return readBlobAsText(this._bodyBlob); 360else if(this._bodyFormData)throw new Error("could not read FormData body as text");else return Promise.resolve(this._bodyText)}}else this.text=function(){var rejected=consumed(this);return rejected?rejected:Promise.resolve(this._bodyText)};if(support.formData)this.formData=function(){return this.text().then(decode)};this.json=function(){return this.text().then(JSON.parse)};return this}var methods=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function normalizeMethod(method){var upcased=method.toUpperCase(); 361return methods.indexOf(upcased)>-1?upcased:method}
361function Request(input,options){options=options||{};var body=options.body;if(Request.prototype.isPrototypeOf(input)){if(input.bodyUsed)throw new TypeError("Already read");this.url=input.url;this.credentials=input.credentials;if(!options.headers)this.headers=new Headers(input.headers);this.method=input.method;this.mode=input.mode;if(!body){body=input._bodyInit;input.bodyUsed=true}}else this.url=input;this.credentials=options.credentials||this.credentials|| 362"omit";if(options.headers||!this.headers)this.headers=new Headers(options.headers);this.method=normalizeMethod(options.method||this.method||"GET");this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==="GET"||this.method==="HEAD")&&body)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(body)}Request.prototype.clone=function(){return new Request(this)};function decode(body){var form=new FormData;body.trim().split("&").forEach(function(bytes){if(bytes){var split= 363bytes.split("=");var name=split.shift().replace(/\+/g," ");var value=split.join("=").replace(/\+/g," ");form.append(decodeURIComponent(name),decodeURIComponent(value))}});return form}function headers(xhr){var head=new Headers;var pairs=xhr.getAllResponseHeaders().trim().split("\n");pairs.forEach(function(header){var split=header.trim().split(":");var key=split.shift().trim();var value=split.join(":").trim();head.append(key,value)});return head}Body.call(Request.prototype);function Response(bodyInit, 364options){if(!options)options={};this._initBody(bodyInit);this.type="default";this.status=options.status;this.ok=this.status>=200&&this.status<300;this.statusText=options.statusText;this.headers=options.headers instanceof Headers?options.headers:new Headers(options.headers);this.url=options.url||""}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})};Response.error= 365function(){var response=new Response(null,{status:0,statusText:""});response.type="error";return response};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1)throw new RangeError("Invalid status code");return new Response(null,{status:status,headers:{location:url}})};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request;if(Request.prototype.isPrototypeOf(input)&& 366!init)request=input;else request=new Request(input,init);var xhr=new XMLHttpRequest;function responseURL(){if("responseURL"in xhr)return xhr.responseURL;if(/^X-Request-URL:/m.test(xhr.getAllResponseHeaders()))return xhr.getResponseHeader("X-Request-URL");return}xhr.onload=function(){var status=xhr.status===1223?204:xhr.status;if(status<100||status>599){reject(new TypeError("Network request failed"));return}var options={status:status,statusText:xhr.statusText,headers:headers(xhr),url:responseURL()}; 367var body="response"in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options))};xhr.onerror=function(){reject(new TypeError("Network request failed"))};xhr.open(request.method,request.url,true);if(request.credentials==="include")xhr.withCredentials=true;if("responseType"in xhr&&support.blob)xhr.responseType="blob";request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value)});xhr.send(typeof request._bodyInit==="undefined"?null:request._bodyInit)})};self.fetch.polyfill= 368true})()})()}); 369bjork("com.slacker.util.browser.BrowserDetection",function(){var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS"},searchString:function(data){var i;for(i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity; 370if(dataString){if(dataString.indexOf(data[i].subString)!=-1)return data[i].identity}else if(dataProp)return data[i].identity}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor, 371subString:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"}, 372{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]}}); 373bjork("com.slacker.util.browser.Chrome",function(){(function(){function Chrome(browser){this.browser=browser;this._ctor()}Chrome.prototype={_ctor:function(){var v=/Chrome\/(\d+(\.\d+)?(\.\d+)?(\.\d+)?)/.exec(navigator.appVersion);this.browser.version=v?v[1]:0}};registerPackage("com.slacker.util.browser.Chrome");com.slacker.util.browser.Chrome=Chrome})()}); 374bjork("com.slacker.util.browser.IE",function(){(function(){require("com.slacker.util.Console");var CONSOLE=com.slacker.util.Console;function IE(browser){this.browser=browser;this._ctor()}IE.prototype={_ctor:function(){var v=/MSIE(\d+\.\d+)/.exec(navigator.appVersion);this.browser.version=v?v[1]:0},setPinnedSiteCallback:function(pinHandler){document.addEventListener("msthumbnailclick",pinHandler,false)},addPinnedSiteButton:function(icon,action){if(this.browser.isIE9()&&this.browser.isWindows7())return window.external.msSiteModeAddThumbBarButton(icon, 375action);else return null},showPinnedSiteThumbBar:function(){window.external.msSiteModeShowThumbBar()},setPinnedJumpList:function(title,items){window.external.msSiteModeClearJumplist();window.external.msSiteModeCreateJumpList(title);var i;for(i=0;i<items.length;i++){var inOut=items[i].cat==="out"?"?":"#";var item=typeof DJQUEUE!=="undefined"?"#"+items[i].sid:inOut+"sid="+items[i].sid;window.external.msSiteModeAddJumpListItem(items[i].name,item,items[i].icon,"self")}window.external.msSiteModeShowJumpList()}}; 376registerPackage("com.slacker.util.browser.IE");com.slacker.util.browser.IE=IE})()}); 377bjork("com.slacker.util.browser.Safari",function(){var SafariFix={fixSafariCookie
377s:function(div){BrowserDetect.init();var isSafari=BrowserDetect.browser=="Safari";var isInIframe=window!=window.top;var isAbleToStoreCookies=false;var cookieName="safariCookieTest";var cookieValue=Math.floor(Math.random()*1E5);var cookieDate=new Date;cookieDate.setDate(cookieDate.getDate()+1);var i,x,y,ARRcookies=document.cookie.split(";");for(i=0;i<ARRcookies.length;i++){x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 378y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);x=x.replace(/^\s+|\s+$/g,"");if(x==cookieName)if(unescape(y)==cookieValue)isAbleToStoreCookies=true}if(isSafari&&isInIframe&&!isAbleToStoreCookies);}}}); 379bjork("com.slacker.util.encoding.B64",function(){(function(){function B64(){this.oCopy="This code was written by Tyler Akins and has been placed in the"+"public domain. It would be nice if you left this header intact."+"Base64 code from Tyler Akins -- http://rumkin.com"+"2007 - Slacker, Inc. DB - Changed '=' in keyStr to '|' to allow storage of results in cookies."+"Also modified to fit into 'Jax' framework.";this.version="$LastChangedRevision: 1322 $";this.keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/|"} 380B64.prototype={encode64:function(input){var output=[];var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;do{chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=(chr1&3)<<4|chr2>>4;enc3=(chr2&15)<<2|chr3>>6;enc4=chr3&63;if(isNaN(chr2))enc3=enc4=64;else if(isNaN(chr3))enc4=64;output[output.length]=this.keyStr.charAt(enc1);output[output.length]=this.keyStr.charAt(enc2);output[output.length]=this.keyStr.charAt(enc3);output[output.length]=this.keyStr.charAt(enc4)}while(i< 381input.length);return output.join("")},decode64:function(input){var output=[];var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;if(!input)return"";input=input.replace(/[^A-Za-z0-9\+\/\|]/g,"");do{enc1=this.keyStr.indexOf(input.charAt(i++));enc2=this.keyStr.indexOf(input.charAt(i++));enc3=this.keyStr.indexOf(input.charAt(i++));enc4=this.keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output[output.length]=String.fromCharCode(chr1);if(enc3!=64)output[output.length]= 382String.fromCharCode(chr2);if(enc4!=64)output[output.length]=String.fromCharCode(chr3)}while(i<input.length);return output.join("")}};registerPackage("com.slacker.util.encoding.B64");com.slacker.util.encoding.B64=new B64})()}); 383bjork("com.slacker.util.encoding.JWT",function(){(function(){function JWT(){}JWT.prototype={parse:function(token){var base64Url=token.split(".")[1];var base64=base64Url.replace(/-/g,"+").replace(/_/g,"/");var jsonPayload=decodeURIComponent(window.atob(base64).split("").map(function(c){return"%"+("00"+c.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(jsonPayload)}};registerPackage("com.slacker.util.encoding.JWT");com.slacker.util.encoding.JWT=new JWT})()}); 384bjork("com.slacker.util.encoding.MD5",function(){(function(){var oCopy="A JavaScript implementation of the RSA Data Security, Inc. MD5 Message"+"Digest Algorithm, as defined in RFC 1321."+"Version 2.1 Copyright (C) Paul Johnston 1999 - 2002."+"Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet"+"Distributed under the BSD License"+"See http://pajhome.org.uk/crypt/md5 for more info."+"2007 - Slacker, Inc. Tweaked to fit into 'Jax' framework.";var hexcase=0;var b64pad="";var chrsz=8;function MD5(){this.hex_md5= 385function(s){return binl2hex(core_md5(str2binl(s),s.length*chrsz))};this.b64_md5=function(s){return binl2b64(core_md5(str2binl(s),s.length*chrsz))};this.str_md5=function(s){return binl2str(core_md5(str2binl(s),s.length*chrsz))};this.hex_hmac_md5=function(key,data){return binl2hex(core_hmac_md5(key,data))};this.b64_hmac_md5=function(key,data){return binl2b64(core_hmac_md5(key,data))};this.str_hmac_md5=function(key,data){return binl2str(core_hmac_md5(key,data))}}function md5_vm_test(){return hex_md5("abc")== 386"900150983cd24fb0d6963f7d28e17f72"}function core_md5(x,len){x[len>>5]|=128<<len%32;x[(len+64>>>9<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+ 3876],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d, 388a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a, 389b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d, 390a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c, 391d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd)}return Array(a,b,c,d)}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn(b&c|~b&d,a,b,x,s,t)}function md5_gg(a, 392b,c,d,x,s,t){return md5_cmn(b&d|c&~d,a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|~d),a,b,x,s,t)}function core_hmac_md5(key,data){var bkey=str2binl(key);if(bkey.length>16)bkey=core_md5(bkey,key.length*chrsz);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^909522486;opad[i]=bkey[i]^1549556828}var hash=core_md5(ipad.concat(str2binl(data)),512+data.length*chrsz);return core_md5(opad.concat(hash),512+ 393128)}function safe_add(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}function bit_rol(num,cnt){return num<<cnt|num>>>32-cnt}function str2binl(str){var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz)bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<i%32;return bin}function binl2str(bin){var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz)str+=String.fromCharCode(bin[i>>5]>>>i%32&mask);return str}function binl2hex(binarray){var hex_tab= 394hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++)str+=hex_tab.charAt(binarray[i>>2]>>i%4*8+4&15)+hex_tab.charAt(binarray[i>>2]>>
394i%4*8&15);return str}function binl2b64(binarray){var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3){var triplet=(binarray[i>>2]>>8*(i%4)&255)<<16|(binarray[i+1>>2]>>8*((i+1)%4)&255)<<8|binarray[i+2>>2]>>8*((i+2)%4)&255;for(var j=0;j<4;j++)if(i*8+j*6>binarray.length* 39532)str+=b64pad;else str+=tab.charAt(triplet>>6*(3-j)&63)}return str}registerPackage("com.slacker.util.encoding.MD5");com.slacker.util.encoding.MD5=new MD5})()}); 396bjork("com.slacker.util.encoding.SHA1",function(){{var binb2b64=function(binarray){var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3){var triplet=(binarray[i>>2]>>8*(3-i%4)&255)<<16|(binarray[i+1>>2]>>8*(3-(i+1)%4)&255)<<8|binarray[i+2>>2]>>8*(3-(i+2)%4)&255;for(var j=0;j<4;j++)if(i*8+j*6>binarray.length*32)str+=b64pad;else str+=tab.charAt(triplet>>6*(3-j)&63)}return str};var binb2hex=function(binarray){var hex_tab=hexcase?"0123456789ABCDEF": 397"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++)str+=hex_tab.charAt(binarray[i>>2]>>(3-i%4)*8+4&15)+hex_tab.charAt(binarray[i>>2]>>(3-i%4)*8&15);return str};var binb2str=function(bin){var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz)str+=String.fromCharCode(bin[i>>5]>>>24-i%32&mask);return str};var str2binb=function(str){var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz)bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<24-i%32;return bin}; 398var rol=function(num,cnt){return num<<cnt|num>>>32-cnt};var safe_add=function(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535};var core_hmac_sha1=function(key,data){var bkey=str2binb(key);if(bkey.length>16)bkey=core_sha1(bkey,key.length*chrsz);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^909522486;opad[i]=bkey[i]^1549556828}var hash=core_sha1(ipad.concat(str2binb(data)),512+data.length*chrsz);return core_sha1(opad.concat(hash), 399512+160)};var sha1_kt=function(t){return t<20?1518500249:t<40?1859775393:t<60?-1894007588:-899497514};var sha1_ft=function(t,b,c,d){if(t<20)return b&c|~b&d;if(t<40)return b^c^d;if(t<60)return b&c|b&d|c&d;return b^c^d};var core_sha1=function(x,len){x[len>>5]|=128<<24-len%32;x[(len+64>>9<<4)+15]=len;var w=Array(80);var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;var e=-1009589776;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;var olde=e;for(var j=0;j<80;j++){if(j< 40016)w[j]=x[i+j];else w[j]=rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);var t=safe_add(safe_add(rol(a,5),sha1_ft(j,b,c,d)),safe_add(safe_add(e,w[j]),sha1_kt(j)));e=d;d=c;c=rol(b,30);b=a;a=t}a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);e=safe_add(e,olde)}return Array(a,b,c,d,e)};var sha1_vm_test=function(){return hex_sha1("abc")=="a9993e364706816aba3e25717850c26c9cd0d89d"};var SHA1=function(){};var hexcase=0;var b64pad="=";var chrsz=8;SHA1.prototype={hex_sha1:function(s){return binb2hex(core_sha1(str2binb(s), 401s.length*chrsz))},b64_sha1:function(s){return binb2b64(core_sha1(str2binb(s),s.length*chrsz))},str_sha1:function(s){return binb2str(core_sha1(str2binb(s),s.length*chrsz))},hex_hmac_sha1:function(key,data){return binb2hex(core_hmac_sha1(key,data))},b64_hmac_sha1:function(key,data){return binb2b64(core_hmac_sha1(key,data))},str_hmac_sha1:function(key,data){return binb2str(core_hmac_sha1(key,data))}};registerPackage("com.slacker.util.encoding.SHA1");com.slacker.util.encoding.SHA1=new SHA1}}); 402bjork("com.slacker.util.encoding.SignatureVerifier",function(){{var SignatureVerifier=function(){this.salt="http://www.slacker.com/wsv1/sdplayer/station/definitions/";this.saltNumber=16935270;this.defaultPublicKey="MIIBuDCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZp"+"RV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fn"+"xqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuE"+"C/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJ"+ 403"FnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImo"+"g9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYUAAoGBAMm2Z9JJaFiZK9UHsXRUbfbqkvAYOYnSBah3"+"rylo3C/tv+1YV22PGb1YdIuPHhI0Dug7IRPhT5P03oLOt1FBeN92+TwModsu+U18qrAndWvLWzRw"+"+4rV7hdd7hPjvfForg9pHln5Drvw2P6cmOnh9pdGPrNsI58SBaPxWUnKknk6"};require("com.slacker.util.encoding.SHA1");require("com.slacker.util.encoding.B64");require("com.slacker.util.Console");var CONSOLE=com.slacker.util.Console;SignatureVerifier.prototype={verifySimple:function(signatureBase64, 404message){var sig=signatureBase64.substring(2);digest=[];digest.push(this.salt);digest.push(com.slacker.util.encoding.B64.decode64(this.defaultPublicKey));digest.push(message);digest.push(""+this.saltNumber);var s=digest.join("");var start=(new Date).getTime();var test=com.slacker.util.encoding.SHA1.b64_sha1(s);var end=(new Date).getTime()-start;CONSOLE.log("debug","SHA1 took "+end+" ms");if(sig.length!=test.length)return false;else if(sig!=test)return false;else return true}};registerPackage("com.slacker.util.encoding.SignatureVerifier"); 405com.slacker.util.encoding.SignatureVerifier=new SignatureVerifier}}); 406bjork("com.slacker.util.social.Apple",function(){(function(){require("com.slacker.util.Console");var UrlModule=require("com.slacker.app.modules.UrlModule");var CONSOLE=com.slacker.util.Console;var HTML_HEAD=document.getElementsByTagName("head")[0];var APPLE_LOGIN="apple";function Apple(){this.API=null;this.initialState=this.newUUID();this.initCalled=false;this.appleClientID="com.slacker.siwa.service";this.appleLoginLocalStorageKey="appleSignin";this.appleRedirectURI="https://account."+UrlModule.DEV_STG+ 407"liveone.com/"}Apple.prototype={execute:function(func){var self=this;if(!this.API&&!com.slacker.util.browser.Browser.isTV()){CONSOLE.log("warn","execute - Apple not yet loaded. Wait...");setTimeout(function(){self.execute(func)},1E3)}else func.apply(null,[])},checkApiLoaded:function(testObj,delay,callback){var self=this,bits=testObj.split("."),test;if(bits.length>1)try{test=window[bits[0]][bits[1]]}catch(e){test=undefined}else test=window[testObj];if(typeof test==="undefined"){CONSOLE.log("warn", 408"Waiting for "+testObj+" onload.");setTimeout(function(){this.checkApiLoaded(testObj,delay,callback)}.bind(self),delay||2E3)}else switch(testObj){case "AppleID":if(!this.initCalled){AppleID.auth.init({clientId:self.appleClientID,scope:"email name",redirectURI:self.appleRedirectURI,state:self.initialState,usePopup:true});this.initCalled=true}!!callback&&callback();break}},waitForAPI:function(method,args){var $jscomp$this=this;if(!this.initCalled){var self$23=this;CONSOLE.log("warn","Apple API not loaded. Retry in 500ms: "+
409method);setTimeout(function(){if(!$jscomp$this.waitForAPI(method,args))$jscomp$this[method](args)},500);return true}else return false},subscribe:function(event,callback){var self=this;if(!this.waitForAPI("subscribe",arguments))this.API.Event.subscribe(event,callback)},doLoginAction:function(){var $jscomp$this=this;AppleID.auth.signIn().then(function(data){return data&&$jscomp$this.onLoginSuccess(data)}).catch(function(error){return $jscomp$this.onLoginFailure(error)})},onload:function(){CONSOLE.log("warn", 410"Apple API loaded!");this.API=true},onLoginSuccess:function(appleUserInfo){if(!appleUserInfo){this.onLoginFailure("empty_response");return}var user=appleUserInfo.user;var email=user?user.email:"";var fullName=user&&user.name?user.name.firstName+" "+user.name.lastName:"";CONSOLE.log("info","Apple Auth Success! User name: "+fullName+" , email: "+email);var authorization=appleUserInfo.authorization;if(!authorization||this.initialState!=authorization.state){this.onLoginFailure(this.initialState!=authorization.state? 411"state_does_not_match":null);return}var idToken=authorization.id_token;CONSOLE.log("info","Apple Auth Success! -");if(APP.views.login&&APP.views.login.visible())APP.views.login.onAppleLoginReturn(null,idToken,fullName,null);else APP_EVENTS.notify("onAppleUserData",[null,idToken,fullName]);this.isLoginProcessing=false},onLoginFailure:function(resp){var reason=resp.error?resp.error:resp&&resp.detail&&resp.detail.error?resp.detail.error:resp;var message;this.isLoginProcessing=false;CONSOLE.log("warn", 412"Apple login error: "+reason);com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthFail",type:APPLE_LOGIN,value:reason,params:{flow:APPLE_LOGIN,label:reason}});switch(reason){case "popup_blocked_by_browser":message="The Apple Login pop-up was blocked by your browser. Please allow pop-ups from this page to log in with Apple.";break;case "user_cancelled_authorize":message="User canceled login.";break;case "popup_closed_by_user":message="User closed the pop up.";break;case "state_does_not_match":message= 413"The Apple Login pop-up failed due to state inconsistencies. Please try again.";break;default:message=null}CONSOLE.log("info","Apple Auth Failure! - "+message);if(APP.currentView&&APP.currentView.onAppleLoginReturn)APP.currentView.onAppleLoginReturn(null,null,null,{reason:reason,message:message})},_loadRequiredJS:function(src,listener){(function(){var po=document.createElement("script");po.type="text/javascript";po.async=true;po.src=src;var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(po, 414s);if(listener)listener()})()},newUUID:function(){var dt=(new Date).getTime();var uuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(dt+Math.random()*16)%16|0;dt=Math.floor(dt/16);return(c=="x"?r:r&3|8).toString(16)});return uuid}};registerPackage("com.slacker.util.social.Apple");com.slacker.util.social.Apple=new Apple;com.slacker.util.social.Apple._loadRequiredJS("https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js",function(){}.bind(com.slacker.util.social.Apple))})()}); 415bjork("com.slacker.util.social.Facebook",function(){(function(){require("com.slacker.util.Console");var CONSOLE=com.slacker.util.Console;var HTML_HEAD=document.getElementsByTagName("head")[0];function FB(){this.API=null}FB.prototype={waitForAPI:function(method,args){var $jscomp$this=this;if(!this.API){CONSOLE.log("warn","Facebook API not loaded. Retry in 2sec: "+method);setTimeout(function(_){return $jscomp$this[method].apply($jscomp$this,args)},2E3);return true}else return false},getSessionAuth:function(){return this.API.getAuthResponse()}, 416getProfileImage:function(img){var $jscomp$this=this;var imgUrl=IMG_CDN_AND_BUILD+"/s=1.0.857/images/pixel.gif";if(!this.waitForAPI("getProfileImage",arguments)){var auth=this.getSessionAuth();var $jscomp$optchain$tmp1377861237$18;var fbuid=(($jscomp$optchain$tmp1377861237$18=auth)==null?void 0:$jscomp$optchain$tmp1377861237$18.userID)?auth.userID:WS.getUser().get("fbuid");if(fbuid)imgUrl="https://graph.facebook.com/v2.7/"+fbuid+"/picture";else this.API.getLoginStatus(function(response){if(response.status== 417"connected"&&response.authResponse)$jscomp$this.setProfileImage(imgUrl)})}return imgUrl},getName:function(onResponse){var $jscomp$this=this;if(!this.waitForAPI("getName",arguments)){var auth=this.getSessionAuth();if(auth&&auth.userID)this.API.api("/"+auth.userID,onResponse);else this.API.getLoginStatus(function(response){if(response.status=="connected"&&response.authResponse)$jscomp$this.getName(onResponse)})}},subscribe:function(event,callback){if(!this.waitForAPI("subscribe",arguments))this.API.Event.subscribe(event, 418callback)}};registerPackage("com.slacker.util.social.Facebook");com.slacker.util.social.Facebook=new FB;(function(){var e=document.createElement("script");e.async=true;e.src=document.location.protocol+"//connect.facebook.net/en_US/sdk.js";HTML_HEAD.appendChild(e)})()})()}); 419bjork("com.slacker.util.social.Google",function(){(function(){var CONSOLE=require("com.slacker.util.Console");var BROWSER=require("com.slacker.util.browser.Browser");var JWT=require("com.slacker.util.encoding.JWT");function Google(){this.API=null;this.auth2=null;this.API_KEY="AIzaSyAF-H1uq3u90gwOEo0xHx7uT_ZeuyzHVyU";this._defaults={size:"medium",annotation:"bubble",width:90,align:"left"};this.jwtData=null;this.isLoginProcessing=false;this.basicAuthParams={"client_id":GCLIENTID,"cookiepolicy":"single_host_origin"}; 420console.log("GCLIENTID",GCLIENTID)}Google.prototype={execute:function(func){var $jscomp$this=this;if(!this.API&&!BROWSER.Browser.isTV()){CONSOLE.log("warn","execute - GAPI not yet loaded. Wait...");setTimeout(function(_){return $jscomp$this.execute(func)},250)}else func.apply(null,[])},init:function(){var $jscomp$this=this;google.accounts.id.initialize({client_id:GCLIENTID,callback:function(response){$jscomp$this.jwt=response.credential;$jscomp$this.jwtData=JWT.parse(response.credential);$jscomp$this.onLoginStatusChange(true)}}); 421this.renderButton();var body=document.getElementsByTagName("body")[0];var wrapper=document.querySelector(".alt-login-option.google");var targetParent=document.getElementsByClassName("alt-login-option__inner-wrapper")[0];var handleTabEvent=function(event){if(event.which===9||event.type==="click"){var hasFocus=false;if(!(wrapper||targetParent))return;setTimeout(function(){var $jscomp$optchain$tmp1377861237$19;var target=($jscomp$optchain$tmp1377861237$19=targetParent)==null?void 0:$jscomp$optchain$tmp1377861237$19.querySelectorAll("iframe").forEach(function(el){hasFocus= 422el==document.activeElement});if(hasFocus)wrapper.classList.add("focus");else wrapper.classList.remove("focus")},50)}};["keyup","keydown","click"].forEach(function(eventKey){return body.addEventListener(eventKey,handleTabEvent)})},checkButtonStatus:function(count){var $jscomp$this=this;count=count===undefined?0:count;setTimeout(function(){var loaded=!!document.querySelector("iframe[id^=gsi_]");loaded&&setTimeout(function(){return APP.gsiButtonReady(loaded)},1E3);if(!loaded){APP.gsiButtonReady(loaded); 423count<40&&$jscomp$this.checkButtonStatus(++count)}},250)},renderButton:function(){try{console.log("Google::renderButton");google.accounts.id.renderButton(document.getElementById("google_sso_btn"),{theme:"outline",size:"large",text:"continue_with",width:335,click_listener:this.handleButtonClick.bind(this)});this.checkButtonStatus()}catch(e){console.log("Google::renderButton: error: "+e)}},handleButtonClick:function(){var $jscomp$this=this;var focusEventHandler=function(){console.log("Google::focusEventHandler"); 424if($jscomp$this.jwt)return;$jscomp$this.onLoginFailure("is_skipped:user_cancel");window.removeEventListener("focus",focusEventHandler)};window.addEventListener("focus",focusEventHandler);APP.currentView.onGoogleLoginAction()},checkApiLoaded:function(testObj,delay,callback){var $jscomp$this=this;var bits=testObj.split(".");var test;if(bits.length>1)try{test=window[bits[0]][bits[1]]}catch(e){test=undefined}else test=window[testObj];if(typeof test==="undefined"){CONSOLE.log("warn","Waiting for "+testObj+ 425" onload.");setTimeout(function(_){return $jscomp$this.checkApiLoaded(testObj,delay,callback)},delay||250)}else switch(testObj){case "google.accounts.id":this.onload();break}},getProfileData:function(onResponse){var $jscomp$this=this;if(!this.API&&!BROWSER.Browser.isTV()){CONSOLE.log("warn","getProfileData - Google Identity not yet loaded. Wait...");setTimeout(function(_){return $jscomp$this.getProfileData(onResponse)},2E3)}else{CONSOLE.log("debug","^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ com.slacker.util.social.Google.getProfileData"); 426var profileData=function(){var $jscomp$destructuring$var3=$jscomp$this.getAuthData();var $jscomp$destructuring$var4=$jscomp$destructuring$var3;gpuid=$jscomp$destructuring$var4.gpuid;name=$jscomp$destructuring$var4.name;imgUrl=$jscomp$destructuring$var4.imgUrl;return $jscomp$destructuring$var3}();if(profileData)onResponse.apply(this,[profileData])}},getPromptStatusObject:function(notification){var tests=[{statusKey:"isNotDisplayed",id:"is_not_displayed",reasonKey:"getNotDisplayedReason"},{statusKey:"isSkippedMoment", 427id:"is_skipped",reasonKey:"getSkippedReason"},{statusKey:"isDismissedMoment",id:"is_dismissed",reasonKey:"getDismissedReason"}];var statusObj=tests.reduce(function(acc,item){var status=notification[item.statusKey]();var $jscomp$compprop3={};return Object.assign({},acc,($jscomp$compprop3[item.id]=status?{reason:notification[item.reasonKey]()}:false,$jscomp$compprop3))},{});return statusObj},getPromptStatusString:function(notification){var statusObj=this.getPromptStatusObject(notification);var key= 428Object.keys(statusObj).find(function(key){return!!statusObj[key]});return key?key+":"+statusObj[key]["reason"]:notification.isDisplayed()?"is_displayed":"unknown"},handleMomentNotification:function(notification){console.log("google.accounts.id.prompt c
428allback",notification);var promptStatus=this.getPromptStatusString(notification);if(["is_displayed","is_dismissed:credential_returned"].includes(promptStatus))return;this.onLoginFailure(promptStatus)},getAuthData:function(){var $jscomp$destructuring$var5= 429this.jwtData;var gpuid=$jscomp$destructuring$var5.sub;var name=$jscomp$destructuring$var5.name;var imgUrl=$jscomp$destructuring$var5.picture;return{token:this.jwt,gpuid:gpuid,name:name,imgUrl:imgUrl}},clearAuthData:function(){this.jwtData=null;this.jwt=null},onload:function(){CONSOLE.log("warn","Google API loaded!");this.API=true;this.init()},onLoginStatusChange:function(boolVal){var self=com.slacker.util.social.Google;if(boolVal){var authData=this.getAuthData();if(!this.isLoginProcessing){this.isLoginProcessing= 430true;var user=APP.modules.userModule.user;if(user&&user.get("loggedin")&&user.get("gpuid")===authData.gpuid){this.isLoginProcessing=false;CONSOLE.log("info","Already logged in to this account, exiting ... "+[authData.gpuid]);return}self.onLoginSuccess.bind(self)()}}else{self.clearAuthData();APP.modules.userModule.logout()}},onLoginSuccess:function(){var $jscomp$destructuring$var6=this.getAuthData();var gpuid=$jscomp$destructuring$var6.gpuid;var token=$jscomp$destructuring$var6.token;var name=$jscomp$destructuring$var6.name; 431var imgUrl=$jscomp$destructuring$var6.imgUrl;CONSOLE.log("info","Google Auth Success! - "+[gpuid]);var $jscomp$optchain$tmp1377861237$20;var $jscomp$optchain$tmp1377861237$21;var $jscomp$optchain$tmp1377861237$22;if(($jscomp$optchain$tmp1377861237$20=APP)==null?void 0:($jscomp$optchain$tmp1377861237$21=$jscomp$optchain$tmp1377861237$20.views)==null?void 0:($jscomp$optchain$tmp1377861237$22=$jscomp$optchain$tmp1377861237$21.login)==null?void 0:$jscomp$optchain$tmp1377861237$22.visible())APP.views.login.onGoogleLoginReturn(gpuid, 432token,name,imgUrl);else APP_EVENTS.notify("onGPUserData",[gpuid,token,name,imgUrl]);this.isLoginProcessing=false},onLoginFailure:function(msg){this.isLoginProcessing=false;this.clearAuthData();CONSOLE.log("warn","Google login error: "+msg);com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthFail",type:"google",value:msg,params:{flow:"google",label:msg}});switch(msg){case "is_not_displayed:browser_not_supported":msg="Your browser does not support Google Login. Please try again with a different browser, or select another login method."; 433break;default:if(["is_skipped:tap_outside","is_skipped:user_cancel","is_not_displayed:opt_out_or_no_session","is_not_displayed:suppressed_by_user"].includes(msg))msg="Are you done with the Google Login window? If not, please try again. If you are in incognito mode, make sure to switch to a normal browser mode so cookies can be enabled.";else msg="Google Login returned an unexpected error."}var $jscomp$optchain$tmp1377861237$23;var $jscomp$optchain$tmp1377861237$24;var $jscomp$optchain$tmp1377861237$25; 434var $jscomp$optchain$tmp1377861237$26;($jscomp$optchain$tmp1377861237$23=APP)==null?void 0:($jscomp$optchain$tmp1377861237$24=$jscomp$optchain$tmp1377861237$23.currentView)==null?void 0:($jscomp$optchain$tmp1377861237$26=($jscomp$optchain$tmp1377861237$25=$jscomp$optchain$tmp1377861237$24).onGoogleLoginReturn)==null?void 0:$jscomp$optchain$tmp1377861237$26.call($jscomp$optchain$tmp1377861237$25,null,msg)},_loadRequiredJS:function(src,listener){(function(){var po=document.createElement("script");po.type= 435"text/javascript";po.async=true;po.src=src;var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(po,s);if(listener)listener()})()}};registerPackage("com.slacker.util.social.Google");com.slacker.util.social.Google=new Google;com.slacker.util.social.Google._loadRequiredJS("https://accounts.google.com/gsi/client",function(){this.checkApiLoaded("google.accounts.id")}.bind(com.slacker.util.social.Google))})()}); 436bjork("com.slacker.app.CustomBindings",function(){(function(){var CONSOLE=require("com.slacker.util.Console");function CustomBindings(){this.__beforeConstructor();this.__constructor()}CustomBindings.prototype={__beforeConstructor:function(){},__constructor:function(){},apply:function(){this.delegation();this.validation()},validation:function(){ko.bindingHandlers.validation={init:function(element,valueAccessor,allBindingsAccessor,viewModel){if(viewModel.validation==null){viewModel.validation={};viewModel.validation.formID= 437element;viewModel.validation.objects=[];viewModel.validation.errors=[];viewModel.validation.handler=function(errors,event){throw new Error("Mu
437st override form validation handler");};viewModel.validation.validate=function(){var formValidator=(new FormValidator(viewModel.validation.formID,viewModel.validation.objects,Delegate.create(viewModel,viewModel.validation.handler))).validate()}}if(element.nodeName.toLowerCase()=="form"){if(element.getAttribute("id"))viewModel.validation.formID=element.getAttribute("id"); 438else throw new Error("For validation to work form must have an id");if(valueAccessor().handler!=null)viewModel.validation.handler=valueAccessor().handler}else{var o=valueAccessor();o.name=element.getAttribute("name");viewModel.validation.objects.push(o)}}}},delegation:function(){ko.bindingHandlers.onClick={init:function(element,valueAccessor){var action=valueAccessor();ko.utils.domData.set(element,"onClick",action)}}}};registerPackage("com.slacker.app.CustomBindings");com.slacker.app.CustomBindings= 439new CustomBindings})()}); 440bjork("com.slacker.app.XMLUtils",function(){(function(){var CONSOLE=require("com.slacker.util.Console");function XMLUtils(){this.__beforeConstructor();this.__constructor()}XMLUtils.prototype={__beforeConstructor:function(){this.x2js=null},__constructor:function(){this.x2js=new X2JS},xmlToJson:function(xml){if(xml&&typeof xml==="object"&&!xml.childNodes)return xml;else return this.x2js.xml2json(xml)},xmlStringToJson:function(xmlString){return this.x2js.xml_str2json(xmlString)}};registerPackage("com.slacker.app.XMLUtils"); 441com.slacker.app.XMLUtils=new XMLUtils})()}); 442bjork("com.slacker.app.actions.AbstractAction",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");var AJAXTransport=require("com.slacker.io.AJAXTransport");var StringUtils=require("com.slacker.util.StringUtils");var HttpRequest=require("com.slacker.io.HttpRequest");var Url=require("com.slacker.io.Url");function AbstractAction($templateURL){extendClass(this,new EventNotifier(this));this.__properties();this.__constants();this.__constructor.apply(this,arguments)}AbstractAction.prototype= 443{__constants:function(){AbstractAction.EVENT_ONNETWORKEVENT="onNetworkEvent";AbstractAction.SUCCESS="success";AbstractAction.FAILURE="failure";AbstractAction.METHOD_GET="GET";AbstractAction.METHOD_POST="POST";AbstractAction.METHOD_PUT="PUT"},__properties:function(){this.url=new Url;this.method="GET";this.headers={};this.data={};this.actionURL="";this.transport=null;this.domain=window.location.host;this.envDomain=this.domain.replace(/^(.*?)\.(pubdev|dev|dev2|stg|stg2)\./,"www.$2.");this.isCrossDomain= 444this.domain!=this.envDomain},__constructor:function(templateURL){if(templateURL)this.url.parse(StringUtils.format(templateURL,{"http-root":this.envDomain}))},execute:function(){var theDelegate=Delegate.create(this,this.onActionResponse);this.url.replacementParams=this.data;if(StringUtils.contains(this.url.href(),"<")||StringUtils.contains(this.url.href(),"%3C")){var s="Problem with url. Missing parameters for replacement: "+this.url.href()+", data: "+JSON.stringify(this.data);this.url.replacementParams= 445{};throw new Error(s);}this.transport=new AJAXTransport;this.transport.to=this.url.protocol+"://"+this.url.host;var request={url:this.url.href(),method:this.method,headers:this.headers,data:this.headers&&(this.headers["Content-Type"]||this.headers["content-type"])==="application/json"?JSON.stringify(this.data):this.data};if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.url.replacementParams={};this.transport.get(request,theDelegate,theDelegate)},halifyLinks:function(links){if(links)links.forEach(function(_l){links[_l.rel]= 446_l})},_doRequest:function(params){var self=this,noContentType=false,ajaxConfig={method:params.method||"GET",data:params.data,url:params.source,dataType:params.type||"",xhrFields:{withCredentials:true},crossDomain:true,beforeSend:function(jqXHR,settings){if(params.headers)for(h in params.headers)jqXHR.setRequestHeader(h,params.headers[h]);if(CONFIG.xscid)jqXHR.setRequestHeader("x-scid",CONFIG.xscid);return true},success:params.callback,error:params.callback};if(params.type=="multipart/form-data"){delete ajaxConfig.dataType; 447ajaxConfig.enctype="multipart/form-data";ajaxConfig.processData=false;ajaxConfig.contentType=false;noContentType=true}return $.ajax(ajaxConfig)}
447,onActionResponse:function(e){var responseData=e;throw new Error("Must override AbstractAction's onActionResponse");switch(e.status){case 200:this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,status:e.status,target:this});break;default:this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,status:e.status,target:this});break}}};registerPackage("com.slacker.app.actions.AbstractAction"); 448AbstractAction.prototype.__constants();com.slacker.app.actions.AbstractAction=AbstractAction})()}); 449bjork("com.slacker.app.actions.CheckOfferCodeAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var AJAXTransport=require("com.slacker.io.AJAXTransport");function CheckOfferCodeAction(context){extendClass(this,new AbstractAction);this.__constants();this.__properties();this.__constructor(context)}CheckOfferCodeAction.prototype={__constants:function(){this.PATH_CODE_CHECK="<store-root>/store/rest/pops/offerCodes/<code>";this.TICKET_UNAVAILABLE_ERROR= 450"This ticket is no longer for sale"},__properties:function(){var self=this;this.error=ko.observable();this.code=ko.observable();this.units={0:"unknown",1:"HOURLY",2:"DAILY",3:"MONTHLY",4:"YEARLY"}},__constructor:function(context){this.context=context},execute:function(){var self=this,request,headers,serviceSite;serviceSite="LiveOne";this.transport=new AJAXTransport;this.transport.to=STOREROOT;headers={"x-scid":CONFIG.xscid,"Content-Type":"application/json"};request={url:APP.modules.urlModule.constructUrl(this.PATH_CODE_CHECK, 451{"code":(this.code()+"").trim()}),method:"GET",headers:headers};CONSOLE.log("info","Sending code validation request");this.transport.get(request,function(response){var isOk=false,data=response&&response.data?response.data:null,offer=null,_tmp;if(response.status==200){_tmp=JSON.parse(response.data);offer={};isOk=_tmp&&_tmp.active;if(isOk){offer={offerCode:self.code(),trial:_tmp.subscriptionType==="TRIAL",benefits:_tmp.levelId,resourceId:_tmp.resourceId};if(_tmp.productFamily==="LIVE_SHOW"){offer.trial= 452true;offer.term="${_tmp.term}";offer.topNote=null;offer.offer={price:null,term:"${_tmp.term}"};offer.product="Ticket";offer.benefits="ticketing";var _termDetail;if(_tmp.eventMetadata){var MAX_ITEMS=3;var $jscomp$optchain$tmp1377861237$27;var _eventDetail=[],_evtImg=($jscomp$optchain$tmp1377861237$27=_tmp.eventMetadata.storeItem)==null?void 0:$jscomp$optchain$tmp1377861237$27.imageUrl,_imgClss="",_lstClss="";var $jscomp$optchain$tmp1377861237$28;var title=(($jscomp$optchain$tmp1377861237$28=_tmp.eventMetadata.storeItem)== 453null?void 0:$jscomp$optchain$tmp1377861237$28.name)||_tmp.eventMetadata.title;for(var i=0;i<MAX_ITEMS&&i<_tmp.eventMetadata.events.length;i++){var _e=_tmp.eventMetadata.events[i];var lastItem=i===MAX_ITEMS-1||i<_tmp.eventMetadata.events.length;if(!_evtImg){_evtImg=_e.imageUrl;_imgClss="with-img"}_lstClss=lastItem?" ticket-card__date-time--last":"";_eventDetail.push('<div class="ticket-card__date-time '+(_imgClss+_lstClss)+'">'+dateFormat(new Date(_e.startDate),"ddd ⢠mmm d ⢠h:MM TT Z")+"</div>")}if(_tmp.eventMetadata.events.length> 454MAX_ITEMS)_eventDetail.push('<div class="ticket-card__date-time more '+_imgClss+'">... and '+(_tmp.eventMetadata.events.length-MAX_ITEMS)+" more</div>");_termDetail=(_evtImg?'<img src="/s=1.0.857/images/pixel.gif" style="background:url('+_evtImg+')"/>':"")+'<div class="ticket-card"><div class="ticket-card__title '+_imgClss+" "+(title>20?"condensed":"")+'">'+title+"</div>\n\t\t\t\t\t\t\t\t\t"+_eventDetail.join("")+'\n\t\t\t\t\t\t\t\t\t<div class="ticket-card__info">\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__line-price '+ 455_imgClss+'">PRICE: <span class="'+_tmp.currency+'">'+_tmp.price+'</span></div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__desc '+_imgClss+'">'+_tmp.term+" DIGITAL TICKET"+(_tmp.term>1?"S":"")+'</div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__disclaimer '+_imgClss+'">LiveOne digital ticket is good only for the event, date, and time indicated.</div></div>\n\t\t\t\t\t\t\t\t\t</div>'}else _termDetail='\n\t\t\t\t\t\t\t\t\t<div class="ticket-card__title">'+_tmp.prettyName+'</div>\n\t\t\t\t\t\t\t\t\t<div class="ticket-card__info">\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__date-time">'+ 456_tmp.description+'</div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__line-price">PRICE: <span class="'+_tmp.currency+'">'+_tmp.price+'</span></div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__desc">'+_tmp.term+" DIGITAL TICKET"+(_tmp.term>1?"S":"")+'</div>\n\t\t\t\t\t\t\t\t\t\t<div class="ticket-card__disclaimer">LiveOne digital ticket is good only for the event, date, and time indicated.</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t';offer.offer.termDetail=_termDetail}else if(_tmp.subscriptionType=== 457"TRIAL"){offer.term=self._getTermString(_tmp.trialTerm,_tmp.trialTermUnitId,true);offer.product=self._getProductString(_tmp.levelId);offer.offer={price:_tmp.price,term:self._getPriceString(_tmp.price,_tmp.term,_tmp.termUnitId,_tmp.trialTerm,_tmp.trialTermUnitId).split(" ").splice(2,100).join(" "),currency:_tmp.currency}}else{offer.term=self._getTermString(_tmp.term,_tmp.termUnitId);offer.product=self._getProductString(_tmp.levelId);offer.price=self._getPriceString(_tmp.price,_tmp.term,_tmp.termUnitId); 458offer.offer={price:_tmp.price,term:self._getPriceString(_tmp.price,_tmp.term,_tmp.termUnitId).split(" ")[2],currency:_tmp.currency}}}else{if(_tmp&&!_tmp.active)self.error("This offer is no longer available.");else self.error("An unexpected error has occurred. Please try again later.");offer=null}}else if(data&&data.statusMessage)self.error(data.statusMessage);else{var isTicketing=["ticketing","ticket"].indexOf(QUERY_OBJ["entryPage"])!==-1;switch(response.status){case 403:self.error(isTicketing?self.TICKET_UNAVAILABLE_ERROR: 459"This offer has already been redeemed.");break;
459case 404:self.error("Offer code is not valid. Please check your code and try again.");break;case 409:var msg=isTicketing?self.TICKET_UNAVAILABLE_ERROR:"This offer can no longer be redeemed.";self.error(msg);break;case 410:self.error("This offer is no longer available.");break;case 503:self.error("The system is currently unavailable, please try again in a few minutes.");break;default:self.error("An unexpected error has occurred. Please try again later."); 460break}}self.context.onOfferCodeCheck.bind(self.context)(isOk,offer)})},_getProductString:function(level){return level==15?"Platinum":level==10?"Premium":level==5?"Plus":"Basic"},_getTermString:function(term,termUnitId,bIsTrial){var unit=this.units[termUnitId].toLowerCase();if(bIsTrial){var termUnit=this.units[termUnitId].toLowerCase().replace("ly","").replace("dai","day");if(term>1)termUnit+="s";unit=term+" "+termUnit+" free"}else if(unit==="yearly")unit="annually billed";else unit="billed "+unit; 461return unit},_getPriceString:function(price,term,termUnitId,trialTerm,trialTermUnitId){var unit=this.units[termUnitId].toLowerCase().replace("ly","");if(unit==="dai")unit="day";if(trialTerm&&trialTermUnitId)unit+=" - "+trialTerm+" "+this.units[trialTermUnitId].toLowerCase().replace("ly","").replace("dai","day")+" trial";return"$"+price+" per "+unit},_handleDidOverride:function(){var did=this.offerCodeDidMap[this.code()];!!did&&this.context.onDidCodeRedemption.bind(this.context)(true,5,did);return!!did}}; 462registerPackage("com.slacker.app.actions.CheckOfferCodeAction");com.slacker.app.actions.CheckOfferCodeAction=CheckOfferCodeAction})()}); 463bjork("com.slacker.app.actions.auth.LoginAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var StringUtils=require("com.slacker.util.StringUtils");var UserEvent=require("com.slacker.app.events.UserEvent");function LoginAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}LoginAction.prototype={__beforeConstructor:function(){LoginAction.EVENT_SUCCESS="EVENT_SUCCESS"; 464LoginAction.EVENT_FAILURE="EVENT_FAILURE";this.transport=null;this.username="";this.password="";this.serviceName="";this.C="";this.L="";this.N="";this.A="";this.aid="";this.isReturningUser=false;this.doAutoLogin=true},__constructor:function(){},execute:function(){var myLoginURL,myLoginData;if(this.transport==null)this.transport=new AJAXTransport;var urlTemplate=APP.modules.urlModule.urls.user;myLoginURL=APP.modules.urlModule.constructUrl(urlTemplate.login);myLoginData={username:this.username,password:this.password, 465site:"slacker"};if(myLoginURL)this.transport.to=myLoginURL.substring(0,myLoginURL.indexOf(".com")+4);var headers={"Content-Type":"application/json"};if(PARTNER!="slacker")switch(PARTNER){case "tesla-creator":myLoginData.site="tesla-creator";break}var request={url:myLoginURL,method:"POST",headers:headers,data:JSON.stringify(myLoginData)};var userToken=APP.modules.userModule.user&&APP.modules.userModule.user.getToken();if(userToken)request.headers["BBI-AUTHORIZATION"]=userToken;if(APP.appUserAgent)request.headers["x-scid"]= 466APP.appUserAgent;this.username="";this.password="";this.transport.get(request,Delegate.create(this,this.onLoginActionResponse))},updateUserState:function(data){var userData=JSON.parse(data);var user=APP.modules.userModule.user;if(userData.accountId)this.aid=userData.accountId;user.set({token:null,wstoken:null});this.isReturningUser=this.aid!=user.get("id")},onLoginActionResponse:function(e){switch(e.status){case 200:this.updateUserState(e.data);this.dispatchEvent({type:LoginAction.EVENT_SUCCESS,status:e.status, 467target:this,data:e.data});break;case 403:default:this.dispatchEvent({type:LoginAction.EVENT_FAILURE,property:UserEvent.LOGIN_FAILED,status:e.status,target:this});break}}};registerPackage("com.slacker.app.actions.auth.LoginAction");com.slacker.app.actions.auth.LoginAction=LoginAction;var t=new LoginAction;t.temp=""})()}); 468bjork("com.slacker.app.actions.auth.PairDeviceAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var XMLUtils=require("com.slacker.app.XMLUtils");function PairDeviceAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}PairDeviceAction.prototype={__beforeConstructor:function(){PairDeviceAction.EVENT_SUCCESS="EVENT_SUCCESS";PairDeviceAction.EVENT_FAILURE="EVENT_FAILURE"; 469this.client=CONFIG.client;this.transport=null;this.formerTrigger=null;this.deviceType=null;this.linkCode=null},__constructor:function(){},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;this.transport.to=STOREROOT;var urlModule=APP.modules.urlModule;var myUrl=urlModule.constructUrl(urlModule.urls.user.pairDevice,{"app-name":this.deviceType,"code":this.linkCode});var request={url:myUrl,method:this.linkCode?"PUT":"GET",headers:{"Content-Type":"application/json"}};if(this.linkCode)request.data= 470JSON.stringify({deviceType:this.deviceType,linkCode:this.linkCode});if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.transport.get(request,Delegate.create(this,this.onPairDeviceActionResponse))},onPairDeviceActionResponse:function(e){switch(e.status){case 200:var data=JSON.parse(e.data);if(data&&data.linkCodeStatus=="ok")this.dispatchEvent({type:PairDeviceAction.EVENT_SUCCESS,linkCodeStatus:data.linkCodeStatus,status:e.status});else this.dispatchEvent({type:PairDeviceAction.EVENT_FAILURE, 471linkCodeStatus:data.linkCodeStatus,status:e.status});break;default:this.dispatchEvent({type:PairDeviceAction.EVENT_FAILURE,status:e.status});break}}};registerPackage("com.slacker.app.actions.auth.PairDeviceAction");com.slacker.app.actions.auth.PairDeviceAction=PairDeviceAction})()}); 472bjork("com.slacker.app.actions.auth.SocialLoginAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var UserEvent=require("com.slacker.app.events.UserEvent");function SocialLoginAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}SocialLoginAction.prototype={__beforeConstructor:function(){SocialLoginAction.EVENT_SUCCESS="EVENT_SUCCESS";SocialLoginAction.EVENT_EMAILSUCCESS= 473"EVENT_SUCCESS";SocialLoginAction.EVENT_FAILURE="EVENT_SOCIALFAILURE";SocialLoginAction.EVENT_REQUESTSOCIALCLAIM="EVENT_REQUESTSOCIALCLAIM";SocialLoginAction.EVENT_SOCIALAPIFALIURE="EVENT_SOCIALAPIFALIURE";SocialLoginAction.EVENT_MERGEFAILURE="EVENT_MERGEFAILURE";SocialLoginAction.EVENT_MERGESUCCESS="EVENT_MERGESUCCESS";this.GOOGLE_LOGIN="google";this.FACEBOOK_LOGIN="facebook";this.APPLE_LOGIN="apple";this.transport=null;this.snRegRel="registration";this.snRegUrl=null;this.snLoginUrl=null;this.snMergeRel= 474"merge";this.snMergeUrl=null;this.googleLoginUrl=null;this.username="";this.password="";this.serviceToken="";this.serviceUid="";this.gpluscode="";this.serviceName="";this.socialRegData=null;this.addEmailFlow=false;this.mergeFlow=false;this.client="web";this.aid=null;this.loginData=null;this.C="";this.L="";this.N="";this.A=""},__constructor:function(){var $jscomp$this=this;this.paramObj=$.deparam(location.search.substr(1));this.getFirstQSValueOnly=function(key,def){var item=$jscomp$this.paramObj[key]; 475if(Array.isArray(item))return item[0];else return item||def||"client_web_register"}},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;var request=null;var responseHandler=null;if(this.addEmailFlow){request=this.getRequestToAddEmail();responseHandler=this.onSocialEmailActionResponse}else if(this.mergeFlow){request=this.getRequestToMergeAccounts();responseHandler=this.onSocialMergeActionResponse}else{request=this.getRequestToLogin();responseHandler=this.onSocialLoginActionResponse}if(request==
476null){CONSOLE.log("warning","invalid request");return}if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;var userToken=APP.modules.userModule.user?APP.modules.userModule.user.getToken():null;var oauthToken=APP.modules.userModule.user?APP.modules.userModule.user.get("access_token"):null;if(oauthToken)request.headers.Authorization="Bearer "+oauthToken;if(userToken){request.headers["BBI-AUTHORIZATION"]=userToken;CONSOLE.log("info","BBI-AUTHORIZATION = "+userToken)}if(document.domain.match(/live(xlive|one)\.com/)){request.url= 477request.url.replace("www","slacker");if(request.url.indexOf("slacker-account-service")>-1)request.url=request.url.replace(SAPI_SITEROOT,SAPI_CNAMEROOT)}CONSOLE.log("debug","calling: "+request.url);this.transport.to=request.url.substring(0,request.url.indexOf(".com")+4);this.transport.get(request,Delegate.create(this,responseHandler))},setSNMergeUrl:function(snUrl){this.snMergeUrl=snUrl;APP.modules.urlModule.urls.auth.snmerge=snUrl},setSNLoginUrl:function(snUrl){this.snLoginUrl=snUrl;APP.modules.urlModule.urls.auth.snlogin= 478snUrl},setSNRegUrl:function(snUrl){this.snRegUrl=snUrl;APP.modules.urlModule.urls.auth.snregister=snUrl},getRequestToAddEmail:function(){var $jscomp$this=this;var urlModule=APP.modules.urlModule;if(!this.snRegUrl)if(urlModule.urls.auth.snregister)this.setSNRegUrl(urlModule.urls.auth.snregister);else{urlModule.getAuthUrl(this.snRegRel,function(url){$jscomp$this.setSNRegUrl(url);$jscomp$this.execute()});return null}var authBits=this.snRegUrl.split("/");if(!authBits||authBits.length<3)return null;this.transport.to= 479"https://"+authBits[2];var regUser={"tosAcceptDate":(new Date).getTime(),"tosVersion":"current","username":this.username};if(this.socialRegData){regUser.birthYear=this.socialRegData.birthyear;regUser.gender=this.socialRegData.gender;regUser.postalCode=this.socialRegData.postalCode}var myRegData={"user":regUser,"context":{"client":CONFIG.storeClient,"site":CONFIG.site,"partner":CONFIG.partner,"source":this.getFirstQSValueOnly("source")}};var request={url:this.snRegUrl,method:"POST",headers:{"Content-Type":"application/json"}, 480data:JSON.stringify(myRegData),processData:false};return request},getRequestToLogin:function(){var $jscomp$this=this;if(!this.snLoginUrl){APP.modules.urlModule.getAuthUrl(this.serviceName,function(url){$jscomp$this.setSNLoginUrl(url);$jscomp$this.execute()});return null}var authBits=this.snLoginUrl.split("/");if(!authBits||authBits.length<3)return null;this.transport.to="https://"+authBits[2];var commonData={"site":APP.modules.userModule.site,"client":APP.modules.userModule.client,"partner":APP.modules.userModule.partner, 481"source":this.getFirstQSValueOnly("source")};if(!this.loginData)this.loginData={};for(var k in commonData)this.loginData[k]=commonData[k];if(this.serviceName==this.GOOGLE_LOGIN){this.loginData.googleUserId=this.serviceUid;this.loginData.token=this.serviceToken}else if(this.serviceName==this.FACEBOOK_LOGIN){this.loginData.fbUserId=this.serviceUid;this.loginData.token=this.serviceToken}else if(this.serviceName==this.APPLE_LOGIN){this.loginData.appleUserId=this.serviceUid;this.loginData.idToken=this.serviceToken}var user= 482APP.modules.userModule.user;if(user&&user.get("id"))this.loginData.accountId=user.get("id");var request={url:this.snLoginUrl,method:"POST",headers:{"Content-Type":"application/json"},data:JSON.stringify(this.loginData),processData:false};return request},getRequestToMergeAccounts:function(){var $jscomp$this=this;if(!this.snMergeUrl){APP.modules.urlModule.getAuthUrl(this.snMergeRel,function(url){$jscomp$this.setSNMergeUrl(url);$jscomp$this.execute()});return null}var authBits=this.snMergeUrl.split("/"); 483if(!authBits||authBits.length<3)return null;this.transport.to="https://"+authBits[2];var myMergeData={"type":"username","username":this.username,"password":this.password,"site":APP.modules.userModule.site,"client":APP.modules.userModule.client,"partner":APP.modules.userModule.partner};var request={url:this.snMergeUrl,method:"POST",headers:{"Content-Type":"application/json"},data:JSON.stringify(myMergeData),processData:false};return request},processAddEmailUserData:function(data,status){if(data){var userInfo= 484JSON.parse(data);if(userInfo&&userInfo.user){APP.modules.userModule.user.set({username:userInfo.user.username});this.aid=userInfo.accountId}}},processSNLoginUserData:function(data,status){var loginView=APP.views.login;var urlModule=APP.modules.urlModule;var user=APP.modules.userModule.user;var socialNetworkUser;var socialName=this.socialRegData&&this.socialRegData.profileName?this.socialRegData.profileName:null;var socialAvatarUrl=this.socialRegData&&this.socialRegData.profileImgUrl?this.socialRegData.profileImgUrl: 485null;if(data){var userInfo=JSON.parse(data);if(userInfo){user.set({loggedin:true});if(userInfo.loginToken)user.set({loginToken:userInfo.loginToken});if(userInfo.accountId)this.aid=userInfo.accountId;if(this.serviceName==this.FACEBOOK_LOGIN){if(!socialAvatarUrl)socialAvatarUrl=urlModule.constructUrl(urlModule.urls.social.facebookAvatar,{"fbuid":this.serviceUid});user.set({fbuid:this.serviceUid});socialNetworkUser=userInfo.fbUser?userInfo.fbUser:null;SL_GC.fbuid=this.serviceUid}else if(this.serviceName== 486this.GOOGLE_LOGIN){user.set({gpuid:this.serviceUid});SL_GC.gpuid=this.serviceUid;socialNetworkUser=userInfo.googleUser?userInfo.googleUser:null}else if(this.serviceName==this.APPLE_LOGIN){user.set({appleuid:this.serviceUid});SL_GC.appleuid=this.serviceUid;socialNetworkUser=userInfo.appleUser?userInfo.appleUser:null}if(userInfo.user){loginView.socialLoginRegData=null;user.set({username:userInfo.user.username,birthYear:userInfo.user.birthYear,explicit:userInfo.user.explicitContent,country:userInfo.user.country, 487level:userInfo.user.subscriptionLevelId})}else{if(!APP.modules.userModule.user.get("settingsFlow")||APP.modules.userModule.user.get("addEmailRequested"))user.set({"incompleteReg":true});user.set({"socialEmail":socialNetworkUser&&socialNetworkUser.email?socialNetworkUser.email:""});
487if(status==200){loginView.isInSocialEmailRequest(true);loginView.isInSocialClaimState(true)}}com.slacker.util.behavior.Beacon.tagEvent({name:"socialSSOComplete",type:userInfo.user?"login":"needs-reg",value:this.serviceName, 488params:{flow:this.serviceName,label:userInfo.user?"login":"needs-reg"}});if(socialNetworkUser){user.set({id:userInfo.accountId,accountId:userInfo.accountId,name:socialNetworkUser.name||socialName,profileImgUrl:socialAvatarUrl,country:socialNetworkUser.country,username:socialNetworkUser.email});if(loginView.socialLoginRegData)loginView.socialLoginRegData.email=socialNetworkUser.email}setGlobalCookie(SL_GC)}}},onSocialLoginActionResponse:function(e){var user=APP.modules.userModule.user,error;switch(e.status){case 200:case 201:user.set({loginSource:this.serviceName, 489serviceToken:this.serviceToken,status:e.status});if(!e.data){this.dispatchEvent({type:SocialLoginAction.EVENT_FAILURE,status:e.status,target:this});return}if(this.serviceName==this.FACEBOOK_LOGIN)user.set({fbuid:this.serviceUid});else if(this.serviceName==this.GOOGLE_LOGIN)user.set({gpuid:this.serviceUid});else if(this.serviceName==this.APPLE_LOGIN)user.set({appleuid:this.serviceUid});this.processSNLoginUserData(e.data,e.status);this.isReturningUser=this.aid!=user.get("id");user.set({token:null,wstoken:null}); 490this.dispatchEvent({type:SocialLoginAction.EVENT_SUCCESS,status:e.status,target:this});break;case 405:this.dispatchEvent({type:SocialLoginAction.EVENT_SOCIALAPIFALIURE,status:e.status,target:this});error=e.status;break;default:CONSOLE.log("warn","SocialLogin failed: "+e.message);error=e.message;if(e.errors)for(var er in e.errors){CONSOLE.log("warn",er);error=er}this.dispatchEvent({type:SocialLoginAction.EVENT_FAILURE,property:UserEvent.LOGIN_FAILED,status:e.status,target:this});break}if(error)com.slacker.util.behavior.Beacon.tagEvent({name:"socialSSOFail", 491type:error,value:this.serviceName,params:{flow:this.serviceName,label:error}})},onSocialEmailActionResponse:function(e){var loginView=APP.views.login;var user=APP.modules.userModule.user;if(e.status)switch(e.status){case 200:case 201:user.set({status:e.status});if(user.get("incompleteReg"))user.set({"incompleteReg":false,"requireCompleteReg":false,"socialEmail":null});if(!e.data){this.dispatchEvent({type:SocialLoginAction.EVENT_FAILURE,status:e.status,target:this});return}this.processAddEmailUserData(e.data, 492e.status);this.dispatchEvent({type:SocialLoginAction.EVENT_EMAILSUCCESS,status:e.status,target:this});break;case 409:if(loginView.socialLoginRegData){loginView.onDuplicateEmail();return}this.dispatchEvent({type:SocialLoginAction.EVENT_REQUESTSOCIALCLAIM,status:e.status,target:this});break;default:CONSOLE.log("warn","AddEmail failed: "+e.message);if(e.errors)for(var er in e.errors)CONSOLE.log("warn",er);this.dispatchEvent({type:SocialLoginAction.EVENT_MERGEFAILURE,status:e.status,target:this});break}}, 493onSocialMergeActionResponse:function(e){var user=APP.modules.userModule.user;if(e.status)switch(e.status){case 200:if(e.data){var accountInfo=JSON.parse(e.data);if(accountInfo){this.aid=accountInfo.accountId;user.set({id:this.aid,accountId:this.aid,loginToken:accountInfo.loginToken});if(accountInfo.loginToken)user.set({token:null,wstoken:null,access_token:null});if(user.get("incompleteReg"))user.set({"incompleteReg":false,"requireCompleteReg":false});this.dispatchEvent({type:SocialLoginAction.EVENT_MERGESUCCESS, 494status:e.status,target:this});return}}this.dispatchEvent({type:SocialLoginAction.EVENT_MERGEFAILURE,status:e.status,target:this});break;default:CONSOLE.log("warn","SocialMerge failed: "+e.message);if(e.errors)for(var er in e.errors)CONSOLE.log("warn",er);this.dispatchEvent({type:SocialLoginAction.EVENT_MERGEFAILURE,status:e.status,target:this});break}}};registerPackage("com.slacker.app.actions.auth.SocialLoginAction");com.slacker.app.actions.auth.SocialLoginAction=SocialLoginAction;var t=new SocialLoginAction; 495t.temp=""})()}); 496bjork("com.slacker.app.actions.auth.WSTokenAction",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var EventNotifier=require("com.slacker.event.EventNotifier");var XMLUtils=require("com.slacker.app.XMLUtils");function WSTokenAction(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}WSTokenAction.prototype={__beforeConstructor:function(){WSTokenAction.EVENT_SUCCESS="EVENT_SUCCESS";WSTokenAction.EVENT_FAILURE="EVENT_FAILURE"; 497WSTokenAction.SERVERTIME_SUCCESS="SERVERTIME_SUCCESS";WSTokenAction.SERVERTIME_FAILURE="SERVERTIME_FAILURE";this.tokenURL=null;this.tokenURLParams=null;this.client=CONFIG.client;this.transport=null;this.resultToken="";this.formerTrigger=null;this.tokenTimeout=null;this.oauthLoginToken=null;this.oauthUserId=null;this.onReauthAction=null;this.serverTimeUrl=null;this.isToken=false;this.isBridgeCall=false;this.OAUTH_K="06607506e06307406906f06e02006406506306f06406504607206f06d04806507802807307407202902007b07606107202007307407202002002002003d02002203003503703003703103003303303003406403003403703003706103003606503003503303003503603003603303003606403003406403003703503003403203003303403003603703003403403003706103003303703003406102203b07606107202007206507407507206e05606106c02003d02002202203b07606107202006c06506e02003d02007307407202e06c06506e06707406803b07606107202006306e07406507202
497003d02007307407202e06c06506e06707406802002d02003303b07706806906c06502806c06506e02003e02003002907b06306e07407202003d02002806c06506e02002d02003302902003e03d02003002003f02006c06506e02002d02003302003a02003003b07206507407507206e05606106c02003d02005307407206906e06702e06607206f06d04306806107204306f06406502802203007802202002b02007307407202e07307506207307407206906e06702806306e07407202002c02006c06506e02902902002b02007206507407507206e05606106c03b06c06506e02003d02006306e07407203b07d07206507407507206e02007206507407507206e05606106c03b07d"; 498this.isLtCall=false;this.grants={credential:"grant_type=client_credentials",anonymous:"grant_type=login_token&loginToken={loginToken}&accountId={accountId}",refresh:"grant_type=refresh_token&refresh_token={refreshtoken}"}},__constructor:function(){},execute:function(){var data=null,headers={},request,callback,url;if(this.transport==null)this.transport=new AJAXTransport;if(!this.signingKey)eval(decodeFromHex(this.OAUTH_K).replace("function decodeFromHex(str) ","this.signingKey=function decodeFromHex(str)")); 499if(!this.isToken){url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.oauth);data=this.grants.anonymous.replace("{loginToken}",this.oauthLoginToken).replace("{accountId}",this.oauthUserId);headers.Authorization="Basic "+com.slacker.util.encoding.B64.encode64("slackersite:"+this.signingKey()).replace(/\|/g,"=");headers["Content-Type"]="application/x-www-form-urlencoded";if(APP.appUserAgent)headers["x-scid"]=APP.appUserAgent;this.transport.to=url.substring(0,url.indexOf("/auth")); 500request={"url":url,"method":"POST","headers":headers,"data":data};callback=Delegate.create(this,this.onLoginTokenUse)}else if(this.isBridgeCall){url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.tokenBridge);this.transport.to="https:"+OFFICIAL_SITEROOT;if(document.domain.match(/live(xlive|one)\.com/)){this.transport.to=this.transport.to.replace("www","slacker");url=url.replace("www","slacker")}headers.Authorization="Bearer "+this.oauthLoginToken;headers["Content-Type"]="application/x-www-form-urlencoded"; 501if(APP.appUserAgent)headers["x-scid"]=APP.appUserAgent;request={"url":url,"method":"POST","headers":headers,"data":data};callback=Delegate.create(this,this.onWSTokenActionResponse)}else{var myUrl=null;this.transport.to="https:"+OFFICIAL_SITEROOT;if(!APP.modules.userModule.serverTime){if(!this.serverTimeUrl)this.serverTimeUrl=APP.modules.urlModule.getServertimeUrl();url=this.serverTimeUrl;callback=Delegate.create(this,this.onWSServerTimeActionResponse)}else{if(!this.tokenURL)this.tokenURL=APP.modules.urlModule.getTokenUrl(); 502url=this.tokenURL;callback=Delegate.create(this,this.onWSTokenActionResponse)}if(this.tokenTimeout)tokenTimeout=null;if(document.domain.match(/live(xlive|one)\.com/)){url=url.replace("www","slacker");if(url.indexOf("slacker-account-service")>-1)url=url.replace(SAPI_SITEROOT,SAPI_CNAMEROOT)}this.transport.to=url.substring(0,url.indexOf(".com")+4);if(APP.appUserAgent)headers["x-scid"]=APP.appUserAgent;request={url:url,method:"GET",headers:headers,data:{}}}this.transport.get(request,callback)},getLoginToken:function(){var USER= 503APP.modules.userModule;var transport=new AJAXTransport;var url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.loginToken);var accountId=USER.user.get("accountId");var token=USER.user.get("token");this.isLtCall=true;var data={accountId:accountId,site:"SLACKER"};var request={url:url,method:"POST",headers:{"BBI-AUTHORIZATION":USER.user.get("token"),"Content-Type":"application/json"},data:JSON.stringify(data),processData:false};transport.to=url.substring(0,url.indexOf(".com")+4);transport.get(request, 504Delegate.create(this,this.onWSTokenActionResponse))},onLoginTokenUse:function(e){var USER=APP.modules.userModule;switch(e.status){case 200:var data=JSON.parse(e.data);if(data.access_token){USER.user.set({"oauthLoginToken":null});USER.user.set({"access_token":data.access_token});this.isToken=true;this.isBridgeCall=true;this.oauthLoginToken=data.access_token;this.execute()}break;default:this.onWSTokenActionResponse(e);break}},onWSServerTimeActionResponse:function(e){switch(e.status){case 200:var data= 505XMLUtils.xmlStringToJson(e.data);if(data&&data.Response){var serverTimeresponse=data.Response;this.isToken=true;APP.modules.userModule.setServerTime(serverTimeresponse);this.execute();this.dispatchEvent({type:WSTokenAction.SERVERTIME_SUCCESS,status:e.status})}break;default:this.dispatchEvent({type:WSTokenAction.SERVERTIME_FAILURE,status:e.status});break}},onWSTokenActionResponse:function(e){var USER=APP.modules.userModule;switch(e.status){case 200:if(this.isBridgeCall){this.isBridgeCall=false;this.execute(); 506return}if(this.isLtCall){this.isLtCall=false;USER.user.set({"loginToken":JSON.parse(e.data).loginToken});this.dispatchEvent({type:WSTokenAction.EVENT_SUCCESS,status:e.status});return}var data=XMLUtils.xmlStringToJson(e.data),r,user=USER.user;if(data){r=data.Response;if(r&&r.WSToken)this.resultToken=r.WSToken}this.isReturningUser=this.aid!=user.get("id");user.set({username:r._username,id:r._aid,level:r._tier,country:r._country||"US",explicit:r._explicit==1,promoid:r._promoId||null,token:r.WSToken}); 507if(!r._username&&user.get("requireCompleteReg"))user.set({"incompleteReg":true});else if(r._username&&APP.isDeviceUpgradeFlow())user.set({"incompleteReg":false});this.dispatchEvent({type:WSTokenAction.EVENT_SUCCESS,token:this.resultToken,status:e.status});break;case 409:bOk=true;CONSOLE.log("warn","Key revoked. Client must update.");this.onReauthAction=null;this.dispatchEvent({type:WSTokenAction.EVENT_FAILURE,status:e.status});break;case 412:bOk=false;CONSOLE.log("info","WSToken server time mismatch: "+ 508[USER.serverTime,USER.serverTimeSkew]);USER.serverTime=null;USER.getServerTime();break;default:this.dispatchEvent({type:WSTokenAction.EVENT_FAILURE,status:e.status});break}}};registerPackage("com.slacker.app.actions.auth.WSTokenAction");com.slacker.app.actions.auth.WSTokenAction=WSTokenAction})()}); 509bjork("com.slacker.app.actions.user.CreateAccountAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var AJAXTransport=require("com.slacker.io.AJAXTransport");function CreateAccountAction(){extendClass(this,new AbstractAction(APP.modules.userModule.user.createAccount));this.__properties();this.__constants();this.__constructor.apply(this,arguments)}CreateAccountAction.prototype={__constants:function(){},__beforeConstructor:function(){CreateAccountAction.EVENT_SUCCESS= 510"EVENT_SUCCESS";CreateAccountAction.EVENT_FAILURE="EVENT_FAILURE"},__properties:function(){var paramObj=$.deparam(location.search.substr(1));this.method=AbstractAction.METHOD_POST;this.getFirstQSValueOnly=function(key){var item=paramObj[key];if(Array.isArray(item))return item[0];else return item||"client_web_register"};this.data={"context":{"bCookie":"bCookie","client":CONFIG.storeClient,"coBrand":CONFIG.cobrand,"site":CONFIG.site,"partner":CONFIG.partner,"initiatedBy":"user","source":this.getFirstQSValueOnly("source")}, 511"password":"","user":{"birthYear":0,"gender":"","receiveNewsLetter":false,"tosAcceptDate":null,"tosVersion":"1.0","email":"","username":""}};this.aid=null;this.token=null},__constructor:function(){},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;var oauthToken=APP.modules.userModule.user?APP.modules.userModule.user.get("access_token"):null;var userToken=APP.modules.userModule.user&&APP.modules.userModule.user.getToken();var myUrl=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.createAccount); 512var request={url:myUrl,method:"POST",headers:{"Content-Type":"application/json"},data:JSON.stringify(this.data)};if(oauthToken)request.headers.Authorization="Bearer "+oauthToken;if(userToken)request.headers["BBI-AUTHORIZATION"]=userToken;if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.transport.to=request.url.substring(0,request.url.indexOf(".com")+4);this.transport.get(request,Delegate.create(this,this.onActionResponse))},onActionResponse:function(e){var response={};if(e.data)try{response= 513JSON.parse(e.data);response.code=parseInt(response.code||e.status,10)}catch(e$24){response={code:400,errors:[{fieldName:"generic",errors:["GENERIC"]}]}}else response.code=e.status;if(!response.accountId||response.code!=200&&response.code!=201){this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.FAILURE,status:response.code,target:this,response:response});return}CONSOLE.log("debug","CreateAccount success - new ID: "+response.accountId);this.aid=response.accountId;APP.modules.userModule.user.set({id:this.aid, 514username:APP.views.createAccount.emailAddress()});APP.views.createAccount.clearAll();this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:CreateAccountAction.EVENT_SUCCESS,status:response.code,target:this,response:response});return}};registerPackage("com.slacker.app.actions.user.CreateAccountAction");CreateAccountAction.prototype.__constants();com.slacker.app.actions.user.CreateAccountAction=CreateAccountAction})()}); 515bjork("com.slacker.app.actions.user.ForgotPasswordAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var AJAXTransport=require("com.slacker.io.AJAXTransport");function ForgotPasswordAction(){var templateToUse=APP.modules.userModule.user.forgotPassword;extendClass(this,new AbstractAction(templateToUse));this.__constants();this.__properties();this.__constructor.apply(this,arguments)}ForgotPasswordAction.prototype={__constants:function(){},__properties:function(){this.method= 516AbstractAction.METHOD_GET;this.data={skin:CONFIG.storeSkin,json:true,username:""}},__constructor:function(){},execute:function(){if(this.transport==null)this.transport=new AJAXTransport;this.transport.to=STOREROOT;var myUrl=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.user.forgotPassword,this.data);var request={url:myUrl,method:"GET",headers:{}};if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.transport.get(request,Delegate.create(this,this.onActionResponse))}, 517onActionResponse:function(e){var response={};if(e.data){response=JSON.parse(e.data);response.code=parseInt(response.code,10)}else response.code=e.status;if(response.code!=200)this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.FAILURE,status:e.status,target:this,response:response});else this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.SUCCESS,status:e.code,target:this,response:response})}};registerPackage("com.slacker.app.actions.user.ForgotPasswordAction"); 518ForgotPasswordAction.prototype.__constants();com.slacker.app.actions.user.ForgotPasswordAction=ForgotPasswordAction})()}); 519bjork("com.slacker.app.actions.user.PurchaseQueueAction",function(){(function(){var AbstractAction=require("com.slacker.app.actions.AbstractAction");var UrlModule=require("com.slacker.app.modules.UrlModule");var AJAXTransport=require("com.slacker.io.AJAXTransport");function PurchaseQueueAction(obj,scope,source){extendClass(this,new AbstractAction);this.__beforeConstructor();this.__constructor(obj,scope)}PurchaseQueueAction.prototype={__beforeConstructor:function(){this.ACTION={ENTER:1,CHECK:2,LEAVE:3}; 520new UrlModule;this.action=1},__constructor:function(obj,scope,source){this.scopes=scope?[scope]:null;this.obj=obj;this.source=source;this.active=false;this.noneShallPass=true;this.reentryToken=null;this.userUrl=null;this.placeCheck=null;this.waitTime=ko.observable(0);APP.purchaseQueue=this},execute:function(){var self=this,params;if(this.isFetching){CONSOLE.log("warn","PurchaseQueueAction::execute - Request already in process. Ignore redundant request.");return}this.isFetching=true;this.clearQueueCheckTimer(); 521var _method=this.action==1?"POST":this.action==2?"GET":"DELETE",_api="https://api."+UrlModule.DEV_STG+"liveone.com/ticket/entry";_data=null;if(this.action==1&&this.reentryToken)_data={reentryToken:this.reentryToken};params={source:this.userUrl||_api,callback:this.onActionResponse.bind(this),method:_method,type:"json",data:_data?JSON.stringify(_data):null,headers:{"content-type":"application/json"}};params.noretry=this.action==1;this._doRequest(params)},reset:function(obj,scope,source){this.scopes= 522scope?[scope]:null;this.obj=obj;this.source=source;this.active=false;this.noneShallPass=true;this.userUrl=null;this.action=1},queryPlace:function(){var $jscomp$this=this;if(this.userUrl){this.waitTime("CHECKING...");this.placeCheck=setTimeout(function(){$jscomp$this.action=2;$jscomp$this.execute()},2E3)}else if(this.active)this.onQueueStatus({locked:false})},leaveQueue:function(){this.clearQueueCheckTimer();if(this.userUrl){this.action=3;this.execute();BEACON.tagEvent({name:"purchaseQueue",params:{value:"leave", 523label:this.obj.storeUrl}})}this.noneShallPass=true},clearQueueCheckTimer:function(){if(this.placeCheck){clearTimeout(this.placeCheck);this.placeCheck=0}},setWaitingRoomStateOnDetailPage:function(addtlScopes){var $jscomp$this=this;if(addtlScopes){if(!this.scopes)this.scopes=[];this.scopes=this.scopes.concat(addtlScopes)}
523this.scopes.forEach(function(_scope){if(_scope.isTicketWaitingRoomActive)_scope.isTicketWaitingRoomActive($jscomp$this.active)})},onWaitTimeCount:function(){var $jscomp$this=this;var _t= 524this.waitTime();if(_t>1){this.placeCheck=setTimeout(function(){return $jscomp$this.onWaitTimeCount()},1E3);this.waitTime(--_t);if(_t%30==0)this.queryPlace()}else this.queryPlace()},onQueueStatus:function(payload,isEviction){if(!payload.locked){this.noneShallPass=false;if(this.active){this.clearQueueCheckTimer();this.active=false;this.leaveQueue()}this.setWaitingRoomStateOnDetailPage()}},onActionResponse:function(response,status,jqXHR){var _isCounting=this.waitTime()>0;this.status=jqXHR.status;this.isFetching= 525false;if(response){this.halifyLinks(response.links);if(response.reentryToken)this.reentryToken=response.reentryToken;if(response.projectedWaitTime){this.clearQueueCheckTimer();if(response.links&&response.links.self)this.userUrl=response.links.self.href;this.waitTime(response.projectedWaitTime);if(!_isCounting)this.onWaitTimeCount()}}switch(jqXHR.status){case 200:switch(this.action){case 1:this.onQueueStatus({locked:false});break;case 2:if(!response||!response.projectedWaitTime)this.onQueueStatus({locked:false}); 526break;case 3:if(this.active)this.onQueueStatus({locked:false});break}break;case 202:if(!this.active){BEACON.tagEvent({name:"purchaseQueue",params:{value:"enter",label:this.obj.storeUrl}});this.active=true;if(this.scopes.length){window.scrollTo(0,0);this.setWaitingRoomStateOnDetailPage()}}break;default:CONSOLE.log("warn","PurchaseQueueAction::onActionResponse - Unknown queue error "+jqXHR.status+". Unlock user as safety.");if(this.action!=3)this.onQueueStatus({locked:false});break}}};registerPackage("com.slacker.app.actions.user.PurchaseQueueAction"); 527com.slacker.app.actions.user.PurchaseQueueAction=PurchaseQueueAction})()}); 528bjork("com.slacker.app.components.ReactWrapper",function(){(function(){function ReactWrapper(){this.__constructor.apply(this)}ReactWrapper.prototype={__constructor:function(){if(ko.components.isRegistered("react-wrapper"))return;ko.components.register("react-wrapper",{viewModel:function(params){var $jscomp$this=this;var componentHash=Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,8);this.params=ko.observable(params);this.id="react-wrapper-"+componentHash;var renderComponent=function(){var propsValue= 529typeof params.props==="function"?params.props():params.props;window.REACT_LIB.utils.render(window.REACT_LIB.components[params.name](propsValue),document.getElementById($jscomp$this.id))};this.koDescendantsComplete=renderComponent},template:'<div data-bind="attr: { id: id }"></div>'})}};registerPackage("com.slacker.app.components.ReactWrapper");com.slacker.app.components.ReactWrapper=new ReactWrapper})()}); 530bjork("com.slacker.app.events.UserEvent",function(){(function(){function UserEvent(){this.__constants();this.__properties();this.__constructor.apply(this,arguments)}UserEvent.prototype={__constants:function(){UserEvent.EVENT_ONUSEREVENT="onUserEvent";UserEvent.LOGIN_PROCESSED="LoginProcessed";UserEvent.SOCIAL_LOGIN_FAILED="SocialLoginFailed";UserEvent.LOGIN_FAILED="LoginFailed";UserEvent.MERGE_SUCCESS="AccountMergeSuccess";UserEvent.MERGE_FAILED="AccountMergeFailed";UserEvent.TOKEN_READY="TokenReady"; 531UserEvent.TOKEN_FAILED="TokenFailed";UserEvent.CREATE_ACCOUNT_SUCCESS="CreateAccountSuccess";UserEvent.CREATE_ACCOUNT_FAILURE="CreateAccountFailure";UserEvent.FORGOT_PASSWORD_SUCCESS="ForgotPasswordSuccess";UserEvent.FORGOT_PASSWORD_FAILURE="ForgotPasswordFailure"},__properties:function(){this.type="";this.property="";this.payload=""},__constructor:function($property,$payload){this.type=UserEvent.EVENT_ONUSEREVENT;this.property=$property;this.payload=$payload}};registerPackage("com.slacker.app.events.UserEvent"); 532UserEvent.prototype.__constants();com.slacker.app.events.UserEvent=UserEvent})()}); 533bjork("com.slacker.app.globals",function(){var appInitTime=(new Date).getTime();var appLoc=location.toString();var UA=navigator.userAgent.toLowerCase();var INIT=true;if(APP_VERSION.indexOf("@build_number")>-1)APP_VERSION="0.0.1";var appLoc=location.toString();var packageLoaderBasePath="/s=1.0.857/js/";var dateFormat=function(){var token=/d{1,4}|m{1,4}
533|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,timezone=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, 534timezoneClip=/[^-+\dA-Z]/g,pad=function(val,len){val=String(val);len=len||2;while(val.length<len)val="0"+val;return val};return function(date,mask,utc){var dF=dateFormat;var originalDateValue=date;if(arguments.length==1&&Object.prototype.toString.call(date)=="[object String]"&&!/\d/.test(date)){mask=date;date=undefined}date=date?new Date(date):new Date;if(isNaN(date))date=new Date(originalDateValue.constructor().replace(" +0000 "," "));mask=String(dF.masks[mask]||mask||dF.masks["default"]);if(mask.slice(0, 5354)=="UTC:"){mask=mask.slice(4);utc=true}var _=utc?"getUTC":"get",d=date[_+"Date"](),D=date[_+"Day"](),m=date[_+"Month"](),y=date[_+"FullYear"](),H=date[_+"Hours"](),M=date[_+"Minutes"](),s=date[_+"Seconds"](),L=date[_+"Milliseconds"](),o=utc?0:date.getTimezoneOffset(),flags={d:d,dd:pad(d),ddd:dF.i18n.dayNames[D],dddd:dF.i18n.dayNames[D+7],m:m+1,mm:pad(m+1),mmm:dF.i18n.monthNames[m],mmmm:dF.i18n.monthNames[m+12],yy:String(y).slice(2),yyyy:y,h:H%12||12,hh:pad(H%12||12),H:H,HH:pad(H),M:M,MM:pad(M),s:s, 536ss:pad(s),l:pad(L,3),L:pad(L>99?Math.round(L/10):L),t:H<12?"a":"p",tt:H<12?"am":"pm",T:H<12?"A":"P",TT:H<12?"AM":"PM",Z:utc?"UTC":(String(date).match(timezone)||[""]).pop().replace(timezoneClip,""),o:(o>0?"-":"+")+pad(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4),S:["th","st","nd","rd"][d%10>3?0:(d%100-d%10!=10)*d%10]};return mask.replace(token,function($0){return $0 in flags?flags[$0]:$0.slice(1,$0.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy", 537longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April", 538"May","June","July","August","September","October","November","December"]};function formatSecondsAsTime(secs,format){var hr=Math.floor(secs/3600);var min=Math.floor((secs-hr*3600)/60);var sec=Math.floor(secs-hr*3600-min*60);if(hr<10)hr="0"+hr;if(min<10)min="0"+min;if(sec<10)sec="0"+sec;if(format!=null){var formatted_time=format.replace("hh",hr);formatted_time=formatted_time.replace("h",hr*1+"");formatted_time=formatted_time.replace("mm",min);formatted_time=formatted_time.replace("m",min*1+"");formatted_time= 539formatted_time.replace("ss",sec);formatted_time=formatted_time.replace("s",sec*1+"");return formatted_time}else return hr+":"+min+":"+sec}}); 540bjork("com.slacker.app.modules.AppModule",function(){(function(){var CONSOLE=require("com.slacker.util.Console");var EventNotifier=require("com.slacker.event.EventNotifier");var LoginView=require("com.slacker.app.views.LoginView");var CreateAccountView=require("com.slacker.app.views.CreateAccountView");var ForgotPasswordView=require("com.slacker.app.views.ForgotPasswordView");var PairDeviceView=require("com.slacker.app.views.PairDeviceView");var CustomBindings=require("com.slacker.app.CustomBindings"); 541var UrlModule=require("com.slacker.app.modules.UrlModule");var MessagingModule=require("com.slacker.app.modules.MessagingModule");var SimpleUserModule=require("com.slacker.app.modules.SimpleUserModule");var CheckOfferCodeAction=require("com.slacker.app.actions.CheckOfferCodeAction");var B64=require("com.slacker.util.encoding.B64");var TeslaLinkModule=require("com.slacker.app.modules.TeslaLinkModule");require("com.slacker.app.components.ReactWrapper");function AppModule(){this.__constants();this.__properties(); 542this.__constructor()}AppModule.prototype={__constants:function(){this.EVENTS=new EventNotifier;this.PRICE={NMEpl7:{trial:true,term:"7 days free",topNote:null,offer:{price:null,termDetail:"Try LiveOne Plus <b>FREE</b> for 7 Days",term:"7 days FREE"},product:"Plus",benefits:"plus"},NMEpr7:{trial:true,term:"7 days free",topNote:null,offer:{price:null,termDetail:"Try LiveOne Premium <b>FREE</b> for 7 Days",term:"7 days FREE"},product:"Premium",benefits:"premium",level:"premium"},NME30D:{trial:true,term:"30 days free", 543topNote:null,offer:{price:null,termDetail:"Try LiveOne Plus <b>FREE</b> for 30 Days",term:"30 days FREE"},product:"Plus",benefits:"plus"},NMEzk8:{trial:true,term:"60 days free",topNote:null,offer:{price:null,termDetail:"Try LiveOne Plus <b>FREE</b> for 60 Days",term:"60 days FREE"},product:"Plus",benefits:"plus"},"NME3mt":{trial:true,term:"3 month free",topNote:null,offer:{price:null,termDetail:"Try LiveOne Plus <b>FREE</b> for 3 Months",term:"3 months FREE"},product:"Plus",benefits:"plus"},"NME4mt":{trial:true, 544term:"4 month free",topNote:null,offer:{price:null,termDetail:"Try LiveOne Plus <b>FREE</b> for 4 Months",term:"4 months FREE"},product:"Plus",benefits:"plus"},"NME42z":{trial:true,term:"1 year free",topNote:"(Renews at $29.99/yr thereafter)",offer:{price:null,termDetail:null,term:"One whole year FREE"},product:"Plus",benefits:"plus"},"Prem14":{trial:true,term:"14 day free",topNote:null,offer:{price:"9.99",term:"month - 14 day trial",termDetail:null,currency:"USD"},product:"Premium",benefits:"premium"}, 545"0b9zdr":{trial:true,term:"14 day free",topNote:null,offer:{price:"14.99",term:"month - 14 day trial",termDetail:null,currency:"USD"},product:"Platinum",benefits:"platinum"}
545,NME:{trial:false,term:"annually billed",price:"$24.99 per year",topNote:null,offer:{price:"24.99",term:"year",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},NME57e:{trial:false,term:"annually billed",price:"$29.99 per year",topNote:null,offer:{price:"29.99",term:"year",termDetail:null,currency:"USD"},product:"Plus", 546benefits:"plus"},NMEaf2:{trial:false,term:"annually billed",price:"$19.99 per year",topNote:null,offer:{price:"19.99",term:"year",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},NMExs1:{trial:false,term:"annually billed",price:"$15.99 per year",topNote:null,offer:{price:"15.99",term:"year",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},NMEas3:{trial:false,term:"annually billed",price:"$34.99 per year",topNote:null,offer:{price:"34.99",term:"year",termDetail:null,currency:"USD"}, 547product:"Plus",benefits:"plus"},NMEpt2:{trial:false,term:"annually billed",price:"$29.99 per year",topNote:null,offer:{price:"29.99",term:"year",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},"NME7Qs":{trial:false,term:"annually billed",price:"$9.99 per year",topNote:null,offer:{price:"9.99",term:"year",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},"NME3gb":{trial:false,term:"annually billed",price:"$20.22 per year",topNote:null,offer:{price:"20.22",term:"year", 548termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},"NME7hd":{trial:false,term:"annually billed",price:"$35.88 per year",topNote:null,offer:{price:"35.88",term:"year",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},"NME99z":{trial:false,term:"",price:"",topNote:" (We did the math for you--you'll be billed $11.88 annually.)",offer:{price:null,termDetail:null,term:"Just 99¢ a month!"},product:"Plus",benefits:"plus"},"NMEtpi":{trial:false,term:"annually billed",price:"$39.99 per year", 549topNote:null,offer:{price:"39.99",term:"year",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},"NMEcpl":{trial:false,term:"monthly",price:"$2.99 per month",topNote:null,offer:{price:"2.99",term:"month",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"},"PRE1ms":{trial:false,term:"monthly",price:"$9.99 per month",topNote:null,offer:{price:"9.99",term:"month",termDetail:null,currency:"USD"},product:"Premium",benefits:"premium"},"PREtpa":{trial:false,term:"monthly",price:"$10.99 per month", 550topNote:null,offer:{price:"10.99",term:"month",termDetail:null,currency:"USD"},product:"Premium",benefits:"premium"},"NMEcpr":{trial:false,term:"monthly",price:"$8.99 per month",topNote:null,offer:{price:"8.99",term:"month",termDetail:null,currency:"USD"},product:"Premium",benefits:"premium",level:"premium"},"PRE1n5":{trial:false,term:"annually billed",price:"$109.99 per year",topNote:null,offer:{price:"109.99",term:"year",termDetail:null,currency:"USD"},product:"Premium",benefits:"premium"},"PREtpi":{trial:false, 551term:"annually billed",price:"$109.99 per year",topNote:null,offer:{price:"109.99",term:"year",termDetail:null,currency:"USD"},product:"Premium",benefits:"premium"},"NME8sd":{trial:false,term:"monthly",price:"$1.99 per month",topNote:null,offer:{price:"1.99",term:"month",termDetail:null,currency:"USD"},product:"Plus",benefits:"plus"}};this.benefits=[{id:"concert-festival-livestreams",label:"Concert & Festival Livestreams",tier:1},{id:"handcrafted-audio-stations",label:"Handcrafted Audio Stations", 552tier:1},{id:"personalized-recommendations",label:"Personalized Recommendations",tier:1},{id:"original-shows-podcasts",label:"Original Shows & Podcasts",tier:1},{id:"no-ads",label:"No Ads",desc:"Listen to music without interruption.",tier:5},{id:"unlimited-skips",label:"Unlimited Skips",desc:"Not into a song? Move it along...as much as you want!",tier:5},{id:"max-audio-quality",label:"Max Audio Quality",desc:"Get our highest audio quality: 320kpbs where available.",tier:5},{id:"listen-offline",label:"Listen Offline", 553tier:10},{id:"play-on-demand",label:"Play on demand",tier:10}].map(function(item){return Object.assign({},item,{desc:item.desc||false})});this.offerHeadingData={"login":{level:null,title:"<span>Access your <strong>LiveOne</strong> membership"},"basic":{level:"basic",title:"<span>Become a <strong>LiveOne</strong> member today!"},"plus":{level:"plus",title:'<span>Get more <br class="gt-1040"/>with <strong>PLUS</strong></span>',badge:"17% OFF",priceTerm:"$39.99/year",subtext:"($3.33/mo. when billed annually)"}, 554"premium":{level:"premium",title:'<div><span>Get the ultimate </span><span class="nowrap-1040">music experience </span><span>with <strong>Premium</strong></span></div>
554',priceTerm:"$10.99/month",subtext:"Enjoy anywhere. Cancel anytime"}};this.BENEFITS={"ticketing":{"title":'LiveOne <span class="vert-sep">|</span> <span class="bold">TICKETS</span>',"tier":"ticketing","shortList":null},"basic":{"title":"","tier":"Basic","shortList":[{"copy":"Handcrafted Stations"}]},"plus":{"tier":"Plus","title":'LiveOne <span class="vert-sep">|</span> <span class="bold">PLUS <span class="title-tier__icon fa fa-plus"></span></span>', 555"shortList":[{"copy":"Ad Free Music"},{"copy":"Unlimited Skips"},{"copy":"Max Audio Quality"}]},"premium":{"title":"Take your music offline","tier":"Premium","shortList":[{"copy":"Offline Listening"},{"copy":"On-Demand"},{"copy":"Playlists"}]},"platinum":{"title":"Video too!","tier":"Audio/Video Bundle","shortList":[{"copy":"On-Demand"},{"copy":"Offline Listening"},{"copy":"Playlists"},{"copy":"Premium Video"}]},"contest":{"eoy2022sweepstakes":{"entryActions":{"createaccount":1,"login":1},"isFullContest":true, 556"prizeDisplay":"\n <span>LiveOne Presents:</span><br/>\n <div style='margin: 1em 0;font-size: 1.3em;line-height: 1.4;font-weight: bold;'>\n\t\t\t\t\t\t\t<div>$TART THE NEW YEAR RIGHT</div>\n\t\t\t\t\t\t\t<div>SWEEPSTAKES</div>\n\t\t\t\t\t\t</div>","subhead":"\n\t\t\t\t\t\t\t<h4>GRAND PRIZE</h4>\n\t\t\t\t\t\t\t<div style='font-size: 2.4em;line-height: 1.4;font-weight: bold;' class=\"grand-prize-desc\">WIN $2,023 CASH!!</div>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<h4>FIRST PRIZE</h4>\n\t\t\t\t\t\t\t<div>LiveOne Sweatshirt</div>\n\t\t\t\t\t\t\t<div>LiveOne Hat</div>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<h4>ENTER NOW</h4>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t", 557"endDate":new Date("2023-01-08T13:59:00-04:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: The Sweepstakes is open only to persons who are a legal resident residing in the forty-eight (48) contiguous United States or District of Columbia and are twenty one (21) years of age or older at time of entry. Sweepstakes is subject to all federal, state and local laws and regulations. Sweepstakes is void outside the forty-eight (48) contiguous United States and wherever else restricted or prohibited by law. WINNER NOTIFICATION: Winner will be chosen at random on or about January 8, 2023. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 558"cravitymng2022":{"entryActions":{"createaccount":1,"login":1},"isFullContest":true,"prizeDisplay":"\n <span>LiveOne Presents:</span><br/>\n\x3c!-- <img src='/images/contest/cravity/logo.jpg' alt='Cravity Sweepstakes' style=\"max-width: 400px; border-radius: 50%;\"/>--\x3e\n <div style='margin: 1em 0;font-size: 1.3em;line-height: 1.4;font-weight: bold;'>\n\t\t\t\t\t\t\t<div>CRAVITY</div>\n\t\t\t\t\t\t\t<div>VIRTUAL MEET & GREET</div>\n\t\t\t\t\t\t\t<div>SWEEPSTAKES</div>\n\t\t\t\t\t\t</div>", 559"subhead":'\n\t\t\t\t\t\t\t<h4>GRAND PRIZE</h4>\n\t\t\t\t\t\t\t<div>WIN A VIRTUAL MEET & GREET w/ CRAVITY!!</div>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<h4>FIRST PRIZE</h4>\n\t\t\t\t\t\t\t<div>Autographed Cravity CD - signed by all 9 Members!</div>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<h4>ENTER NOW</h4>\n\t\t\t\t\t\t\t<div>*click <a style="color: #45ccf7" href="https://www.livexlive.com/video/dc689a23-c451-461e-ac85-48505253673d" target="_blank">here</a> for submission instructions</div>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t', 560"endDate":new Date("2022-09-29T13:59:00-04:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: The Sweepstakes is open only to persons who are a legal resident residing in the forty-eight (48) contiguous United States or District of Columbia and are twenty one (21) years of age or older at time of entry. Sweepstakes is subject to all federal, state and local laws and regulations. Sweepstakes is void outside the forty-eight (48) contiguous United States and wherever else restricted or prohibited by law. WINNER NOTIFICATION: Winner will be chosen at random on or about September 30, 2022. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 561"baby-mamas-no-drama-2022":{"entryActions":{"createaccount":1,"login":1},"isFullContest":true,"prizeDisplay":"LiveOne Presents:<br/><img src='/images/contest/bmnd/logo.svg' alt='Pride Month Sweepstakes'/><div style='margin: .2em 0 2em 0; font-size: 1em;'>PRIDE MONTH SWEEPSTAKES</div>","subhead":'\n\t\t\t\t\t\t\t<h4>GRAND PRIZE</h4>\n\t\t\t\t\t\t\t<div class="pseudolist">\n\t\t\t\t\t\t\t\t<div>WIN $1,000!!</div>\n\t\t\t\t\t\t\t\t<div>$500 for you and $500 to The Trevor Project!</div>\n\t\t\t\t\t\t\t\t<div>Plus, exclusive Baby Mamas No Drama Pride Collection Bundle</div><br/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div><img src=\'/images/contest/bmnd/merch.png\' alt=\'Baby Mamas No Drama Merch Bundle\'/></div>\n\t\t\t\t\t\t\t<div>+ 1-Year FREE LiveOne Plus Membership</div>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<h4>FIRST PRIZE</h4>\n\t\t\t\t\t\t\t<div class="pseudolist">\n\t\t\t\t\t\t\t\t<div>Exclusive Baby Mamas No Drama Pride Collection Tote Bag</div>\n\t\t\t\t\t\t\t\t<div>LiveOne Water Bottle</div>\n\t\t\t\t\t\t\t\t<div>PodcastOne Sweatshirt</div>\n\t\t\t\t\t\t\t\t<div>+ 1-Year FREE LiveOne Plus Membership</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<h4 style="margin-top:0.5em;margin-bottom:-1em;">ENTER NOW</h4>\n\t\t\t\t\t\t\t', 562"endDate":new Date("2022-06-30T23:59:00-07:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: The Sweepstakes is open only to persons who are a legal resident residing in the forty-eight (48) contiguous United States or District of Columbia and are twenty one (21) years of age or older at time of entry. Sweepstakes is subject to all federal, state and local laws and regulations. Sweepstakes is void outside the forty-eight (48) contiguous United States and wherever else restricted or prohibited by law. WINNER NOTIFICATION: Winner will be chosen at random on or about September 30, 2022. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 563"memorialday2022":{"entryActions":{"createaccount":1,"login":1},"isFullContest":true,"prizeDisplay":"LiveOne Presents:<br/>
563<img src='/images/contest/memorial-day-title.png' alt='Memorial Day Weekend Sweepstakes'/>","subhead":"<span class='bold'>WIN! $1000 GRAND PRIZE</span><span>$500 for you<br/>$500 for your favorite veteran charity</span><br/><br/><span class='bold'>25 FIRST PRIZE WINNERS</span><br/><span>Summer LiveOne Merchandise Package including:</span><br/><span>LiveOne Water Bottle</span><br/><span>LiveOne Beach Towel</span><br/><span>LiveOne Beach Ball</span>", 564"endDate":new Date("2022-05-31T23:59:00-07:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: The Sweepstakes is open only to persons who are a legal resident residing in the forty-eight (48) contiguous United States or District of Columbia and are twenty one (21) years of age or older at time of entry. Sweepstakes is subject to all federal, state and local laws and regulations. Sweepstakes is void outside the forty-eight (48) contiguous United States and wherever else restricted or prohibited by law. WINNER NOTIFICATION: Winner will be chosen at random on or about June 30th, 2022. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 565"dirtywayz2022":{"entryActions":{"createaccount":1,"login":1},"isFullContest":true,"prizeDisplay":"SWEEPSTAKES","subhead":"GRAND PRIZE<br/><span>Win a virtual Meet & Greet with Jay Dirty<br/>FIRST PRIZE<br/><span>Exclusive LiveOne Speaker!</span>","endDate":new Date("2022-05-31T23:59:00-07:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: The Sweepstakes is open only to persons who are a legal resident residing in the forty-eight (48) contiguous United States or District of Columbia and are twenty one (21) years of age or older at time of entry. Sweepstakes is subject to all federal, state and local laws and regulations. Sweepstakes is void outside the forty-eight (48) contiguous United States and wherever else restricted or prohibited by law. WINNER NOTIFICATION: Winner will be chosen at random on or about April 30th, 2022. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 566"wce2022":{"entryActions":{"createaccount":1,"login":1},"isFullContest":true,"prizeDisplay":"WOMEN CARE EVERYDAY<br/>#WCE<br/>SWEEPSTAKES","subhead":"GRAND PRIZE<br/><span>WIN $1,000!<br/>$500 for you and $500 to your favorite women's charity!</span><br/>FIRST PRIZE<br/><span>Exclusive LiveOne Speaker!</span>","endDate":new Date("2022-03-31T23:59:00-07:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: The Sweepstakes is open only to persons who are a legal resident residing in the forty-eight (48) contiguous United States or District of Columbia and are twenty one (21) years of age or older at time of entry. Sweepstakes is subject to all federal, state and local laws and regulations. Sweepstakes is void outside the forty-eight (48) contiguous United States and wherever else restricted or prohibited by law. WINNER NOTIFICATION: Winner will be chosen at random on or about April 30th, 2022. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 567"xobrooklynne2021":{"entryActions":{"createaccount":1},"isFullContest":true,"prizeDisplay":"LiveOne Presents:<br/><img src='/images/contest/xo-contest-logo.png' alt='Xo Brooklynne'/><br/>\"My Crown\" Sweepstakes","subhead":"Win Dinner with Brooklynne in LA!<br/>Fly to LA to meet Brooklynne, dine at a hotspot with her!<br/>Additionally airfare and hotel accommodations included for two.","endDate":new Date("2022-01-05T23:59:00-07:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: Must be eighteen (18) or older to win. This Giveaway is open only to individuals who are permanent legal residents of the 47 United States of America (excluding residents of Alaska, Hawaii, Rhode Island, overseas military installations, Puerto Rico, the District of Columbia, and other U.S. Territories). WINNER NOTIFICATION: Winner will be chosen at random on or before January 10. 2022. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 568"ml_looped":{"entryActions":{"createaccount":1},"isFullContest":true,"prizeDisplay":"<img src='/images/contest/BeyondTheStream.png' alt='Beyond the Stream. A digital one-on-one meet and greet with a
568LiveOne performer from home.'/>","subhead":"Here's your chance to win a digital one-on-one meet and greet with a LiveOne performer from home. Sign up now and go beyond the stream with us!","endDate":new Date("2020-05-31T23:59:00-07:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: Must be eighteen (18) or older to win. This Giveaway is open only to individuals who are permanent legal residents of the 47 United States of America (excluding residents of Alaska, Hawaii, Rhode Island, overseas military installations, Puerto Rico, the District of Columbia, and other U.S. Territories). WINNER NOTIFICATION: Winner will be chosen at random on June 1, 2020. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 569"rollingloudla2018":{"entryActions":{"createaccount":1},"isFullContest":true,"prizeDisplay":"Win a Full Rolling Loud Los Angeles V.I.P. Experience!","subhead":"We'll fly you to LA to see the festival, and hook you up with VIP tickets, hotel accommodations, and more.","endDate":new Date("2018-12-05T22:00:00-08:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: Must be eighteen (18) or older to win. This Giveaway is open only to individuals who are permanent legal residents of the 47 United States of America (excluding residents of Alaska, Hawaii, Rhode Island, overseas military installations, Puerto Rico, the District of Columbia, and other U.S. Territories). WINNER NOTIFICATION: Winner will be chosen at random on 12/07/2018. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 570"adns2019":{"entryActions":{"createaccount":1},"isFullContest":true,"prizeDisplay":"Win Lunch with Josh Altman in Los Angeles!","subhead":'We\'ll fly one Grand Prize winner to L.A. to have lunch with Josh, get hooked up with hotel accommodations, and take home a copy of his new book, "The Altman Close."<br/><br/>Plus, 25 First Prize winners will get a copy of "The Altman Close!"',"endDate":new Date("2019-03-31T22:59:00-08:00"),"extraLegal":"TERMS: No purchase necessary. ELIGIBILITY: Must be eighteen (18) or older to win. This Giveaway is open only to individuals who are permanent legal residents of the forty-eight (48) contiguous United States or District of Columbia. WINNER NOTIFICATION: Winner will be chosen at random on or about 04/03/2019. Winners will be notified via email. CONDITIONS: Prizes are non-transferable. No cash redemption or substitution will be allowed."}, 571"madonna2019":{"entryActions":{"createaccount":1},"isFullContest":false,"prizeDisplay":"Help your favorite influencer!","subhead":"Register now to help....win a chance to interview Madonna.","endDate":new Date("2019-08-31T22:59:00-08:00"),"extraLegal":false}}};this.BENEFITS["student-plan"]=Object.assign({},this.BENEFITS.plus,{"title":'<span class="sp-heading">LiveOne <span class="vert-sep">|</span><span class="sp-level-group"><span class="sp-row"><div class="sp-level-group--level bold">PLUS</div><div class="sp-level-group--subtext">STUDENT PLAN</div></span><span class="sp-row"><span class="sp-level-group--icon"></span></span></span>'}); 572this.tierMap={"basic":1,"plus":5,"premium":10};this.BENEFITS[1]=this.BENEFITS.basic;this.BENEFITS[5]=this.BENEFITS.plus;this.BENEFITS[10]=this.BENEFITS.premium;this.BENEFITS[15]=this.BENEFITS.platinum;this.CAMPAIGN_SKIN={"vday2019":1,"did-generic":1,"bebe":1,"event-twolanelivelukebryan":1,"arkliving":1}},__properties:function(){this.isTeslaUpgradeFlow=QUERY_OBJ["source"]==="client_web_tesla-upgrade-cta";this.isTeslaAcctMergeFlow=QUERY_OBJ["source"]==="client_web_tesla-merge-button";this.isTeslaUpgradeFlowNonCred= 573!!(QUERY_OBJ["source"]&&QUERY_OBJ["source"].indexOf("client_web_tesla-upgrade-cta-nc")!==-1);this.isTeslaUpgradeLoginOnly=this.isTeslaUpgradeFlow&&(!QUERY_OBJ["did"]||QUERY_OBJ["did"]==="SLK000");this.isTeslaFlow=this.isTeslaUpgradeFlow||this.isTeslaAcctMergeFlow||this.isTeslaUpgradeFlowNonCred||this.isTeslaUpgradeLoginOnly;this.isCostcoBetaFlow=QUERY_OBJ["source"]==="costcobeta";this.isCostcoMemberLinkFlow=QUERY_OBJ["done"]==="costco";this.costcoMembershipTier=QUERY_OBJ["membershipTier"]||null;var teslaFlow= 574[{match:this.isTeslaAcctMergeFlow,id:"acct_merge"},{match:this.isTeslaUpgradeLoginOnly,id:"upgrade_login_only"},{match:this.isTeslaUpgradeFlow||this.isTeslaUpgradeFlowNonCred,id:"upgrade"},{match:true,id:""}].find(function(item){return item.match}).id;this.modules={userModule:new SimpleUserModule,urlModule:new UrlModule,messagingModule:new MessagingModule,teslaLinkModule:new TeslaLinkModule(teslaFlow)};this.currentPlayButton=null;this.views={login:new LoginView,createAccount:new CreateAccountView, 575forgotPassword:new ForgotPasswordView,pairDevice:new PairDeviceView};this.viewsByDomName={"LoginView":this.views.login,"CreateAccountView":this.views.createAccount,"ForgotPasswordView":this.views.forgotPassword,"PairDeviceView":this.views.pairDevice};this.currentView=null;this.afterLoginPath=null;this.userInitSnapshot=null;this.appSocialLoginLocalStorageKey=CONFIG.socialLoginLocalStorageKey;this.appSocialLoginState=null;this.isWin10App=ko.observable(typeof window.Windows!=="undefined");this.did=ko.observable(CONFIG.did); 576this.entryPage=ko.observable(QUERY_OBJ["entryPage"]);this.device=ko.observable(null);this.forceOffer=ko.observable(null);this.appUserAgent=CONFIG.xscid;this.canShowCreateForNME=ko.observable(false);this.canShowCreateAction=ko.observable(true);this.canShowLoginAction=ko.observable(true);this.canShowCloseButton=(document.referrer||window.opener)&&(SITEROOT.indexOf(REF_DOMAIN)>-1&&SITEROOT.indexOf(REF_DOMAIN)<7)&&REF_DOMAIN.indexOf("www")==0||this.isCostcoMemberLinkFlow;this.isContestEntryFlow=ko.observable(false); 577this.isGiftCodeFlow=ko.observable(false);this.isDeviceRedeemFlow=ko.observable(false);this.isDeviceUpgradeFlow=ko.observable(false);this.isHoopla=ko.observable(false);this.isCostcoBetaFlow=ko.observable(this.isCostcoBetaFlow);this.isCostcoMemberLinkFlow=ko.observable(this.isCostcoMemberLinkFlow);this.costcoMembershipTier=ko.observable(this.costcoMembershipTier);this.showCostcoExitDialog=ko.observable(false);this.features=[{icon:"/images/icons/features/play.svg",text:"Livestream and on-demand concerts, festivals, and events.", 578style:"background-size:60%"},{icon:"/images/icons/features/station-icon.svg",text:"Music, podcasts, comedy, and more.",style:""},{icon:"/images/icons/features/headphones.svg",text:"Welcome to the best-kept secret in music.",style:"background-size:60%"}];this.altProviders=[{name:"Google",class:"google",id:"google_sso_btn",onClick:false},{name:"Facebook",class:"facebook",id:"facebook_sso_btn",onClick:function(){return APP.currentView.onFBLoginAction()}},{name:"Apple",class:"apple",id:"apple_sso_btn", 579onClick:function(){return APP.currentView.onAppleLoginAction()}}];this.gsiButtonReady=ko.observable(false);this.featuresIndex=ko.observable(0);this.years=this._range(1900,(new Date).getFullYear(),1).map(function(year){return year.toString()}).reverse();
579this.giftCodeText=" to activate your gift code";this.autoAuth=ko.observable(null);this.nonAnonFlow=ko.observable(false);this.errorType=ko.observable(null)},__constructor:function(){var self=this;this.EVENTS.attachEvent("onAppLoaded",Delegate.create(this, 580this.onAppLoaded));this.specialOfferPriceByDid=ko.computed(function(){var did=self.did();var forceOffer=self.forceOffer();var data=self.PRICE[did];if(forceOffer)data=forceOffer;if(data){data.topNote=data.topNote||null;if(self.BENEFITS[data.benefits])data.benefits=self.BENEFITS[data.benefits];if(data.benefits.tier==="ticketing")QUERY_OBJ["entryPage"]="ticketing"}return data});if(QUERY_OBJ["utm_campaign"]==="arkliving")QUERY_OBJ["entryPage"]="plus";this.newUUID=ko.computed(function(){var dt=(new Date).getTime(), 581uuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(dt+Math.random()*16)%16|0;dt=Math.floor(dt/16);return(c=="x"?r:r&3|8).toString(16)});return uuid});this.isSpecialAnnualOffer=ko.computed(function(){var data=self.specialOfferPriceByDid();return data&&data.benefits.tier!=="ticketing"&&data});this.contestEntryData=ko.computed(function(){var key=self.isContestEntryFlow();var now=new Date;var data=self.BENEFITS.contest[key];if(data){data.key=key;data.ended=now>data.endDate; 582if(!data.ended){data["extra-legal"]=function(){var buf=[];if(data.extraLegal)buf.push(data.extraLegal);buf.push('<a href="'+OFFICIAL_SITEROOT+"/contestrules/"+key+'" target="_blank">Official Contest Rules</a>');return buf.join("<br/>")};self.modules.userModule.user.set({"requireCompleteReg":true})}}else if(key)data={"entryActions":{"createaccount":1},"prizeDisplay":"Invalid Contest Id","endDate":new Date("12/01/1972"),"ended":true,"invalid":true};if(data&&!data["extra-legal"])data["extra-legal"]= 583function(){return null};return data||""});this.showLoginLink=ko.computed(function(){var contestAllowsLogin=self.contestEntryData()&&(self.contestEntryData().ended||self.contestEntryData().entryActions.login);return!self.isHoopla()&&(!self.isContestEntryFlow()||contestAllowsLogin||self.isGiftCodeFlow())});this.canShowSidebar=function(providerType){var isGenericDID=self.did()==="SLK000";var shallPass=QUERY_OBJ["utm_campaign"]==="arkliving";var noneShallPass=self.isContestEntryFlow()||self.isGiftCodeFlow()|| 584self.forceOffer()||self.nonAnonFlow();return(!noneShallPass||shallPass)&&providerType!=="forgotPassword"&&isGenericDID};this.getSidebarLevel=function(providerType,campaignStyle){var canShow=self.canShowSidebar(providerType);var match=[{valid:!QUERY_OBJ["entryPage"],level:"basic"},{valid:QUERY_OBJ["entryPage"]==="plus",level:"plus"},{valid:QUERY_OBJ["entryPage"]==="premium",level:"premium"}].find(function(item){return canShow&&item.valid});var $jscomp$optchain$tmp1377861237$29;return(($jscomp$optchain$tmp1377861237$29= 585match)==null?void 0:$jscomp$optchain$tmp1377861237$29.level)?"sidebar--"+match.level:""};this.isTicketing=function(){return window.QUERY_OBJ["entryPage"]==="ticketing"};this.attachBodyClasses=function(providerType){return ko.computed(function(){var provider={"login":APP.views.login.loginProvider,"createAccount":APP.views.createAccount.loginProvider,"forgotPassword":function(){return false}}[providerType];var loginProvider=provider();var contest=typeof APP!=="undefined"?APP.isContestEntryFlow():null; 586var did=typeof APP!=="undefined"?APP.did():null;var forceOffer=typeof APP!=="undefined"?APP.forceOffer():null;var campaignStyle=window.QUERY_OBJ["skin"]||window.QUERY_OBJ["utm_campaign"];var giftCode=typeof APP!=="undefined"?APP.isGiftCodeFlow():null;var isChromeAndroid=navigator.userAgent.indexOf("Android")!==-1&&navigator.userAgent.indexOf("Chrome")!==-1;var sidebarLevel=self.getSidebarLevel(providerType);var isTicketing=APP.isTicketing();var getDidClasses=function(){if(APP.CAMPAIGN_SKIN[did])return["campaign", 587"did",did];else if(APP.CAMPAIGN_SKIN["did-generic"])return["campaign","did-generic"]};var $jscomp$optchain$tmp1377861237$30;var classes=[{valid:!loginProvider,classes:function(){return["chooser"]}},{valid:loginProvider,classes:function(){return["provider",loginProvider]}},{valid:contest,classes:function(){return["contest",contest]}},{valid:campaignStyle&&typeof APP!=="undefined"&&APP.CAMPAIGN_SKIN[campaignStyle],classes:function(){return["campaign",campaignStyle]}},{valid:did&&did!=="SLK000",classes:getDidClasses}, 588{valid:forceOffer,classes:function(){return["campaign","did-generic"]}},{valid:($jscomp$optchain$tmp1377861237$30=forceOffer)==null?void 0:$jscomp$optchain$tmp1377861237$30.offerCode,classes:function(){return["offerCode__"+forceOffer.offerCode,"resourceId__"+forceOffer.resourceId]}},{valid:giftCode,classes:function(){return["campaign","gift-code"]}},{valid:sidebarLevel,classes:function(){return[sidebarLevel]}},{valid:isTicketing,classes:function(){return["ticketing"]}},{valid:isChromeAndroid,classes:function(){return["chrome-android"]}}, 589{valid:self.isTeslaUpgradeFlow,classes:function(){return["tesla-upgrade"]}},{valid:self.isTeslaUpgradeFlowNonCred,classes:function(){return["tesla-upgrade","tesla-upgrade--nc"]}},{valid:self.isTeslaAcctMergeFlow,classes:function(){return["tesla-acct-merge"]}}].filter(function(item){return item.valid}).reduce(function(acc,item){return acc.concat(item.classes())},[]);$("body")[0].className=classes.join(" ");return[]})};this.getViewClasses=function(providerType){APP.attachBodyClasses(providerType);return ko.computed(function(){return{NME:APP.isSpecialAnnualOffer()|| 590APP.isContestEntryFlow()||APP.isGiftCodeFlow(),contest:APP.isContestEntryFlow()}})};this.canShowCreateForNME(this.isSpecialAnnualOffer());if(this.isTeslaUpgradeFlow||this.isTeslaUpgradeFlowNonCred);},init:function(){if(!this.processQueryParameters())return;this.EVENTS.notify("onAppLoaded")},getKeyUpHandler:function(callback,toggle,keyCodes){keyCodes=keyCodes===undefined?[13,32]:keyCodes;return function(data,event){var match=keyCodes.find(function(item){return item===event.which});if(match){event.preventDefault(); 591event.stopPropagation();if(callback)callback(data,event);else toggle(!toggle())}}},parseStringQueryParameters:function(stringParams,obj){var paramObj=obj;if(stringParams)stringParams.split("&").forEach(function(kv){var qp=kv.split("=");while(qp.length>2)qp[1]=qp[1]+"="+qp.splice(2,1)[0];paramObj[qp[0]]=qp[1]});if(paramObj.entryPage&&!isNaN(Number(paramObj.entryPage)))if(this.BENEFIT
591S[paramObj.entryPage])paramObj.entryPage=window.QUERY_OBJ["entryPage"]=this.BENEFITS[paramObj.entryPage].tier.toLowerCase(); 592else window.QUERY_OBJ["entryPage"]=paramObj.entryPage=null;if(paramObj.done==="scb")APP.forceOffer({"title":null,"offer":"custom","benefits":{tier:"custom","shortList":[{"copy":"Step 1: Create your FREE LiveOne | LiveOne account."}]}});return paramObj},processDeviceLinkParams:function(paramObj,user){if(paramObj.device)this.device(paramObj.device);if(DONE_PATH==="activate"&&this.modules.userModule.user.get("loginToken"))this.isDeviceRedeemFlow(true);else if((paramObj.did==="TLY000"||paramObj.device=== 593"HIL000"||paramObj.did==="GRV000")&&!!paramObj.code)this.isDeviceUpgradeFlow(true);if(this.isDeviceRedeemFlow()||this.isDeviceUpgradeFlow())user.set("requireCompleteReg",false)},processTeslaUpgradeParams:function(paramObj){var username=paramObj["username"]&&decodeURIComponent(paramObj["username"]);var password=paramObj["password"]&&decodeURIComponent(paramObj["password"]);if(this.isTeslaUpgradeFlow&&username&&password)try{APP.modules.userModule.login(username,password)}catch($jscomp$unused$catch){if(document.referrer|| 594window.opener)APP.modules.userModule.onUserLoginCancel();else APP.modules.userModule.onUserLoginReturn(false,"tesla_initfailed")}},processHooplaParams:function(paramObj){var isHoopla=paramObj["isHoopla"]=="true";this.isHoopla(isHoopla)},processQueryParameters:function(){var user=this.modules.userModule.user;var paramObj=this.parseStringQueryParameters(location.search.substr(1),{});if(!paramObj.ref&&REF_DOMAIN){location.replace(window.location.href+"&ref="+encodeURIComponent(REF_PROTOCOL+REF_DOMAIN+ 595REF_QSTRING));return false}this.processRedirectParams(user,paramObj);this.setUserAndLoginData(user,paramObj);this.processOfferCodeParams(paramObj);this.processGiftCodeParams(paramObj);this.processDeviceLinkParams(paramObj,user);this.processTeslaUpgradeParams(paramObj);this.processHooplaParams(paramObj);return true},processRedirectParams:function(user,paramObj){this.afterLoginPath=DONE_PATH;var afterLoginPaths=["upgrade","manage","settings","support","costco"];var $jscomp$optchain$tmp1377861237$31; 596var tokenRequired=this.afterLoginPath&&afterLoginPaths.indexOf(($jscomp$optchain$tmp1377861237$31=this.afterLoginPath)==null?void 0:$jscomp$optchain$tmp1377861237$31.toLowerCase())>=0;if(user)user.set({"requireCompleteReg":tokenRequired,"upgradeFlow":this.afterLoginPath&&this.afterLoginPath.toLowerCase().indexOf("upgrade")>=0,"settingsFlow":this.afterLoginPath&&this.afterLoginPath.toLowerCase().indexOf("setting")>=0,"requireToken":tokenRequired});this.canShowCreateForNME(this.isSpecialAnnualOffer()); 597var $jscomp$optchain$tmp1377861237$32;this.nonAnonFlow(["manage","settings"].indexOf(($jscomp$optchain$tmp1377861237$32=this.afterLoginPath)==null?void 0:$jscomp$optchain$tmp1377861237$32.toLowerCase())>=0);if(this.BENEFITS.contest[paramObj.contest])this.isContestEntryFlow(paramObj.contest);else if(paramObj.contest)this.isContestEntryFlow(true)},setUserAndLoginData:function(user,paramObj){var verifyParam=paramObj.token||paramObj.user||paramObj.slackeruser;if(verifyParam){var decodedParams=B64.decode64(decodeURIComponent(verifyParam).replace(/\.|=/gi, 598"|"));if(decodedParams){var userData=$.deparam(decodedParams);if(userData&&user){user.set(userData);this.userInitSnapshot=user.getSnapshot();this.canShowCreateForNME(this.isSpecialAnnualOffer()&&!userData.username);this.canShowCreateAction(!userData.username||this.canShowCreateForNME());if(userData.offer){this.canShowCreateForNME(true);this.canShowCreateAction(true);this.forceOffer(userData.offer)}}}}},processOfferCodeParams:function(paramObj){if(!this.forceOffer()&¶mObj.offerCode){this.checkOfferCodeAction= 599new CheckOfferCodeAction(this);this.checkOfferCodeAction.code(paramObj.offerCode)}},processGiftCodeParams:function(paramObj){if(paramObj.redeemCode&¶mObj.done==="settings")this.isGiftCodeFlow(true)},supportedMethod:function(action,method){switch(method){case "phone":return false;default:return true}},redirectToView:function(view,key,data){if(!view||this.currentView===view)return;var pathName=view.pathName();var forceLogin=APP.currentView?APP.currentView.isRequiredToLogin():false;var keyvals=location.search.substr(1).split("&"); 600var qstring={};for(x=0;x<keyvals.length;x++){var result=keyvals[x].match(/([^=]+)=(.*)/);if(result&&result.length>1){var key$25=result[1];var value=result[2];var sanitizer=[{valid:APP.isTeslaUpgradeFlow&&["username","password"].includes(key$25),run:decodeURIComponent},{valid:key$25==="token",run:decodeURIComponent},{valid:key$25==="redeemCode",run:decodeURIComponent},{valid:key$25==="ref",run:decodeURIComponent},{valid:true,run:function(value){return value.replaceAll("%3A",":").replaceAll("%2F","/")}}].find(function(item){return item.valid}).run; 601var valueSanitized=sanitizer(value);CONSOLE.log("debug","redirectToView: Decoded "+key$25+" parameter (length: "+value.length+" -> "+valueSanitized.length+")");qstring[key$25]=valueSanitized}}if(key&&data)this.saveToLocalStorage(key,data);else if(APP.appSocialLoginState)this.saveToLocalStorage(APP.appSocialLoginLocalStorageKey,APP.appSocialLoginState);if(APP.purchaseQueue&&APP.purchaseQueue.reentryToken)qstring.queueToken=APP.purchaseQueue.reentryToken;if(forceLogin&&!qstring.token)qstring.token= 602B64.encode64("isRequiredToLogin=true").replace(/\|/g,".");else if(APP.purchaseQueue&&APP.purchaseQueue.reentryToken)qstring.queueToken=APP.purchaseQueue.reentryToken;window.location="/"+pathName+"?"+$.param(qstring)},redirectToLogin:function(key,data){if(this.currentView===this.views.login)return;var qstring=$.deparam(location.search.substr(1));this.saveToLocalStorage(key,data);window.location.pathname="login?"+$.param(qstring)},saveToLocalStorage:function(key,data){localStorage.setItem(key,data? 603$.param(data):"")},readFromLocalStorage:function(key){var data=null;try{var storedData=localStorage.getItem(key);if(storedData)data=$.deparam(storedData)}catch(e){CONSOLE.log("warn","Decoding the "+key+" data retrieved from localStorage failed!")}return data},removeFromLocalStorage:function(key){localStorage.removeItem(key)},encodeParamsForNextService:function(data){return B64.encode64($.param(data).trim()).trim().replace(/\|/gi,".")},onOfferCodeCheck:function(isOk,offer){var user=this.modules.userModule.user; 604var data=null;if(offer){APP.forceOffer(offer);user.set({offer:APP.forceOffer()});this.canShowCreateForNME(true)}else if(this.checkOfferCodeAction.error()){data={error:this.checkOfferCodeAction.error(),errorType:"offer"};this.errorType(data.errorType)}this.checkOfferCodeAction=null;this.onAppLoaded(data)},onAppLoaded:function(data){CustomBindings.apply();var self=this;var views=["Login","CreateAccount","ForgotPassword","PairDevice"];var viewCount=views.length;var contest=APP.contestEntryData();var offer= 605APP.forceOffer();var i,domName;if(this.checkOfferCodeAction){this.checkOfferCodeAction.execute();return}for(i=0;i<viewCount;i++){var thisView=views[i];domName=thisView+"View";if($("#"+domName).length>0){APP.currentView=this.viewsByDomName[domName].init();if(contest){APP.isContestEntryFlow(null);if(contest.ended)APP.canShowCreateForNME(true);else if(contest.entryActions&&!contest.entryActions[thisView.toLowerCase()])APP.isContestEntryFlow(false);else APP.isContestEntryFlow(contest.key)}if(data&&data.error){APP.currentView.errorMessage(data.error); 606if(data.errorType==="offer"){if(APP.currentView.loginReason)APP.currentView.setLoginReason(null);APP.currentView.doNotShowChooserOnBack(true);APP.currentView.loginProvider("none")}}if(offer&&offer.benefits&&offer.benefits.tier=="ticketing"){if(APP.currentView.isCreatePending)APP.currentView.isCreatePending(true);else APP.currentView.isLoginPending(true);if(!this.purchaseQueue){var QueueAction=require("com.slacker.app.actions.user.PurchaseQueueAction");this.purchaseQueue=new QueueAction(offer,APP); 607if(QUERY_OBJ.queueToken)this.purchaseQueue.reentryToken=QUERY_OBJ.queueToken}this.purchaseQueue.execute()}else APP.currentView.resume();break}}},isTicketWaitingRoomActive:function(active){if(APP.currentView.isCreatePending)APP.currentView.isCreatePending(false);else APP.currentView.isLoginPending(false);
607if(active){$(".container.login-card button").hide();$(".other-actions:not(.tos)").hide();APP.currentView.hideSocialButtons(true);if(!this.storeTopNote){this.storeTopNote=$(".top-note span").html(); 608if(APP.currentView.loginReason){this.storeLoginReason=APP.currentView.loginReason();APP.currentView.setLoginReason(null)}this.purchaseQueueTimeUpdateWatcher=ko.computed(function(){var _wait=APP.purchaseQueue.waitTime(),_span=$(".top-note span");$(".top-note").addClass("queue-count");$(".login-container").addClass("queue-active");var html='\n\t\t\t\t\t\t\t<span class="queue-count__heading">You are now in line.</span>\n\t\t\t\t\t\t\t<span class="queue-count__notice">DO NOT RELOAD THIS PAGE</span>\n\t\t\t\t\t\t\t<span class="queue-count__wait-time">Expected wait: '+ 609(isNaN(Number(_wait))?_wait:formatSecondsAsTime(_wait))+"</span>\n\t\t\t\t\t\t";_span.html(html)})}}else{$(".container.login-card button").show();$(".other-actions:not(.tos)").show();APP.currentView.hideSocialButtons(false);this.purchaseQueueTimeUpdateWatcher=null;$(".login-container").removeClass("queue-active");if(this.storeTopNote){$(".top-note").removeClass("queue-count");$(".top-note span").html(this.storeTopNote);this.storeTopNote=null}if(this.storeLoginReason){APP.currentView.setLoginReason(null, 610null,this.storeLoginReason);this.storeLoginReason=null}APP.currentView.resume()}},onAppLoginFailed:function(){if(APP.currentView){if(APP.currentView.isCreatePending)APP.currentView.isCreatePending(false);if(APP.currentView.isLoginPending)APP.currentView.isLoginPending(false)}},incFeatures:function(){APP.featuresIndex(APP.featuresIndex()<APP.features.length-1?APP.featuresIndex()+1:0)},decFeatures:function(){APP.featuresIndex(APP.featuresIndex()>0?APP.featuresIndex()-1:APP.features.length-1)},notifyParentWindowWithStatus:function(status){var isNonPrd= 611window.location.hostname.match(/^.*(dev|stg|pubstg\.sdlive(xlive|one)\.com)|localhost:\d{4}/);var targetOrigin=isNonPrd?"*":"https://"+SITEROOT;window.parent.postMessage({sender:"slacker-external-service",status:status},targetOrigin)},notifyParentWindowReady:function(){var user=this.modules.userModule.user;var isUpgradeFlow=user.get("upgradeFlow");var offerCodeFailure=APP.errorType()==="offer";var isAutoAuthSuccess=APP.autoAuth()==="SUCCESS";var isTicketingPassThru=user.get("oauth")&&APP.autoAuth()=== 612null&&!APP.isTeslaUpgradeFlow;var $jscomp$optchain$tmp1377861237$33;var deferTesla=APP.isTeslaUpgradeFlow&&(!APP.modules.teslaLinkModule.linkStatus||(($jscomp$optchain$tmp1377861237$33=APP.modules.teslaLinkModule.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$33.length)>0);var deferToNextService=isUpgradeFlow&&!offerCodeFailure&&!APP.isHoopla()&&(isAutoAuthSuccess||isTicketingPassThru||deferTesla);console.log("web-login notifyParentWindowReady",deferToNextService?"(deferred to next service)": 613"(not deferred)");!deferToNextService&&this.notifyParentWindowWithStatus("LOADED")},getBenefitsByTier:function(tier,sparse){sparse=sparse===undefined?true:sparse;var predicate=function(benefit){return sparse?benefit.tier===tier:benefit.tier<=tier};return APP.benefits.filter(predicate)},getBenefitsForEntryPage:function(providerType){var forceBasic=false;var level=!forceBasic&&QUERY_OBJ["entryPage"]||"basic";var appendInheritedBenefitsSummary=level==="premium";var previousTier={premium:"plus",plus:"basic"}[level]; 614var append=appendInheritedBenefitsSummary&&previousTier?[{id:"plus-sign",label:"All of "+previousTier.split("").map(function(item,index){return index===0?item.toUpperCase():item}).join("")}]:[];return this.getBenefitsByTier(this.tierMap[level]).concat(append)},getEntryPage:function(){return QUERY_OBJ["entryPage"]},getOfferHeadingData:function(providerType){var key=QUERY_OBJ["entryPage"]||"basic";return Object.assign({},this.offerHeadingData[key],{hidePrice:this.isGiftCodeFlow()})},afterRenderAltProviders:function(){var $jscomp$optchain$tmp1377861237$34; 615($jscomp$optchain$tmp1377861237$34=APP.currentView)==null?void 0:$jscomp$optchain$tmp1377861237$34.Google.renderButton()},_range:function(min,max,step){var arr=[];var ind=min;while(ind<=max){arr.push(ind);ind+=step}return arr},onCostcoExitConfirm:function(){APP.showCostcoExitDialog(false);
615if(window.self!==window.top)window.parent.postMessage({type:"COSTCO_EXIT"},"*");else window.history.back()},onCostcoExitCancel:function(){APP.showCostcoExitDialog(false)}};registerPackage("com.slacker.app.modules.AppModule"); 616AppModule.prototype.__constants();com.slacker.app.modules.AppModule=new AppModule})()}); 617bjork("com.slacker.app.modules.ConfigurationModule",function(){(function(){var UrlModule=require("com.slacker.app.modules.UrlModule");function ConfigurationModule(){this.__constants();this.__properties();this.__constructor()}ConfigurationModule.prototype={__constants:function(){this.QUERY=$.deparam(location.search.substr(1))},__properties:function(){var self=this;this.appEnv=APP_ENV;this.client="webplayer_en_"+APP_VERSION+"_"+PARTNER;this.xscid="00_webplayer_en_"+APP_VERSION+(PARTNER=="slacker"?"_site:slacker": 618"_site:slacker,partner:"+PARTNER);this.did=this.QUERY.did||"SLK000";this.site="slacker";this.stationtree="slacker";this.partner=PARTNER;this.cobrand="www";this.storeClient="website";this.K="06607506e06307406906f06e02006406506306f06406504607206f06d04806507802807307407202902007b07606107202007307407202002002002003d02002203003606503003206203003606203003503803003303603003503503003603203003303903003403903003403503003703903003403903003303303003603603003503403003406402203b07606107202007206507407507206e05606106c02003d02002202203b07606107202006c06506e02003d02007307407202e06c06506e06707406803b07606107202006306e07406507202003d02007307407202e06c06506e06707406802002d02003303b07706806906c06502806c06506e02003e02003002907b06306e07407202003d02002806c06506e02002d02003302902003e03d02003002003f02006c06506e02002d02003302003a02003003b07206507407507206e05606106c02003d02005307407206906e06702e06607206f06d04306806107204306f06406502802203007802202002b02007307407202e07307506207307407206906e06702806306e07407202002c02006c06506e02902902002b02007206507407507206e05606106c03b06c06506e02003d02006306e07407203b07d07206507407507206e02007206507407507206e05606106c03b07d"; 619this.tokenClientId=45;this.tokenSigningAlgo=0;this.storeSkin="";this.socialLoginLocalStorageKey="SocialLoginState";this.beaconConfig={initTime:(new Date).getTime(),enableGA:true,configPartner:PARTNER,formats:{page:BEACON_SERVER+"/beacon/page/<name>",event:BEACON_SERVER+"/beacon/event/<name>"},gaConfig:{ua:"UA-2081272-7",ga4:"G-G319G56MMQ",pageview:false}};if(PARTNER!="slacker")if(PARTNER=="msftwin10"){this.partner="msftwin10";this.client="msftwin10_en_"+APP_VERSION+"_"+this.partner;this.xscid="00_msftwin10_en_"+ 620APP_VERSION+"_site:slacker,did:"+this.did+",partner:"+this.partner+",os:msftwin10";this.beaconConfig.clientid="msftwin10";this.beaconConfig.wsclient="msftwin10"}else if(PARTNER=="msxbox1"){this.partner="msxbox1";this.client="msxbox1_en_"+APP_VERSION+"_msftwin10";this.xscid="00_msxbox1_en_"+APP_VERSION+"_site:slacker,did:"+this.did+",partner:msftwin10";this.beaconConfig.clientid="msxbox1";this.beaconConfig.wsclient="msxbox1"}else if(PARTNER=="lenwin10"){this.partner="lenwin10";this.client="lenwin10_en_"+ 621APP_VERSION+"_"+this.partner;this.xscid="00_lenwin10_en_"+APP_VERSION+"_site:slacker,did:LEN001,partner:lenovo,os:msftwin10";this.did="LEN001";this.beaconConfig.clientid="lenwin10";this.beaconConfig.wsclient="lenwin10"}else{this.beaconConfig.clientid=PARTNER;this.beaconConfig.wsclient=PARTNER+"webplayer"}this.ecomUserAgent=function(){var prefix="##";var brand_and_model=PARTNER!="slacker"?PARTNER+"webplayer":"webplayer";var carrier="carrier";var osversion="osversion";var appname=PARTNER!="slacker"? 622PARTNER+"webplayer":"webplayer";var language="en";var appversion="7.23."+APP_VERSION;var did=self.did;this.storeSkin="";if(self.partner=="lenwin10"){brand_and_model=self.partner;appname="webplayer"}return[prefix,brand_and_model,carrier,osversion,appname,language,appversion,did].join("_")}()},__constructor:function(){}};registerPackage("com.slacker.app.modules.ConfigurationModule");ConfigurationModule.prototype.__constants();com.slacker.app.modules.ConfigurationModule=ConfigurationModule})()}); 623bjork("com.slacker.app.modules.MessagingModule",function(){(function(){function MessagingModule(
623){this.__properties();this.__constructor()}MessagingModule.prototype={__properties:function(){this.APP_NAME="LiveOne";this.nagMessages={"must-use-computer":{title:"App Not Available",msg:"Currently there is no "+this.APP_NAME+" app for this platform. Please visit www.slacker.com from a desktop computer.",type:"error"},"site-degraded":{title:"Attention",msg:this.APP_NAME+" is currently experiencing some technical difficulties. Please bear with us as we work things out.", 624type:"error"},"general-login":{title:"Log In",msg:"Please log in to continue using "+this.APP_NAME+".",type:"info"},"ecleg-verify-account":{title:"Log In",msg:"For security purposes, please log in again",type:"info"},"abuse":{title:"Unusual Activity",msg:"Hmmm, it looks like your account has been locked. Just enter the code, and we'll start the music back up.",actions:[{label:"Captcha",handler:function(){Toasts.getInstance().showToast("captcha")}}],type:"error"},"abuse-ip-lock-out":{title:"Unusual Activity", 625msg:"It looks like your account has been locked. Please try again later.",type:"error"},"ecleg-social-login-email-required":{title:"Please enter an email",msg:"We need an email address to send you an upgrade receipt and service changes.",type:"info"},"ecleg-social-merge":{title:"Please verify your account",msg:"There's already a "+this.APP_NAME+" account associated with this email address. If this account is yours, log in and we'll merge your stations, favorites, and other data into a single account.", 626type:"error"},"social-login-email-collision":{title:"Duplicate Email",msg:"There's already a "+this.APP_NAME+" account associated with this email address. If this account is yours, we can merge your stations, favorites, and other data into a single account.",type:"warning"},"social-merge-success":{title:"Successful Account Merge",msg:"Success! Your accounts have been merged.",type:"success"},"social-login-validate-account":{title:"Please Login",msg:"There is already a "+this.APP_NAME+" account with this email address. Please enter your password to continue.", 627type:"error"},"social-login-email":{title:"Please enter an email",msg:"Please add your email address to this account so we can send you receipts and notify you of service changes.",type:"info"},"social-merge-error-400":{title:"Please login to merge your accounts",msg:"We weren't able to log you in. Please check your password and try again.",type:"error"},"social-merge-error-422":{title:"Please login to merge your accounts",msg:"It looks like we're unable to merge this account. If this problem persists, please contact customer support.", 628type:"error"},"slackacct-error-429":{title:"Security Threat",msg:"We detected suspicious activity on your account. To protect your account, it has been locked. Please try again later.",type:"error"},"social-merge-error-500":{title:"Internal server error",msg:"Internal server error!\n We weren't able to log you in. Please try again later.",type:"error"},"social-merge-success":{title:"Success!",msg:"Success! Your accounts have been merged.",type:"success"},"login-error-apple-cancel":{title:"User Canceled", 629msg:"User canceled the sign in.",type:"error"},"login-error-apple-generic":{title:"User Canceled",msg:"Internal server error!\n We weren't able to log you in via Apple. Please try again later.",type:"error"},"login-error-403":{title:"Login Error",msg:"Your account has been locked. Please try again later."},"login-error-405":{title:"Login Error",msg:"Unable to process service login data. Please try again.",type:"error"},"network-block":{title:"Network Blocked",msg:"Your network is blocking a required path for Slacker to stream music. Contact your system administrator.", 630type:"error"},"geofence":{title:"Slacker cannot be played in your region",msg:"We're sorry, "+this.APP_NAME+" Radio Stations are only available in US and Canada.",type:"info"},"webService-302":{title:"Excuse the Dust",msg:"You caught us in the middle of some maintenance. Please try back in 1 hour.",type:"info"},"server-timeout":{title:"Timeout",msg:"If you think this is taking too long, you're right. Please try your request again.",type:"info"},"create-account":{title:"Create You Free Account", 631msg:"What if your personalized content could follow you from the web, to your smartphone, to your car? Register for a free "+this.APP_NAME+" account and it will!",actions:[{label:"Create Account",type:"upgrade",handler:function(){Toasts.getInstance().showToast("createAccount")}}],type:"info"},"googleplus-no-email":{title:"Attention",msg:"There was a technical error getting the email address from your Google account. Please try it again later.",type:"error"},"googleplus-ws-error":{title:"Attention", 632msg:"There was a problem connecting your Google account to "+this.APP_NAME+". Please try it again later.",type:"error"},"pair-device":{"roku-link-successful":"Congratulations!<br/><br/>Your Account is now linked to your Roku device.<br/><br/>","xbox-link-successful":"Congratulations!<br/><br/>Your Account is now linked to your xbox device.<br/><br/>
632","link-code-invalid":"The device code entered is not valid for this device. Please reset your code and try again.","link-code-expired":"The device code entered has expired. Please reset your code and try again.", 633"link-code-missing":"The device code was not found. Please check your spelling and try again.","link-code-error":"Sorry, there was an error in your activation code. Please contact customer support."},"create-account":{GENERIC:"An unexpected error occurred. Please check the form and try again.",BIRTHYEAR_MAX_YEAR:"Who are you? Methusela? Enter a valid 4 digit year.",BIRTHYEAR_MIN_AGE:"Enter a valid 4 digit year.",BIRTHYEAR_INVLAID:"Birth year is not a valid year.",EMAIL_SIZE_MSG:"Email address is required. Character limit - 50.", 634GENDER_EMPTY:"Please select a gender.",GENDER_INVALID:"Please select a gender.",GENDER_SIZE:"Please select a gender.",POSTAL_CODE_SIZE:"Please enter a valid postal code.",POSTAL_CODE_SIZE:"Please enter a valid postal code.",POSTAL_CODE_INFERRED_SOURCE_SIZE:"Please enter a valid postal code.",TOS_SIZE:"You must accept the Terms of Service.",USERNAME_DUPLICATE:"There is already an account with this email address.",USERNAME_REQUIRED:"Email address is required.",USERNAME_SIZE:"Email address is required."}, 635"generic":{title:"Error",msg:"Something bad just happened ({error}). Please do us a favor and fill out the feedback form to tell us what you were doing when it happened."}}},__constructor:function(){}};registerPackage("com.slacker.app.modules.MessagingModule");com.slacker.app.modules.MessagingModule=MessagingModule})()}); 636bjork("com.slacker.app.modules.SimpleUserModule",function(){(function(){var CONSOLE=require("com.slacker.util.Console");var UserModel=require("com.slacker.model.User");var AbstractAction=require("com.slacker.app.actions.AbstractAction");var CreateAccountAction=require("com.slacker.app.actions.user.CreateAccountAction");var ForgotPasswordAction=require("com.slacker.app.actions.user.ForgotPasswordAction");var WSTokenAction=require("com.slacker.app.actions.auth.WSTokenAction");var PairDeviceAction=require("com.slacker.app.actions.auth.PairDeviceAction"); 637var LoginAction=require("com.slacker.app.actions.auth.LoginAction");var SocialLoginAction=require("com.slacker.app.actions.auth.SocialLoginAction");var B64=require("com.slacker.util.encoding.B64");var SNLogin=new SocialLoginAction;function SimpleUserModule(){this.__constants();this.__constructor()}SimpleUserModule.prototype={__constants:function(){this.GOOGLE_LOGIN="google";this.FACEBOOK_LOGIN="facebook";this.APPLE_LOGIN="apple"},__constructor:function(){this.user=new UserModel;this.site=CONFIG.stationtree; 638this.client=CONFIG.client;this.partner=CONFIG.partner;this.serverTime=null;this.serverTimeSkew=null},attachEvents:function(){},login:function(username,password){var _listener=this.onLoginActionEvent.bind(this);var loginAction=new LoginAction;loginAction.username=username;loginAction.password=password;loginAction.addEventListener(LoginAction.EVENT_SUCCESS,_listener);loginAction.addEventListener(LoginAction.EVENT_FAILURE,_listener);loginAction.execute()},logout:function(bCleanupOnly){this.user.reset(); 639wasLoggedOut=true;setGlobalCookie();if(!bCleanupOnly){APP.modules.userModule.user.set({isRequiredToLogin:true});APP.views.login.show()}COOKIE_JAR.deleteCookie("A","","/",COOKIE_DOMAIN,false);COOKIE_JAR.deleteCookie("C","","/",COOKIE_DOMAIN,false);COOKIE_JAR.deleteCookie("N","","/",COOKIE_DOMAIN,false);COOKIE_JAR.deleteCookie("L","","/",COOKIE_DOMAIN,false);COOKIE_JAR.deleteCookie("A","","",COOKIE_DOMAIN,false);COOKIE_JAR.deleteCookie("C","","",COOKIE_DOMAIN,false);COOKIE_JAR.deleteCookie("N","","", 640COOKIE_DOMAIN,false);COOKIE_JAR.deleteCookie("L","","",COOKIE_DOMAIN,false);CONSOLE.log("warn","You are some how logged out!")},getSocialLoginServiceName:function(){return SNLogin.serviceName},getSocialMergeUsername:function(){return SNLogin.username},sociallogin:function(username,password,serviceName,uid,token,socialRegData){var d=this.onLoginActionEvent.bind(this);com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthComplete",type:serviceName,value:serviceName,params:{flow:serviceName,label:serviceName}}); 641if(!SNLogin.serviceName){SNLogin.addEventListener(SocialLoginAction.EVENT_SUCCESS,d);SNLogin.addEventListener(SocialLoginAction.EVENT_FAILURE,d);SNLogin.addEventListener(SocialLoginAction.EVENT_REQUESTSOCIALCLAIM,d);SNLogin.addEventListener(SocialLoginAction.EVENT_SOCIALAPIFALIURE,d)}if(username&&password){SNLogin.username=username;SNLogin.password=password}else{if(SNLogin.username){delete SNLogin.username;delete SNLogin.password}SNLogin.serviceToken=token;SNLogin.serviceUid=uid;SNLogin.serviceName= 642serviceName}if(socialRegData)SNLogin.socialRegData=socialRegData;SNLogin.addEmailFlow=false;SNLogin.execute()},socialMerge:function(username,password,serviceName,uid,token,socialRegData){var d=this.onLoginActionEvent.bind(this);SNLogin.addEventListener(SocialLoginAction.EVENT_MERGESUCCESS,d);SNLogin.addEventListener(SocialLoginAction.EVENT_MERGEFAILURE,d);SNLogin.addEventListener(SocialLoginAction.EVENT_SUCCESS,d);SNLogin.addEventListener(SocialLoginAction.EVENT_FAILURE,d);if(username&&password){SNLogin.username= 643username;SNLogin.password=password}else if(SNLogin.username){delete SNLogin.username;delete SNLogin.password}SNLogin.serviceName=serviceName;SNLogin.addEmailFlow=false;SNLogin.mergeFlow=true;SNLogin.execute()},socialEmailSubmit:function(username,serviceName,uid,token,socialRegData){var d=this.onLoginActionEvent.bind(this);if(!SNLogin.serviceName){SNLogin.addEventListener(SocialLoginAction.EVENT_EMAILSUCCESS,d);SNLogin.addEventListener(SocialLoginAction.EVENT_FAILURE,d);SNLogin.addEventListener(SocialLoginAction.EVENT_REQUESTSOCIALCLAIM, 644d);SNLogin.addEventListener(SocialLoginAction.EVENT_SOCIALAPIFALIURE,d)}SNLogin.username=username;SNLogin.serviceToken=token;SNLogin.serviceUid=uid;SNLogin.serviceName=serviceName;SNLogin.addEmailFlow=true;if(socialRegData)SNLogin.socialRegData=socialRegData;SNLogin.execute()},createAccount:function(data){var createAccountAction=new CreateAccountAction;createAccountAction.addEventListener(AbstractAction.EVENT_ONNETWORKEVENT,this.onCreateAccountActionEvent,this);createAccountAction.data.password=data.password; 645createAccountAction.data.user.username=data.username;createAccountAction.data.user.email=data.username;createAccountAction.data.user.birthYear=data.birthYear;createAccountAction.data.user.gender=data.gender;createAccountAction.data.user.receiveNewsLetter=data.receiveNewsLetter;if(this.user.isAnon()){createAccountAction.data.accountId=this.user.get("id")?this.user.get("id"):null;createAccountAction.token=this.user.getToken()}else{COOKIE_JAR.deleteCookie("C",null,null,COOKIE_DOMAIN);COOKIE_JAR.deleteCookie("L", 646null,null,COOKIE_DOMAIN);COOKIE_JAR.deleteCookie("N",null,null,COOKIE_DOMAIN);COOKIE_JAR.deleteCookie("A",null,null,COOKIE_DOMAIN)}createAccountAction.execute()},forgotPassword:function(username){var forgotPasswordAction=new ForgotPasswordAction;forgotPasswordAction.addEventListener(AbstractAction.EVENT_ONNETWORKEVENT,this.onForgotPasswordActionEvent,this);forgotPasswordAction.data.username=encodeURIComponent(username);forgotPasswordAction.execute()},pairDevice:function(deviceName,deviceCode){var d= 647this.onPairDeviceActionEvent.bind(this);var pairDeviceAction=new PairDeviceAction;pairDeviceAction.linkCode=deviceCode;pairDeviceAction.deviceType=deviceName;pairDeviceAction.addEventListener(PairDeviceAction.EVENT_SUCCESS,d);pairDeviceAction.addEventListener(PairDeviceAction.EVENT_FAILURE,d);pairDeviceAction.execute()},token:function(formerTrigger,timeout,priorAuth){var d=this.onWSTokenActionEvent.bind(this);var wsTokenAction=new WSTokenAction;wsTokenAction.tokenTimeout=timeout;wsTokenAction.formerTrigger= 648formerTrigger;wsTokenAction.oauthUserId=this.user.get("id");if(priorAuth)if(priorAuth=="loginToken"){wsTokenAction.oauthLoginToken=this.user.get("loginToken");wsTokenAction.isToken=false}else{this.user.set({access_token:priorAuth});wsTokenAction.oauthLoginToken=priorAuth;wsTokenAction.isBridgeCall=true;wsTokenAction.isToken=true}else{wsTokenAction.oauthLoginToken=this.user.get("loginToken");wsTokenAction.isToken=!wsTokenAction.oauthLoginToken}wsTokenAction.addEventListener(WSTokenAction.EVENT_SUCCESS, 649d);wsTokenAction.addEventListener(WSTokenAction.EVENT_FAILURE,d);wsTokenAction.execute()},getServerTime:function(){var d=this.onWSTokenActionEvent.bind(this);var wsTokenAction=new WSTokenAction;wsTokenAction.addEventListener(WSTokenAction.SERVERTIME_SUCCESS,d);wsTokenAction.addEventListener(WSTokenAction.SERVERTIME_FAILURE,d);wsTokenAction.execute()},resetSNAction:function(){SNLogin=new SocialLoginAction},onCreateAccountActionEvent:function(e){switch(e.property){case CreateAccountAction.SUCCESS:if(e.response&& 650e.response.loginToken)this.user.set({loginToken:e.response.loginToken});APP.views.createAccount.processSuccess(e);break;case CreateAccountAction.EVENT_FAILURE:case AbstractAction.FAILURE:APP.views.createAccount.processError(e.response);break;default:break}},onLoginActionEvent:function(e){var loginView=APP.views.login;var qstring=$.deparam(location.search.substr(1));switch(e.type){case SocialLoginAction.EVENT_EMAILSUCCESS:case SocialLoginAction.EVENT_MERGESUCCESS:case SocialLoginAction.EVENT_SUCCESS:case LoginAction.EVENT_SUCCESS:var loginAction= 651e.target,eventData=e.data?JSON.parse(e.data):null,accountId=loginAction.aid||SNLogin.aid;this.aid=accountId;this.user.set({id:accountId});if(eventData)if(eventData.loginToken)this.user.set({loginToken:eventData.loginToken});if(!loginAction.aid);else{var isSocialLoginEvent=e.target===SNLogin&&[SocialLoginAction.EVENT_EMAILSUCCESS,SocialLoginAction.EVENT_SUCCESS,SocialLoginAction.EVENT_MERGESUCCESS].includes(e.type);if(APP.isTeslaUpgradeFlow&&!isSocialLoginEvent){APP.modules.teslaLinkModule.handlePrimaryCredsLoginSuccess(); 652return}CONSOLE.log("debug","Login succeeded.");var wsUser=this.user;var loginServiceSource=e.target.serviceName?e.target.serviceName:"email";com.slacker.util.behavior.Beacon.tagEvent({name:"loginSuccess",type:loginServiceSource,value:e.type,params:{flow:"login",label:e.type,source:qstring.source}});if(APP.isTeslaAcctMergeFlow){this.token();return}if(wsUser.get("incompleteReg")&&wsUser.get("requireCompleteReg")){this.token();return}else if(wsUser.get("incompleteReg")&&!wsUser.get("autoLoggedIn")&& 653wsUser.get("socialEmail")){this.token("login");return}else loginView.hasLoginErrored(false);
653if(e.type==SocialLoginAction.EVENT_MERGESUCCESS)if(wsUser.get("loginToken"))CONSOLE.log("warn","Merge was successful. NEW LOGIN TOKEN PRESENT");else{CONSOLE.log("warn","Merge was successful. NO LOGINTOKEN");wsUser.set({id:null,accountId:null,token:null,wstoken:null,access_token:null});if(loginServiceSource==this.GOOGLE_LOGIN)wsUser.set({gpuid:null});if(loginServiceSource==this.FACEBOOK_LOGIN)wsUser.set({fbuid:null}); 654loginView.onAutologinWithProvider();return}CONSOLE.log("debug","LOGIN_PROCESSED, notify the original window -> user: ("+wsUser.get("id")+","+wsUser.get("username")+","+wsUser.get("name")+")");this.onUserLoginReturn()}break;case SocialLoginAction.EVENT_SOCIALAPIFALIURE:case SocialLoginAction.EVENT_REQUESTSOCIALCLAIM:case SocialLoginAction.EVENT_FAILURE:case LoginAction.EVENT_FAILURE:if(APP.isTeslaUpgradeFlow){APP.modules.teslaLinkModule.handlePrimaryCredsLoginFailure();return}loginView.makeVisible(); 655loginView.onProcessError(e.property,e.payload?e.payload:e,this.loginRequest);break;case SocialLoginAction.EVENT_MERGEFAILURE:loginView.isInSocialMergeState(true);loginView.makeVisible();loginView.onProcessError(e.property,e.payload?e.payload:e,this.loginRequest);break;default:break}},onForgotPasswordActionEvent:function(e){var loginView=APP.views.login;var forgotPasswordView=APP.views.forgotPassword;loginView.emailAddress(forgotPasswordView.emailAddress());switch(e.property){case AbstractAction.SUCCESS:if(loginView&& 656loginView.isInSocialClaimState())forgotPasswordView.hide();else loginView.loginReason({msg:e.response.message,nag:{type:"info"}});loginView.makeVisible();break;case AbstractAction.FAILURE:forgotPasswordView.processResponse(false,e.response.message);break}},onPairDeviceActionEvent:function(e){APP.views.pairDevice.onProcessResponse(e)},onWSTokenActionEvent:function(e){var loginView=APP.views.login;var wsUser=this.user;switch(e.type){case WSTokenAction.EVENT_SUCCESS:if(APP.isTeslaAcctMergeFlow){APP.modules.teslaLinkModule.showMergePage(); 657APP.currentView.isLoginPending(false);return}if(APP.isDeviceRedeemFlow()||APP.isTeslaUpgradeFlow&&APP.modules.teslaLinkModule.flow!=="SSO"||APP.isDeviceUpgradeFlow()&&wsUser.isAnon()){if(APP.isTeslaUpgradeFlow){var $jscomp$optchain$tmp1377861237$35;if(($jscomp$optchain$tmp1377861237$35=APP.modules.teslaLinkModule.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$35.includes("LINKED"))this.onUserLoginReturn();else{APP.redirectToView(APP.views.createAccount);APP.views.createAccount.onEmailLoginAction(); 658APP.views.createAccount.isCreatePending(false)}return}else APP.currentView.makeVisible&&APP.currentView.makeVisible();if(APP.currentView.id()==="login")APP.currentView.isLoginPending(false);else if(APP.currentView.id()==="createAccount")APP.currentView.isCreatePending(false);return}if(wsUser.get("incompleteReg")&&wsUser.get("requireCompleteReg")){loginView.isInSettingsFlow(wsUser.get("settingsFlow"));loginView.onCollectEmail("social-login-email",wsUser.get("socialEmail"),true);return}else if(wsUser.get("incompleteReg")&& 659!wsUser.get("autoLoggedIn")&&wsUser.get("socialEmail")){loginView.onCollectEmail("social-login-email",wsUser.get("socialEmail"),false);return}else if(!wsUser.get("loginToken")){var d=this.onWSTokenActionEvent.bind(this);var wsTokenAction=new WSTokenAction;wsTokenAction.addEventListener(WSTokenAction.EVENT_SUCCESS,d);wsTokenAction.addEventListener(WSTokenAction.EVENT_FAILURE,d);wsTokenAction.getLoginToken();return}else this.onUserLoginReturn();if(APP.autoAuth())APP.autoAuth("SUCCESS");break;case WSTokenAction.EVENT_FAILURE:loginView.makeVisible(); 660loginView.onProcessError(e.property,e.payload?e.payload:e,this.loginRequest);if(APP.autoAuth())APP.autoAuth("FAILURE");break;case WSTokenAction.SERVERTIME_SUCCESS:break;case WSTokenAction.SERVERTIME_FAILURE:break}},onUserAbuse:function(){},onUserLoaded:function(user,defaultCategory,defaultStation){},onFBUserData:function(httpStatus,data){var wsUser=this.user;if(httpStatus&&httpStatus!=200);else{com.slacker.util.social.Facebook.getProfileImage(function(response){if(response&&response.length>0)wsUser.set({"profileImgUrl":response[0].pic_big, 661"name":response.name})});com.slacker.util.social.Facebook.getName(function(response){return wsUser.set({"name":response.name})})}},onAppleUserData:function(appleId,idToken,fullName){if(fullName){this.user.set({"name":fullName});return}},onGPUserData:function(httpStatus,data){var wsUser=this.user;if(data){if(data.gpuid)wsUser.set({"gpuid":data.gpuid});if(data.name&&data.profileImgUrl){wsUser.set({"profileImgUrl":data.profileImgUrl,"name":data.name});return}}require("com.slacker.util.social.Google"); 662com.slacker.util.social.Google.getProfileData(function(response){if(response.displayName)wsUser.set({"gpuid":response.gpuid,"profileImgUrl":response.imgUrl,"name":response.name})})},onUserLoginAttempt:function(username){this.user.set({username:username})},getUserLoginName:function(){return this.user.get(username)},onUserLoginCancel:function(target){if(!document.referrer&&!window.opener&&!target)return;var user=APP.modules.userModule.user;var currentRoot=document.location.protocol+"//"+document.location.hostname; 663var returnRoot=this.SITEROOT_OVERRIDE?this.SITEROOT_OVERRIDE:REF_DOMAIN?REF_PROTOCOL+REF_DOMAIN:null;var onCancelUrl=this.SITEROOT_OVERRIDE?this.SITEROOT_OVERRIDE:REF_DOMAIN?REF_PROTOCOL+REF_DOMAIN+REF_QSTRING:target&&target.href?target.href:"";if(window.opener||window.parent||!REF_DOMAIN||(SITEROOT.indexOf(REF_DOMAIN)>-1&&SITEROOT.indexOf(REF_DOMAIN)<7||document.referrer.indexOf(currentRoot)==0&&document.referrer.indexOf(document.location.search)>-1)){var afterLogin=APP.isDeviceUpgradeFlow()?"deviceUpgrade": 664APP.isTeslaUpgradeFlow?"tesla":"";var code=$.deparam(location.search.substr(1)).code;var encodedUserData=APP.isDeviceUpgradeFlow()?B64.encode64(decodeURIComponentString($.param({code:code}).trim())).replace(/\|/gi,"."):"";onCancelUrl=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.done.login,{"after-login":afterLogin,"encoded-user":encodedUserData,"https-root":returnRoot})}if(onCancelUrl.indexOf("onAuthResponse")>-1&&onCancelUrl.indexOf("account.")>-1)onCancelUrl=onCancelUrl.replace("account.", 665"www.");window.location.replace(onCancelUrl)},onUserLoginReturn:function(wasLoginCanceled,target){var $jscomp$this=this;if(wasLoginCanceled){this.onUserLoginCancel();return}var urlModule=APP.modules.urlModule;var formerTrigger=target||APP.afterLoginPath,returnUrl=null,encodedUserData="";if(APP.isTeslaUpgradeFlowNonCred&&!APP.modules.teslaLinkModule.linkStatus)return APP.modules.teslaLinkModule.getUserData().then(function(data){APP.modules.teslaLinkModule.updateLinkStatus(data);$jscomp$this.onUserLoginReturn(wasLoginCanceled, 666target);return}).catch(function(e){APP.modules.teslaLinkModule.linkStatus([]);$jscomp$this.onUserLoginReturn(wasLoginCanceled,target);return});if(this.user.get("requireToken")&&!APP.isTeslaUpgradeLoginOnly&&(!this.user.getToken()||!this.user.get("level"))){this.token(formerTrigger);return}if(!formerTrigger||!urlModule.urls.done[formerTrigger])formerTrigger="login";var afterLogin=formerTrigger;if(formerTrigger=="upgrade"){if(this.user.get("level")>=10&&this.user.promoid()===""){formerTrigger="manage"; 667QUERY_OBJ.entryPage=null}if(this.user.get("level")==5&&QUERY_OBJ.entryPage=="plus"&&this.user.get("accountTier")!==0)QUERY_OBJ.entryPage="premium";var $jscomp$optchain$tmp1377861237$36;if((APP.isTeslaUpgradeFlow||APP.isTeslaUpgradeFlowNonCred)&&(($jscomp$optchain$tmp1377861237$36=APP.modules.teslaLinkModule.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$36.includes("UPGRADED"))){formerTrigger="tesla";afterLogin="tesla_prevupgrade";var $jscomp$optchain$tmp1377861237$37;afterLogin+=(($jscomp$optchain$tmp1377861237$37= 668APP.modules.teslaLinkModule.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$37.includes("LINKED"))?"_prevlink":""}}if(target==="tesla_init")afterLogin=target;if(APP.contestEntryData()&&!APP.contestEntryData().invalid&&!APP.contestEntryData().ended)APP.modules.userModule.user.set({contest:APP.isContestEntryFlow()});switch(formerTrigger){case "settings":returnUrl=urlModule.getSettingsUrl();break;
668case "upgrade":returnUrl=urlModule.getPopsUpgradeUrl(QUERY_OBJ.entryPage?QUERY_OBJ.entryPage:null, 669QUERY_OBJ["source"]||QUERY_OBJ["nag-name"]);break;case "manage":returnUrl=urlModule.getPopsManageUrl();break;case "support":returnUrl=urlModule.getSupportUrl();break;case "sonos":case "alexa":returnUrl=urlModule.getAlexaAuthUrl();debugger;break;case "cere":if(!this.user.get("access_token"))this.token("cere");else urlModule.getCereRedirectUrl().then(function(url){return window.location.replace(url)}).catch(function(){var message="There was a problem processing your request. Please contact customer support."; 670var view=APP.currentView;var isPendingStrategy=APP.currentView[{"createAccount":"isCreatePending","login":"isLoginPending"}[view.id()]];$jscomp$this.user.reset();view.reset();isPendingStrategy(false);var $jscomp$optchain$tmp1377861237$38;var $jscomp$optchain$tmp1377861237$39;($jscomp$optchain$tmp1377861237$39=($jscomp$optchain$tmp1377861237$38=view).dirtyState)==null?void 0:$jscomp$optchain$tmp1377861237$39.call($jscomp$optchain$tmp1377861237$38,{});view.errorMessage(message)});return;default:if(afterLogin=== 671"xboxSuccess"||afterLogin==="rokuSuccess")afterLogin=formerTrigger?formerTrigger.replace("Success",""):"";Array.from(Array(20).keys()).forEach(function(_idx){return delete $jscomp$this.user.metadata.data[_idx]});["swap","equals"].forEach(function(_idx){return delete $jscomp$this.user.metadata.data[_idx]});var encodedUserObj=QUERY_OBJ["token"]?$.deparam(B64.decode64(QUERY_OBJ["token"]).replaceAll("\x00","")):{};var codeObj=encodedUserObj["code"]?{code:encodedUserObj["code"]}:{};var $jscomp$destructuring$var7= 672this.user.metadata.data;var $jscomp$destructuring$var8=Object.assign({},$jscomp$destructuring$var7);var _=$jscomp$destructuring$var7.serviceToken;var userMeta=(delete $jscomp$destructuring$var8.serviceToken,$jscomp$destructuring$var8);var userMetaWithCode=Object.assign({},userMeta,codeObj);encodedUserData=B64.encode64(decodeURIComponentString($.param(userMetaWithCode).trim())).replace(/\|/gi,".");returnUrl=urlModule.constructUrl(urlModule.urls.done[formerTrigger],{"after-login":afterLogin,"encoded-user":encodedUserData, 673"https-root":this.SITEROOT_OVERRIDE});break}if(!APP.userInitSnapshot||APP.userInitSnapshot.level==="0")APP.notifyParentWindowWithStatus("AUTH_SUCCESS");window.location.replace(returnUrl)},setServerTime:function(serverTimeObj){if(serverTimeObj){var time=serverTimeObj._stime;CONSOLE.log("debug","Server Time:"+time);this.serverTime=time;this.serverTimeSkew=parseInt((new Date(this.serverTime*1E3)-new Date)/1E3,10);CONSOLE.log("debug","serverTimeSkew:"+this.serverTimeSkew)}}};registerPackage("com.slacker.app.modules.SimpleUserModule"); 674SimpleUserModule.prototype.__constants();com.slacker.app.modules.SimpleUserModule=SimpleUserModule})()}); 675bjork("com.slacker.app.modules.TeslaLinkModule",function(){(function(){var AJAXTransport=require("com.slacker.io.AJAXTransport");var AbstractAction=require("com.slacker.app.actions.AbstractAction");var EventNotifier=require("com.slacker.event.EventNotifier");function TeslaLinkModule(){extendClass(this,new EventNotifier(this));this.__beforeConstructor();this.__constructor()}TeslaLinkModule.prototype={__beforeConstructor:function(){this.linkStatus=null;this.flow=null},__constructor:function(flow){this.mergeStatus= 676ko.observable("login");this.step=ko.observable(flow==="upgrade"?"account":flow==="acct_merge"?"merge":"");this.confirmed=ko.observable(false);this.errorId=ko.observable(null);this.userData=null},setConfirmed:function(value){APP.modules.teslaLinkModule.confirmed(value)},handleClickCancel:function(){APP.views.login.onCancelButtonClick.bind(APP.views.login)()},updateLinkStatus:function(data){var linked=!!data.altUsername;var upgraded=data.subscriptionLevelId==10;this.linkStatus=[];if(linked)this.linkStatus.push("LINKED"); 677if(upgraded)this.linkStatus.push("UPGRADED")},handlePrimaryCredsLoginSuccess:function(){var $jscomp$this=this;if(APP.isTeslaUpgradeLoginOnly){APP.modules.userModule.onUserLoginReturn(false,"tesla_init");return}this.getUserData().then(function(data){$jscomp$this.updateLinkStatus(data);APP.modules.userModule.token()}).catch(function(error){})},handlePrimaryCredsLoginFailure:function(){if(document.referrer||window.opener)APP.modules.userModule.onUserLoginCancel();else APP.modules.userModule.onUserLoginReturn(false, 678"tesla_initfailed")},getUserData:function(){var $jscomp$this=this;var urlModule=APP.modules.urlModule;var url=urlModule.constructUrl(urlModule.urls.auth.users);var $jscomp$destructuring$var9=this._getTransport(url);var transport=$jscomp$destructuring$var9.transport;var request=$jscomp$destructuring$var9.request;return new Promise(function(resolve,reject){transport.get(request,function(e){switch(e.status){case 200:var data=JSON.parse(e.data);$jscomp$this.userData=data;resolve(data);break;default:reject(e); 679break}})})},showMergePage:function(){APP.currentView.resetStates();this.step("merge");this.mergeStatus("ready")},handleMergeSuccess:function(preLinked){preLinked=preLinked===undefined?fal
679se:preLinked;APP.currentView.resetStates();this.mergeStatus("success"+(preLinked?"_prelinked":""))},handleMergeFailure:function(errorId){APP.currentView.resetStates();this.mergeStatus("error");this.errorId(errorId)},merge:function(){var $jscomp$this=this;var $this=APP.modules.teslaLinkModule;APP.currentView.isLoginPending(true); 680return $this.getUserData().then(function(userData){if(userData.subscriptionLevelId<5){var errorId="insufficient_user_tier";$this.handleMergeFailure(errorId);return Promise.reject(errorId)}else if(userData.altUsername){$this.handleMergeSuccess(true);return Promise.resolve()}var urlModule=APP.modules.urlModule;var url=urlModule.constructUrl(urlModule.urls.user.merge);var $jscomp$destructuring$var10=$this._getTransport(url);var transport=$jscomp$destructuring$var10.transport;var request=$jscomp$destructuring$var10.request; 681var userToken=APP.modules.userModule.user&&APP.modules.userModule.user.getToken();request.method="POST";request.headers["BBI-AUTHORIZATION"]=userToken;request.data=JSON.stringify({"type":"username","username":QUERY_OBJ["username"],"password":QUERY_OBJ["password"]});return new Promise(function(resolve,reject){transport.get(request,function(e){var response=null;if(e.data)try{response=JSON.parse(e.data);response.code=parseInt(response.code||e.status,10)}catch(e$26){response={code:400,errors:[{fieldName:"generic", 682errors:["GENERIC"]}]}}else response.code=e.status;switch(e.status){case 200:var $jscomp$optchain$tmp1377861237$40;(($jscomp$optchain$tmp1377861237$40=$this.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$40.length)?$jscomp$this.linkStatus.push("LINKED"):$this.linkStatus=["LINKED"];$this.handleMergeSuccess();resolve(response);break;default:$this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.FAILURE,status:response.code,target:$this,response:response});$this.handleMergeFailure("generic_error"); 683reject(e);break}})})}).catch(function(e){if(!$this.errorId()){var error_id=e.status===404?"insufficient_user_tier":"generic_error";$this.handleMergeFailure(error_id)}})},altLogin:function(userData){var $jscomp$this=this;var urlModule=APP.modules.urlModule;var url=urlModule.constructUrl(urlModule.urls.user.altLogin);var $jscomp$destructuring$var11=this._getTransport(url);var transport=$jscomp$destructuring$var11.transport;var request=$jscomp$destructuring$var11.request;var userToken=APP.modules.userModule.user&& 684APP.modules.userModule.user.getToken();request.method="POST";request.headers["BBI-AUTHORIZATION"]=userToken;var user=APP.modules.userModule.user;request.data=JSON.stringify({"accountId":user.get("id"),"altUsername":userData.username,"altPassword":userData.password,"birthYear":parseInt(userData.birthYear),"gender":userData.gender,"partnerId":1,"receiveNewsLetter":userData.receiveNewsLetter,"tosAcceptanceDate":Date.now(),"tosVersion":"1.01"});return new Promise(function(resolve,reject){transport.get(request, 685function(e){var response=null;if(e.data)try{response=JSON.parse(e.data);response.code=parseInt(response.code||e.status,10)}catch(e$27){response={code:400,errors:[{fieldName:"generic",errors:["GENERIC"]}]}}else response.code=e.status;switch(e.status){case 201:var $jscomp$optchain$tmp1377861237$41;(($jscomp$optchain$tmp1377861237$41=$jscomp$this.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$41.length)?$jscomp$this.linkStatus.push("LINKED"):$jscomp$this.linkStatus=["LINKED"];resolve(response); 686break;default:$jscomp$this.dispatchEvent({type:AbstractAction.EVENT_ONNETWORKEVENT,property:AbstractAction.FAILURE,status:response.code,target:$jscomp$this,response:response});var defaultMsg="There was an error processing your request.";var handleDefault=function(){var errorMsg=defaultMsg;APP.views.createAccount.isCreatePending(false);APP.views.createAccount.createAccountReason(errorMsg)};var errorStrategy={"ALT_USERNAME_DUPLICATE":function(){var errorMsg=defaultMsg;APP.views.createAccount.isCreatePending(false); 687APP.views.createAccount.createAccountReason(errorMsg);APP.views.createAccount.errors({username:{message:"Username already exists! Please choose a different username."}});APP.views.createAccount.username("")}}[response.errorMessage]||handleDefault;errorStrategy();reject(e);break}})})},initTrackingPixel:function(config,onEmbed){return new Promise(function(resolve,reject){var scriptId=config.id+"-script";if(!document.querySelector("#"+scriptId)){var e=document.createElement("script");e.id=scriptId; 688e.type="text/javascript";e.async=true;e.innerHTML=config.content();e.onload=function(){if(onEmbed)onEmbed();resolve()};e.onerror=function(){reject(new Error("Script loading error for "+config.id))};document.getElementsByTagName("head")[0].appendChild(e)}var imgId=config.id+"-image";if(config.imgSrc&&!document.querySelector("#"+imgId)){var ns=document.createElement("noscript");ns.id=imgId;var imgStr='<img src="'+config.imgSrc+'" style="display:none;" height="1" width="1">';ns.innerText=imgStr;$("head")[0].appendChild(ns)}})}, 689initPixel:function(){},initSSO:function(){this.flow="SSO"},_getTransport:function(url){var transport=new AJAXTransport;var request={url:url,method:"GET",headers:{"Content-Type":"application/json"}};transport.to=request.url.substring(0,request.url.indexOf(".com")+4);if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;return{transport:transport,request:request}}};registerPackage("com.slacker.app.modules.TeslaLinkModule");com.slacker.app.modules.TeslaLinkModule=TeslaLinkModule})()}); 690bjork("com.slacker.app.modules.UrlModule",function(){(function(){var CONSOLE=require("com.slacker.util.Console");var StringUtils=require("com.slacker.util.StringUtils");var AJAXTransport=require("com.slacker.io.AJAXTransport");var MD5=require("com.slacker.util.encoding.MD5");var B64=require("com.slacker.util.encoding.B64");
690function UrlModule(){this.__constants();this.__properties();this.__constructor()}UrlModule.prototype={__constants:function(){this.SITE_ROOT=SITEROOT;UrlModule.SERVER=location.host; 691if(!UrlModule.PRIMARY_DOMAIN)UrlModule.PRIMARY_DOMAIN="www";UrlModule.HTTP="//";UrlModule.HTTPS="https://";UrlModule.URI_BASE="/wsv1";UrlModule.DEV_STG=location.href.match(/\/\/([^\.]+)\.dev.sdlive(xlive|one)/)?"dev.sd":location.href.match(/\/\/([^\.]+)\.pubdev.sdlive(xlive|one)/)?"pubdev.sd":location.href.match(/\/\/([^\.]+)\.dev2.sdlive(xlive|one)/)?"dev2.sd":location.href.match(/\/\/([^\.]+)\.pubstg.sdlive(xlive|one)/)?"pubstg.sd":location.href.match(/\/\/([^\.]+)\.stg.sdlive(xlive|one)/)?"stg.sd": 692location.href.match(/\/\/([^\.]+)\.stg2.sdlive(xlive|one)/)?"stg2.sd":"";UrlModule.HTTPWS=UrlModule.HTTP+UrlModule.DOMAIN+UrlModule.URI_BASE;UrlModule.HTTPsWS=UrlModule.HTTPS+UrlModule.DOMAIN+UrlModule.URI_BASE;UrlModule.STOREWS="https://store."+UrlModule.DEV_STG+"slacker.com";UrlModule.DOMAIN=UrlModule.PRIMARY_DOMAIN+"."+UrlModule.DEV_STG+"slacker.com";this.urls={auth:{ipinfo:"/wsv1/auth/ipinfo?full=true",snlogin:"",snregister:"",snmerge:"",snAccountManagementUrl:"<sapi-cname-root>/slacker-account-service/", 693lxlAuth:"<api-root>/auth/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&response_type=<response_type>&state=<state>",users:"<sapi-cname-root>/slacker-account-service/users"},user:{createAccount:"<sapi-cname-root>/slacker-account-service/registration",forgotPassword:"<store-root>/register/api/ResetPassword.do?json=<json>&username=<username>&skin=<skin>",login:"<sapi-cname-root>/slacker-account-service/login",loginToken:"<sapi-cname-root>/slacker-account-service/loginToken",wstoken2:"<https-root>/wsv1/auth/wstoken2?<signature>", 694wstoken2Params:"client=<client>&site=<site>&aid=<account-id>&ti=<ti>",oauth:"<sapi-root>/auth/oauth/token",tokenBridge:"<https-root>/wsv1/auth/wstokenbridge",servertime:"<https-root>/wsv1/servertime",pairDevice:"<store-root>/acctmgmt/api/devicelink/<app-name>/<code>",altLogin:"<sapi-cname-root>/slacker-account-service/altLogin",merge:"<sapi-cname-root>/slacker-account-service/merge"},done:{login:"<https-root>/helper/onAuthResponse.jsp?done=<after-login>&user=<encoded-user>&<common-params>",lxllogin:"<https-root>/helper/onAuthResponse.jsp?done=<after-login>&user=<encoded-user>&<common-params>", 695createAccount:"<https-root>/helper/onAuthResponse.jsp?done=<after-login>&user=<encoded-user>&<common-params>",verify:"<https-root>/verify/email?user=<encoded-user>&<common-params>",upgrade:"<store-root>/store/ui/subscribe.html?<query-string>&<common-params>",manage:"<store-root>/store/ui/subscribe.html?<query-string>&<common-params>",settings:"<this-root>/settings/?<query-string>&<common-params>",support:"<sapi-cname-root>/slacker-account-service/zendesk?<query-string>",rokuSuccess:"<https-root>/helper/onAuthResponse.jsp?done=<after-login>&user=<encoded-user>", 696xboxSuccess:"<https-root>/helper/onAuthResponse.jsp?done=<after-login>&user=<encoded-user>",activate:"<https-root>/helper/onAuthResponse.jsp?done=<after-login>&user=<encoded-user>&<common-params>",roku:"<this-root>/pairDevice?done=<after-login>&user=<encoded-user>",xbox:"<this-root>/pairDevice?done=<after-login>&user=<encoded-user>",alexa:"<sapi-cname-root>
696/oauth2/oauth/authorize?accountId=<account-id>",sonos:"<sapi-cname-root>/oauth2/oauth/authorize?accountId=<account-id>",tesla:"<https-root>/helper/onAuthResponse.jsp?done=<after-login>&user=<encoded-user>&<common-params>", 697meetandgreet:this.SITE_ROOT.replace("www","meet")+"?user=<encoded-user>&<common-params>",psb:this.SITE_ROOT.replace("www","creator")+"?user=<encoded-user>&<common-params>",cere:"<cere-redirect-uri>",scb:UrlModule.DEV_STG?this.SITE_ROOT.replace("www.","socialcloutboxing.").replace("livexlive","liveone")+"/authhelper?user=<encoded-user>&<common-params>":this.SITE_ROOT.replace("www.","www.ultimatesocialboxing").replace(/(dev|stg|pubstg)\.sd/,"").replace(/live(xlive|one)/,"")+"/authhelper?user=<encoded-user>&<common-params>", 698costco:this.SITE_ROOT.replace("www.","costco.").replace("livexlive","liveone")+"/#/authhelper?user=<encoded-user>&<common-params>"},social:{facebookAvatar:"https://graph.facebook.com/v2.7/<fbuid>/picture"},legal:"<https-root>/pages/viewparts/<which>Body.jsp"}},__properties:function(){this.transport=null;this.client=CONFIG.client;this.partner=CONFIG.partner;this.site=CONFIG.site;this.tokenClientId=CONFIG.tokenClientId;this.signingAlgo=CONFIG.tokenSigningAlgo;this.k=CONFIG.K;this.user=null;this.appUserAgent= 699CONFIG.xscid;this.ecomUserAgent=CONFIG.ecomUserAgent},__constructor:function(){},signRequest:function(qString){CONSOLE.log("debug","Sign this: "+qString);var sTime=parseInt((new Date).getTime()/1E3,10)+parseInt(APP.modules.userModule.serverTimeSkew,10);CONSOLE.log("debug","stime: "+sTime);var newQ=qString+"&ki="+this.tokenClientId+"&si="+this.signingAlgo+"&ts="+sTime;CONSOLE.log("debug","Signing data: "+newQ);if(!this.signingKey)eval(decodeFromHex(this.k).replace("function decodeFromHex(str) ","this.signingKey=function decodeFromHex(str)")); 700var sig=MD5.hex_md5(this.signingKey()+newQ);CONSOLE.log("debug","Sig: "+sig);return newQ+"&sh="+sig},createAction:function($template,$configuration){return new AbstractAction(this.getURL($template,$configuration))},getTemplateParameters:function(url){var params=url.match(/<.*?>/gi);return params},getUrl:function(templateToUse,extraConfig){var parameters=this.getTemplateParameters(templateToUse);var i=0;var result=templateToUse;for(i=0;result&&i<parameters.length;i++)result=StringUtils.replaceAll(result, 701parameters[i],this.templateParameters[parameters[i]]);return result},getUrlsWhichUseTemplateParameter:function(parameter){var i=0,template,usesTemplate;var allTemplates=this.getAllTemplates();var templatesUsingParam=[];for(i=0;i<allTemplates.length;i++){template=allTemplates[i];usesTemplate=StringUtils.contains(template,parameter);if(usesTemplate)templatesUsingParam.push(template)}return templatesUsingParam},getAllTemplates:function(){var allTemplates=[];for(var i in this.templates)if(typeof this.templates[i]== 702"object")for(var j in this.templates[i])allTemplates.push(this.templates[i][j]);else if(typeof this.templates[i]=="string")allTemplates.push(this.templates[i]);return allTemplates},getServertimeUrl:function(params){var url=this.constructUrl(this.urls.user.servertime,params);if(document.domain.match(/live(xlive|one)\.com/))url=url.replace("www","slacker");return url},getTokenUrl:function(){var tokenURL=this.urls.user.wstoken2;var tokenURLParams=this.urls.user.wstoken2Params;var user=APP.modules.userModule.user; 703var myParams=this.constructUrl(tokenURLParams,{"client":this.client,"site":this.partner,"account-id":user.get("id"),"ti":this.tokenTimeout?this.tokenTimeout:""});myParams=this.signRequest(myParams);var myTokenURL=this.constructUrl(tokenURL,{"signature":myParams});if(document.domain.match(/live(xlive|one)\.com/))myTokenURL=myTokenURL.replace("www","slacker");return myTokenURL},getAuthUrl:function(which,callback){var $jscomp$this=this;if(this.transport==null)this.transport=new AJAXTransport;var rootUrl= 704this.constructUrl(this.urls.auth.snAccountManagementUrl,{});this.transport.to="https:"+SAPI_CNAMEROOT;var request={url:rootUrl,method:"GET",headers:{},data:{}};if(APP.appUserAgent)request.headers["x-scid"]=APP.appUserAgent;this.transport.get(request,function(e){$jscomp$this.onAuthUrlResponse(e,callback,which)})},onAuthUrlResponse:function(e,callback,which){var href=e.status==200&&e.data?this.findAccountServiceLink(e.data,which):null;if(href){this.urls.auth.snlogin=href;callback.apply(this,[href])}else{alert("site-degraded"); 705CONSOLE.log("warn","AuthUrl status: "+e.status+" for rel '"+which+"'")}},findAccountServiceLink:function(data,which){var links;try{links=JSON.parse(data).links}catch(err$28){CONSOLE.log("warn","AuthUrl: account service root did not parse for rel '"+which+"': "+err$28);return null}var link=Array.isArray(links)?links.find(function(l){return l.rel==which}):null;if(!link)CONSOLE.log("warn","AuthUrl: rel '"+which+"' not published by account service root");return link?link.href:null},getSettingsUrl:function(){var user= 706APP.modules.userModule.user;var qstring=$.deparam(location.search.substr(1));var baseData={},data;for(var k in user.metadata.data)if(user.metadata.data[k]&&k!=="serviceToken")baseData[k]=user.get(k);data={"token":com.slacker.util.encoding.B64.encode64(decodeURIComponentString($.param(baseData).trim())).replace(/\|/gi,".")};["giftCode","redeemCode","return","partner","getStudentOffer","aff_sub","isHoopla"].forEach(function(param){if(qstring[param])data[param]=qstring[param]});var queryString=decodeURIComponentString($.param(data).trim()); 707return this.constructUrl(this.urls.done.settings,{"query-string":queryString}).replace("com//","com/")},getAlexaAuthUrl:function(){var user=APP.modules.userModule.user;var queryString=$.deparam(location.search.substr(1));var url=this.constructUrl(this.urls.done.alexa,{"account-id":user.get("id"),"query-string":queryString});var alreadyHasParams=url.indexOf("?")>=0;for(var param in queryString){if(param==="done")continue;
707url+=(alreadyHasParams?"&":"?")+param+"="+queryString[param];alreadyHasParams= 708true}return url},getCereRedirectUrl:function(){var $jscomp$this=this;var self=this;var user=APP.modules.userModule.user;var qstring=$.deparam(location.search.substr(1));var keyMappings={"done":"client_id"};var formatters={"redirect_uri":function(s){return encodeURIComponent(s)}};var getMappedKey=function(key){return keyMappings[key]||key};var getFormattedValue=function(key,obj){return formatters[key]?formatters[key](qstring[key]):qstring[key]};var params=["done","redirect_uri","response_type","state"].reduce(function(acc, 709key){var $jscomp$compprop4={};return qstring[key]?Object.assign({},acc,($jscomp$compprop4[getMappedKey(key)]=getFormattedValue(key,qstring),$jscomp$compprop4)):acc},{});var access_token=user.get("access_token");return new Promise(function(resolve,reject){var dynamicUrl=$jscomp$this.constructUrl($jscomp$this.urls.auth.lxlAuth,params);$.ajax({url:dynamicUrl,method:"POST",contentType:"application/x-www-form-urlencoded",headers:{"Authorization":"Bearer "+access_token},cache:false,success:function(data, 710textStatus,jqXHR){resolve(data.redirectUri)},error:function(jqXHR,textStatus,errorThrown){reject(jqXHR)}})})},getSupportUrl:function(){var user=APP.modules.userModule.user;var qstring=$.deparam(location.search.substr(1));var data,queryString;data={returnTo:qstring.return_to,wstoken:user.getToken()};queryString=$.param(data).trim();return this.constructUrl(this.urls.done.support,{"query-string":queryString})},getPopsManageUrl:function(){var user=APP.modules.userModule.user;var paramObj=$.deparam(location.search.substr(1)); 711var urlBase=this.urls.done.manage,data={"action":"info","accountId":user.get("id"),"client":PARTNER!="slacker"&&PARTNER!="aol"?PARTNER+"webplayer":"webplayer","did":CONFIG.did,"level":this.getTextAccountLevel(user.get("level")),"site":"slacker","userAgent":this.ecomUserAgent,"outputApi":"web"};if(user.get("loginToken"))data["lt"]=user.get("loginToken");if(user.get("ref")=="lxl")data["return"]="lxl";else data["return"]=paramObj["return"]||"";data.client="webplayer";if(paramObj.payment)data.payment= 712paramObj.payment;var queryString=$.param(data);if(paramObj.newUi)urlBase=urlBase.replace("app2","ui");return this.constructUrl(urlBase,{"query-string":queryString})},getRendezvousRegUrl:function(app){return this.constructUrl(this.urls.done[app],{"after-login":app?app.replace("Success",""):""})},getPopsUpgradeUrl:function(entryPage,source){var user=APP.modules.userModule.user,paramObj=$.deparam(location.search.substr(1));urlBase=this.urls.done.upgrade;if(CONFIG.did.indexOf("NME")===0&&QUERY_OBJ["entryPage"]!= 713"ticketing"){var $jscomp$optchain$tmp1377861237$42;entryPage=(($jscomp$optchain$tmp1377861237$42=APP.PRICE[CONFIG.did])==null?void 0:$jscomp$optchain$tmp1377861237$42.level)||"plus"}else if(CONFIG.did.indexOf("PRE")===0&&QUERY_OBJ["entryPage"]!="ticketing")entryPage="premium";var self=this;var data={"action":"offers","accountId":user.get("id"),"client":PARTNER!="slacker"&&PARTNER!="aol"?PARTNER+"webplayer":"webplayer","did":CONFIG.did,"entryPage":entryPage,"level":this.getTextAccountLevel(user.get("level")), 714"site":"slacker","userAgent":self.ecomUserAgent,"outputApi":"web"};if(document.domain.match(/live(xlive|one)\.com/))data["return"]="lxl";else data["return"]=paramObj["return"]||"";if(user.get("loginToken"))data["lt"]=user.get("loginToken");if(user.get("offer"))data.offerCode=user.get("offer").offerCode;if(APP.isTeslaUpgradeFlowNonCred){var $jscomp$optchain$tmp1377861237$43;if(($jscomp$optchain$tmp1377861237$43=APP.modules.teslaLinkModule.userData)==null?void 0:$jscomp$optchain$tmp1377861237$43.altUsername){var $jscomp$optchain$tmp1377861237$44; 715data.altUsername=($jscomp$optchain$tmp1377861237$44=APP.modules.teslaLinkModule.userData)==null?void 0:$jscomp$optchain$tmp1377861237$44.altUsername}}if(paramObj.bp)data.bp=paramObj.bp;if(paramObj.aff_sub)data.aff_sub=paramObj.aff_sub;if(paramObj.code)data.code=paramObj.code;if(paramObj.device)data.device=paramObj.device;if(paramObj.payment)data.payment=paramObj.payment;if(paramObj.variant)data.variant=paramObj.variant;if(paramObj.isHoopla)data.isHoopla=paramObj.isHoopla;data.client="webplayer";var queryString= 716$.param(data);if(paramObj.newUi)urlBase=urlBase.replace("app2","ui");return this.constructUrl(urlBase,{"query-string":queryString,source:source||paramObj.source||"web"})},constructUrl:function(templateToUse,paramsObj){var qstring=$.deparam(location.search.substr(1));var commonParams={};if(!templateToUse)return"";if(!paramsObj)paramsObj={};["skin","debug","source","utm_campaign","utm_source","utm_medium","utm_content","event","username","password"].forEach(function(param){if(qstring[param])commonParams[param]= 717qstring[param];else if(param=="source")commonParams[param]="web"});paramsObj["common-params"]=$.param(commonParams);
717if(PARTNER!="slacker")paramsObj.partner=PARTNER;if(PARTNER=="tesla-creator"){OFFICIAL_SITEROOT=OFFICIAL_SITEROOT.replace("www","tesla");SITEROOT=SITEROOT.replace("www","tesla")}paramsObj["this-root"]=paramsObj["this-root"]?paramsObj["this-root"]:"//"+SERVER;paramsObj["sapi-cname-root"]=paramsObj["sapi-cname-root"]?paramsObj["sapi-cname-root"]:"https:"+SAPI_CNAMEROOT;paramsObj["api-root"]= 718paramsObj["api-root"]?paramsObj["api-root"]:"https:"+API_SITEROOT;paramsObj["sapi-root"]=paramsObj["sapi-root"]?paramsObj["sapi-root"]:"https:"+SAPI_SITEROOT;paramsObj["https-root"]=paramsObj["https-root"]?paramsObj["https-root"]:"https:"+OFFICIAL_SITEROOT;paramsObj["http-root"]=paramsObj["http-root"]?paramsObj["http-root"]:"http:"+SITEROOT;paramsObj["https-root"]=paramsObj["https-root"]?paramsObj["https-root"]:"https:"+SITEROOT;paramsObj["store-root"]=STOREROOT;return StringUtils.format(templateToUse, 719paramsObj)},getTextAccountLevel:function(intLevel){if(intLevel==0)return"";else if(intLevel<5)return"basic";else if(intLevel<10)return"plus";else if(intLevel==10)return"premium";return""}};registerPackage("com.slacker.app.modules.UrlModule");UrlModule.prototype.__constants();com.slacker.app.modules.UrlModule=UrlModule})()}); 720bjork("com.slacker.app.views.CreateAccountView",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");var AsyncUtils=require("com.slacker.util.AsyncUtils");var Apple=require("com.slacker.util.social.Apple");var Google=require("com.slacker.util.social.Google");function CreateAccountView(){extendClass(this,new EventNotifier(this));this.__constants();this.__properties();this.__constructor.apply(this,arguments);this.__bindKoComputeds()}CreateAccountView.prototype={__constants:function(){}, 721__properties:function(){var $jscomp$this=this;this.id=ko.observable("createAccount");this.pathName=ko.observable(this.id());this.visible=ko.observable(true);this.copaViolation=ko.observable(false);this.emailAddress=ko.observable("");this.password=ko.observable("");this.passwordConfirm=ko.observable("");this.birthYear=ko.observable("");this.gender=ko.observable("");this.explicit=ko.observable(false);this.agreesToTerms=ko.observable(false);this.receiveNewsLetter=ko.observable(false);this.accountCreateBlocked= 722ko.observable(false);this.isRequiredToLogin=ko.observable(!window.opener&&window.parent===window);this.hideSocialButtons=ko.observable(false);this.isCreatePending=ko.observable(true);this.createAccountReason=ko.observable("");this.socialAuthPopupNotice=ko.observable("");this.legalText=ko.observable(null);this.legalText.subscribe(function(){setTimeout(function(){$jscomp$this.addLegalScrollHandlers()},0)});this.errors=ko.observable({});this.errorMessage=ko.observable("");this.lockScroll=ko.observable("true"); 723this.loginProvider=ko.observable();this.doNotShowChooserOnBack=ko.observable();this.dirtyState=ko.observable({});this.showPassword=ko.observable(false);this.Google=Google;this.inputKeyToObservable={username:"emailAddress"};this.isMobileDevice=ko.observable(com.slacker.util.browser.Browser.isMobileDevice());this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]};this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey},__constructor:function(){this.focus(); 724this.isCreatePending.subscribe(function(newValue){console.log("isCreatePending",newValue);newValue===false&&APP.notifyParentWindowReady()})},__bindKoComputeds:function(){var self=this;this.emailOk=ko.computed(function(){var regex=/^(.+)@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,32}$/;basicCheck=self.emailAddress()&&self.emailAddress().trim()&®ex.test(self.emailAddress())&&self.emailAddress().indexOf(" ")==-1;return self.emailAddress()&&basicCheck&&self.emailAddress().indexOf("@@")==-1});this.passwordOk= 725ko.computed(function(){return self.password()&&self.password().trim().length>5&&self.password().trim().length<33});this.birthYearOk=ko.computed(function(){return self.birthYear()&&self.birthYear().trim().length>3});this.canSubmitForm=ko.computed(function(){return self.emailOk()&&self.passwordOk()&&self.birthYearOk()&&!self.copaViolation()})},init:function(){var user=APP.modules.userModule.user;ko.applyBindings(this,$("#CreateAccountView")[0]);BEACON.tagView({name:"create-account"});if(this.hideSocialButtons()){this.loginProvider("email"); 726this.doNotShowChooserOnBack(true)}this.loginProvider.valueHasMutated();document.title="LiveOne Account Create";if(user.get("username")&&user.get("receiveNewsLetter")=="true"){this.loginProvider("email");this.emailAddress(user.get("username"));this.receiveNewsLetter(true)}return this},resume:function(){var self=this;var qstring=location.search.substr(1).split("&").map(function(kvString){var kv=kvString.split("=");var $jscomp$compprop5={};return $jscomp$compprop5[kv[0]]=kv[1],$jscomp$compprop5}).reduce(function(acc,
727item){return Object.assign({},acc,item)},{});APP.modules.userModule.user.set({screen:"createAccount"});if(APP.modules.userModule.user.get("isRequiredToLogin"))this.isRequiredToLogin(true);else if(qstring.token)this.isRequiredToLogin(false);if(APP.isDeviceRedeemFlow()||APP.isDeviceUpgradeFlow()){APP.modules.userModule.token(null,null,"loginToken");com.slacker.util.social.Apple.checkApiLoaded("AppleID");APP.isDeviceRedeemFlow()&&setTimeout(function(){self.isCreatePending(false)},1E3);return}com.slacker.util.social.Apple.checkApiLoaded("AppleID"); 728var $jscomp$optchain$tmp1377861237$45;if(APP.isTeslaUpgradeFlow&&(!APP.modules.teslaLinkModule.linkStatus||(($jscomp$optchain$tmp1377861237$45=APP.modules.teslaLinkModule.linkStatus)==null?void 0:$jscomp$optchain$tmp1377861237$45.length)))return;setTimeout(function(){self.isCreatePending(false)},1E3)},clearAll:function(){this.emailAddress("");this.password("");this.passwordConfirm("");this.birthYear("");this.gender("");this.explicit(false);this.agreesToTerms(false);this.receiveNewsLetter(false);this.hideSocialButtons(false); 729this.isRequiredToLogin(APP.modules.userModule.user.get("isRequiredToLogin")||!window.opener&&window.parent===window);this.legalText(null);this.errors({});this.errorMessage("");this.isMobileDevice(com.slacker.util.browser.Browser.isMobileDevice())},focus:function(){if($(".create-account #username")[0]){$(".create-account #username")[0].removeAttribute("disabled");$(".create-account #password")[0].removeAttribute("disabled");$(".create-account #username").focus()}},reset:function(){this.clearAll()}, 730hide:function(){this.visible(false)},show:function(){this.reset();this.visible(true);this.focus()},hasError:function($id){return this.errors&&this.errors[$id]!=null},setPasswordValidationVisible:function(){this.passwordValidationVisible(true)},onGoogleLoginReturn:function(gpuid,token,name,imgUrl){return APP.views.login.onGoogleLoginReturn(gpuid,token,name,imgUrl)},onEmailLoginAction:function(){if(APP.contestEntryData()&&APP.contestEntryData().ended)APP.isContestEntryFlow(false);this.loginProvider("email")}, 731onGoogleLoginAction:function(){this.handleTeslaSSOFlow();APP.views.login.onGoogleLoginAction()},onFBLoginAction:function(){this.handleTeslaSSOFlow();APP.views.login.onFBLoginAction()},onAppleLoginAction:function(){this.handleTeslaSSOFlow();APP.views.login.onAppleLoginAction()},onAppleLoginReturn:function(appleId,idToken,name,msgObj){APP.views.login.onAppleLoginReturn(appleId,idToken,name,msgObj)},toggleCheckBox:function(which){switch(which){case "terms":this.agreesToTerms(this.agreesToTerms()!=true); 732break}},handleTeslaSSOFlow:function(){if(APP.isTeslaUpgradeFlow)APP.modules.teslaLinkModule.flow="SSO"},showLegal:function(which){var self=this;var url=APP.modules.urlModule.constructUrl(APP.modules.urlModule.urls.legal,{"http-root":"https:"+OFFICIAL_SITEROOT,"which":which});$.get(url,function(data){self.legalText(data);$(".login-container")[0].scrollTo(0,0)})},handleInternalClick:function(vm,evt){var target=evt.target,href;if(target.nodeName=="A"){href=target.getAttribute("href");if(target.getAttribute("target")|| 733href.indexOf("http")==0||href.indexOf("mailto")==0)window.open(href);else switch(href.substring(1)){case "":window.open("https:"+OFFICIAL_SITEROOT);case "opt-out-of-sales":window.open("https:"+OFFICIAL_SITEROOT+"/opt-out-of-sales");break;case "terms":case "privacy":$(".login-container")[0].scrollTo(0,0);this.showLegal(href.substring(1));break}}},viewLogin:function(){APP.redirectToView(APP.views.login)},onShowPasswordToggle:function(){var view=APP.views.createAccount;view.showPassword(!view.showPassword())}, 734onCancelButtonClick:function(){if(this.accountCreateBlocked()){this.clearAll();this.accountCreateBlocked(false)}APP.views.login.onCancelButtonClick(true)},onCloseButtonClick:function(){if(APP.isCostcoMemberLinkFlow()){APP.showCostcoExitDialog(true);return}com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountClose",type:"close",value:"close",params:{flow:"createAccount",label:"close"}});APP.modules.userModule.onUserLoginCancel()},onLogoClick:function(data,event){com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountClose", 735type:"close",value:"logo",params:{flow:"createAccount",label:"logo"}});var target=event.target;if(target&&!target.href)target=target.parentElement;APP.modules.userModule.onUserLoginCancel(target)},onCreateAccountSubmit:function(data,e){var $jscomp$this=this;["username","password","birthYear"].forEach(function(key){return $jscomp$this.updateDirtyState(key)});
735if(this.canSubmitForm()){this.validation.validate();com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountSubmit",type:"signup",value:"signup", 736params:{flow:"createAccount",label:"signup"}})}},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i];errorsObject[error.id]=error}this.errors(errorsObject)}else{this.errors({});this.errorMessage("");this.isCreatePending(true);if(!APP.isTeslaUpgradeFlow)APP.modules.userModule.createAccount({username:this.emailAddress(),password:this.password(),birthYear:this.birthYear(),gender:this.gender(),explicit:this.explicit(), 737receiveNewsLetter:this.receiveNewsLetter()});else{APP.modules.teslaLinkModule.flow="email";APP.modules.teslaLinkModule.altLogin({username:this.emailAddress(),password:this.password(),birthYear:this.birthYear(),gender:this.gender(),explicit:this.explicit(),receiveNewsLetter:this.receiveNewsLetter()}).then(function(){APP.modules.userModule.onUserLoginReturn()})}}},processSuccess:function(event){var createAction=event.target,qstring=$.deparam(location.search.substr(1));this.aid=createAction.aid;APP.modules.userModule.user.set({id:createAction.aid}); 738if(APP.contestEntryData()&&!APP.contestEntryData().invalid&&!APP.contestEntryData().ended)APP.modules.userModule.user.set({contest:APP.isContestEntryFlow()});if(!APP.afterLoginPath)APP.afterLoginPath="createAccount";AsyncUtils.getPromiseWithExpiry(function(){return com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountComplete",type:"createAccount",value:"email",params:{flow:"createAccount",label:"email",source:qstring.source}})},2E3,function($jscomp$destructuring$var12){var $jscomp$destructuring$var13= 739$jscomp$destructuring$var12;var resolve=$jscomp$destructuring$var13.resolve;return resolve()}).then(function(){APP.modules.userModule.onUserLoginReturn()})},processError:function(response){var $jscomp$this=this;var errorsObject={},errors=[],field;if(response.errors.length>0)errors=errors.concat(response.errors);if(response.user&&response.user.errors.length>0)errors=errors.concat(response.user.errors);len=errors.length;errors.forEach(function(error){field=error.fieldName;if(field.indexOf("postalCode")> 740-1)field="postalCode";if(field=="birthYear"&&error.errors.length>1)error.errors[0]="BIRTHYEAR_INVALID";if(field=="email")error.fieldName="username";errorsObject[error.fieldName]={id:response.code,name:error.fieldName,message:$jscomp$this.getHumanReadableError(error.errors[0]),server:true}});if(errorsObject.cookies)errorsObject.generic={id:"generic",name:"generic",message:APP.contestEntryData()&&!APP.contestEntryData().invalid&&!APP.contestEntryData().ended?"Entering the contest requires a new email address. Log out to create a new account.": 741"You are already logged in to a Slacker account. Log out to create a new account.",server:true};if(errors.length>0)if(errorsObject.generic)this.errorMessage(errorsObject.generic.message);else this.errorMessage("Please correct the errors below");else if(response.code==400){this.accountCreateBlocked(true);this.resetDirtyState()}this.isCreatePending(false);this.errors(errorsObject);com.slacker.util.behavior.Beacon.tagEvent({name:"createAccountError",type:"createAccount",value:errors[0]?errors[0].fieldName: 742"error",params:{flow:"createAccount",label:errors[0]?errors[0].fieldName:"error"}})},getHumanReadableError:function(key){return APP.modules.messagingModule.nagMessages["create-account"][key]},resetDirtyState:function(){this.dirtyState({})},updateDirtyState:function(key){return function(){var $jscomp$compprop6={};this.dirtyState(Object.assign({},this.dirtyState(),($jscomp$compprop6[key]=true,$jscomp$compprop6)))}},isDirty:function(key){return!!this.dirtyState()[key]},handleFieldChange:function(key){return function(vm, 743event){var $jscomp$compprop7={};this.errors(Object.assign({},this.errors(),($jscomp$compprop7[key]=null,$jscomp$compprop7)));this.errorMessage("")}},setGender:function(v,g){v.gender(g)},getRadioKeyEventHandler:function(callback){return function(data,event){var SPACE=32;var LEFT=37;var UP=38;var RIGHT=39;var DOWN=40;var value=null;var target=null;switch(event.which){case SPACE:target=event.target;break;case LEFT:case UP:target=event.target.previousElementSibling||event.target.parentElement.children[event.target.parentElement.children.length- 7441];break;
744case RIGHT:case DOWN:target=event.target.nextElementSibling||event.target.parentElement.children[0];break}var $jscomp$optchain$tmp1377861237$46;var $jscomp$optchain$tmp1377861237$47;if(($jscomp$optchain$tmp1377861237$46=target)==null?void 0:($jscomp$optchain$tmp1377861237$47=$jscomp$optchain$tmp1377861237$46.dataset)==null?void 0:$jscomp$optchain$tmp1377861237$47.value){target.focus();callback(data,target.dataset.value)}}},getGenderSetter:function(g){return function(v,e){v.gender(g)}},addLegalScrollHandlers:function(options){options= 745options===undefined?{}:options;var $jscomp$destructuring$var14=options;var behavior=$jscomp$destructuring$var14.behavior===undefined?"smooth":$jscomp$destructuring$var14.behavior;var offset=$jscomp$destructuring$var14.offset===undefined?0:$jscomp$destructuring$var14.offset;function handleClick(event){var link=event.currentTarget;var $jscomp$optchain$tmp1377861237$48;var targetId=($jscomp$optchain$tmp1377861237$48=link.getAttribute("href"))==null?void 0:$jscomp$optchain$tmp1377861237$48.slice(1);if(!targetId)return; 746var targetEl=document.getElementById(targetId);if(!targetEl)return;event.preventDefault();var container=document.querySelector(".legal-text");var rect=targetEl.getBoundingClientRect();var scrollTop=container.scrollTop;container.scrollTo({top:rect.top+scrollTop-offset,behavior:behavior})}var anchorLinks=document.querySelectorAll('.legal-text a[href^="#"]');anchorLinks.forEach(function(link){link.removeEventListener("click",handleClick);link.addEventListener("click",handleClick)})}};registerPackage("com.slacker.app.views.CreateAccountView"); 747CreateAccountView.prototype.__constants();com.slacker.app.views.CreateAccountView=CreateAccountView})()}); 748bjork("com.slacker.app.views.ForgotPasswordView",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");var XmlUtils=require("com.slacker.io.XmlUtils");function ForgotPasswordView(){extendClass(this,new EventNotifier(this));this.__constants();this.__properties();this.__constructor.apply(this,arguments);this.__bindKoComputeds()}ForgotPasswordView.prototype={__constants:function(){},__properties:function(){this.id=ko.observable("forgotPassword");this.pathName=ko.observable(this.id()); 749this.isRequiredToLogin=ko.observable(false);this.visible=ko.observable(false);this.emailAddress=ko.observable("");this.errorMessage=ko.observable("");this.successMessage=ko.observable("");this.lockScroll=ko.observable("true");this.errors=ko.observable({});this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey;this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]}},__constructor:function(){},__bindKoComputeds:function(){var self=this;this.emailOk=ko.computed(function(){var regex= 750/^(.+)@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,32}$/;return self.emailAddress().trim()&®ex.test(self.emailAddress())});this.canSubmitForm=ko.computed(function(){return self.emailOk()})},focus:function(){var user=APP.modules.userModule.user;this.visible(true);if(user&&user.get("level")>0&&user.get("username")){this.emailAddress(XmlUtils.decode(user.get("username")));$("#password-reset-form #username").addClass("disabled").focus(function(){$("#password-reset-form button[type='submit']").focus()})}else $("#password-reset-form #username").focus()}, 751reset:function(){this.errors({});this.errorMessage("");this.successMessage("")},hide:function(){this.visible(false);this.reset()},show:function(){this.reset();this.visible(true);this.focus()},init:function(){ko.applyBindings(this,$("#ForgotPasswordView")[0]);if(APP.modules.userModule)this.focus();BEACON.tagView({name:this.id()});document.title="LiveOne Forgot Password";return this},resume:function(){this.socialLoginState=APP.readFromLocalStorage(this.localStorageKey);if(!this.socialLoginState)return; 752if(this.socialLoginState.emailAddress)this.emailAddress(this.socialLoginState.emailAddress)},processResponse:function($wasSuccess,$message){if($wasSuccess){this.errorMessage("");this.successMessage($message)}else{this.errors({username:true});this.errorMessage($message);this.successMessage("")}},onCloseButtonClick:function(){APP.redirectToView(APP.views.login)},onLogoClick:function(data,event){com.slacker.util.behavior.Beacon.tagEvent({name:"forgotPasswordClose",type:"close",value:"logo",params:{flow:"forgotPassword", 753label:"logo"}});var target=event.target;if(target&&!target.href)target=target.parentElement;APP.modules.userModule.onUserLoginCancel(target)}
753,onSubmit:function(data,e){if(this.canSubmitForm())this.validation.validate()},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i];errorsObject[error.id]=error}this.errors(errorsObject)}else{this.errors({});APP.modules.userModule.forgotPassword(this.emailAddress());com.slacker.util.behavior.Beacon.tagEvent({name:"forgotPasswordSubmit", 754type:"submit",value:"submit",params:{flow:"forgotPassword",label:"submit"}})}}};registerPackage("com.slacker.app.views.ForgotPasswordView");ForgotPasswordView.prototype.__constants();com.slacker.app.views.ForgotPasswordView=ForgotPasswordView})()}); 755bjork("com.slacker.app.views.LoginView",function(){(function(){var CONSOLE=require("com.slacker.util.Console");var EventNotifier=require("com.slacker.event.EventNotifier");var Apple=require("com.slacker.util.social.Apple");var Google=require("com.slacker.util.social.Google");var UserEvent=require("com.slacker.app.events.UserEvent");var XmlUtils=require("com.slacker.io.XmlUtils");require("com.slacker.util.social.Facebook");function LoginView(){extendClass(this,new EventNotifier(this));this.__constants(); 756this.__properties();this.__constructor.apply(this,arguments)}LoginView.prototype={__constants:function(){LoginView.LOGIN_SCREEN="login";LoginView.COLLECT_EMAIL_SCREEN="socialCollectEmail";LoginView.DUPLICATE_EMAIL_SCREEN="socialDuplicateEmail";LoginView.LOGIN_MERGE_SCREEN="socialMergeLoginFlow";LoginView.UPGRADE_MERGE_SCREEN="socialMergeUpgradeFlow";LoginView.APPLE_TYPE="apple"},__properties:function(){this.id=ko.observable("login");this.pathName=ko.observable(this.id());this.isRequiredToLogin=ko.observable(!window.opener&& 757window.parent===window);this.isInUpgradeFlow=ko.observable(false);this.isInSettingsFlow=ko.observable(false);this.isInSocialClaimState=ko.observable(false);this.isInSocialMergeState=ko.observable(false);this.isInSocialEmailRequest=ko.observable(false);this.isInSocialDuplicateEmailState=ko.observable(false);this.isInAccountLoginPrompt=ko.observable(false);this.hideSocialButtons=ko.observable(false);this.loginProvider=ko.observable();this.doNotShowChooserOnBack=ko.observable();this.socialLoginRegData= 758null;this.isLoginPending=ko.observable(true);this.loginReason=ko.observable({msg:""});this.socialAuthPopupNotice=ko.observable("");this.errorMessage=ko.observable("");this.socialNetwork=ko.observable("");this.emailAddress=ko.observable("");this.emailAddressType=ko.observable("email");this.password=ko.observable("");this.visible=ko.observable(true);this.hasLoginErrored=ko.observable(false);this.errors=ko.observable({});this.alertType=ko.observable(null);this.lockScroll=ko.observable("true");this.showPassword= 759ko.observable(false);this.isMobileDevice=ko.observable(com.slacker.util.browser.Browser.isMobileDevice());this.fbApiCheck=null;this.fbApiCheckCount=0;this.fbApiCheckMax=5;this.flowName=LoginView.LOGIN_SCREEN;this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]};this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey;this.Google=Google},__constructor:function(){this.__bindKoComputeds();this.focus();this.isLoginPending.subscribe(function(newValue){console.log("isLoginPending", 760newValue);newValue===false&&APP.notifyParentWindowReady()})},__bindKoComputeds:function(){var self=this;this.emailOk=ko.computed(function(){var regex=/^(.+)@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,32}$/;var $jscomp$optchain$tmp1377861237$49;var $jscomp$optchain$tmp1377861237$50;var $jscomp$optchain$tmp1377861237$51;var $jscomp$optchain$tmp1377861237$52;var $jscomp$optchain$tmp1377861237$53;var $jscomp$optchain$tmp1377861237$54;return(($jscomp$optchain$tmp1377861237$49=self)==null?void 0:($jscomp$optchain$tmp1377861237$51= 761($jscomp$optchain$tmp1377861237$50=$jscomp$optchain$tmp1377861237$49).emailAddress)==null?void 0:($jscomp$optchain$tmp1377861237$52=$jscomp$optchain$tmp1377861237$51.call($jscomp$optchain$tmp1377861237$50))==null?void 0:($jscomp$optchain$tmp1377861237$54=($jscomp$optchain$tmp1377861237$53=$jscomp$optchain$tmp1377861237$52).trim)==null?void 0:$jscomp$optchain$tmp1377861237$54.call($jscomp$optchain$tmp1377861237$53))&®ex.test(self.emailAddress())});this.passwordOk=ko.computed(function(){var $jscomp$optchain$tmp1377861237$55; 762var $jscomp$optchain$tmp1377861237$56;var $jscomp$optchain$tmp1377861237$57;var $jscomp$optchain$tmp1377861237$58;var $jscomp$optchain$tmp1377861237$59;var $jscomp$optchain$tmp1377861237$60;return(($jscomp$optchain$tmp1377861237$55=self)==null?void 0:($jscomp$optchain$tmp1377861237$57=($jscomp$optchain$tmp1377861237$56=$jscomp$optchain$tmp1377861237$55).password)==null?void 0:($jscomp$optchain$tmp1377861237$58=$jscomp$optchain$tmp1377861237$57.call($jscomp$optchain$tmp1377861237$56))==null?void 0: 763($jscomp$optchain$tmp1377861237$60=($jscomp$optchain$tmp1377861237$59=$jscomp$optchain$tmp1377861237$58).trim)==null?void 0:$jscomp$optchain$tmp1377861237$60.call($jscomp$optchain$tmp1377861237$59).length)>0});this.canSubmitForm=ko.computed(function(){if(self.isInSocialEmailRequest
763()||self.isInSocialDuplicateEmailState())return self.emailOk();return self.emailOk()&&self.passwordOk()});this.submitText=ko.computed(function(){var submitBtnText="LOG IN";if(self.isInSocialEmailRequest()){if(self.isInUpgradeFlow())submitBtnText= 764"CONTINUE"}else if(self.isInSocialDuplicateEmailState())submitBtnText="YES, MERGE ACCOUNTS";else if(self.isInSocialMergeState()&&self.isInUpgradeFlow())submitBtnText="MERGE ACCOUNTS";return submitBtnText});this.cancelText=ko.computed(function(){var cancelBtnText="CANCEL";if(self.isInSocialEmailRequest()){if(self.isInUpgradeFlow()&&!self.isInAccountLoginPrompt())cancelBtnText="CANCEL"}else if(self.isInSocialDuplicateEmailState())cancelBtnText="NO, MOVE ON";else if(self.isInSocialMergeState())if(self.isInUpgradeFlow())cancelBtnText= 765"BACK TO EMAIL";else cancelBtnText="CANCEL MERGE";return cancelBtnText});this.emailOnly=ko.computed(function(){return self.isInSocialDuplicateEmailState()||self.isInSocialEmailRequest()});this.emailEnabled=ko.computed(function(){return!self.isLoginPending()&&!self.isInSocialDuplicateEmailState()});this.newUUID=ko.computed(function(){var dt=(new Date).getTime();var uuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(dt+Math.random()*16)%16|0;dt=Math.floor(dt/16);return(c== 766"x"?r:r&3|8).toString(16)});return uuid})},init:function(){ko.applyBindings(this,$("#LoginView")[0]);if(APP.modules.userModule&&APP.modules.userModule.user&&(APP.modules.userModule.user.get("username")||APP.modules.userModule.user.get("settingsFlow"))){this.setLoginReason("ecleg-verify-account");if(APP.modules.userModule.user.get("username")){this.emailAddress(XmlUtils.decode(APP.modules.userModule.user.get("username")));this.focusPass()}}if(getGlobalCookie().isLoggedOut){if(!this.loginReason().msg)this.setLoginReason("general-login"); 767this.isRequiredToLogin(true)}if(this.hideSocialButtons()){this.loginProvider("email");this.doNotShowChooserOnBack(true)}this.loginProvider.valueHasMutated();BEACON.tagView({name:this.id()});document.title="LiveOne Account Login";return this},resume:function(){var self=this;var qstring=$.deparam(location.search.substr(1));var user=APP.modules.userModule.user;var _auth=user.get("oauth")||user.get("loginToken");var suppressAutoLogin=APP.errorType()==="offer"||APP.isTeslaUpgradeFlow;user.set({screen:"login"}); 768if(APP.isHoopla()){APP.redirectToView(APP.views.createAccount);return}if(APP.isDeviceRedeemFlow()||APP.isDeviceUpgradeFlow()){APP.modules.userModule.token(null,null,"loginToken");APP.isDeviceRedeemFlow()&&setTimeout(function(){return self.isLoginPending(false)},1E3);return}if(_auth&&!suppressAutoLogin){this.isLoginPending(true);APP.autoAuth("PENDING");user.set({"oauth":null});user.set({"requireCompleteReg":true});if(!APP.isDeviceUpgradeFlow()&&!user.get("username"))user.set({"incompleteReg":true}); 769APP.modules.userModule.token(null,null,user.get("loginToken")?"loginToken":_auth);return}this.socialLoginState=APP.readFromLocalStorage(this.localStorageKey);if(this.socialLoginState){APP.removeFromLocalStorage(this.localStorageKey);this.overwriteStates();if(this.socialLoginState&&this.socialLoginState.startingFunction&&typeof this.socialLoginState.startingFunction=="function")this.socialLoginState.startingFunction.apply(this.socialLoginState.params)}if(APP.modules.userModule.user.get("isRequiredToLogin"))this.isRequiredToLogin(true); 770else if(qstring.token)this.isRequiredToLogin(false);if(!APP.isTeslaUpgradeFlow)this.isLoginPending(false);com.slacker.util.social.Apple.checkApiLoaded("AppleID")},focus:function(){$("#login-form #username").removeClass("disabled");$("#login-form #username").focus()},focusPass:function(){$("#login-form #password").focus();$("#login-form #username").addClass("disabled").focus(function(){$("#login-form #password").focus()})},resetStates:function(){this.isInSocialEmailRequest(false);this.isInSocialMergeState(false); 771this.isInSocialDuplicateEmailState(false);this.isInAccountLoginPrompt(false);this.isLoginPending(false);this.loginProvider(null);this.emailAddressType("email");this.socialAuthPopupNotice("")},reset:function(){this.isMobileDevice(com.slacker.util.browser.Browser.isMobileDevice()
771);this.resetStates();this.isInSocialClaimState(false);this.isInUpgradeFlow(false);this.hideSocialButtons(false);this.clearLoginReason();this.socialAuthPopupNotice("");this.socialNetwork("");this.emailAddress("");this.password(""); 772this.hasLoginErrored(false);this.errors({});this.flowName=LoginView.LOGIN_SCREEN;APP.modules.userModule.resetSNAction();if(APP.currentView!==this){APP.currentView.isCreatePending(false);APP.currentView.socialAuthPopupNotice(null)}if($("#login-form #username").hasClass("disabled"))$("#login-form #username").removeClass("disabled").focus();else $("#login-form #username").focus();this.isRequiredToLogin(APP.modules.userModule.user.get("isRequiredToLogin")||!window.opener&&window.parent===window)},getViewParams:function(){return[this.isInUpgradeFlow(), 773this.isInSocialClaimState(),this.isInSocialMergeState(),this.isInSocialEmailRequest(),this.isInSocialDuplicateEmailState(),this.isInAccountLoginPrompt(),this.isLoginPending(),this.hasLoginErrored(),this.loginReason(),this.socialNetwork(),this.emailAddress(),this.isRequiredToLogin()]},setViewParams:function(viewParams){if(viewParams&&viewParams.length>9){this.isInUpgradeFlow(viewParams[0]=="true");this.isInSocialClaimState(viewParams[1]=="true");this.isInSocialMergeState(viewParams[2]=="true");this.isInSocialEmailRequest(viewParams[3]== 774"true");this.isInSocialDuplicateEmailState(viewParams[4]=="true");this.isInAccountLoginPrompt(viewParams[5]=="true");this.isLoginPending(viewParams[6]=="true");this.hasLoginErrored(viewParams[7]=="true");this.loginReason(viewParams[8]);this.socialNetwork(viewParams[9]);this.emailAddress(viewParams[10]);this.isRequiredToLogin(viewParams[11]=="true")}},saveStates:function(callback,callbackArgs){if(APP.currentView!==this)this.saveAndRedirect(this,this.localStorageKey,this.socialLoginState)},saveAndRedirect:function(view, 775callback,callbackArgs){this.socialLoginState={startingFunction:callback,params:callbackArgs,socialLoginRegData:this.socialLoginRegData,user:APP.modules.userModule.user.metadata.data,flowName:this.flowName,emailAddress:this.emailAddress(),viewParams:this.getViewParams()};APP.redirectToView(view,this.localStorageKey,this.socialLoginState)},overwriteStates:function(){if(!this.socialLoginState)return;if(this.socialLoginState.viewParams&&this.socialLoginState.viewParams.length>0)this.setViewParams(this.socialLoginState.viewParams); 776this.socialLoginRegData=this.socialLoginState.socialLoginRegData;APP.modules.userModule.user.set(this.socialLoginState.user);this.emailAddress(this.socialLoginState.user.socialEmail||this.socialLoginState.emailAddress);this.flowName=this.socialLoginState.flowName},hide:function(){this.visible(false)},show:function(){this.reset();this.visible(true);if(!com.slacker.util.browser.Browser.isTV())this.focus()},makeVisible:function(){this.visible(true);if(APP.currentView!==this){this.saveStates();return}}, 777viewCreateAccount:function(){APP.redirectToView(APP.views.createAccount)},onShowPasswordToggle:function(){var view=APP.views.login;view.showPassword(!view.showPassword())},onCreateAccount:function(){this.onCloseButtonClick(true,true)},onForgotPassword:function(){this.saveAndRedirect(APP.views.forgotPassword)},onAutologinWithProvider:function(provider){var _em=APP.modules.userModule.getSocialMergeUsername();var _pw=this.password();this.show();wasLoggedOut=false;APP.modules.userModule.user.set({init:true, 778autoLoggedIn:true});switch(provider){case "facebook":this.onFBLoginAction();break;case "google":this.onGoogleLoginAction();break;case "apple":this.onAppleLoginAction();break;default:if(_pw&&_em){this.emailAddress(_em);APP.modules.userModule.onUserLoginAttempt(_em);APP.modules.userModule.login(_em,_pw)}else CONSOLE.log("warn","Unable to auto-log user in after SSO merge. Prompt user with login view.")}},onCollectEmail:function(reasonId,socialEmail,isUpgradeFlow,isAccountLoginPrompt){CONSOLE.log("info", 779"User doesn't have an email. Showing the collect email screen.");this.flowName=LoginView.COLLECT_EMAIL_SCREEN;this.resetStates();this.isInSocialEmailRequest(true);this.isInSocialClaimState(true);this.doNotShowChooserOnBack(true);this.isInAccountLoginPrompt(isAccountLoginPrompt);this.loginProvider("email");if(isUpgradeFlow!==undefined)this.isInUpgradeFlow(isUpgradeFlow);this.socialNetwork(APP.modules.userModule.getSocialLoginServiceName());this.emailAddress(socialEmail?socialEmail:"");this.password(""); 780this.setLoginReason(reasonId,"Please supply an email address to use for account recovery purposes.");this.focus();BEACON.tagView({name:"socialLoginCollectEmail"});if(socialEmail&&!this.isInUpgradeFlow()){this.onEmailSubmitAction();return}if(APP.currentView!==this){this.saveStates(this.onCollectEmail,[reasonId,socialEmail,isUpgradeFlow,isAccountLoginPrompt]);return}},onDuplicateEmail:function(){CONSOLE.log("info","Email collision is detected at login time ("+this.emailAddress()+"). Confirming it is the user's email/account."); 781this.flowName=LoginView.DUPLICATE_EMAIL_SCREEN;if(this.isInUpgradeFlow()){CONSOLE.log("info","They are in the upgrade flow, so we send them to the merge screen");this.onMergeAccounts();return}this.resetStates();this.isInSocialClaimState(true);this.isInSocialDuplicateEmailState(true);this.doNotShowChooserOnBack(true);this.loginProvider("email");this.emailAddressType("text");this.setLoginReason("social-login-email-collision");if(APP.currentView!==this){this.saveStates(this.onDuplicateEmail,[]);return}}, 782onMergeAccounts:function(reasonId,isUpgradeFlow,errorMessage){CONSOLE.log("info","Email collision is detected ("+this.emailAddress()+"). Showing the merge account screen.");if(isUpgradeFlow!==undefined)this.isInUpgradeFlow(isUpgradeFlow);this.flowName=this.isInUpgradeFlow()?LoginView.UPGRADE_MERGE_SCREEN:LoginView.LOGIN_MERGE_SCREEN;if(!reasonId)reasonId=this.isInUpgradeFlow()?"ecleg-social-merge":"social-login-validate-account";this.resetStates();this.isInSocialClaimState(true);this.isInSocialMergeState(true); 783this.doNotShowChooserOnBack(true);this.loginProvider("email");errorMessage?this.setLoginReason(null,errorMessage):this.setLoginReason(reasonId);this.focusPass();if(APP.currentView!==this){this.saveStates(this.onMergeAccounts,[reasonId,isUpgradeFlow,errorMessage]);return}},onEmailLoginAction:function(){this.errors({});this.clearLoginReason();this.loginProvider("email")},onAppleLoginAction:function(){var msg='If you do not see the Apple login prompt, please check that you have disabled any pop-up blockers and <a onclick="APP.views.login.onAppleLoginAction()" href="#">try again</a>.'; 784this.hasLoginErrored(false);this.isLoginPending(true);this.clearLoginReason();this.socialNetwork(LoginView.APPLE_TYPE);this.socialAuthPopupNotice(msg);if(APP.currentView!==this){APP.currentView.isCreatePending(true);APP.currentView.socialAuthPopupNotice(msg)}if(!Apple.waitForAPI("doLoginAction"))Apple.doLoginAction();com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthStart",type:LoginView.APPLE_TYPE,value:LoginView.APPLE_TYPE,params:{flow:LoginView.APPLE_TYPE,label:LoginView.APPLE_TYPE}})}, 785onAppleLoginReturn:function(appleId,idToken,name,msgObj){if(!appleId&&msgObj){var reasonIgnoreList=["popup_closed_by_user","user_cancelled_authorize"];var showMessage=reasonIgnoreList.indexOf(msgObj.reason)===-1;this.socialAuthPopupNotice("");
785this.setLoginReason(null,showMessage?msgObj.message:"");this.isLoginPending(false);if(APP.currentView!==this){APP.currentView.isCreatePending(false);APP.currentView.socialAuthPopupNotice(null)}}else{this.isLoginPending(true);this.socialNetwork(LoginView.APPLE_TYPE); 786this.socialLoginRegData={uid:appleId,token:idToken,profileName:name};APP.modules.userModule.sociallogin(null,null,this.socialNetwork(),appleId,idToken,this.socialLoginRegData)}},onGoogleLoginAction:function(){var msg='If you do not see the Google login prompt, please check that you have disabled any pop-up blockers and <a onclick="APP.views.login.onGoogleLoginAction()" href="#">try again</a>.';this.hasLoginErrored(false);this.clearLoginReason();this.socialNetwork("google");this.socialAuthPopupNotice(msg); 787if(APP.currentView!==this)APP.currentView.socialAuthPopupNotice(msg);com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthStart",type:"google",value:"google",params:{flow:"google",label:"google"}})},onGoogleLoginReturn:function(gpuid,token,name,imgUrl){if(!gpuid){this.socialAuthPopupNotice("");this.setLoginReason(null,token||"");this.isLoginPending(false);if(APP.currentView!==this){APP.currentView.isCreatePending(false);APP.currentView.socialAuthPopupNotice(null);APP.currentView.createAccountReason(token|| 788"")}}else{this.isLoginPending(true);if(APP.currentView!==this)APP.currentView.isCreatePending(true);this.socialNetwork("google");this.socialLoginRegData={uid:gpuid,token:token,profileName:name,profileImgUrl:imgUrl};APP.modules.userModule.sociallogin(null,null,this.socialNetwork(),gpuid,token,this.socialLoginRegData)}},onFBLoginAction:function(){var self=this;var msg='If you do not see the Facebook login prompt, please check that you have disabled any pop-up blockers and <a onclick="APP.views.login.onFBLoginAction()" href="#">try again</a>.'; 789this.isLoginPending(true);this.hasLoginErrored(false);this.clearLoginReason();this.socialNetwork("facebook");this.socialAuthPopupNotice(msg);if(APP.currentView!==this){APP.currentView.isCreatePending(true);APP.currentView.socialAuthPopupNotice(msg);APP.currentView.createAccountReason("")}if(typeof FB==="undefined"&&this.fbApiCheckCount<this.fbApiCheckMax){this.fbApiCheck=setTimeout(function(){self.fbApiCheckCount++;self.onFBLoginAction()},500);return}if(typeof FB!=="undefined"){com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthStart", 790type:"facebook",value:"facebook",params:{flow:"facebook",label:"facebook"}});FB.login(function(r){self.clearLoginReason();if(r.authResponse)if(r.authResponse.userID)FB.api("/me",{},function(apiR){self.password("");if(apiR.email)self.emailAddress(apiR.email);self.socialLoginRegData={linkType:"register",uid:r.authResponse.userID,serviceToken:r.authResponse.accessToken,gender:"",birthyear:"",country:apiR.locale};APP.modules.userModule.sociallogin(null,null,"facebook",r.authResponse.userID,r.authResponse.accessToken, 791self.socialLoginRegData)});else{self.reset();com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthFail",type:"facebook",value:"permissions",params:{flow:"facebook",label:"permissions"}})}else{self.reset();com.slacker.util.behavior.Beacon.tagEvent({name:"socialAuthFail",type:"facebook",value:"abort",params:{flow:"facebook",label:"abort"}})}},{scope:"email"})}},onLoginSubmitAction:function(data,e){com.slacker.util.behavior.Beacon.tagEvent({name:"loginSubmit",type:this.flowName,value:this.submitText(), 792params:{flow:this.flowName,label:this.submitText()}});APP.modules.userModule.onUserLoginAttempt(this.emailAddress());if(this.canSubmitForm()){CONSOLE.log("info","User has submitted the login form.");if(this.isInSocialClaimState())if(this.isInSocialDuplicateEmailState())this.onMergeAccounts();else if(this.isInSocialEmailRequest())this.onEmailSubmitAction();else if(this.isInSocialMergeState())this.onMergeSubmitAction();else APP.modules.userModule.sociallogin(this.emailAddress(),this.password());else{this.isLoginPending(true); 793this.clearLoginReason();this.socialAuthPopupNotice("");this.validation.validate()}}},onEmailSubmitAction:function(){if(this.canSubmitForm()){CONSOLE.log("info","User has submitted an email.");this.isLoginPending(true);this.clearLoginReason();if(!this.socialLoginRegData)this.socialLoginRegData={linkType:"register"};this.socialLoginRegData.email=this.emailAddress();APP.modules.userModule.socialEmailSubmit(this.emailAddress(),this.socialNetwork(),this.socialLoginRegData.uid,this.socialLoginRegData.serviceToken, 794this.socialLoginRegData);
794this.isInSocialEmailRequest(false)}},onMergeSubmitAction:function(){APP.modules.userModule.socialMerge(this.emailAddress(),this.password(),this.socialNetwork());this.isInSocialMergeState(false)},onCreateAccountSubmit:function(data,e){this.onLoginSubmitAction(data,e)},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){CONSOLE.log("info","Login Form had issues. Making user correct them.");var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i]; 795errorsObject[error.id]=error}this.errors(errorsObject);this.isLoginPending(false)}else{CONSOLE.log("info","Login Form did not have issues");this.errors({});APP.modules.userModule.onUserLoginAttempt(this.emailAddress());if(this.isInSocialClaimState())if(this.isInSocialDuplicateEmailState())this.onMergeAccounts();else if(this.isInSocialEmailRequest())this.onEmailSubmitAction();else if(this.isInSocialMergeState())this.onMergeSubmitAction();else APP.modules.userModule.sociallogin(this.emailAddress(), 796this.password());else APP.modules.userModule.login(this.emailAddress(),this.password())}},onCancelButtonClick:function(bIsCreate){if(APP.isCostcoMemberLinkFlow()){APP.showCostcoExitDialog(true);return}var loginProvider=APP.currentView.loginProvider,doNotShowChooser=APP.currentView.doNotShowChooserOnBack();com.slacker.util.behavior.Beacon.tagEvent({name:"loginCancel",type:this.flowName,value:this.cancelText(),params:{flow:this.flowName,label:this.cancelText()}});if(APP.isTeslaUpgradeFlow||APP.isTeslaAcctMergeFlow)APP.modules.userModule.onUserLoginReturn(false, 797"tesla_init");else if(this.isInSocialMergeState()&&this.isInUpgradeFlow())this.onCollectEmail("ecleg-social-login-email-required",null,true);else if(loginProvider())if(doNotShowChooser)this.onCloseButtonClick(bIsCreate,true);else{loginProvider(null);this.clearLoginReason();this.socialAuthPopupNotice("");this.hasLoginErrored(false)}else this.onCloseButtonClick(bIsCreate,true)},onCloseButtonClick:function(bIsCreate,bIsNotUserClick){if(APP.isCostcoMemberLinkFlow()&&!bIsNotUserClick){APP.showCostcoExitDialog(true); 798return}if(typeof bIsCreate!=="boolean")bIsCreate=null;if(!bIsNotUserClick)com.slacker.util.behavior.Beacon.tagEvent({name:"loginClose",type:this.flowName,value:"close",params:{flow:this.flowName,label:"close"}});if(this.isInSocialEmailRequest()&&this.isInSocialClaimState()&&!this.isInUpgradeFlow())this.resetStates();else{if(this.isInUpgradeFlow())APP.afterLoginPath="deviceUpgrade";APP.modules.userModule.onUserLoginReturn(!(this.isInSocialDuplicateEmailState()||this.isInSocialMergeState()))}},onLogoClick:function(data, 799event){com.slacker.util.behavior.Beacon.tagEvent({name:"loginClose",type:this.flowName,value:"logo",params:{flow:this.flowName,label:"logo"}});var target=event.target;if(target&&!target.href)target=target.parentElement;APP.modules.userModule.onUserLoginCancel(target)},onProcessError:function(failedEvent,response,loginRequest){var detail={id:response.code,name:response.param,message:response.message,server:true};var loginReasonId="";var loginServiceName=response&&response.target?response.target.serviceName|| 800"slacker":"slacker";this.hasLoginErrored(true);this.isLoginPending(false);com.slacker.util.behavior.Beacon.tagEvent({name:"loginError",type:loginServiceName,value:failedEvent||"invalid",params:{flow:loginServiceName,label:failedEvent||"invalid"}});if(response&&response.target)switch(response.status){case 400:loginReasonId="social-merge-error-400";break;case 401:loginReasonId=null;if(failedEvent==UserEvent.MERGE_FAILED)APP.modules.userModule.token(APP.views.login.onMergeSubmitAction);else if(failedEvent== 801UserEvent.SOCIAL_LOGIN_FAILED&&response.target&&response.target.serviceName=="facebook");break;case 403:loginReasonId="login-error-403";break;case 405:loginReasonId="login-error-405";break;case 409:if(loginRequest&&!loginRequest.socialAttempt&&loginRequest.count===0)loginRequest.socialAttempt=true;this.onDuplicateEmail();break;case 422:loginReasonId="social-merge-error-422";break;case 429:loginReasonId="slackacct-error-429";break;case 500:this.hasLoginErrored(true);loginReasonId="social-merge-error-500"; 802break;default:loginReasonId="social-merge-error-500";break}else this.hasLoginErrored(true);if(this.hasLoginErrored()&&loginRequest&&loginRequest.socialAttempt){alert("error: Having trouble? Click <a onclick='showToast('forgotPassword')'");this.setLoginReason(null,'Having trouble? Click <a onclick="Toasts.getInstance().showToast(\'forgotPassword\')" href="javascript:void(0);">here</a> to reset your password.')}switch(failedEvent){case UserEvent.SOCIAL_LOGIN_FAILED:case UserEvent.LOGIN_FAILED:this.setLoginReason(loginReasonId); 803CONSOLE.log("debug","Login failed. Reason id: "+loginReasonId);break;case UserEvent.MERGE_FAILED:this.onMergeAccounts(loginReasonId);break;default:this.setLoginReason(null);break}},setLoginReason:function(loginReasonId,customMsg,object){var nag=loginReasonId?APP.modules.messagingModule.nagMessages[loginReasonId]:null;var msg=nag?nag.msg:customMsg?customMsg:null;this.loginReason(object||{msg:msg,nag:nag})},clearLoginReason:function(){this.loginReason({msg:"",nag:null})}};registerPackage("com.slacker.app.views.LoginView"); 804LoginView.prototype.__constants();com.slacker.app.views.LoginView=LoginView})()}); 805bjork("com.slacker.app.views.PairDeviceView",function(){(function(){var EventNotifier=require("com.slacker.event.EventNotifier");function PairDeviceView(){extendClass(this,new EventNotifier(this));this.__constants();this.__properties();this.__constructor.apply(this,arguments);this.__bindKoComputeds()}PairDeviceView.prototype={__constants:function(){},__properties:function(){this.id=ko.observable("pairDevice");this.pathName=ko.observable(this.id());this.visible=ko.observable(false);this.linkCode=ko.observable(""); 806this.emailAddress=ko.observable("");this.socialName=ko.observable("");this.errorMessage=ko.observable("");this.successMessage=ko.observable("");this.lockScroll=ko.observable("true");this.deviceName=ko.observable("");this.errors=ko.observable({});this.closeButtonPath=null;this.socialLoginState=null;this.localStorageKey=CONFIG.socialLoginLocalStorageKey;this.omniConfig={section:this.id(),linkTrackVars:["eVar2","eVar3","eVar4"]}},__constructor:function(){},__bindKoComputeds:function(){var self=this; 807this.codeOk=ko.computed(function(){var regex=/^([a-zA-Z0-9]+){5,12}$/;return self.linkCode().trim()&®ex.test(self.linkCode())});this.canSubmitForm=ko.computed(function(){return self.codeOk()})},focus:function(){this.visible(true);$("#linkcode")[0].focus()},reset:function(){this.errors({});this.errorMessage("");this.successMessage("")},hide:function(){this.visible(false);this.reset()},show:function(){this.reset();this.visible(true);this.focus()},init:function(){ko.applyBindings(this,$("#PairDeviceView")[0]); 808if(APP.modules.userModule)this.focus();BEACON.tagView({name:this.id()});document.title="LiveOne Device Pairing";return this},resume:function(){this.deviceName(APP.afterLoginPath);this.closeButtonPath=APP.afterLoginPath+"Success";var username=APP.modules.userModule.user.get("username");if(username)this.emailAddress(username);var name=APP.modules.userModule.user.get("name");if(name)this.socialName(name)},processResponse:function($wasSuccess,$message){if($wasSuccess){this.errorMessage("");this.successMessage($message)}else{this.errors({linkCode:true}); 809this.errorMessage($message);this.successMessage("")}},onCloseButtonClick:function(){com.slacker.util.behavior.Beacon.tagEvent({evt:55,type:this.id(),button:"close"});APP.modules.userModule.onUserLoginReturn(false,this.closeButtonPath)}
809,onSubmit:function(data,e){if(this.canSubmitForm())this.validation.validate()},onValidation:function($errors){var i,error;if($errors&&$errors.length>0){var errorsObject={};for(i=0;i<$errors.length;i++){error=$errors[i];errorsObject[error.id]=error}this.errors(errorsObject)}else{this.errors({}); 810APP.modules.userModule.pairDevice(this.deviceName(),this.linkCode().toUpperCase())}},onProcessResponse:function(e){if(e.linkCodeStatus=="ok")this.processResponse(true,this.getHumanReadableError(this.deviceName()+"-link-successful"));else this.processResponse(false,this.getHumanReadableError("link-code-"+e.linkCodeStatus))},getHumanReadableError:function(key){return APP.modules.messagingModule.nagMessages["pair-device"][key]||APP.modules.messagingModule.nagMessages["pair-device"]["link-code-error"]}}; 811registerPackage("com.slacker.app.views.PairDeviceView");PairDeviceView.prototype.__constants();com.slacker.app.views.PairDeviceView=PairDeviceView})()}); 812$(document).ready(function(){window.QUERY_OBJ=$.deparam(location.search.substring(1));window.CONSOLE=require("com.slacker.util.Console");window.BEACON=require("com.slacker.util.behavior.Beacon");window.CFG_MODULE=require("com.slacker.app.modules.ConfigurationModule");window.COOKIE_JAR=require("com.slacker.util.CookieJar");window.CONFIG=new CFG_MODULE;if(APP_ENV!=="prd"||QUERY_OBJ.debug){CONSOLE.setLogLevel("debug");CONSOLE.setScrollBack(3E3)}BEACON.partnerLogging=CONFIG.beaconConfig;BEACON.init(); 813window.APP=require("com.slacker.app.modules.AppModule");window.APP.init()});
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.