1"use strict";(function(n){n.sessionTimeout=function(t){function v(){e||(o?o=!1:n.ajax({type:i.ajaxType,url:i.keepAliveUrl,data:i.ajaxData}),e=!0,setTimeout(function(){e=!1},i.keepAliveInterval))}function s(){if(clearTimeout(f),(i.countdownMessage||i.countdownBar)&&h("session",!0),typeof i.onStart=="function")i.onStart(i);i.keepAlive&&v();f=setTimeout(function(){if(typeof i.onWarn!="function")n("#session-timeout-dialog").modal("show"),n("#session-timeout-dialog").css("z-index","5000"),n("#session-timeout-dialog").css("visibility","visible");else i.onWarn(i);y()},i.warnAfter)}function y(){clearTimeout(f);!n("#session-timeout-dialog").hasClass("in")&&(i.countdownMessage||i.countdownBar)&&h("dialog",!0);f=setTimeout(function(){if(typeof i.onRedir!="function")window.location=i.redirUrl;else i.onRedir(i)},i.redirAfter-i.warnAfter)}function h(t,u){var o,f;if(clearTimeout(r.timer),t==="dialog"&&u?r.timeLeft=Math.floor((i.redirAfter-i.warnAfter)/1e3):t==="session"&&u&&(r.timeLeft=Math.floor(i.redirAfter/1e3)),i.countdownBar&&t==="dialog"?r.percentLeft=Math.floor(r.timeLeft/((i.redirAfter-i.warnAfter)/1e3)*100):i.countdownBar&&t==="session"&&(r.percentLeft=Math.floor(r.timeLeft/(i.redirAfter/1e3)*100)),o=n(".countdown-holder"),f=r.timeLeft>=0?r.timeLeft:0,i.countdownSmart){var s=Math.floor(f/60),c=f%60,e=s>0?s+"m":"";e.length>0&&(e+=" ");e+=c+"s";o.text(e)}else o.text(f+"s");i.countdownBar&&n(".countdown-bar").css("width",r.percentLeft+"%");r.timeLeft=r.timeLeft-1;r.timer=setTimeout(function(){h(t)},1e3)}var c={title:"Your Session is About to Expire!",message:"Your session is about to expire.",logoutButton:"Logout",keepAliveButton:"Stay Connected",keepAliveUrl:"/keep-alive",ajaxType:"POST",ajaxData:"",redirUrl:"/timed-out",logoutUrl:"/log-out",warnAfter:9e5,redirAfter:12e5,keepAliveInterval:5e3,keepAlive:!0,ignoreUserActivity:!0,onStart:!1,onWarn:!1,onRedir:!1,countdownMessage:!1,countdownBar:!1,countdownSmart:!1},i=c,f,r={},l,a,u,e,o;if(t&&(i=n.extend(c,t)),i.warnAfter>=i.redirAfter)return console.error('Bootstrap-session-timeout plugin is miss-configured. Option "redirAfter" must be equal or greater than "warnAfter".'),!1;if(typeof i.onWarn!="function"){l=i.countdownMessage?"<p>"+i.countdownMessage.replace(/{timer}/g,'<span class="countdown-holder"><\/span>')+"<\/p>":"";a=i.countdownBar?'<div class="progress"> <div class="progress-bar progress-bar-striped countdown-bar active" role="progressbar" style="min-width: 15px; width: 100%;"> <span class="countdown-holder"><\/span> <\/div> <\/div>':"";n("body").append('<div class="modal fade" id="session-timeout-dialog" style="visibility: hidden;" data-backdrop="false"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">'+i.title+'<\/h5> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×<\/span > <\/button> <\/div> <div class="modal-body"> <p>'+i.message+"<\/p> "+l+" "+a+' <\/div> <div class="modal-footer"> <button id="session-timeout-dialog-keepalive" type="button" class="btn btn-primary" data-bs-dismiss="modal">'+i.keepAliveButton+'<\/button> <button id="session-timeout-dialog-logout" type="button" class="btn btn-default">'+i.logoutButton+"<\/button> <\/div> <\/div> <\/div> <\/div>");n("#session-timeout-dialog-logout").on("click",function(){window.location=i.logoutUrl});n("#session-timeout-dialog").on("hide.bs.modal",function(){s();n("#session-timeout-dialog").css("z-index","");n("#session-timeout-dialog").css("visibility","hidden")})}if(!i.ignoreUserActivity){u=[-1,-1];n(document).on("keyup mouseup mousemove touchend touchmove",function(t){if(t.type==="mousemove"){if(t.clientX===u[0]&&t.clientY===u[1])return;u[0]=t.clientX;u[1]=t.clientY}s();n("#session-timeout-dialog").length>0&&n("#session-timeout-dialog").data("bs.modal")&&n("#session-timeout-dialog").data("bs.modal").isShown&&(n("#session-timeout-dialog").modal("hide"),n("body").removeClass("modal-open"),n("div.modal-backdrop").remove())})}e=!1;o=!0;s()}})(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.