1var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=function(f){return f.raw=f};$jscomp.createTemplateTagFirstArgWithRaw=function(f,n){f.raw=n;return f};var $jscomp$compprop0={}; 2(self.heliuxModules=self.heliuxModules||[]).push([[4407],($jscomp$compprop0[69599]=function(f,n,e){function p(){try{var k=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(g){}return(p=function(){return!!k})()}var t=e(23029),u=e(49530),v=e(50388),q=e(53954),w=e(85501),l=e(31526),x=e(75756),y=e(37252),m=e(47533),z=e(19806),A=e(51863),r=e(56701),B=e(2371),C={triggers:[],doiError:[],triggerFromCAConfig:[],errorQueryParams:"errorCode",ssoJSONParam:"errorCode",values:{isNotEmpty:"isNotEmpty"}, 3storeName:"redirectFlow",statuses:{initialised:"Initialised",checking:"Checking...",noRedirect:"No redirect",redirecting:"Redirecting"}};f=function(k){function g(){(0,t.A)(this,g);var a=g,b=arguments;return a=(0,q.A)(a),(0,v.A)(this,p()?Reflect.construct(a,b||[],(0,q.A)(this).constructor):a.apply(this,b))}return(0,w.A)(g,k),(0,u.A)(g,[{key:"init",value:function(){var a=this;this.config=Object.assign({},C,this.config);this.logger=new y.V(this.name);(0,m.ic)()?(this.searchParams=new URLSearchParams(window.location.search), 4this.storeData={},this.userService={},this.initStatusStore(),this.checkUrlParams(),(0,l.B1)(x.Sw.onError,this.onError.bind(this)),this.getUserDataAndCheckRedirectConditions(),(0,A.M)(function(){a.getUserDataAndCheckRedirectConditions()})):this.logger.info("No User Provider is enabled")}},{key:"listenUserDataChange",value:function(a){var b=this;(0,m.yu)(function(){b.checkRedirectConditions()},a.map(function(c){return c.propName}))}},{key:"getUserDataAndCheckRedirectConditions",value:function(){var a= 5this,b=this.config,c=b.triggers;b=b.statuses;c.length?(0,m.ws)().then(function(d){var h=d.service;a.storeData=d.storeData;a.userService=h;a.listenUserDataChange(c)}).then(function(){return a.checkRedirectConditions()}).catch(function(d){return a.onError(d)}):this.store.status=b.noRedirect}},{key:"initStatusStore",value:function(){var a=this.config,b=a.storeName;a=a.statuses;this.store=(0,B.KA)(b,{status:a.initialised,initialiser:this.name})}},{key:"checkUrlParams",value:function(){var a=this,b=new URLSearchParams(window.location.search); 6this.config.doiError.forEach(function(c){var d=b.get(c.paramName||a.config.errorQueryParams);(d=(d?a.getParamFromJson(d):null)||d)&&a.checkErrorCode(c,d)})}},{key:"getParamFromJson",value:function(a){try{var b=JSON.parse(a)}catch(c){return}if("object"==typeof b)return b[this.config.ssoJSONParam]}},{key:"onError",value:function(a){var b=this;this.config.doiError.forEach(function(c){c.paramName&&c.paramName!==b.config.errorQueryParams||b.checkErrorCode(c,a.errorCode)});this.checkRedirectConditions()}}, 7{key:"errorCodeStringsAreEqual",value:function(a,b){return""+a==""+b}},{key:"checkErrorCode",value:function(a,b){var c=a.redirect,d=a.redirectToLastURL;this.errorCodeStringsAreEqual(a.errorCode,b)&&this.redirect(c,d)}},{key:"checkRedirectConditions",value:function(){var a=this.config,b=a.triggers,c=a.andOperator;a=a.statuses;if(this.store.status=a.checking,0<b.length){var d=(0,z.j)(b,this.storeData,c?"all":"any");c=d.conditionsFulfilled;var h=d.firstCondition;d=d.matchedConditions;if(this.logger.info("\nConditions checked:", 8JSON.stringify(b),"\nConditions matched:",JSON.stringify(d)),c)return this.store.status=a.redirecting,this.redirect(h.redirectUrl,h.redirectToLastURL),!0}return this.store.status=a.noRedirect,!1}},{key:"redirect",value:function(a,b){(void 0===b?0:b)&&this.storeData.savedUrl&&(a=this.storeData.savedUrl,this.storeData.savedUrl=!1);a&&this.redirectToUrl(a)}},{key:"redirectToUrl",value:function(a){this.userService.checkUserState?this.userService.checkUserState(function(){(0,r.S)(a)}):(0,r.S)(a)}}])}(l.xu); 9(0,l.kz)({RedirectFlow:f},0)},$jscomp$compprop0),function(f){f.O(0,[750],function(){return f(69599)});f.O()}]);
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.