(function(){var myUndefined,typeUndefined=typeof myUndefined;if(typeof window.con===typeUndefined){window.con={};}con.TYPE_UNDEFINED=typeUndefined;Object.prototype.derive=function(parent){var F=function(){};F.prototype=parent.prototype;this.prototype=new F();this.prototype.constructor=this;this.prototype.parent=parent.prototype;};if(typeof con.Console===con.TYPE_UNDEFINED){con.Console=(function(){var reEnable=/[#&?]console\b/i;var ENABLE=reEnable.test(window.location.hash)&&true;var reLevel=/[#&?]console-(\w+)\b/i;var LEVEL='';var levels={'debug':5,'info':4,'log':3,'warn':2,'error':1};var matches=reLevel.exec(window.location.hash);if(matches&&matches.length>0){if(levels[matches[1]]){LEVEL=levels[matches[1]];}else{LEVEL=levels.debug;}}else{LEVEL=levels.debug;}var enabled=function(){return(ENABLE&&window.console);};return{'force':function(force){ENABLE=force;},'assert':function(cond,message){if(enabled())if(typeof window.console.assert!==con.TYPE_UNDEFINED){window.console.assert(cond,message);}else{if(cond){window.console.warn(message);}}},'debug':function(message,data){if(enabled()&&LEVEL>=levels.debug){if(typeof window.console.debug!==con.TYPE_UNDEFINED){if(typeof data!==con.TYPE_UNDEFINED){window.console.debug(message,data);}else{window.console.debug(message);}}else{if(typeof data!==con.TYPE_UNDEFINED){window.console.log(message,con.serializeObject(data));}else{window.console.log(message);}}}},'log':function(message){if(enabled()&&LEVEL>=levels.log)window.console.log(message);},'info':function(message){if(enabled()&&LEVEL>=levels.info)window.console.info(message);},'warn':function(message){if(enabled()&&LEVEL>=levels.warn)window.console.warn(message);},'error':function(message){if(enabled()&&LEVEL>=levels.error)window.console.error(message);}};})();}con.getXMLHttpRequest=function(endpoint){var http=null;var esc=encodeURIComponent||escape;if(window.XMLHttpRequest){try{http=new window.XMLHttpRequest();}catch(e){;}}else if(typeof window.ActiveXObject!==con.TYPE_UNDEFINED){try{http=new window.ActiveXObject('Microsoft.XMLHTTP');}catch(e){;}try{http=new window.ActiveXObject('Msxml2.XMLHTTP.6.0');}catch(e){;}try{http=new window.ActiveXObject('Msxml2.XMLHTTP.3.0');}catch(e){;}}return{'send':function(data){var url=con.host+'/'+endpoint;http.open('POST',url,true);http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");var payload='';for(var key in data){if(data.hasOwnProperty(key)){payload+='&'+esc(key)+'='+esc(data[key]);}}payload=payload.substring(1);http.send(payload);}};};con.attachEvent=(function(){if(typeof document.addEventListener!==con.TYPE_UNDEFINED){return function(element,event,callback){con.Console.debug('Attaching handler to event \''+event+'\'');element.addEventListener(event,callback,false);};}else if(typeof document.attachEvent!==con.TYPE_UNDEFINED){return function(element,event,callback){con.Console.debug('Attaching handler to event \''+event+'\'');element.attachEvent('on'+event,callback);};}else{con.Console.warn('No way to attach events');return function(element,event,callback){};}})();con.detachEvent=(function(){if(typeof document.removeEventListener!==con.TYPE_UNDEFINED){return function(element,event,listener){con.Console.debug('Detaching handler from event \''+event+'\'');element.removeEventListener(event,listener,false);};}else if(typeof document.detachEvent!==con.TYPE_UNDEFINED){return function(element,event,listener){con.Console.debug('Detaching handler from event \''+event+'\'');element.detachEvent('on'+event,listener);};}else{con.Console.warn('No way to detach events');return function(element,event,listener){};}})();con.serializeObject=function(obj,level){level=level||0;var indent='';for(var i=0;i>>(32-s)),b);};var ff=function(a,b,c,d,x,s,t){return cmn((b&c)|((~b)&d),a,b,x,s,t);};var gg=function(a,b,c,d,x,s,t){return cmn((b&d)|(c&(~d)),a,b,x,s,t);};var hh=function(a,b,c,d,x,s,t){return cmn(b^c^d,a,b,x,s,t);};var ii=function(a,b,c,d,x,s,t){return cmn(c^(b|(~d)),a,b,x,s,t);};var md5blk=function(s){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=s.charCodeAt(i)+(s.charCodeAt(i+1)<<8)+(s.charCodeAt(i+2)<<16)+(s.charCodeAt(i+3)<<24);}return md5blks;};var md51=function(s){var txt='';var n=s.length,state=[1732584193,-271733879,-1732584194,271733878],i;for(i=64;i<=s.length;i+=64){md5cycle(state,md5blk(s.substring(i-64,i)));}s=s.substring(i-64);var tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i>2]|=s.charCodeAt(i)<<((i%4)<<3);tail[i>>2]|=0x80<<((i%4)<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i++)tail[i]=0;}tail[14]=n*8;md5cycle(state,tail);return state;};var rhex=function(n){var s='',j=0;for(;j<4;j++)s+=hex_chr[(n>>(j*8+4))&0x0F]+hex_chr[(n>>(j*8))&0x0F];return s;};var hex=function(x){for(var i=0;i>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);};}};con.Collector={'complete':false,'modules':{},'timerStart':function(){con.timerStart.call(this);},'timerStop':function(){return con.timerStop.call(this);},'addModule':function(module){if(typeof this.modules[module.groupId]===con.TYPE_UNDEFINED){this.modules[module.groupId]=[];}var groupList=this.modules[module.groupId];groupList.push(module);},'executeModules':function(){con.Console.log('Executing modules');this.timerStart();this.initListeners();for(var index in this.modules){if(this.modules.hasOwnProperty(index)){con.Console.info('Executing '+index+' group');var groupItems=this.modules[index];var head=groupItems.shift();head.executeModule({},groupItems);}}var innerThis=this;!this.complete&&(this.timer=setTimeout(function(){con.Console.warn('Waited too long for all COMPLETE notifications... timing out.');if(typeof innerThis.callbacks['collect-end']!==con.TYPE_UNDEFINED){innerThis.callbacks['collect-end'].call(innerThis,{'s':con.sessionId,'m':con.merchantId});}innerThis.callout('collect-end',{'s':con.sessionId,'m':con.merchantId});con.Console.info('This collection is done--nuking namespace');con=undefined;},3000));},'setCallbacks':function(callbacks){this.callbacks=callbacks;},'callout':(function(){if(window.postMessage!==undefined){return function(event,params){con.Console.info('Calling out to parent iFrame with event: '+event);window.parent.postMessage(JSON.stringify({'event':event,'params':params}),'*');};}else{return function(event,params){};}})(),'initListeners':function(){con.Console.info('Initialize listeners');var outerThis=this;con.attachEvent(document,con.Module.EVENT_COMPLETE,function(event){var data=event.detail.data;var module=event.detail.module;con.Console.log(module.format('Event \''+con.Module.EVENT_COMPLETE+'\''));var callbackKey=module.moduleId+'-'+con.Module.EVENT_COMPLETE;if(typeof outerThis.callbacks[callbackKey]!==con.TYPE_UNDEFINED){outerThis.callbacks[callbackKey].call(outerThis,data);}if(con.Module.decrementInstance()===0){outerThis.complete=true;clearTimeout(outerThis.timer);if(typeof outerThis.callbacks['collect-end']!==con.TYPE_UNDEFINED){outerThis.callbacks['collect-end'].call(outerThis,{'s':con.sessionId,'m':con.merchantId,'n':'collect-end','com':'true'});}outerThis.callout('collect-end',{'s':con.sessionId,'m':con.merchantId});con.Console.info('This collection is done--nuking namespace');con=undefined;}});con.attachEvent(document,con.Module.EVENT_POST,function(event){var formData=event.detail.data;var module=event.detail.module;con.Console.log(module.format('Event \''+con.Module.EVENT_POST+'\''));var callbackKey=module.groupId+'-'+con.Module.EVENT_POST;var http=con.getXMLHttpRequest(module.endpoint);try{con.Console.info(module.format('Posting to: '+module.endpoint));con.Console.debug(module.format('Post values:'),formData);http.send(formData);}catch(e){con.Console.warn(module.format('Problem submitting data. '+e.name+': '+e.message));}if(typeof outerThis.callbacks[callbackKey]!==con.TYPE_UNDEFINED){outerThis.callbacks[callbackKey].call(outerThis,formData);}});}};con.Module=function(){throw new Error('Can not instantiate Module');};con.Module.EVENT_STATUS='status';con.Module.EVENT_COMPLETE='complete';con.Module.EVENT_BEGIN='begin';con.Module.EVENT_POST='post';con.Module.prototype.moduleId='';con.Module.prototype.groupId='';con.Module.prototype.endpoint='';con.Module.prototype.startTime=null;con.Module.prototype.instanceCount=0;con.Module.prototype.callbacks={};con.Module.createModuleClass=function(name,constructor){con[name]=constructor;con[name].derive(con.Module);};con.Module.executeNext=function(formData,groupItems){if(groupItems.length===0){return false;}con.Console.log('Executing next module in group.');var next=groupItems.shift();next.executeModule(formData,groupItems);return true;};con.Module.getInstanceCount=function(){return con.Module.prototype.instanceCount;};con.Module.prototype.sendMessage=function(messageType,data){con.Console.debug(this.format('Sending \''+messageType+'\' message'));data.s=con.sessionId;data.m=con.merchantId;data.n=this.groupId;var messageEvent=new CustomEvent(messageType,{'data':data,'module':this});if(document.dispatchEvent){document.dispatchEvent(messageEvent);}};con.Module.prototype.timerStart=function(){con.timerStart.call(this);};con.Module.prototype.timerStop=function(){return con.timerStop.call(this);};con.Module.prototype.format=function(message,moduleId){if(!moduleId){moduleId=this.moduleId;}return '['+moduleId+' module] '+message;};con.Module.prototype.incrementInstance=function(){con.Console.debug('Increment module instance count: '+ ++con.Module.prototype.instanceCount);return con.Module.prototype.instanceCount;};con.Module.incrementInstance=con.Module.prototype.incrementInstance;con.Module.prototype.decrementInstance=function(){con.Console.debug('Decrement module instance count: '+--con.Module.prototype.instanceCount);return con.Module.prototype.instanceCount;};con.Module.decrementInstance=con.Module.prototype.decrementInstance;con.Module.prototype.executeModule=function(){throw new Error('executeModule needs to be overridden');};con.Module.prototype.processModule=function(formData,groupItems){var elapsedTime=this.timerStop();con.Console.debug(this.format('Took '+elapsedTime+' ms'));formData.et=(isNaN(formData.et)?0:formData.et)+elapsedTime;if(typeof kddcgid!="undefined"){formData.kddcgid=kddcgid;}else{formData.kddcgid="UNSET";}if(!con.Module.executeNext(formData,groupItems)){this.sendMessage(con.Module.EVENT_POST,formData);}con.Console.log(this.format('Complete'));this.sendMessage(con.Module.EVENT_COMPLETE,{});};con.Collector.setCallbacks({'collect-end':function(formData){con.Console.log('collect-end for '+formData.s+'/'+formData.m);var endpoint='fin';var http=con.getXMLHttpRequest(endpoint);formData.et=this.timerStop();if(typeof kddcgid!="undefined"){formData.kddcgid=kddcgid;}else{formData.kddcgid="UNSET";}try{con.Console.info('Posting collect-end to: '+endpoint);con.Console.debug('Post values:',formData);http.send(formData);}catch(e){con.Console.warn('Problem submitting data. '+e.name+': '+e.message);}}});con.Module.createModuleClass('WebRTC',function(moduleId,groupId){this.moduleId=moduleId;this.groupId=groupId;this.endpoint='md';this.stunServers=JSON.parse('[{"label":"KA","servers":["stun.kaptcha.com:123"]},{"label":"GA","servers":["stun1.l.google.com:19302"]},{"label":"KB","servers":["stun.kaptcha.com:53"]}]');this.incrementInstance();this.executeModule=function(formData,groupItems){con.Console.log(this.format('Entry'));this.timerStart();var outerThis=this;function RTCConnector(config){this.postLabel=config.label;var cfg={'iceServers':[]};var urlConfig=null;try{new(RTCConnector.RTCPeerConnection())({'iceServers':[{'urls':'stun:somestunserver.com:53'}]});urlConfig='urls';}catch(error){con.Console.debug(outerThis.format(`RTCPeerConnection "urls" and "53" for single server failed: ${error}`));try{new(RTCConnector.RTCPeerConnection())({'iceServers':[{'urls':'stun:somestunserver.com:123'}]});urlConfig='urls';}catch(error){con.Console.debug(outerThis.format(`RTCPeerConnection "urls" and "123" for single server failed: ${error}`));urlConfig='url';}}con.Console.debug(outerThis.format(`RTCPeerConnection config using urlConfig=${urlConfig}`));for(var server_index=0;server_indexb.toString(16).padStart(2,"0")).join("");return hashHex;}async function solve(seed,complexity,maxAttempts){let requiredPrefix="";for(let i=0;i{return hex;});if(hash.startsWith(requiredPrefix)){return answer;}}return maxAttempts;}this.timerStart();con.Console.log(this.format('Executing POW module'));formData=formData||{};formData.a=await solve(powSeed,powComplexity,powMaxAttempts);this.processModule(formData,groupItems);}});con.Collector.addModule(new con.POW('pow','pow'));con.Module.createModuleClass('Javascript',function(moduleId,groupId){this.moduleId=moduleId;this.groupId=groupId;this.endpoint='md';this.incrementInstance();this.executeModule=function(formData,groupItems){con.Console.log(this.format('Entry'));this.timerStart();formData=formData||{};var sampleYear=2007,dateSample,lang,screenAvail,tzf,tza,tz,tz0;tz=null;tz0=null;tzf=null;tza=null;try{dateSample=new Date();tz=dateSample.getTime();tz0=dateSample.getTimezoneOffset();dateSample=new Date(sampleYear,1,1);tzf=dateSample.getTimezoneOffset();dateSample=new Date(sampleYear,7,1);tza=dateSample.getTimezoneOffset();}catch(e){con.Console.warn(this.format('Error: \''+e+'\' while getting timezone information'));}lang=(navigator.language?navigator.language:navigator.userLanguage);screenAvail=screen.availHeight+'x'+screen.availWidth;screenDim=screen.height+'x'+screen.width;if(document.documentElement&&document.documentElement.clientHeight){frameDim=document.documentElement.clientHeight+'x'+document.documentElement.clientWidth;}else if(document.body){frameDim=document.body.clientHeight+document.body.clientWidth;}isReduced=window.matchMedia(`(prefers-reduced-motion: reduce)`)===true||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches===true;formData.ln=lang;formData.e=tz;formData.t0=tz0;formData.tf=tzf;formData.ta=tza;formData.sa=screenAvail;formData.cd=screen.colorDepth;formData.sd=screenDim;formData.fd=frameDim;formData.rm=isReduced;this.processModule(formData,groupItems);};});con.Collector.addModule(new con.Javascript('javascript','clientdata'));con.Module.createModuleClass('Plugins',function(moduleId,groupId){this.moduleId=moduleId;this.groupId=groupId;this.endpoint='md';this.incrementInstance();this.executeModule=function(formData,groupItems){con.Console.log(this.format('Entry'));this.timerStart();formData=formData||{};var plugins,delim='/',description,charIdx,charVal,data='';formData.lh='';try{if(navigator.plugins.length){plugins=navigator.plugins;for(var idx=0;idx