1(function(c){window.CTXS=window.CTXS||{};var e=0,a=[];CTXS.Category=function(b){if(!(this instanceof CTXS.Category))return new CTXS.Category(b);this.name=b;this.apps=[];this.index=e;a.push(this);if(this.name==CTXS.Category.CATEGORY_OTHER)this.pname=this.dname=null,this.fname="(Root)";else if(this.name==CTXS.Category.CATEGORY_FEATURED)this.fname=this.pname=this.dname=c.localization.string(this.name);else if(this.pname=this.name,b=this.name.indexOf("\\"),-1!=b){0===this.name.indexOf("\\")&&(this.name= 2this.pname=this.name.replace(/\\/,c.localization.string("BlankFolder")+"\\"));if(-1<this.name.indexOf("\\\\")){var d="\\"+c.localization.string("BlankFolder")+"\\";this.name=this.pname=this.name.replace(/\\\\/g,d).replace(/\\\\/g,d)}this.dname=this.name.substring(0,b);b=this.name.lastIndexOf("\\");this.fname=this.name.substring(b+1)}else this.fname=this.dname=this.pname;e++};CTXS.Category_ByIndex=function(b){return a[b]};CTXS.Category.prototype={sortApps:function(){var a=this;CTXS.ExtensionsHead.sortCategoryAppList(this.apps, 3this,function(){a.apps.sort(function(a,b){return a.name.localeCompare(b.name)})})},getDisplayName:function(){if(null==this.dname){var a=CTXS.Store.getCategorizedApps();this.pname=this.dname=null!=a.categories&&1<=a.categories.length?c.localization.string(CTXS.Category.CATEGORY_OTHER):c.localization.string(CTXS.Category.CATEGORY_ALLAPPS)}return this.dname},getDisplayPath:function(){null==this.pname&&this.getDisplayName();return this.pname},getDisplayFolderName:function(){return this.fname}};CTXS.Category.CATEGORY_FEATURED= 4"Featured";CTXS.Category.CATEGORY_UPDATED="UpdatedCat";CTXS.Category.CATEGORY_OTHER="Other";CTXS.Category.CATEGORY_ALLAPPS="AllApps"})(jQuery); 5(function(c){function e(a){var b=a.path;return b&&"\\"!=b?(a="\\"==b.charAt(0)?b.substring(1,b.length):b,"\\"==a[a.length-1]?a.substring(0,a.length-1):a):a.recommended?CTXS.Category.CATEGORY_FEATURED:CTXS.Category.CATEGORY_OTHER}window.CTXS=window.CTXS||{};CTXS.App=function(a,b){if(!(this instanceof CTXS.App))return new CTXS.App(a,b);c.extend(this,a);this.store=b;this.subscriptionstatus||(this.subscriptionstatus=CTXS.SUBSCRIPTION_STATUS.NOTSUBSCRIBED);this.iconid||(this.iconid=CTXS.getIconId(this.iconurl)); 6this.encodedName=CTXS.encodeHtmlForAttr(this.name);this.encodedDescription=CTXS.encodeHtmlForAttr(this.description);var d=CTXS.AppSearch.normalizeText((" "+(this.name||"")+" "+(this.description||"")+" "+(this.path||"")).toLowerCase());this.playsfiletypes&&c.each(this.playsfiletypes,function(){d+=" "+this.fileextensions.join(" ").toLowerCase()});this.tag=d;this.category=e(this);this.supportsSubscription=!!this.subscriptionurl||"PNA"==this.store.type;this.supportsStandardInstallation=!!this.mobileinstallurl; 7this.supportsItmsInstallation=!!this.mamdownloadurl;this.supportsIcaLaunch=-1!=c.inArray("ica30",this.clienttypes);this.isAddInProgress=this.isLaunchInProgress=!1;if(this.clienttypes)for(var g=0;g<this.clienttypes.length;g++)0===this.clienttypes[g].indexOf("application/")&&(this.ismobileapp=!0);if(c.isArray(this.subscriptionproperties)){for(var g={},f=0;f<this.subscriptionproperties.length;f++){var m=this.subscriptionproperties[f].name;if("position"!=m&&"dazzle:position"!=m){var h=this.subscriptionproperties[f].values; 8null!=h&&(g[m]=1==h.length?h[0]:1<h.length?h:!0)}}this.subscriptionproperties=g}};CTXS.App.prototype={getState:function(){var a=CTXS.Environment.treatAsAdded(this);return this.upgrade?CTXS.App.State.UPGRADEABLE:a?CTXS.App.State.ADDED:this.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.PENDING?CTXS.App.State.PENDING:this.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.APPROVED?CTXS.App.State.APPROVED:this.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.DENIED?CTXS.App.State.DENIED:this.requiresworkflow?CTXS.App.State.REQUESTABLE: 9CTXS.App.State.AVAILABLE},markAsAdded:function(){if(this.supportsStandardInstallation||this.supportsItmsInstallation)this.installed=!0;this.upgrade&&(this.upgraded=!0);this.isAddInProgress=this.upgrade=!1},markAsRemoved:function(){if(this.supportsStandardInstallation||this.supportsItmsInstallation)this.installed=!1},canOpen:function(){return 1!=this.requiresworkflow||this.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED},canBeRemoved:function(){var a=this.getState();return a!=CTXS.App.State.ADDED&& 10a!=CTXS.App.State.UPGRADEABLE||!this.supportsSubscription||this.mandatory?!1:!0}
10,canBeRequested:function(){return this.getState()==CTXS.App.State.REQUESTABLE&&this.supportsSubscription&&!this.mandatory?!0:!1},canCancelRequest:function(){var a=this.getState();return a==CTXS.App.State.PENDING||a==CTXS.App.State.DENIED?!0:!1},canBeAdded:function(){var a=this.getState();return a!=CTXS.App.State.AVAILABLE&&a!=CTXS.App.State.APPROVED&&a!=CTXS.App.State.UPGRADEABLE||!this.supportsSubscription||this.mandatory? 11!1:!0}};CTXS.App.State={AVAILABLE:"available",PENDING:"pending",APPROVED:"approved",DENIED:"denied",ADDED:"added",UPGRADEABLE:"upgradeable",REQUESTABLE:"requestable"}})(jQuery);var html5LaunchData={}; 12(function(c){function e(a){return a==CTXS.LaunchMethod.HTML5&&("true"==CTXS.Config.getConfigValue("pluginAssistant.html5.singleTabLaunch")||CTXS.AppShortcuts.isAppShortcutLaunch())}function a(a){CTXS.ResourcesClient.preLaunch(a,function(b){var d=b.url;if("success"==b.status&&d){if(b=CTXS.getCSRFToken())d=CTXS.updateQueryString(d,"CsrfToken",b),d=CTXS.updateQueryString(d,"IsUsingHttps",CTXS.isUsingHttps());window.open(d);h(a,CTXS.LAUNCH_SUCCESS)}else h(a,CTXS.LAUNCH_FAILURE)},function(){h(a,CTXS.LAUNCH_FAILURE)})} 13function b(a,c){function f(l,g,e){if(e.getResponseHeader(CTXS.CHALLENGE_HEADER))CTXS.trace("prepareLaunch: challenged"),CTXS.Authentication.isUserAuthenticated()&&(m(a,"Unauthorized",!1,c),CTXS.Events.publish(CTXS.Events.resources.challenged));else switch(l.status){case "success":a.delayedLaunchInProgress=!1;g={};CTXS.Device.isIE()&&CTXS.ClientManager.usingNativeClientInInternetZone()?(h(a,CTXS.LAUNCH_SUCCESS),h(a,CTXS.LAUNCH_READY),a.isLaunchReady=!0):(CTXS.ClientManager.getLaunchMethod()==CTXS.LaunchMethod.PROTOCOL_HANDLER&& 14(g.ticket=l.fileFetchTicket,g.staTicket=l.fileFetchStaTicket,g.fileFetchUrl=l.fileFetchUrl,g.serverProtocolVersion=l.serverProtocolVersion),d(a,c,g));break;case "retry":a.delayedLaunchInProgress=!0;setTimeout(function(){b(a,c)},1E3*l.pollTimeout);break;default:CTXS.trace("prepareLaunch: unexpected response from launchStatus page"),m(a,l.errorId,l.suggestRestart,c)}}function l(b,h){CTXS.trace("errorHandler: failed to download launchStatus page, HTTP status: "+b.status);b.getResponseHeader(CTXS.CHALLENGE_HEADER)&& 15(CTXS.trace("prepareLaunch: challenged"),CTXS.Authentication.isUserAuthenticated()&&(m(a,"Unauthorized",!1,c),CTXS.Events.publish(CTXS.Events.resources.challenged)))}if(CTXS.ResourcesClient){a.launchstatusurl||(a.launchstatusurl=a.launchurl.replace("/LaunchIca/","/GetLaunchStatus/").replace("/Launch/","/GetLaunchStatus/"));var g=CTXS.ClientManager.getLaunchMethod()==CTXS.LaunchMethod.PROTOCOL_HANDLER;CTXS.ResourcesClient.getLaunchStatus(a,g,f,l)}}function d(a,b,d){var m=CTXS.ClientManager.getLaunchMethod(), 16r=1E3*CTXS.Config.getConfigValue("userInterface.multiClickTimeout");setTimeout(function(){a.delayedLaunchInProgress||m==CTXS.LaunchMethod.ICA_FILE&&!a.icaFileLaunchInProgress||(a.icaFileLaunchInProgress=!1,h(a,CTXS.LAUNCH_SUCCESS))},r);var r=a.store.baseUrl+a.launchurl,t=CTXS.getCSRFToken(),u=(new Date).getTime();null!=t&&(r=CTXS.updateQueryString(r,"CsrfToken",t),r=CTXS.updateQueryString(r,"IsUsingHttps",CTXS.isUsingHttps()));CTXS.Events.publish(CTXS.Events.session.refreshed);switch(m){case CTXS.LaunchMethod.HTML5:d= 17CTXS.primaryStore.baseUrl+CTXS.Config.getConfigValue("pluginAssistant.html5.launchURL")+"?launchid="+u;var n=c.globalization.currentCulture().name,z=null;if(!CTXS.Device.isCitrixChromeApp())if(e(m)){d=d+"#launchurl="+encodeURIComponent(a.store.baseUrl+a.launchurl)+"&iconurl="+encodeURIComponent(CTXS.IconsLoader.getIcon(a).url)+"&clientpreferences="+encodeURIComponent(CTXS.Config.getConfigValue("pluginAssistant.html5.preferences"))+"&resourcename="+encodeURIComponent(a.displayNameDesktopTitle||a.name)+ 18"&resourcetype="+(a.isdesktop?"desktop":"app")+"&UILocale="+n;window.name=CTXS.getCSRFToken();window.location=d;break}else z=window.open(d);CTXS.ResourcesClient.launchResource(a,!0,function(d){CTXS.trace("success handler for HTML5 launch, ajax launch data="+d);var h=l(d);h.IconUrl=CTXS.IconsLoader.getIcon(a).url;h.clientPreferences=CTXS.Config.getConfigValue("pluginAssistant.html5.preferences");h.UILocale=n;var c=new Image;c.onload=function(){var d=document.createElement("canvas"),f=d.getContext("2d"); 19d.height=c.height;d.width=c.width;f.drawImage(c,0,0);d=d.toDataURL();h.IconUrl=d;html5LaunchData[u]=h;CTXS.Device.isCitrixChromeApp()?CTXS.Html5Client.postICADataToChromeApp(h,a,b):(z.iconUrl=CTXS.IconsLoader.getIcon(a).url,z.icaDwldComplete=!0)};c.src=CTXS.IconsLoader.getIcon(a).url},z,b);break;case CTXS.LaunchMethod.ICO:CTXS.Application.$hiddenFrame.append('<object id="icaobj_'+u+'" classid="clsid:238f6f83-b8b4-11cf-8771-00a024541ee3"><p>'+c.localization.string("ApplicationLaunchPlugin")+'</p><param name="Launch" value= "true"><param name="Start" value= "true"><param name="IPCLaunch" value="false">
19<param name="ICAfile" value="'+ 20r+'"></object>');break;case CTXS.LaunchMethod.ICA_FILE:a.displayNameDesktopTitle&&(r=CTXS.updateQueryString(r,"displayNameDesktopTitle",encodeURIComponent(a.displayNameDesktopTitle)));CTXS.Environment.launchViaIcaUrl(a,r,g)||(a.icaFileLaunchInProgress=!0,d="launchframe_"+u,CTXS.Application.$hiddenFrame.append('<iframe id="'+d+'" name="'+d+'"></iframe>'),c("#"+d).on("load",function(){var b=c(this).contents().text();b&&f(b,a)}),r=CTXS.updateQueryString(r,"launchId",u),c("#"+d).attr("src",r));break; 21case CTXS.LaunchMethod.PROTOCOL_HANDLER:var t=0==d.fileFetchUrl.indexOf("https")?"https":"http",r=d.fileFetchUrl.replace(/^https?:/,"receiver:"),G="";d.staTicket&&(G="&staTicket={0}".format(encodeURIComponent(d.staTicket)));d="action=launch&serverProtocolVersion={0}&transport={1}&ticket={2}{3}".format(encodeURIComponent(d.serverProtocolVersion),encodeURIComponent(t),encodeURIComponent(d.ticket),G);r=r+"/"+CTXS.urlSafeBase64Encode(d);CTXS.trace("Protocol handler parameter block: "+d);CTXS.trace("Invoking protocol handler with url: "+ 22r);c("#protocolhandler-invoker").attr("src",r)}}function g(a,b,d){"unauthorized"==b?CTXS.Events.publish(CTXS.Events.resources.challenged):"failure"==b?m(a,null,null):"json"==b&&f(d,a)}function f(a,d){var f=!1,l=null,g=null,e=!1,u="failure",n;if(n=c.parseJSON(a))f=n.unauthorized,u=n.status,g=n.pollTimeout,l=n.errorId,e=n.suggestRestart;f?CTXS.Events.publish(CTXS.Events.resources.challenged):"failure"==u?m(d,l,e):"retry"==u&&(f=1E3*parseInt(g,10),d.delayedLaunchInProgress=!0,h(d,CTXS.LAUNCH_STARTING), 23setTimeout(function(){b(d)},f))}function m(a,b,d,c){a.delayedLaunchInProgress=!1;a.icaFileLaunchInProgress=!1;d={errorId:b,suggestRestart:d,chromeAppOptions:c};CTXS.Device.isCitrixChromeApp()&&c&&CTXS.Html5Client.postICADataErrorToChromeApp(b,a,c.uniqueIdentifier);h(a,CTXS.LAUNCH_FAILURE,d)}function h(a,b,d){CTXS.Events.publish(CTXS.Events.resources.launchStatus,{status:b,res:a,details:d})}function l(a){a=a.split(/\r?\n/);for(var b={},d=0;d<a.length;d++){var h=a[d].split("=",2);2===h.length&&(b[h[0]]= 24h[1]);if("LaunchReference"===h[0]){var c=a[d].indexOf("="),c=a[d].substr(c+1);b[h[0]]=c}}return b}window.CTXS=c.extend(window.CTXS||{},{LAUNCH_STARTING:0,LAUNCH_SUCCESS:1,LAUNCH_READY:2,LAUNCH_FAILURE:3});CTXS.Events.subscribe(CTXS.Events.resources.launchStatus,function(a,b){if(b.status==CTXS.LAUNCH_FAILURE){var d,h=b.res.displayNameDesktopTitle||b.res.name;d=b.res.isdesktop?b.details&&"true"==b.details.suggestRestart&&b.res.poweroffurl?"CannotStartDesktopSuggestRestart":b.details&&"WorkstationInMaintenance"== 25b.details.errorId?"DesktopInMaintenance":"CannotStartDesktop":b.res.issession?"SessionsListFailure":b.details&&"WorkstationInMaintenance"==b.details.errorId?"AppInMaintenance":"CannotStartApp";b.details&&b.details.chromeAppOptions||CTXS.Environment.showDialog({messageText:c.localization.string(d,h),id:d,resource:b.res})}});CTXS.canBrowserLaunchDocument=function(){return!0};CTXS.launchResource=function(c,f,l){h(c,CTXS.LAUNCH_STARTING);c.isLaunchReady=!1;if(c.content&&CTXS.canBrowserLaunchDocument(c.content))c.prelaunchurl? 26a(c):(CTXS.Environment.openUrl(c.content),h(c,CTXS.LAUNCH_SUCCESS));else{CTXS.trace("_launch: launchurl="+c.launchurl);var g=CTXS.ClientManager.getLaunchMethod();CTXS.Device.isIE()&&g==CTXS.LaunchMethod.ICA_FILE&&!f||g==CTXS.LaunchMethod.HTML5&&!e(g)&&!CTXS.Device.isCitrixChromeApp()?d(c):b(c,l)}};CTXS.Events.subscribe(CTXS.Events.resources.powerOffStatus,function(a,b){b.status==CTXS.POWEROFF_SUCCESS?CTXS.Store.launchApp(b.desktop):b.status==CTXS.POWEROFF_FAILURE&&"operation-in-progress"!=b.errorId&& 27("no-machine"==b.errorId?CTXS.Store.launchApp(b.desktop):CTXS.Environment.showDialog({messageText:c.localization.string("in-maintenance-mode"==b.errorId?"DesktopInMaintenance":"CannotRestartDesktop",b.desktop.displayNameDesktopTitle),id:"PowerOffError"}))});CTXS.promptForRestartDesktop=function(a){CTXS.Environment.showDialog({messageTitle:c.localization.string("DesktopRestartWarningTitle").format(a.displayNameDesktopTitle),messageText:c.localization.string("DesktopRestartWarningText"),buttonLabel:c.localization.string("Restart"), 28buttonAction:function(){CTXS.restartDesktop(a)},cancelButtonLabel:c.localization.string("Cancel"),cancelButtonAction:c.noop,id:"DesktopRestart"})};CTXS.restartDesktop=function(a){var b=a.poweroffurl;b&&(CTXS.Events.publish(CTXS.Events.resources.powerOffStatus,{status:CTXS.POWEROFF_STARTING,desktop:a}),CTXS.ResourcesClient.powerOffDesktop(b,a))};c.prepareLaunch=b;c.performLaunch=d;CTXS.setLaunchStatus=h})(jQuery); 29(function(c){function e(a,b){if(a){var d=c.inArray(b,a);-1!=d&&a.splice(d,1)}}function a(a,d,k){var l=0,g=0;k=k?{}:I.categories;CTXS.ExtensionsHead.noteStartLoadApps(d);CTXS.trace("store-load Apps. length="+a.length);CTXS.trace("highestknown="+P);for(var e=0,m=a.length;e<m;e++){var p=new CTXS.App(a[e],d);p.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED&&p.position&&0<CTXS.OrderMarker.compare(p.position,P)&&(P=p.position);if(v(p)){p.shortid=aa++;p.recommended&&(p.keywords||(p.keywords=[]), 30p.keywords.push("Featured"));CTXS.ExtensionsHead.noteApp(p);var t=p,r=k,u=r[t.category];u||(u=new CTXS.Category(t.category),r[t.category]=u);t.isdesktop||u.apps.push(t);4<=p.rating&&V.push(p);p.recommended&&K.push(p);h(p);Q[p.shortid]=p;p.getState()==CTXS.App.State.UPGRADEABLE&&w.push(p);p.isdesktop?x.push(p):D.push(p);p.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.APPROVED?S.push(p):p.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.DENIED&&B.push(p);p.mandatory&&l++;p.subscriptionurl||g++}}a=0;d=[]; 31for(a=0;a<y.length;a++)null!=y[a].apps&&(CTXS.ExtensionsHead.sortBundleAppList(y[a].apps,y[a],f(y[a].apps)),d.push(y[a]));y=d;I=q(k);b(D);b(x);k=x;a=[];for(d=0;d<k.length;d++)void 0===a[k[d].name]?a[k[d].name]=1:a[k[d].name]++;for(d=0;d<k.length;d++)k[d].hasParenthesis=1<a[k[d].name]?!0:!1;for(d=k.length-1;0<=d;d--)k[d].displayNameDesktopTitle=k[d].hasParenthesis?k[d].name+" ("+a[k[d].name]--+")":k[d].name;k=D.length+x.length;Z=g===k||l===k?M=!1:M=!0;O=D.slice();CTXS.ExtensionsHead.filterAllAppsDisplay(O, 32c.noop);CTXS.ExtensionsHead.filterDesktops(x,f(x))}function b(a){a.sort(function(a,b){return null==a?null==b?0:1:null==b?-1:a.name.localeCompare(b.name)});for(var b=a.length;0<b&&null==a[b-1];)b--;b!=a.length&&a.splice(b,a.length-b)}function d(a){var b=null==a.apps?0:a.apps.length,h;for(h in a.subcategories)b+=d(a.subcategories[h]);return a.count=b}function g(a,b){return a.name.localeCompare(b.name)}function f(a){return function(){a.sort(g)}}
32function m(a,b){var d=jQuery.grep(b.apps,function(b){return b.id== 33a.id});return d&&0==d.length?!1:!0}function h(a){if(y){var b;for(b=0;b<y.length;b++){var d=y[b],h=!1;if(d.categories)h=CTXS.appMatchesBundleByCategory(a,d);else if(d.keywords){var h=d,c=a,k=!1;if(null!=c.keywords)for(var f=0;f<h.keywords.length;f++){for(var l=h.keywords[f],g=0;g<c.keywords.length;g++){var e=c.keywords[g];if(l.toUpperCase()==e.toUpperCase()){k=!0;break}}if(k)break}h=k}else if(d.appnames){h=d;c=" "+a.name+" ";k=!1;for(f=0;f<h.appnames.length;f++)if(-1!=c.toUpperCase().indexOf(" "+h.appnames[f].toUpperCase()+ 34" ")){k=!0;break}h=k}h&&(null==d.apps&&(d.apps=[]),m(a,d)||d.apps.push(a))}}}function l(a){if(y){var b;for(b=0;b<y.length;b++)e(y[b].apps,a)}}function k(a){var b=I.categoryMap[a.category];b&&e(b.apps,a);e(I.uncategorized,a);e(I.featured,a)}function q(a){var b={featured:null,uncategorized:null,categories:[],categoryCount:0,categoryMap:{},categoryIdMap:{}},d;for(d in a)if(a.hasOwnProperty(d)){var h=a[d];0!=h.apps.length&&(h.sortApps(),h.name==CTXS.Category.CATEGORY_FEATURED?b.featured=h:h.name==CTXS.Category.CATEGORY_OTHER? 35b.uncategorized=h:(b.categories.push(h),b.categoryMap[d]=h,b.categoryIdMap[h.index]=h),b.categoryCount++)}b.categories.sort(function(a,b){return a.name.localeCompare(b.name)});return b}function v(a){if(CTXS.ExtensionsHead.excludeApp(a))return!1;if(CTXS.ExtensionsHead.includeApp(a))return!0;if(!CTXS.Environment.includeAppInStore(a))return!1;var b=!L&&a.requiresworkflow&&a.subscriptionstatus!=CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED,d=a.isdesktop&&!X||!a.isdesktop&&!F;return!(a.disabled||a.notsupport||b|| 36d)}function p(){if(!M)return[];var a=[];r(D,a);r(x,a);CTXS.ExtensionsHead.sortMyAppList(a,function(){a.sort(function(a,b){return CTXS.OrderMarker.compare(a.position,b.position)})});return a}function r(a,b){for(var d=0;d<a.length;d++){var h=a[d],c=!1;if(CTXS.ExtensionsHead.excludeFromMyApps(h))c=!1;else if(CTXS.ExtensionsHead.includeInMyApps(h))c=!0;else{var k=h.getState();if(k==CTXS.App.State.ADDED||k==CTXS.App.State.UPGRADEABLE||k==CTXS.App.State.PENDING||k==CTXS.App.State.APPROVED)c=!0}c&&(h.position= 37h.position||CTXS.OrderMarker.zero,b.push(h))}}function t(){return P=CTXS.OrderMarker.getNext(P)}function u(a){return a.supportsSubscription&&(a.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.NOTSUBSCRIBED||a.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.APPROVED)}function n(a){if(a.canBeAdded()||a.canBeRequested()){var b=u(a),d=function(){a.isAddInProgress=!0;CTXS.Events.publish(CTXS.Events.store.appAddStarting,a);b?(z(a),CTXS.ExtensionsHead.postSubscribe(a)):(J(a),CTXS.ExtensionsHead.postInstall(a))}; 38b?CTXS.ExtensionsHead.doSubscribe(a,d):CTXS.ExtensionsHead.doInstall(a,d);CTXS.Events.publish(CTXS.Events.store.appStatusChange,a)}}function z(a){a.position||(a.position=t());CTXS.Environment.goOnline(a.store,function(){CTXS.Environment.performSubscribe(a,function(b){G(a,b);a.modified=!0;CTXS.Environment.updateOfflineCache(a.store)})},function(){G(a,CTXS.SUBSCRIPTION_FAILURE)})}function G(a,b){if(b==CTXS.SUBSCRIPTION_SUCCESS)J(a);else if(b==CTXS.SUBSCRIPTION_FAILURE)a.isAddInProgress=!1,CTXS.Events.publish(CTXS.Events.store.appAddFailure, 39a);else if(b==CTXS.SUBSCRIPTION_PENDING||b==CTXS.SUBSCRIPTION_SILENTFAILURE)a.isAddInProgress=!1,CTXS.Events.publish(CTXS.Events.store.appStatusChange,a)}function J(a){CTXS.Environment.installApp(a,function(b){b==CTXS.SUCCESS?(a.markAsAdded(),CTXS.Events.publish(CTXS.Events.store.appStatusChange,a)):b==CTXS.FAILURE?(a.isAddInProgress=!1,CTXS.Events.publish(CTXS.Events.store.appAddFailure,a)):(a.isAddInProgress=!1,CTXS.Events.publish(CTXS.Events.store.appStatusChange,a))})}function A(a){a.getState()== 40CTXS.App.State.DENIED&&CTXS.Environment.goOnline(a.store,function(){a.isRemoveInProgress=!0;CTXS.Environment.performUnsubscribe(a,function(b){E(a,b);a.modified=!0;CTXS.Environment.updateOfflineCache(a.store)})},function(){E(a,CTXS.SUBSCRIPTION_FAILURE)})}function E(a,b){a.isRemoveInProgress=!1;b==CTXS.SUBSCRIPTION_FAILURE?CTXS.Events.publish(CTXS.Events.store.appRevertFailure,a):CTXS.Events.publish(CTXS.Events.store.appStatusChange,a)}function C(a,b){CTXS.ExtensionsHead.doLaunch(a,function(){a.isLaunchInProgress= 41!0;CTXS.Environment.launchApp(a,b)})}function T(a,b){var d=b.res;b.status!=CTXS.LAUNCH_STARTING&&(d.isLaunchInProgress=!1);CTXS.ExtensionsHead.postLaunch(d,b.status)}function H(a){CTXS.trace("CTXS.Store.setUserDisplayName: called with display name: "+a);CTXS.UserInfo.setName(a);CTXS.Events.publish(CTXS.Events.resources.userDisplayNameSupplied,a)}var L=!1,P=CTXS.OrderMarker.zero,F=!0,X=!0,D=[],O=null,I,S=[],Y="default",B=[],w=[],y=[],K=[],N=[],V=[],x=[],Q={},aa=1E3,Z=!0,M=!0,W;window.CTXS=window.CTXS|| 42{};CTXS.Store={initialise:function(b,d){F="true"==CTXS.Config.getConfigValue("userInterface.uiViews.showAppsView");X="true"==CTXS.Config.getConfigValue("userInterface.uiViews.showDesktopsView");F||X||(X=F=!0);CTXS.Events.subscribe(CTXS.Events.resources.launchStatus,T);W=b.isUnauthenticatedStore;L=b.isSubscriptionEnabled;null!=b.view&&(Y=b.view);b.bundles&&(N=b.bundles);y=N;a(b.resources,d,!0);var h=this;CTXS.Environment.getInstalledApps(d,function(){CTXS.Events.publish(CTXS.Events.store.initialised, 43h)})},addSecondaryStore:function(b,d){L|=d.subscriptionsEnabled;y=N;a(d.resources,b,!1);CTXS.Environment.getInstalledApps(b,function(){CTXS.Controllers.ViewController.changeView(CTXS.currentView)})},getResourceById:function(a){var b;b=null;for(var d=0;d<D.length;d++){var h=D[d];h.id==a&&(b=h)}if(null!==b)return b;a:{for(b=0;b<x.length;b++)if(d=x[b],d.id===a){a=d;break a}a=null}return a},getAllApps:function(){return D},getAllAppsForDisplay:function(){return O?O:D},getCategorizedApps:function(){return I}, 44getAppHierachy:function(){var a=I.root;if(null!=a)return a;var a=I.uncategorized?I.uncategorized:new CTXS.Category(CTXS.Category.CATEGORY_OTHER),b=I.categories,h;for(h in b)if(b.hasOwnProperty(h)&&h!=CTXS.Category.CATEGORY_OTHER)for(var c=b[h],k=c.getDisplayPath(),f=null,l=a;;){l.subcategories||(l.subcategories={});var g=k.indexOf("\\");if(-1==g){l.subcategories[k]=c;c.parentCategory=l;break}var e=k.substring(0,g),k=k.substring(g+1),g=l.subcategories[e];null==g&&(f=null==f?e:f+"\\"+e,g=new CTXS.Category(f), 45l.subcategories[e]=g,g.parentCategory=l);l=g}d(a);return I.root=a},getWorkflowApprovedApps:function(){return S},getWorkflowDeniedApps:function(){return B},getUpgradeApps:function(){return w},getMyApps:p,getApplicationBundles:function(){return y},getTopRated:function(){return V},getAppByShortId:function(a){return Q[a]},isSubscriptionEnabled:function(){return L},isSubscriptionRequired:u,addApp:n,removeApp:function(a){CTXS.ExtensionsHead.doRemove(a,function(){a.isRemoveInProgress=!0;CTXS.Environment.removeApp(a, 46function(b){E(a,b);CTXS.ExtensionsHead.postRemove(a,b)})});CTXS.Events.publish(CTXS.Events.store.appStatusChange,a)},revertApp:A,addApprovedApps:function(){for(var a=0,b=S.length;a<b;a++)n(S[a]);S=[]},revertDeniedApps:function(){for(var a=0,b=B.length;a<b;a++)A(B[a]);B=[]},launchApp:function(a,b){a.isLaunchInProgress||(a.assigndesktopurl&&!CTXS.ClientManager.usingNativeClientInInternetZone()?(CTXS.Events.publish(CTXS.Events.resources.launchStatus,{status:CTXS.LAUNCH_STARTING,res:a}),CTXS.ResourcesClient.assignDesktop(a, 47function(){CTXS.Events.publish(CTXS.Events.resources.desktopAssigned,a);C(a,b)},function(){C(a,b)})):C(a,b))},searchForApps:function(a){return CTXS.AppSearch.searchForApps(a,D)},searchForDesktops:function(a){return CTXS.AppSearch.searchForApps(a,x)},searchForMyApps:function(a){return CTXS.AppSearch.searchForApps(a,p())},getResourceByName:function(a){var b;a:{for(b=0;b<D.length;b++){var d=D[b];if(d.name===a){b=d;break a}}b=null}if(null!==b)return b;a:{for(b=0;b<x.length;b++)if(d=x[b],d.name===a){a= 48d;break a}a=null}return a},getView:function(){return Y},getDesktops:function(){return x},getAppInfo:function(a,b,d){CTXS.ResourcesClient.getAppInfo(a,function(d){d&&(a.info=d);b()},d)},updateAppPosition:function(a,b,d,h){var c=Q[a],k=c.position;a=Q[b];d=Q[d];a=a?a.position:CTXS.OrderMarker.zero;d=d?d.position:-1;c.position=-1===d?t():CTXS.OrderMarker.getBetween(a,d);CTXS.Environment.performUpdatePosition(c,function(a){a==CTXS.SUBSCRIPTION_FAILURE||a==CTXS.SUBSCRIPTION_SILENTFAILURE?c.position=k:(c.modified= 49!0,CTXS.Environment.updateOfflineCache(c.store));h(a)})},getRecommendedApps:function(){return K},refreshStore:function(b,d,c){var f;CTXS.trace("refresh");L|=d.subscriptionsEnabled;I.root=null;if(b==CTXS.primaryStore&&d.bundles&&(N=d.bundles))for(f=0;f<D.length;f++)D[f].store!=b&&h(D[f]);y=N;for(f=0;f<D.length;f++)if(D[f]&&D[f].store==b){var g=D[f];D[f]=null;delete Q[g.shortid];k(g);l(g);e(V,g);e(K,g);e(S,g);e(B,g)}for(f=0;f<x.length;f++)x[f]&&x[f].store==b&&(g=x[f],x[f]=null,delete Q[g.shortid]); 50a(d.resources,b,!1);CTXS.Environment.getInstalledApps(b,function(){CTXS.trace("post refresh");CTXS.Controllers.ViewController.changeView(CTXS.currentView);c()})},canReorderApps:function(){return Z},isSelfServiceEnabled:function(){return M},isUnauthenticatedStore:function(){return W},loadUserDisplayName:function(){W||CTXS.Environment.getUserDisplayName(H)},setUserDisplayName:H,isFolderViewEnabled:function(){return"true"===CTXS.Config.getConfigValue("userInterface.enableAppsFolderView")},canAutoLaunchSingleDesktop:function(){var a= 51"true"==CTXS.Config.getConfigValue("userInterface.autoLaunchDesktop"),b=!CTXS.ClientManager.usingNativeClientInInternetZone(),d=1===x.length&&!x[0].disabled,h=CTXS.AppShortcuts.isAppShortcutLaunch(),c=CTXS.ClientManager.isPassThroughSession();return a&&b&&d&&!c&&!h},requiresReceiver:function(){var a=function(a){return a.supportsIcaLaunch},b=0<c.grep(D,a).length,a=0<c.grep(x,a).length;return b||a}}})(jQuery); 52(function(c){function e(){CTXS.Events.subscribe(CTXS.Events.ui.getAppInfoDetail
52s,a);CTXS.Events.subscribe(CTXS.Events.ui.showAppDetails,b);CTXS.Events.subscribe(CTXS.Events.store.appStatusChange,k);CTXS.Events.subscribe(CTXS.Events.store.appAddFailure,k);CTXS.Events.subscribe(CTXS.Events.store.appRevertFailure,k);CTXS.Events.subscribe(CTXS.Events.store.appAddStarting,m);CTXS.Events.subscribe(CTXS.Events.resources.launchStatus,h);CTXS.Events.subscribe(CTXS.Events.resources.powerOffStatus,l);CTXS.Events.subscribe(CTXS.Events.resources.desktopAssigned, 53function(a,b){v.setDesktopHostName(b.desktophostname)})}function a(a,b){var d=function(){CTXS.Events.publish(CTXS.Events.ui.hideAppDetailsLoadingSpinner,b);CTXS.Events.publish(CTXS.Events.ui.showAppDetails,b)},h=function(){CTXS.Events.publish(CTXS.Events.ui.hideAppDetailsLoadingSpinner,b);CTXS.Environment.showDialog({messageText:c.localization.string("AppDetailsUnavailable"),id:"AppDetailsUnavailable",resource:b})};if(b.appinfourl){if(window.fakeAppInfo){var k=jQuery.grep(window.fakeAppInfo,function(a){return a.id== 54b.id});k&&0<k.length&&(b.info=k[0])}b.info?d():(CTXS.Events.publish(CTXS.Events.ui.showAppDetailsLoadingSpinner,b),CTXS.Store.getAppInfo(b,d,h))}else d()}function b(a,b){if(b)p=b.id;else if(b=CTXS.Store.getResourceById(p),!b){CTXS.trace("_showAppInfo app is null and cannot find last app, reverting to default View.");CTXS.Controllers.MasterController.revertToDefaultView();return}CTXS.ExtensionsHead.beforeShowAppInfo(b);v.showAppInfo(b)}function d(a){q.launchApp(a)}function g(a){if(a.canBeAdded()|| 55a.canBeRequested())CTXS.Controllers.ViewController.redrawMyAppsOnBack(),v.showAppSpinner(),q.addApp(a)}function f(a){CTXS.Controllers.ViewController.redrawMyAppsOnBack();v.showAppSpinner();q.removeApp(a)}function m(){v.showAppSpinner()}function h(a,b){switch(b.status){case CTXS.LAUNCH_STARTING:v.hideAppReadyToLaunchUI();v.showAppSpinner();break;case CTXS.LAUNCH_SUCCESS:case CTXS.LAUNCH_FAILURE:v.hideAppSpinner();break;case CTXS.LAUNCH_READY:v.hideAppSpinner(),v.showAppReadyToLaunchUI()}}function l(a, 56b){b.status==CTXS.POWEROFF_STARTING?v.showAppSpinner():b.status==CTXS.POWEROFF_FAILURE&&v.hideAppSpinner()}function k(a,b){v.displayButtons(b);b.isAddInProgress||b.isLaunchInProgress||b.isRemoveInProgress||v.hideAppSpinner()}var q,v,p=null;window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.AppInfoController={initialise:function(a,b,h){q=b;e();h.find("#appInfoBack").click(function(a){a.preventDefault();CTXS.Controllers.ViewController.revertView()});v=new CTXS.Widgets.AppInfoWidget(a, 57CTXS.UI.useSmallUILayout(),{onClickOpen:d,onClickAdd:g,onClickRemove:f,onClickRestart:CTXS.promptForRestartDesktop})},resize:function(){v&&v.resize()}}})(jQuery); 58(function(c){var e={onClickOpen:function(a){},onClickAdd:function(a){},onClickRemove:function(a){},onClickRestart:function(a){}};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.AppInfoWidget=function(a,b,d){this.options=c.extend({},e,d);this.initialised=!1;this.$appInfoPage=a;this.$headerPane=this.$appInfoPage.find(".appInfoHeader");this.$actionButtons=this.$appInfoPage.find(".appInfoActions");this.$mainPane=this.$appInfoPage.find(".appInfoMain");this.$appName=this.$headerPane.find(".appInfoName"); 59this.$appCategoriesOrHostName=this.$headerPane.find(".appInfoCategoriesOrHostName");this.$appIcon=this.$headerPane.find(".appInfoIcon");this.$fullDesc=this.$mainPane.find(".full.app-description");this.$trunDesc=this.$mainPane.find(".truncated.app-description");this.phoneView=b;this.$socialDataContainer=this.$mainPane.find(".appInfoSocialData");this.$appOverview=this.$socialDataContainer.find(".appInfoOverviewTab");this.$tabHeader=this.$socialDataContainer.find(".tabHeader");this.tabHeaderPosition= 60this.$tabHeader.position().top;this.stickyTabWidget=new CTXS.Widgets.StickyTabWidget(this.$socialDataContainer,this.$tabHeader,"theme-highlight-color");this.appFaqWidget=new CTXS.Widgets.AppFaqWidget(this.$appOverview.find(".appInfoFaqDetail"));this.$openBtn=this.$actionButtons.find("#appInfoOpenBtn");this.$addBtn=this.$actionButtons.find("#appInfoAddButton");this.$removeBtn=this.$actionButtons.find("#appInfoRemoveBtn");this.$requestBtn=this.$actionButtons.find("#appInfoRequestButton");this.$cancelBtn= 61this.$actionButtons.find("#appInfoCancelRequestButton");this.$restartBtn=this.$actionButtons.find("#appInfoRestartBtn");this.$iconOverlay=this.$headerPane.find(".storeapp-loading-overlay");this.$readyOverlay=this.$headerPane.find(".storeapp-ready-overlay");this.$spinner=this.$iconOverlay.find(".storeapp-loading-spinner");this.animatedSpinner=new CTXS.AnimatedSpinner;this.appNameAvailableWidth=-1;this.appName="";this.preserveNumeration=!1;this.$ruler=c(".appinfo-ruler-container");this._bindToUIEvents(); 62this.initialised=!0};CTXS.Widgets.AppInfoWidget.prototype={displayButtons:function(a){var b=this.$addBtn.is(":visible"),d=this.$removeBtn.is(":visible"),c=this.$requestBtn.is(":visible"),f=this.$cancelBtn.is(":visible"),e=a.canOpen(),h=a.canBeAdded(),l=a.canBeRequested(),k=a.canBeRemoved(),q=a.canCancelRequest();this.$openBtn.toggleClass("show",e);this.$openBtn.attr("aria-hidden",!e);this.$requestBtn.toggleClass("show",l);this.$requestBtn.attr("aria-hidden",!l);this.$addBtn.toggleClass("show",h); 63this.$addBtn.attr("aria-hidden",!h);this.$removeBtn.toggleClass("show",k);this.$removeBtn.attr("aria-hidden",!k);this.$cancelBtn.toggleClass("show",q);this.$cancelBtn.attr("aria-hidden",!q);a.isAddInProgress||a.isRemoveInProgress||(b&&k?this.$removeBtn.focus():d&&h?this.$addBtn.focus():c&&q?this.$cancelBtn.focus():f&&l?this.$requestBtn.focus():this.$actionButtons.find(".appInfoActionButton:focusable").first().focus())},displayRestartButton:function(a){var b=this.$actionButtons.find("#appInfoRestartBtn"); 64b.toggleClass("show",a);b.attr("aria-hidden",!a)},showAppInfo:function(a){this.appName=a.isdesktop?a.displayNameDesktopTitle:a.encodedName;this.preserveNumeration=a.isdesktop&&a.hasParenthesis;-1==this.appNameAvailableWidth&&(this.appNameAvailableWidth=this._getWidthAvailableForAppName());this.$appName.html(this._resizeNameTextToFit());var b=CTXS.IconsLoader.getIcon(a);this.$appIcon.attr({src:b.url,alt:a.encodedName,"data-iconid":a.iconid}).addClass(b.cssClass);a.isAddInProgress||a.isLaunchInProgress? 65this.showAppSpinner():this.hideAppSpinner();a.isLaunchReady?this.showAppReadyToLaunchUI():this.hideAppReadyToLaunchUI();a.isdesktop?this.$appCategoriesOrHostName.html(a.desktophostname||""):(b=new CTXS.Category(a.category),this.$appCategoriesOrHostName.html(b.getDisplayName()));a.info?this._showAppDescription(a.encodedDescription,this.$fullDesc,this.$trunDesc):(this.stickyTabWidget.clearTabContent(),this.$socialDataContainer.hide(),this.$trunDesc.hide(),this._displayMoreLessLinks(!1),this.$fullDesc.find("span").remove(), 66a.encodedDescription&&(this.$fullDesc.prepend("<span>"+a.encodedDescription+"</span>"),this.$fullDesc.show()));this.$openBtn.add(this.$addBtn).add(this.$removeBtn).add(this.$requestBtn).add(this.$cancelBtn).toggleClass("show",!1);this.displayButtons(a);a.isdesktop&&a.poweroffurl?this.displayRestartButton(!0):this.displayRestartButton(!1);var d=this,b=this.$addBtn.add(this.$requestBtn),c=this.$removeBtn.add(this.$cancelBtn);this.$openBtn.off("click").on("click",function(b){b.preventDefault();d.options.onClickOpen(a)}); 67b.off("click").on("click",function(b){b.preventDefault();d.options.onClickAdd(a)});c.off("click").on("click",function(b){b.preventDefault();d.options.onClickRemove(a)});this.$restartBtn.off("click").on("click",function(b){b.preventDefault();d.options.onClickRestart(a)})},showAppSpinner:function(){this.animatedSpinner.start(this.$spinner,this.$iconOverlay)},hideAppSpinner:function(){this.animatedSpinner.stop(this.$spinner,this.$iconOverlay)},setDesktopHostName:function(a){this.$appCategoriesOrHostName.html(a)}, 68showAppReadyToLaunchUI:function(){this.$readyOverlay.show()},hideAppReadyToLaunchUI:function(){this.$readyOverlay.hide()},resize:function(){this.appNameAvailableWidth=this._getWidthAvailableForAppName();this._resizeNameTextToFit()},_bindToUIEvents:function(){var a=this;a.$trunDesc.on("click",".more.desc-link",function(b){b.preventDefault();a.$trunDesc.hide();a.$fullDesc.show();a.tabHeaderPosition=a.$tabHeader.position().top});a.$fullDesc.on("click",".less.desc-link",function(b){b.preventDefault(); 69a.$fullDesc.hide();a.$trunDesc.show();a.tabHeaderPosition=a.$tabHeader.position().top});this.$appInfoPage.scroll(function(){a.stickyTabWidget.stickyTabs(a.tabHeaderPosition,a.$appInfoPage.scrollTop())})},_displayMoreLessLinks:function(a){this.$trunDesc.find(".more.desc-link").toggle(a);this.$fullDesc.find(".less.desc-link").toggle(a)},_showAppDescription:function(a){var b=this;a?(b._displayMoreLessLinks(!1),this.$fullDesc.hide(),this.$trunDesc.trigger("destroy"),this.$fullDesc.find("span").remove(), 70this.$trunDesc.find("span").remove(),a="<span>"+a+"</span>",this.$fullDesc.prepend(a),this.$trunDesc.prepend(a),this.$trunDesc.show(),this.$trunDesc.dotdotdot({after:".more.desc-link",watch:"window"}),this.$trunDesc.find("span").trigger("isTruncated",function(a){a&&b._displayMoreLessLinks(!0)})):this.$trunDesc.hide()},_getWidthAvailableForAppName:function(){var a=c(window).width(),b=CTXS.UI.useSmallUILayout()?137:152;return a-b},_resizeNameTextToFit:function(){return CTXS.truncateToFit(this.$ruler, 71this.appName,this.appNameAvailableWidth,5,this.preserveNumeration)}}})(jQuery); 72(function(c){function e(a,d,c){var f=a.numAppsToShow||3,e='<a href="#" class="applicationBundle '+a.tileid;c&&(e+=" applicationBundleFirst");e=e+('" data-findex="'+d+'">')+'<div class="applicationBundleLogo"></div>';e+='<div class="applicationBundleContents"><div class="applicationBundleTitle">'+a.title+'</div><span class="applicationBundleText">'+a.description+"</span>";e+='<div class="applicationBundleAppContainer">';for(d=c=0;d<a.apps.length;d++){for(var h=a.apps[d],l=!1,k=0;k<d;k++)if(h.iconurl== 73a.apps[k].iconurl){l=!0;break}if(!l){c++;if(c>f)break;l=CTXS.IconsLoader.getIcon(h);e+='<img class="applicationBundleApp" data-iconid="'+h.iconid+'" src="'+l.url+'" alt="'+h.encodedName+'"/>'}}return e+="</div></div></a>"}function a(a,d,c){return function(){return e(a,d,c)}}window.CTXS=window.CTXS||{};CTXS.Views=CTXS.Views||{};CTXS.Views.ApplicationBundlesView={getApplicationBundleMarkup:function(b,d){null==d&&(d=!1);if(null==b||0==b.length)return"";for(var c="",f=CTXS.ExtensionsHead.isDefined("getBundleMarkup"), 74m=!d,h=0;h<b.length;h++)var l=b[h],c=f?c+CTXS.ExtensionsHead.getBundleMarkup(l,h,a(l,h,m)):c+e(l,h,m),m=!1;return c}}})(jQuery); 75(function(c){var e={useSmallTiles:!1,repeatTiles:!0,minimumAvailableWidth:1024,onClickBundle:function(a){}};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.ApplicationBundlesWidget=function(a,b,d,g){this.options=c.extend({},e,g);this.$bundleContainer=a;this.$carousel=this.$bundleContainer.find(".appBundles");this.$prevButton=this.$bundleContainer.find(".prevBundleOuter");this.$nextButton=this.$bundleContainer.find(".nextBundleOuter");this.$cssTarget=b;this.shouldShow=!1;this._populateCarousel(d); 76this.options.useSmallTiles?this._applySmallUIResizing():this._applyLargeUIResizing();this.$prevButton.add(this.$nextButton).toggleClass("hidden",this.options.useSmallTiles);this._initializeCarousel();this._bindToUIEvents()};CTXS.Widgets.ApplicationBundlesWidget.prototype={show:function(){this.shouldShow=!0;0<this.applicationBundles.length&&this._makeVisible()},hide:function(){this.shouldShow=!1;this._makeHidden()},fadeOut:function(){this.shouldShow=!1;this.$bundleContainer.fadeOut(200)},update:function(a){this.$carousel.find(".applicationBundleText").trigger("destroy.dot"); 77this.$carousel.slick("unslick");this._populateCarousel(a);this._initializeCarousel();this.shouldShow&&(0<a.length?this._makeVisible():this._makeHidden())},_makeVisible:function(){this.$bundleContainer.show();this.$carousel.slick("setPosition")},_makeHidden:function(){this.$bundleContainer.hide()},_initializeCarousel:function(){var a=this;a.$carousel.slick({accessibility:!0,infinite:a.options.repeatTiles,variableWidth:!0,prevArrow:a.$prevButton,nextArrow:a.$nextButton,useTransform:!0});this.options.useSmallTiles|| 78(a.$carousel.find(".applicationBundleText").dotdotdot({watch:"window"}),a.$carousel.on("setPosition",function(){a.$carousel.find(".applicationBundleText").trigger("update.dot")}))},_populateCarousel:function(a){this.applicationBundles=a;a=c.merge([],a);
78this.options.repeatTiles?(c.merge(a,a),this.duplicatingTiles=!0):this.duplicatingTiles=!1;this.$carousel.html(CTXS.Views.ApplicationBundlesView.getApplicationBundleMarkup(a,this.options.useSmallTiles))},_applySmallUIResizing:function(){this.$cssTarget.append('<style type="text/css">.smallTiles .applicationBundle, .applicationBundleContainer .content:after { width: '+ 79(this.options.minimumAvailableWidth-32)+"px }</style>")},_applyLargeUIResizing:function(){var a=this.$bundleContainer.find(".applicationBundle:first").outerWidth();1.4*a>this.options.minimumAvailableWidth&&(a=Math.floor(this.options.minimumAvailableWidth/1.4),this.$cssTarget.append('<style type="text/css">.largeTiles .applicationBundle { width: '+a+"px }</style>"))},_bindToUIEvents:function(){var a=this;a.$prevButton.on("click",function(a){a.preventDefault()});a.$nextButton.on("click",function(a){a.preventDefault()}); 80a.$bundleContainer.on("touchstart.slick mousedown.slick",function(a){a.stopPropagation()});a.$bundleContainer.on("touchmove.slick mousemove.slick",function(a){a.stopPropagation()});a.$bundleContainer.on("click",".applicationBundle",function(b){b.preventDefault();b=c(this).data("findex")%a.applicationBundles.length;a.options.onClickBundle(a.applicationBundles[b])})}}})(jQuery); 81(function(c){var e={onActionLinkClick:function(a,b){},onDetailsLinkClick:function(a){},onTaskLinkClick:function(){},updateAppPosition:function(a,b,d,c){},onFolderNavigation:function(a){},canReorderApps:!0};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.AppListViewWidget=function(a,b,d,g){var f=this;this.initialised=!1;this.$body=a;this.$appsContainer=b;this.animationSpinner=d;this.options=c.extend({},e,g);this._resizeStyleEl=null;this.flySearchableList=!1;this._bindToUIEvents(); 82this.initialised=!0;this.currentVisibleCategory=null;this.resize();this.foldersWidget=new CTXS.Widgets.FoldersWidget(this.$appsContainer,c(".slideAnimation"),c(".scrollable.storeViewSection"),{onRender:function(){CTXS.ExtensionsHead.onAppHTMLGeneration(f.$appsContainer[0]);f._onViewUpdate()},onFolderNameUpdate:this.options.onFolderNameUpdate,onFolderNameHide:this.options.onFolderNameHide});this.appsWidget=new CTXS.Widgets.AppsWidget(this.$appsContainer,{updateAppPosition:this.options.updateAppPosition, 83handleTask:this.options.onTaskLinkClick})};CTXS.Widgets.AppListViewWidget.prototype={clearUI:function(){this.$appsContainer.empty()},showAppsInFolderView:function(a){this.foldersWidget.showByCategory(a);this.options.onFolderNavigation(a.index)},showApps:function(a){var b=CTXS.trace("showApps()");this.clearUI();this.appsWidget.show(a,!0);this.foldersWidget.clearCurrentFolderIndex();this._onViewUpdate();CTXS.trace("done showApps()",b)},showTasks:function(){var a=CTXS.trace("showTasks()");this.clearUI(); 84this.appsWidget.showTasks();this.foldersWidget.clearCurrentFolderIndex();this._onViewUpdate();CTXS.trace("done showTasks()",a)},_navigateToFolderFromClick:function(a,b){if(!b.hasClass("isNavigating")){b.addClass("isNavigating");var d=this;setTimeout(function(){d.navigateToFolder(a,b);b.removeClass("isNavigating")},500)}},navigateToFolder:function(a,b){var d=CTXS.Category_ByIndex(a);this.options.onFolderNavigation(d.index);CTXS.UI.useSmallTiles()&&b?this.foldersWidget.navigateWithTransition(b,a):this.foldersWidget.navigateTo(a)}, 85filterStoreApps:function(a){this.appsWidget.showSelectedStoreApps(a)},navigateBack:function(){this.foldersWidget.navigateBack()},showMyApps:function(a){var b=CTXS.trace("showMyApps()");this.clearUI();this.appsWidget.show(a);this._onViewUpdate();this.options.canReorderApps&&this.appsWidget.makeAppsSortable();CTXS.trace("done showMyApps()",b)},getCurrentFolderIndex:function(){return this.foldersWidget.currentFolderIndex},hideAppLaunchSpinner:function(a){CTXS.Views.AppView.hideAppLaunchSpinner(a,this.$appsContainer)}, 86showAppSpinner:function(a){CTXS.Views.AppView.showAppSpinner(a,this.$appsContainer)},hideAppSpinner:function(a){CTXS.Views.AppView.hideAppSpinner(a,this.$appsContainer)},showAppReadyToLaunchUI:function(a){CTXS.Views.AppView.showAppReadyToLaunchUI(a,this.$appsContainer)},hideAppReadyToLaunchUI:function(a){CTXS.Views.AppView.hideAppReadyToLaunchUI(a,this.$appsContainer)},updateAppState:function(a){CTXS.Views.AppView.updateAppState(a,this.$body.hasClass("myapps-view"),this.$appsContainer)},appTileWidth:0, 87resize:function(){CTXS.trace("start resize");if(this.initialised&&this.$appsContainer.is(":visible")&&(!CTXS.Device.isLegacyIE()||CTXS.Device.isNativeClient())&&!CTXS.UI.useSmallTiles()){var a=this.$appsContainer.find(".storeapp:first");
87if(0!=a.length){0==this.appTileWidth&&(a=a.eq(0),this.appTileWidth=a.width()+parseInt(a.css("borderRightWidth"),10));var b=this.$appsContainer.width()-2,a=Math.floor(b/(this.appTileWidth+52)),b=b/a,d=(b-this.appTileWidth)/2,a=".storeapp-list .storeapp, .storeapp-list .folder { width: "+ 88(b-d)+"px; margin-left:"+d+"px;padding-right:"+d+"px;padding-left:0;margin-right:0}\n.storeapp-list:not(.dragging) > :nth-child("+a+"n+0) { border-right: 0px; }";null==this._resizeStyleEl?this._resizeStyleEl=c("<style>{0}</style>".format(a)).appendTo("head")[0]:CTXS.Device.isLegacyIE()?this._resizeStyleEl.styleSheet.cssText=a:this._resizeStyleEl.innerHTML=a}}},updateUI:function(a){this.$appsContainer.html(a);this._onViewUpdate()},_bindToUIEvents:function(){var a=this;a.$appsContainer.on("click",".storeapp-action-link", 89function(b){b.preventDefault();b.stopPropagation();b=c(this).closest(".storeapp");if(!b.hasClass("operation-in-progress"))a.options.onDetailsLinkClick(CTXS.Views.AppView.getAppShortId(b))});a.$appsContainer.on("click",".storeapp-details-link",function(b){b.preventDefault();b.stopPropagation();b=c(this).closest(".storeapp");if(0==b.length){b=c(this).closest(".folder");var d=b.data("folderindex");a._navigateToFolderFromClick(d,b)}else a.options.onActionLinkClick(CTXS.Views.AppView.getAppShortId(b), 90b)});a.$appsContainer.on("mousedown touchstart",".storeapp-details-link, .storeapp-action-link",function(){var a=c(this),d=a.closest(".storeapp"),d=a.hasClass("storeapp-details-link")?d.find(".storeapp-action-link"):d.find(".storeapp-details-link");a.addClass("pressed");d.addClass("highlighted")}).on("mouseup touchend touchcancel",function(){a.$appsContainer.find(".pressed, .highlighted").removeClass("pressed").removeClass("highlighted")})},_onViewUpdate:function(){var a=CTXS.trace("updateUI");c(".storeViewSection")[0].scrollTop= 910;this.$appList=this.$appsContainer.find(".storeapp-list");this.resize();CTXS.trace("done updateUI",a)}}})(jQuery); 92(function(c){window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.AppShortcutController=function(c){this.store=c;this.appShortcutResource=null;this.securityToken=this.htmlEncodedResourceName="";this.pageHash=CTXS.getUrlHash();CTXS.AppShortcuts.isAppShortcutLaunch()&&(c=decodeURIComponent(CTXS.AppShortcuts.getUrlHashComponents()[2]),this.htmlEncodedResourceName=CTXS.encodeHtml(c),this.securityToken=decodeURIComponent(CTXS.AppShortcuts.getUrlHashComponents()[3]),this.appShortcutResource= 93this.store.getResourceByName(c));this._bindToUIEvents()};CTXS.Controllers.AppShortcutController.prototype={validateAppShortcutLaunch:function(){if(CTXS.AppShortcuts.isAppShortcutLaunch())if("true"!==CTXS.Config.getConfigValue("userInterface.appShortcuts.enabled"))this._displayErrorPopup(c.localization.string("CannotCompleteYourRequest"));else if(null===this.appShortcutResource)this._displayErrorPopup(c.localization.string("ResourceIsNotAvailable",this.htmlEncodedResourceName));else if(this.appShortcutResource.subscriptionstatus=== 94CTXS.SUBSCRIPTION_STATUS.PENDING)this._displayErrorPopup(c.localization.string("AppRequestPendingApprovalCannotStart",this.htmlEncodedResourceName));else if(this.appShortcutResource.subscriptionstatus===CTXS.SUBSCRIPTION_STATUS.APPROVED)this._displayErrorPopup(c.localization.string("CannotCompleteYourRequest"));else if(this.appShortcutResource.subscriptionstatus===CTXS.SUBSCRIPTION_STATUS.DENIED)this._displayErrorPopup(c.localization.string("CannotCompleteYourRequest"));else if(CTXS.Environment.canLaunchResource(this.appShortcutResource)){var e= 95this.appShortcutResource.subscriptionstatus===CTXS.SUBSCRIPTION_STATUS.NOTSUBSCRIBED||null==this.appShortcutResource.subscriptionstatus;if(this.appShortcutResource.requiresworkflow&&e)this._displayErrorPopup(c.localization.string("CannotCompleteYourRequest"));else{var a=this;CTXS.ResourcesClient.validateAppShortcutLaunch(this.appShortcutResource,this.securityToken,document.referrer,function(b){a.processValidationSuccess(b)},function(){a.processValidationFailure()})}}else this._displayErrorPopup(c.localization.string(this.appShortcutResource.isdesktop? 96"CannotStartDesktop":"CannotStartApp",this.htmlEncodedResourceName))},processValidationSuccess:function(c){var a=c.status===CTXS.APP_SHORTCUTS.VALIDATION_PROMPT;CTXS.Events.publish(CTXS.Events.ui.showAppDetails,this.appShortcutResource);a||CTXS.ClientManager.usingNativeClientInInternetZone()?this._displayUserPrompt():c.status===CTXS.APP_SHORTCUTS.VALIDATION_
96SUCCESS&&this._launchApp()},processValidationFailure:function(){CTXS.Events.publish(CTXS.Events.error.terminalState)},_displayErrorPopup:function(e){CTXS.Environment.showDialog({messageText:e, 97buttonLabel:c.localization.string("OK")})},_displayUserPrompt:function(){var e=this;CTXS.Environment.showDialog({messageText:c.localization.string("DoYouWantToStartApp",this.htmlEncodedResourceName),buttonLabel:c.localization.string("Start"),buttonAction:function(){e._launchApp()},cancelButtonLabel:c.localization.string("Cancel"),cancelButtonAction:c.noop})},_launchApp:function(){var c=this.store.isSubscriptionRequired(this.appShortcutResource);this.store.launchApp(this.appShortcutResource);c&&this.store.addApp(this.appShortcutResource)}, 98_bindToUIEvents:function(){var e=this;c(window).bind("hashchange",function(){var a=e.pageHash,b=CTXS.getUrlHash();0!==a.indexOf("/launch/")&&0!==b.indexOf("/launch/")||document.location.reload(!1)})}}})(jQuery); 99(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={updateAppPosition:function(a,b,d,c){},handleTask:function(){}};CTXS.Widgets.AppsWidget=function(a,b){this.$view=a;this.options=c.extend(e,b);this.flySearchableList=!1;var d=this;this.$view.on("click",".taskapp-action-link",function(a){a.preventDefault();d.options.handleTask()})};CTXS.Widgets.AppsWidget.prototype={show:function(a,b){var d=CTXS.trace("Show Apps"),c=this._generateAppsHtml(a);this.$view.html(c);CTXS.ExtensionsHead.onAppHTMLGeneration(this.$view[0]); 100b&&(this.flySearchableList=b);CTXS.trace("done show Apps",d)},showTasks:function(){var a=CTXS.Device.supportsHighResDisplay()?"receiver/images/2x/[email protected]":"receiver/images/1x/SecurityQuestionIcon.png",a='<div><ul class="storeapp-list">'+('<li class="storeapp"><img class="storeapp-icon" src="'+a+'" > <div class="storeapp-details-container"> <p class="storeapp-name">'+c.localization.string("ManageSecurityQuestions")+'</p> </div><a href="#" class="taskapp-action-link theme-highlight-color">'+ 101c.localization.string("Start")+"</a></li>");this.$view.append(a+"</ul></div>");CTXS.ExtensionsHead.onAppHTMLGeneration(this.$view[0])},showSelectedStoreApps:function(a,b){!CTXS.Environment.enableAnimations||10<a.length||b||!this.flySearchableList?0==a.length?this.clearUI():(this.show(a),this.flySearchableList=!0):this._flyApps(a)},_usingTouch:!1,_dragItem:null,makeAppsSortable:function(){var a=this,b=this.$view.find(".storeapp-list"),d=!0===CTXS.simulateClicksInSortable||CTXS.Device.getPlatform()== 102CTXS.Device.Platform.ANDROID&&!1!==CTXS.simulateClicksInSortable;b.on("touchstart",function(g){a._usingTouch||(a._usingTouch=!0,b.sortable("option","delay",500));a._dragItem=c(g.target).closest(".storeapp");if(d&&g.originalEvent.touches&&g.originalEvent.touches[0]){var f=g.originalEvent.touches[0];a._touchItemX=f.screenX;a._touchItemY=f.screenY;a._touchItemDistanceSquared=0;a._$touchItem=c(g.target)}setTimeout(function(){a._dragItem&&a._dragItem.addClass("dragging")},500)}).on("touchend touchcancel touchleave", 103function(){a._dragItem&&(a._dragItem.removeClass("dragging"),a._dragItem=null,d&&a._$touchItem&&121>a._touchItemDistanceSquared&&(a._$touchItem.trigger("click"),a._$touchItem=null))});if(d)b.on("touchmove",function(b){if(b.originalEvent.touches&&b.originalEvent.touches[0]){var d=b.originalEvent.touches[0];b=a._touchItemX-d.screenX;d=a._touchItemY-d.screenY;a._touchItemDistanceSquared=b*b+d*d}});b.sortable({items:".storeapp",revert:"fast",containment:".storeapp-list",tolerance:"pointer",handle:".storeapp-icon, .storeapp-name, .storeapp-category, .storeapp-action-link", 104start:function(a,d){c(document).click();b.addClass("dragging");CTXS.trace("sortable start: ui.item="+d.item.attr("id")+", class="+d.item.attr("class"))},stop:function(a,d){CTXS.trace("sortable stop: ui.item="+d.item.get(0));b.removeClass("dragging");d.item.removeClass("dragging")},update:function(b,d){CTXS.trace("sortable update: ui.item="+d.item.get(0));var c=d.item,h=c.attr("data-shortid"),l=c.prev().length?c.prev().attr("data-shortid"):null,c=c.next().length?c.next().attr("data-shortid"):null; 105a.options.updateAppPosition(h,l,c)}})},_flyApps:function(a){var b=this.$view.find(".storeapp-list"),d=b.children(),g=b.width(),f=parseInt(b.css("padding-left"),10),e=f,h=parseInt(b.css("padding-top"),10);if(isNaN(e)||isNaN(h))this.showSelectedStoreApps(a,!0);else{var l=e,k=h,q=0,v=0==a.length?-1:a[q].shortid,p=-1,r=-1,t=-1;CTXS.trace("Fly apps. Totalwidth="+g);for(var u=0;u<d.length;u++){var n=c(d[u]);if(n.data("shortid")==v){p++;-1==r&&(r=n.outerWidth(!0),CTXS.trace("tile width = "+r),g=Math.floor(g/ 106r)*r);-1==t&&(t=n.outerHeight(!0),CTXS.trace("tile height = "+t));CTXS.trace("Animate app "+p+" from "+e+","+h+" to "+l+","+k);if(h-k>c(window).height()){this.showSelectedStoreApps(a,!0);return}this._animate(n,e,h,l,k);e+=r;e>=g&&(CTXS.trace("cx new line (no space for next app)"),e=f,h+=t+2);l+=r;l>=g&&(CTXS.trace("x new line (no space for next app)"),l=f,k+=t+2);q++;v=q<a.length?a[q].shortid:-1}else-1==r&&(r=n.outerWidth(!0),CTXS.trace("tile width = "+r),g=Math.floor(g/r)*r),-1==t&&(t=n.outerHeight(!0), 107CTXS.trace("tile height = "+t)),CTXS.trace("@2 (hide) app at "+e+","+h),e+=r,e>=g&&(e=f,h+=t+2),n.remove()}-1!=v?this.showSelectedStoreApps(a,!0):b.height(h+(e==f?0:t+2))}},_animate:function(a,b,d,g,f){Math.floor(b)==Math.floor(g)&&Math.floor(d)==Math.floor(f)||a.show().css({position:"absolute",top:d,left:b}).stop().animate({top:f,left:g},500,"swing",function(){c(this).css({position:"relative",top:0,left:0})})},_generateAppsHtml:function(a){for(var b=CTXS.trace("Apps Markup Start"),d='<div class="store-apps-title">'+
108c.localization.string("AllAppsTitle")+'</div><ul class="storeapp-list">',g=0,f=a.length;g<f;g++)d+=CTXS.Views.AppView.getMarkup(a[g]);d+="</ul>";CTXS.trace("Apps Markup Finish",b);return d},clearUI:function(){this.$view.empty()}}})(jQuery); 109(function(c){function e(a){var b=a.encodedName,d=!1,c=CTXS.UI.useSmallTiles()?120:240;a.isdesktop&&a.hasParenthesis&&(b=a.displayNameDesktopTitle,d=!0);if(6<b.length){if(a=m[b])return a;d=CTXS.truncateToFit(f,b,c,2,d);return m[b]=d}return b}function a(a,b){var d="storeapp "+a.getState();a.requiresworkflow&&(d+=" requiresworkflow");a.isLaunchReady&&(d+=" launch-ready");a.cssClass&&(d+=" "+a.cssClass);var f=new CTXS.Category(a.category),g=f.name===CTXS.Category.CATEGORY_OTHER,f=a.isdesktop||g?"":'<p class="storeapp-category">'+ 110f.getDisplayName()+"</p>",g=CTXS.IconsLoader.getIcon(a),d='<li class="'+d+'" data-shortid="'+a.shortid+'"><div class="app-tile"></div><a href="#" class="storeapp-details-link"><img class="storeapp-icon '+g.cssClass+'" src="'+g.url+'" alt="'+a.encodedName+'" data-iconid="'+a.iconid+'"/><div class="storeapp-loading-overlay"><div class="spinner storeapp-loading-spinner"></div></div><div class="storeapp-ready-overlay"></div><div class="storeapp-details-container"><p class="storeapp-name">'+b+"</p>"+f+ 111'<div class="storeapp-ratings">';(f=a.rating)?(g=f.avgRating,"string"===typeof g&&(g=parseFloat(g)),g="<div class='yellowStar' style='width:"+14*g+"px;'></div><div class='grayStar' style='width:"+14*(5-g)+"px; background-position-x:-"+14*(1-(g-Math.floor(g)))+"px;'></div>",null!=f.countReviewer&&(g+="<div class='rating-count'>("+f.countReviewer+")</div>"),f=g):f="";return d+f+'</div></div></a><a href="#" class="storeapp-action-link theme-highlight-color">'+c.localization.string("Details")+"</a></li>"} 112function b(a,b){return b.find('.storeapp[data-shortid="'+a.shortid+'"]')}function d(a,d){g||(g=new CTXS.AnimatedSpinner);var c=b(a,d).find(".storeapp-loading-overlay"),f=c.find(".storeapp-loading-spinner");g.stop(f,c)}var g=null,f=c(".myapps-ruler-container"),m=[];window.CTXS=window.CTXS||{};CTXS.Views=CTXS.Views||{};CTXS.Views.AppView={getAppName:e,getMarkup:function(b,d){d=d||e(b);return CTXS.ExtensionsHead.isDefined("getAppTileMarkup")?CTXS.ExtensionsHead.getAppTileMarkup(b,d,function(){return a(b, 113d)}):a(b,d)},updateAppState:function(a,d,f){f=b(a,f);d&&a.getState()==CTXS.App.State.AVAILABLE&&f.remove();g||(g=new CTXS.AnimatedSpinner);for(var e in CTXS.App.State)CTXS.App.State.hasOwnProperty(e)&&f.removeClass(CTXS.App.State[e]);f.removeClass("operation-in-progress");g.stop(f.find(".storeapp-loading-spinner"),f.find(".storeapp-loading-overlay"));f.addClass(a.getState());f.find(".storeapp-action-link").text(c.localization.string("Details"))},hideAppLaunchSpinner:function(a,c){b(a,c).removeClass("operation-in-progress"); 114d(a,c)},showAppSpinner:function(a,d){g||(g=new CTXS.AnimatedSpinner);var c=b(a,d).find(".storeapp-loading-overlay"),f=c.find(".storeapp-loading-spinner");g.start(f,c)},hideAppSpinner:d,showAppReadyToLaunchUI:function(a,d){b(a,d).addClass("launch-ready")},hideAppReadyToLaunchUI:function(a,d){b(a,d).removeClass("launch-ready")},getAppShortId:function(a){return a.data("shortid")}}})(jQuery); 115(function(c){var e={onAuthenticationSuccess:function(){},onAuthenticationError:function(){},onComplete:function(){}};window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.AuthenticationController=function(a,b,d,g){this.options=c.extend({},e,g);this.$authenticationView=a;this.$explicitAuthView=b;this.$passwordExpiryView=d;this.$passwordExpiryContainer=this.$passwordExpiryView.find(".authentication-content");this.authenticationMethods=null;this.authenticationWidget=new CTXS.Widgets.AuthenticationWidget(this.$authenticationView.find(".authentication-content")); 116this.changePasswordController=new CTXS.Controllers.ChangePasswordController(this.$passwordExpiryContainer,g)};CTXS.Controllers.AuthenticationController.prototype={authenticate:function(a){a=CTXS.Authentication.parseChallenge(a);"Redirect"==a.mode?(CTXS.trace("redirecting for 3rd party authentication"),window.location.href=a.location):!CTXS.Authentication.isBrowserCloseRequiredToEndSession()||CTXS.allowSmartcardRelogin||CTXS.allowReloginWithoutBrowserClose?CTXS.Authentication.getAuthenticationMethods(a.location, 117c.proxy(this._processAuthenticationMethods,this),this._handleAuthenticationFailure):(this.$authenticationView.ctxsDisplayPane(),this.authenticationWidget.showCloseBrowserMessage(CTXS.Authentication.isSmartcardSession()))},_processAuthenticationMethods:function(a){this.authenticationMethods=a;0==a.length?(this.$authenticationView.ctxsDisplayPane(),this.authenticationWidget.showNoAuthenticationMethodsMessage()):1==a.length?this._performAuthentication(a[0]):(a=CTXS.Authentication.getSavedAuthenticationMethod())? 118this._performAuthentication(a):this._showAuthenticationChoices()},_showAuthenticationChoices:function(){var a=this,b=this.authenticationMethods[0].name==CTXS.Authentication.Method.PASSTHROUGH?"LogonTextPassthrough":"LogonTextSmartcard";this.$authenticationView.ctxsDisplayPane();this.authenticationWidget.showAuthenticationChoices({titleText:c.localization.string(b),authenticationMethods:this.authenticationMethods,onChoiceSelection:function(b){c("body").find(".loading-screen").ctxsDisplayPane();a._performAuthentication(b)}})}, 119_performAuthentication:function(a){var b=this;a.name==CTXS.Authentication.Method.EXPLICIT||a.name==CTXS.Authentication.Method.GENER
119IC_FORMS?(this.explicitAuthController||(this.explicitAuthController=new CTXS.Controllers.ExplicitAuthController(this.$explicitAuthView,{prepopulatedCredentials:CTXS.Config.getConfigValue("prePopulatedCredentials"),showBackToChoicesLink:1<this.authenticationMethods.length,onAuthenticationSuccess:function(d){b._completeAuthentication(a,d)},onLogonTimeout:c.proxy(this._handleLogonTimeout, 120this),onAuthenticationError:this.options.onAuthenticationError,onBackToChoices:c.proxy(this._showAuthenticationChoices,this)})),this.explicitAuthController.authenticate(a.url)):a.name!=CTXS.Authentication.Method.PASSTHROUGH&&a.name!=CTXS.Authentication.Method.SMARTCARD&&a.name!=CTXS.Authentication.Method.GATEWAY||CTXS.Authentication.authenticate(a.url,function(d){b._completeAuthentication(a,d)},function(){b._handleAuthenticationFailure(a)})},_handleLogonTimeout:function(){this.$authenticationView.ctxsDisplayPane(); 121this.authenticationWidget.showLogonTimeoutMessage(function(){document.location.reload(!1)})},_completeAuthentication:function(a,b){1<this.authenticationMethods.length&&CTXS.Authentication.setSavedAuthenticationMethod(a);CTXS.Authentication.setUserAuthenticated(!0);CTXS.Authentication.currentAuthMethod=a.name;CTXS.Authentication.setPasswordChangeAllowed(b.isPasswordChangeAllowed);this.options.onAuthenticationSuccess();if(b.isPasswordExpiryNotificationEnabled)this.$passwordExpiryView.ctxsDisplayPane(), 122this.changePasswordController.showPasswordExpiryMessage(b.passwordExpiryTime);else this.options.onComplete()},_handleAuthenticationFailure:function(a){CTXS.Authentication.clearSavedAuthenticationMethod();if(a.name==CTXS.Authentication.Method.GATEWAY)this.options.onAuthenticationError();else{var b=this,d=a.name==CTXS.Authentication.Method.PASSTHROUGH?"AuthFailurePassthrough":"AuthFailureSmartcard";this.$authenticationView.ctxsDisplayPane();this.authenticationWidget.showAuthenticationFailureMessage({titleText:c.localization.string(d), 123otherOptionsAvailable:1<this.authenticationMethods.length,onTryAgain:function(){b._performAuthentication(a)},onTryAnotherOption:c.proxy(this._showAuthenticationChoices,this)})}}}})(jQuery); 124(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.AuthenticationWidget=function(c){this.$container=c};CTXS.Widgets.AuthenticationWidget.prototype={showCloseBrowserMessage:function(e){this._clearContainer();e=e?c.localization.string("AuthFailureSmartcard"):c.localization.string("AuthFailureGeneric");this._addTitle(e);this.$container.append('<p class="detail-text">'+c.localization.string("CloseYourBrowserToProtectAccount")+"</p>")},showAuthenticationChoices:function(e){var a= 125c.extend({},{titleText:"",authenticationMethods:[],onChoiceSelection:function(a){}},e);this._clearContainer();this._addTitle(a.titleText);e=c('<a href="#" class="default button" data-index="0">'+c.localization.string("LogOn")+"</a>");this.$container.append(e);for(var b=1;b<a.authenticationMethods.length;b++){var d=a.authenticationMethods[b].name,g=null;d==CTXS.Authentication.Method.SMARTCARD?g=c.localization.string("SwitchToSmartcard"):d==CTXS.Authentication.Method.EXPLICIT?g=c.localization.string("SwitchToExplicit"): 126d==CTXS.Authentication.Method.GENERIC_FORMS&&(g=c.localization.string("SwitchToGeneric"));g&&this.$container.append('<p><a href="#" data-index="'+b+'" class="auth-choice-link authentication-link">'+g+"</a></p>")}e.add(this.$container.find(".auth-choice-link")).on("click",function(b){b.preventDefault();b=c(this).data("index");a.onChoiceSelection(a.authenticationMethods[b])});e.focus()},showLogonTimeoutMessage:function(e){this._clearContainer();this._addTitle(c.localization.string("LoginTimedOut")); 127var a=c('<a href="#" class="default button">'+c.localization.string("LogOn")+"</a>");this.$container.append(a);a.on("click",function(a){a.preventDefault();e()});a.focus()},showAuthenticationFailureMessage:function(e){e=c.extend({},{titleText:"",otherOptionsAvailable:!1,onTryAgain:function(){},onTryAnotherOption:function(){}},e);this._clearContainer();this._addTitle(e.titleText);var a=e.otherOptionsAvailable?e.onTryAnotherOption:e.onTryAgain;e=c('<a href="#" class="authentication-link">'+c.localization.string(e.otherOptionsAvailable? 128"TryAnotherLogonOption":"TryAgain")+"</a>");this.$container.append(e);e.on("click",function(b){b.preventDefault();a()});e.focus()},showNoAuthenticationMethodsMessage:function(){this._clearContainer();this._addTitle(c.localization.string("NoAvailableAuthMethods"))},_clearContainer:function(){this.$container.empty()},_addTitle:function(c){this.$container.append('<h1 class="authentication-title main-text">'+c+"</h1>")}}})(jQuery); 129(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.AuthPasswordExpiryWidget=function(c,a){this.$container=c;this.isGatewaySession=a};CTXS.Widgets.AuthPasswordExpiryWidget.prototype={showPasswordExpiryMessage:function(e,a){a=c.extend({},{onContinue:function(){},onChange:function(){}},a);this._setMessageText(this._getExpirationText(e));var b=this.$container.find("#btnPasswordChange"),d=this.$container.find("#btnPasswordContinue");b.removeAttr("disabled");d.removeAttr("disabled"); 130b.on("click",function(d){d.preventDefault();b.attr("disabled")||(a.onChange(),b.attr("disabled","true"))});d.on("click",function(b){b.preventDefault();d.attr("disabled")||(a.onContinue(),d.attr("disabled","true"))});b.focus();
130this.$container.on("keydown",function(a){a.keyCode===c.ui.keyCode.ESCAPE&&d.click()})},_getExpirationText:function(e){switch(e){case 0:return c.localization.string("PasswordExpiresTodayMessage");case 1:return c.localization.string("PasswordExpiresTomorrowMessage");default:return c.localization.string("PasswordExpiryMessage", 131e)}},_setMessageText:function(c){this.$container.find(".authentication-message").text(c)}}})(jQuery); 132(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.AutoMessageWidget=function(c,a){this.$messageBox=c;this.$overlay=a;this._bindToUiEvents()};CTXS.Widgets.AutoMessageWidget.prototype={show:function(e){e=c.extend({messageText:"",waitingTime:3200},e);this.$messageBox.html(e.messageText);this.$messageBox.ctxsCenter();CTXS.displayPopup(this.$overlay,this.$messageBox);setTimeout(c.proxy(this.hide,this),e.waitingTime)},hide:function(){CTXS.fadePopup(this.$overlay,this.$messageBox)}, 133_bindToUiEvents:function(){var c=this;this.$overlay.click(function(a){a.preventDefault();c.hide()})}}})(jQuery); 134(function(c){window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};var e={onComplete:function(){}};CTXS.Controllers.ChangeClientController=function(a){this.options=c.extend({},e,a);this.changeClientWidget=new CTXS.Widgets.ChangeClientWidget(c("#change-client-screen"),{onUseLightVersion:c.proxy(this._onUseLightVersion,this),onUseFullVersion:c.proxy(this._onUseFullVersion,this)})};CTXS.Controllers.ChangeClientController.prototype={showUI:function(){var a=!CTXS.Html5Client.isCurrentClient(); 135this.changeClientWidget.showUI(a)},_onUseLightVersion:function(){CTXS.ClientManager.setHtml5ClientPreferred();this.options.onComplete()},_onUseFullVersion:function(){CTXS.ClientManager.setNativeClientPreferred();this.options.onComplete()}}})(jQuery); 136(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={onUseLightVersion:function(){},onUseFullVersion:function(){}};CTXS.Widgets.ChangeClientWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$element=a.find(".changeclient-container");this.$useLightLink=this.$element.find(".changeclient-use-light-version");this.$useFullLink=this.$element.find(".changeclient-use-full-version");this.$headingText=this.$element.find(".changeclient-heading");this._bindToUIEvents()}; 137CTXS.Widgets.ChangeClientWidget.prototype={showUI:function(a){this.$headingText.text(c.localization.string(a?"UsingFullVersion":"UsingLightVersion"));this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.$useLightLink.click(function(b){b.preventDefault();a.options.onUseLightVersion()});this.$useFullLink.click(function(b){b.preventDefault();a.options.onUseFullVersion()})}}})(jQuery); 138(function(c){window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};var e={overlaySelector:"",onComplete:function(){},onAuthenticationError:function(){},onAuthenticationCancel:function(){},isDialog:!1};CTXS.Controllers.ChangePasswordController=function(a,b){var d=this;this.options=c.extend({},e,b);this.$container=a;this.$overlay=c(this.options.overlaySelector);this.isGatewaySession=CTXS.Environment.isGatewaySession();this.options.isDialog?(this.displayWidget=new CTXS.Widgets.ElectivePasswordChangeWidget(this.$container, 139this.options.overlaySelector,this.isGatewaySession),this.options.beforeDisplayForm=function(){d.displayWidget.cleanDialog()},this.options.displayForm=function(){d.displayWidget.centerAndDisplayDialog()}):this.displayWidget=new CTXS.Widgets.AuthPasswordExpiryWidget(this.$container,this.isGatewaySession);this._bindToUIEvents();this._bindToAppEvents()};CTXS.Controllers.ChangePasswordController.prototype={showPasswordExpiryMessage:function(a){var b=this,d={onChange:function(){b.requestPasswordChangeUI()}, 140onContinue:b.options.onComplete};this.options.isDialog||this.displayWidget.showPasswordExpiryMessage(a,d)},requestPasswordChangeUI:function(){if(this.isGatewaySession){var a=this;CTXS.Environment.showDialog({messageText:c.localization.string("AccessGatewayChangePasswordWarning"),buttonLabel:c.localization.string("Continue"),buttonAction:function(){a._showChangePasswordUI()},cancelButtonLabel:c.localization.string("Cancel"),cancelButtonAction:c.noop})}else this._showChangePasswordUI()}
140,_escapeToCancel:function(a){if(a.keyCode=== 141c.ui.keyCode.ESCAPE)this.options.onAuthenticationCancel()},_showChangePasswordUI:function(){var a=this;this.$container.ctxsFormsAuthentication({informationIconUrl:CTXS.Device.supportsHighResDisplay()?"receiver/images/2x/[email protected]":"receiver/images/1x/ico_info.png",authenticationError:function(){a._cleanUp();a.options.onAuthenticationError()},authenticationCancel:function(){a._onAuthCancel(a.options.isDialog)},authenticationSuccess:function(){a._onAuthSuccess(a.options.isDialog)},beforeDisplayForm:a.options.beforeDisplayForm, 142displayForm:a.options.displayForm,formProvider:function(b,d,g,f){CTXS.AuthClient.getAuthenticationForm(b,d,g,function(a,b,d){f(a,d.getResponseHeader("X-Citrix-ExplicitAuthProtocol"))},c.proxy(a.options.onAuthenticationError,this))}});this.$container.ctxsFormsAuthentication("startAuthentication",CTXS.Config.getConfigValue("authManager.changeCredentialsURL"))},_centerAndDisplayDialog:function(){this.$container.ctxsCenter();CTXS.displayPopup(this.$overlay,this.$container)},_cleanUp:function(){this.$container.find('input[type="password"]').ctxsObliteratePassword()}, 143_cancelChange:function(){this._clearDialog();CTXS.hidePopup(this.$overlay,this.$container)},_onAuthCancel:function(a){if(a)this._cleanUp(),this.displayWidget.hideAndClearDialog(),this.options.onAuthenticationCancel();else this.options.onComplete()},_onAuthSuccess:function(a){this.isGatewaySession?CTXS.Events.publish(CTXS.Events.ui.logoffRequested,{icaSessionLogoffAction:CTXS.ICA_SESSION_LOGOFF_ACTION.DISCONNECT}):(a&&(this._cleanUp(),this.displayWidget.hideAndClearDialog()),this.options.onComplete())}, 144_bindToAppEvents:function(){var a=this;this.options.isDialog&&(CTXS.Events.subscribe(CTXS.Events.session.terminating,function(){a.displayWidget.hideAndClearDialog()}),CTXS.Events.subscribe(CTXS.Events.ui.showMessage,function(b,d){a.displayWidget.isVisible()&&a.displayWidget.hideAndClearDialog()}))},_bindToUIEvents:function(){var a=this;this.$container.on("keydown",function(b){a._escapeToCancel(b)});if(this.options.isDialog)this.$overlay.on("click",function(b){b.preventDefault();a.displayWidget._placeFocus()})}}})(jQuery); 145(function(c){window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};var e={overlaySelector:"",onComplete:function(){},onAuthenticationError:function(){},onAuthenticationCancel:function(){}};CTXS.Controllers.AccountManagementController=function(a,b){var d=this;this.options=c.extend({},e,b);this.$container=a;this.$overlay=c(this.options.overlaySelector);this.isGatewaySession=CTXS.Environment.isGatewaySession();this.AccountManagementURL="";this.isGatewaySession||CTXS.Device.isMobileDevice()|| 146(this.displayWidget=new CTXS.Widgets.ElectivePasswordChangeWidget(this.$container,this.options.overlaySelector,this.isGatewaySession),this.options.beforeDisplayForm=function(){d.displayWidget.cleanDialog()},this.options.displayForm=function(a,b){var e=b.authenticationElement;e.find(".standaloneText").not(".confirmation").not(".error").addClass("standaloneText2");e.find(".confirmation").addClass("confirmation2");if(e.find("#link_BackBtnId").length){var e=e.find("#link_BackBtnId"),h=e.parent(),l=c("<div class='left multiple-buttons'></div>"); 147e.removeClass("forms-authentication-button");l.append(e);h.before(l)}d.displayWidget.centerAndDisplayDialog()},this._bindToUIEvents(),this._bindToAppEvents())};CTXS.Controllers.AccountManagementController.prototype={requestAccountManagementUI:function(){this.isGatewaySession||CTXS.Device.isMobileDevice()||this._showAccountManagementUI()},setAccountManagementURL:function(a){this.AccountManagementURL=a},_escapeToCancel:function(a){if(a.keyCode===c.ui.keyCode.ESCAPE)this.options.onAuthenticationCancel()}, 148_showAccountManagementUI:function(){var a=this;this.$container.ctxsFormsAuthentication({prePopulatedCredentials:{},informationIconUrl:CTXS.Device.supportsHighResDisplay()?"receiver/images/2x/[email protected]":"receiver/images/1x/ico_info.png",authenticationError:function(){a._cleanUp();a.options.onAuthenticationError()},authenticationCancel:function(){a._onAuthCancel()},authenticationSuccess:function(){a._onAuthSuccess()},beforeDisplayForm:a.options.beforeDisplayForm,displayForm:a.options.displayForm, 149formProvider:function(b,d,g,f){CTXS.Device.isNativeClient()&&c.extend(g,{"Accept-Language":CTXS.Environment.getPreferredLanguages()});CTXS.AuthClient.getAuthenticationForm(b,d,g,function(a,b,d){f(a,d.getResponseHeader("X-Citrix-ExplicitAuthProtocol"))},c.proxy(a.options.onAuthenticationError,this))}});this.$container.ctxsFormsAuthentication("startAuthentication",this.AccountManagementURL)},_centerAndDisplayDialog:function(){this.$container.ctxsCenter();CTXS.displayPopup(this.$overlay,this.$container)}, 150_cleanUp:function(){this.$container.find('input[type="password"]').ctxsObliteratePassword()},_cancelChange:function(){this._clearDialog();CTXS.hidePopup(this.$overlay,this.$container)},_onAuthCancel:function(){this._cleanUp();this.displayWidget.hideAndClearDialog();this.options.onAuthenticationCancel()},_onAuthSuccess:function(){this._cleanUp();this.displayWidget.hideAndClearDialog();this.options.onComplete()},_bindToAppEvents:function(){var a=this;CTXS.Events.subscribe(CTXS.Events.session.terminating, 151function(){a.displayWidget.hideAndClearDialog()});CTXS.Events.subscribe(CTXS.Events.ui.showMessage,function(b,d){a.displayWidget.isVisible()&&a.displayWidget.hideAndClearDialog()})},_bindToUIEvents:function(){var a=this;
151this.$container.on("keydown",function(b){a._escapeToCancel(b)});this.$overlay.on("click",function(b){b.preventDefault();a.displayWidget._placeFocus()})}}})(jQuery); 152(function(c){window.CTXS=window.CTXS||{};CTXS.FormActions={populateForm:function(e,a){if(null!=a&&!c.isEmptyObject(a)){var b=[];b.push({id:"username",value:(a.domain&&0<a.domain.length?a.domain+"\\":"")+a.username});b.push({id:"password",value:a.password});c.each(b,function(a,b){var f=b.value,m="#"+b.id;c(m+":text",e).addClass("prePopulatedCredential").val(f);c(m+":password",e).addClass("prePopulatedCredential").val(f);c(m+":checkbox",e).addClass("prePopulatedCredential").each(function(){var a=c(this); 153"true"==f||"True"==f?a.prop("checked",!0):a.prop("checked",!1)})})}},disableFormAndShowHourglass:function(e,a){c("body").css("cursor","wait");e.find("input").attr("disabled","disabled");var b=a?e.find("#"+a.id):c();e.find(".button").not(b).addClass("disabled");b.width(b.width()).text("").addClass("waiting")}}})(jQuery); 154(function(c){function e(a,b){var d;d=c("CancelButtonText",a);1<d.length&&CTXS.External.reportParsingError("Can't have more than one CancelButtonText node");1==d.length?(d=d.text(),d=c("<a />").attr("id","chimeraCancelBtn").attr("href","#").addClass("button").addClass("forms-authentication-button").text(d)):d=null;d&&b.append(d)}window.CTXS=window.CTXS||{};CTXS.ButtonGenerator={generateButtons:function(a,b,d){var g=c("<div />").addClass("field").addClass("buttonsrow"),f=c("<div />").addClass("buttonscontainer").addClass("right"); 155c.each(a,function(a,b){"none"==b.label.type&&"none"==b.credential.type||CTXS.External.reportParsingError("odd button field - it includes a label");var d;d=b.credential.id;var k=b.input.button;d=c("<a />").attr("id",d).attr("href","#").addClass("button").addClass("forms-authentication-button").text(k);f.append(d)});d&&e(b,f);g.append(f);return g}}})(jQuery); 156(function(c){function e(a,b){null!=b.input.button&&CTXS.External.reportParsingError("button should have been sorted elsewhere");var d=c("<div/>").addClass("field").addClass("CredentialType"+b.credential.type);CTXS.InputFieldGenerator.addInputFieldOrLabel(d,b);return d}function a(a){var c={};a=d(a,"http://citrix.com/authentication/response/extensions/1","Data");if(null==a||0==a.length)return c;d(a,"http://citrix.com/authentication/response/extensions/1","Item").each(function(){try{var a=d(this,"http://citrix.com/authentication/response/extensions/1", 157"Key").first().text(),h=d(this,"http://citrix.com/authentication/response/extensions/1","Value").first().text();a&&h||CTXS.External.reportParsingError("Item tag is invalid, both a key and a value are required: "+b(this));c[a]=h}catch(f){CTXS.External.reportParsingError("could not parse extension data item: "+b(this))}});return c}function b(a){return CTXS.Device.isLegacyIE()?a.context.xml:(new XMLSerializer).serializeToString(a.context)}function d(a,b,d){return c(a).children().filter(function(){return this.namespaceURI== 158b?(this.localName||this.baseName)==d:!1})}function g(a){var b=c("Type",a);1!=b.length&&CTXS.External.reportParsingError("could not parse label type");var d=b=b.text(),h=CTXS.AuthExtensions.getLabelHandlerByType(b);if(null!=h&&(d=h.parseAsType(),!d))return a=h.parseLabelNode(a),a.type=b,a;if("none"==d||""==d)return{type:"none"};if("image"==d)return{type:b,src:c("Binary",a).text()};if("plain"==d||"heading"==d||"information"==d||"warning"==d||"error"==d||"confirmation"==d||"inprogress"==d){h=c("Text", 159a);1!=h.length&&CTXS.External.reportParsingError("could not find text for label");var f=[];c("HighlightFields CredentialID",a).each(function(){var a=c(this).text();f.push(a)});return{type:b,text:h.text(),highlightFields:f}}CTXS.External.reportParsingError("Unrecognised label type :"+b)}function f(a){if(1!=a.length)return null;var b=c("InitialSelection",a),d=null;1==b.length?d=b.text():1<b.length&&CTXS.External.reportParsingError("must only have one inital selection node");a=m(a,!1);return{initialSelection:d, 160displayValues:a}}function m(a,b){var d=c("DisplayValues",a);1!=d.length&&CTXS.External.reportParsingError("must have a displayValues node");var h=[];c("DisplayValue",d).each(function(){var a,d=c(this),f=c("Display",d);1!=f.length&&CTXS.External.reportParsingError("Every DisplayValue node must have a Display node");var k=c("Value",d);1!=k.length&&CTXS.External.reportParsingError("Every DisplayValue node must have a Value node");b&&(a=c("Select",d),1<a.length&&CTXS.External.reportParsingError("Mu
160st have at most 1 select node in a DisplayValue node")); 161a=b?{display:f.text(),value:k.text(),selected:"true"==a.text()||"True"==a.text()}:{display:f.text(),value:k.text()};h.push(a)});return h}function h(a){return c("<select />").attr("id",a.credential.id).attr("name",a.credential.id)}function l(a,b){c.each(a.displayValues,function(d,h){var f=c("<option/>");f.text(h.display);f.attr("value",h.value);a.initialSelection!=h.value&&1!=h.selected||f.attr("selected","selected");b.append(f)})}function k(a,b,d){c.each(a.displayValues,function(h,f){var k=f.value+ 162"_id",g;g=f.value;g=c("<input/>").attr("type","radio").val(g).attr("id",k).attr("name",d);a.initialSelection==f.value&&g.prop("checked",!0);var l=c("<p/>");l.append(g);l.append(q(f.display,k));b.append(l)})}function q(a,b){return c("<label />").text(a).attr("for",b)}window.CTXS=window.CTXS||{};CTXS.RequirementNodeProcessor={addFieldsForEachRequirement:function(a,b,d){var h=0,f=[];CTXS.AuthExtensions.resetAutoPostChecks();CTXS.AuthExtensions.resetAutoPostCallback();a.each(function(){var a=CTXS.RequirementNodeParser.parseRequirementsNode(this); 163null!=a.input.button?f.push(a):(0<f.length&&(b.append(CTXS.ButtonGenerator.generateButtons(f,d,1>h)),h+=f.length,f=[]),CTXS.AuthExtensions.isAutoPostAddedToForm()?CTXS.External.reportParsingError("More than one credential in a form containing an auto-post credential is not allowed."):b.append(e(b,a)))});0<f.length&&(b.append(CTXS.ButtonGenerator.generateButtons(f,d,1>h)),h+=f.length);CTXS.AuthExtensions.isAutoPostAddedToForm()&&b.append(CTXS.AuthExtensions.getAutoPostButtonForForm());c("input, select", 164b).each(function(){c(this).change(function(){c(this).addClass("editedCredential")})})},addLoadingSpinner:function(a,b){var d=c("<div class='spinner' style='visibility: hidden' />").append(c("<img src='"+b+"' alt='' />"));a.find(".buttonsrow").append(d)}};CTXS.RequirementNodeParser={parseRequirementsNode:function(h){var k=c("Credential",h);1!=k.length&&CTXS.External.reportParsingError("could not parse Credential node");var l=c("Label",h);1!=l.length&&CTXS.External.reportParsingError("could not parse Label node"); 165h=c("Input",h);1!=h.length&&CTXS.External.reportParsingError("could not parse Input node");var e=c("ID",k);1<e.length&&CTXS.External.reportParsingError("could not parse credential id");var q=null;1==e.length&&(q=e.text());e=c("Type",k);1!=e.length&&CTXS.External.reportParsingError("could not parse credential type");var n;var z={},G=d(k,"http://citrix.com/authentication/response/webview/1","WebView");if(null!=G&&0!=G.length)try{(n=d(G,"http://citrix.com/authentication/response/webview/1","StartUrl"))&& 1660!=n.length||CTXS.External.reportParsingError("Required <StartUrl> tag not found in webView node: "+b(G));var J=d(G,"http://citrix.com/authentication/response/webview/1","PostData"),J=null==J||0==J.length?"":J.text(),A=k.parents().last(),E=A.find("StateContext"),E=null==E||0==E.length?"":E.text(),C=A.find("PostBack"),C=null==C||0==C.length?"":C.text(),z={startUrl:n.text(),postData:J,stateContext:E,postbackUrl:C}}catch(T){CTXS.External.reportParsingError("could not parse webview data item: "+b(G))}n= 167z;k=a(k);k={id:q,type:e.text(),data:k,webview:n};l=g(l);e=c("AssistiveText",h);1<e.length&&CTXS.External.reportParsingError("could not parse input AssistiveText");q=null;1==e.length&&(q=e.text());n=c("Text",h);if(1!=n.length)e=null;else{e=!1;J=c("Secret",n).text();if("true"==J||"True"==J)e=!0;J=!1;A=c("ReadOnly",n).text();if("true"==A||"True"==A)J=!0;A=!1;E=c("Immutable",n).text();if("true"==E||"True"==E)A=!0;E=!1;C=c("Hidden",n).text();if("true"==C||"True"==C)E=!0;C=c("InitialValue",n).text();n= 168".+"==c("Constraint",n).text();e={secret:e,readOnly:J,Immutable:A,hidden:E,initialValue:C,mustNotBeEmpty:n}}n=c("RadioButton",h);n=f(n);J=f(c("ComboBox",h));A=c("MultiComboBox",h);A=1!=A.length?null:{displayValues:m(A,!0)};E=c("Button",h);E=1!=E.length?null:E.text();C=c("CheckBox",h);if(1!=C.length)h=null;else{h=!1;C=c("InitialValue",C).text();if("true"==C||"True"==C)h=!0;h={initialValue:h}}return{credential:k,label:l,input:{assistiveText:q,text:e,radioButton:n,comboBox:J,multiComboBox:A,button:E, 169checkBox:h}}}};CTXS.InputFieldGenerator={addInputFieldOrLabel:function(a,b){var d,f=c("<div/>").addClass("right"),g=CTXS.AuthExtensions.getCredentialHandlerByType(b.credential.type);if(null!=g)if(CTXS.AuthExtensions.isAutoPostAllowed()||!g.isAutoPostCredential){CTXS.LabelGenerator.addLabel(a,b);d=g.getCredentialTypeMarkup(b);if(g.isAutoPostCredential){CTXS.AuthExtensions.autoPostAddedToForm();var e=CTXS.AuthExtensions.getAutoPostInputField(b);d.append(e);CTXS.AuthExtensions.registerAutoPostCallback(e, 170b,c.proxy(g.getDataToAutoPost,g))}
170else CTXS.AuthExtensions.fieldAddedToForm();f.append(d);a.append(f)}else CTXS.External.reportParsingError("More than one field in a form containing an auto-post credential is not allowed.");else null!=b.input.radioButton?(CTXS.LabelGenerator.addLabel(a,b),d=c("<div/>").addClass("radioButtons"),k(b.input.radioButton,d,b.credential.id),d.find("label:first-of-type").after(CTXS.AssistiveTextGenerator.generateInformationIconWithTooltip(b)),f.append(d),a.append(f),CTXS.AuthExtensions.fieldAddedToForm()): 171null!=b.input.checkBox?(g=CTXS.AuthExtensions.getLabelHandlerByType(b.label.type),d=c("<input />").attr("id",b.credential.id).attr("name",b.credential.id).attr("type","checkbox").val(b.credential.id),b.input.checkBox.initialValue&&d.addClass("CheckMeWhenInDom"),g=null!=g?g.getLabelTypeMarkup(b):CTXS.LabelGenerator.generateInputLabelNode(b),f.append(d),f.append(g),f.addClass("checkbox"),f.append(CTXS.AssistiveTextGenerator.generateInformationIconWithTooltip(b)),a.append(f),CTXS.AuthExtensions.fieldAddedToForm()): 172null!=b.input.comboBox?(CTXS.LabelGenerator.addLabel(a,b),d=h(b),l(b.input.comboBox,d),f.append(d),f.append(CTXS.AssistiveTextGenerator.generateInformationIconWithTooltip(b)),a.append(f),CTXS.AuthExtensions.fieldAddedToForm()):null!=b.input.multiComboBox?(CTXS.LabelGenerator.addLabel(a,b),d=h(b).attr("multiple","multiple"),l(b.input.multiComboBox,d),f.append(d),f.append(CTXS.AssistiveTextGenerator.generateInformationIconWithTooltip(b)),a.append(f),CTXS.AuthExtensions.fieldAddedToForm()):null!=b.input.text? 173(CTXS.LabelGenerator.addLabel(a,b),d=CTXS.InputFieldGenerator.generateTextField(b),g=CTXS.AssistiveTextGenerator.generateInlineAssistiveTextNode(b),f.append(g).append(d),a.append(f),CTXS.AuthExtensions.fieldAddedToForm()):null!=b.input.button?CTXS.External.reportParsingError("Buttons should be parsed elsewhere"):CTXS.LabelGenerator.addStandaloneLabel(a,b)},generateTextField:function(a){var b=c("<input />").attr("name",a.credential.id).attr("id",a.credential.id).val(a.input.text.initialValue);a.input.text.secret? 174b.attr("type","password"):a.input.text.hidden?b.attr("type","hidden"):b.attr("type","text");a.input.text.readOnly?b.attr("disabled","disabled").addClass("alwaysDisabled"):a.input.text.Immutable&&b.attr("readonly","readonly");a.input.text.mustNotBeEmpty&&(a=function(){var a=c(this);0==a.val().length?a.addClass("InvalidField"):a.removeClass("InvalidField")},b.change(a).keyup(a));return b}};CTXS.AssistiveTextGenerator={informationIconUrl:"",generateInlineAssistiveTextNode:function(a){return(a=a.input.assistiveText)? 175c("<div>"+a+"</div>").addClass("inlineAssistiveText"):""},generateInformationIconWithTooltip:function(a){return(a=a.input.assistiveText)?c("<label class='informationAssistive'><img src='"+this.informationIconUrl+"' title='"+a+"' alt='"+a+"'/></label><div class='informationAssistiveTooltip'><p>"+a+"</p></div>"):""}}})(jQuery); 176(function(c){function e(a){return c("<img/>").attr("src",a.label.src)}function a(a,d){try{var h="<x>"+_localize(a.label.text)+"</x>",g=c(c.parseXML(h)).contents().contents();b(d,g)}catch(k){CTXS.External.reportParsingError("The label content is not valid: '"+a.label.text+"'")}}function b(a,d){d.each(function(){if(3==this.nodeType)a.append(document.createTextNode(this.nodeValue));else if(1==this.nodeType)if("B"==this.tagName||"b"==this.tagName||"I"==this.tagName||"i"==this.tagName||"U"==this.tagName|| 177"u"==this.tagName){var d=c("<"+this.tagName+"/>");a.append(b(d,c(this).contents()))}else CTXS.External.reportParsingError("Unsupported tag in a label: "+this.tagName)});return a}function d(a,b){a.addClass("label");switch(b){case "plain":a.addClass("plain");break;case "information":a.addClass("information");a.attr("role","alert");break;case "warning":a.addClass("warning");a.attr("role","alert");break;case "error":a.addClass("error");a.attr("role","alert");break;case "confirmation":a.addClass("confirmation"); 178a.attr("role","alert");break;case "inprogress":a.addClass("inprogress");a.attr("role","alert");break;default:var d=CTXS.AuthExtensions.getLabelHandlerByType(b);null!=d?a.addClass(d.getLabelTypeName()):CTXS.External.reportParsingError("unkown label type "+b)}}function g(a,b){var d=c("<div/>").addClass("left").append(b);a.append(d)}window.CTXS=window.CTXS||{};CTXS.LabelGenerator={addLabel:function(a,b){if(b.label&&"none"!=b.label.type){var d;d=CTXS.AuthExtensions.getLabelHandlerByType(b.label.type); 179null!=d?(d=d.getLabelTypeMarkup(b),g(a,d)):"image"==b.label.type?g(a,e(b)):(d=CTXS.LabelGenerator.generateInputLabelNode(b),g(a,d))}},addStandaloneLabel:function(a,b){var d=CTXS.AuthExtensions.getLabelHandlerByType(b.label.type);null!=d?(d=d.getLabelTypeMarkup(b),g(a,d)):"image"==b.label.type?g(a,e(b)):this.addStandaloneText(a,b)},addStandaloneText:function(b,e){if(e.label&&"none"!=e.label.type){var h;if("heading"==e.label.type)h=c("<span/>"),a(e,h),h=c("<h1/>").append(h);else{h=c("<div />");h.addClass("standaloneText"); 180var l=c("<div />").addClass("textContent");a(e,l);h.append(l);d(h,e.label.type)}g(b,h)}},generateInputLabelNode:function(b){var g=c("<label />").attr("for",b.credential.id);g.addClass("label");a(b,g);d(g,b.label.type);return g}}})(jQuery); 181(function(c){function e(a,b){var d=c("Label Type",a).text();c("HighlightFields CredentialID",a).each(function(){var a;a=c(this).text();a=c(b).find("#"+a);a.addClass("highlightedInput");a=c(a).closest(".field").find("label");1!=a.length&&CTXS.External.reportParsingError("Could not find an appropriate number of labels for this Credential ID");a.addClass("highlightedField"+d);a.text("*"+a.text())})}window.CTXS=window.CTXS||{};CTXS.LoginFormGenerator={generateLoginFormFromXml:function(a,b,d){var g=c("<form class='form insertPoint' action='' />"), 182f=c("Requirement",a);0==f.length&&CTXS.External.reportParsingError("must have at least one requirement node");
182CTXS.RequirementNodeProcessor.addFieldsForEachRequirement(f,g,a);CTXS.LabelHighlighter.highlightFieldsThatNeedHighlightingAndTagInputs(f,g);CTXS.FormActions.populateForm(g,b);CTXS.RequirementNodeProcessor.addLoadingSpinner(g,d);return g}};CTXS.LabelHighlighter={highlightFieldsThatNeedHighlightingAndTagInputs:function(a,b){a.each(function(){e(this,b)})}}})(jQuery); 183(function(c){function e(a,b){var d=c("<form/>");d.attr("method","post");d.attr("action",a);c.each(b,function(a,b){var e=c("<input/>");e.attr("type","hidden");e.attr("name",a);e.attr("value",b);d.append(e)});c(document.body).append(d);d.submit()}CTXS.AuthExtensions.addCustomCredentialHandler({RETURN_URL:"_rt",HASH_FRAGMENT:"_hf",STATE_CONTEXT:"_cx",CREDENTIAL_ID:"_id",POST_RETURN_URL:"_ps",CSRF_TOKEN:"_cs",POSTBACK_URL:"_pb",getCredentialTypeName:function(){return"webview"},getDataToAutoPost:function(a, 184b,d){if(d=b.credential.webview){a=d.startUrl;var g=a.split("?");a=g.shift();var g=0==g.length?"":g.join("?"),g=CTXS.getParametersFromQueryString(g),f=d.postData,e=!1;f&&(e=!0,f=CTXS.getParametersFromQueryString(f),c.extend(g,f));g[this.CREDENTIAL_ID]=b.credential.id;g[this.STATE_CONTEXT]=d.stateContext;b=CTXS.Config.getConfigValue("authManager.webviewReturnURL");b=CTXS.getAbsoluteUrl(b);g[this.RETURN_URL]=b;f=CTXS.getCSRFToken();g[this.CSRF_TOKEN]=f;CTXS.Config.getConfigValue("authManager.webviewResumeURL")|| 185(g[this.POSTBACK_URL]=d.postbackUrl);d=CTXS.getUrlHash();""!=d&&(g[this.HASH_FRAGMENT]=d);256<("&"+this.HASH_FRAGMENT+"="+encodeURIComponent(d)+"&"+this.RETURN_URL+"="+encodeURIComponent(b)).length&&CTXS.trace("Hash Fragment and return URL are longer than the specified 256 characters. This may cause issues if the StateContext, ID, and the rest of the start URL are long.");g[this.POST_RETURN_URL]=!0;this.redirectToStartUrl(a,g,e)}else CTXS.trace("Webview credential data not found for this requirement: "+ 186JSON.stringify(b.credential))},redirectToStartUrl:function(a,b,d){d?e(a,b):(b=c.param(b,!0),window.location=a+"?"+b)}})})(jQuery); 187(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={upgrade:!1,pluginInstallUrl:"",onSkipInstall:function(){},onPluginInstall:function(){}};CTXS.Widgets.PluginDownloadWidget=function(a){this.options=c.extend(e,a);this.$element=null};CTXS.Widgets.PluginDownloadWidget.prototype={showDownloadUI:function(a,b){this.$view=a;this.$element=a.find(".download-plugin");this._bindToUIEvents();this.options.upgrade?(this.$pluginAssistantHeader.text(c.localization.string("ClickUpgrade")), 188this.$skipLink.text(c.localization.string("UpgradeLater")),this.$skipLink.attr("title",c.localization.string("UpgradeLaterTip"))):b&&(this.$skipLink.text(c.localization.string("TryLater")),this.$skipLink.attr("title",c.localization.string("SkipThisStep")));this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.$chkLegalStatement=this.$element.find(".legalstatement-checkbox");this.$acceptTermsMessage=this.$element.find(".acceptterms-popup");this.$installButton=this.$element.find(".installbutton"); 189this.$securityDetails=this.$element.find(".securitydetails-popup");this.$licenseAgreement=this.$element.find(".licenseagreement-popup");this.$licenseLink=this.$element.find(".licenseagreement-link");this.$securityDetailsLink=this.$element.find(".securitydetailslink");this.$skipLink=this.$element.find(".pluginassistant-skiplink");this.$pluginAssistantHeader=this.$element.find(".plugin-assistant-header");this.$securityDetailsLink.ctxsAddCustomTooltip(this.$securityDetails,this.$element);this.$licenseLink.ctxsAddCustomTooltip(this.$licenseAgreement, 190this.$element);this.$installButton.ctxsAddCustomTooltipForButton(this.$acceptTermsMessage,this.$element);this.$skipLink.click(function(b){b.preventDefault();a.options.onSkipInstall()});this.$chkLegalStatement.change(function(){if(this.checked)a.onTermsAcceptance();else a.onTermsRejection()});this.$installButton.click(function(b){if(c(this).hasClass("disabled"))b.preventDefault();else a.options.onPluginInstall()})},onTermsAcceptance:function(){this.$acceptTermsMessage.hide();this.$installButton.attr("href", 191this.options.pluginInstallUrl);this.$installButton.removeClass("disabled")},onTermsRejection:function(){this.$installButton.attr("href","#");this.$installButton.addClass("disabled")},showDownloadUnavailableUI:function(a){this.$view=a;this.$element=a.find("#plugin-download-unavailable");this._bindToUIEvents();this.$view.ctxsDisplayPane()}}})(jQuery); 192(function(){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var c={menuItems:[],onShow:function(){},onHide:function(){},menuItemClass:"theme-highlight-color"};CTXS.Widgets.DropDownMenuWidget=function(e,a,b){this.options=$.extend(c,b||{});this.$menuContainer=e;this.$trigger=this.$menuContainer.find(".dropdown-menu-trigger");this.$overlay=a;this.$menu=this.$menuContainer.find(".dropdown-menu");this.$menuTop=this.$menu.find(".dropdown-menu-top");this.$menuBody=this.$menu.find(".dropdown-menu-body"); 193this.clickEventName="click.dropdown-menu"+Math.floor(99999*Math.random());this._generateHtml();this._bindToUiEvents()};CTXS.Widgets.DropDownMenuWidget.prototype={show:function(){this.$menu.show();this.$menuBody.find("a:first").focus();this.$overlay.show();this.$menuTop.addClass("open");this.$menuContainer.ctxsBindFocusWithin().ctxsEnableArrowNavigation();this._hideMenuOnDocumentClick();this.options.onShow()},hide:function(){$(document).off(this.clickEventName);this.$menu.hide();this.$overlay.hide(); 194this.$menuTop.removeClass("open");this.$menuContainer.ctxsUnbindFocusWithin().ctxsDisableArrowNavigation().ctxsUnbindHoverFocusEvents();this.options.onHide()},isOpen:function(){return this.$menu.is(":visible")},_bindToUiEvents:function(){var c=this;this.$trigger.off("click").on("click",function(a){a.preventDefault();CTXS.trace("clicked on the dropdown trigger button. event target: "+a.target.className);c.$menu.is(":visible")?c.hide():c.show()});this.$menuContainer.off("keyup").on("keyup",function(a){a.keyCode== 195$.ui.keyCode.ESCAPE&&c.isOpen()?(a.stopPropagation(),c.hide(),c.$trigger.focus()):c.isOpen()||a.keyCode!=$.ui.keyCode.DOWN&&a.keyCode!=$.ui.keyCode.UP||c.show()});this.$overlay.on("click",function(a){a.preventDefault()})},_generateHtml:function(){var c=this;c.$menuBody.empty();this.options.menuItems&&0<this.options.menuItems.length&&$.each(this.options.menuItems,function(a,b){var d=$('<a id="'+b.linkId+'"/>');d.text(b.linkText).addClass(c.options.menuItemClass);b.toolTip&&d.attr("title",b.toolTip); 196b.ariaLabel&&d.attr("aria-label",b.ariaLabel);b.url?d.attr("href",b.url):b.onClick&&(d.click(function(a){a.preventDefault();b.onClick(a);c.$trigger.focus()}),d.attr("href","#"));c.$menuBody.append(d)})},_hideMenuOnDocumentClick:function(){var c=this;$(document).on(this.clickEventName,function(a){c.$trigger.is(a.target)||0<c.$trigger.find(a.target).length||(CTXS.trace("clicked on document somewhere outside the menu options, this event should only be bound when the dropdown menu is visible"),c.hide())})}}})(jQuery); 197(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.ElectivePasswordChangeWidget=function(e,a,b){this.$dialog=e;this.$overlay=c(a);this.isGatewaySession=b};CTXS.Widgets.ElectivePasswordChangeWidget.prototype={centerAndDisplayDialog:function(){this.$dialog.ctxsCenter();CTXS.displayPopup(this.$overlay,this.$dialog)},cleanDialog:function(){this.$dialog.empty()},hideAndClearDialog:function(){CTXS.hidePopup(this.$overlay,this.$dialog);this.cleanDialog()},isVisible:function(){return CTXS.isPopupVisible(this.$dialog)}, 198_placeFocus:function(){var c=this.$dialog.find(".default");1===c.size()?c.focus():this.$dialog.ctxsPlaceFocusOnFirstElement()}}})(jQuery); 199$.extend(CTXS.Events,{store:{initialised:"store:initialised",appAddStarting:"store:app:add:starting",appAddFailure:"store:app:add:failure",appStatusChange:"store:app:status:change",appRevertFailure:"store:app:revert:failure",mobileAp
199pInstall:"store:app:mobile:install",linkToPublicAppStore:"store:link:publicappstore"},branding:{logoUrlStatus:"branding:logourl:status"},ui:{showMyApps:"ui:apps:myapps:show",showAppDetails:"ui:appdetails:show",showBundleDetails:"ui:bundledetails:show",showCategorizedApps:"ui:apps:categorized:show", 200showAllApps:"ui:apps:all:show",showDesktops:"ui:app:desktops:show",showTasks:"ui:app:tasks:show",showSearchView:"ui:search:view:show",customView:"ui:customview",showAppUpdates:"ui:apps:show:updates",showSearchResults:"ui:search:results:show",clearSearchResults:"ui:search:results:clear",slidingSearchActive:"ui:sliding:search:active",slidingSearchCancelled:"ui:sliding:search:cancelled",showError:"ui:message:error:show",showMessage:"ui:message:show",showAutoMessage:"ui:message:auto:show",scrollToTop:"ui:scroll:top", 201ready:"ui:ready",showAppDetailsLoadingSpinner:"ui:appdetails:show:loading",hideAppDetailsLoadingSpinner:"ui:appdetails:hide:loading",getAppInfoDetails:"ui:appdetails:getinfo",logoffRequested:"ui:logoff:requested",logoffComplete:"ui:logoff:complete",changeClient:"ui:changeclient",changeClientOnly:"ui:changeclientonly",downloadClient:"ui:downloadclient",showPhoneAbout:"ui:about:show"}}); 202(function(c){var e={prepopulatedCredentials:{},showBackToChoicesLink:!1,onAuthenticationSuccess:function(a){},onLogonTimeout:function(){},onAuthenticationError:function(){},onBackToChoices:function(){}};window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.ExplicitAuthController=function(a,b){this.$view=a;this.$formContainer=a.find(".form-container");this.$backToChoices=a.find(".back-to-choices");this.options=c.extend({},e,b);this.logonTimer=new CTXS.LogonSessionTimer; 203this.$spinnerContainer=a.find(".explicit-auth-progress");this.$spinner=this.$spinnerContainer.find(".authentication-spinner");this.progressSpinner=new CTXS.AnimatedSpinner;this.isWebviewLogon=!1;this.originalHash="";this._bindToUIEvents()};CTXS.Controllers.ExplicitAuthController.prototype={authenticate:function(a){var b=this;this.hasSentShowAccountSettingsChromeReceiver=this.hasShownBackToChoicesLink=!1;this.$formContainer.data("ctxsCtxsFormsAuthentication")||this.$formContainer.ctxsFormsAuthentication({informationIconUrl:CTXS.Device.supportsHighResDisplay()? 204"receiver/images/2x/[email protected]":"receiver/images/1x/ico_info.png",prePopulatedCredentials:this.options.prepopulatedCredentials,allowCancel:!1,authenticationSuccess:function(a,d){b._handleAuthenticationSuccess(d)},authenticationError:function(a,d){b._handleAuthenticationError(d)},displayForm:c.proxy(this._onDisplayExplicitForm,this),formProvider:function(a,d,e,h){CTXS.AuthClient.getAuthenticationForm(a,d,e,function(a,d,c){b.$view.ctxsDisplayPane();h(a,c.getResponseHeader("X-Citrix-ExplicitAuthProtocol"))}, 205c.proxy(b._handleAuthenticationError,this))}});if(b._checkForResumeForms())if(this.isWebviewLogon=!0,a=b._resumePreviousFormsConversation(CTXS.getUrlHash())){var d=a.postbackUrl||CTXS.Config.getConfigValue("authManager.webviewResumeURL");this.$formContainer.ctxsFormsAuthentication("resumeForms",d,a.stateContext,a.credentialId);b._showSpinner()}else b._handleAuthenticationError(!1);else this.isWebviewLogon=!1,this.logonTimer.start(Number(CTXS.Config.getConfigValue("session.loginFormTimeout")),c.proxy(this._handleLogonTimeout, 206this)),this.$formContainer.ctxsFormsAuthentication("startAuthentication",a)},_checkForResumeForms:function(a){return(a=a||CTXS.getUrlHash())&&-1!=a.indexOf("resumeForms:")},_resumePreviousFormsConversation:function(){var a=CTXS.getUrlHash();if(!this._checkForResumeForms(a))return!1;a=a.split("resumeForms:");a.shift();if(0>=a.length)return!1;var a=CTXS.getParametersFromQueryString(a[0]),b="",d="",c="",f;for(f in a){var e=a[f];switch(f){case "_hf":this.originalHash=e;break;case "_cx":b=e;break;case "_pb":d= 207e;break;default:e||c||(c=f)}}return{stateContext:b,postbackUrl:d,credentialId:c}},_onDisplayExplicitForm:function(){this._hideSpinner();this.$backToChoices.toggle(this.options.showBackToChoicesLink&&!this.hasShownBackToChoicesLink);this.hasShownBackToChoicesLink=!0;!this.hasSentShowAccountSettingsChromeReceiver&&CTXS.Device.isCitrixChromeApp()&&CTXS.Html5Client.postShowAccountSettingsToChromeApp();this.hasSentShowAccountSettingsChromeReceiver=!0;this.$view.scrollTop(0)},_bindToUIEvents:function(){var a= 208this;this.$backToChoices.find("a").on("click",function(b){b.preventDefault();a._handleBackToChoices()})},_showSpinner:function(){this.$spinnerContainer.show();this.progressSpinner.start(this.$spinner)},_hideSpinner:function(){this.$spinnerContainer.hide();this.progressSpinner.stop(this.$spinner)},_handleAuthenticationSuccess:function(a){this._cleanUp();var b=a.RedirectURL;b?window.open(b,"_parent"):(CTXS.Authentication.setBrowserCloseRequiredToEndSession(this.isWebviewLogon),this._checkForResumeForms()&& 209CTXS.updateUrlHash(this.originalHash),this.options.onAuthenticationSuccess(a))},_handleLogonTimeout:function(){this._cleanUp();this.options.onLogonTimeout()},_handleAuthenticationError:function(a){a&&"sessiontimeout"==a.errorId?this._handleLogonTimeout():(this._cleanUp(),this.options.onAuthenticationError())},_handleBackToChoices:function(){this._cleanUp();this.options.onBackToChoices()},_cleanUp:function(){this.logonTimer.stop();this.$formContainer.find('input[type="password"]').ctxsObliteratePassword()}}})(jQuery); 210(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={onRender:function(){},onFolderNameUpdate:function(){},onFolderNameHide:function(){}},a=[],b=c(".folder-ruler-container");CTXS.Widgets.FoldersWidget=function(a,b,f,m){this.$view=a;this.$slideEffectContainer=b;
210this.$phoneScroller=f;this.options=c.extend(e,m);this.currentFolderIndex=null};CTXS.Widgets.FoldersWidget.prototype={showByCategory:function(a){this.$view.html(this._getMarkupByCategory(a));this.options.onRender();this.currentFolderIndex= 211a.index;a=CTXS.Category_ByIndex(this.currentFolderIndex).pname;CTXS.ExtensionsHead.onFolderChange(a?a:"\\")},clearCurrentFolderIndex:function(){this.currentFolderIndex=null;CTXS.ExtensionsHead.onFolderChange("")},showByIndex:function(a){this.$view.html(this._getMarkupByIndex(a));this.options.onRender();this.currentFolderIndex=a;CTXS.ExtensionsHead.onFolderChange(CTXS.Category_ByIndex(a).pname)},navigateWithTransition:function(a,b){this._isBackButton(a)?this.navigateBackWithTransition():this._transitionForward(b)}, 212navigateTo:function(a){this.showByIndex(a);this.$phoneScroller[0].scrollTop=0},_isBackButton:function(a){return a&&a.hasClass("back")},navigateBack:function(){if(CTXS.UI.useSmallTiles())this.navigateBackWithTransition();else{var a=CTXS.Category_ByIndex(this.currentFolderIndex).parentCategory.index;this.showByIndex(a)}},navigateBackWithTransition:function(){var a=this,b=CTXS.Category_ByIndex(this.currentFolderIndex).parentCategory.index,c=this.currentViewMarkup||this._getMarkupByIndex(this.currentFolderIndex); 213this.$slideEffectContainer.html(c);this.$slideEffectContainer.stop().css({left:0}).show();this.$phoneScroller[0].scrollTop=0;this.currentViewMarkup=this._getMarkupByIndex(b);this.$view.html(this.currentViewMarkup);this.options.onRender();this.$view.stop().css({left:-document.documentElement.clientWidth}).animate({left:0},400);this.$phoneScroller.css({"overflow-y":"hidden"});this.$slideEffectContainer.animate({left:document.documentElement.clientWidth},400,function(){a.$slideEffectContainer.hide(); 214a.currentFolderIndex=b;a.$phoneScroller.css({"overflow-y":"scroll"});var c=CTXS.Category_ByIndex(b).pname;CTXS.ExtensionsHead.onFolderChange(c?c:"\\")})},_transitionForward:function(a){var b=this;this.currentViewMarkup=this._getMarkupByIndex(a);this.$phoneScroller.css({"overflow-y":"hidden"});this.$slideEffectContainer.html(this.currentViewMarkup);this.$view.stop().css({left:0}).animate({left:-document.documentElement.clientWidth},400);this.$slideEffectContainer.stop().css({left:document.documentElement.clientWidth}).show().animate({left:0}, 215400,function(){b.$view.html(b.currentViewMarkup);b.options.onRender();b.$phoneScroller[0].scrollTop=0;b.$view.stop().css({left:0});b.$slideEffectContainer.hide();b.currentFolderIndex=a;b.$phoneScroller.css({"overflow-y":"scroll"});CTXS.ExtensionsHead.onFolderChange(CTXS.Category_ByIndex(a).pname)})},_mkGetFolderMarkupFn:function(a,b){var c=this;return function(){return c._generateFolderHtml(a,b)}},_getMarkupByCategory:function(a){CTXS.trace("show folderview ("+a+")");var b="";if(CTXS.UI.useSmallUILayout())if(null!= 216a.parentCategory)this.options.onFolderNameUpdate(this._getFolderName(a.getDisplayFolderName()));else this.options.onFolderNameHide();var c=CTXS.ExtensionsHead.isDefined("getFolderMarkup");if(null!=a.subcategories)for(var e in a.subcategories)if(a.subcategories.hasOwnProperty(e))var h=a.subcategories[e],l=this._getFolderName(h.getDisplayFolderName()),b=c?b+CTXS.ExtensionsHead.getFolderMarkup(h,l,this._mkGetFolderMarkupFn(h,l)):b+this._generateFolderHtml(h,l);0<b.length&&(b='<ul class="storeapp-list folder-container">'+ 217b+"</ul>");if(a.apps){b+='<ul class="storeapp-list">';c=0;for(e=a.apps.length;c<e;c++)b+=this._generateAppHtml(a.apps[c]);b+="</ul>"}return b},_getMarkupByIndex:function(a){return this._getMarkupByCategory(CTXS.Category_ByIndex(a))},_generateFolderHtml:function(a,b){return'<li class="folder" data-folderindex="'+a.index+'"><a href="#" class="storeapp-details-link"><div class="storeapp-icon"></div><div class="folder-count">'+a.count+'</div><div class="storeapp-details-container"><p class="storeapp-name theme-highlight-color">'+ 218b+"</p></div>"+(CTXS.UI.useSmallUILayout()?'<div class="folder-action-link theme-highlight-sprite" ></div>':"")+"</a></li>"},_generateAppHtml:function(a){return CTXS.Views.AppView.getMarkup(a)},_bindToUiEvents:function(){},_getFolderName:function(d){if(6<d.length){var c=a[d];if(c)return c;c=CTXS.truncateToFit(b,d,120,2,!1);return a[d]=c}return d}}})(jQuery); 219(function(c){var e="oninput"in c("<input type='text'/>")[0]?"input":"keyup",a={"X-Citrix-AM-CredentialTypes":"none, username, domain, password, newpassword, passcode, savecredentials, textcredential, webview","X-Citrix-AM-LabelTypes":"none, plain, heading, information, warning, error, confirmation, image"};c.widget("ctxs.ctxsFormsAuthentication",{options:{allowCancel:!0,prePopulatedCredentials:{},formActionSpinnerImageUrl:"receiver/images/common/authspinner.gif",informationIconUrl:"receiver/images/1x/ico_info.png", 220formProvider:function(a,d,c,f){f("","")},beforeDisplayForm:null,displayForm:null,authenticationSuccess:null,authenticationCancel:null,authenticationError:null},_create:function(){CTXS.AssistiveTextGenerator.informationIconUrl=this.options.informationIconUrl},_setOption:function(a,d){"informationIconUrl"===a&&(CTXS.AssistiveTextGenerator.informationIconUrl=d);this._super(a,d)},startAuthentication:function(b){var d=this._updateCredentialAndLabelTypesForHeaders(a);this.options.formProvider(b,{},d,this._getResponseHandler())}, 221resumeForms:function(b,d,c){d="StateContext="+d+"&"+c+"=";c=this._updateCredentialAndLabelTypesForHeaders(a);this.options.formProvider(b,d,c,this._getResponseHandler())},_getResponseHandler:function(){return c.proxy(this._processResponse,this)},_processResponse:function(a,d){var g=c("Result",a).text();c("body").css("cursor","default");switch(g){case "success":g={authenticationType:c("AuthType",a).text(),isPasswordChangeAllowed:"true"==c("IsChangePasswordEnabled",a).text(),isPasswordExpiryNotificationEnabled:"true"== 222c("IsExpiryNotificationEnabled",a).text(),passwordExpiryTime:parseInt(c("TimeRemaining",a).text(),10)||0,authenticationResponse:a,RedirectURL:c("RedirectURL",a).text()};this._trigger("authenticationSuccess",null,g);break;case "cancelled":this._trigger("authenticationCancel",null,{authenticationResponse:a});break;case "fail":g={errorId:c("LogMessage",a).text(),authenticationResponse:a};this._trigger("authenticationError",null,g);break;case "more-info":case "update-credentials":this.stateContext=c("StateContext", 223a).text(),this._displayResponseContent(a,d)}},_displayResponseContent:function(a,d){var g=CTXS.LoginFormGenerator.generateLoginFormFromXml(a,this.options.prePopulatedCredentials,this.options.formActionSpinnerImageUrl);this._trigger("beforeDisplayForm");this.element.html(g);this._formatForm(a,d);this._trigger("displayForm",null,{authenticationElement:this.element});CTXS.AuthExtensions.isAutoPostAddedToForm()&&CTXS.AuthExtensions.AutoPostCallback(this.element);CTXS.Device.isDesktop()&&this._focusOnFirstInputField();
224this._reinforceAlerts();this.options.reservedSpace&&this._addScrollBar();"True"==jQuery("AutoPost",a).text()&&this.element.find(".button").click();if(window.matchMedia){var g=window.matchMedia("all and (max-width: 767px)"),f=function(a){a.matches&&CTXS.Device.isMobileDevice()?c(".informationAssistive").ctxsAddCustomTooltip(c(".informationAssistiveTooltip"),c(".form-container")):c(".informationAssistive").ctxsRemoveCustomTooltip(c(".informationAssistiveTooltip"),c(".form-container"))};g.addListener(f); 225f(g)}},_focusOnFirstInputField:function(){var a=this.element.find("input:enabled").filter(function(){return""==c(this).val()||c(this).hasClass("highlightedInput")});a&&0!=a.length||(a=this.element.find("input:enabled, .button"));a&&(a.first().focus(),a.first().hasClass("button")||a.first().select())},_convertInputForIE:function(a){var d=this,c=a.attr("placeholder");if(c){var f=a.attr("id")+"-placeholder",m='<div class="pseudo-input '+(a.attr("class")||"")+'"></div>';a.wrap(m);a.after('<span id="'+ 226f+'" class="pseudo-input">'+c+"</span>");a.attr("placeholder","");this._applyPseudoPlaceholder(a,f);a.on(e,function(){d._applyPseudoPlaceholder(a,f)})}},_applyPseudoPlaceholder:function(a,d){a.val()?this.element.find("#"+d).removeClass("show"):this.element.find("#"+d).addClass("show")},_updateCredentialAndLabelTypesForHeaders:function(a){a=c.extend({},a);a=this._addCustomFormTypesToHeaders(a,"X-Citrix-AM-LabelTypes",CTXS.AuthExtensions.getLabelHandlers());a=this._addCustomFormTypesToHeaders(a,"X-Citrix-AM-CredentialTypes", 227CTXS.AuthExtensions.getCredentialHandlers());CTXS.isFeatureEnabled("Citrix.DeliveryServices.WebUI.WebviewCredentialSupport")||(a=this._removeFormTypeFromHeaders(a,"X-Citrix-AM-CredentialTypes","webview"));return a},_getTypeName:function(a,d){switch(d){case "X-Citrix-AM-LabelTypes":return a.getLabelTypeName();case "X-Citrix-AM-CredentialTypes":return a.getCredentialTypeName();default:return""}},_removeFormTypeFromHeaders:function(a,d,g){var f=a[d];if(!f)return a;var e=f.split(", "),h=c.inArray(g,e); 228-1<h&&(e.splice(h,1),f=e.join(", "),CTXS.trace("Form type "+g+" removed from headers."));a[d]=f;return a},_addCustomFormTypesToHeaders:function(a,d,c){var f=a[d];if(c){f||(f="");for(var e=0;e<c.length;e++){var h=c[e],l=this._getTypeName(h,d);l&&"string"===typeof l?f+=(f?", ":"")+l:CTXS.trace("Handler "+h.name+" did not provide a non-empty string as a type name, skipping.")}a[d]=f}return a},_formatForm:function(a,d){function g(){var a=f.element.find(".CredentialTypedomain input, .CredentialTypedomain select"), 229b=f.element.find(".CredentialTypedomain label"),d=-1!=h.val().indexOf("@")||-1!=h.val().indexOf("\\");a.attr("disabled",d);d?b.addClass("disabled"):b.removeClass("disabled")}var f=this;f.element.find(".form").addClass("credentialform").append('<div class="spacer"/>');f.element.find("form").attr("method","POST");f.element.find("form").attr("action",c("PostBack",a).text());f.element.find(".CredentialTypesavecredentials").hide();f.options.allowCancel||f.element.find("#chimeraCancelBtn").remove();f.element.find(".CheckMeWhenInDom").prop("checked", 230!0);"CustomForms"==d&&f.element.find(".form").addClass("customform");(function(a){a=a.find("div[class*='CredentialType']:not(.CredentialTypenone)");a.find(".left label").filter(function(){return""==c(this).text()}).length==a.length&&a.each(function(){c(this).find(".left").remove();c(this).find(".right").removeClass("right").addClass("left")})})(f.element.find("form"));f.element.find(".inlineAssistiveText").each(function(){var a=c(this),b=a.parent().children("input[type=text], input[type=password]"); 231if(1!=b.length)return!0;b.attr("placeholder",a.text()).attr("title",a.text());a.remove();(CTXS.Device.isIE()||CTXS.Device.isSpartan())&&f._convertInputForIE(b)});f.element.find(".forms-authentication-button[id^=link_]").addClass("display-as-link authentication-link");f.element.find(".buttonscontainer").filter(function(){return 1<c(this).find(".forms-authentication-button").not(".display-as-link").length}).addClass("multiple-buttons");f.element.find(".forms-authentication-button:last-child").not(".display-as-link").addClass("last-child"); 232var m=function(a){var b=a.attr("id");a=a.text();return b&&a?{id:b,value:a}:null};f.element.find(".forms-authentication-button").addClass("default").click(function(d){d.preventDefault();d=c(this);var h=d.hasClass("disabled")||d.hasClass("waiting"),e="chimeraCancelBtn"==d.attr("id");h||(e&&f.element.find("form").attr("action",c("CancelPostBack",a).text()),f._submitForm(m(d)))});var h=f.element.find(".CredentialTypeusername input");0<navigator.userAgent.indexOf("Trident/4")&&f.element.find(".CredentialTypedomain option").each(function(){c(this).attr("title", 233this.value)});0<f.element.find(".CredentialTypedomain").length&&(h.on("change "+e,g),g());f.element.find("input[type=text], input[type=password]").attr("autocomplete","off").attr("spellcheck",!1);f._disableFormAutoSubmission();
233f.element.on("keydown","input, .button",c.proxy(f._handleKeydown,f))},_reinforceAlerts:function(){for(var a=[".error",".warning",".information",".confirmation"],d=0;d<a.length;d++){var c=this.element.find(a[d]);if(c.length){a=c.first();a.text(a.text());break}}},_handleKeydown:function(a){var d= 234c(a.target);a.keyCode==c.ui.keyCode.ENTER?(this.element.off("keydown","input, .button",this._handleKeydown),d.is(".button")||(a.preventDefault(),a.stopPropagation(),d=this.element.find(".form .forms-authentication-button").first(),d.click())):a.keyCode==c.ui.keyCode.ESCAPE&&(d=this.element.find("#chimeraCancelBtn"),d.length&&(this.element.off("keydown","input, .button",this._handleKeydown),a.preventDefault(),a.stopPropagation(),d.click()))},_submitForm:function(b){var d=this.element.find(".form"), 235c=this._updateCredentialAndLabelTypesForHeaders(a);CTXS.FormActions.disableFormAndShowHourglass(d,b);this.options.reservedSpace&&this._updateScrollHeight();d=d.attr("action");b=this._getFormPostData(b);this.options.formProvider(d,b,c,this._getResponseHandler())},_getFormPostData:function(a){var d={},e=this.element.find(".form");c("input[type!='submit']",e).each(function(){var a;"checkbox"==this.type?a=this.checked:"radio"==this.type?this.checked&&(a=this.value):a="username"==this.name||"domain"== 236this.name?c.trim(this.value):this.value;"undefined"!=typeof a&&(d[this.name]=a)});d.username&&(this.options.prePopulatedCredentials.username=d.username,this.options.prePopulatedCredentials.domain=d.domain,this.options.prePopulatedCredentials.password="");c("select",e).each(function(){for(var a=[],b=0;b<this.length;b++)this.options[b].selected&&a.push(this.options[b].value);d[this.name]=0==a.length?"":a});a&&(d[a.id]=a.value);d.StateContext=this.stateContext;return c.param(d,!0)},_disableFormAutoSubmission:function(){this.element.find(".form").submit(function(){return!1})}, 237_addScrollBar:function(){0===this.element.find(".logonbox-scroller").length&&(this.element.find("form.credentialform").wrap('<div class="logonbox-scroller"></div>').parent().ctxsMakeScrollable(),this._updateScrollHeight())},_updateScrollHeight:function(){var a=this.element.find(".logonbox-scroller"),d=c(window).height(),e=parseFloat(this.element.css("paddingTop"))||0,f=parseFloat(this.element.css("paddingBottom"))||0,d=d-this.options.reservedSpace-e-f,e=this.element.find("form.credentialform").height(); 238a.height(Math.min(d,e+1));a.ctxsUpdateScrollPane()},resize:function(){this.options.reservedSpace&&this._updateScrollHeight()}})})(jQuery);window.CTXS=window.CTXS||{};CTXS.External={reportParsingError:function(c){window.console&&window.console.log&&window.console.log("ctxsFormsAuthentication:"+c)}}; 239(function(c){function e(a,b){window.location.href=b}window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.HomeController=function(a,b){this.$body=a;this.store=b;this.$homeView=a.find(".home-view");this.$header=this.$homeView.find(".store-header");this.$userMenu=this.$header.find(".user-menu.dropdown-menu-container");this.$storeView=this.$homeView.find(".storeViewSection");this.$sideMenu=this.$homeView.find(".side-menu");this.$aboutBox=a.find("#aboutBoxPopup");this.$aboutCloseBtn= 240this.$aboutBox.find("#aboutBoxCloseBtn");this.$aboutThirdPartyNoticesBtn=this.$aboutBox.find("#thirdPartyNoticesBtn");this.$aboutThirdPartyNoticesPhoneBtn=a.find("#thirdPartyNoticesPhoneBtn");this.$messageBoxOverlay=a.find("#genericMessageBoxOverlay");this.$sideMenu=this.$homeView.find(".side-menu");this.overlaySpinner=new CTXS.AnimatedSpinner;this.$refreshSpinner=this.$homeView.find(".refresh-spinner");this.$refreshOverlay=a.find("#refresh-overlay");this.$homeView.ctxsDisplayPane();CTXS.Device.isCitrixChromeApp()&& 241CTXS.Html5Client.postShowAccountSettingsToChromeApp();this._bindToUIEvents();this._bindToAppEvents();this.autoMessageWidget=new CTXS.Widgets.AutoMessageWidget(this.$homeView.find("#autoMessagePopup"),this.$homeView.find("#autoMessageOverlay"));this._initializeMainViews();CTXS.Controllers.StoreAppListViewController.initialise(this.$homeView.find(".store-apps-container"),this.$homeView.find(".no-results-message"),this.$homeView.find(".store-toolbar"),this.$homeView.find(".store-toolbar-phone"),this.$storeView.find(".applicationBundleContainer"), 242this.$storeView.find(".applicationBundleHeader"),this.$homeView.find(".bundleDetail-toolbar"),this.$homeView.find(".search-container"),this.store,this.$homeView.find(".no-fav-results-message"));CTXS.Controllers.AppInfoController.initialise(this.$homeView.find(".appInfoView"),this.store,this.$homeView.find(".appinfo-toolbar"));CTXS.UI.useSmallUILayout()&&(this.slidingMenuWidget=new CTXS.Widgets.SlidingMenuWidget(this.$homeView.find(".home-view-content"),this.$sideMenu,this.$header.find(".side-menu-thumb"), 243this.$homeView.find(".side-menu-content-overlay")),this._initialiseSlidingUserMenu(this.$sideMenu));this.changePasswordController=new CTXS.Controllers.ChangePasswordController(c("#genericDialogBox"),{overlaySelector:"#genericDialogBoxOverlay",onAuthenticationError:function(){CTXS.Environment.showDialog({messageText:c.localization.string("CannotCompleteYourRequest")})},isDialog:!0});this.setDefaultView();var d=CTXS.UserInfo.getName();d?this._updateUserDisplayName(d):this.store.loadUserDisplayName(); 244CTXS.IconsLoader.loadIcons(this.store.getAllApps());CTXS.IconsLoader.loadIcons(this.store.getDesktops());this.workflowNotificationController=new CTXS.Controllers.WorkflowNotificationController(this.store);CTXS.Device.isNativeClient()?CTXS.Device.isNativeClient()&&CTXS.NativeCapabilities.menuPreferences&&this.initialiseUserMe
244nu():(this.initialiseWorkspaceControl(),this.initialiseUserMenu(),CTXS.ExtensionsHead.webReconnectAtStartup(this.workspaceControl.isAutoSessionReconnectAllowed())&&this.workspaceControl.reconnectAppSessions(), 245CTXS.Store.canAutoLaunchSingleDesktop()&&this._autolaunchSingleDesktop());CTXS.AppShortcuts.isAppShortcutLaunch()&&(this.appShortcutController=new CTXS.Controllers.AppShortcutController(this.store),this.appShortcutController.validateAppShortcutLaunch())};CTXS.Controllers.HomeController.prototype={resize:function(){CTXS.Controllers.StoreAppListViewController.resize();CTXS.Controllers.AppInfoController.resize()},_bindToUIEvents:function(){var a=this;if(CTXS.Device.isNativeClient()&&(CTXS.UI.useSmallUILayout()? 246null!=CTXS.NativeCapabilities.menuPreferences&&!1!==CTXS.NativeCapabilities.menuPreferences.preferences:null==CTXS.NativeCapabilities.menuPreferences))this.$homeView.find(".settings-button").on("click",function(a){a.preventDefault();var d=c(this),e=d.offset();a=d.find(".user-display-name");var f=a.offset(),e=e.left,f=f.top,d=d.outerWidth();a=a.outerHeight();CTXS.Environment.showSettings(e,f,e+d,f+a)});CTXS.UI.useSmallUILayout()&&(this.$sideMenu.find(".logoff-button").on("click",function(a){a.preventDefault(); 247CTXS.Environment.logOff()}),this.$sideMenu.find(".menu-action.about").on("click",function(b){b.preventDefault();CTXS.Environment.showAboutBox(c(this),a.$messageBoxOverlay,a.$aboutBox)}),this.$sideMenu.find(".menu-action.refresh").on("click",function(a){a.preventDefault();CTXS.Environment.refresh()}));this.$aboutCloseBtn.on("click",function(b){b.preventDefault();a._hideAboutBox()});this.$aboutThirdPartyNoticesBtn.on("click",function(b){a._openThirdPartyUrl(c(this));b.preventDefault()});this.$aboutThirdPartyNoticesPhoneBtn.on("click", 248function(b){a._openThirdPartyUrl(c(this));b.preventDefault()});this.$refreshOverlay.click(function(a){a.preventDefault()});this.$aboutBox.on("keyup",function(b){b.keyCode===c.ui.keyCode.ESCAPE&&CTXS.isPopupVisible(a.$aboutBox)&&a._hideAboutBox()})},_bindToAppEvents:function(){var a=this;CTXS.Events.subscribe(CTXS.Events.ui.showMessage,function(b,d){a._hideAboutBox()});CTXS.Events.subscribe(CTXS.Events.session.terminating,function(){a._hideAboutBox()});CTXS.Events.subscribe(CTXS.Events.store.mobileAppInstall, 249e);CTXS.Events.subscribe(CTXS.Events.store.linkToPublicAppStore,e);CTXS.Events.subscribe(CTXS.Events.resources.userDisplayNameSupplied,function(b,d){a._updateUserDisplayName(d)});CTXS.Events.subscribe(CTXS.Events.ui.showMyApps,function(){a.$header.find(".header-title").text(c.localization.string("QuickAccess"))});CTXS.Events.subscribe(CTXS.Events.ui.showAllApps,function(){a.$header.find(".header-title").text(c.localization.string("AllApps"))});CTXS.Events.subscribe(CTXS.Events.ui.showDesktops,function(){a.$header.find(".header-title").text(c.localization.string("Desktops"))}); 250CTXS.Events.subscribe(CTXS.Events.ui.customView,function(b,d){a.$header.find(".header-title").text(d)});CTXS.Events.subscribe(CTXS.Events.ui.showAutoMessage,function(b,d){a.autoMessageWidget.show(d)});CTXS.Events.subscribe(CTXS.Events.store.appAddFailure,function(a,d){CTXS.Environment.showDialog({messageTitle:c.localization.string("CannotAddAppTitle"),messageText:c.localization.string("CannotAddApp",CTXS.sanitizeString(d.name)),id:d.name,resource:d})});CTXS.Events.subscribe(CTXS.Events.store.appRevertFailure, 251function(a,d){CTXS.Environment.showDialog({messageTitle:c.localization.string("CannotRemoveAppTitle"),messageText:c.localization.string("CannotRemoveApp",CTXS.sanitizeString(d.name)),id:d.name,resource:d})});CTXS.Events.subscribe(CTXS.Events.resources.startRefreshApps,function(){a.$refreshSpinner.show();a.$refreshOverlay.ctxsBindFocusWithin({selector:"*"});a.overlaySpinner.start(a.$refreshSpinner,a.$refreshOverlay)});CTXS.Events.subscribe(CTXS.Events.resources.endRefreshApps,function(){a.$refreshSpinner.hide(); 252a.$refreshOverlay.ctxsUnbindFocusWithin();a.overlaySpinner.stop(a.$refreshSpinner,a.$refreshOverlay);CTXS.Controllers.ViewController.forceRedrawOnBack()});CTXS.Events.subscribe(CTXS.Events.ui.slidingSearchActive,function(){a.slidingMenuWidget&&a.slidingMenuWidget.setEnabled(!1)});CTXS.Events.subscribe(CTXS.Events.ui.slidingSearchCancelled,function(){a.slidingMenuWidget&&a.slidingMenuWidget.setEnabled(!0)});CTXS.Events.subscribe(CTXS.Events.resources.endRefreshApps,function(){var b=CTXS.currentView; 253a._updateTabsAvailableValues();a.$homeView.find(".myapps-view.toggle-view-button").toggle(a.showMyApps);a.$homeView.find(".store-view.toggle-view-button").toggle(a.hasApps);a.$homeView.find(".desktops-view.toggle-view-button").toggle(a.hasDesktops);
253"myapps"!=b||a.showMyApps?"store"!=b||a.hasApps?"desktops"!=b||a.hasDesktops?"search"!=b&&"appinfo"!=b&&"bundledetail"!=b||a.setDefaultView():a.setDefaultView():a.setDefaultView():a.setDefaultView()})},_updateUserDisplayName:function(a){a||(a=c.localization.string("Menu")); 254this.$homeView.find(".user-display-name").text(a)},_checkAndDisplayTaskView:function(){if(CTXS.isFeatureEnabled("Citrix.DeliveryServices.Authentication.SelfServiceAccountManagement")&&!CTXS.Device.isMobileDevice()&&!CTXS.Environment.isGatewaySession()){var a=this,b={url:CTXS.Config.getConfigValue("authManager.allowSelfServiceAccountManagementURL"),dataType:"xml",type:"POST",refreshSession:!0,success:function(b,e,f){"True"==c("SelfServiceAccountManagementStatus>AllowSelfServiceAccountManagement",b).text()&& 255(b=c("SelfServiceAccountManagementStatus>SelfServiceAccountManagementURL",b).text(),CTXS.Controllers.StoreAppListViewController.setAccountManagementURL(b),a.$homeView.find(".tasks-view.toggle-view-button").toggle(!0))},error:function(a,b){CTXS.trace("CTXS.AuthClient failed to check account management configuration - status: "+b)}};c.ctxsAjax(b)}},_updateTabsAvailableValues:function(){this.hasApps=0<this.store.getAllApps().length;this.hasDesktops=0<this.store.getDesktops().length;this.showMyApps=this.store.isSelfServiceEnabled()}, 256_initializeMainViews:function(){this._updateTabsAvailableValues();CTXS.Controllers.ViewController.initialise(this.$body,this.$homeView.find(".toggle-view-button"),this.$homeView.find(".myapps-view.toggle-view-button"),this.$homeView.find(".store-view.toggle-view-button"),this.$homeView.find(".updates-view.toggle-view-button"),this.$homeView.find(".desktops-view.toggle-view-button"),this.$homeView.find(".tasks-view.toggle-view-button"),this.store,{isMyAppsViewVisible:this.showMyApps,isAllAppsViewVisible:this.hasApps, 257isDesktopsViewVisible:this.hasDesktops,isTasksViewVisible:!1});this._checkAndDisplayTaskView();CTXS.StoreViewManager.initialise()},setDefaultView:function(){var a="true"===CTXS.Config.getConfigValue("userInterface.uiViews.showAppsView")&&this.hasApps,b="true"===CTXS.Config.getConfigValue("userInterface.uiViews.showDesktopsView")&&this.hasDesktops,d=CTXS.Config.getConfigValue("userInterface.uiViews.defaultView").toLowerCase(),e="AddFavoritesDescription",f="AddFavoritesDescriptionPhone";a&&!b?(e="AddFavoritesDescriptionAppsOnly", 258f="AddFavoritesDescriptionPhoneAppsOnly"):!a&&b&&(e="AddFavoritesDescriptionDesktopsOnly",f="AddFavoritesDescriptionPhoneDesktopsOnly");this.$homeView.find("#no-fav-msg-desc").text(c.localization.string(e));this.$homeView.find("#no-fav-msg-desc-phone").text(c.localization.string(f));this.hasApps||this.hasDesktops?this.showMyApps&&("auto"===d||"apps"===d&&!this.hasApps||"desktops"===d&&!this.hasDesktops)?CTXS.Events.publish(CTXS.Events.ui.showMyApps):this.hasApps&&"apps"===d?CTXS.Events.publish(CTXS.Events.ui.showAllApps): 259this.hasDesktops&&"desktops"===d?CTXS.Events.publish(CTXS.Events.ui.showDesktops):a?CTXS.Events.publish(CTXS.Events.ui.showAllApps):CTXS.Events.publish(CTXS.Events.ui.showDesktops):(a="true"===CTXS.Config.getConfigValue("userInterface.uiViews.showAppsView"),e="true"!==CTXS.Config.getConfigValue("userInterface.uiViews.showDesktopsView")||a?"YouCannotUseAppsOrDesktops":"YouCannotUseDesktops",this.$homeView.find(".no-apps-or-desktops-message").text(c.localization.string(e)).show())},_openThirdPartyUrl:function(a){a= 260a.attr("href");CTXS.Environment.openUrl(a)},_showAboutBox:function(){CTXS.Environment.showAboutBox(this.$userMenu.find("#aboutBtn"),this.$messageBoxOverlay,this.$aboutBox)},_showSettings:function(a){var b=a.offset(),d=b.left,c=b.top,f=b.left+a.outerWidth();a=b.top+a.outerHeight();CTXS.Environment.showSettings(d,c,f,a)},_hideAboutBox:function(){CTXS.hidePopup(this.$messageBoxOverlay,this.$aboutBox)},_autolaunchSingleDesktop:function(){var a=CTXS.Store.getDesktops()[0];"yes"!=CTXS.getCookie(CTXS.COOKIE_DESKTOP_AUTO_LAUNCH_DONE)&& 261(CTXS.setCookie(CTXS.COOKIE_DESKTOP_AUTO_LAUNCH_DONE,"yes"),CTXS.launchResource(a,!0),CTXS.ClientManager.getLaunchMethod()==CTXS.LaunchMethod.HTML5&&CTXS.popupsEnabled(c.localization.string("PopupBlockerDesktopAutoLaunch")))},_initialiseSlidingUserMenu:function(a){CTXS.NativeCapabilities&&CTXS.NativeCapabilities.menuPreferences&&(!1===CTXS.NativeCapabilities.menuPreferences.preferences&&a.find(".menu-action.settings").addClass("hide"),!1===CTXS.NativeCapabilities.menuPreferences.about&&a.find(".menu-action.about").addClass("hide"), 262!1===CTXS.NativeCapabilities.menuPreferences.refresh&&a.find(".menu-action.refresh").addClass("hide"),!1===CTXS.NativeCapabilities.menuPreferences.logoff&&a.find(".logoff-button").addClass("hide"))},_addAboutBtn:function(a){var b=this;a.push({linkId:"aboutBtn",linkText:c.localization.string("About"),ariaLabel:c.localization.string("About"),onClick:function(){b._showAboutBox()}})},_addLogOffBtn:function(a,b){a.push({linkId:"menuLogOffBtn",linkText:c.localization.string("LogOff"),ariaLabel:c.localization.string("LogOff"), 263toolTip:!CTXS.Device.isNativeClient()&&this.workspaceControl.isAllowed()&&"disconnect"==b?c.localization.string("DisconnectApps"):null,onClick:function(){CTXS.Environment.logOff()}})},initialiseWorkspaceControl:function(){var a={isEnabled:"true"==CTXS.Config.getConfigValue("userInterface.workspaceControl.enabled"),isUnauthenticatedStore:this.store.isUnauthenticatedStore(),isHtml5Launch:CTXS.ClientManager.getLaunchMethod()==CTXS.LaunchMethod.HTML5,isSingleTabLaunch:"true"==CTXS.Config.getConfigValue("pluginAssistant.html5.singleTabLaunch"), 264icaDetails:{isPassThrough:CTXS.ClientManager.isPassThroughSession(),usingNativeClientInInternetZone:CTXS.ClientManager.usingNativeClientInInternetZone()},isAppShortcutLaunch:CTXS.AppShortcuts.isAppShortcutLaunch(),userHasAppsInStore:0<this.store.getAllApps().length,autoReconnectAtLogon:"true"===CTXS.Config.getConfigValue("userInterface.workspaceControl.autoReconnectAtLogon"),appShortcutsAllowSessionReconnect:"true"===CTXS.Config.getConfigValue("userInterface.appShortcuts.allowSessionReconnect"),autoLaunchSingleDesktop:CTXS.Store.canAutoLaunchSingleDesktop(), 265listSessionsUrl:CTXS.Config.getConfigValue("storeProxy.sessionsProxy.listAvailableURL"),displayReconnectFailureCallback:function(){CTXS.Environment.showDialog({messageText:c.localization.string("SessionsListFailure"),id:"SessionsListFailure"})},displayPopupBlockerMessageCallback:function(){CTXS.Environment.showDialog({messageText:c.localization.string("PopupBlockerReconnectApps"),id:"PopupBlockerReconnectApps"})},messageForPopupBlockerReconnectApps:c.localization.string("PopupBlockerReconnectApps")}; 266this.workspaceControl=new CTXS.WorkspaceControl(a)}
266,initialiseUserMenu:function(){var a=[],b=this,d=CTXS.Config.getConfigValue("userInterface.workspaceControl"),e="true"==d.showReconnectButton,f="true"==d.showDisconnectButton,d=d.logoffAction,m="true"==CTXS.Config.getConfigValue("pluginAssistant.showOnlyIfRequiredByApps"),h=CTXS.Store.requiresReceiver(),m=m&&!h,l=!CTXS.Device.isNativeClient()&&"true"==CTXS.Config.getConfigValue("userInterface.receiverConfiguration.enabled"),h="true"!=CTXS.Config.getConfigValue("userInterface.receiverConfiguration.showOnlyIfRequiredByApps")|| 267h,k=!(CTXS.Device.isChromeOS()||CTXS.Device.isCitrixChromeApp()),l=l&&h&&k,h=CTXS.primaryStore.baseUrl+CTXS.Config.getConfigValue("userInterface.receiverConfiguration.downloadURL"),k=CTXS.getCSRFToken();l&&h&&k&&(h=CTXS.updateQueryString(h,"CsrfToken",k),h=CTXS.updateQueryString(h,"IsUsingHttps",CTXS.isUsingHttps()),a.push({linkId:"menuActivateBtn",linkText:c.localization.string("ActivateReceiver"),toolTip:c.localization.string("ActivateReceiverToolTip"),url:h}));CTXS.Device.isNativeClient()||CTXS.Html5Client.isMandatory()|| 268m||(CTXS.Device.isProtocolHandlerSupported()&&CTXS.Device.isProtocolHandlerEnabled()?a.push({linkId:"menuChangeClientBtn",linkText:c.localization.string(CTXS.Html5Client.isAvailable()?"ChangeClient":"InstallReceiver"),onClick:function(){CTXS.Events.publish(CTXS.Events.ui.changeClient)}}):(m=CTXS.Device.isProtocolHandlerSupported()&&!CTXS.Device.isProtocolHandlerEnabled(),l=CTXS.Device.isWindowsPlatform()&&!CTXS.Device.isBrowserPluginSupported(),h="false"!=CTXS.Config.getConfigValue("pluginAssistant.enabled"), 269k=CTXS.Device.isWindowsPlatform()||CTXS.Device.isMacOSX(),(m||l)&&h&&k&&a.push({linkId:"menuDownloadClientBtn",linkText:c.localization.string("DownloadReceiver"),onClick:function(){CTXS.Events.publish(CTXS.Events.ui.downloadClient)}}),l=CTXS.Device.isProtocolHandlerSupported()||CTXS.Device.isBrowserPluginSupported(),!CTXS.Html5Client.isAvailable()||l&&!m||a.push({linkId:"menuChangeClientBtn",linkText:c.localization.string("ChangeClient"),onClick:function(){CTXS.Events.publish(CTXS.Events.ui.changeClientOnly)}}))); 270!CTXS.Device.isNativeClient()&&CTXS.Authentication.isPasswordChangeAllowed()&&a.push({linkId:"menuChangePasswordBtn",linkText:c.localization.string("ChangePassword"),ariaLabel:c.localization.string("ChangePassword"),onClick:function(){b.changePasswordController.requestPasswordChangeUI()}});CTXS.Device.isNativeClient()||(CTXS.ExtensionsHead.showWebReconnectMenu(this.workspaceControl.isAllowed()&&e&&this.workspaceControl.isSessionReconnectAllowed())&&a.push({linkId:"menuConnectBtn",linkText:c.localization.string("Connect"), 271onClick:function(){b.workspaceControl.reconnectAppSessions()}}),CTXS.ExtensionsHead.showWebDisconnectMenu(this.workspaceControl.isAllowed()&&f)&&a.push({linkId:"menuDisconnectBtn",linkText:c.localization.string("Disconnect"),onClick:function(){CTXS.Events.publish(CTXS.Events.ui.logoffRequested,{icaSessionLogoffAction:CTXS.ICA_SESSION_LOGOFF_ACTION.DISCONNECT})}}));CTXS.Device.isNativeClient()?CTXS.NativeCapabilities&&CTXS.NativeCapabilities.menuPreferences&&(null!=CTXS.NativeCapabilities.menuPreferences.preferences&& 2721!=CTXS.NativeCapabilities.menuPreferences.preferences||a.push({linkId:"preferencesBtn",linkText:c.localization.string("Preferences"),ariaLabel:c.localization.string("Preferences"),onClick:function(){b._showSettings(b.$userMenu.find("#preferencesBtn"))}}),null!=CTXS.NativeCapabilities.menuPreferences.about&&1!=CTXS.NativeCapabilities.menuPreferences.about||b._addAboutBtn(a),null!=CTXS.NativeCapabilities.menuPreferences.refresh&&1!=CTXS.NativeCapabilities.menuPreferences.refresh||a.push({linkId:"refreshBtn", 273linkText:c.localization.string("Refresh"),ariaLabel:c.localization.string("Refresh"),onClick:CTXS.Environment.refresh}),null!=CTXS.NativeCapabilities.menuPreferences.logoff&&1!=CTXS.NativeCapabilities.menuPreferences.logoff||b._addLogOffBtn(a,d)):(b._addAboutBtn(a),b._addLogOffBtn(a,d));new CTXS.Widgets.DropDownMenuWidget(this.$userMenu,this.$homeView.find("#user-menu-overlay"),{menuItems:a,menuItemClass:"theme-highlight-color"})}}})(jQuery); 274(function(c){window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.LogoffControllerMock={enabled:!1,icaSessionsClosed:!0,webSessionTerminated:!0,gatewaySessionTerminated:!0};CTXS.Controllers.LogoffController=function(e,a){this.$logoffView=e;this.$logoffProgress=this.$logoffView.find(".logoff-progress");this.$spinner=this.$logoffProgress.find(".authentication-spinner");this.$logoffComplete=this.$logoffView.find(".logoff-complete");this.logoffSpinner=new CTXS.AnimatedSpinner;this.defaultOptions= 275{icaSessionLogoffAction:a,successMessage:c.localization.string("YouHaveLoggedOff"),failureMessage:c.localization.string("LogoffError")}};CTXS.Controllers.LogoffController.prototype={logOff:function(e){var a=this,b=CTXS.Environment.isGatewaySession(),d=c.extend({},this.defaultOptions,e);
275e=new CTXS.LogoffManager({icaLogoffServiceUrl:CTXS.Config.getConfigValue("storeProxy.sessionsProxy.logoffURL"),icaDisconnectServiceUrl:CTXS.Config.getConfigValue("storeProxy.sessionsProxy.disconnectURL"),authClientLogoffUrl:CTXS.Config.getConfigValue("authManager.logoffURL")}); 276this.$logoffView.ctxsDisplayPane();this.logoffSpinner.start(this.$spinner);CTXS.Device.isCitrixChromeApp()&&CTXS.Html5Client.postHideAccountSettingsToChromeApp();e.logOff(d.icaSessionLogoffAction,function(c){a._handleLogoffResult(c,d,b)})},_handleLogoffResult:function(e,a,b){var d={errorMessages:[],infoMessages:[],showLogonButton:!0,showIdpLogoffButton:!1,idpLogoffButtonText:null,idpLogoffCountdownTime:0};CTXS.LogoffControllerMock.enabled&&(e.icaSessionsClosed=CTXS.LogoffControllerMock.icaSessionsClosed, 277e.webSessionTerminated=CTXS.LogoffControllerMock.webSessionTerminated,e.gatewaySessionTerminated=CTXS.LogoffControllerMock.gatewaySessionTerminated);var g=!e.webSessionTerminated||!e.gatewaySessionTerminated,f=CTXS.Authentication.isWebViewLogon()&&"GenericForms"==CTXS.Authentication.currentAuthMethod,m=CTXS.Authentication.isWebViewLogon()&&!!CTXS.Authentication.getIdpLogoffUrl();b&&CTXS.Authentication.getIdpLogoffUrl()&&(m=!0,CTXS.Authentication.setBrowserCloseRequiredToEndSession(!1));var h=CTXS.Authentication.isBrowserCloseRequiredToEndSession()&& 278!CTXS.allowSmartcardRelogin&&!CTXS.allowReloginWithoutBrowserClose;e.icaSessionsClosed||d.errorMessages.push(c.localization.string("LogOffSessionsFailed"));if(m){if(e.icaSessionsClosed&&e.webSessionTerminated&&e.gatewaySessionTerminated){CTXS.Authentication.redirectBrowserToIdpLogoffUrl();return}d.showLogonButton=!1;if(g&&(CTXS.Authentication.setBrowserCloseRequiredToEndSession(!0),e.icaSessionsClosed)){CTXS.Authentication.redirectBrowserToIdpLogoffUrl();return}d.showIdpLogoffButton=!0;d.infoMessages.push(c.localization.string("ClickContinueToRedirectToIdpLogoffUrl")); 279d.idpLogoffCountdownTime=30;d.idpLogoffButtonText=c.localization.string("ContinueIdpLogoff");var l=CTXS.Authentication.getRedirectBrowserToIdpLogoffFunction();d.onIdpLogoffButtonClick=function(){l()}}else g?(d.errorMessages.push(c.localization.string("CloseYourBrowserToEndSession")),d.showLogonButton=!1):f?(d.showLogonButton=!0,d.infoMessages.push(c.localization.string("CloseYourBrowserToProtectAccountSAML")),CTXS.Authentication.setBrowserCloseRequiredToEndSession(!1)):h&&(d.showLogonButton=!1,d.infoMessages.push(c.localization.string("CloseYourBrowserToProtectAccount"))); 280d.title=0<d.errorMessages.length?a.failureMessage:a.successMessage;if(d.showLogonButton){var k=this._generateLogonButtonUrl(b);d.logonButtonText=CTXS.Store.isUnauthenticatedStore()?c.localization.string("BackToAppsAndDesktops"):c.localization.string("LogOn");d.onLogonButtonClick=function(){window.location.href=k}}var q=CTXS.Authentication.getSavedAuthenticationMethod();q&&(d.showLogonMethodCheckbox=!0,d.logonMethodCheckboxLabel=c.localization.string("RememberLogonMethod"),d.onLogonMethodCheckboxClick= 281function(){this.checked?CTXS.Authentication.setSavedAuthenticationMethod(q):CTXS.Authentication.clearSavedAuthenticationMethod()});new CTXS.Widgets.LogoffWidget(this.$logoffComplete,d);this.$logoffProgress.hide();this.logoffSpinner.stop(this.$spinner);this.$logoffComplete.show().ctxsPlaceFocusOnFirstElement();CTXS.Events.publish(CTXS.Events.ui.logoffComplete)},_generateLogonButtonUrl:function(c){c=c?CTXS.AccessGateway.getLogonPointUrl():CTXS.Location.href;-1<c.indexOf("#")&&(c=c.substr(0,c.indexOf("#"))); 282return c}}})(jQuery); 283(function(c){var e={title:null,content:null,errorMessages:[],infoMessages:[],showLogonButton:!0,logonButtonText:null,onLogonButtonClick:function(){},showLogonMethodCheckbox:!1,logonMethodCheckboxLabel:null,onLogonMethodCheckboxClick:function(){}};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.LogoffWidget=function(a,b){this.options=c.extend({},e,b);this.$container=a;this._renderTitle();this._renderContent();this._renderLogonButton();this._renderLogonMethodCheckbox()};CTXS.Widgets.LogoffWidget.prototype= 284{_renderTitle:function(){var a=this.$container.find(".logoff-complete-title");this.options.title?a.html(this.options.title).show():a.hide()},_renderContent:function(){var a=this.$container.find(".logoff-complete-content");
284if(this.options.content||0<this.options.errorMessages.length||0<this.options.infoMessages.length){var b="";this.options.content&&(b+="<p>"+this.options.content+"</p>");c.each(this.options.errorMessages,function(a,c){b+="<p>"+c+"</p>"});c.each(this.options.infoMessages,function(a, 285c){b+="<p>"+c+"</p>"});a.html(b)}else a.hide()},_renderLogonButton:function(){var a=this,b=this.$container.find(".logon-button");if(this.options.showLogonButton)b.html(this.options.logonButtonText).show().on("click",function(b){b.preventDefault();a.options.onLogonButtonClick()});else b.hide()},_renderLogonMethodCheckbox:function(){var a=this.$container.find(".remember-logon-method");this.options.showLogonMethodCheckbox?(a.find("label").html(this.options.logonMethodCheckboxLabel),a.find("input").on("click", 286this.options.onLogonMethodCheckboxClick)):a.hide()}}})(jQuery); 287(function(c){function e(){d();CTXS.Localization.init(CTXS.Environment.getPreferredLanguages(),b)}function a(){CTXS.trace("Configuration Failure");CTXS.Events.publish(CTXS.Events.session.terminate);CTXS.showTerminalErrorMessage(c.localization?c.localization.string("CannotCompleteYourRequest"):"Cannot complete your request.")}function b(){P.ctxsLocalize();!CTXS.Device.isNativeClient()&&CTXS.areCookiesDisabled()?(g(),c(".cookie-error-view").show()):CTXS.Plugins.initialize(CTXS.Config.getConfigValue("plugins"), 288function(){CTXS.Device.isSupported()?(C=new CTXS.Controllers.LogoffController(F.find(".logoff-view"),CTXS.ExtensionsHead.webLogoffIcaAction(CTXS.Config.getConfigValue("userInterface.workspaceControl.logoffAction"))),CTXS.ExtensionsHead.beforeLogon(function(){CTXS.Device.isNativeClient()||"true"==CTXS.Config.getConfigValue("pluginAssistant.showAfterLogin")?l():CTXS.Device.isBrowserPluginSupported()?D.initialise(void 0):O.initialise()})):CTXS.showUnsupportedDeviceMessage()})}function d(){var a=CTXS.Html5Client.isMandatory(), 289b=CTXS.Config.getConfigValue("pluginAssistant.win32.path"),d=CTXS.Config.getConfigValue("pluginAssistant.win32.version"),c=CTXS.Config.getConfigValue("pluginAssistant.macOS.path"),h=CTXS.Config.getConfigValue("pluginAssistant.macOS.version"),f="true"===CTXS.Config.getConfigValue("pluginAssistant.enabled"),d=CTXS.Device.isWindowsPlatform()?d:h,b=(CTXS.Device.isWindowsPlatform()?b:c)||"",c=function(){X?t():"true"==CTXS.Config.getConfigValue("pluginAssistant.showAfterLogin")?k():(F.find(".loading-screen").ctxsDisplayPane(), 290l())};CTXS.Device.isBrowserPluginSupported()?D=new CTXS.Controllers.PluginMasterController({pluginAssistantIsEnabled:f,isHtml5ClientMandatory:a,serverVersion:d,clientInstallUrl:b,onComplete:c}):O=new CTXS.Controllers.ProtocolHandlerController({isProtocolHandlerEnabled:CTXS.Device.isProtocolHandlerSupported()&&"true"===CTXS.Config.getConfigValue("pluginAssistant.protocolHandler.enabled"),isHtml5ClientMandatory:a,isHtml5FallbackAvailable:CTXS.Config.getConfigValue("pluginAssistant.html5.enabled")=== 291CTXS.Html5Client.ENABLED_FALLBACK,isReceiverDownloadAllowed:f,getDetectionTicketUrl:CTXS.Config.getConfigValue("storeProxy.clientAssistantProxy.getDetectionTicketURL"),getDetectionStatusUrl:CTXS.Config.getConfigValue("storeProxy.clientAssistantProxy.getDetectionStatusURL"),clientInstallUrl:b,serverVersion:d,onComplete:c})}function g(){B||(CTXS.Environment.notifyWebUIReady(),B=!0)}function f(){CTXS.Device.isNativeClient()||(L=new CTXS.SessionMonitor(T,{notificationStringMinutes:c.localization.string("SessionExpiresInMinutes"), 292notificationStringSeconds:c.localization.string("SessionExpiresInSeconds"),refreshString:c.localization.string("Refresh"),sessionTimeoutInterval:CTXS.Config.getConfigValue("session.timeout"),suppressSessionTimeoutWarnings:CTXS.suppressSessionTimeoutWarnings||!1,performRefresh:function(){CTXS.WebApiClient.refreshSession(CTXS.Config.getConfigValue("storeProxy.keepAliveURL"))},onSessionRefresh:function(){},onSessionExpiry:function(){u({icaSessionLogoffAction:CTXS.ICA_SESSION_LOGOFF_ACTION.NONE,successMessage:c.localization.string("SessionTimedOut"), 293failureMessage:c.localization.string("SessionTimedOut")})}}),L.start(),CTXS.Events.subscribe(CTXS.Events.session.refreshed,function(){L.refreshed()}))}function m(){l()}function h(){CTXS.Events.publish(CTXS.Events.error.terminalState)}function l(){CTXS.Bootstrapper.loadAggregatedStore(function(){CTXS.showTerminalErrorMessage(c.localization.string("CannotGetYourApps
293FromStore"))})}function k(){g();CTXS.ExtensionsHead.beforeDisplayHomeScreen(function(){F.find(".home-view").ctxsDisplayPane();A=new CTXS.Controllers.HomeController(F, 294CTXS.Store);X||(c(".initial-hide").removeClass("initial-hide"),CTXS.ExtensionAPI.resize(!0),CTXS.ExtensionsHead.postAppListLoaded(CTXS.Store),CTXS.ExtensionsHead.afterDisplayHomeScreen(),X=!0)})}function q(){c(window).on("resize",G);c(document).on("keydown keyup",z);F.on("selectstart",J);S.find(".about-button-back").on("click",function(a){a.preventDefault();Y.ctxsDisplayPane()})}function v(){CTXS.Events.subscribe(CTXS.Events.ui.showMessage,function(a,b){g();CTXS.ExtensionsHead.showMessageBox(b,function(){T&& 295T.show(b)})});CTXS.Events.subscribe(CTXS.Events.error.terminalState,function(){L&&L.stop();CTXS.Events.publish(CTXS.Events.session.terminate);CTXS.showTerminalErrorMessage(c.localization?c.localization.string("CannotCompleteYourRequest"):"Cannot complete your request.")});CTXS.Events.subscribe(CTXS.Events.resources.unauthorized,p);CTXS.Events.subscribe(CTXS.Events.resources.challenged,function(){CTXS.showAuthenticationErrorMessage(!0)});CTXS.Events.subscribe(CTXS.Events.gateway.sessionTerminated, 296function(){CTXS.Device.isNativeClient()?CTXS.showAuthenticationErrorMessage(!0):(CTXS.Authentication.setBrowserCloseRequiredToEndSession(!1),window.location.href=CTXS.AccessGateway.getLogonPointUrl())});CTXS.Events.subscribe(CTXS.Events.store.initialised,function(){var a="true"==CTXS.Config.getConfigValue("pluginAssistant.showAfterLogin"),b="true"==CTXS.Config.getConfigValue("pluginAssistant.showOnlyIfRequiredByApps"),d=CTXS.Store.requiresReceiver(),b=b&&!d;CTXS.Device.isNativeClient()||!a||b?k(): 297CTXS.Device.isBrowserPluginSupported()?D.initialise(!0):O.initialise()})}function p(a,b){CTXS.Device.isNativeClient()?CTXS.showAuthenticationErrorMessage(!1):E.authenticate(b)}function r(){CTXS.Events.subscribe(CTXS.Events.ui.logoffRequested,function(a,b){u(b)});CTXS.Events.subscribe(CTXS.Events.ui.logoffComplete,n);CTXS.Events.subscribe(CTXS.Events.ui.changeClient,function(){O.showUI(!0)});CTXS.Events.subscribe(CTXS.Events.ui.downloadClient,function(){O.showDownloadOnlyUI()});CTXS.Events.subscribe(CTXS.Events.ui.changeClientOnly, 298function(){I.showUI()});CTXS.Events.subscribe(CTXS.Events.ui.showPhoneAbout,function(){var a=S.find("#html5ThirdPartyNoticesPhoneBtn");CTXS.displayHTML5ThirdPartyNoticesLink(a);S.ctxsDisplayPane()})}function t(){F.find(".home-view").ctxsDisplayPane();A.initialiseWorkspaceControl();A.initialiseUserMenu();A.resize()}function u(a){L&&L.stop();CTXS.Events.publish(CTXS.Events.session.terminating);C.logOff(a)}function n(){F.find(".fullscreen-pane").not(".logoff-view").add(F.find(".messageBoxPopup")).add(F.find(".dialogBox")).add(F.find(".ruler-container")).add(F.find(".myapps-ruler-container")).empty(); 299c(window).off("resize");c(document).off("keydown keyup");var a=/^(trace|setCookie|removeCookie|Authentication|COOKIE_.*)$/i,b;for(b in CTXS)a.test(b)||delete CTXS[b]}function z(a){CTXS.Device.isNativeClient()&&a.which==c.ui.keyCode.BACKSPACE&&(c(a.target).is("input, textarea")||a.preventDefault())}function G(){CTXS.trace("Got Resize Event");var a=H;H=CTXS.Device.getOrientation();if(CTXS.Device.isDesktop()||H!=a)CTXS.trace("call _resize"),A&&A.resize()}function J(a){-1==c.inArray(a.target.tagName, 300w)&&a.preventDefault()}var A,E,C,T,H=null,L,P=c("html"),F=c("body"),X=!1,D=null,O=null,I,S=F.find(".about-view"),Y=F.find(".home-view"),B=!1,w=["INPUT","SELECT","SPAN"];window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.MasterController={initialise:function(){CTXS.trace("mastercontroller.initialize");CTXS.Device.isLegacyIE()&&P.addClass("isLegacyIE");CTXS.Environment.enableAppUpdates&&P.addClass("app-updates-supported");CTXS.isHighContrastEnabled()&&P.addClass("high-contrast"); 301P.addClass(CTXS.Device.isNativeClient()?"native-client":"web-browser");H=CTXS.Device.getOrientation();T=new CTXS.Widgets.MessageWidget(c("#genericMessageBoxPopup"),c("#genericMessageBoxOverlay"));E=new CTXS.Controllers.AuthenticationController(F.find(".authentication-view"),F.find(".explicit-auth-view"),F.find(".auth-password-expiry-view"),{onAuthenticationSuccess:f,onAuthenticationError:h,onComplete:m});CTXS.Device.supportsHighResDisplay()&&P.addClass("is-hdpi");I=new CTXS.Controllers.ChangeClientController({onComplete:function(){t()}}); 302q();v();r();CTXS.ExtensionsHead.postInitialize(function(){CTXS.Bootstrapper.loadConfiguration(e,a)})},revertToDefaultView:function(){A.setDefaultView()}}})(jQuery); 303(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={pollIntervalMs:500,onPluginActivated:function(){}};CTXS.Widgets.PluginActivationWidget=function(a,b){this.$pluginActivationView=a;this.$pluginActivationElement=a.find(".activate-plugin-content");this.options=c.extend(e,b)};CTXS.Widgets.PluginActivationWidget.prototype={_showFirefoxUI:function(){var a='<object type="application/x-ica" class="activate-plugin-box firefox"><p>'+c.localization.string("ActivateCitrixPluginBrowser")+ 304'</p>
304<param name="BackgroundColor" value="#484848"><param name="Border" value="0"><param name="CustomMessage" value=""><param name="UIActive" value="true"></object>',b=this.title+'<p class="activate-plugin-text detail-text">'+c.localization.string("AllowPluginToRun")+"</p>"+a;this.$pluginActivationElement.on("click",".activate-plugin-box",function(){c(this).replaceWith(a)});this.$pluginActivationElement.html(b)},_showChromeUI:function(){var a=this.title+'<p class="activate-plugin-text chrome detail-text">'+ 305c.localization.string("ChromePluginHelperMessage").format('<a class="link" href="http://support.citrix.com/article/CTX141137" target="_blank">CTX141137</a>')+"</p>";this.$pluginActivationElement.html(a)},_showSafariUI:function(){var a='<object type="application/x-ica" class="activate-plugin-box safari"><p>'+c.localization.string("ActivateCitrixPluginBrowser")+"</p></object>",a=this.title+'<p class=activate-plugin-text detail-text">'+c.localization.string("AllowPluginToRun")+"</p>"+a;this.$pluginActivationElement.html(a); 306this.$pluginActivationElement.ctxsPlaceFocusOnFirstElement()},startPolling:function(){var a=this;this.pollIntervalId=setInterval(function(){CTXS.ICA.update();CTXS.ICA.isPluginBlocked||(clearInterval(a.pollIntervalId),a.options.onPluginActivated())},this.options.pollIntervalMs)},showUI:function(){var a=CTXS.Device.isFirefox()?"ActivateCitrixPlugin":"UnblockCitrixPlugin";this.title='<h1 class="main-text">'+c.localization.string(a)+"</h1>";this.startPolling();CTXS.Device.isFirefox()?this._showFirefoxUI(): 307CTXS.Device.isChrome()?this._showChromeUI():CTXS.Device.isSafari()&&this._showSafariUI();this.$pluginActivationView.ctxsDisplayPane()}}})(jQuery); 308(function(c){window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};var e=c("#plugin-assistance-download-unavailable"),a=c("#plugin-assistance-download"),b={upgrade:!1,serverVersion:"",pluginInstallUrl:"",onPluginAssistanceComplete:function(){}};CTXS.Controllers.PluginAssistantController=function(a){this.options=c.extend({},b,a);this.pluginPollingWidget=this.pluginDownloadWidget=null};CTXS.Controllers.PluginAssistantController.prototype={initialise:function(b){if(""===this.options.pluginInstallUrl)this._initialisePluginDownloadWidget(), 309this.pluginDownloadWidget.showDownloadUnavailableUI(e);else{var c=CTXS.getCookie(CTXS.PluginDetectionConstants.COOKIE_PLUGIN_ASSISTANT_STATE);CTXS.Device.isIE()&&c===CTXS.PluginDetectionConstants.PLUGIN_ASSISTANT_INSTALLING?(this._initialisePluginPollingWidget(),this.pluginPollingWidget.showUI()):(this._initialisePluginDownloadWidget(),this.pluginDownloadWidget.showDownloadUI(a,b))}},_initialisePluginDownloadWidget:function(){this.pluginDownloadWidget=new CTXS.Widgets.PluginDownloadWidget({upgrade:this.options.upgrade, 310pluginInstallUrl:this.options.pluginInstallUrl,onSkipInstall:c.proxy(this.onPluginAssistanceComplete,this),onPluginInstall:c.proxy(this.onPluginInstall,this)})},_initialisePluginPollingWidget:function(){var a=CTXS.Device.isIE()&&this.options.upgrade,b=a?c("#plugin-assistance-polling-ie-upgrade"):c("#plugin-assistance-polling"),f=a?b.find(".polling-plugin-ie"):b.find(".polling-plugin");this.pluginPollingWidget=new CTXS.Widgets.PluginPollingWidget(b,f,{isIEUpgrade:a,isPluginInstalled:c.proxy(this.isPluginInstalled, 311this),onSkipPollingWait:c.proxy(this.onPluginAssistanceComplete,this),onPluginAssistanceComplete:c.proxy(this.onPluginAssistanceComplete,this)})},onPluginInstall:function(){CTXS.Device.isIE()&&CTXS.setCookie(CTXS.PluginDetectionConstants.COOKIE_PLUGIN_ASSISTANT_STATE,CTXS.PluginDetectionConstants.PLUGIN_ASSISTANT_INSTALLING);this._initialisePluginPollingWidget();this.pluginPollingWidget.showUI()},onPluginAssistanceComplete:function(){CTXS.setCookie(CTXS.PluginDetectionConstants.COOKIE_PLUGIN_ASSISTANT_STATE, 312CTXS.PluginDetectionConstants.PLUGIN_ASSISTANT_DONE);this.options.onPluginAssistanceComplete()},isPluginInstalled:function(){CTXS.ICA.init();if(CTXS.ICA.icaPlugin.isInstalled()&&CTXS.ICA.isPluginScriptable){if(!this.options.upgrade||CTXS.isUpToDateVersion(CTXS.ICA.version,this.options.serverVersion))return CTXS.trace("Polling - Detected"),!0}else CTXS.trace("Polling - Not Detected");return!1}}})(jQuery); 313(function(c){var e={pluginAssistantIsEnabled:!1,isHtml5ClientMandatory:!1,serverVersion:"",clientInstallUrl:"",onComplete:function(){}};window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.PluginDetectionConstants={COOKIE_PLUGIN_ASSISTANT_STATE:"CtxsPluginAssistantState",PLUGIN_ASSISTANT_DONE:"Done",PLUGIN_ASSISTANT_INSTALLING:"Installing"};CTXS.pluginActivationUIEnabled=!0;CTXS.Controllers.PluginMasterController=function(a){this.options=c.extend({},e,a)};CTXS.Controllers.PluginMasterController.prototype= 314{initialise:function(a){this.options.isHtml5ClientMandatory?this._onComplete():(this.isAfterLogon=a,CTXS.ICA.init(),this.pluginActivationWidget=new CTXS.Widgets.PluginActivationWidget(c("#plugin-activation"),{pollIntervalMs:500,onPluginActivated:c.proxy(this.onPluginActivationComplete,this)}),this.pluginAssistantController=new CTXS.Controllers.PluginAssistantController({upgrade:CTXS.ClientManager.isNativeClientUpgradeable(this.options.serverVersion),serverVersion:this.options.serverVersion,pluginInstallUrl:this.options.clientInstallUrl, 315onPluginAssistanceComplete:c.proxy(this.onPluginAssistanceComplete,this)}),this.decideAction())},onPluginActivationComplete:function(){this.decideAction()},onPluginAssistanceComplete:function(){this.decideAction()},decideAction:function(){this._isPluginAssistanceRequired()?this._isPluginActivationRequired()?this.pluginActivationWidget.showUI():this._isPluginDetectionRequired()?this.pluginAssistantController.initialise(this.isAfterLogon):this._onComplete():this._onComplete()},_onComplete:function(){CTXS.setCookie(CTXS.PluginDetectionConstants.COOKIE_PLUGIN_ASSISTANT_STATE, 316CTXS.PluginDetectionConstants.PLUGIN_ASSISTANT_DONE);this.options.onComplete()},_isPluginAssistanceRequired:function(){return this.options.pluginAssistantIsEnabled&&!this.options.isHtml5ClientMandatory&&!CTXS.Device.isMobileDevice()&&!CTXS.Device.isProtocolHandlerSupported()},_isPluginActivationRequired:function(){var a=(CTXS.Device.isFirefox()||CTXS.Device.isChrome()||CTXS.Device.isSafari())&&(CTXS.Device.isWindowsPlatform()||CTXS.Device.isMacOSX()||CTXS.Device.isLinux());return CTXS.ICA.isPluginBlocked&& 317a&&CTXS.pluginActivationUIEnabled},_isPluginDetectionRequired:function(){var a=!CTXS.ICA.isInstalled&&!CTXS.ClientManager.isNativeClientPreferred()||CTXS.ClientManager.isNativeClientUpgradeable(this.options.serverVersion),b=!CTXS.Device.isUnsupportedMacOSXVersion()&&!(CTXS.Device.isIE()&&CTXS.Device.isWindowsRT())&&!CTXS.Device.isLinux(),d=CTXS.getCookie(CTXS.PluginDetectionConstants.COOKIE_PLUGIN_ASSISTANT_STATE)!==CTXS.PluginDetectionConstants.PLUGIN_ASSISTANT_DONE;return a&&b&&d}}})(jQuery); 318(function(){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var c={isIEUpgrade:!1,isPluginInstalled:function(){},onSkipPollingWait:function(){},onPluginAssistanceComplete:function(){}};CTXS.Widgets.PluginPollingWidget=function(e,a,b){this.options=$.extend(c,b);this.$view=e;this.$element=a;
318this.$skipPollingWait=this.$element.find(".skip-polling-wait");this.pollingIntervalId=null;var d=this;this.options.isIEUpgrade&&(this.$securityDetails=this.$element.find(".securitydetails-popup-ie"),this.$securityDetailsLink= 319this.$element.find(".securitydetailslink"),this.$securityDetailsLink.ctxsAddCustomTooltip(this.$securityDetails,this.$element));this.$skipPollingWait.click(function(a){a.preventDefault();d.skipPollingWait()})};CTXS.Widgets.PluginPollingWidget.prototype={showUI:function(){this.startPolling();this.$view.ctxsDisplayPane()},startPolling:function(){var c=this;this.pollingIntervalId=setInterval($.proxy(function(){c.options.isPluginInstalled()&&(clearInterval(c.pollingIntervalId),c.options.onPluginAssistanceComplete())}, 320this),1E3)},skipPollingWait:function(){clearInterval(this.pollingIntervalId);this.options.onSkipPollingWait()}}})(); 321(function(c){window.CTXS=window.CTXS||{};CTXS.protocolHandlerPollInterval=1E3;CTXS.Controllers=CTXS.Controllers||{};var e={isProtocolHandlerEnabled:!1,clientInstallUrl:"",isHtml5ClientMandatory:!1,isHtml5FallbackAvailable:!1,isReceiverDownloadAllowed:!1,getDetectionTicketUrl:"",getDetectionStatusUrl:"",serverVersion:"",onComplete:function(){}};CTXS.Controllers.ProtocolHandlerController=function(a){this.options=c.extend({},e,a);this.$welcomeView=c("#protocolhandler-welcome");this.$detectView=c("#protocolhandler-detect"); 322this.$downloadView=c("#protocolhandler-download");this.$validateView=c("#protocolhandler-validate");this.$upgradeAvailableView=c("#protocolhandler-upgradeavailable");this.$checkUpgradeView=c("#protocolhandler-checkupgrade");this.$detectUpgradeView=c("#protocolhandler-detectupgrade");this.$noUpgradesView=c("#protocolhandler-noupgrades")};CTXS.Controllers.ProtocolHandlerController.prototype={initialise:function(){this.isClientDetectionEnabled()||(CTXS.removeCookie(CTXS.ClientDetection.COOKIE_IS_PASSTHROUGH), 323CTXS.removeCookie(CTXS.ClientDetection.COOKIE_CLIENT_VERSION),CTXS.setCookie(CTXS.ClientDetection.COOKIE_CLIENT_DETECTION_DONE,"true",!0));this.upgradeNeeded=CTXS.ClientManager.isNativeClientUpgradeable(this.options.serverVersion);this._initialiseWelcomeWidget();this._initialiseDetectWidget();this._initialiseDownloadWidget();this._initialiseValidateWidget();this._initialiseUpgradeAvailableWidget();this._initialiseCheckUpgradeWidget();this._initialiseDetectUpgradeWidget();this._initialiseNoUpgradesWidget(); 324this.isClientDetectionWizardRequired()?this.showUI(!1):this._onComplete()},showUI:function(a){this.upgradeNeeded&&!a?(this.isUpgradeFlow=!0,this.checkUpgradeWidget.showUI()):(this.isUpgradeFlow=!1,this.welcomeWidget.showUI())},showDownloadOnlyUI:function(){this.detectWidget.showUI()},isClientDetectionEnabled:function(){return this.options.isProtocolHandlerEnabled&&!CTXS.Device.isMobileDevice()&&!this.options.isHtml5ClientMandatory},isUpgradeWizardRequired:function(){return this.upgradeNeeded&&"true"!= 325CTXS.getCookie(CTXS.ClientDetection.COOKIE_HAS_UPGRADE_BEEN_SHOWN)},isClientDetectionWizardRequired:function(){return CTXS.Device.isProtocolHandlerSupported()&&(this.isUpgradeWizardRequired()||"true"!=CTXS.getCookie(CTXS.ClientDetection.COOKIE_CLIENT_DETECTION_DONE))},_initialiseWelcomeWidget:function(){this.welcomeWidget=new CTXS.Widgets.ProtocolHandlerWelcomeWidget(this.$welcomeView,{isHtml5FallbackAvailable:this.options.isHtml5FallbackAvailable,onDetect:c.proxy(this.onDetect,this),onUseLightVersion:c.proxy(this.onUseLightVersion, 326this)})},_initialiseDetectWidget:function(){""!=CTXS.primaryStore.baseUrl&&(1==CTXS.Device.isWindowsPlatform()&&null==CTXS.Config.getConfigValue("pluginAssistant.win32.path").match("http")&&(this.options.clientInstallUrl=window.location.origin+CTXS.primaryStore.baseUrl+CTXS.Config.getConfigValue("pluginAssistant.win32.path")),1==CTXS.Device.isMacOSX()&&null==CTXS.Config.getConfigValue("pluginAssistant.macOS.path").match("http")&&(this.options.clientInstallUrl=window.location.origin+CTXS.primaryStore.baseUrl+ 327CTXS.Config.getConfigValue("pluginAssistant.macOS.path")));this.detectWidget=new CTXS.Widgets.ProtocolHandlerDetectWidget(this.$detectView,{isProtocolHandlerEnabled:this.options.isProtocolHandlerEnabled,isHtml5FallbackAvailable:this.options.isHtml5FallbackAvailable,isReceiverDownloadAllowed:this.options.isReceiverDownloadAllowed,clientInstallUrl:this.options.clientInstallUrl,onRetryDetection:c.proxy(this.onRetryDetection,this),onDownload:c.proxy(this.onDownload,this),onUseLightVersion:c.proxy(this.onUseLightVersion, 328this),onAlreadyInstalled:c.proxy(this.onAlreadyInstalled,this)})},_initialiseDownloadWidget:function(){this.downloadWidget=new CTXS.Widgets.ProtocolHandlerDownloadWidget(this.$downloadView,{isHtml5FallbackAvailable:this.options.isHtml5FallbackAvailable,clientInstallUrl:this.options.clientInstallUrl,onInstallComplete:c.proxy(this.onInstallComplete,this),onUseLightVersion:c.proxy(this.onUseLightVersion,this)})},_initialiseValidateWidget:function(){this.validateWidget=new CTXS.Widgets.ProtocolHandlerValidateWidget(this.$validateView, 329{isHtml5FallbackAvailable:this.options.isHtml5FallbackAvailable,onRetryDetection:c.proxy(this.onRetryDetection,this),onRetryDownload:c.proxy(this.onDownload,this),onUseLightVersion:c.proxy(this.onUseLightVersion,this),onAlreadyInstalled:c.proxy(this.onAlreadyInstalled,this)})},_initialiseCheckUpgradeWidget:function(){this.checkUpgradeWidget=new CTXS.Widgets.ProtocolHandlerCheckUpgradeWidget(this.$checkUpgradeView,{onCheck:c.proxy(this.onCheckForUpgrade,this),onUpgradeLater:c.proxy(this.onUpgradeLater, 330this)})},_initialiseUpgradeAvailableWidget:function(){this.upgradeAvailableWidget=new CTXS.Widgets.ProtocolHandlerUpgradeAvailableWidget(this.$upgradeAvailableView,{onDownload:c.proxy(this.onDownload,this),onUpgradeLater:c.proxy(this.onUpgradeLater,this),onAlreadyInstalled:c.proxy(this.onAlreadyInstalled,this),onUseLightVersion:c.proxy(this.onUseLightVersion,this),isHtml5FallbackAvailable:this.options.isHtml5FallbackAvailable})},_initialiseDetectUpgradeWidget:function(){this.detectUpgradeWidget=new CTXS.Widgets.ProtocolHandlerDetectUpgradeWidget(this.$detectUpgradeView, 331{onRetryDetection:c.proxy(this.onRetryDetection,this),onUpgradeLater:c.proxy(this.onUpgradeLater,this),onContinue:c.proxy(this.onDetectUpgradeContinue,this)})},_initialiseNoUpgradesWidget:function(){this.noUpgradesWidget=new CTXS.Widgets.ProtocolHandlerNoUpgradesWidget(this.$noUpgradesView,{onContinue:c.proxy(this.options.onComplete,this)})},onUpgradeLater:function(){this.cancelPolling();CTXS.setCookie(CTXS.ClientDetection.COOKIE_HAS_UPGRADE_BEEN_SHOWN,"true");this.options.onComplete()},onDetect:function(){this.detectWidget.showUI(); 332this.getClientDetectionTicket()},onCheckForUpgrade:function(){this.detectUpgradeWidget.showUI();this.getClientDetectionTicket()},onDetectUpgradeContinue:function(){this.cancelPolling();CTXS.removeCookie(CTXS.ClientDetection.COOKIE_CLIENT_DETECTION_DONE);this._clearDetectionCookies();this.onCheckComplete(!0)},onCheckComplete:function(a){this.upgradeNeeded?this.upgradeAvailableWidget.showUI(a):this.noUpgradesWidget.showUI()},onRetryDetection:function(){this.pollCancelled?this.getClientDetectionTicket(): 333this.invokeProtocolHandler()},onUseLightVersion:function(){this.cancelPolling();this._clearDetectionCookies();CTXS.setCookie(CTXS.ClientDetection.COOKIE_CLIENT_DETECTION_DONE,"true",!0);this._onComplete()},onAlreadyInstalled:function(){this.cancelPolling();this._clearDetectionCookies();CTXS.ClientManager.setNativeClientPreferred();CTXS.setCookie(CTXS.ClientDetection.COOKIE_CLIENT_DETECTION_DONE,"true",!0);this._onComplete()},onDownload:function(){this.cancelPolling();this.triggerDownload();this.options.isProtocolHandlerEnabled? 334(this.downloadWidget.showUI(),this.isUpgradeFlow=!1):this._onComplete()},onCancelDetection:function(){this.cancelPolling();this.options.isProtocolHandlerEnabled?this.welcomeWidget.showUI():this._onComplete()},onInstallComplete:function(){this.validateWidget.showUI();this.getClientDetectionTicket()},triggerDownload:function(){location.href=this.options.clientInstallUrl},getClientDetectionTicket:function(){var a=this;this.pollCancelled=!1;CTXS.WebApiClient.getClientDetectionTicket(this.options.getDetectionTicketUrl, 335function(b,d,c){a.postbackUrl=b.postbackUrl;a.ticket=b.clientDetectionTicket;a.staTicket=b.clientDetectionStaTicket;a.serverProtocolVersion=b.serverProtocolVersion;a.invokeProtocolHandler();a.pollForClientProperties()},function(b,d,c){CTXS.trace("failure calling GetDetectionTicket");a._onComplete()})},invokeProtocolHandler:function(){var a=0==this.postbackUrl.indexOf("https")?"https":"http",b=this.postbackUrl.replace(/^https?:/,"receiver:"),d="";this.staTicket&&(d="&staTicket={0}".format(encodeURIComponent(this.staTicket))); 336a="action=detect&serverProtocolVersion={0}&transport={1}&ticket={2}{3}".format(encodeURIComponent(this.serverProtocolVersion),encodeURIComponent(a),encodeURIComponent(this.ticket),d);b=b+"/"+CTXS.urlSafeBase64Encode(a);CTXS.trace("Protocol handler parameter block: "+a);CTXS.trace("Invoking protocol handler with url: "+b);c("#protocolhandler-invoker").attr("src",b)},pollCancelled:!1,pollForClientProperties:function(){var a=this,b=CTXS.protocolHandlerPollInterval;this.pollCancelled||(this.pollTimer= 337setTimeout(function(){CTXS.WebApiClient.getClientDetectionStatus(a.options.getDetectionStatusUrl,a.ticket,function(b,c,f){c="Receiver detected, Version={0}, Passthrough={1}, Passthrough Variable={2}".format(b.hdxVersion,b.hdxIsPassThrough,b.hdxIsPassThroughVariable);CTXS.trace(c);if(b.status==CTXS.WebApiClient.DETECTION_STATUS_WAITING)a.pollForClientProperties();else if(b.status==CTXS.WebApiClient.DETECTION_STATUS_SUCCESS)if(a.cancelPolling(),c="True"==b.hdxIsPassThrough||"True"==b.hdxIsPassThroughVariable, 338CTXS.setCookie(CTXS.ClientDetection.COOKIE_CLIENT_DETECTION_DONE,"true",!0),CTXS.setCookie(CTXS.ClientDetection.COOKIE_IS_PASSTHROUGH,c?"true":"false",!0),CTXS.setCookie(CTXS.ClientDetection.COOKIE_CLIENT_VERSION,b.hdxVersion,!0),a.upgradeNeeded=CTXS.ClientManager.isNativeClientUpgradeable(a.options.serverVersion),a.upgradeNeeded||a.isUpgradeFlow)a.onCheckComplete(!1);else a._onComplete();else a.cancelPolling()},function(b,c,f){CTXS.trace("failure polling for detection status");a._clearDetectionCookies(); 339a._onComplete()})},b))},cancelPolling:function(){this.pollCancelled=!0;this.pollTimer&&clearTimeout(this.pollTimer)},_onComplete:function(){CTXS.setCookie(CTXS.ClientDetection.COOKIE_CLIENT_DETECTION_DONE,"true",!0);CTXS.setCookie(CTXS.ClientDetection.COOKIE_HAS_UPGRADE_BEEN_SHOWN,"true");this.options.onComplete()},_clearDetectionCookies:function(){CTXS.removeCookie(CTXS.ClientDetection.COOKIE_IS_PASSTHROUGH);CTXS.removeCookie(CTXS.ClientDetection.COOKIE_CLIENT_VERSION);CTXS.removeCookie(CTXS.ClientManager.COOKIE_CLIENT_ALREADY_INSTALLED); 340CTXS.removeCookie(CTXS.ClientManager.COOKIE_USER_PREFERRED_CLIENT)}}})(jQuery); 341(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={isProtocolHandlerEnabled:!1,isHtml5FallbackAvailable:!1,isReceiverDownloadAllowed:!1,clientInstallUrl:"",onRetryDetection:function(){},onDownload:function(){},onUseLightVersion:function(){},onAlreadyInstalled:function(){}};CTXS.Widgets.ProtocolHandlerDetectWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$element=a.find(".detect-container");this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerDetectWidget.prototype= 342{showUI:function(){this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;
342this.$installButton=this.$element.find(".installbutton");this.$installButton.attr("href",this.options.clientInstallUrl);this.$redetectLink=this.$element.find(".detect-retry-detection");this.$redetectLinkSeparator=this.$element.find(".detect-retry-detection-separator");this.$useLightLink=this.$element.find(".detect-use-light-version");this.$useLightLinkSeparator=this.$element.find(".detect-use-light-version-separator"); 343this.$alreadyInstalledLink=this.$element.find(".detect-already-installed");this.$alreadyInstalledLinkSeparator=this.$element.find(".detect-already-installed-separator");this.$chkLegalStatement=this.$element.find(".legalstatement-checkbox");this.$acceptTermsMessage=this.$element.find(".acceptterms-popup");this.$securityDetails=this.$element.find(".securitydetails-popup");this.$licenseAgreement=this.$element.find(".licenseagreement-popup");this.$licenseLink=this.$element.find(".licenseagreement-link"); 344this.$securityDetailsLink=this.$element.find(".securitydetailslink");this.$pluginassistantDetails=this.$element.find(".pluginassistant-details");this.$headingText=this.$element.find(".detect-heading");this.$ifAlreadyInstalledMessage=this.$element.find(".detect-if-already-installed");this.$noPromptMessage=this.$element.find(".detect-no-prompt");this.$securityDetailsLink.ctxsAddCustomTooltip(this.$securityDetails,this.$element);this.$licenseLink.ctxsAddCustomTooltip(this.$licenseAgreement,this.$element); 345this.$installButton.ctxsAddCustomTooltipForButton(this.$acceptTermsMessage,this.$element);var b=CTXS.Device.isSpartan()?"OK":"LaunchApplication",b='<span class="detail-text-highlight">{0}</span>'.format(c.localization.string(b));this.$ifAlreadyInstalledMessage.html(c.localization.string("IfAlreadyInstalled",b));this.$headingText.text(c.localization.string("JustAMomentDetecting"));this.$noPromptMessage.text(c.localization.string("NoWindowDownload"));this.options.isProtocolHandlerEnabled?this.options.isReceiverDownloadAllowed|| 346(this.$pluginassistantDetails.hide(),this.$installButton.hide(),this.$redetectLink.hide(),this.$redetectLinkSeparator.hide(),this.$securityDetailsLink.hide(),this.$alreadyInstalledLinkSeparator.hide(),this.options.isHtml5FallbackAvailable?this.$noPromptMessage.text(c.localization.string("IfNoWindowOptions")):(b='<span class="detail-text-highlight">{0}</span>'.format(c.localization.string("AlreadyInstalled")),this.$noPromptMessage.html(c.localization.string("IfNoWindowAlreadyInstalled",b)))):(this.$redetectLink.hide(), 347this.$redetectLinkSeparator.hide(),this.$ifAlreadyInstalledMessage.hide(),this.$noPromptMessage.hide(),this.$headingText.text(c.localization.string("AcceptTermsMessage")));this.options.isHtml5FallbackAvailable||(this.$useLightLink.hide(),this.$useLightLinkSeparator.hide());this.$installButton.click(function(b){b.preventDefault();if(!c(this).hasClass("disabled"))a.options.onDownload()});this.$redetectLink.click(function(b){b.preventDefault();a.options.onRetryDetection()});this.$useLightLink.click(function(b){b.preventDefault(); 348a.options.onUseLightVersion()});this.$alreadyInstalledLink.click(function(b){b.preventDefault();a.options.onAlreadyInstalled()});this.$chkLegalStatement.change(function(){if(this.checked)a.onTermsAcceptance();else a.onTermsRejection()})},onTermsAcceptance:function(){this.$acceptTermsMessage.hide();this.$installButton.attr("href",this.options.pluginInstallUrl);this.$installButton.removeClass("disabled")},onTermsRejection:function(){this.$installButton.attr("href","#");this.$installButton.addClass("disabled")}}})(jQuery); 349(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={clientInstallUrl:"",isHtml5FallbackAvailable:!1,onInstallComplete:function(){},onUseLightVersion:function(){}};CTXS.Widgets.ProtocolHandlerDownloadWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$element=a.find(".download-container");this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerDownloadWidget.prototype={showUI:function(){this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.$completeLink= 350this.$element.find(".download-complete");this.$retryLink=this.$element.find(".download-retry");this.$retryLink.attr("href",this.options.clientInstallUrl);this.$retryLinkSeparator=this.$element.find(".download-retry-separator");this.$useLightVersionLink=this.$element.find(".download-use-light-version");this.$installMessage=this.$element.find(".download-install-receiver");var b='<span class="detail-text-highlight">{0}</span>'.format(c.localization.string("Continue"));
350this.$installMessage.html(c.localization.string("InstallWhenDownloadComplete", 351b));this.options.isHtml5FallbackAvailable||(this.$useLightVersionLink.hide(),this.$retryLinkSeparator.hide());this.$completeLink.click(function(b){b.preventDefault();a.options.onInstallComplete()});this.$useLightVersionLink.click(function(b){b.preventDefault();a.options.onUseLightVersion()});this.boundEvents=!0}}})(jQuery); 352(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={isHtml5FallbackAvailable:!1,onRetryDetection:function(){},onRetryDownload:function(){},onUseLightVersion:function(){},onAlreadyInstalled:function(){}};CTXS.Widgets.ProtocolHandlerValidateWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$element=a.find(".validate-container");this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerValidateWidget.prototype={showUI:function(){this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a= 353this;this.$redetectLink=this.$element.find(".validate-retry-detection");this.$redownloadLink=this.$element.find(".validate-retry-download");this.$useLightLink=this.$element.find(".validate-use-light-version");this.$useLightLinkSeparator=this.$element.find(".validate-use-light-version-separator");this.$alreadyInstalledLink=this.$element.find(".validate-already-installed");this.$alreadyInstalledLinkSeparator=this.$element.find(".validate-already-installed-separator");this.$ifWasInstalledMessage=this.$element.find(".validate-was-installed"); 354this.$noPromptMessage=this.$element.find(".validate-no-window");var b=CTXS.Device.isSpartan()?"OK":"LaunchApplication",b='<span class="detail-text-highlight">{0}</span>'.format(c.localization.string(b)),d='<span class="detail-text-highlight">{0}</span>'.format(c.localization.string("DetectAgain"));this.$ifWasInstalledMessage.html(c.localization.string("IfWasInstalled",b));this.$noPromptMessage.html(c.localization.string("IfNoWindowDetectAgain",d));this.options.isHtml5FallbackAvailable||(this.$useLightLink.hide(), 355this.$useLightLinkSeparator.hide());this.$redetectLink.click(function(b){b.preventDefault();a.options.onRetryDetection()});this.$redownloadLink.click(function(b){b.preventDefault();a.options.onRetryDownload()});this.$useLightLink.click(function(b){b.preventDefault();a.options.onUseLightVersion()});this.$alreadyInstalledLink.click(function(b){b.preventDefault();a.options.onAlreadyInstalled()})}}})(jQuery); 356(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={isHtml5FallbackAvailable:!1,onDetect:function(){},onUseLightVersion:function(){}};CTXS.Widgets.ProtocolHandlerWelcomeWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$element=a.find(".welcome-container");this.$installButton=this.$element.find(".welcome-use-native-client");this.$fullExperienceMessage=this.$element.find(".welcome-for-full-experience");this.$footer=this.$element.find(".footer");if(this.options.isHtml5FallbackAvailable){var d= 357c.localization.string(CTXS.Device.isWindowsPlatform()?"ReceiverForWindows":"ReceiverForMac"),d='<span class="detail-text-highlight">{0}</span>'.format(d);this.$fullExperienceMessage.html(c.localization.string("ForFullExperience",d))}else this.$fullExperienceMessage.text(c.localization.string("UseReceiver")),this.$footer.hide();this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerWelcomeWidget.prototype={showUI:function(){this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.useNativeLink= 358this.$element.find(".welcome-use-native-client");this.$useLightLink=this.$element.find(".welcome-use-light-link");this.useNativeLink.click(function(b){b.preventDefault();a.options.onDetect()});this.$useLightLink.click(function(b){b.preventDefault();a.options.onUseLightVersion()})}}})(jQuery); 359(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={onCheck:function(){},onUpgradeLater:function(){}};CTXS.Widgets.ProtocolHandlerCheckUpgradeWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$checkButton=this.$view.find(".installbutton");this.$upgradeLaterLink=this.$view.find(".checkupgrade-upgrade-later");this.$upgradeLaterLink.attr("title",c.localization.string("UpgradeLaterTip"));this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerCheckUpgradeWidget.prototype= 360{showUI:function(){this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.$checkButton.click(function(b){b.preventDefault();a.options.onCheck()});this.$upgradeLaterLink.click(function(b){b.preventDefault();a.options.onUpgradeLater()})}}})(jQuery); 361(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={onRetryDetection:function(){},onUpgradeLater:function(){},onContinue:function(){}};CTXS.Widgets.ProtocolHandlerDetectUpgradeWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$continueButton=this.$view.find(".installbutton");this.$upgradeLaterLink=this.$view.find(".detectupgrade-upgrade-later");this.$upgradeLaterLink.attr("title",c.localization.string("UpgradeLaterTip"));this.$detectAgainLink=this.$view.find(".detectupgrade-detect-again"); 362this.$continueMessage=this.$view.find(".detectupgrade-continue-message");var d='<span class="detail-text-highlight">{0}</span>'.format(c.localization.string("Continue"));this.$continueMessage.html(c.localization.string("IfNoWindowDetectAgain",d));this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerDetectUpgradeWidget.prototype={showUI:function(){this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.$continueButton.click(function(b){b.preventDefault();a.options.onContinue()});this.$upgradeLaterLink.click(function(b){b.preventDefault(); 363a.options.onUpgradeLater()});this.$detectAgainLink.click(function(b){b.preventDefault();a.options.onRetryDetection()})}}})(jQuery); 364(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={onContinue:function(){}};CTXS.Widgets.ProtocolHandlerNoUpgradesWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$continueButton=this.$view.find(".installbutton");this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerNoUpgradesWidget.prototype={showUI:function(){this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.$continueButton.click(function(b){b.preventDefault();a.options.onContinue()})}}})(jQuery); 365(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};var e={onDownload:function(){},onUpgradeLater:function(){},onAlreadyInstalled:function(){},onUseLightVersion:function(){},isHtml5FallbackAvailable:!1};CTXS.Widgets.ProtocolHandlerUpgradeAvailableWidget=function(a,b){this.options=c.extend(e,b);this.$view=a;this.$installButton=this.$view.find(".installbutton");this.$upgradeLaterLink=this.$view.find(".upgradeavailable-upgrade-later");this.$upgradeLaterLink.attr("title",c.localization.string("UpgradeLaterTip")); 366this.$chkLegalStatement=this.$view.find(".legalstatement-checkbox");this.$acceptTermsMessage=this.$view.find(".acceptterms-popup");this.$securityDetails=this.$view.find(".securitydetails-popup");this.$licenseAgreement=this.$view.find(".licenseagreement-popup");this.$licenseLink=this.$view.find(".licenseagreement-link");this.$securityDetailsLink=this.$view.find(".securitydetailslink");this.$alreadyInstalledLink=this.$view.find(".upgradeavailable-already-installed");this.$alreadyInstalledSeparator= 367this.$view.find(".upgradeavailable-already-installed-separator");this.$useLightVersionLink=this.$view.find(".upgradeavailable-use-light-version");this.$mainText=this.$view.find(".main-text");this.$securityDetailsLink.ctxsAddCustomTooltip(this.$securityDetails,this.$view);this.$licenseLink.ctxsAddCustomTooltip(this.$licenseAgreement,this.$view);this.$installButton.ctxsAddCustomTooltipForButton(this.$acceptTermsMessage,this.$view);this._bindToUIEvents()};CTXS.Widgets.ProtocolHandlerUpgradeAvailableWidget.prototype= 368{showUI:function(a){a?(this.$mainText.html(c.localization.string("CannotDetectReceiverInstallAvailable")),this.$upgradeLaterLink.hide(),this.$alreadyInstalledLink.show(),this.options.isHtml5FallbackAvailable?(this.$useLightVersionLink.show(),this.$alreadyInstalledSeparator.show()):(this.$useLightVersionLink.hide(),this.$alreadyInstalledSeparator.hide())):(this.$mainText.html(c.localization.string("ProtocolHandlerUpgradeAvailable")),this.$upgradeLaterLink.show(),this.$useLightVersionLink.hide(),this.$alreadyInstalledLink.hide(), 369this.$alreadyInstalledSeparator.hide());this.$view.ctxsDisplayPane()},_bindToUIEvents:function(){var a=this;this.$installButton.click(function(b){b.preventDefault();if(!c(this).hasClass("disabled"))a.options.onDownload()});this.$upgradeLaterLink.click(function(b){b.preventDefault();a.options.onUpgradeLater()});this.$useLightVersionLink.click(function(b){b.preventDefault();a.options.onUseLightVersion()});this.$chkLegalStatement.change(function(){if(this.checked)a.onTermsAcceptance();else a.onTermsRejection()}); 370this.$alreadyInstalledLink.click(function(b){b.preventDefault();a.options.onAlreadyInstalled()})},onTermsAcceptance:function(){this.$acceptTermsMessage.hide();this.$installButton.removeClass("disabled")},onTermsRejection:function(){this.$installButton.addClass("disabled")}}})(jQuery); 371(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.MessageWidget=function(c,a){this.$messageBox=c;this.$overlay=a;this.$messageBoxTitle=this.$messageBox.find(".messageBoxTitle");this.$messageBoxText=this.$messageBox.find(".messageBoxText");this.$messageBoxButton=this.$messageBox.find(".messageBoxAction .button");this.$messageBoxCancelContainer=this.$messageBox.find(".messageBoxCancelAction");this.$messageBoxCancelButton=this.$messageBoxCancelContainer.find(".button"); 372this._bindToUIEvents()};CTXS.Widgets.MessageWidget.prototype={show:function(e){var a=this,b=c.extend({messageType:CTXS.MESSAGE_TYPE.ALERT,messageTitle:null,messageText:"",buttonLabel:c.localization.string("OK"),cancelButtonLabel:c.localization.string("Cancel"),buttonAction:null,cancelButtonAction:null},e);this.$messageBox.toggleClass("alert",b.messageType==CTXS.MESSAGE_TYPE.ALERT);this.$messageBox.toggleClass("workflow-approved",b.messageType==CTXS.MESSAGE_TYPE.WORKFLOW_APPROVED);null!=b.messageTitle? 373this.$messageBoxTitle.html(b.messageTitle).show():this.$messageBoxTitle.hide();this.$messageBoxText.html(b.messageText);this.$messageBoxButton.addClass("default").text(b.buttonLabel).one("click",function(d){d.preventDefault();a.hide();b.buttonAction&&b.buttonAction()});b.cancelButtonAction?(this.$messageBoxCancelContainer.show(),this.$messageBoxCancelButton.text(b.cancelButtonLabel).one("click",function(d){d.preventDefault();a.hide();b.cancelButtonAction()})):this.$messageBoxCancelContainer.hide(); 374this.$messageBox.ctxsCenter();CTXS.displayPopup(this.$overlay,this.$messageBox)},hide:function(){CTXS.fadePopup(this.$overlay,this.$messageBox)},updateMessageText:function(c){this.$messageBoxText.html(c)},_bindToUIEvents:function(){var e=this;e.$overlay.click(function(a){a.preventDefault()});e.$messageBox.on("keyup",function(a){a.keyCode===c.ui.keyCode.ESCAPE&&CTXS.isPopupVisible(e.$messageBox)&&(e.$messageBoxCancelContainer.is(":visible")&&e.$messageBoxCancelButton.click(),e.hide())})}}})(jQuery); 375(function(c){var e="placeholder"in document.createElement("input"),a={onTextEnter:function(a){},onTextClear:function(){},phonePane:".pullout-search-container",overlay:".search-overlay",phoneCancelButton:".searchHideButton"};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.SearchBoxWidget=function(b,d){this.options=c.extend({},a,d);this.$searchContainer=b;this.$searchInput=b.find(".searchInput");this.$pseudoInput=null;this.$searchClearButton=b.find(".searchClearButton");this.searchBoxChangeEvent= 376"oninput"in this.$searchInput.get(0)?"input":"keyup";if(CTXS.Device.isIE()||!e){var g=CTXS.UI.useSmallUILayout()?this.$searchInput.filter(".phone-only"):this.$searchInput.not(".phone-only");this._convertToPseudoInput(g)}this.$overlay=c(this.options.overlay);this._bindToUIEvents();this._bindToAppEvents();this.activate()};CTXS.Widgets.SearchBoxWidget.prototype={activate:function(){this.$searchInput.removeAttr("disabled");this.$searchContainer.addClass("active")},deactivate:function(){this.$searchInput.attr("disabled", 377"disabled");this.$searchContainer.removeClass("active")},clear:function(){this.$searchInput.val("")},hide:function(){CTXS.UI.useSmallUILayout()?c(this.options.phonePane).addClass("hide-search"):this.$searchContainer.not(".phone-only").addClass("hidden");this.deactivate()},show:function(){this.activate();CTXS.UI.useSmallUILayout()?c(this.options.phonePane).removeClass("hide-search"):this.$searchContainer.not(".phone-only").removeClass("hidden")},cancelSearch:function(){this.clear();this._processSearchText(this.$searchInput.val()); 378var a=CTXS.UI.useSmallUILayout()?this.$searchInput.filter(".phone-only"):this.$searchInput.not(".phone-only");this._applyPseudoPlaceholder(a);a.focus()},getText:function(){return this.$searchInput.filter(":visible").val()},setText:function(a){this.$searchInput.val(a);CTXS.UI.useSmallUILayout()?this._applyPseudoPlaceholder(this.$searchInput.filter(".phone-only")):this._applyPseudoPlaceholder(this.$searchInput.not(".phone-only"));this._processSearchText(this.$searchInput.val())},setPlaceholderText:function(a){a= 379this._resizePlaceholderTextToFit(a);this.$searchInput.attr("title",a);this.$searchInput.attr("aria-label",a);this.$pseudoInput?this._setPseudoPlaceholderText(a):this.$searchInput.attr("placeholder",a)},_resizePlaceholderTextToFit:function(a){var d=this.$searchInput.width()-5,c=CTXS.UI.useSmallUILayout()?".search-ruler-container.phone-only":".search-ruler-container:not(.phone-only)",c=this.$searchContainer.find(c);return CTXS.truncateToFit(c,a,d,1,!1)},_bindToAppEvents:function(){var a=this;CTXS.Events.subscribe(CTXS.Events.ui.showSearchView, 380function(){a._onSearchBoxChange()})},_bindToUIEvents:function(){var a=this;a._bindToSearchBoxChangeEvent();a.$searchInput.on("compositionstart",function(){CTXS.Device.isMobileDevice()&&a._unbindFromSearchBoxChangeEvent()});a.$searchInput.on("compositionend",function(){CTXS.Device.isMobileDevice()&&a._bindToSearchBoxChangeEvent()});a.$searchClearButton.on("click",function(d){d.preventDefault();a.cancelSearch()});a.$searchInput.on("search",function(d){a._processSearchText(this.value);this.blur()}); 381a.$searchInput.on("keypress",function(d){13===d.keyCode&&(a._processSearchText(this.value),this.blur()
381)});if(CTXS.UI.useSmallUILayout())c(a.options.phoneCancelButton).on("click",function(d){d.preventDefault();a.cancelSearch()})},_bindToSearchBoxChangeEvent:function(){var a=this;a.$searchInput.on(a.searchBoxChangeEvent,function(){a._onSearchBoxChange()})},_onSearchBoxChange:function(){var a=CTXS.UI.useSmallUILayout()?this.$searchInput.filter(".phone-only"):this.$searchInput.not(".phone-only");this._applyPseudoPlaceholder(a); 382this._processSearchText(a.val())},_unbindFromSearchBoxChangeEvent:function(){this.$searchInput.off(this.searchBoxChangeEvent)},_processSearchText:function(a){0<a.length?(CTXS.trace("Search for:"+a),CTXS.UI.useSmallUILayout()&&this.$overlay.hide(),this.$searchContainer.addClass("with-text"),this.options.onTextEnter(a)):(CTXS.trace("Clear Search"),CTXS.UI.useSmallUILayout()&&this.$overlay.show(),this.$searchContainer.removeClass("with-text"),this.options.onTextClear())},_convertToPseudoInput:function(a){var d= 383a.attr("placeholder");if(d){var c=a.attr("id")+"-placeholder",f='<div class="pseudo-input '+(a.attr("class")||"")+'"></div>';a.wrap(f);a.after('<span id="'+c+'" class="pseudo-input">'+d+"</span>");a.attr("title",d);a.attr("placeholder","");this.$pseudoInput=a.parent().find("#"+c);this.$pseudoInput.on("click",function(d){this.blur();a.focus()});this._applyPseudoPlaceholder(a)}},_setPseudoPlaceholderText:function(a){this.$pseudoInput.text(a)},_applyPseudoPlaceholder:function(a){null!==this.$pseudoInput&& 384(a.val()?this.$pseudoInput.removeClass("show"):this.$pseudoInput.addClass("show"))}}})(jQuery); 385(function(c){var e={minimumItemsLimit:-1,limitedWindows:["myApps","desktops","tasks"]};window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.SearchPaneController=function(a,b,d,g){this.options=c.extend({},e,g);this.store=d;this.$searchContainerObject=b;this.views=this._collateViewInfo();this.searchBoxWidget=a;this._bindToAppEvents()};CTXS.Controllers.SearchPaneController.prototype={_collateViewInfo:function(){for(var a={myApps:{limited:!1,size:this.store.getMyApps},desktops:{limited:!1, 386size:this.store.getDesktops},store:{limited:!1,size:this.store.getAllAppsForDisplay},tasks:{limited:!0,size:function(){return 0}}},b=0;b<this.options.limitedWindows.length;b++)"undefined"!==typeof this.options.limitedWindows[b]&&(a[this.options.limitedWindows[b]].limited=!0);return a},isSearchOngoing:function(){return c("body").hasClass("search-view")},doSearch:function(a){switch(this._getCurrentView()){case "myApps":return this.searchType="myApps",this.store.searchForMyApps(a);case "desktops":return this.searchType= 387"desktops",this.store.searchForDesktops(a);case "store":return this.searchType="store",this.store.searchForApps(a);default:return[]}},clearWidgets:function(){this.searchBoxWidget.clear()},resize:function(){this._setPlaceholderText()},_bindToAppEvents:function(){var a=this;CTXS.Events.subscribe(CTXS.Events.ui.showMyApps,function(){a._regenerateView("myApps")});CTXS.Events.subscribe(CTXS.Events.ui.showDesktops,function(){a._regenerateView("desktops")});CTXS.Events.subscribe(CTXS.Events.ui.showAllApps, 388function(){a._regenerateView("store")});CTXS.Events.subscribe(CTXS.Events.ui.showTasks,function(){a._regenerateView("tasks")});CTXS.Events.subscribe(CTXS.Events.session.terminate,function(){a.searchBoxWidget.deactivate()})},_setPlaceholderText:function(){var a=c.localization.string("SearchPlaceholder");switch(this._getCurrentView()){case "myApps":a=c.localization.string("SearchFavoritesPlaceholder");break;case "desktops":a=c.localization.string("SearchDesktopsPlaceholder");break;case "store":a=c.localization.string("SearchAppsPlaceholder")}this.searchBoxWidget.setPlaceholderText(a)}, 389_regenerateView:function(a){CTXS.UI.useSmallUILayout()||this.searchBoxWidget.cancelSearch();this._setPlaceholderText();this._ableToSearch(a)?this.searchBoxWidget.show():this.searchBoxWidget.hide()},_ableToSearch:function(a){a=a||this._getCurrentView();return a in this.views?this.views[a].limited?this.views[a].size().length>=this.options.minimumItemsLimit:!0:!1},_getCurrentView:function(){var a=c("body");return a.hasClass("myapps-view")?"myApps":a.hasClass("desktops-view")?"de
389sktops":a.hasClass("store-view")? 390"store":a.hasClass("tasks-view")?"tasks":a.hasClass("search-view")||a.hasClass("appinfo-view")?this.searchType:null}}})(jQuery); 391(function(c){var e={pullOutButton:"",pushBackButton:"",animationTime:500,animationStyle:"swing",searchInput:"",onSearchActive:function(){},onSearchCancel:function(){}};CTXS.Widgets.SlidingSearchWidget=function(a,b,d){this.options=c.extend({},e,d);this.$phonePane=a;this.$overlay=b;this.$searchInput=a.find(this.options.searchInput);this._bindToUIEvents()};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.SlidingSearchWidget.prototype={_pullOutSearchBox:function(a){var b=this;this.$overlay.show(); 392this.$phonePane.velocity({left:"0"},this.options.animationTime,this.options.animationStyle);this.$overlay.velocity({opacity:.5},{duration:this.options.animationTime,easing:this.options.animationStyle,complete:function(){a.focus();b.options.onSearchActive()}})},_pushBackSearchBox:function(){var a=this;this.$phonePane.velocity({left:"100%"},this.options.animationTime,this.options.animationStyle);this.$overlay.velocity({opacity:0},{duration:this.options.animationTime,easing:this.options.animationStyle, 393complete:function(){a.options.onSearchCancel()}});this.$overlay.hide(0)},_bindToUIEvents:function(){var a=this;c(a.options.pullOutButton).on("click",function(b){b.preventDefault();a._pullOutSearchBox(a.$searchInput[0])});c(a.options.pushBackButton).on("click",function(b){b.preventDefault();a._pushBackSearchBox()});a.$overlay.on("click",function(b){b.preventDefault();a._pushBackSearchBox()})}}})(jQuery); 394(function(c){var e={slideAnimationDuration:400,slideAnimationStyle:"ease"};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.SlidingMenuWidget=function(a,b,d,g,f){this.options=c.extend({},e,f);this.$content=a;this.$menu=b;this.menuWidth=this.$menu.width();this.$clickTrigger=d;this.$contentOverlay=g;this.originalContentXPosition=this.$content.position().left;this.animating=!1;this.enabled=!0;this._bindToUIEvents()};CTXS.Widgets.SlidingMenuWidget.prototype={show:function(){if(this.enabled){var a= 395this,b=this.originalContentXPosition+this.menuWidth;this.$menu.show();this.$content.velocity({left:b},{duration:this.options.slideAnimationDuration,easing:this.options.slideAnimationStyle,complete:function(){a.showing=!0;a.animating=!1}});this.$contentOverlay.show().velocity({left:b,opacity:.6},this.options.slideAnimationDuration,this.options.slideAnimationStyle)}},hide:function(){var a=this;this.$content.velocity({left:this.originalContentXPosition},{duration:this.options.slideAnimationDuration, 396easing:this.options.slideAnimationStyle,complete:function(){a.$menu.hide();a.showing=!1}});this.$contentOverlay.velocity({left:this.originalContentXPosition,opacity:0},{duration:this.options.slideAnimationDuration,easing:this.options.slideAnimationStyle,complete:function(){a.$contentOverlay.hide();a.animating=!1}})},isEnabled:function(){return this.enabled},setEnabled:function(a){this.enabled=a},_bindToUIEvents:function(){var a=this;if(!CTXS.Device.isLegacyIE())(new Hammer(this.$content[0])).on("swiperight", 397function(){a.show()});this.$clickTrigger.on("click",function(b){b.preventDefault();a.animating||a.showing||(a.animating=!0,a.show())});this.$menu.add(this.$contentOverlay).on("click",function(b){b.preventDefault();!a.animating&&a.showing&&(a.animating=!0,a.hide())})}}})(jQuery); 398(function(c){var e={duration:700,easing:[3],backgroundPositionShift:"-75px"};window.CTXS=window.CTXS||{};CTXS.AnimatedSpinner=function(a){this.options=c.extend({},e,a)};CTXS.AnimatedSpinner.prototype={start:function(a,b){b&&b.show();a.velocity("stop",!0);a.css("backgroundPosition","0");this._animate(a)},stop:function(a,b){a.velocity("stop",!0);b&&b.hide()},_animate:function(a){var b=this;a.velocity({backgroundPosition:this.options.backgroundPositionShift},{easing:this.options.easing,duration:this.options.duration, 399complete:function(){a.css("backgroundPosition","0");b._animate(a)}})}}})(jQuery); 400(function(c){function e(a){N.showFolderToolbar(a)}function a(){N.hideFolderToolbar()}function b(a,b){R&&(R.removeClass("show"),R=null);var d=B.getAppByShortId(a);if(d.canOpen())B.launchApp(d);else{var h,k=null;h=d.getState();h==CTXS.App.State.REQUESTABLE?(h=c.localization.string("Request"),k=function(){B.addApp(d)}):h==CTXS.App.State.PENDING?h=c.localization.string("Pending"):h==CTXS.App.State.DENIED?h=c.localization.string("Denied"):(h=c.localization.string("Install"),k=function(){B.addApp(d)}); 401var f=b.find(".action-menu");0==f.length&&(b.append("<div class='action-menu theme-border-color'></div>"),f=b.find(".action-menu"));k?f.html("<a href='#' class='theme-highlight-color'>"+h+"</a>"):f.html("<div class='theme-highlight-color'>"+h+"</div>");R&&R.removeClass("show");R=f;ca=k;f.addClass("show")}}function d(a){R&&(R.removeClass("show"),R=null);a=B.getAppByShortId(a);
401CTXS.Events.publish(CTXS.Events.ui.getAppInfoDetails,a)}function g(a){a=CTXS.Category_ByIndex(a);null!=a.parentCategory?(x.hideButtonsExcept(x.Buttons.Folders), 402x.hideSeparator(),m(a),M.show()):(x.stopHidingButtons(),x.showSeparator(),M.hide());y.update(a);y.resize()}function f(){ba.requestAccountManagementUI()}function m(a){var b=a.parentCategory.index;M.onClick(function(){CTXS.UI.useSmallTiles()?w.navigateBack():g(b);var a=CTXS.Category_ByIndex(b);w.showAppsInFolderView(a)})}function h(a){a=CTXS.Category_ByIndex(a);w.showAppsInFolderView(a);m(a)}function l(){CTXS.UI.useSmallUILayout()&&V.hide()}function k(){}function q(){H();l();y.hide();K.hide();w.clearUI()} 403function v(){CTXS.ExtensionsHead.preRedraw();H();CTXS.UI.useSmallUILayout()&&V.show();K.show();y.hide();M.hide();null!==U?(u(),w.navigateToFolder(U),U=null):(w.showApps(B.getAllAppsForDisplay()),a());CTXS.ExtensionsHead.postRedraw()}function p(a,b){var d=!1;c.each(b,function(){if(!c(this)[0].mandatory)return d=!0,!1});d?a.show():a.hide()}function r(a){CTXS.Events.publish(CTXS.Events.ui.showBundleDetails);CTXS.ExtensionsHead.preRedraw();H();l();K.hide();var b=c.trim(Q.attr("class").replace(/appBundle\d+/g, 404""));Q.attr("class",b);Q.addClass(a.tileid);Q.find(".applicationBundleHeaderTitle").html(a.title);Q.find(".applicationBundleHeaderText").html(a.description);aa.find("#bundleDetailBack").off("click").on("click",function(a){a.preventDefault();CTXS.Events.publish(CTXS.Events.ui.showAllApps)});b=aa.find("#bundleAddAll");p(b,a.apps);b.off("click").on("click",function(b){b.preventDefault();c.each(a.apps,function(){var a=c(this)[0];a.canBeAdded()&&B.addApp(a)})});w.showApps(a.apps);CTXS.ExtensionsHead.postRedraw()} 405function t(){CTXS.ExtensionsHead.preRedraw();U=null;H();K.hide();l();y.hide();M.hide();w.showApps(B.getTopRated());CTXS.ExtensionsHead.postRedraw()}function u(a){CTXS.ExtensionsHead.preRedraw();H();K.hide();var b=B.getAppHierachy();y.update(b).show();w.showAppsInFolderView(b);M.hide();if(a&&(x.selectButton(x.Buttons.Folders),N.selectButton(N.Buttons.Folders),"\\"!=a)){a=a.split("\\");for(var d=0;d<a.length;d++)b&&(b=b.subcategories[a[d]]);b&&w.navigateToFolder(b.index)}CTXS.ExtensionsHead.postRedraw()} 406function n(){}function z(){CTXS.ExtensionsHead.preRedraw();U=null;H();K.hide();y.hide();M.hide();var a=B.getMyApps();w.showMyApps(a);0<a.length?da.removeClass("show"):da.addClass("show");CTXS.ExtensionsHead.postRedraw()}function G(){CTXS.Events.subscribe(CTXS.Events.store.appAddStarting,function(a,b){w.showAppSpinner(b)});CTXS.Events.subscribe(CTXS.Events.store.appStatusChange,A);CTXS.Events.subscribe(CTXS.Events.store.appAddFailure,A);CTXS.Events.subscribe(CTXS.Events.store.appRevertFailure,A);CTXS.Events.subscribe(CTXS.Events.resources.launchStatus, 407E);CTXS.Events.subscribe(CTXS.Events.ui.showCategorizedApps,n);CTXS.Events.subscribe(CTXS.Events.ui.showMyApps,z);CTXS.Events.subscribe(CTXS.Events.ui.showAllApps,function(){null!==U?(x.selectButton(x.Buttons.Folders),N.selectButton(N.Buttons.Folders)):(x.selectButton(x.Buttons.AllApps),N.selectButton(N.Buttons.AllApps));x.stopHidingButtons();x.showSeparator();N.stopHidingButtons();N.showSeparator();v()});CTXS.Events.subscribe(CTXS.Events.ui.showDesktops,function(){CTXS.ExtensionsHead.preRedraw(); 408U=null;H();K.hide();y.hide();M.hide();w.showApps(B.getDesktops());CTXS.ExtensionsHead.postRedraw()});CTXS.Events.subscribe(CTXS.Events.ui.showTasks,function(){CTXS.ExtensionsHead.preRedraw();U=null;H();K.hide();y.hide();M.hide();w.showTasks();CTXS.ExtensionsHead.postRedraw()});CTXS.Events.subscribe(CTXS.Events.resources.powerOffStatus,C);CTXS.Events.subscribe(CTXS.Events.ui.showAppUpdates,k);CTXS.Events.subscribe(CTXS.Events.ui.clearSearchResults,L);CTXS.Events.subscribe(CTXS.Events.ui.customView, 409q);CTXS.Events.subscribe(CTXS.Events.session.terminate,function(){w.clearUI()});CTXS.Events.subscribe(CTXS.Events.ui.showAppDetailsLoadingSpinner,P);CTXS.Events.subscribe(CTXS.Events.ui.hideAppDetailsLoadingSpinner,F);CTXS.Events.subscribe(CTXS.Events.resources.endRefreshApps,function(){var a=B.getApplicationBundles();K.update(a)})}function J(){I.click(function(a){a.preventDefault&&a.preventDefault();a=V.getText();CTXS.Controllers.ViewController.changeView("store");V.setText(a);fa.focus()});c("body").on("click touch", 410function(a){R&&(R.removeClass("show"),0!=c(a.target).closest(R[0]).length&&(a.preventDefault(),a.stopPropagation(),ca&&ca()),R=null)})}function A(a,b){w.updateAppState(b)}function E(a,b){var d=b.res,c=b.status;c==CTXS.LAUNCH_STARTING?(w.hideAppReadyToLaunchUI(d),w.showAppSpinner(d)):c==CTXS.LAUNCH_SUCCESS||c==CTXS.LAUNCH_FAILURE?w.hideAppLaunchSpinner(d):c==CTXS.LAUNCH_READY&&(w.hideAppLaunchSpinner(d),w.showAppReadyToLaunchUI(d))}function C(a,b){b.status==CTXS.POWEROFF_STARTING?w.showAppSpinner(b): 411b.status==CTXS.POWEROFF_FAILURE&&w.hideAppLaunchSpinner(b)}function T(a){CTXS.ExtensionsHead.preRedraw();x.unselectAllButtons();K.fadeOut();var b=W.doSearch(a);0==b.length?(w.clearUI(),"store"==W.searchType?I.hide():0<CTXS.Store.searchForApps(a).length?I.show():I.hide(),O.hide().addClass("active").fadeIn(400)):(O.stop(!0,!0).hide().removeClass("active"),w.filterStoreApps(b));CTXS.ExtensionsHead.preRedraw();a=b.length;K.hide();y.hide();M.hide();x.updateSearchInformation(a);CTXS.Events.publish(CTXS.Events.ui.showSearchResults, 412{apps:b});CTXS.ExtensionsHead.postRedraw()}function H(){O.stop(!0,!0).hide().removeClass("active");W.clearWidgets()}function L(){var a=w.getCurrentFolderIndex();CTXS.Store.isFolderViewEnabled()&&null!=a&&W.isSearchOngoing()&&(U=w.getCurrentFolderIndex());
412CTXS.StoreViewManager.revertView()}function P(a,b){w.showAppSpinner(b)}function F(a,b){w.hideAppSpinner(b)}function X(a,b,d){var h=B.getAppByShortId(a);B.updateAppPosition(a,b,d,function(a){a==CTXS.SUBSCRIPTION_FAILURE?(CTXS.trace("update position failed for app: "+ 413h),CTXS.Environment.showDialog({messageText:c.localization.string("CannotMoveApp"),id:"MoveAppFailed"}),CTXS.Controllers.ViewController.changeView(CTXS.currentView)):a==CTXS.SUBSCRIPTION_PENDING||a==CTXS.SUBSCRIPTION_SILENTFAILURE?(CTXS.trace("update position failed silently for app: "+h),CTXS.Controllers.ViewController.changeView(CTXS.currentView)):a==CTXS.SUBSCRIPTION_SUCCESS&&CTXS.trace("updated position ="+h.position)})}var D,O,I,S,Y,B,w,y,K,N,V,x,Q,aa,Z,M,W,ba,ea=!1,U=null,fa,R,ca,da;window.CTXS= 414window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.StoreAppListViewController={initialise:function(k,q,m,p,n,z,A,C,E,F){D=k;O=q;da=F;I=O.find(".all-app-results");S=c("head");Y=c("body");Q=z;aa=A;k=CTXS.UI.useSmallUILayout()?"#folderViewPhoneBackButton":"#folderViewBackButton";Z=m.find(k);B=E;w=new CTXS.Widgets.AppListViewWidget(Y,D,new CTXS.AnimatedSpinner,{onActionLinkClick:b,onDetailsLinkClick:d,onTaskLinkClick:f,onFolderNavigation:g,updateAppPosition:X,canReorderApps:B.canReorderApps(), 415onFolderNameUpdate:e,onFolderNameHide:a});y=new CTXS.Widgets.BreadcrumbTrailWidget(m.find(".breadcrumb-container"),{onClick:h});K=new CTXS.Widgets.ApplicationBundlesWidget(n,S,B.getApplicationBundles(),{useSmallTiles:CTXS.UI.useSmallTiles(),repeatTiles:CTXS.UI.repeatAppGroupTiles,minimumAvailableWidth:CTXS.UI.getMinimumAvailableWidth(),onClickBundle:function(a){r(a)}});N=new CTXS.Widgets.StoreNavigationWidget(p,{buttonCssClass:".phone-toolbar-button",useFolderView:CTXS.Store.isFolderViewEnabled(), 416onAllAppsClick:function(){v()},onFoldersClick:function(){u()},onFeaturedClick:function(){CTXS.ExtensionsHead.preRedraw();H();K.show();l();w.showApps(B.getApplicationBundles()[0].apps);CTXS.ExtensionsHead.postRedraw()},onTopRatedClick:function(){t()},onFolderBackClick:function(){w.navigateBack()},folderBackButton:k});V=new CTXS.Widgets.SearchBoxWidget(C,{onTextEnter:T,onTextClear:function(){CTXS.Events.publish(CTXS.Events.ui.clearSearchResults)}});fa=C.find("input");CTXS.UI.useSmallUILayout()&&new CTXS.Widgets.SlidingSearchWidget(c(".pullout-search-container"), 417c(".search-overlay"),{pullOutButton:"#searchBtnPhone",pushBackButton:".searchHideButton",searchInput:".searchInput",onSearchActive:function(){CTXS.Events.publish(CTXS.Events.ui.slidingSearchActive)},onSearchCancel:function(){CTXS.Events.publish(CTXS.Events.ui.slidingSearchCancelled)}});W=new CTXS.Controllers.SearchPaneController(V,C,B);ba=new CTXS.Controllers.AccountManagementController(c("#genericDialogBox"),{overlaySelector:"#genericDialogBoxOverlay",onAuthenticationError:function(){CTXS.Environment.showDialog({messageText:c.localization.string("CannotCompleteYourRequest")})}}); 418x=new CTXS.Widgets.StoreNavigationWidget(m,{buttonCssClass:".toolbar-button",separatorCssClass:".toolbar-button-separator",useFolderView:CTXS.Store.isFolderViewEnabled(),onAllAppsClick:function(){v()},onFoldersClick:function(){u()},onTopRatedClick:function(){t()},onFeaturedClick:function(){CTXS.ExtensionsHead.preRedraw();U=null;H();w.showApps(B.getRecommendedApps());CTXS.ExtensionsHead.postRedraw()},onSearchBackClick:function(){V.cancelSearch()},onFolderBackClick:function(){w.navigateBack()},folderBackButton:k}); 419M=new CTXS.Widgets.ButtonWidget(Z);ea?CTXS.trace("storeviewcontroller calling initialize more than once (ignored)"):(G(),J(),ea=!0)},resize:function(){w&&w.resize();y&&y.resize();W&&W.resize()},setContent:function(a){CTXS.ExtensionsHead.preRedraw();H();K.hide();y.hide();M.hide();l();w.updateUI(a);CTXS.ExtensionsHead.postRedraw()},showFolder:u,showSelectedApps:function(a){CTXS.ExtensionsHead.preRedraw();U=null;H();K.hide();y.hide();M.hide();w.showApps(a);CTXS.ExtensionsHead.postRedraw()},setAccountManagementURL:function(a){ba&& 420ba.setAccountManagementURL(a)}}})(jQuery); 421(function(c){var e={buttonCssClass:"",separatorCssClass:"",useFolderView:!1,onAllAppsClick:function(){},onCategoriesClick:function(){},onFeaturedClick:function(){},onFoldersClick:function(){},onTopRatedClick:function(){},onSearchBackClick:function(){},onFolderBackClick:function(){},searchBackButton:"#searchBack",searchInformation:".searchInformation",folderBackButton:""};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.StoreNavigationWidget=function(a,b){this.options=c.extend({}, 422e,b);this.$container=a;this.$allButtons=this.$container.find(this.options.buttonCssClass);this.$separators=this.$container.find(this.options.separatorCssClass);this.$searchBackButton=this.$container.find(this.options.searchBackButton);this.$searchInformation=this.$container.find(this.options.searchInformation);this.$folderBackButton=this.$container.find(this.options.folderBackButton);this.options.useFolderView||this.disableButton(this.Buttons.Folders);this._bindToUIEvents()};CTXS.Widgets.StoreNavigationWidget.prototype= 423{Buttons:{AllApps:".allapps-view",Folders:".folder-view"},hideToolbar:function(){this.$container.hide()},showToolbar:function(){this.$container.show()},selectButton:function(a){this.unselectAllButtons();this.$container.find(a).addClass("selected theme-highlight-color").removeClass("toolbar-button-unselected")},disableButton:function(a){this.$container.find(a).hide().addClass("toolbar-button-disabled")},hideButton:function(a){this.$container.find(a).hide()},hideButtonsExcept:function(a){this.$container.find(this.options.buttonCssClass).not(a).css("display", 424"none")},stopHidingButtons:function(){var a=this.$container.find(this.options.buttonCssClass).not(".toolbar-button-disabled"),b=this.$container.find(".toolbar-button-custom"),d=this.$container.find(this.Buttons.Folders);0==b.length&&d.hasClass("toolbar-button-disabled")?(this.hideButton(this.Buttons.AllApps),this.hideSeparator()):a.css("display","")},unselectAllButtons:function(){this.$allButtons.removeClass("selected theme-highlight-color").addClass("toolbar-button-unselected")},hideSeparator:function(){this.$separators.hide()}, 425updateSearchInformation:function(a){this.$searchInformation.text(c.localization.string("SearchResults",a))}
425,showSeparator:function(){if(!CTXS.UI.useSmallUILayout()){var a=this.$container.find(this.options.separatorCssClass);this.$container.find(this.Buttons.AllApps).is(":hidden")||a.show()}},showFolderToolbar:function(a){CTXS.UI.useSmallUILayout()&&(this.$container.addClass("folder-tree"),this.$container.find(".toolbar-foldername-text").html(a))},hideFolderToolbar:function(){this.$container.removeClass("folder-tree"); 426this.$container.find(".toolbar-foldername-text").empty()},_bindToUIEvents:function(){var a=this,b;for(b in a.Buttons)if(a.Buttons.hasOwnProperty(b)){var d=a.Buttons[b],c="on"+b+"Click";a.$container.find(d).on("click",a._makeButtonClickHandler(d,c))}a.$searchBackButton.on("click",function(b){b.preventDefault();a.options.onSearchBackClick()});a.$folderBackButton.on("click",function(b){b.preventDefault();a.options.onFolderBackClick()})},_makeButtonClickHandler:function(a,b){var d=this;return function(c){c.preventDefault(); 427d.selectButton(a);d.options[b]()}}}})(jQuery); 428(function(c){var e={CATEGORY:"category",ALL_APPS:"apps",DESKTOPS:"desktops",SEARCH_RESULTS:"search",MY_APPS:"my-apps"},a=null,b=null;window.CTXS=window.CTXS||{};CTXS.StoreViewManager={Views:e,initialise:function(){CTXS.Events.subscribe(CTXS.Events.ui.showCategorizedApps,function(){a=e.CATEGORY});CTXS.Events.subscribe(CTXS.Events.ui.showAllApps,function(){a=e.ALL_APPS});CTXS.Events.subscribe(CTXS.Events.ui.showDesktops,function(){a=e.DESKTOPS});CTXS.Events.subscribe(CTXS.Events.ui.showMyApps,function(){a= 429e.MY_APPS});CTXS.Events.subscribe(CTXS.Events.ui.showSearchResults,function(){a!=e.SEARCH_RESULTS&&(b=a,a=e.SEARCH_RESULTS)})},getCurrentView:function(){return a},revertView:function(){if(a==e.SEARCH_RESULTS)switch(b){case e.ALL_APPS:CTXS.Events.publish(CTXS.Events.ui.showAllApps);break;case e.DESKTOPS:CTXS.Events.publish(CTXS.Events.ui.showDesktops);break;case e.MY_APPS:CTXS.Events.publish(CTXS.Events.ui.showMyApps);break;default:CTXS.Events.publish(CTXS.Events.ui.showCategorizedApps)}}}})(jQuery); 430(function(c){function e(b,c,f,e){b=a(b);CTXS.trace("recolor image: "+b);CTXS.Environment.recolorImage(b,c,f,e)}function a(a){a=c.trim(a);"url("==a.substring(0,4)&&(a='"'==a[4]||"'"==a[4]?a.substring(5,a.indexOf(a[4],5)):a.substring(4,a.length-1));return a}function b(a){var b=null;CTXS.trace("parseColor: "+a);var c=a.match(/^#([0-9a-f]{6})$/i);c?b=[parseInt(c[1].substr(0,2),16),parseInt(c[1].substr(2,2),16),parseInt(c[1].substr(4,2),16)]:(a=a.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i))&& 431(b=[a[1],a[2],a[3]]);return b}window.CTXS=window.CTXS||{};window.CTXS.recolorImages=function(){if(CTXS.Device.isNativeClient()||!CTXS.Device.isLegacyIE()){var a=c("#recolor-actions");if(a=b(a.css("color"))){var g=c(".folderTemplate");e(g.css("background-image"),a,".folder .storeapp-icon",!0)}a=c(".theme-header-color:first");if(a=b(a.css("color")))g=c(".view-sprite:first"),e(g.css("background-image"),a,".view-sprite",!1)}};window.CTXS.updateSpriteColor=function(a,b,f,e){try{var h;if(e){var l=document.createElement("canvas"), 432k=l.getContext("2d");l.width=a.width;l.height=a.height;k.clearRect(0,0,a.width,a.height);k.drawImage(a,0,0);var q=k.getImageData(0,0,l.width,l.height),v=parseInt(b[0],10),p=parseInt(b[1],10),r=parseInt(b[2],10);for(a=0;a<q.data.length;a+=4){var t=q.data[a+3];CTXS.Device.supportsTranslucentRecoloring()||(t=128<t?255:0);var u=q.data[a];q.data[a]=Math.round(v*u/255);q.data[a+1]=Math.round(p*u/255);q.data[a+2]=Math.round(r*u/255);q.data[a+3]=t}k.putImageData(q,0,0);h=l.toDataURL()}else{var n=document.createElement("canvas"), 433z=n.getContext("2d");n.width=a.width;n.height=a.height;z.clearRect(0,0,a.width,a.height);z.drawImage(a,0,0);z.globalCompositeOperation="source-in";z.fillStyle="rgb("+b[0]+", "+b[1]+", "+b[2]+")";z.rect(0,0,a.width,a.height);z.fill();z.restore();h=n.toDataURL()}c("<style>{0}</style>".format(f+" { background-image: url('"+h+"'); }")).appendTo("head")}catch(G){CTXS.trace("Error recoloring sprite "+G)}};window.CTXS.setDirectXImagePaths=function(){if(CTXS.Device.isLegacyIE()){for(var b=c("#bundle-actions"), 434e="",f,m=1;10>m;m++)if(b.attr("class","bundleDetail appBundle"+m),f=a(b.css("background-image")))f="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src = '{0}', sizingMethod = 'scale');".format(f),e+=".bundleDetail.appBundle{0} { {1} }\n".format(m,f);e&&(CTXS.trace("Adding DirectX filter CSS rules: "+e),c("<style>{0}</style>".format(e)).appendTo("head"))}}})(jQuery); 435(function(c){var e={SMALL:"small",LARGE:"large"};window.CTXS=window.CTXS||{};CTXS.UI={LAYOUT:e,repeatAppGroupTiles:!0,useSmallUILayout:function(){return window.useSmallUI},useSmallTiles:function(){return window.useSmallTiles},getLayout:function(){return this.useSmallUILayout()?e.SMALL:e.LARGE},getMinimumAvailableWidth:function(){return window.minimumAvailableWidth}};c.extend(c.fn,{ctxsDisplayPane:function(){c(".fullscreen-pane").hide();this.show();return this},ctxsCenter:function(){return this.ctxsCenterHorizontally().ctxsCenterVertically()}, 436ctxsCenterHorizontally:function(){return this.each(function(){var a=c(this),b=a.outerWidth()/2*-1;a.css({left:"50%","margin-left":b+"px"})})},ctxsCenterVertically:function(){return this.each(function(){var a=c(this),b=a.outerHeight()/2*-1;a.css({top:"50%","margin-top":b+"px"})})},ctxsBindFocusWithin:function(a){a=a||{};var b=a.selector||":tabbable",d=this;this.ctxsUnbindFocusWithin();c.each(d.find(b),function(a,b){c(b).data("focus-tab-order",a)});d.is(b)&&d.data("focus-tab-order",0);this.on("keydown.cycle",
437function(a){if(a.keyCode==c.ui.keyCode.TAB){a.preventDefault();var f=d.find(b),e=c(document.activeElement).data("focus-tab-order");a.shiftKey&&document.activeElement==f.first().get(0)?f.last().focus():a.shiftKey?f.eq(e-1).focus():document.activeElement==f.last().get(0)?f.first().focus():f.eq(e+1).focus()}return!0});return this},ctxsUnbindFocusWithin:function(){return this.off("keydown.cycle")},ctxsEnableArrowNavigation:function(a){a=a||{};var b=this.find(a.selector||":tabbable"),d=b.length;this.on("keydown.arrows", 438function(a){if(a.keyCode==c.ui.keyCode.DOWN||a.keyCode==c.ui.keyCode.UP){var f=c.inArray(document.activeElement,b);a.keyCode==c.ui.keyCode.DOWN?c(b[(f+1)%d]).focus():a.keyCode==c.ui.keyCode.UP&&c(b[(d+(f-1))%d]).focus()}});return this},ctxsDisableArrowNavigation:function(){return this.off("keydown.arrows")},ctxsUnbindHoverFocusEvents:function(){this.off("mouseenter.unify");this.off("focusin.unify");this.off("focusout.unify");return this},ctxsPlaceFocusOnFirstElement:function(a){a=a||{};this.find(a.selector|| 439":focusable").first().focus();return this},ctxsAddCustomTooltip:function(a,b){function d(d,m){b.find(".pluginassistant-popup").hide();200<c(window).height()-m?a.css({left:d,top:m}).show():a.css({left:d,top:e.offset().top-a.height()-40}).show()}var e=this;this.on("mouseleave focusout",function(){a.hide()});this.on("mouseenter",function(a){var b=c(this);d(a.pageX,b.offset().top+b.outerHeight(!0)+20)});this.on("click",function(b){b.preventDefault();b=c(this);a.is(":visible")?a.hide():d(e.offset().left, 440b.offset().top+b.outerHeight(!0))});a.hide()},ctxsRemoveCustomTooltip:function(){this.off("mouseleave focusout");this.off("mouseenter");this.off("click")},ctxsAddCustomTooltipForButton:function(a,b){var d=this;this.on("mouseleave focusout",function(){a.hide()});this.on("mouseenter",function(e){var f=c(this);f.hasClass("disabled")&&(e=f.offset().left+f.width()/2,f=f.offset().top-a.outerHeight(!0),b.find(".pluginassistant-popup").hide(),200<c(window).height()-f?a.css({left:e,top:f}).show():a.css({left:e, 441top:f-d.height()-40}).show())});a.hide()},ctxsObliteratePassword:function(){return this.each(function(){var a=c(this);if(a.is('input[type="password"]')){var b=a.val();0<b.length&&(b=Array(b.length+1).join("*"),a.val(b))}})}})})(jQuery); 442(function(c){var e=0;window.CTXS=c.extend(window.CTXS||{},{MESSAGE_TYPE:{NONE:"none",ALERT:"alert",WORKFLOW_APPROVED:"workflow approved"},showAuthenticationErrorMessage:function(a){a=a?c.localization.string("LogonHasExpired"):c.localization.string("PleaseLogOnToContinue");CTXS.Events.publish(CTXS.Events.session.terminate);CTXS.Environment.showDialog({messageText:a,buttonLabel:c.localization.string("LogOn"),buttonAction:CTXS.Environment.requestWebStoreRefresh,id:"LogOn"})},showUnsupportedDeviceMessage:function(){CTXS.Environment.showDialog({messageTitle:c.localization.string("UnsupportedDevice"), 443messageText:c.localization.string("UnsupportedDeviceMessage"),id:"UnsupportedDeviceMessage"})},showTerminalErrorMessage:function(a){CTXS.Environment.showDialog({messageText:a,buttonAction:CTXS.Environment.requestWebStoreRefresh,id:"terminal"})},isHighContrastEnabled:function(){var a=c("<div>").css({background:"url(receiver/images/common/ReceiverFullScreenBackground.jpg)",display:"none"});c("body").append(a);var b="none"===a.css("background-image");a.remove();return b},refreshStore:function(){CTXS._isRefreshOK()&& 444CTXS.Environment.requestWebStoreRefresh()},_isRefreshOK:function(){if(0===e)return e=(new Date).getTime(),!0;var a=(new Date).getTime();return 2E3<=a-e?(e=a,!0):!1},displayPopup:function(a,b){b.fadeIn(500,function(){a.show();b.ctxsPlaceFocusOnFirstElement()}).ctxsBindFocusWithin()},instantDisplayPopup:function(a,b){b.fadeIn(.5,function(){a.show();b.ctxsPlaceFocusOnFirstElement()}).ctxsBindFocusWithin()},fadePopup:function(a,b,c){b.fadeOut(500,function(){a.hide();c&&c()})},hidePopup:function(a,b){b.hide(); 445a.hide()},isPopupVisible:function(a){return a.is(":visible")},popupsEnabled:function(a){var b=window.open("","testwindow","height=1,width=1,left=700000,top=7000000,menubar=no,scrollbars=no,status=no,resizable=no,toolbar=no");setTimeout(function(){b&&0!==b.outerHeight?b&&b.close():(b&&b.close(),CTXS.Environment.showDialog({messageText:a,id:"PopupBlocker"}))},25)},_getSubstringUnicode:function(a,b,c){var e=a.length;c="undefined"===typeof c?e:c;if(b>e||c>e||c<b||b===c)return a;var f=b,m=c;0<b&&(f=this._isSurrogateCharacter(a, 446b)?b-1:b);0<c&&c<e&&(m=this._isSurrogateCharacter(a,c)?c-1:c);return a.substring(f,m)}
446,_isSurrogateCharacter:function(a,b){var c=a.charCodeAt(b-1);return 55296<=c&&56319>=c},truncateToFit:function(a,b,d,e,f){var m=a.find(":first-child"),h=a.data("lineHeight");h||(h=m.text("x").outerHeight(),a.data("lineHeight",h));var l=h*e,k=b,q="",v="";a.width(d).css("white-space",1<e?"normal":"nowrap");m.css("line-height",h+"px");m.text(b);f?(q=k.match(/\(\d+\)$/)[0],v=this._getSubstringUnicode(b,0,b.lastIndexOf(q))): 447(q=this._getSubstringUnicode(k,k.length-3),k=this._getSubstringUnicode(k,0,k.length-6));a=null;e=m.outerWidth();for(h=m.outerHeight();h>l+1||e>d;)!a&&h>l?(a=h/l,k=this._getSubstringUnicode(k,0,k.length/a*1.4)):!a&&e>d&&(a=e/d,k=this._getSubstringUnicode(k,0,k.length/a*1.4)),f?(v=this._getSubstringUnicode(v,0,v.length-1),b=c.trim(v)+"... "+q):(k=this._getSubstringUnicode(k,0,k.length-1),b=k+"..."+q),m.text(b),e=m.outerWidth(),h=m.outerHeight();return b},displayHTML5ThirdPartyNoticesLink:function(a){if(CTXS.ClientManager.getLaunchMethod()!= 448CTXS.LaunchMethod.HTML5||CTXS.Device.isCitrixChromeApp())a.hide();else{var b=CTXS.primaryStore.baseUrl+a.attr("href");a.attr("href",b).show()}},sanitizeString:function(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return a.replace(/[&<>"'/]/ig,function(a){return b[a]})}})})(jQuery); 449(function(c){function e(){m.on("click",function(a){a.preventDefault();CTXS.Events.publish(CTXS.Events.ui.showMyApps)});h.on("click",function(a){a.preventDefault();CTXS.Events.publish(CTXS.Events.ui.showAllApps)});k.on("click",function(a){a.preventDefault();CTXS.Events.publish(CTXS.Events.ui.showDesktops)});l.on("click",function(a){a.preventDefault();CTXS.Events.publish(CTXS.Events.ui.showAppUpdates)});q.on("click",function(a){a.preventDefault();CTXS.Events.publish(CTXS.Events.ui.showTasks)})}function a(a, 450c){t=!1;"myapps"==a?CTXS.Events.publish(CTXS.Events.ui.showMyApps):"store"==a?CTXS.Events.publish(CTXS.Events.ui.showAllApps):"desktops"==a?CTXS.Events.publish(CTXS.Events.ui.showDesktops):"updates"==a?CTXS.Events.publish(CTXS.Events.ui.showAppUpdates):"appinfo"==a?CTXS.Events.publish(CTXS.Events.ui.showAppDetails):"bundledetail"==a?CTXS.Events.publish(CTXS.Events.ui.showBundleDetails):"search"==a?CTXS.Events.publish(CTXS.Events.ui.showSearchView):c&&b(a,c)}function b(a,b){CTXS.trace("ViewController switch to view :"+ 451a+" "+b);p=a;CTXS.ExtensionsHead.preRedraw();for(var d=f[0].className.split(/\s+/),h=0;h<d.length;h++){var k=d[h];"-view"==k.substring(k.length-5)&&f.removeClass(k)}"appinfo"!=a&&"search"!=a&&v.removeClass("selected");CTXS.currentView=a;d=a+"-view";f.addClass(d);v.filter("."+d).addClass("selected");b&&CTXS.Events.publish(CTXS.Events.ui.customView,b);var e=c("#toolbar"),l;if(e.is(":visible")&&(d=c(".search-container.active"),d.is(":visible")&&25<d.offset().top-e.offset().top)){CTXS.trace("hide/show toolbar"); 452(l=e.attr("style"))||(l="");e.css("display","none");window.setTimeout(function(){e.attr("style",l);CTXS.trace("call extensions postredraw 1");CTXS.ExtensionsHead.postRedraw()},1);return}CTXS.trace("call extensions postredraw 2");CTXS.ExtensionsHead.onViewChange(a,b);CTXS.ExtensionsHead.postRedraw();CTXS.ExtensionAPI.resize(!0)}function d(){CTXS.Events.subscribe(CTXS.Events.ui.showMyApps,function(){b("myapps",null,!0)});CTXS.Events.subscribe(CTXS.Events.ui.showAllApps,function(){b("store",null,!0)}); 453CTXS.Events.subscribe(CTXS.Events.ui.showDesktops,function(){b("desktops",null,!0)});CTXS.Events.subscribe(CTXS.Events.ui.showTasks,function(){b("tasks",null,!0)});CTXS.Events.subscribe(CTXS.Events.ui.showAppUpdates,function(){b("updates",null,!0)});CTXS.Events.subscribe(CTXS.Events.ui.showAppDetails,function(){"appinfo"!=p&&(r=p);b("appinfo",null,!0)});CTXS.Events.subscribe(CTXS.Events.ui.showBundleDetails,function(){b("bundledetail",null,!0)});CTXS.Events.subscribe(CTXS.Events.ui.showSearchResults, 454function(){b("search",null,!0)});CTXS.Events.subscribe(CTXS.Events.session.terminate,g)}function g(){v.off("click").removeAttr("href")}var f,m,h,l,k,q,v,p,r,t=!1,u,n={isMyAppsViewVisible:!0,isAllAppsViewVisible:!0,isDesktopsViewVisible:!0,isTasksViewVisible:!0};window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.ViewController={initialise:function(a,b,g,p,r,t,T,H,L){u=c.extend({},n,L);f=a;m=g;h=p;l=r;k=t;q=T;v=b;e();d();v.attr("href","#");a=H.getUpgradeApps().length;
4550<a&&l.attr("data-updates",9<a?9:a).addClass("updates-available");m.toggle(u.isMyAppsViewVisible);h.toggle(u.isAllAppsViewVisible);k.toggle(u.isDesktopsViewVisible);q.toggle(u.isTasksViewVisible)},changeView:a,revertView:function(){t?a(r):b(r)},forceRedrawOnBack:function(){t=!0},redrawMyAppsOnBack:function(){t="myapps"===r}}})(jQuery); 456(function(c){window.CTXS=window.CTXS||{};CTXS.Controllers=CTXS.Controllers||{};CTXS.Controllers.WorkflowNotificationController=function(c){this.store=c;this._renderInitialView()};CTXS.Controllers.WorkflowNotificationController.prototype={_renderInitialView:function(){var e=this.store.getWorkflowApprovedApps(),a=this.store.getWorkflowDeniedApps(),b="",d=this;0<e.length&&0<a.length?(b=this._composeApprovedMsg(e)+"<br/><br/>"+this._composeDeniedMsg(a),CTXS.Environment.showDialog({messageType:CTXS.MESSAGE_TYPE.WORKFLOW_APPROVED, 457messageText:b,buttonAction:function(){d.store.revertDeniedApps()},id:"workflowApprovedAndDenied"})):1==e.length?(b=this._composeApprovedMsg(e),CTXS.Environment.showDialog({messageType:CTXS.MESSAGE_TYPE.WORKFLOW_APPROVED,messageText:b,buttonLabel:c.localization.string("Add"),buttonAction:function(){d.store.addApprovedApps()},id:"workflowApproved"})):1<e.length?(b=this._composeApprovedMsg(e),CTXS.Environment.showDialog({messageType:CTXS.MESSAGE_TYPE.WORKFLOW_APPROVED,messageText:b,id:"workflowApproved"})): 4580<a.length&&(b=this._composeDeniedMsg(a),CTXS.Environment.showDialog({messageText:b,buttonAction:function(){d.store.revertDeniedApps()},id:"workflowDenied"}))},_composeApprovedMsg:function(e){return this._composeWorkflowMessage(e,c.localization.string("SingleApprovedApp"),c.localization.string("MultiApprovedApps"))},_composeDeniedMsg:function(e){return this._composeWorkflowMessage(e,c.localization.string("SingleDeniedApp"),c.localization.string("MultiDeniedApps"))},_composeWorkflowMessage:function(e, 459a,b){var d=c.map(e,function(a){return a.name}).join(", ");return(1<e.length?b:a)+'<br/><span class="workflow-app-list">'+d+"</span>"}}})(jQuery); 460(function(c){var e=(new Date).getTime(),a={};CTXS.NativeHelper={storeCallback:function(b){if(null==b)return 0;e++;var c={};c.id=String(e);c.obj=b;a[c.id]=c;return c.id},retrieveCallback:function(b,c){var e=a[b];if(e)return c||delete a[b],e.obj;CTXS.trace("No callback found in retrieveCallback id="+b);return null},toNativeId:function(a){var c=a.id;a.store.id&&(c=a.store.id+"@@"+c);return c},toWebId:function(a){var c=a.indexOf("@@");-1!=c&&(a=a.substring(c+2));return a},toStoreId:function(a){var c= 461a.indexOf("@@");return-1==c?"":a.substring(0,c)},handlePatch:function(){if(CTXS.NativeCapabilities&&CTXS.NativeCapabilities.patch){CTXS.trace("Found patch block");var a=CTXS.NativeCapabilities.patch;if(a.css){var d=document.createElement("style");d.type="text/css";d.innerText=a.css;c("head").append(d)}a.html&&c("body").append(a.html);a.script&&(d=document.createElement("script"),d.type="text/javascript",d.innerText=a.script,c("body").append(d));if(a.stop)return!1}return!0},toXmlString:function(a){var c; 462try{c=window.ActiveXObject?a.xml:(new XMLSerializer).serializeToString(a)}catch(e){CTXS.trace("XMLSerialization Exception - return null"),c=null}return c},loadAppListForStore:function(a,d){CTXS.Environment.localStorageGetItem("enum-"+a.id,function(e){var f;try{f=JSON.parse(e)}catch(h){CTXS.trace("Local storage exception "+h),f=null}var m={};if(null!=f)for(e=0;e<f.resources.length;e++)f.resources[e].store=a,m[f.resources[e].id]=f.resources[e];CTXS.Environment.localStorageGetItem("enumdelta-"+a.id, 463function(a){var b=null;if(a)try{b=JSON.parse(a)}catch(e){CTXS.trace("Local storage exception "+e)}if(null!=b)for(a=0;a<b.resources.length;a++){var k=b.resources[a],g=m[k.id];g&&(c.extend(g,k),g.modified=!0)}d(f)})})},saveAppListFromStore:function(a,c){var e;for(e=0;e<c.resources.length;e++)c.resources[e].store=null;var f=JSON.stringify(c);for(e=0;e<c.resources.length;e++)c.resources[e].store=a;CTXS.Environment.localStorageSetItem("enum-"+a.id,f);CTXS.Environment.localStorageSetItem("enumdelta-"+a.id, 464"")},saveModifiedAppListFromStore:function(a){for(var c,e={resources:[]},f=0;2>f;f++){var m=0==f?CTXS.Store.getAllApps():CTXS.Store.getDesktops();for(c=0;c<m.length;c++){var h=m[c];h.store==a&&h.modified&&e.resources.push({id:h.id,subscriptionstatus:h.subscriptionstatus,subscriptionproperties:h.subscriptionproperties,position:h.position})}}c=JSON.stringify(e);CTXS.Environment.localStorageSetItem("enumdelta-"+a.id,c)}}})(jQuery); 465(function(c){function e(a,b,c){CTXS.Environment.goOnline(a,function(){a&&"PNA"==a.type?CTXS.PNAClient.getConfig(a,b,c):CTXS.WebApiClient.getConfig(a==CTXS.primaryStore&&CTXS.Environment.configurationUrl?CTXS.Environment.configurationUrl:a.baseUrl+"Home/Configuration",b,c)},c)}function a(a,b,c){CTXS.Environment.goOnline(a,function(){if("PNA"==a.type)CTXS.PNAClient.requestResources(a,null,b,c);else{var d=[CTXS.RESOURCE_DETAILS.DEFAULT];("full"==CTXS.Config.getConfigValue("storeProxy.resourcesProxy.resourceDetails", 466"default")||CTXS.Environment.useExtendedResourceDetails||CTXS.Device.isCitrixChromeApp())&&d.push(CTXS.RESOURCE_DETAILS.FULL);var k=a.baseUrl+CTXS.Config.getConfigValue("storeProxy.resourcesProxy.listURL",null,a);CTXS.ResourcesClient.requestResources(a,k,d,b,c)}}
466,c)}function b(a,b){CTXS.Environment.goOnline(a.store,function(){CTXS.AppInstall.getInstallUrl(a,function(d){CTXS.Config.isMdmMode()&&CTXS.Events.publish(CTXS.Events.ui.showAutoMessage,{messageText:c.localization.string("WaitAppInstallMessage")}); 467b(CTXS.SUCCESS);a.mobilelink&&CTXS.Device.getPlatform()==CTXS.Device.Platform.IOS||CTXS.Events.publish(CTXS.Events.store.mobileAppInstall,d)},function(){b(CTXS.FAILURE)})},function(){b(CTXS.FAILURE)})}function d(a,b){CTXS.Environment.goOnline(a.store,function(){CTXS.ItmsAppInstall.getInstallUrl(a,function(a){CTXS.Events.publish(CTXS.Events.store.mobileAppInstall,a);window.setTimeout(function(){b(CTXS.SUCCESS)},3E3)},function(){b(CTXS.FAILURE)})},function(){b(CTXS.FAILURE)})}function g(a){a&&a.preventDefault&& 468a.preventDefault()}window.CTXS=window.CTXS||{};CTXS.Environment=c.extend(CTXS.Environment,{disableDragDrop:function(){try{document.addEventListener?(document.addEventListener("drop",g),document.addEventListener("dragstart",g)):document.attachEvent&&(document.attachEvent("drop",g),document.attachEvent("dragstart",g))}catch(a){CTXS.trace("failed to disable drag drop "+a)}},initialize:function(a){CTXS.primaryStore=CTXS.primaryStore||CTXS.Config;CTXS.primaryStore.id="";CTXS.primaryStore.baseUrl="";CTXS.Environment.disableDragDrop(); 469a()},includeAppInStore:function(a){var b=a.content&&!a.ismobileapp;return a.supportsIcaLaunch||b},canLaunchResource:function(a){var b=a.supportsIcaLaunch||a.content;a=a.requiresvpn&&CTXS.Environment.isGatewaySession()||a.disabled||!a.clienttypes;return b&&!a},treatAsAdded:function(a){return a.supportsSubscription?a.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED:!0},getConfiguration:function(a,b,d){CTXS.trace("Environment.getConfiguration() store="+a.id+" workOffline="+a.workOffline);if(CTXS.Environment.enableOffline&& 470CTXS.Environment.localStorageGetItem){var l=function(c){var d=CTXS.NativeHelper.toXmlString(c);CTXS.Environment.localStorageSetItem("config-"+a.id,d);b(c)};a.workOffline?CTXS.Environment.localStorageGetItem("config-"+a.id,function(k){k?(k=c.parseXML(k),b(k)):(CTXS.trace("failed to find offline data - try online"),a.firstUseHint=!0,e(a,l,d))}):e(a,l,d)}else e(a,b,d)},enumerateResources:function(b,c,d){if(CTXS.Environment.enableOffline){var e=function(a){CTXS.NativeHelper.saveAppListFromStore(b,a); 471c(a)};b.workOffline?CTXS.NativeHelper.loadAppListForStore(b,function(k){null!=k?("PNA"==b.type&&(CTXS.trace("--- load offline PNA images"),CTXS.PNAClient.loadOfflineImages(b,k)),c(k)):a(b,e,d)}):a(b,e,d)}else a(b,c,d)},getListOfAvailableSessions:function(a,b,c){(new CTXS.SessionsServiceClient).listAvailableSessions(a,{resourceTypes:"Citrix.MPS.Application"},b,c)},performSubscribe:function(a,b){CTXS.Environment.goOnline(a.store,function(){"PNA"==a.store.type?CTXS.PNAClient.performSubscribe(a,b):CTXS.ResourcesClient.subscription(a, 472"subscribe",b)},function(){b(CTXS.SUBSCRIPTION_FAILURE)})},performUnsubscribe:function(a,b){CTXS.Environment.goOnline(a.store,function(){"PNA"==a.store.type?CTXS.PNAClient.performUnsubscribe(a,b):CTXS.ResourcesClient.subscription(a,"unsubscribe",b)},function(){b(CTXS.SUBSCRIPTION_FAILURE)})},performUpdatePosition:function(a,b){CTXS.Environment.goOnline(a.store,function(){"PNA"==a.store.type?CTXS.PNAClient.performUpdatePosition(a,b):a.supportsSubscription&&CTXS.ResourcesClient.subscription(a,"update", 473b)},function(){b(CTXS.SUBSCRIPTION_FAILURE)})},updateSubscriptionProperties:function(a,b){b||(b=c.noop);"PNA"!=a.store.type&&a.supportsSubscription?CTXS.ResourcesClient.subscription(a,"update",function(a){a==CTXS.SUBSCRIPTION_FAILURE?b(CTXS.FAILURE):b(CTXS.SUCCESS)}):b(CTXS.FAILURE)},notifySubscriptionStateChange:null,installApp:function(a,c){a.supportsStandardInstallation?b(a,c):a.supportsItmsInstallation?d(a):(a.publicappstoreurl&&CTXS.Events.publish(CTXS.Events.store.linkToPublicAppStore,a.publicappstoreurl), 474c(CTXS.SUCCESS))},cancelAppInstall:null,launchApp:function(a,b){CTXS.Environment.goOnline(a.store,function(){CTXS.launchResource(a,b?b.isAutoLaunch:!1,b?b.chromeAppOptions:null)},function(){CTXS.setLaunchStatus(a,CTXS.LAUNCH_FAILURE)})},launchViaIcaUrl:function(a,b,c){return!1},removeApp:function(a,b){CTXS.Environment.performUnsubscribe(a,function(c){c==CTXS.SUBSCRIPTION_SUCCESS?CTXS.Environment.uninstallApp(a,b):b(c)})},uninstallApp:function(a,b){b(CTXS.SUBSCRIPTION_SUCCESS)},sendHttpRequest:function(a){return c.ajax(a)}, 475loadScript:function(a,b){var d=document.createElement("script");d.src=a;if(0===d.src.indexOf("file")||!d.addEventListener)return c.ctxsAjax({dataType:"script",url:a,complete:b});var e=c.Deferred();d.type="text/javascript";d.async=!0;d.addEventListener("load",function(){b&&b();e.resolve()});document.body.appendChild(d);return e.promise()},getUserDisplayName:function(a){CTXS.trace("CTXS.Environment.getUserDisplayName: requesting user display name from server");var b=CTXS.Config.getConfigValue("authManager.getUsernameURL"); 476b&&CTXS.AuthClient.getUsername(CTXS.primaryStore.baseUrl+b,a)},showSettings:function(){},showStoreMenu:c.noop,showAboutBox:function(a,b,c){CTXS.UI.useSmallTiles()?CTXS.Events.publish(CTXS.Events.ui.showPhoneAbout):(c.ctxsCenter(),a=c.find("#html5ThirdPartyNoticesBtn"),CTXS.displayHTML5ThirdPartyNoticesLink(a),CTXS.displayPopup(b,c))},showDialog:function(a){CTXS.Events.publish(CTXS.Events.ui.showMessage,a)},setPNASubscriptionStatus:function(a,b){a.subscriptionstatus=b;if(CTXS.Environment.localStorageSetItem)try{CTXS.Environment.localStorageSetItem("sub-"+ 477a.id,a.subscriptionstatus)}catch(c){CTXS.trace("Local storage exception "+c)}}
477,getPNASubscriptionStatus:function(a){if(CTXS.Environment.localStorageGetItem)try{CTXS.Environment.localStorageGetItem("sub-"+a.id,function(b){b&&(a.subscriptionstatus=b)})}catch(b){CTXS.trace("Local storage exception "+b)}},pnaRequest:null,refreshHTML5OfflineCache:function(){var a=window.applicationCache;a&&"file:"!=window.location.href.substring(0,5).toLowerCase()&&(CTXS.trace("Start HTML5 app cache refresh"),a.addEventListener("updateready", 478function(a){CTXS.trace("New page version ready. Consider reload???")},!1),a.update())},goOnline:function(a,b){b()},getInstalledApps:function(a,b){b()},notifyWebUILoading:function(){},getStoreDetails:function(a){a()},notifyWebUIReady:function(){},notifyRefreshStart:function(){},notifyRefreshDone:function(a,b,c){c(!0)},localStorageGetItem:null,localStorageSetItem:null,loadAppIcon:function(a,b){if("PNA"==a.store.type)CTXS.PNAClient.requestImages(a,b);else c('<img src="'+a.iconurl+'"></img>').one("load", 479function(){b(a)})},isGatewaySession:function(){return CTXS.AccessGateway.isGatewaySession()},enableAnimations:!0,enableAppUpdates:!1,enableOffline:!1,openUrl:function(a){window.open(a,"_blank","noopener,noreferrer")},writeTraceMessage:function(a,b,c,d){CTXS.writeTraceMessage(a,b,c,d)},getPreferredLanguages:function(){return CTXS.Config.getConfigValue("authManager.userLanguages")},recolorImage:function(a,b,c,d){var k=new Image;k.onload=function(){CTXS.updateSpriteColor(this,b,c,d)};k.src=a},useExtendedResourceDetails:!1, 480logOff:function(){CTXS.Events.publish(CTXS.Events.ui.logoffRequested)},updateOfflineCache:function(a){CTXS.Environment.enableOffline&&CTXS.NativeHelper.saveModifiedAppListFromStore(a)},requestWebStoreRefresh:function(){window.location.reload()},requestShowMyAppsView:function(){},getLanguagePreference:null});try{"localStorage"in window&&null!=window.localStorage&&(CTXS.Environment.localStorageGetItem=function(a,b){var c;try{c=window.localStorage.getItem(a)}catch(d){CTXS.trace("Local Storage Exception reading "+ 481a),c=null}b&&b(c)},CTXS.Environment.localStorageSetItem=function(a,b,c){try{window.localStorage.setItem(a,b)}catch(d){CTXS.trace("Local storage Exception writing "+a)}c&&c()})}catch(f){}})(jQuery); 482(function(c){function e(a,b){CTXS.trace("Raw capabilties:"+a);try{CTXS.NativeCapabilities=JSON.parse(a)}catch(c){CTXS.trace("Failed to parse OS capabilities:"+c)}CTXS.NativeCapabilities.enableOffline&&(CTXS.Environment.enableOffline=!0);CTXS.ExtensionsHead.noteNativeClient(CTXS.NativeCapabilities);CTXS.NativeHelper.handlePatch(CTXS.NativeCapabilities.patch)&&CTXS.wrapExceptions({fn:b,debug:"processCaps"})}function a(a){if(CTXS.Environment.hasNativeFunction("postSubscriptionChange")){var b=CTXS.NativeHelper.toNativeId(a); 483this.callNativeContainer("postSubscriptionChange",b,a.status,a.position)}}function b(a,b,c){b=b.split(";");for(var d=[],e=0;e<b.length;e++){var f=b[e];f?d.push(CTXS.NativeHelper.toWebId(f)):d.push(null)}for(var e=CTXS.Store.getAllApps(),f=CTXS.Store.getDesktops(),g=0;2>g;g++)for(var m=0==g?e:f,u=0;u<m.length;u++){var n=m[u];if(n.store==a){for(var z=!1,G=0;G<b.length;G++)if(n.id==b[G]||n.id==d[G]){z=!n.installed||n.subscriptionstatus!=CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED;n.installed=!0;n.subscriptionstatus= 484CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED;z&&CTXS.Events.publish(CTXS.Events.store.appStatusChange,n);z=!0;break}z||(z=n.installed||c&&n.subscriptionstatus!=CTXS.SUBSCRIPTION_STATUS.NOTSUBSCRIBED,n.installed=!1,c&&(n.subscriptionstatus=CTXS.SUBSCRIPTION_STATUS.NOTSUBSCRIBED),z&&CTXS.Events.publish(CTXS.Events.store.appStatusChange,n))}}}if(CTXS.Device.isNativeClient()){CTXS.trace("Initializing base native environment");CTXS.WebCapabilities=CTXS.WebCapabilities||{};CTXS.WebCapabilities.version="1.1";CTXS.WebCapabilities.menuItems= 485["about","refresh","preferences","logoff"];var d=CTXS.Environment;CTXS.Environment=c.extend({},d,{_messagesForNativeContainer:[],_$iframe:null,_messagecounter:0,NATIVESEP:String.fromCharCode(1),bridge:{sync_getCapabilities:function(a){return window.external.sync_getCapabilities(a)},sync_getFileUri:function(a){return window.external.sync_getFileUri(a)},sync_setPNASubscriptionStatus:function(a,b){return window.external.sync_setPNASubscriptionStatus(a,b)},sync_getPNASubscriptionStatus:function(a){return window.external.sync_getPNASubscriptionStatus(a)}, 486sync_getItem:function(a){return window.external.sync_getItem(a)},sync_setItem:function(a,b){return window.external.sync_setItem(a,b)},sync_refreshDone:function(a,b){return window.external.sync_RefreshDone(a,b)},getCapabilities:function(a,b){window.external.getCapabilities(a,b)},noteRefreshDone:function(a,b){window.external.noteRefreshDone(a,b)},refreshDone:function(a,b,c){window.external.refreshDone(a,b,c)},getStoreDetails:function(a){window.external.getStoreDetails(a)},ajax:function(a,b,c,d,e,f){window.external.ajax(a, 487b,c,d,e,f)},settingsMenu:function(a,b,c,d){window.external.settingsMenu(a,b,c,d)},settingsMenu2:function(a,b,c,d,e,f){window.external.settingsMenu2(a,b,c,d,e,f)},storeMenu:function(a,b,c,d){window.external.storeMenu(a,b,c,d)},aboutBox:function(a,b,c,d){window.external.aboutBox(a,b,c,d)},errorDialog:function(a,b,c,d,e){window.external.errorDialog(a,b,c,d,e)},subscribe:function(a,b){window.external.subscribe(a,b)},unsubscribe:function(a,b){window.external.unsubscribe(a,b)},updatePosition:function(a, 488b,c){window.external.updatePosition(a,b,c)},updateSubscriptionProperties:function(a,b,c){window.external.updateSubscriptionProperties(a,b,c)},uninstallApp:function(a,b){window.external.uninstallApp(a,b)},installApp:function(a,b){window.external.installApp(a,b)},removeApp:function(a,b){window.external.removeApp(a,b)},launchApp:function(a,b){window.external.launchApp(a,b)},getFileUri:function(a,b){window.external.getFileUri(a,b)},setPNASubscriptionStatus:function(a,b,c){window.external.setPNASubscriptionStatus(a, 489b,c)},getPNASubscriptionStatus:function(a,b){window.external.getPNASubscriptionStatus(a,b)},pnaRequest:function(a,b,c,d,e){window.external.pnaRequest(a,b,c,d,e)},pnaSimpleRequest:function(a,b,c,d){window.external.pnaSimpleRequest(a,b,c,d)},goOnline:function(a,b){window.external.goOnline(a,b)},getInstalledApps:function(a,b){window.external.getInstalledApps(a,b)},getInstalledApps2:function(a,b,c){window.external.getInstalledApps(a,b,c)},getItem:function(a,b){window.external.getItem(a,b)},setItem:function(a, 490b,c){window.external.setItem(a,b,c)},openUrl:function(a){window.external.openUrl(a)},recolorImage:function(a,b,c,d,e,f){window.external.recolorImage(a,b,c,d,e,f)},writeTraceMessage:function(a,b,c,d){window.external.writeTraceMessage(
490a,b,c,d)},loading:function(){window.external.loading()},ready:function(){window.external.ready()},noteRefreshStart:function(){window.external.noteRefreshStart()},sync_getUserDisplayName:function(){return window.external.sync_getUserDisplayName()},getUserDisplayName:function(a){window.external.getUserDisplayName(a)}, 491postSubscriptionChange:function(a,b,c){window.external.postSubscriptionChange(a,b,c)},loadAppIcon:function(a,b,c){window.external.loadAppIcon(a,b,c)},logOff:function(){window.external.logOff()},launchViaIcaUrl:function(a,b){window.external.launchViaIcaUrl(a,b)}},WebEnvironment:d,notifyNativeContainerOfPendingMessages:function(a){1==a.length&&(CTXS.trace("*** Notify native container of message(s)"),this._$iframe||(this._$iframe=c('<iframe style="display:none"></iframe>'),c("body").append(this._$iframe)), 492this._$iframe.attr("src","fromjs://biff?"+this._messagecounter++))},callNativeContainer:function(a,b){for(var c=[],d=1,e=arguments.length;d<e;d++)c.push(arguments[d]);if(this.bridge)this.bridge[a]&&("writeTraceMessage"!=a&&CTXS.trace("*** call native ext:"+a),this.bridge[a].apply(this.bridge,c));else{"writeTraceMessage"!=a&&CTXS.trace("*** call native indirect:"+a);d=a+this.NATIVESEP;for(e=0;e<c.length;e++)d+=(null==c[e]?"":c[e].toString())+this.NATIVESEP;this._messagesForNativeContainer.push(d); 493this.notifyNativeContainerOfPendingMessages(this._messagesForNativeContainer)}},hasNativeFunction:function(a){return null!=CTXS.NativeCapabilities&&null!=CTXS.NativeCapabilities.functions&&-1!=c.inArray(a,CTXS.NativeCapabilities.functions)},initialize:function(a){var b=this;d.initialize(function(){var c=JSON.stringify(CTXS.WebCapabilities);if(b.useSyncInitialize)c=CTXS.Environment.bridge.sync_getCapabilities(c),e(c,a);else{var d=CTXS.NativeHelper.storeCallback(a);b.callNativeContainer("getCapabilities", 494c,d)}})},notifyWebUILoading:function(){CTXS.Environment.hasNativeFunction("loading")&&this.callNativeContainer("loading")},notifyWebUIReady:function(){CTXS.Environment.hasNativeFunction("ready")&&this.callNativeContainer("ready")},notifyRefreshStart:function(){CTXS.Environment.hasNativeFunction("noteRefreshStart")&&this.callNativeContainer("noteRefreshStart")},notifyRefreshDone:function(a,b,c){CTXS.Environment.hasNativeFunction("sync_refreshDone")?(a=this.callNativeContainer("sync_refreshDone",a, 495b),c(a)):CTXS.Environment.hasNativeFunction("refreshDone")?(c=CTXS.NativeHelper.storeCallback(c),this.callNativeContainer("refreshDone",a,b,c)):CTXS.Environment.hasNativeFunction("noteRefreshDone")?(this.callNativeContainer("noteRefreshDone",a,b),c(!0)):d.notifyRefreshDone(a,b,c)},canLaunchResource:function(a){return d.canLaunchResource(a)||a.ismobileapp},getStoreDetails:function(a){CTXS.Environment.hasNativeFunction("getStoreDetails")?(a=CTXS.NativeHelper.storeCallback(a),this.callNativeContainer("getStoreDetails", 496a)):d.getStoreDetails(a)},sendHttpRequest:function(a){if(CTXS.Environment.hasNativeFunction("ajax")){var b=CTXS.NativeHelper.storeCallback(a),c=a.data;null==c||"undefined"===typeof a.data||""===a.data?c="":"string"!=typeof c&&(c=jQuery.param(c,a.traditional));var e=null,f;if(a.headers)for(f in a.headers)e=null==e?f+":"+a.headers[f]:e+"\n"+f+":"+a.headers[f];this.callNativeContainer("ajax",a.type,a.url,e,c,a.savedFileKey,b)}else d.sendHttpRequest(a)},loadScript:function(a,b){var d=c.Deferred(),e=function(){b&& 497b();d.resolve()},f=document.createElement("script");f.type="text/javascript";f.async=!0;f.addEventListener?f.addEventListener("load",e):f.readyState&&(f.onreadystatechange=function(){"complete"!=f.readyState&&"loaded"!=f.readyState||e()});f.src=a;document.body.appendChild(f);return d.promise()},showSettings:function(a,b,e,f){if(CTXS.Environment.hasNativeFunction("settingsMenu2")){var g=document.documentElement.scrollLeft;g&&(a-=g,e-=g);this.callNativeContainer("settingsMenu2",a,b,e,f,c(window).width(), 498c(window).height())}else if(CTXS.Environment.hasNativeFunction("settingsMenu")){if(g=document.documentElement.scrollLeft)a-=g,e-=g;this.callNativeContainer("settingsMenu",a,b,e,f)}else d.showSettings(a,b,e,f)},showStoreMenu:function(a,b,c,d){CTXS.Environment.hasNativeFunction("storeMenu")&&this.callNativeContainer("storeMenu",a,b,c,d)},showAboutBox:function(a,b,c){if(CTXS.Environment.hasNativeFunction("aboutBox")){var e=a.offset();b=e.left;c=e.top;var f=e.left+a.outerWidth();a=e.top+a.outerHeight(); 499this.callNativeContainer("aboutBox",b,c,f,a)}else d.showAboutBox(a,b,c)}
499,showDialog:function(a){if(!a.buttonLabel&&!a.cancelButtonAction&&CTXS.Environment.hasNativeFunction("errorDialog")&&CTXS.ExtensionsHead.useNativeMessageBox(a.id||a.messageTitle||a.messageText)){var b=a.resource?CTXS.NativeHelper.toNativeId(a.resource):"",c=CTXS.NativeHelper.storeCallback(a);this.callNativeContainer("errorDialog",a.messageText,a.messageTitle,a.id,b,c)}else d.showDialog(a)},recolorImage:function(a,b,c,e){CTXS.Environment.hasNativeFunction("recolorImage")? 500this.callNativeContainer("recolorImage",a,b[0],b[1],b[2],e,c):d.recolorImage(a,b,c,e)},performSubscribe:function(b,c){if(CTXS.Environment.hasNativeFunction("subscribe")){var e=CTXS.NativeHelper.storeCallback({resource:b,callback:c}),f=CTXS.NativeHelper.toNativeId(b);this.callNativeContainer("subscribe",f,e)}else d.performSubscribe(b,function(d){a(b);c&&c(d)})},performUnsubscribe:function(b,c){if(CTXS.Environment.hasNativeFunction("unsubscribe")){var e=CTXS.NativeHelper.storeCallback({resource:b,callback:c}), 501f=CTXS.NativeHelper.toNativeId(b);this.callNativeContainer("unsubscribe",f,e)}else d.performUnsubscribe(b,function(d){a(b);c&&c(d)})},performUpdatePosition:function(b,c){if(CTXS.Environment.hasNativeFunction("updatePosition")){var e=CTXS.NativeHelper.storeCallback(c),f=CTXS.NativeHelper.toNativeId(b);this.callNativeContainer("updatePosition",f,f.position,e)}else d.performUpdatePosition(b,function(d){a(b);c&&c(d)})},updateSubscriptionProperties:function(a,b){if(CTXS.Environment.hasNativeFunction("updateSubscriptionProperties")){var c= 502CTXS.NativeHelper.toNativeId(a),e=CTXS.NativeHelper.storeCallback(b),f="";if(a.subscriptionproperties)for(var g in a.subscriptionproperties)f=f+g+"="+a.subscriptionproperties[g]+"\n";a.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED&&a.position&&(f=f+"dazzle:position:"+a.position+"\nposition:"+a.position+"\n");this.callNativeContainer("updateSubscriptionProperties",c,f,e)}else d.updateSubscriptionProperties(a,b)},installApp:function(a,b){if(CTXS.Environment.hasNativeFunction("installApp")){var c= 503CTXS.NativeHelper.toNativeId(a),e=CTXS.NativeHelper.storeCallback(b);this.callNativeContainer("installApp",c,e)}else d.installApp(a,b)},uninstallApp:function(a,b){if(CTXS.Environment.hasNativeFunction("uninstallApp")){var c=CTXS.NativeHelper.toNativeId(a),e=CTXS.NativeHelper.storeCallback(b);this.callNativeContainer("uninstallApp",c,e)}else d.uninstallApp(a,b)},removeApp:function(a,b){if(CTXS.Environment.hasNativeFunction("removeApp")){var c=CTXS.NativeHelper.toNativeId(a),e=CTXS.NativeHelper.storeCallback(b); 504this.callNativeContainer("removeApp",c,e)}else d.removeApp(a,b)},launchApp:function(a){if(CTXS.Environment.hasNativeFunction("launchApp")){var b=CTXS.NativeHelper.storeCallback(a),c=CTXS.NativeHelper.toNativeId(a);CTXS.Events.publish(CTXS.Events.resources.launchStatus,{status:CTXS.LAUNCH_STARTING,res:a});this.callNativeContainer("launchApp",c,b)}else d.launchApp(a)},launchViaIcaUrl:function(a,b,c){return CTXS.Environment.hasNativeFunction("launchViaIcaUrl")?(a=CTXS.NativeHelper.storeCallback({resource:a, 505callback:c}),this.callNativeContainer("launchViaIcaUrl",b,a),!0):d.launchViaIcaUrl(a,b,c)},getUserDisplayName:function(a){if(CTXS.Environment.hasNativeFunction("sync_getUserDisplayName")){var b=CTXS.Environment.bridge.sync_getUserDisplayName();a(b)}else if(CTXS.Environment.hasNativeFunction("getUserDisplayName"))a=CTXS.NativeHelper.storeCallback(a),this.callNativeContainer("getUserDisplayName",a);else if(!CTXS.primaryStore.workOffline)return d.getUserDisplayName(a)},getFileUri:function(a,b){if(CTXS.Environment.hasNativeFunction("sync_getFileUri")){var c= 506CTXS.Environment.bridge.sync_getFileUri(a);b(c)}else c=CTXS.NativeHelper.storeCallback(b),this.callNativeContainer("getFileUri",a,c)},loadAppIcon:function(a,b){if("PNA"==a.store.type)CTXS.PNAClient.requestImages(a,b);else if(CTXS.Environment.hasNativeFunction("loadAppIcon")){var e=CTXS.NativeHelper.toNativeId(a),f=CTXS.NativeHelper.storeCallback({resource:a,callback:b});this.callNativeContainer("loadAppIcon",e,a.iconid,f)}else CTXS.Environment.hasNativeFunction("getFileUri")||CTXS.Environment.hasNativeFunction("sync_getFileUri")? 507CTXS.Environment.getFileUri(a.iconid,function(d){d?(a.iconurl=d,CTXS.wrapExceptions({fn:b,args:[a],debug:"getfileuri"})):CTXS.Environment.goOnline(a.store,function(){CTXS.trace("Requesting app icon for "+a.name+" from "+a.iconurl);c.ctxsAjax({type:"GET",url:a.iconurl,data:null,suppressEvents:!0,success:function(c){a.iconurl=c;b(a)},error:function(){CTXS.trace('Failed to load app icon for "'+a.name+'" from '+a.iconurl)},refreshSession:!1,savedFileKey:a.iconid})})}):d.loadAppIcon(a,b)},setPNASubscriptionStatus:function(a, 508b){if(CTXS.Environment.hasNativeFunction("sync_setPNASubscriptionStatus")){var c=CTXS.NativeHelper.toNativeId(a);a.status=CTXS.Environment.bridge.sync_setPNASubscriptionStatus(c,b)}else if(CTXS.Environment.hasNativeFunction("setPNASubscriptionStatus")){var c=CTXS.NativeHelper.toNativeId(a),e=CTXS.NativeHelper.storeCallback(a);this.callNativeContainer("setPNASubscriptionStatus",c,b,e)}else d.setPNASubscriptionStatus(a,b)}
508,getPNASubscriptionStatus:function(a){if(CTXS.Environment.hasNativeFunction("sync_getPNASubscriptionStatus")){var b= 509CTXS.NativeHelper.toNativeId(a);if(b=CTXS.Environment.bridge.sync_getPNASubscriptionStatus(b))a.status=b}else CTXS.Environment.hasNativeFunction("getPNASubscriptionStatus")?(b=CTXS.NativeHelper.toNativeId(a),a=CTXS.NativeHelper.storeCallback(a),this.callNativeContainer("getPNASubscriptionStatus",b,a)):d.getPNASubscriptionStatus(a)},pnaRequest:function(a,b,c,e,f,g){if(CTXS.Environment.hasNativeFunction("pnaRequest"))f=CTXS.NativeHelper.storeCallback({success:f,failure:g}),this.callNativeContainer("pnaRequest", 510a.id,b,c,e,f);else if(CTXS.Environment.hasNativeFunction("pnaSimpleRequest")){if("enum"==b)a=a.Request.Enumeration.Location.Data;else if("launch"==b)a=a.Request.Launch.Location.Data;else if("reconnect"==b)a=a.Request.Reconnect.Location.Data;else throw"Bad PNA request type";b=CTXS.NativeHelper.storeCallback({success:f,failure:g});this.callNativeContainer("pnaSimpleRequest",a,c,e,b)}else d.pnaRequest(a,b,c,e,f,g)},goOnline:function(a,b,c){CTXS.Environment.hasNativeFunction("goOnline")?a.workOffline? 511(c&&(a.goOnlineFailureCallbacks||(a.goOnlineFailureCallbacks=[]),a.goOnlineFailureCallbacks.push(c)),a.goOnlineCallbacks?(CTXS.trace("--- remember additional goOnline callback for "+a.id),a.goOnlineCallbacks.push(b)):(CTXS.trace("--- go online for store "+a.id),a.goOnlineCallbacks=[],a.goOnlineCallbacks.push(b),b=CTXS.NativeHelper.storeCallback(a),this.callNativeContainer("goOnline",a.id,b))):b():d.goOnline(a,b,c)},getInstalledApps:function(a,b){if(CTXS.Environment.hasNativeFunction("getInstalledApps2")){for(var c= 512"",e=0;2>e;e++)for(var f=0==e?CTXS.Store.getAllApps():CTXS.Store.getDesktops(),g=0;g<f.length;g++)f[g].store!=a||f[g].subscriptionstatus!=CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED&&!f[g].mandatory||(""!=c&&(c+=";"),c+=CTXS.NativeHelper.toNativeId(f[g].id));e=CTXS.NativeHelper.storeCallback({callback:b,store:a,list:c});this.callNativeContainer("getInstalledApps2",a.id,c,e)}else CTXS.Environment.hasNativeFunction("getInstalledApps")?(c=CTXS.NativeHelper.storeCallback({callback:b,store:a}),this.callNativeContainer("getInstalledApps", 513a.id,c)):d.getInstalledApps(a,b)},localStorageGetItem:function(a,b){if(CTXS.Environment.hasNativeFunction("sync_getItem")){var c=CTXS.Environment.bridge.sync_getItem(a);b&&CTXS.wrapExceptions({fn:b,args:[c],debug:"sync_getItem"})}else CTXS.Environment.hasNativeFunction("getItem")?(c=CTXS.NativeHelper.storeCallback(b),this.callNativeContainer("getItem",a,c)):d.localStorageGetItem(a,b)},localStorageSetItem:function(a,b,c){CTXS.Environment.hasNativeFunction("sync_setItem")?(this.callNativeContainer("sync_setItem", 514a,b),c&&c()):CTXS.Environment.hasNativeFunction("setItem")?(c=CTXS.NativeHelper.storeCallback(c),this.callNativeContainer("setItem",a,b,c)):d.localStorageSetItem(a,b,c)},openUrl:function(a){CTXS.Environment.hasNativeFunction("openUrl")?this.callNativeContainer("openUrl",a):d.openUrl(a)},writeTraceMessage:function(a,b,c,e){CTXS.Environment.hasNativeFunction("writeTraceMessage")?this.callNativeContainer("writeTraceMessage",a,b,c,e):d.writeTraceMessage(a,b,c,e)},getPreferredLanguages:function(){var a= 515d.getPreferredLanguages();CTXS.NativeCapabilities&&c.isArray(CTXS.NativeCapabilities.preferredLanguages)&&(a=CTXS.NativeCapabilities.preferredLanguages.join(","));return a},logOff:function(){CTXS.Environment.hasNativeFunction("logOff")?this.callNativeContainer("logOff"):d.logOff()}});window.ctxs_getNativeMessage=function(){var a=CTXS.Environment._messagesForNativeContainer,b;0==a.length?b="":(b=a[0],a.splice(0,1));CTXS.trace("*** Native client requested message. Send l="+a.length+" m="+b);return a.length+ 516CTXS.Environment.NATIVESEP+b};window.ctxs_ajax_complete=function(a,b,d,e,f){var g=null,m={};e=window.ctxs_retrieveChunkedData(e);try{g=CTXS.NativeHelper.retrieveCallback(a);if(!g)return;CTXS.trace("headers:"+f);if(f&&-1!=f.indexOf(CTXS.CHALLENGE_HEADER))if(g.store||(CTXS.trace("AJAX failed due to bad/missing cookie - no store info- assume primary "),g.store=CTXS.primaryStore),g.triedGoOnline)CTXS.trace("AJAX failed due to bad/missing cookie - already tried going online - fall through");
516else{CTXS.trace("AJAX failed due to bad/missing cookie - go online and retry"); 517g.triedGoOnline=!0;g.store.workOffline=!0;CTXS.Environment.goOnline(g.store,function(){CTXS.Environment.sendHttpRequest(g)},function(){g.complete({},"error")});return}"xml"==g.dataType&&(m.responseXML=c.parseXML(e));m.responseText=e;m.status=d;m.rawheaders=f;m.getResponseHeader=function(a){if(null!=this.rawheaders){null==this.headers&&(this.headers=this.rawheaders.split("\n"));a+=":";for(var b=0;b<this.headers.length;b++)if(this.headers[b].substring(0,a.length)==a)return this.headers[b].substring(a.length)}return null}}catch(t){CTXS.trace("Error processing ajax from call to "+ 518(null==g?a:g.url));CTXS.trace("Exception "+t);CTXS.trace("URL: "+(null==g?a:g.url));CTXS.trace(t.stack);return}try{g.complete(m,b)}catch(t){CTXS.trace("Error processing ajax complete"),CTXS.trace("Exception "+t),CTXS.trace("URL: "+g.url),CTXS.trace(t.stack)}};window.ctxs_goOnline_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);if(c)if(b==CTXS.SUCCESS){c.workOffline=!1;c==CTXS.primaryStore&&(CTXS.Environment.refreshHTML5OfflineCache(),CTXS.UserInfo.getName()||CTXS.Store.loadUserDisplayName()); 519for(var d=0;d<c.goOnlineCallbacks.length;d++)CTXS.wrapExceptions({fn:c.goOnlineCallbacks[d],debug:"goOnline_"+d});delete c.goOnlineCallbacks;delete c.goOnlineFailureCallbacks}else{CTXS.trace("got non-success callback from goOnline "+b);if(c.goOnlineFailureCallbacks){for(d=0;d<c.goOnlineCallbacks.length;d++)CTXS.wrapExceptions({fn:c.goOnlineFailureCallbacks[d],args:[b],debug:"goOnlineFailed_"+d});delete c.goOnlineFailureCallbacks}delete c.goOnlineCallbacks}};window.ctxs_installApp_complete=function(a, 520b){b||(b=CTXS.FAILURE);var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"installApp"})};window.ctxs_uninstallApp_complete=function(a,b){b=b==CTXS.SUCCESS?CTXS.SUBSCRIPTION_SUCCESS:b==CTXS.SILENTFAILURE?CTXS.SUBSCRIPTION_SILENTFAILURE:CTXS.SUBSCRIPTION_FAILURE;var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"uninstallApp"})};window.ctxs_removeApp_complete=function(a,b){b=b==CTXS.SUCCESS?CTXS.SUBSCRIPTION_SUCCESS:b==CTXS.SILENTFAILURE? 521CTXS.SUBSCRIPTION_SILENTFAILURE:CTXS.SUBSCRIPTION_FAILURE;var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"removeApp"})};window.ctxs_refreshDone_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"refreshDone"})};window.ctxs_getItem_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"lsGet"})};window.ctxs_setItem_complete=function(a){(a=CTXS.NativeHelper.retrieveCallback(a))&& 522CTXS.wrapExceptions({fn:a,debug:"lsSet"})};window.ctxs_launchApp_complete=function(a,b){CTXS.trace("ctxs_launchApp_complete called id="+a+" state="+b);var c=CTXS.NativeHelper.retrieveCallback(a);null==c?CTXS.trace("did not find launch callback record - abort"):"fallback"==b?d.launchApp(c):CTXS.Events.publish(CTXS.Events.resources.launchStatus,{status:"failed"==b?CTXS.LAUNCH_FAILURE:CTXS.LAUNCH_SUCCESS,res:c})};window.ctxs_launchViaIcaUrl_complete=function(a,b,c){(a=CTXS.NativeHelper.retrieveCallback(a))&& 523CTXS.wrapExceptions({fn:a.callback,args:[a,a.resource,b,c],debug:"icaurl"})};window.ctxs_errorDialog_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&("fallback"==b?d.showDialog(c):c.buttonAction&&c.buttonAction())};window.ctxs_recolorImage_complete=function(a,b){c("<style>{0}</style>".format(a+" { background-image: url('"+b+"'); }")).appendTo("head")};window.ctxs_unsubscribe_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);if(null==c)CTXS.trace("did not find callback record - abort"); 524else{var d;"pending"==b?d=CTXS.SUBSCRIPTION_PENDING:"subscribed"==b?d=CTXS.SUBSCRIPTION_FAILURE:"failure"==b?(d=CTXS.SUBSCRIPTION_FAILURE,b=null):"silentfailure"==b?(d=CTXS.SUBSCRIPTION_SILENTFAILURE,b=null):d=CTXS.SUBSCRIPTION_SUCCESS;c.resource.subscriptionstatus=b||c.resource.subscriptionstatus;c.callback&&CTXS.wrapExceptions({fn:c.callback,self:c,args:[d],debug:"unsub"})}};window.ctxs_subscribe_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);if(null==c)CTXS.trace("did not find callback record - abort"); 525else{var d;"pending"==b?d=CTXS.SUBSCRIPTION_PENDING:"unsubscribed"==b?d=CTXS.SUBSCRIPTION_FAILURE:"failure"==b?(d=CTXS.SUBSCRIPTION_FAILURE,b=null):"silentfailure"==b?(d=CTXS.SUBSCRIPTION_SILENTFAILURE,b=null):d=CTXS.SUBSCRIPTION_SUCCESS;c.resource.subscriptionstatus=b||c.resource.subscriptionstatus;c.callback&&CTXS.wrapExceptions({fn:c.callback,self:c,args:[d],debug:"sub"})}};window.ctxs_performUpdatePosition_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&(b="success"==b?CTXS.SUBSCRIPTION_SUCCESS: 526"failure"==b?CTXS.SUBSCRIPTION_FAILURE:CTXS.SUBSCRIPTION_SILENTFAILURE,CTXS.wrapExceptions({fn:c,self:this,args:[b],debug:"updatePostition"}))};window.ctxs_updateSubscriptionProperties_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"updateSubscriptionProperties"})};window.ctxs_getInstalledApps_complete=function(a,c,d){CTXS.trace("ctxs_getInstalledApps_complete called applist="+c);if(a=CTXS.NativeHelper.retrieveCallback(a))b(a.store,c, 527d),a.callback&&CTXS.wrapExceptions({fn:a.callback,self:a,debug:"installedApps"})};window.ctxs_getInstalledApps2_complete=function(a,c,d,e){CTXS.trace("ctxs_getInstalledApps2_complete called chnanges="+c+" applist="+d);if(a=CTXS.NativeHelper.retrieveCallback(a))(c="true"==String(c).toLowerCase())&&d!=a.list&&b(a.store,d,e),a.callback&&CTXS.wrapExceptions({fn:a.callback,self:a,debug:"installedApps2"})};
527window.ctxs_pnaRequest_complete=function(a,b,d){CTXS.trace("ctxs_pnaRequestDone called");a=CTXS.NativeHelper.retrieveCallback(a); 528null==a?CTXS.trace("did not find callback record - abort"):b==CTXS.SUCCESS?(d=c.parseXML(d),CTXS.wrapExceptions({fn:a.success,self:a,args:d,debug:"pna"})):CTXS.wrapExceptions({fn:a.failure,self:a,debug:"pnaF"})};window.ctxs_getCapabilities_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&e(b,c)};window.ctxs_getFileUri_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"getFile"})};window.ctxs_getUserDisplayName_complete= 529function(a,b){CTXS.trace("CTXS.Environment.getUserDisplayName [native]: Received display name: "+b);var c=CTXS.NativeHelper.retrieveCallback(a);c&&CTXS.wrapExceptions({fn:c,args:[b],debug:"getUserDisplayName"})};window.ctxs_setPNASubscriptionStatus_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&(c.status=b)};window.ctxs_getPNASubscriptionStatus_complete=function(a,b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&b&&(c.status=b)};window.ctxs_loadAppIcon_complete=function(a, 530b){var c=CTXS.NativeHelper.retrieveCallback(a);c&&(c.resource.iconurl=b,CTXS.wrapExceptions({fn:c.callback,debug:"loadappicon"}))};window.ctxs_getStoreDetails_complete=function(a,b,c,d){CTXS.trace("Primary Store id="+b);CTXS.primaryStore=CTXS.primaryStore||CTXS.Config;CTXS.primaryStore.id=b;CTXS.primaryStore.baseUrl=c;CTXS.primaryStore.workOffline=d;CTXS.ExtensionsHead.noteNativeStore(CTXS.primaryStore);(a=CTXS.NativeHelper.retrieveCallback(a))&&CTXS.wrapExceptions({fn:a,debug:"getSD"})};window.ctxs_getStoreDetails_addSecondaryStore= 531function(a,b,c,d){CTXS.trace("AddSecondaryStore("+a+","+b+","+c+")");var e={};e.id=a;e.baseUrl=b;e.type=c;e.workOffline=d;CTXS.Config.addSecondaryStore(a,e);CTXS.ExtensionsHead.noteNativeStore(e)};window.ctxs_async_giveFocus=function(){var a=document.activeElement;a&&window.setTimeout(function(){a.focus()},100)};window.ctxs_async_setUserName=function(a,b){CTXS.trace("ctxs_async_setUserName: Received display name: "+a);CTXS.Store.setUserDisplayName(a)};window.ctxs_async_setInstallProgress=function(a, 532b){for(var c=CTXS.NativeHelper.toStoreId(a),d=CTXS.NativeHelper.toWebId(a),e=!1,f,g,m=0;2>m;m++){var u=0==m?CTXS.Store.getAllApps():CTXS.Store.getDesktops();for(f=0;f<u.length;f++)if(g=u[f],g.id==d&&(g.store.id==c||!g.store.id)){g.installProgress=b;e=!0;CTXS.Events.publish(CTXS.Events.store.appStatusChange,g);break}}e||CTXS.trace("app not found "+a)};window.ctxs_async_refresh=function(){CTXS.Environment.refresh()};window.ctxs_async_noteLogoff=function(a){};var g={},f=0;window.ctxs_sendChunkedData= 533function(a,b){a?g[a]+=b:(a="CHUNK"+f++,g[a]=b);return a};window.ctxs_retrieveChunkedData=function(a){var b=g[a];return b?(delete g[a],b):a};var m=CTXS.getUrlParam("bridge");null!=m&&(CTXS.Environment.bridge=window[m]);m=CTXS.getUrlParam("notify");"url"==m&&(CTXS.Environment.bridge=null);"title"==m&&(CTXS.Environment.bridge=null,CTXS.Environment.notifyNativeContainerOfPendingMessages=function(a){1==a.length&&(CTXS.trace("*** Notify native container of message(s) (title)"),document.title="biff="+this._messagecounter++)}); 534"hash"==m&&(CTXS.Environment.bridge=null,CTXS.Environment.notifyNativeContainerOfPendingMessages=function(a){if(1==a.length){CTXS.trace("*** Notify native container of message(s) (hash)");a=window.location.hash||"";var b=a.indexOf("&biff=");-1!=b&&(a=a.substring(0,b));window.location.hash=a+"&biff="+this._messagecounter++}})}})(jQuery); 535(function(c){var e=CTXS.getUrlParam("native");if(e&&0==e.indexOf("android")){var a=CTXS.ExtensionsHead.noteNativeClient,b=CTXS.ExtensionsHead.postRedraw;CTXS.ExtensionsHead.noteNativeClient=function(d){d=d||{};d.features=d.features||{};if(0!=d.features.enableTouchScrollTweak){var e=c(".scrollable.storeViewSection");e.on("scroll",function(){0!=d.features.enableTouchScrollTweak&&1>e.scrollTop()&&e.scrollTop(1)});CTXS.ExtensionsHead.postRedraw=function(){0!=d.features.enableTouchScrollTweak&&1>e.scrollTop()&& 536e.scrollTop(1);b()}}a(d)};c.extend(CTXS.Environment,{useSyncInitialize:!0,enableAppUpdates:!0,treatAsAdded:function(a){return a.supportsStandardInstallation?a.installed:a.supportsSubscription?a.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED:!0}})}})(jQuery); 537(function(c){if(navigator.userAgent&&0<navigator.userAgent.indexOf("CitrixChromeApp")){var e=CTXS.Environment.getConfiguration;c.extend(CTXS.Environment,{getConfiguration:function(a,b,c){window.addEventListener("message",function(g){"ICA"==g.data?(CTXS.Html5Client.registerChromeApp(g.source,g.origin),CTXS.Html5Client.postHideAccountSettingsToChromeApp(),e(a,b,c)):CTXS.Html5Client.re
537ceiveMessageFromChromeApp(g)},!1)}})}})(jQuery); 538(function(c){var e=CTXS.getUrlParam("native");e&&0==e.indexOf("ios")&&c.extend(CTXS.Environment,{enableAppUpdates:!0,bridge:null,treatAsAdded:function(a){return a.supportsStandardInstallation||a.supportsItmsInstallation?a.installed:a.supportsSubscription?a.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED:!0}})})(jQuery);(function(c){var e=CTXS.getUrlParam("native");e&&0==e.indexOf("linux")&&c.extend(CTXS.Environment,{})})(jQuery); 539(function(c){var e=CTXS.getUrlParam("native");e&&0==e.indexOf("mac")&&c.extend(CTXS.Environment,{})})(jQuery);(function(c){var e=CTXS.getUrlParam("native");e&&0==e.indexOf("winphone")&&c.extend(CTXS.Environment,{enableAppUpdates:!0,treatAsAdded:function(a){return a.supportsStandardInstallation?a.installed:a.supportsSubscription?a.subscriptionstatus==CTXS.SUBSCRIPTION_STATUS.SUBSCRIBED:!0}})})(jQuery); 540(function(c){var e=CTXS.getUrlParam("native");e&&0==e.indexOf("windows")&&(CTXS.trace("Initializing Windows native environment"),CTXS.Environment=c.extend(CTXS.Environment,{useSyncInitialize:!0,performSubscribe:function(a,b){if("PNA"==a.store.type){var c=CTXS.NativeHelper.storeCallback({resource:a,callback:b}),e=CTXS.NativeHelper.toNativeId(a);window.external.subscribe(e,c)}else CTXS.Environment.WebEnvironment.performSubscribe(a,b)}}),CTXS.trace("Initializing Windows native environment (done)"))})(jQuery); 541(function(c){if(CTXS.isUrlParamDefined("-db")){"fail"==CTXS.getUrlParam("-db")?CTXS.debugReturnCode=CTXS.SUBSCRIPTION_FAILURE:CTXS.debugReturnCode=CTXS.SUBSCRIPTION_SUCCESS;CTXS.trace("Initializing debug environment");var e=!1;try{new window.ActiveXObject("Microsoft.XMLHTTP"),e=!0}catch(a){}c.extend(CTXS.Environment,{configurationUrl:"dummyapps/Configuration.xml",sendHttpRequest:function(a){CTXS.trace("debug environment hooked ajax call");if("undefined"===typeof a.data||""===a.data)a.data={};a.type&& 542"POST"!=a.type||(a.type="GET");e&&(c.ajaxSettings.xhr=function(){return new window.ActiveXObject("Microsoft.XMLHTTP")});c.ajax(a)},installApp:function(a){CTXS.Events.publish(CTXS.Events.store.appStatusChange,a)},performSubscribe:function(a,b){CTXS.debugReturnCode==CTXS.SUBSCRIPTION_SUCCESS&&(a.subscriptionstatus="subscribed");b(CTXS.debugReturnCode)},performUnsubscribe:function(a,b){CTXS.debugReturnCode==CTXS.SUBSCRIPTION_SUCCESS&&(a.subscriptionstatus="unsubscribed");b(CTXS.debugReturnCode)},performUpdatePosition:function(a, 543b){b(CTXS.debugReturnCode)},getUserDisplayName:function(a){a("User")},launchApp:function(a,b){CTXS.debugReturnCode==CTXS.SUBSCRIPTION_SUCCESS?(alert("Launch "+a.name),CTXS.Events.publish(CTXS.Events.resources.launchStatus,{status:CTXS.LAUNCH_SUCCESS,res:a})):CTXS.Events.publish(CTXS.Events.resources.launchStatus,{status:CTXS.LAUNCH_FAILURE,res:a})}})}})(jQuery);CTXS.trace("ctxs.init.application.js loaded");(function(c){c(document).ready(function(){CTXS.trace("ctxs.init.application ready()");CTXS.ExtensionsHead.preInitialize(function(){CTXS.Bootstrapper.initialize(function(){CTXS.Controllers.MasterController.initialise()})})})})(jQuery); 544CTXS.trace("ctxs.init.application.js loaded (end)"); 545(function(c){function e(a){var b=c.localization.string(a);return b?b:a}function a(a,b){return null==a||a==c.noop||CTXS.ExtensionsHead._debug?a:function(){try{return CTXS.trace("call extension for "+b),a.apply(CTXS.Extensions,arguments)}catch(c){CTXS.trace("Error in extension for "+b+" ex="+c),CTXS.ExtensionsHead._errors&&window.alert&&window.alert("Error in extension for "+b+" ex="+c)}}}function b(a,b,c,d){for(var e=!1,f=[],g,h=0;h<c.length-1;h++)f.push(c[h]);g=c[c.length-1];f.push(function(){e=!0; 546return g()});try{return CTXS.trace("call extension: "+d),b.apply(a,f)}catch(l){if(e)throw l;CTXS.trace("Error in CTXS.Extensions."+d+" ex="+l);CTXS.ExtensionsHead._errors&&window.alert("Error in extension "+d+" ex="+l);return g?g():null}}function d(a,d,e){var f,g;a?(g=!0,f=a.fn,a=a.obj):(f=CTXS.Extensions[d],a=CTXS.Extensions,g=-1==c.inArray(f,CTXS.Extensions._defaultFns));if(CTXS.ExtensionsHead._debug||!g)return f.apply(a,e);if(CTXS.ExtensionsHead._functionPrototypes[d]==CTXS.Extensions._callLast)return b(a, 547f,e,d);var h;g=a;try{CTXS.trace("call extension: "+d),h=f.apply(g,e)}catch(l){CTXS.trace("Error in CTXS.Extensions."+d+" ex="+l),CTXS.ExtensionsHead._errors&&window.alert("Error in extension "+d+" ex="+l),h=null}return h}
547function g(a){return function(){return d(CTXS.ExtensionsHead._pluginFns[a],a,arguments)}}function f(a){return function(b,c){for(var e=CTXS.ExtensionsHead._pluginFns[b];a!=e.obj;)e=e.next;return d(e.next,b,c)}}window.CTXS=window.CTXS||{};var m=null,h=null;CTXS.ExtensionAPI={addPlugin:function(a){if(document.currentScript){var b= 548document.currentScript.getAttribute("data-plugin");b&&b!=a.name&&(CTXS.trace("WARNING: Plugin name mismatch. ScriptTag says:"+b+" explicit:"+a.name),a.name||(a.name=b))}CTXS.Plugins.runPluginInOrder(a.name,function(b){a.chain=f(a);for(var d in a){var e=a[d];if(c.isFunction(e)&&c.isFunction(CTXS.Extensions[d])){var g=CTXS.ExtensionsHead._pluginFns[d];if(g){for(;g.next;)g=g.next;g.next={obj:a,fn:e}}else CTXS.ExtensionsHead._pluginFns[d]={obj:a,fn:e}}}a.initialize&&a.initialize(b)})},addCustomCredentialHandler:function(a){CTXS.AuthExtensions.addCustomCredentialHandler(a)}, 549addCustomAuthLabelHandler:function(a){CTXS.AuthExtensions.addCustomLabelHandler(a)},showMessage:function(b){b.localize&&(b.messageText=e(b.messageText),b.messageTitle=e(b.messageTitle),b.okButtonText=e(b.okButtonText),b.cancelButtonText=e(b.cancelButtonText));var c={};c.messageText=b.messageText;c.messageType=b.isalert?CTXS.MESSAGE_TYPE.ALERT:CTXS.MESSAGE_TYPE.NONE;b.messageTitle&&(c.messageTitle=b.messageTitle);b.okButtonText&&(c.buttonLabel=b.okButtonText);b.cancelButtonText&&(c.cancelButtonLabel= 550b.cancelButtonText);c.cancelButtonAction=a(b.cancelAction,"messageBox cancel");c.buttonAction=a(b.okAction,"messageBox ok");c.id=b.isalert?"custom-alert":"custom";CTXS.Environment.showDialog(c)},resize:function(a){var b=0,d=0,e=c(".store-toolbar"),f=c("#pluginTop"),g=c("#pluginBottom");e.is(":visible")&&(b+=e.outerHeight(!0));f.is(":visible")&&(b+=f.outerHeight(!0));g.is(":visible")&&(d+=g.outerHeight(!0));a&&null==m&&0==b&&0==d||(a=b+" "+d,h!=a&&(h=a,b=".large .storeViewSection {top: "+(b+76)+"px;bottom:"+ 551d+"px;}\n.small .myapps-view .storeViewSection {top: "+(b+44)+"px;bottom:"+(d+0)+"px;}\n.small .store-view .storeViewSection {top: "+(b+89)+"px;bottom:"+(d+0)+"px;}\n.large .appinfo-view .appInfoView {top:"+(b+124)+"px;bottom:"+d+"px;}\n.large .bundledetail-view .storeViewSection {top:"+(b+124)+"px;bottom:"+d+"px;}\n.small .appinfo-view .appInfoView {top:"+(b+88)+"px;bottom:"+d+"px;}\n.small .bundledetail-view .storeViewSection {top:"+(b+88)+"px;bottom:"+d+"px;}\n",null==m?(m=document.createElement("style"), 552m.type="text/css",CTXS.Device.isLegacyIE()&&m.styleSheet?m.styleSheet.cssText=b:m.innerHTML=b,document.getElementsByTagName("head")[0].appendChild(m)):CTXS.Device.isLegacyIE()&&m.styleSheet?m.styleSheet.cssText=b:m.innerHTML=b))},trace:function(a,b){CTXS.trace(a,b)},refresh:function(){CTXS.Environment.refresh()},changeView:function(a,b){CTXS.Controllers.ViewController.changeView(a,b)},navigateToFolder:function(a){CTXS.Controllers.StoreAppListViewController.showFolder(a)},addToolbarButton:function(b, 553d,e,f){b||(b="R"+Math.random().toString().substring(2));c(".store-toolbar .addBefore").before("<a class='toolbar-button toolbar-button-custom theme-highlight-color theme-highlight-hover-color theme-highlight-border-color "+b+"' href='#'>"+d+"</a><div class='toolbar-button-separator'></div>");c(".store-toolbar-phone .phone-toolbar-button:last").before('<a href="#" class="phone-toolbar-button toolbar-button-custom theme-highlight-color '+b+'"><span class="theme-highlight-border-color">'+d+"</span></a>"); 554var g=c(".store-toolbar-phone .phone-toolbar-button");g.css("width",100/g.length+"%");
554f=a(f,"toolbar button "+d);c("."+b).on("click",function(a){a.preventDefault();e&&(c(".store-toolbar .toolbar-button").removeClass("selected"),c(".store-toolbar-phone .phone-toolbar-button").removeClass("selected"),c(this).addClass("selected"),CTXS.Controllers.StoreAppListViewController.setContent(e));f&&f(a)})},addViewButton:function(a,b,d){d||(d=b);c(".tablet-only .toggle-view-button:last").after('<a class="toggle-view-button '+ 555a+'-view"><div class="view-sprite"></div><span class="theme-header-color">'+b+"</span></a>");c(".phone-only .toggle-view-button:last").after('<a class="toggle-view-button primary menu-action theme-header-color '+a+'-view"><div class="action-icon-container"><div class="action-icon view-sprite"></div></div><span class="action-text">'+b+"</span></a>");c("."+a+"-view").on("click",function(){CTXS.ExtensionAPI.changeView(a,d)})},addInfoButton:function(b,d,e){b||(b="R"+Math.random().toString().substring(2)); 556e=a(e,"info button "+d);d='<a href="#" class="theme-highlight-color theme-highlight-border-color appInfoActionButton '+b+'">'+d+"</a>";c(".appInfoActions a:last").after(d);c("."+b).on("click",function(a){a.preventDefault();e&&e(a)})},addHelpButton:function(a){CTXS.UI.useSmallUILayout()?c(".help-button").removeClass("hide").click(a):c(".help-icon").css("display","inline-block").click(a)},localStorageGetItem:function(a,b){CTXS.Environment.localStorageGetItem(a,b)},localStorageSetItem:function(a,b,c){CTXS.Environment.localStorageSetItem(a, 557b,c)},openUrl:function(a){CTXS.Environment.openUrl(a)},proxyRequest:function(a,b){a.type||(a.type="GET");a.suppressEvents=!0;var d=function(){c.ctxsAjax(a)};b?CTXS.Environment.goOnline(CTXS.primaryStore,d):d()},enableSubscriptionProperties:function(){CTXS.Environment.useExtendedResourceDetails=!0},updateSubscriptionProperties:function(b,d){d=d?a(d,"subscription properties callback"):c.noop;CTXS.Environment.updateSubscriptionProperties(b,function(){d();b.modified=!0;CTXS.Environment.updateOfflineCache(b.store)})}, 558launch:function(a){CTXS.Store.launchApp(a)},showSelectedApps:function(a){CTXS.Controllers.StoreAppListViewController.showSelectedApps(a)}};CTXS.ExtensionsHead={_debug:CTXS.isUrlParamDefined("-debug"),_errors:CTXS.isUrlParamDefined("-errors")&&window.alert,isDefined:function(a){return this._pluginFns[a]?!0:(a=CTXS.Extensions[a])&&-1==c.inArray(a,CTXS.Extensions._defaultFns)},_pluginFns:{},_functionPrototypes:c.extend({},CTXS.Extensions)};for(var l in CTXS.Extensions)c.isFunction(CTXS.Extensions[l])&& 559(CTXS.ExtensionsHead[l]=g(l))})(jQuery); 560(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.AppFaqWidget=function(c){this.$faq=c;this.$faqQuestions=this.$faq.find(".faqQuestions").empty();this._bindToUIEvents()};CTXS.Widgets.AppFaqWidget.prototype={_bindToUIEvents:function(){this.$faqQuestions.on("click",".more.faq-answer-link",function(e){e.preventDefault();e=c(this).closest(".questionContainer");e.find(".truncated.answer").trigger("destroy");e.find(".truncated.answer").hide();e.find(".full.answer").show()})}, 561showFaqInfo:function(e,a){var b=this;c.each(e,function(d,e){var f=c('<div class="questionContainer"></div>'),m=c('<div class="question">'+(d+1)+". "+e.question+"</div>");f.append(m);m=c('<div class="full answer"><span>'+e.answer+"</span></div>");if(a){var h=c('<div class="truncated answer"><span>'+e.answer+'</span><a href="#" class="more faq-answer-link theme-highlight-color">'+c.localization.string("More")+"</a></div>");f.append(h);m.hide()}f.append(m);b.$faqQuestions.append(f)});b.$faqQuestions.find(".truncated.answer").each(function(){c(this).dotdotdot({after:".more.faq-answer-link", 562watch:"window"});c(this).find("span").trigger("isTruncated",function(a){a||c(this).find(".more.faq-answer-link").hide()})})}}})(jQuery); 563(function(c){var e={onClick:function(a){}};window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.BreadcrumbTrailWidget=function(a,b){this.options=c.extend({},e,b);this.$container=a;this.$breadcrumbContents=a.find(".breadcrumb-contents");this.$ruler=a.find(".breadcrumb-ruler-container");this.currentFolder=null;this.breadcrumb=[];this._bindToUIEvents()};
563CTXS.Widgets.BreadcrumbTrailWidget.prototype={update:function(a){this.currentFolder=a;CTXS.ExtensionsHead.preRedraw();null!=a.parentCategory? 564this.$container.parent().children().removeClass("selected"):this.$container.parent().find(".folder-view").addClass("selected");a=CTXS.trace("breadcrumb truncation start");this._updateBreadcrumb(this.$container.width());CTXS.trace("breadcrumb truncation end",a);CTXS.ExtensionsHead.postRedraw();return this},resize:function(){CTXS.ExtensionsHead.preRedraw();var a=CTXS.trace("breadcrumb total start"),b=this.$container,d=b.parent();if(b.is(":visible")){for(var e=d.width(),e=e-10,d=d.children(),f=[],m= 5650;m<d.length;m++){var h=c(d[m]);if(h[0]!=b[0]&&h.is(":visible")){f.push(h);var l=h.outerWidth(!0);CTXS.trace("child "+m+" "+h[0]+" w="+l);e-=l}}CTXS.trace("breadcrumb total end width="+e,a);0>e&&(e=0);this.currentFolder&&0!==this.currentFolder.index&&(a=CTXS.trace("breadcrumb truncation start"),this._updateBreadcrumb(e),CTXS.trace("breadcrumb truncation end",a));this.$container.width(e);CTXS.ExtensionsHead.postRedraw()}},show:function(){this.$container.show();this.resize();return this},hide:function(){this.$container.hide(); 566return this},_updateBreadcrumb:function(a){var b=this._getMarkup(this.currentFolder);if(!(1>this.breadcrumb.length)){var c=this.breadcrumb[this.breadcrumb.length-1];this.$ruler.html(b);if(this._canBreadcrumbFit(a))this.$breadcrumbContents.html(b);else if(1===this.breadcrumb.length)this._fitItemByTruncatingName(c,a);else if(this.$ruler.find("li:first a").text("..."),this._canBreadcrumbFit(a))this.$breadcrumbContents.html(this.$ruler.children().clone());else{for(var b=0,e=2;e<this.breadcrumb.length;e++)if(this.$ruler.find("li:nth-child("+ 567(e-b)+")").remove(),this.$ruler.find("li:first a").attr("data-folderindex",this.breadcrumb[e-1].folderIndex),b++,this._canBreadcrumbFit(a)){this.$breadcrumbContents.html(this.$ruler.children().clone());return}6<c.name.length&&this._fitItemByTruncatingName(c,a)}}},_fitItemByTruncatingName:function(a,b){for(var c=a.name.substring(a.name.length-6,0)+"..."+a.name.substring(a.name.length-3,a.name.length),e=this.$ruler.find(".current-folder"),f=a.name.length-7;0<f;f--)if(c=c.slice(0,f)+""+c.slice(f+1), 568e.text(c),this._canBreadcrumbFit(b)){this.$breadcrumbContents.html(this.$ruler.children().clone());break}},_canBreadcrumbFit:function(a){return this.$ruler.outerWidth(!0)<=a},_bindToUIEvents:function(){var a=this;a.$container.on("click","a",function(b){b.preventDefault();b=c(this).data("folderindex");var d=CTXS.Category_ByIndex(b);a.update(d);a.options.onClick(b)})},_getMarkup:function(a){if(null==a.parentCategory)return" ";var b=this._getFolderLinkMarkup(a.index,a.getDisplayFolderName(),!0), 569c=a;for(this.breadcrumb=[{name:a.getDisplayFolderName(),folderIndex:a.index}];c;){c=c.parentCategory;if(null==c||null==c.parentCategory)break;b=this._getFolderLinkMarkup(c.index,c.getDisplayFolderName())+b;this.breadcrumb.unshift({name:c.getDisplayFolderName(),folderIndex:c.index})}return"<ul>"+b+"</ul>"},_getFolderLinkMarkup:function(a,b,c){return c?'<li><div class="breadcrumb-folder-separator theme-highlight-sprite"></div><span class="toolbar-button current-folder">'+b+"</span></li>":'<li><div class="breadcrumb-folder-separator theme-highlight-sprite"></div><a href="#" class="theme-highlight-color toolbar-button" data-folderindex="'+ 570a+'">'+b+"</a></li>"}}})(jQuery);(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.ButtonWidget=function(c,a){this.$buttonElement=c};CTXS.Widgets.ButtonWidget.prototype={show:function(){this.$buttonElement.show()},hide:function(){this.$buttonElement.hide()},onClick:function(c){this.$buttonElement.off("click").on("click",function(a){a.preventDefault();c()})}}})(jQuery); 571(function(c){window.CTXS=window.CTXS||{};CTXS.Widgets=CTXS.Widgets||{};CTXS.Widgets.StickyTabWidget=function(c,a,b){this.$container=c;this.$header=a.empty();this.additionalTabClass=b};CTXS.Widgets.StickyTabWidget.prototype={addNewTab:function(e,a,b){var d="tabTitle "+this.additionalTabClass,g=this;a&&(d+=" tabSelected",b.addClass("tabContentSelected"));e=c('<a id="'+e+'Tab" class="'+d+'" href="#" >'+e+"</a>");e.on("click",function(a){a.preventDefault();g.$header.find(".tabSelected").removeClass("tabSelected"); 572g.$container.find(".tabContentSelected").removeClass("tabContentSelected");c(this).addClass("tabSelected");b.addClass("tabContentSelected")});this.$header.append(e)},clearTabContent:function(){this.$header.empty();this.$container.find(".tabContentSelected").removeClass("tabContentSelected")},stickyTabs:function(c,a){if(a>c){var b=this.$header.width();this.$header.addClass("stickyTab");this.$header.css("width",b)}else this.$header.removeClass("stickyTab").css("width","")}}})(jQuery);
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.