!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;((t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).braintree||(t.braintree={})).dataCollector=e()}}(function(){return function o(s,a,c){function u(t,e){if(!a[t]){if(!s[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(h)return h(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var i=a[t]={exports:{}};s[t][0].call(i.exports,function(e){return u(s[t][1][e]||e)},i,i.exports,o,s,a,c)}return a[t].exports}for(var h="function"==typeof require&&require,e=0;e'},10),t},c.prototype._initializeEnvironment=function(e){var t=s[e.environment];if(null==t)throw new Error(e.environment+" is not a valid environment for kount.environment");return{url:t,name:e.environment,id:e.merchantId}},t.exports={setup:function(e){return new c(null!=e?e:{})},Kount:c,environmentUrls:s}},{"../lib/camel-case-to-snake-case":17,"./vendor/sjcl":13}],13:[function(e,t,n){"use strict";var _={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(e){this.toString=function(){return"CORRUPT: "+this.message},this.message=e},invalid:function(e){this.toString=function(){return"INVALID: "+this.message},this.message=e},bug:function(e){this.toString=function(){return"BUG: "+this.message},this.message=e},notReady:function(e){this.toString=function(){return"NOT READY: "+this.message},this.message=e}}};function r(e,t,n){if(4!==t.length)throw new _.exception.invalid("invalid aes block size");var r=e.b[n],i=t[0]^r[0],o=t[n?3:1]^r[1],s=t[2]^r[2];t=t[n?1:3]^r[3];var a,c,u,h,l=r.length/4-2,f=4,d=[0,0,0,0];e=(a=e.l[n])[0];var p=a[1],m=a[2],v=a[3],y=a[4];for(h=0;h>>24]^p[o>>16&255]^m[s>>8&255]^v[255&t]^r[f],c=e[o>>>24]^p[s>>16&255]^m[t>>8&255]^v[255&i]^r[f+1],u=e[s>>>24]^p[t>>16&255]^m[i>>8&255]^v[255&o]^r[f+2],t=e[t>>>24]^p[i>>16&255]^m[o>>8&255]^v[255&s]^r[f+3],f+=4,i=a,o=c,s=u;for(h=0;h<4;h++)d[n?3&-h:h]=y[i>>>24]<<24^y[o>>16&255]<<16^y[s>>8&255]<<8^y[255&t]^r[f++],a=i,i=o,o=s,s=t,t=a;return d}function o(e,t){var n,r,i,o=e.u,s=e.b,a=o[0],c=o[1],u=o[2],h=o[3],l=o[4],f=o[5],d=o[6],p=o[7];for(n=0;n<64;n++)r=(r=n<16?t[n]:(r=t[n+1&15],i=t[n+14&15],t[15&n]=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(i>>>17^i>>>19^i>>>10^i<<15^i<<13)+t[15&n]+t[n+9&15]|0))+p+(l>>>6^l>>>11^l>>>25^l<<26^l<<21^l<<7)+(d^l&(f^d))+s[n],p=d,d=f,f=l,l=h+r|0,h=u,u=c,a=r+((c=a)&u^h&(c^u))+(c>>>2^c>>>13^c>>>22^c<<30^c<<19^c<<10)|0;o[0]=o[0]+a|0,o[1]=o[1]+c|0,o[2]=o[2]+u|0,o[3]=o[3]+h|0,o[4]=o[4]+l|0,o[5]=o[5]+f|0,o[6]=o[6]+d|0,o[7]=o[7]+p|0}function u(e,t){var n,r=_.random.B[e],i=[];for(n in r)r.hasOwnProperty(n)&&i.push(r[n]);for(n=0;n>>24]<<24^o[n>>16&255]<<16^o[n>>8&255]<<8^o[255&n],0==e%t&&(n=n<<8^n>>>24^a<<24,a=a<<1^283*(a>>7))),r[e]=r[e-t]^n;for(t=0;e;t++,e--)n=r[3&t?e:e-4],i[t]=e<=4||t<4?n:s[0][o[n>>>24]]^s[1][o[n>>16&255]]^s[2][o[n>>8&255]]^s[3][o[255&n]]},_.cipher.aes.prototype={encrypt:function(e){return r(this,e,0)},decrypt:function(e){return r(this,e,1)},l:[[[],[],[],[],[]],[[],[],[],[],[]]],G:function(){var e,t,n,r,i,o,s,a=this.l[0],c=this.l[1],u=a[4],h=c[4],l=[],f=[];for(e=0;e<256;e++)f[(l[e]=e<<1^283*(e>>7))^e]=e;for(t=n=0;!u[t];t^=r||1,n=f[n]||1)for(o=(o=n^n<<1^n<<2^n<<3^n<<4)>>8^255&o^99,s=16843009*(i=l[e=l[r=l[h[u[t]=o]=t]]])^65537*e^257*r^16843008*t,i=257*l[o]^16843008*o,e=0;e<4;e++)a[e][t]=i=i<<24^i>>>8,c[e][o]=s=s<<24^s>>>8;for(e=0;e<5;e++)a[e]=a[e].slice(0),c[e]=c[e].slice(0)}},_.bitArray={bitSlice:function(e,t,n){return e=_.bitArray.M(e.slice(t/32),32-(31&t)).slice(1),void 0===n?e:_.bitArray.clamp(e,n-t)},extract:function(e,t,n){var r=Math.floor(-t-n&31);return(-32&(t+n-1^t)?e[t/32|0]<<32-r^e[t/32+1|0]>>>r:e[t/32|0]>>>r)&(1<>t-1,1)),e},partial:function(e,t,n){return 32===e?t:(n?0|t:t<<32-e)+1099511627776*e},getPartial:function(e){return Math.round(e/1099511627776)||32},equal:function(e,t){if(_.bitArray.bitLength(e)!==_.bitArray.bitLength(t))return!1;var n,r=0;for(n=0;n>>t),n=e[i]<<32-t;return i=e.length?e[e.length-1]:0,e=_.bitArray.getPartial(i),r.push(_.bitArray.partial(t+e&31,32>>24|n>>>8&65280|(65280&n)<<8|n<<24;return e}},_.codec.utf8String={fromBits:function(e){var t,n,r="",i=_.bitArray.bitLength(e);for(t=0;t>>8>>>8>>>8),n<<=8;return decodeURIComponent(escape(r))},toBits:function(e){e=unescape(encodeURIComponent(e));var t,n=[],r=0;for(t=0;t=1<this.j&&(this.j=s),this.H++,this.b=_.hash.sha256.hash(this.b.concat(r)),this.C=new _.cipher.aes(this.b),n=0;n<4&&(this.g[n]=this.g[n]+1|0,!this.g[n]);n++);}for(n=0;n>>=1;this.c[s].update([r,this.F++,2,t,o,e.length].concat(e))}break;case"string":void 0===t&&(t=e.length),this.c[s].update([r,this.F++,3,t,o,e.length]),this.c[s].update(e);break;default:c=1}if(c)throw new _.exception.bug("random: addEntropy only supports number, array of numbers or string");this.i[s]+=t,this.f+=t,a===this.m&&(this.isReady()!==this.m&&u("seeded",Math.max(this.j,this.f)),u("progress",this.getProgress()))},isReady:function(e){return e=this.I[void 0!==e?e:this.D],this.j&&this.j>=e?this.i[0]>this.N&&(new Date).valueOf()>this.L?this.A|this.w:this.w:this.f>=e?this.A|this.m:this.m},getProgress:function(e){return e=this.I[e||this.D],this.j>=e||this.f>e?1:this.f/e},startCollectors:function(){if(!this.s){if(this.a={loadTimeCollector:s(this,this.V),mouseCollector:s(this,this.W),keyboardCollector:s(this,this.U),accelerometerCollector:s(this,this.R),touchCollector:s(this,this.X)},window.addEventListener)window.addEventListener("load",this.a.loadTimeCollector,!1),window.addEventListener("mousemove",this.a.mouseCollector,!1),window.addEventListener("keypress",this.a.keyboardCollector,!1),window.addEventListener("devicemotion",this.a.accelerometerCollector,!1),window.addEventListener("touchmove",this.a.touchCollector,!1);else{if(!document.attachEvent)throw new _.exception.bug("can't attach event");document.attachEvent("onload",this.a.loadTimeCollector),document.attachEvent("onmousemove",this.a.mouseCollector),document.attachEvent("keypress",this.a.keyboardCollector)}this.s=!0}},stopCollectors:function(){this.s&&(window.removeEventListener?(window.removeEventListener("load",this.a.loadTimeCollector,!1),window.removeEventListener("mousemove",this.a.mouseCollector,!1),window.removeEventListener("keypress",this.a.keyboardCollector,!1),window.removeEventListener("devicemotion",this.a.accelerometerCollector,!1),window.removeEventListener("touchmove",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent("onload",this.a.loadTimeCollector),document.detachEvent("onmousemove",this.a.mouseCollector),document.detachEvent("keypress",this.a.keyboardCollector)),this.s=!1)},addEventListener:function(e,t){this.B[e][this.S++]=t},removeEventListener:function(e,t){var n,r,i=this.B[e],o=[];for(r in i)i.hasOwnProperty(r)&&i[r]===t&&o.push(r);for(n=0;n