(function(){var supportsPassive=!1;try{var opts=Object.defineProperty({},'passive',{get:function(){supportsPassive=!0}});window.addEventListener('testPassive',null,opts);window.removeEventListener('testPassive',null,opts)}catch(e){} function init(){var input_begin='';var keydowns={};var lastKeyup=null;var lastKeydown=null;var keypresses=[];var modifierKeys=[];var correctionKeys=[];var lastMouseup=null;var lastMousedown=null;var mouseclicks=[];var mousemoveTimer=null;var lastMousemoveX=null;var lastMousemoveY=null;var mousemoveStart=null;var mousemoves=[];var touchmoveCountTimer=null;var touchmoveCount=0;var lastTouchEnd=null;var lastTouchStart=null;var touchEvents=[];var scrollCountTimer=null;var scrollCount=0;var correctionKeyCodes=['Backspace','Delete','ArrowUp','ArrowDown','ArrowLeft','ArrowRight','Home','End','PageUp','PageDown'];var modifierKeyCodes=['Shift','CapsLock'];var forms=document.querySelectorAll('form[method=post]');for(var i=0;i1){keypress.push(keydowns[e.key][1])} keypresses.push(keypress)}} delete keydowns[e.key];lastKeyup=keyupTime},supportsPassive?{passive:!0}:!1);form.addEventListener("focusin",function(e){lastKeydown=null;lastKeyup=null;keydowns={}},supportsPassive?{passive:!0}:!1);form.addEventListener("focusout",function(e){lastKeydown=null;lastKeyup=null;keydowns={}},supportsPassive?{passive:!0}:!1)} document.addEventListener('mousedown',function(e){lastMousedown=(new Date()).getTime()},supportsPassive?{passive:!0}:!1);document.addEventListener('mouseup',function(e){if(!lastMousedown){return} var now=(new Date()).getTime();var mouseclick=[];mouseclick.push(now-lastMousedown);if(lastMouseup){mouseclick.push(lastMousedown-lastMouseup)} mouseclicks.push(mouseclick);lastMouseup=now;lastKeydown=null;lastKeyup=null;keydowns={}},supportsPassive?{passive:!0}:!1);document.addEventListener('mousemove',function(e){if(mousemoveTimer){clearTimeout(mousemoveTimer);mousemoveTimer=null}else{mousemoveStart=(new Date()).getTime();lastMousemoveX=e.offsetX;lastMousemoveY=e.offsetY} mousemoveTimer=setTimeout(function(theEvent,originalMousemoveStart){var now=(new Date()).getTime()-500;var mousemove=[];mousemove.push(now-originalMousemoveStart);mousemove.push(Math.round(Math.sqrt(Math.pow(theEvent.offsetX-lastMousemoveX,2)+Math.pow(theEvent.offsetY-lastMousemoveY,2))));if(mousemove[1]>0){mousemoves.push(mousemove)} mousemoveStart=null;mousemoveTimer=null},500,e,mousemoveStart)},supportsPassive?{passive:!0}:!1);document.addEventListener('touchmove',function(e){if(touchmoveCountTimer){clearTimeout(touchmoveCountTimer)} touchmoveCountTimer=setTimeout(function(){touchmoveCount++},500)},supportsPassive?{passive:!0}:!1);document.addEventListener('touchstart',function(e){lastTouchStart=(new Date()).getTime()},supportsPassive?{passive:!0}:!1);document.addEventListener('touchend',function(e){if(!lastTouchStart){return} var now=(new Date()).getTime();var touchEvent=[];touchEvent.push(now-lastTouchStart);if(lastTouchEnd){touchEvent.push(lastTouchStart-lastTouchEnd)} touchEvents.push(touchEvent);lastTouchEnd=now;lastKeydown=null;lastKeyup=null;keydowns={}},supportsPassive?{passive:!0}:!1);document.addEventListener('scroll',function(e){if(scrollCountTimer){clearTimeout(scrollCountTimer)} scrollCountTimer=setTimeout(function(){scrollCount++},500)},supportsPassive?{passive:!0}:!1)} function prepare_timestamp_array_for_request(a,limit){if(!limit){limit=100} var rv='';if(a.length>0){var random_starting_point=Math.max(0,Math.floor(Math.random()*a.length-limit));for(var i=0;i=2){rv+=","+a[random_starting_point+i][1]} rv+=";"}} return rv} if(document.readyState!=='loading'){init()}else{document.addEventListener('DOMContentLoaded',init)}})()