{"version":3,"sources":["wwwroot/js/utils.js"],"names":["gE","id","document","getElementById","sE","el","$","css","hE","sZ","z","sX","x","sY","y","sW","w","width","sH","h","height","sC","t","r","b","wH","html","sP","getElementLeft","eElement","nLeftPos","offsetLeft","scrollLeft","eParElement","offsetParent","getElementTop","nTopPos","offsetTop","scrollTop","SetDefaultCursor","body","style","cursor","SetWaitCursor","toggleTextBankHelp","baseId","expandImage","collapseImage","toggleLinkText","className","showTextBankHelp","hideTextBankHelp","helpBodyCollapseImage","linkExpandImage","display","src","title","cntrlIsPressed","textBankDesignMode","launchTextBankEditor","script","launchImmediately","retVal","editTextBankGroup","alert","launchTextBankEditorMVC","post","selerix","applicationRoot","location","reload","showTrainingIndicator","bgImage","background-image","copyToClipboard","text","window","clipboardData","setData","setSelectionRange","input","selectionStart","selectionEnd","focus","createTextRange","range","collapse","moveEnd","moveStart","select","setCaretToPos","pos","getCaretPosition","iCaretPos","selection","oSel","createRange","value","length","loadCss","fileName","i","l","createElement","head","documentElement","len","childNodes","type","rel","href","media","nodeName","appendChild","keydown","event","key","which","keyCode","keyup","selerixCommonPath","requiredFieldError","validatorSummary","caseUnLocked","localization","languageId","languageDescription","dataTables","textbank","handlerUrl","getTextBank","request","action","tag","ajax","data","dataType","async","url","this","success","textStatus","jqXHR","globals","baseUrl","seed","guid","siteStyle","chartScheme","tooltipElements","postBackStarted","charts","focusedElementSelector","textbankDialog","textbankAllowClose","textbankCloseButton","setSiteStyle","indexOf","Guid","_part","Math","random","toString","substring","_guids","Array","_guid","substr","toLowerCase","self","segment","split","findIndex","g","push","s","SessionHandler","warningTitle","warningMessage","timerMessage","loggingOutMessage","stayConnected","logOutNow","loginUrl","checkSessionUrl","keepAliveUrl","timeRemaining","warnUnder","shouldVerifyTimeRemaing","sessionCountdown","sessionInterval","initialized","activeWarning","enabled","warningDialogAllowClose","sessionKey","session","cookieName","prototype","getWarningContent","formatTimeRemaining","keepAlive","getKeepAliveUrl","getTimeRemaining","get","isNaN","exp","Date","setTime","getTime","localStorage","setItem","toUTCString","verifyTimeRemaining","getRetrieveTimeLeftUrl","seconds","Number","parseFloat","showWarning","valueOf","getRedirUrl","getLogoutUrl","abs","expires","getExpiration","now","item","getItem","replace","toGMTString","time","minutes","parseInt","HideSilverlightApps","dialogOptions","message","keyboard","buttons","defaultButton","reset","terminate","onHide","e","preventDefault","stopImmediatePropagation","dialog","createDialog","setInterval","close","RestoreSilverlightApps","clearInterval","HideBusyBox","timeout","setTimeout","enrollmentSession","isSameOrigin","prepLogin","err","console","log","startInterval","initialize","loggingEnabled","arguments","ProcessingBox","ID","Message","Enabled","Active","Timeout","Create","getQuerystringParam","name","results","RegExp","exec","search","decodeURIComponent","ajaxJson","params","successCallBack","errorCallBack","ajaxContent","error","ajaxHtml","settings","slxGuid","errorDialog","state","contentType","JSON","parse","ex","beforeSend","xhr","st","test","setRequestHeader","val","cache","processData","result","ErrorType","ServiceError","contextStatus","UIMessage","ExceptionType","ExceptionMessage","StackTrace","showAjaxError","m","responseText","scriptInclude","scriptFile","getScript","done","fail","jqxhr","alert_type","slxStatus","require","slx","div","hasClass","addClass","attr","prepend","aria-label","Show","imageDelay","callback","clearTimeout","fadeIn","innerWidth","left","innerHeight","top","children","hide","show","Hide","delay","fadeOut","removeClass","Bypass","SelerixTabs","containerID","Selector","Index","Disabled","HiddenID","HiddenIndexID","PostBack","Initialized","Width","Activate","ui","refresh","tab","parent","each","li_w","c","closest","find","reverse","outerWidth","n","next","clear","init","tabs","active","create","removeAttr","innerText","a","is","content","panel","disabled","beforeActivate","newTab","index","newPanel","activate","selerixTabs","resize","container","jQuery","fn","extend","validationSummary","autoAddHasError","autoScrollTo","p","Errors","h2","first","ul","append","empty","errors","j","lbl","label","click","oFocus","offset","_timer","locationHref","Page_BusyBox","leaveCb","$nav","stop","cancelAnimation","leaveAll","$navRoot","isMobileMenu","$menuRoot","isSwitchTab","on","focusRootMenuItem","$item","rootMenuItemPrevNext","prev","$menuItems","$prevItem","$focusedSubItem","$nextItem","hover","blur","Modernizr","touch","touchHandler","changedTouches","simulatedEvent","createEvent","initMouseEvent","touchstart","touchmove","touchend","screenX","screenY","clientX","clientY","target","dispatchEvent","addEventListener","TOUCH_ENABLED","off","d"],"mappings":"AASA,SAASA,GAAGC,GAAM,OAAOC,SAASC,eAAeF,GACjD,SAASG,GAAGC,GAAMC,EAAED,GAAIE,IAAI,aAAc,WAC1C,SAASC,GAAGH,GAAMC,EAAED,GAAIE,IAAI,aAAc,UAC1C,SAASE,GAAGJ,EAAIK,GAAKJ,EAAED,GAAIE,IAAI,UAAWG,GAC1C,SAASC,GAAGN,EAAIO,GAAKN,EAAED,GAAIE,IAAI,OAAQK,EAAI,MAC3C,SAASC,GAAGR,EAAIS,GAAKR,EAAED,GAAIE,IAAI,MAAOO,EAAI,MAC1C,SAASC,GAAGV,EAAIW,GAAKV,EAAED,GAAIY,MAAMD,GACjC,SAASE,GAAGb,EAAIc,GAAKb,EAAED,GAAIe,OAAOD,GAClC,SAASE,GAAGhB,EAAIiB,EAAGC,EAAGC,EAAGZ,GAAKN,EAAED,GAAIE,IAAI,OAAQ,QAAUe,EAAI,IAAMC,EAAI,IAAMC,EAAI,IAAMZ,EAAI,KAC5F,SAASa,GAAGpB,EAAIc,GAAKb,EAAED,GAAIqB,KAAKP,GAChC,SAASQ,GAAGtB,EAAIO,EAAGE,EAAGJ,EAAGM,EAAGG,IACvBP,GAAKE,KACRR,EAAED,GAAIE,IAAI,WAAY,YAClBK,GAAGD,GAAGN,EAAIO,GACVE,GAAGD,GAAGR,EAAIS,IAEXJ,GAAGD,GAAGJ,EAAIK,IACVM,GAAKG,KACJH,GAAGD,GAAGV,EAAIW,GACVG,GAAGD,GAAGb,EAAIc,IAIhB,SAASS,eAAeC,GAGvB,IAFA,IAAIC,EAAWD,EAASE,WAAaF,EAASG,WAC1CC,EAAcJ,EAASK,aACL,MAAfD,GACNH,GAAYG,EAAYF,WAAaE,EAAYD,WACjDC,EAAcA,EAAYC,aAE3B,OAAOJ,EAER,SAASK,cAAcN,GAGtB,IAFA,IAAIO,EAAUP,EAASQ,UAAYR,EAASS,UACxCL,EAAcJ,EAASK,aACL,MAAfD,GACNG,GAAWH,EAAYI,UAAYJ,EAAYK,UAC/CL,EAAcA,EAAYC,aAE3B,OAAOE,EAGR,SAASG,mBAAqBrC,SAASsC,KAAKC,MAAMC,OAAS,UAC3D,SAASC,gBAAkBzC,SAASsC,KAAKC,MAAMC,OAAS,OAExD,SAASE,mBAAmBC,EAAQC,EAAaC,EAAeC,GAC9C9C,SAASC,eAAe0C,EAAS,oBAGlD,OAFc3C,SAASC,eAAe0C,EAAS,SAE/BI,WACf,IAAK,qBACJC,iBAAiBL,EAAQC,EAAaC,EAAeC,GACrD,MACD,IAAK,sBACJG,iBAAiBN,EAAQC,EAAaC,EAAeC,IAIxD,SAASE,iBAAiBL,EAAQC,EAAaC,EAAeC,GAC7D,IAAIR,EAAOtC,SAASC,eAAe0C,EAAS,SAE5C,GAAIG,EAAgB,CACF9C,SAASC,eAAe0C,EAAS,oBACvCI,UAAY,mCAEnB,CACJ,IAAIG,EAAwBlD,SAASC,eAAe0C,EAAS,aACzDQ,EAAkBnD,SAASC,eAAe0C,EAAS,oBAEvDO,EAAsBX,MAAMa,QAAU,OACtCD,EAAgBE,IAAMR,EACtBM,EAAgBG,MAAQ,gBACxBH,EAAgBZ,MAAMa,QAAU,SAGjCd,EAAKS,UAAY,sBAElB,SAASE,iBAAiBN,EAAQC,EAAaC,EAAeC,GAC7D,IAAIR,EAAOtC,SAASC,eAAe0C,EAAS,SAE5C,GAAIG,EAAgB,CACF9C,SAASC,eAAe0C,EAAS,oBACvCI,UAAY,oCAEnB,CACJ,IAAIG,EAAwBlD,SAASC,eAAe0C,EAAS,aACzDQ,EAAkBnD,SAASC,eAAe0C,EAAS,oBAEvDO,EAAsBX,MAAMa,QAAU,OACtCD,EAAgBE,IAAMT,EACtBO,EAAgBG,MAAQ,cACxBH,EAAgBZ,MAAMa,QAAU,OAGjCd,EAAKS,UAAY,qBAGlB,IAAIQ,gBAAiB,EAAOC,oBAAqB,EAOjD,SAASC,qBAAqBC,EAAQC,GACrC,IAAIC,GAAS,EAYb,OAXIL,iBACHA,gBAAiB,EACZC,oBAAuBG,GAK3BE,kBAAkBH,EAAQ,MAAM,GAChCE,GAAS,IALTE,MAAM,+GACNN,oBAAqB,IAOhBI,EAGR,SAASG,wBAAwBL,EAAQC,GASxC,OARUF,qBAAqBC,EAAQC,IAGtCvD,EAAE4D,KAAKC,QAAQC,gBAAkB,mCAAoC,WACpEC,SAASC,YAIJ,EAGR,SAASC,sBAAsBC,GAC1BA,GAASlE,EAAE,sBAAsBC,IAAI,CAAEkE,mBAAoB,QAAUD,EAAU,OAGpF,SAASE,gBAAgBC,GACpBC,OAAOC,eAAiBA,cAAcC,QACzCF,OAAOC,cAAcC,QAAQ,OAAQH,GAErCX,MAAM,iDAIR,SAASe,kBAAkBC,EAAOC,EAAgBC,GACjD,GAAIF,EAAMD,kBACTC,EAAMG,QACNH,EAAMD,kBAAkBE,EAAgBC,QAEpC,GAAIF,EAAMI,gBAAiB,CAC/B,IAAIC,EAAQL,EAAMI,kBAClBC,EAAMC,UAAS,GACfD,EAAME,QAAQ,YAAaL,GAC3BG,EAAMG,UAAU,YAAaP,GAC7BI,EAAMI,UAGR,SAASC,cAAcV,EAAOW,GAC7BZ,kBAAkBC,EAAOW,EAAKA,GAE/B,SAASC,iBAAiBZ,GACzB,IAAIa,EAAY,EAChB,GAAI3F,SAAS4F,UAAW,CACvBd,EAAMG,QACN,IAAIY,EAAO7F,SAAS4F,UAAUE,cAC9BD,EAAKP,UAAU,aAAeR,EAAMiB,MAAMC,QAC1CL,EAAYE,EAAKpB,KAAKuB,YAEdlB,EAAMC,gBAA0C,KAAxBD,EAAMC,iBAEtCY,EAAYb,EAAMC,gBAEnB,OAAOY,EAGR,SAASM,QAAQC,GAChB,IAECC,EAFGC,EAAIpG,SAASqG,cAAc,QAC9BC,EAAOtG,SAASuG,gBAEhBC,EAAMF,EAAKG,WAAWT,OAMvB,GALAI,EAAEM,KAAO,WACTN,EAAEO,IAAM,aACRP,EAAEQ,KAAOV,EACTE,EAAES,MAAQ,SACVT,EAAEF,SAAWA,EACS,SAAlBI,EAAKQ,SACR,IAAKX,EAAI,EAAGA,EAAIK,EAAKL,IACpB,GAAmC,QAA/BG,EAAKG,WAAWN,GAAGW,SAAoB,CAC1CR,EAAOA,EAAKG,WAAWN,GACvB,MAIHG,EAAKS,YAAYX,GA/FlBhG,EAAEJ,UAAUgH,QAAQ,SAAUC,GAC7B,IAAIC,EAAMD,EAAME,OAASF,EAAMG,SAAW,EAC1C7D,eAAwB,IAAP2D,IAElB9G,EAAEJ,UAAUqH,MAAM,WAAc9D,gBAAiB,IA+FjD,IAAIU,QAAUA,SAAW,CACxBC,gBAAiB,GACjBoD,kBAAmB,GACnBC,mBAAoB,GACpBC,iBAAkB,GAClBC,aAAc,IAEfxD,QAAQyD,aAAezD,QAAQyD,cAAgB,CAC9CC,WAAY,EACZC,oBAAqB,UACrBC,WAAY,IAEb5D,QAAQ6D,SAAW7D,QAAQ6D,UAAY,CACtCC,WAAY,GACZC,YAAa,SAAUd,GAEtB,IAAItD,EAASsD,EACTe,EAAU,CAAEC,OAAQ,mBAAoBC,IAAKjB,GAYjD,OAVA9G,EAAEgI,KAAK,CACNC,KAAMJ,EACNK,SAAU,OACV5B,KAAM,OACN6B,OAAO,EACPC,IAAKC,KAAKV,WACVW,QAAS,SAAUL,EAAMM,EAAYC,GACpChF,EAASyE,EAAW,MAAKnB,KAGpBtD,IAGTK,QAAQ4E,QAAU5E,QAAQ4E,SAAW,CACpCC,QAAS,IACTC,KAAM,EACNC,KAAM,WAAc,OAAOP,KAAKM,QAChCE,UAAW,GACXC,YAAa,GACbC,gBAAiB,CAAC,IAAK,OAAQ,KAAM,QAAS,SAAU,SAAU,UAAW,QAAS,OACtFC,iBAAiB,EACjBC,OAAQ,GACRC,uBAAwB,GACxBC,eAAgB,KAChBC,oBAAoB,EACpBC,oBAAqB,KACrBC,aAAc,SAAUT,GACvBhF,QAAQ4E,QAAQI,UAAYA,EAC5BhF,QAAQ4E,QAAQK,YAA+C,GAAjCD,EAAUU,QAAQ,YAAmB,WAAa,YAMlF,IAAIC,KAAO,WAEE,SAARC,IAAsB,OAA+B,OAArB,EAAIC,KAAKC,UAAuB,GAAGC,SAAS,IAAIC,UAAU,GAD9F,IAAIC,EAAS,IAAIC,MAEbC,GAASP,IAAUA,IAAU,IAAMA,IAAU,KAAOA,IAAQQ,OAAO,EAAG,GAAK,IAAMR,IAAU,IAAMA,IAAUA,IAAUA,KAASS,cAE9HC,EAAO9B,KAIX,GAHA8B,EAAKP,SAAW,WAAc,OAAOI,GACrCG,EAAKC,QAAU,SAAUrE,GAAK,OAAOiE,EAAMK,MAAM,KAAKtE,KAEgC,EAAlF+D,EAAOQ,UAAU,SAAUC,GAAK,OAAOA,EAAEF,MAAM,KAAK,KAAOF,EAAKC,QAAQ,KAAe,OAAO,IAAIZ,KAEtGM,EAAOU,KAAKR,KAIb,SAAWS,GACV,aACqB,SAAjBC,IACH,IAAIP,EAAO9B,KAEX8B,EAAKzB,QAAU,IACfyB,EAAKQ,aAAe,kBACpBR,EAAKS,eAAiB,GACtBT,EAAKU,aAAe,GACpBV,EAAKW,kBAAoB,cACzBX,EAAKY,cAAgB,iBACrBZ,EAAKa,UAAY,cACjBb,EAAKc,SAAW,KAChBd,EAAKe,gBAAkB,KACvBf,EAAKgB,aAAe,KACpBhB,EAAKiB,cAAgB,KACrBjB,EAAKkB,UAAY,IACjBlB,EAAKmB,yBAA0B,EAC/BnB,EAAKoB,iBAAmB,KACxBpB,EAAKqB,gBAAkB,KACvBrB,EAAKsB,aAAc,EACnBtB,EAAKuB,eAAgB,EACrBvB,EAAKwB,SAAU,EACfxB,EAAKyB,yBAA0B,EAC/BzB,EAAK0B,WAAa,WAAc,MAAO,0BAA4BhI,QAAQiI,QAAQC,YAGpFrB,EAAesB,UAAUC,kBAAoB,WAC5C,OAAO5D,KAAKuC,eAAiB,2DAA6DvC,KAAKwC,aAAe,sCAAwCxC,KAAK6D,sBAAwB,kBAGpLxB,EAAesB,UAAUG,UAAY,WACpC,IAAI/D,EAAMC,KAAK+D,kBACXjC,EAAO9B,KACX8B,EAAKiB,cAAgB,IACrBjB,EAAKkC,mBACLrM,EAAEsM,IAAIlE,EAAK,SAAUH,GACpB,IAAIsE,MAAMtE,GAAV,CACA,IAAIuE,EAAM,IAAIC,KACdD,EAAIE,QAAQF,EAAIG,UAAmB,IAAP1E,GAC5BjI,EAAE4M,aAAaC,QAAQ1C,EAAK0B,aAAc,IAAOW,EAAIM,cAAgB,KACrE3C,EAAKmB,yBAA0B,MAIjCZ,EAAesB,UAAUe,oBAAsB,WAC9C,GAAK1E,KAAKiD,wBAAV,CACA,IAAInB,EAAO9B,KACPD,EAAM+B,EAAK6C,yBACf7C,EAAKmB,yBAA0B,EAC/BtL,EAAEsM,IAAIlE,EAAK,SAAUH,GACpB,IAAIgF,EAAUC,OAAOC,WAAWlF,GAC5BiF,OAAOX,MAAMU,KACjB9C,EAAKiB,cAAgB6B,EACjB9C,EAAKkC,mBAAsC,GAAjBlC,EAAKkB,UAClClB,EAAKiD,cAELjD,EAAKmB,yBAA0B,OAKlCZ,EAAesB,UAAUI,gBAAkB,WAC1C,OAAQ/D,KAAK8C,cAAgB9C,KAAKK,QAAU,oCAAsC,OAAS,IAAI+D,MAAOY,WAEvG3C,EAAesB,UAAUgB,uBAAyB,WACjD,OAAQ3E,KAAK6C,iBAAmB7C,KAAKK,QAAU,qBAAuB,OAAS,IAAI+D,MAAOY,WAE3F3C,EAAesB,UAAUsB,YAAc,WAAc,OAAOjF,KAAK4C,UAAY5C,KAAKK,QAAU,cAC5FgC,EAAesB,UAAUuB,aAAe,WAAc,OAAOlF,KAAKiF,eAElE5C,EAAesB,UAAUK,iBAAmB,WAE3C,GAA2B,OAAvBhE,KAAK+C,cAAwB,CAChC,IAAInK,EAAIyI,KAAK8D,IAAyB,IAArBnF,KAAK+C,eAClB9K,EAAI,IAAImM,KAIZ,OAHAnM,EAAEoM,QAAQpM,EAAEqM,UAAY1L,GACxBjB,EAAE4M,aAAaC,QAAQxE,KAAKwD,aAAc,IAAOvL,EAAEwM,cAAgB,KACnEzE,KAAK+C,cAAgB,KACdnK,EAAI,IAIZ,IAAIwM,EAAU,IAAIhB,KAAKpE,KAAKqF,iBACxBC,EAAM,IAAIlB,KACd,OAAiBkB,EAAVF,EAAgB/D,KAAK8D,KAAKC,EAAUE,GAAO,KAAQ,GAE3DjD,EAAesB,UAAU0B,cAAgB,WACxC,IAAIE,EAAO5N,EAAE4M,aAAaiB,QAAQxF,KAAKwD,cACvC,OAAK+B,EAEEA,EAAKE,QAAQ,aAAc,KAD1B,IAAIrB,MAAOsB,eAIpBrD,EAAesB,UAAUE,oBAAsB,WAC9C,IAAI8B,EAAO3F,KAAKgE,mBACZ4B,EAAUC,SAASF,EAAO,IAC1Bf,EAAUiB,SAASF,EAAO,IAE9B,OADIf,EAAU,KAAIA,EAAU,IAAMA,GAC3BgB,EAAU,IAAMhB,GAGxBvC,EAAesB,UAAUoB,YAAc,WACtC,IAAIjD,EAAO9B,KACX,IAAK8B,EAAKuB,cAAe,CACY,mBAAzB,qBACVyC,sBAED,IAAIC,EAAgB,CACnBlL,MAAOiH,EAAKQ,aACZ0D,QAASlE,EAAK8B,oBACdqC,UAAU,EACVC,QAAS,CACR,CACClK,KAAM8F,EAAKY,cACXyD,eAAe,EACf1G,OAAQ,WAAcqC,EAAKyB,yBAA0B,EAAMzB,EAAKsE,UAEjE,CACCpK,KAAM8F,EAAKa,UACXlD,OAAQ,WAAcqC,EAAKyB,yBAA0B,EAAMzB,EAAKuE,eAGlEC,OAAQ,SAAUC,GACjB,IAAKzE,EAAKyB,wBAGT,OAFAgD,EAAEC,iBACFD,EAAEE,4BACK,IAyBV3E,EAAKyB,yBAA0B,EAC/BzB,EAAK4E,OAASC,aAAaZ,EAAe,UApBzCjE,EAAKoB,iBAAmB0D,YAAY,WACnC,IAAI7D,EAAgBjB,EAAKkC,mBACrBjB,EAAiC,GAAjBjB,EAAKkB,WACxBlB,EAAKyB,yBAA0B,EAC/BzB,EAAK4E,OAAOG,QACZ/E,EAAKuB,eAAgB,EACrBvB,EAAKmB,yBAA0B,EACQ,mBAA5B,wBAA0C6D,yBACrDC,cAAcjF,EAAKoB,mBAEK,EAAhBH,EAAqBpL,EAAE,4BAA4BoB,KAAK+I,EAAK+B,wBAErElM,EAAE,qCAAqCoB,KAAK+I,EAAKW,mBACjDX,EAAKuE,UAAU,KACfU,cAAcjF,EAAKoB,oBAElB,OAKJpB,EAAKuB,eAAgB,IAIvBhB,EAAesB,UAAUyC,MAAQ,WAChCY,cACWhH,KACN8D,YADM9D,KAEN0G,OAAOG,QAFD7G,KAGNqD,eAAgB,EACrB0D,cAJW/G,KAIQkD,kBACoB,mBAA5B,wBACV4D,0BAGFzE,EAAesB,UAAU0C,UAAY,SAAUY,GAC9C,IAAInF,EAAO9B,KACXiH,EAAUA,GAAW,EACrBC,WAAW,WACVvP,EAAE4M,aAAaC,QAAQ1C,EAAK0B,aAAc,KAAO,IAAIY,MAAOsB,cAAgB,KAC5EqB,cAAcjF,EAAKoB,kBACnB6D,cAAcjF,EAAKqB,iBACf3H,QAAQ2L,oBACX3L,QAAQ2L,kBAAkBC,cAAe,GAE1CnL,OAAOP,SAAWoG,EAAKmD,eACrBgC,IAGJ5E,EAAesB,UAAU0D,UAAY,SAAUJ,GAC9C,IACCtP,EAAE4M,aAAaC,QAAQxE,KAAKwD,aAAc,KAAO,IAAIY,MAAOsB,cAAgB,KAC5EqB,cAAc/G,KAAKkD,kBACnB6D,cAAc/G,KAAKmD,iBAClB,MAAOmE,GACRC,QAAQC,IAAI,oBAAqBD,QAAQC,IAAIF,KAI/CjF,EAAesB,UAAU8D,cAAgB,WACxC,IAAI3F,EAAO9B,KACkB,OAAzB8B,EAAKqB,iBAA4B4D,cAAcjF,EAAKqB,iBAExDrB,EAAKqB,gBAAkByD,YAAY,WAClC,IAAIhO,EAAIkJ,EAAKkC,mBACH,IAANpL,EAAWkJ,EAAKuE,YACXzN,EAAqB,GAAjBkJ,EAAKkB,WAAkBlB,EAAK4C,uBAEvC,MAGJrC,EAAesB,UAAU+D,WAAa,WACrC,IAAI5F,EAAO9B,KACX,SAAI8B,EAAKsB,aAAgBtB,EAAKwB,WAC9BxB,EAAKkC,mBACLlC,EAAK2F,gBACE3F,EAAKsB,aAAc,IAG3BhB,EAAEqB,QAAUrB,EAAEqB,SAAW,IAAIpB,EArN9B,CAsNG7G,SAEHA,QAAQ+L,QAAU/L,QAAQ+L,SAAW,CACpCI,gBAAgB,EAChBH,IAAK,WACAxH,KAAK2H,gBAAkB1L,OAAOsL,SAChB,MAAbK,WAAyC,MAApBA,UAAUrK,QAAqC,EAAnBqK,UAAUrK,QAC9DtB,OAAOsL,QAAQC,IAAII,UAAU,MAMjC,IAAIC,cAAgB,SAAU7B,GAC7BhG,KAAK8H,GAAK,gBACV9H,KAAK+H,QAAU/B,GAAW,gCAC1BhG,KAAKgI,SAAU,EACfhI,KAAKiI,QAAS,EACdjI,KAAKkI,QAAU,KACflI,KAAKmI,UA6DN,SAASC,oBAAoBC,GAC5BA,EAAOA,EAAK5C,QAAQ,OAAQ,OAAOA,QAAQ,OAAQ,OACnD,IACC6C,EADW,IAAIC,OAAO,SAAWF,EAAO,aACxBG,KAAK9M,SAAS+M,QAC/B,OAAmB,OAAZH,EAAmB,GAAKI,mBAAmBJ,EAAQ,GAAG7C,QAAQ,MAAO,MAM7E,SAASkD,SAASlJ,EAAQM,EAAK6I,EAAQC,EAAiBC,GACvD,OAAOC,YAAY,CAClBtJ,OAAQA,EACRM,IAAKA,EACLH,KAAM,OACNgJ,OAAQA,EACR3I,QAAS4I,EACTG,MAAOF,IAGT,SAASG,SAASxJ,EAAQM,EAAK6I,EAAQC,EAAiBC,GACvD,OAAOC,YAAY,CAClBtJ,OAAQA,EACRM,IAAKA,EACLH,KAAM,OACNgJ,OAAQA,EACR3I,QAAS4I,EACTG,MAAOF,IAGT,SAASC,YAAYG,GACpB,QAAiB,IAAbA,QAAwC,IAAjBA,EAASnJ,IAApC,MAC2B,IAAvBmJ,EAASpF,YAA+C,IAAvBoF,EAASpF,WAC7CtI,QAAQiI,QAAQK,YAEjB,IAAIxM,EAAKK,EAAEwR,UAEXD,EAASE,YAAcF,EAASE,aAAe,CAC9CC,MAAO,SACPnD,QAAS,CACR,CACClK,KAAM,KACNmK,eAAe,EACf1G,OAAQ,WAAc,OAAO,MAKhC,IAAI6J,EAAc,mDAClB,GAAiC,iBAArBJ,EAAe,OAC1B,IACSK,KAAKC,MAAMN,EAASN,QAC5BU,EAAc,mBACb,MAAOG,SAGa,IAAnBP,EAASpJ,QAAkBoJ,EAASpJ,OAAQ,GAElCnI,EAAEgI,KAAK,CACpB+J,WAAY,SAAUC,GACrB,IAAIC,EAAKjS,EAAE,6CACN,IAAK4Q,OAAO,kBAAmB,KAAMsB,KAAKX,EAASnJ,MAAoB,EAAZ6J,EAAGrM,QAClEoM,EAAIG,iBAAiB,6BAA8BF,EAAGG,QAGxDhK,IAAKmJ,EAASnJ,IACdiK,OAAO,EACP/L,KAAMiL,EAASzJ,QAAU,OACzBG,KAAMsJ,EAASN,QAAU,GACzB/I,SAAUqJ,EAAStJ,MAAQ,OAC3BqK,aAAa,EACbX,YAAaA,EACbxJ,MAAOoJ,EAASpJ,MAChBG,QAAS,SAAUiK,GACdA,QAA+B,IAArBA,EAAOC,YAAwBD,EAAS,CAAEE,aAAcF,IAClEA,GAAUA,EAAOE,cAAiD,GAAjCF,EAAOE,aAAaD,WACzB,mBAApB,eAAgCrB,cAAcoB,GACzDG,cAAc,QAAS,UACvBnB,EAASE,YAAYpD,QAAUkE,EAAOE,aAAaE,UACnD3D,aAAauC,EAASE,aACtB7B,QAAQC,IAAI,cAAeD,QAAQC,IAAI0C,EAAOE,aAAaD,WAC3D5C,QAAQC,IAAI,kBAAmBD,QAAQC,IAAI0C,EAAOE,aAAaG,eAC/DhD,QAAQC,IAAI,qBAAsBD,QAAQC,IAAI0C,EAAOE,aAAaI,kBAClEjD,QAAQC,IAAI,eAAgBD,QAAQC,IAAI0C,EAAOE,aAAaK,YAC5DzD,eAGkC,mBAAtBkC,EAAgB,SAAkBA,EAASjJ,QAAQiK,EAAQ5S,IAGzE0R,MAAO,SAAU1B,EAAKpH,GACW,mBAApBgJ,EAAc,MAAkBA,EAASF,MAAM1B,IAE1D+C,cAAc,QAAS,UACvBnB,EAASE,YAAYpD,QAAU,8DAC3BkD,EAASN,QAAmC,QAAzBM,EAASN,OAAOrL,SAAkB2L,EAASE,YAAYpD,SAAW,8CACzFW,aAAauC,EAASE,aACtB7B,QAAQC,IAAI,UAAWD,QAAQC,IAAIF,GACnCC,QAAQC,IAAI,QAASD,QAAQC,IAAI0B,EAASnJ,KAC1CwH,QAAQC,IAAI,eAAgBD,QAAQC,IAAItH,GACxCqH,QAAQC,IAAI,eAAgBD,QAAQC,IAAI0B,EAASN,QACjD5B,kBAKH,OAAO1P,GAGR,SAASoT,cAAcpD,GACtB,IAAIqD,EAAI,GACR,IAAMA,EAAIpB,KAAKC,MAAMlC,EAAIsD,cACzB,MAAOnB,GAAMkB,EAAIrD,EAAIsD,aACJ,iBAAND,IAAkBA,EAAI,CAAE5C,QAAS4C,IAE5ChE,aAAa,CAAE9L,MAAO,QAASmL,QAAS2E,EAAE5C,QAAS9J,KAAM,QAASoL,MAAO,WAM1E,SAASwB,cAAcC,EAAYjC,EAAiBC,GACnDnR,EAAEoT,UAAUD,GACVE,KAAK,SAAU/P,EAAQiF,GACU,mBAAtB,GAAkC2I,EAAgB3I,KAE7D+K,KAAK,SAAUC,EAAOhC,EAAU5B,GACD,mBAApB,GAAgCwB,EAAcxB,GACzDC,QAAQC,IAAI,kCAAoCsD,KAYnD,SAAST,cAAcrO,EAAMmP,GAC5BnP,EAAOA,GAAQ,kBACXrE,EAAEyT,UAAazT,EAAEyT,UAAUpP,EAAMmP,GAEpCE,QAAQ,CAAC,cAAe,SAAUC,GACjC3T,EAAEyT,UAAUpP,EAAMmP,KA5MrBtD,cAAclE,UAAUwE,OAAS,WAChC,IAAIoD,EAAM5T,EAAE,IAAMqI,KAAK8H,IAClByD,EAAIhO,OAIGgO,EAAIC,SAAS,mBACxBD,EAAIE,SAAS,oBAJbF,EAAM5T,EAAE,UAAU+T,KAAK,CAAEpU,GAAI0I,KAAK8H,KAAM2D,SAAS,kBAAkBA,SAAS,gBACxEE,QAAQhU,EAAE,WAAW8T,SAAS,kDAAkDC,KAAK,CAAEE,aAAc5L,KAAK+H,WAC9GpQ,EAAE,QAAQgU,QAAQJ,KAKpB1D,cAAclE,UAAUkI,KAAO,SAAUC,EAAYC,GACpD,IAAI/L,KAAKiI,QAAWjI,KAAKgI,QAAzB,CACAhI,KAAKiI,QAAS,EACO,OAAjBnG,KAAKoG,UACR8D,aAAalK,KAAKoG,SAClBpG,KAAKoG,QAAU,MAGhB,IAAIxQ,EAAKC,EAAE,IAAMqI,KAAK8H,IAEtBpQ,EAAGuU,OAAO,UAES,IAAfH,IAAuBA,EAAa,GAEP,EAA7BnU,EAAEsE,QAAQiQ,aAAe,GAAOvU,EAAE,IAAMqI,KAAK8H,GAAK,SAASlQ,IAAI,CAAEuU,KAAM,uBACzC,EAA9BxU,EAAEsE,QAAQmQ,cAAgB,GAAOzU,EAAE,IAAMqI,KAAK8H,GAAK,SAASlQ,IAAI,CAAEyU,IAAK,uBAC3E1U,EAAE,IAAMqI,KAAK8H,IAAIwE,SAAS,QAAQC,OAElCvM,KAAKkI,QAAUhB,WAAW,WACzBxP,EAAG+T,SAAS,UACZ/T,EAAG4U,SAAS,QAAQZ,KAAK,aAAa,GAAMc,OAClB,mBAAf,GAA2BT,KACpCD,KAEJjE,cAAclE,UAAU8I,KAAO,SAAUC,EAAOX,GAC/C,IAAIjK,EAAO9B,KACU,OAAjB8B,EAAKoG,UACR8D,aAAalK,EAAKoG,SAClBpG,EAAKoG,QAAU,MAEhBvQ,EAAE,IAAMqI,KAAK8H,IAAI6E,QAAQ,IAAK,WAC7BhV,EAAEqI,MAAM4M,YAAY,UACpBjV,EAAEqI,MAAMsM,SAAS,QAAQZ,KAAK,aAAa,GAAOa,OAClDzK,EAAKmG,QAAS,EACY,mBAAf,GAA2B8D,OAGxClE,cAAclE,UAAUkJ,OAAS,WAChC,IAAI/K,EAAO9B,KACU,OAAjB8B,EAAKoG,SAAoB8D,aAAalK,EAAKoG,SAC/CpG,EAAKkG,SAAU,EACflG,EAAKoG,QAAUhB,WAAW,WACzBpF,EAAKkG,SAAU,EACfgE,aAAalK,EAAKoG,SAClBpG,EAAKoG,QAAU,MACb,MA6JJ,IAAI4E,YAAc,SAAUC,GAC3B,IAAIjL,EAAO9B,KACX8B,EAAKkL,SAAW,IAAMD,EACtBjL,EAAKmL,MAAQ,EACbnL,EAAKoL,SAAW,GAChBpL,EAAKqL,SAAW,KAChBrL,EAAKsL,cAAgB,KACrBtL,EAAKuL,SAAW,KAChBvL,EAAKwL,aAAc,EACnBxL,EAAKyL,MAAQ,EACbzL,EAAK0L,SAAW,KAEhB1L,EAAK2L,GAAK,KACV3L,EAAK4L,QAAU,WACd5L,EAAK2L,GAAGE,IAAIC,SAASC,KAAK,WACzB,IAAInW,EAAKC,EAAEqI,MAEP3H,EAAIX,EAAGY,QAASwV,EAAO,EACvBC,EAAIrW,EAAGsW,QAAQ,qBAEJ,EAAXD,EAAExQ,SACLlF,EAAI0V,EAAEzV,QAASwV,EAAO,GAGvBnW,EAAED,EAAGuW,KAAK,MAAMhK,MAAMiK,WAAWL,KAAK,WACrCC,GAAQnW,EAAEqI,MAAMmO,YAAW,GAE3B,IAAIC,EAAIzW,EAAEqI,MAAMqO,OACDhW,EAAXyV,EAAO,GACVM,EAAExW,IAAI,CAAE0W,MAAO,SACfR,EAAOnW,EAAEqI,MAAMmO,YAAW,IAE1BC,EAAExW,IAAI,CAAE0W,MAAO,UAKnBxM,EAAKyM,KAAO,WACPzM,EAAKwL,cAET3V,EAAEmK,EAAKkL,UAAUR,OAAOgC,KAAK,CAC5BC,OAAQ3M,EAAKmL,MACbyB,OAAQ,SAAUlQ,EAAOiP,IACxB3L,EAAK2L,GAAKA,GACPE,IAAIgB,WAAW,YAClBlB,EAAGE,IAAIC,SAASK,KAAK,UAAUJ,KAAK,WAAclW,EAAEqI,MAAM0L,KAAK,QAAS1L,KAAK4O,aAC7E9M,EAAK4L,UACL,IAAImB,EAAIpB,EAAGE,IAAIrB,SAAS,KACnBuC,EAAEC,GAAG,sBAAsBD,EAAEnD,KAAK,kBAA4C,mBAAlB5J,EAAKuL,WAA4BwB,EAAEC,GAAG,gBAClGD,EAAEjP,KAAK,eAAiBiP,EAAEC,GAAG,eACjC7F,SAAS,OAAQ4F,EAAEjP,KAAK,OAAQ,KAAM,SAAUmP,GAAWtB,EAAGuB,MAAMjW,KAAKgW,MAG3EE,SAAUnN,EAAKoL,SACfgC,eAAgB,SAAU1Q,EAAOiP,GAChC3L,EAAKmL,MAAQQ,EAAG0B,OAAOvP,KAAK,UAC5B,IAAIiP,EAAIpB,EAAG0B,OAAO7C,SAAS,KACtBuC,EAAEC,GAAG,sBAAsBD,EAAEnD,KAAK,kBAA4C,mBAAlB5J,EAAKuL,WAA4BwB,EAAEC,GAAG,eACjF,OAAlBhN,EAAKqL,UAAmBxV,EAAE,IAAMmK,EAAKqL,UAAUpD,IAAIjI,EAAKmL,OACjC,OAAvBnL,EAAKsL,eAAwBzV,EAAE,IAAMmK,EAAKsL,eAAerD,IAAI0D,EAAG0B,OAAOC,SAC5C,mBAAnBtN,EAAa,UAAoB+M,EAAEjP,KAAK,cAAekC,EAAKuL,WAC/DwB,EAAEC,GAAG,eACb7F,SAAS,OAAQ4F,EAAEjP,KAAK,OAAQ,KAAM,SAAUmP,GAAWtB,EAAG4B,SAAStW,KAAKgW,MAG9EO,SAAU,SAAU9Q,EAAOiP,GACK,mBAAnB3L,EAAa,UAAoBA,EAAK0L,SAAShP,EAAOiP,MAIhE9V,EAAEmK,EAAKkL,UAAUzP,SAAQ5F,EAAEmK,EAAKkL,UAAU,GAAGuC,YAAczN,GAC/DnK,EAAEsE,QAAQuT,OAAO,WAChB,GAAI1N,EAAK2L,GAAI,CACZ,IAAIgC,EAAY3N,EAAK2L,GAAGE,IAAIC,SACxB6B,EAAUnX,UAAYwJ,EAAKyL,QAC9BzL,EAAKyL,MAAQkC,EAAUnX,QACvBwJ,EAAK4L,iBAcVgC,OAAOC,GAAGC,OAAO,CAChBL,YAAa,WAAc,OAAqB,EAAdvP,KAAKzC,aAAsC,IAAxByC,KAAK,GAAGuP,YAAyBvP,KAAK,GAAGuP,YAAc,MAS5GM,kBAAmB,SAAUjQ,EAAMmM,EAAU+D,EAAiBC,GAC7D,IAAK/P,KAAKzC,OAAQ,CACjB,IAAIsR,EAAIlX,EAAE,UAAU+T,KAAK,sBAAuB,QAAQD,SAAS,4BAC7DuE,EAAIrY,EAAE,gBAKV,OAJKqY,EAAEzS,SAAUyS,EAAIrY,EAAE,gBAClBqY,EAAEzS,SAAUyS,EAAIrY,EAAE,SACvBqY,EAAErE,QAAQkD,QACVA,EAAEgB,kBAAkBjQ,EAAMmM,GAAU,EAAOgE,GAQ5C,GAJKD,GACJnY,EAAE,cAAciV,YAAY,aAGxBhN,GAASA,EAAKqQ,OAAnB,CAIAjQ,KAAK4M,YAAY,4BAA4BnB,SAAS,8BAEtD,IAAIyE,EAAKlQ,KAAKsM,SAAS,MAAM6D,QACX,IAAdD,EAAG3S,QAAgByC,KAAK2L,QAAQuE,EAAKvY,EAAE,UACtCuY,EAAG1E,SAAS,2BAA6B0E,EAAGzE,SAAS,0BAC1DyE,EAAGlU,KAAK4D,EAAKmI,SAAW,8CAExB,IAAIqI,EAAKpQ,KAAKsM,SAAS,MAAM6D,QAK7B,IAAK,IAAIzS,KAJS,IAAd0S,EAAG7S,QAAgByC,KAAKqQ,OAAOD,EAAKzY,EAAE,UACrCyY,EAAG5E,SAAS,wBAA0B4E,EAAG3E,SAAS,uBACvD2E,EAAGE,QAEW1Q,EAAKqQ,OAAQ,CAC1B,IAAIM,EAAS3Q,EAAKqQ,OAAOvS,GACzB,GAAsB,IAAlB6S,EAAOhT,OACX,IAAK,IAAIiT,EAAI,EAAGA,EAAID,EAAOhT,OAAQiT,IAAK,CACvC,IAAIC,EAAM9Y,EAAE,cAAgB+F,EAAI,MAAOgT,EAAQD,EAAIzU,QAAU0B,EACxDoS,GACJW,EAAIhF,SAAS,cAEVoD,EAAIlX,EAAE,QAAQ+T,KAAK,OAAQ,KAAKA,KAAK,WAAYhO,IACnDiT,MAAM,SAAUnS,GACjBA,EAAMgI,iBACN,IAAID,EAAI5O,EAAE,IAAMA,EAAEqI,MAAMJ,KAAK,QACzB2G,EAAEyH,QAAQ,UAAUzQ,OAAUgJ,EAAEqK,SAC7BrK,EAAE/J,UAEV4T,EAAGC,OAAO1Y,EAAE,SAAS8T,SAAS,uBAAuB4E,OAAOxB,EAAE9V,KAAK,MAAQ2X,EAAQ,SAASL,OAAO,KAAOE,EAAOC,KAC5GV,GACJnY,EAAE,IAAM+F,EAAI,iBAAiBkQ,SAASnC,SAAS,cAKxB,mBAAf,GAA6BM,KAEnB,IAAjBgE,GACHpY,EAAEJ,UAAUoC,UAAUqG,KAAK6Q,SAASxE,UAxCpCrM,KAAK4M,YAAY,8BAA8BnB,SAAS,+BA6C3DiE,OAAOE,OAAO,CACbkB,OAAQ,KACRC,aAAc,SAAUhR,GACvBiR,aAAahJ,SAAU,EACvB/L,OAAOP,SAASyC,KAAO4B,EACD,OAAlB2P,OAAOoB,QAAmB9E,aAAa0D,OAAOoB,QAClDpB,OAAOoB,OAAS5J,WAAW,WAAc8J,aAAahJ,SAAU,EAAM0H,OAAOoB,OAAS,MAAS,QAMjGnZ,EAAE,WAMa,SAAVsZ,EAAoBC,GACvBA,EAAKjD,KAAK,kBAAkBkD,MAAK,GAAM,GAAMzE,MANlC,KAM+CC,QAL5C,IAK8D,WACvEyE,IACJF,EAAKtE,YAAY,QACjBsE,EAAKjD,KAAK,oBAAoBvC,KAAK,gBAAiB,SACpD/T,EAAEqI,MAAM2O,WAAW,YAIN,SAAX0C,EAAqBC,GACxBA,EAASrD,KAAK,eAAeJ,KAAK,SAAUuB,GAC3C6B,EAAQtZ,EAAEqI,SAcO,SAAfuR,IACH,OAAyD,EAAlDC,EAAUvD,KAAK,0BAA0B1Q,OA/BjD,IAEI6T,GAAkB,EAClBI,EAAY7Z,EAAE,iBA+Bd8Z,GAAc,EAClB9Z,EAAEsE,QAAQyV,GAAG,QAAS,WACrBD,GAAc,IAGS,SAApBE,EAA8BC,GAC5BA,GAA0B,IAAjBA,EAAMrU,SACwB,EAAxCqU,EAAM3D,KAAK,oBAAoB1Q,OAElCqU,EAAM3D,KAAK,oBAAoBzR,QAG/BoV,EAAM3D,KAAK,KAAKzR,SAKS,SAAvBqV,EAAiCD,EAAOvD,GAC3C,IAAIyD,GAAQzD,EACRe,EAAQ2C,EAAW3C,MAAMwC,GAC7B,KAAIE,GAAkB,IAAV1C,GACRf,GAAQe,IAAU2C,EAAWxU,OAAS,GAA1C,CACA,IAAI7F,EAAKqa,EAAW3C,GAAS0C,GAAQ,EAAI,IACzC,OAAIpa,EAAWC,EAAED,QAAjB,GAlBD,IAWIqa,EAAaP,EAAUvD,KAAK,eAShC8D,EAAWxT,QAAQ,SAAUgI,GAE3B,IA8CIyL,EA/CL,GAAkB,KAAdzL,EAAE5H,QAEL,GAA+B,KAD3BsT,EAAkBta,EAAEqI,MAAMiO,KAAK,2BACf1Q,QAInB,GADIyU,EAAYH,EAAqBla,EAAEqI,OAAO,GAI7C,OAFA2R,EAAkBK,GACdzL,EAAEC,gBAAgBD,EAAEC,kBACjB,OAGR,GAAoD,IAAhDyL,EAAgBjE,QAAQ,MAAM8D,OAAOvU,OAGxC,OAFAoU,EAAkBha,EAAEqI,OAChBuG,EAAEC,gBAAgBD,EAAEC,kBACjB,EAKV,GAAkB,KAAdD,EAAE5H,QAAyB,CAC9B,IAAIuT,EAOAD,EANJ,IADIC,EAAYL,EAAqBla,EAAEqI,OAAO,KACa,IAA1CrI,EAAEqI,MAAMiO,KAAK,kBAAkB1Q,OAG/C,OAFAoU,EAAkBO,GACd3L,EAAEC,gBAAgBD,EAAEC,kBACjB,EAIR,GAA6B,GADzByL,EAAkBta,EAAEqI,MAAMiO,KAAK,2BACf1Q,QACgC,IAAhD0U,EAAgBjE,QAAQ,MAAMK,OAAO9Q,OAGxC,OAFAoU,EAAkBO,GACd3L,EAAEC,gBAAgBD,EAAEC,kBACjB,EAIT,GAAkB,KAAdD,EAAE5H,UACDuT,EAAYL,EAAqBla,EAAEqI,OAAO,IAI7C,OAFA2R,EAAkBO,GACd3L,EAAEC,gBAAgBD,EAAEC,kBACjB,EAIT,GAAkB,KAAdD,EAAE5H,UACDqT,EAAYH,EAAqBla,EAAEqI,OAAO,IAI7C,OAFA2R,EAAkBK,GACdzL,EAAEC,gBAAgBD,EAAEC,kBACjB,EAIT,OAAO,IAGRgL,EAAUvD,KAAK,sBAAsB1P,QAAQ,SAAUgI,GAItD,GAAkB,KAAdA,EAAE5H,SAAkC,KAAd4H,EAAE5H,QAE3B,OADI4H,EAAEC,gBAAgBD,EAAEC,kBACjB,IAEN2L,MAAM,WACJZ,MACJE,GAAc,EACd9Z,EAAEqI,MAAMiO,KAAK,oBAAoBzR,UAC/B,WACE+U,KACJN,EAAQtZ,EAAEqI,SACR2Q,MAAM,WAGRS,IAFAK,GAAc,GAGd9Z,EAAEqI,MAAMiO,KAAK,kBAAkBkD,MAAK,GAAM,GAAMxC,WAAW,SAC3DyC,GAAkB,IAChBnD,KAAK,oBAAoBzR,MAAM,WAvHpB,IAAU0U,EAwHnBK,MAGAE,EACHA,GAAc,GA5HQP,EA+HfvZ,EAAEqI,MAAMgO,QAAQ,eA9HxBqD,EAASH,EAAKlD,QAAQ,WACtBkD,EAAKjD,KAAK,kBAAkBkD,MAAK,GAAM,GAAMzE,MAtBlC,KAsB+CT,OArB5C,IAqB6D,WACtEmF,IACJF,EAAKjD,KAAK,oBAAoBvC,KAAK,gBAAiB,QACpDwF,EAAKzF,SAAS,QACd9T,EAAEqI,MAAM2O,WAAW,gBA6HrB6C,EAAUvD,KAAK,oDAAoDzR,MAAM,WACxEiV,GAAc,EACd9Z,EAAEqI,MAAM0L,KAAK,aAAc,UACzB0G,KAAK,WACPza,EAAEqI,MAAM0L,KAAK,aAAc,WAI5BqG,EAAW9D,KAAK,KAAKzR,MAAM,WACtB+U,MACJE,GAAc,EACuC,IAAjDD,EAAUvD,KAAK,uBAAuB1Q,QACzC8T,EAASG,QAMZ7Z,EAAE,WACD,aAEA,GAAK0a,WAAcA,UAAUC,MAA7B,CAEA,IAAIC,EAAe,SAAU/T,GAC5B,IAAI8T,EAAQ9T,EAAMgU,eAAe,GAC7BC,EAAiBlb,SAASmb,YAAY,cAC1CD,EAAeE,eAAe,CAC7BC,WAAY,YACZC,UAAW,YACXC,SAAU,WACTtU,EAAMP,OAAO,GAAM,EAAMhC,OAAQ,EAClCqW,EAAMS,QAAST,EAAMU,QACrBV,EAAMW,QAASX,EAAMY,SAAS,GAC9B,GAAO,GAAO,EAAO,EAAG,MAEzBZ,EAAMa,OAAOC,cAAcX,IAG5Blb,SAAS8b,iBAAiB,aAAcd,GAAc,GACtDhb,SAAS8b,iBAAiB,YAAad,GAAc,GACrDhb,SAAS8b,iBAAiB,WAAYd,GAAc,GACpDhb,SAAS8b,iBAAiB,cAAed,GAAc,GAEvD,IAAI9T,EAAM,iBAAmBjD,QAAQiI,QAAQC,WACI,EAA7CzH,OAAOP,SAASyC,KAAK+C,QAAQ,eAChCvJ,EAAE4M,aAAaC,QAAQ/F,EAAK,SAE7BxC,OAAOqX,cAA+C,QAA/B3b,EAAE4M,aAAaiB,QAAQ/G,GAEzCxC,OAAOqX,eACX3b,EAAEsE,QAAQsX,IAAI,uBAAuB7B,GAAG,sBAAuB,SAAUlT,GACnEvC,OAAOqX,gBACXrX,OAAOqX,eAAgB,EAEvBvK,YAAY,CACXtJ,OAAQ,MACRM,MAAOvE,SAAW,IAAIC,iBAAmB,IAAM,QAC/CmE,KAAM,OACNgJ,OAAQ,KACR3I,QAAS,SAAUuT,GAClB7b,EAAE4M,aAAaC,QAAQ/F,EAAKxC,OAAOqX,eACnC3b,EAAEsE,QAAQsX,IAAI,wBAEfzP,WAAW","file":"utils.min.js","sourcesContent":["/**\r\n * Helper functions for form library ({@link http://selerix.com})\r\n * @copyright Copyright 2025, Selerix Systems, Inc. All Rights Reserved\r\n * This is unpublished proprietary source code of Selerix, Inc. The\r\n * copyright notice above does not evidence any actual or intended\r\n * publication of such source code.\r\n */\r\n\r\n/* BACKWARDS COMPATIBILITY */\r\nfunction gE(id) { return document.getElementById(id); }\r\nfunction sE(el) { $(el).css('visibility', 'visible'); }\r\nfunction hE(el) { $(el).css('visibility', 'hidden'); }\r\nfunction sZ(el, z) { $(el).css('z-index', z); }\r\nfunction sX(el, x) { $(el).css('left', x + 'px'); }\r\nfunction sY(el, y) { $(el).css('top', y + 'px'); }\r\nfunction sW(el, w) { $(el).width(w); }\r\nfunction sH(el, h) { $(el).height(h); }\r\nfunction sC(el, t, r, b, x) { $(el).css('clip', 'rect(' + t + ' ' + r + ' ' + b + ' ' + x + ')'); }\r\nfunction wH(el, h) { $(el).html(h); }\r\nfunction sP(el, x, y, z, w, h) {\r\n\tif (x || y) {\r\n\t\t$(el).css('position', 'absolute');\r\n\t\tif (x) sX(el, x);\r\n\t\tif (y) sY(el, y);\r\n\t}\r\n\tif (z) sZ(el, z);\r\n\tif (w || h) {\r\n\t\tif (w) sW(el, w);\r\n\t\tif (h) sH(el, h);\r\n\t}\r\n}\r\n\r\nfunction getElementLeft(eElement) {\r\n\tvar nLeftPos = eElement.offsetLeft - eElement.scrollLeft; // initialize var to store calculations\r\n\tvar eParElement = eElement.offsetParent; // identify first offset parent element \r\n\twhile (eParElement != null) { // move up through element hierarchy\r\n\t\tnLeftPos += eParElement.offsetLeft - eParElement.scrollLeft; // appending left offset of each parent\r\n\t\teParElement = eParElement.offsetParent; // until no more offset parents exist\r\n\t}\r\n\treturn nLeftPos; // return the number calculated\r\n}\r\nfunction getElementTop(eElement) {\r\n\tvar nTopPos = eElement.offsetTop - eElement.scrollTop; // initialize var to store calculations\r\n\tvar eParElement = eElement.offsetParent; // identify first offset parent element \r\n\twhile (eParElement != null) { // move up through element hierarchy\r\n\t\tnTopPos += eParElement.offsetTop - eParElement.scrollTop; // appending top offset of each parent\r\n\t\teParElement = eParElement.offsetParent; // until no more offset parents exist\r\n\t}\r\n\treturn nTopPos; // return the number calculated\r\n}\r\n\r\nfunction SetDefaultCursor() { document.body.style.cursor = 'default'; }\r\nfunction SetWaitCursor() { document.body.style.cursor = 'wait'; }\r\n\r\nfunction toggleTextBankHelp(baseId, expandImage, collapseImage, toggleLinkText) {\r\n\tvar expandLink = document.getElementById(baseId + '_More_ExpandLink');\r\n\tvar bodyDiv = document.getElementById(baseId + '_More');\r\n\r\n\tswitch (bodyDiv.className) {\r\n\t\tcase \"TextBankHelpHidden\":\r\n\t\t\tshowTextBankHelp(baseId, expandImage, collapseImage, toggleLinkText);\r\n\t\t\tbreak;\r\n\t\tcase \"TextBankHelpVisible\":\r\n\t\t\thideTextBankHelp(baseId, expandImage, collapseImage, toggleLinkText);\r\n\t\t\tbreak;\r\n\t}\r\n}\r\nfunction showTextBankHelp(baseId, expandImage, collapseImage, toggleLinkText) {\r\n\tvar body = document.getElementById(baseId + '_More');\r\n\r\n\tif (toggleLinkText) {\r\n\t\tvar expandLink = document.getElementById(baseId + '_More_ExpandLink');\r\n\t\texpandLink.className = 'TextBankHelpExpandLinkHidden';\r\n\t}\r\n\telse {\r\n\t\tvar helpBodyCollapseImage = document.getElementById(baseId + '_more_img');\r\n\t\tvar linkExpandImage = document.getElementById(baseId + '_inline_link_img');\r\n\r\n\t\thelpBodyCollapseImage.style.display = 'none';\r\n\t\tlinkExpandImage.src = collapseImage;\r\n\t\tlinkExpandImage.title = 'Collapse Help';\r\n\t\tlinkExpandImage.style.display = 'inline';\r\n\t}\r\n\r\n\tbody.className = 'TextBankHelpVisible';\r\n}\r\nfunction hideTextBankHelp(baseId, expandImage, collapseImage, toggleLinkText) {\r\n\tvar body = document.getElementById(baseId + '_More');\r\n\r\n\tif (toggleLinkText) {\r\n\t\tvar expandLink = document.getElementById(baseId + '_More_ExpandLink');\r\n\t\texpandLink.className = 'TextBankHelpExpandLinkVisible';\r\n\t}\r\n\telse {\r\n\t\tvar helpBodyCollapseImage = document.getElementById(baseId + '_more_img');\r\n\t\tvar linkExpandImage = document.getElementById(baseId + '_inline_link_img');\r\n\r\n\t\thelpBodyCollapseImage.style.display = 'none';\r\n\t\tlinkExpandImage.src = expandImage;;\r\n\t\tlinkExpandImage.title = 'Expand Help';\r\n\t\tlinkExpandImage.style.display = 'none';\r\n\t}\r\n\r\n\tbody.className = 'TextBankHelpHidden';\r\n}\r\n\r\nvar cntrlIsPressed = false, textBankDesignMode = false;\r\n$(document).keydown(function (event) {\r\n\tvar key = event.which || event.keyCode || 0;\r\n\tcntrlIsPressed = key == 17;\r\n});\r\n$(document).keyup(function () { cntrlIsPressed = false; });\r\n\r\nfunction launchTextBankEditor(script, launchImmediately) {\r\n\tvar retVal = true;\r\n\tif (cntrlIsPressed) {\r\n\t\tcntrlIsPressed = false;\r\n\t\tif (!textBankDesignMode && !launchImmediately) {\r\n\t\t\talert('Design mode will now be enabled to use this feature. The page will reload and you can control-click again.');\r\n\t\t\ttextBankDesignMode = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\teditTextBankGroup(script, null, true);\r\n\t\t\tretVal = false;\r\n\t\t}\r\n\t}\r\n\treturn retVal;\r\n}\r\n\r\nfunction launchTextBankEditorMVC(script, launchImmediately) {\r\n\tvar ret = launchTextBankEditor(script, launchImmediately);\r\n\r\n\tif (ret) {\r\n\t\t$.post(selerix.applicationRoot + 'Localization/TextBank/UpdateFlag', function () {\r\n\t\t\tlocation.reload();\r\n\t\t});\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\nfunction showTrainingIndicator(bgImage) {\r\n\tif (bgImage) $(\"#testSiteIndicator\").css({ \"background-image\": \"url('\" + bgImage + \"')\" });\r\n}\r\n\r\nfunction copyToClipboard(text) {\r\n\tif (window.clipboardData && clipboardData.setData) {\r\n\t\twindow.clipboardData.setData(\"Text\", text);\r\n\t} else {\r\n\t\talert('Unable to automatically copy to the clipboard');\r\n\t}\r\n}\r\n\r\nfunction setSelectionRange(input, selectionStart, selectionEnd) {\r\n\tif (input.setSelectionRange) {\r\n\t\tinput.focus();\r\n\t\tinput.setSelectionRange(selectionStart, selectionEnd);\r\n\t}\r\n\telse if (input.createTextRange) {\r\n\t\tvar range = input.createTextRange();\r\n\t\trange.collapse(true);\r\n\t\trange.moveEnd('character', selectionEnd);\r\n\t\trange.moveStart('character', selectionStart);\r\n\t\trange.select();\r\n\t}\r\n}\r\nfunction setCaretToPos(input, pos) {\r\n\tsetSelectionRange(input, pos, pos);\r\n}\r\nfunction getCaretPosition(input) {\r\n\tvar iCaretPos = 0;\r\n\tif (document.selection) {\r\n\t\tinput.focus();\r\n\t\tvar oSel = document.selection.createRange();\r\n\t\toSel.moveStart('character', - input.value.length);\r\n\t\tiCaretPos = oSel.text.length;\r\n\t}\r\n\telse if (input.selectionStart || input.selectionStart == '0')\r\n\r\n\t\tiCaretPos = input.selectionStart;\r\n\r\n\treturn iCaretPos;\r\n}\r\n\r\nfunction loadCss(fileName) {\r\n\tvar l = document.createElement('link'),\r\n\t\thead = document.documentElement,\r\n\t\ti,\r\n\t\tlen = head.childNodes.length;\r\n\tl.type = 'text/css';\r\n\tl.rel = 'stylesheet';\r\n\tl.href = fileName;\r\n\tl.media = 'screen';\r\n\tl.fileName = fileName;\r\n\tif (head.nodeName !== 'HEAD') {\r\n\t\tfor (i = 0; i < len; i++) {\r\n\t\t\tif (head.childNodes[i].nodeName == 'HEAD') {\r\n\t\t\t\thead = head.childNodes[i];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\thead.appendChild(l);\r\n}\r\n\r\n// SELERIX GLOBALS\r\nvar selerix = selerix || {\r\n\tapplicationRoot: '',\r\n\tselerixCommonPath: '',\r\n\trequiredFieldError: '',\r\n\tvalidatorSummary: '',\r\n\tcaseUnLocked: ''\r\n};\r\nselerix.localization = selerix.localization || {\r\n\tlanguageId: 1,\r\n\tlanguageDescription: 'English',\r\n\tdataTables: {}\r\n};\r\nselerix.textbank = selerix.textbank || {\r\n\thandlerUrl: '',\r\n\tgetTextBank: function (key) {\r\n\r\n\t\tvar retVal = key;\r\n\t\tvar request = { action: 'retrievetextbank', tag: key };\r\n\r\n\t\t$.ajax({\r\n\t\t\tdata: request,\r\n\t\t\tdataType: 'json',\r\n\t\t\ttype: 'POST',\r\n\t\t\tasync: false,\r\n\t\t\turl: this.handlerUrl,\r\n\t\t\tsuccess: function (data, textStatus, jqXHR) {\r\n\t\t\t\tretVal = data[\"text\"] || key;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn retVal;\r\n\t}\r\n};\r\nselerix.globals = selerix.globals || {\r\n\tbaseUrl: '/',\r\n\tseed: 0,\r\n\tguid: function () { return this.seed++; },\r\n\tsiteStyle: '',\r\n\tchartScheme: '',\r\n\ttooltipElements: ['A', 'SPAN', 'LI', 'INPUT', 'BUTTON', 'SELECT', 'TEXTBOX', 'LABEL', 'IMG'],\r\n\tpostBackStarted: false,\r\n\tcharts: [],\r\n\tfocusedElementSelector: '',\r\n\ttextbankDialog: null,\r\n\ttextbankAllowClose: false,\r\n\ttextbankCloseButton: null,\r\n\tsetSiteStyle: function (siteStyle) {\r\n\t\tselerix.globals.siteStyle = siteStyle;\r\n\t\tselerix.globals.chartScheme = siteStyle.indexOf(\"everwell\") >= 0 ? 'everwell' : 'selerix';\r\n\t}\r\n}\r\n\r\n// GUID Generator\r\n// TODO: [Obsolete] Use slxGuid\r\nvar Guid = function () {\r\n\tvar _guids = new Array();\r\n\tvar _part = function () { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); };\r\n\tvar _guid = (_part() + _part() + '-' + _part() + '-4' + _part().substr(0, 3) + '-' + _part() + '-' + _part() + _part() + _part()).toLowerCase();\r\n\r\n\tvar self = this;\r\n\tself.toString = function () { return _guid; }\r\n\tself.segment = function (i) { return _guid.split('-')[i]; }\r\n\r\n\tif (_guids.findIndex(function (g) { return g.split('-')[4] === self.segment(4); }) > -1) { return new Guid(); }\r\n\r\n\t_guids.push(_guid);\r\n};\r\n\r\n// SESSION HANDLING\r\n(function (s) {\r\n\t'use strict';\r\n\tvar SessionHandler = function () {\r\n\t\tvar self = this;\r\n\r\n\t\tself.baseUrl = '/';\r\n\t\tself.warningTitle = 'Session Timeout';\r\n\t\tself.warningMessage = '';\r\n\t\tself.timerMessage = '';\r\n\t\tself.loggingOutMessage = 'Logging out';\r\n\t\tself.stayConnected = 'Stay connected';\r\n\t\tself.logOutNow = 'Log out now';\r\n\t\tself.loginUrl = null;\r\n\t\tself.checkSessionUrl = null;\r\n\t\tself.keepAliveUrl = null;\r\n\t\tself.timeRemaining = null;\r\n\t\tself.warnUnder = 5.5;\r\n\t\tself.shouldVerifyTimeRemaing = true;\r\n\t\tself.sessionCountdown = null;\r\n\t\tself.sessionInterval = null;\r\n\t\tself.initialized = false;\r\n\t\tself.activeWarning = false;\r\n\t\tself.enabled = false;\r\n\t\tself.warningDialogAllowClose = false;\r\n\t\tself.sessionKey = function () { return 'Selerix.SessionExpires.' + selerix.session.cookieName; };\r\n\t};\r\n\r\n\tSessionHandler.prototype.getWarningContent = function () {\r\n\t\treturn this.warningMessage + '
' + this.timerMessage + '' + this.formatTimeRemaining() + '';\r\n\t};\r\n\r\n\tSessionHandler.prototype.keepAlive = function () {\r\n\t\tvar url = this.getKeepAliveUrl();\r\n\t\tvar self = this;\r\n\t\tself.timeRemaining = 500; // add buffer time to wait for ajax response\r\n\t\tself.getTimeRemaining();\r\n\t\t$.get(url, function (data) {\r\n\t\t\tif (isNaN(data)) { return; }\r\n\t\t\tvar exp = new Date();\r\n\t\t\texp.setTime(exp.getTime() + data * 1000);\r\n\t\t\t$.localStorage.setItem(self.sessionKey(), \"\\\"\" + exp.toUTCString() + \"\\\"\");\r\n\t\t\tself.shouldVerifyTimeRemaing = true;\r\n\t\t});\r\n\t};\r\n\t// verify that the time remaining in the session on server-side matches the client-side; otherwise, update local\r\n\tSessionHandler.prototype.verifyTimeRemaining = function () {\r\n\t\tif (!this.shouldVerifyTimeRemaing) { return; }\r\n\t\tvar self = this;\r\n\t\tvar url = self.getRetrieveTimeLeftUrl();\r\n\t\tself.shouldVerifyTimeRemaing = false;\r\n\t\t$.get(url, function (data) {\r\n\t\t\tvar seconds = Number.parseFloat(data);\r\n\t\t\tif (Number.isNaN(seconds)) { return; }\r\n\t\t\tself.timeRemaining = seconds;\r\n\t\t\tif (self.getTimeRemaining() < self.warnUnder * 60) {\r\n\t\t\t\tself.showWarning();\r\n\t\t\t} else {\r\n\t\t\t\tself.shouldVerifyTimeRemaing = true;\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tSessionHandler.prototype.getKeepAliveUrl = function () {\r\n\t\treturn (this.keepAliveUrl || this.baseUrl + 'CheckSession.aspx?keepalive=true') + '&t=' + (new Date().valueOf());\r\n\t};\r\n\tSessionHandler.prototype.getRetrieveTimeLeftUrl = function () {\r\n\t\treturn (this.checkSessionUrl || this.baseUrl + 'CheckSession.aspx') + '?t=' + (new Date().valueOf());\r\n\t};\r\n\tSessionHandler.prototype.getRedirUrl = function () { return this.loginUrl || this.baseUrl + 'Login.aspx'; };\r\n\tSessionHandler.prototype.getLogoutUrl = function () { return this.getRedirUrl(); };\r\n\r\n\tSessionHandler.prototype.getTimeRemaining = function () {\r\n\t\t// check for updated time remaining from keep alive\r\n\t\tif (this.timeRemaining !== null) {\r\n\t\t\tvar r = Math.abs(this.timeRemaining * 1000);\r\n\t\t\tvar x = new Date();\r\n\t\t\tx.setTime(x.getTime() + r);\r\n\t\t\t$.localStorage.setItem(this.sessionKey(), \"\\\"\" + x.toUTCString() + \"\\\"\");\r\n\t\t\tthis.timeRemaining = null;\r\n\t\t\treturn r / 1000;\r\n\t\t}\r\n\r\n\t\t// get time remaining from current expiration\r\n\t\tvar expires = new Date(this.getExpiration());\r\n\t\tvar now = new Date();\r\n\t\treturn expires > now ? Math.abs((expires - now) / 1000) : 0;\r\n\t};\r\n\tSessionHandler.prototype.getExpiration = function () {\r\n\t\tvar item = $.localStorage.getItem(this.sessionKey());\r\n\t\tif (!item)\r\n\t\t\treturn new Date().toGMTString();\r\n\t\treturn item.replace(/^\\\"+|\\\"+$/g, '');\r\n\r\n\t};\r\n\tSessionHandler.prototype.formatTimeRemaining = function () {\r\n\t\tvar time = this.getTimeRemaining();\r\n\t\tvar minutes = parseInt(time / 60);\r\n\t\tvar seconds = parseInt(time % 60);\r\n\t\tif (seconds < 10) seconds = '0' + seconds;\r\n\t\treturn minutes + ':' + seconds;\r\n\t};\r\n\r\n\tSessionHandler.prototype.showWarning = function () {\r\n\t\tvar self = this;\r\n\t\tif (!self.activeWarning) {\r\n\t\t\tif (typeof (HideSilverlightApps) == \"function\")\r\n\t\t\t\tHideSilverlightApps();\r\n\r\n\t\t\tvar dialogOptions = {\r\n\t\t\t\ttitle: self.warningTitle,\r\n\t\t\t\tmessage: self.getWarningContent(),\r\n\t\t\t\tkeyboard: false,\r\n\t\t\t\tbuttons: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttext: self.stayConnected,\r\n\t\t\t\t\t\tdefaultButton: true,\r\n\t\t\t\t\t\taction: function () { self.warningDialogAllowClose = true; self.reset(); }\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttext: self.logOutNow,\r\n\t\t\t\t\t\taction: function () { self.warningDialogAllowClose = true; self.terminate(); }\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tonHide: function (e) {\r\n\t\t\t\t\tif (!self.warningDialogAllowClose) {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\te.stopImmediatePropagation();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tvar updateTimeoutCountdown = function () {\r\n\t\t\t\tself.sessionCountdown = setInterval(function () {\r\n\t\t\t\t\tvar timeRemaining = self.getTimeRemaining();\r\n\t\t\t\t\tif (timeRemaining > self.warnUnder * 60) {\r\n\t\t\t\t\t\tself.warningDialogAllowClose = true;\r\n\t\t\t\t\t\tself.dialog.close();\r\n\t\t\t\t\t\tself.activeWarning = false;\r\n\t\t\t\t\t\tself.shouldVerifyTimeRemaing = true;\r\n\t\t\t\t\t\tif (typeof (RestoreSilverlightApps) == \"function\") { RestoreSilverlightApps(); }\r\n\t\t\t\t\t\tclearInterval(self.sessionCountdown);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (timeRemaining > 0) { $('#sessionTimeoutCountdown').html(self.formatTimeRemaining()); }\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t$('#sessionTimeoutCountdownContainer').html(self.loggingOutMessage);\r\n\t\t\t\t\t\tself.terminate(2000);\r\n\t\t\t\t\t\tclearInterval(self.sessionCountdown);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\r\n\t\t\tself.warningDialogAllowClose = false;\r\n\t\t\tself.dialog = createDialog(dialogOptions, null, updateTimeoutCountdown());\r\n\t\t\tself.activeWarning = true;\r\n\t\t}\r\n\t};\r\n\r\n\tSessionHandler.prototype.reset = function () {\r\n\t\tHideBusyBox();\r\n\t\tvar self = this;\r\n\t\tself.keepAlive();\r\n\t\tself.dialog.close();\r\n\t\tself.activeWarning = false;\r\n\t\tclearInterval(self.sessionCountdown);\r\n\t\tif (typeof (RestoreSilverlightApps) == \"function\")\r\n\t\t\tRestoreSilverlightApps();\r\n\t};\r\n\r\n\tSessionHandler.prototype.terminate = function (timeout) {\r\n\t\tvar self = this;\r\n\t\ttimeout = timeout || 0;\r\n\t\tsetTimeout(function () {\r\n\t\t\t$.localStorage.setItem(self.sessionKey(), \"\\\"\" + new Date().toGMTString() + \"\\\"\");\r\n\t\t\tclearInterval(self.sessionCountdown);\r\n\t\t\tclearInterval(self.sessionInterval);\r\n\t\t\tif (selerix.enrollmentSession) {\r\n\t\t\t\tselerix.enrollmentSession.isSameOrigin = true;\r\n\t\t\t}\r\n\t\t\twindow.location = self.getRedirUrl();\r\n\t\t}, timeout);\r\n\t};\r\n\r\n\tSessionHandler.prototype.prepLogin = function (timeout) {\r\n\t\ttry {\r\n\t\t\t$.localStorage.setItem(this.sessionKey(), \"\\\"\" + new Date().toGMTString() + \"\\\"\");\r\n\t\t\tclearInterval(this.sessionCountdown);\r\n\t\t\tclearInterval(this.sessionInterval);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log('prepLogin error:'); console.log(err);\r\n\t\t}\r\n\t};\r\n\r\n\tSessionHandler.prototype.startInterval = function () {\r\n\t\tvar self = this;\r\n\t\tif (self.sessionInterval !== null) { clearInterval(self.sessionInterval); }\r\n\r\n\t\tself.sessionInterval = setInterval(function () {\r\n\t\t\tvar r = self.getTimeRemaining();\r\n\t\t\tif (r === 0) { self.terminate(); }\r\n\t\t\telse if (r < self.warnUnder * 60) { self.verifyTimeRemaining(); }\r\n\t\t\telse { }\r\n\t\t}, 10000);\r\n\t};\r\n\r\n\tSessionHandler.prototype.initialize = function () {\r\n\t\tvar self = this;\r\n\t\tif (self.initialized || !self.enabled) return true;\r\n\t\tself.getTimeRemaining();\r\n\t\tself.startInterval();\r\n\t\treturn self.initialized = true;\r\n\t};\r\n\r\n\ts.session = s.session || new SessionHandler();\r\n})(selerix);\r\n\r\nselerix.console = selerix.console || {\r\n\tloggingEnabled: true,\r\n\tlog: function () {\r\n\t\tif (this.loggingEnabled && window.console) {\r\n\t\t\tif (arguments != null && arguments.length != null && arguments.length > 0)\r\n\t\t\t\twindow.console.log(arguments[0]);\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// PROCESSING BOX\r\nvar ProcessingBox = function (message) {\r\n\tthis.ID = 'ProcessingBox';\r\n\tthis.Message = message || 'Page is loading. Please Wait.';\r\n\tthis.Enabled = true;\r\n\tthis.Active = false;\r\n\tthis.Timeout = null;\r\n\tthis.Create();\r\n}\r\nProcessingBox.prototype.Create = function () {\r\n\tvar div = $('#' + this.ID);\r\n\tif (!div.length) {\r\n\t\tdiv = $('