/* * datawrapper / vis / d3-maps-choropleth v0.6.5 * generated on 2016-03-26T08:23:27+01:00 */ /*! datawrapper - v1.10.2 */ (function(){function getDelimiterPatterns(a,b){return new RegExp("(\\"+a+"|\\r?\\n|\\r|^)(?:"+b+"([^"+b+"]*(?:"+b+'"[^'+b+"]*)*)"+b+"|([^"+b+"\\"+a+"\\r\\n]*))","gi")}var root=this,dw={};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=dw),exports.dw=dw):window.dw=dw,dw.dataset=function(a,b){function c(a){for(var b=a.name(),c=b,e=1;d.hasOwnProperty(c);)c=b+"."+e++;c!=b&&a.name(c)}var d={},e=a.slice(0);_.each(a,function(a){c(a),d[a.name()]=a}),b=_.extend(b,{});var f={columns:function(){return a},column:function(b){if(_.isString(b)){if(void 0!==d[b])return d[b];throw'No column found with that name: "'+b+'"'}if(!(0>b)){if(void 0!==a[b])return a[b];throw"No column found with that index: "+b}},numColumns:function(){return a.length},numRows:function(){return a[0].length},eachColumn:function(b){_.each(a,b)},hasColumn:function(b){return void 0!==(_.isString(b)?d[b]:a[b])},indexOf:function(b){return f.hasColumn(b)?_.indexOf(a,d[b]):-1},list:function(){return _.range(a[0].length).map(function(b){var c={};return _.each(a,function(a){c[a.name()]=a.val(b)}),c})},toCSV:function(){var b="",c=",",d='"';return _.each(a,function(a,e){var f=a.title();f.indexOf(d)>-1&&f.replace(d,"\\"+d),f.indexOf(c)>-1&&(f=d+f+d),b+=(e>0?c:"")+f}),_.each(_.range(f.numRows()),function(e){b+="\n",_.each(a,function(a,f){var g=""+("date"==a.type()?a.raw(e):a.val(e));g.indexOf(d)>-1&&g.replace(d,"\\"+d),g.indexOf(c)>-1&&(g=d+g+d),b+=(f>0?c:"")+g})}),b},filterColumns:function(b){return a=_.filter(a,function(a){return!b[a.name()]}),_.each(b,function(a,b){a&&d[b]&&delete d[b]}),f},eachRow:function(a){var b;for(b=0;ba&&(a+=e.length),c.parse(dw.utils.purifyHtml(e[a]))},values:function(a){var d=a?i:b;return d=_.map(d,dw.utils.purifyHtml),_.map(d,c.parse)},each:function(a){for(var c=0;cf[1]&&(f[1]=a))}),f[0]=c.fromNum(f[0]),f[1]=c.fromNum(f[1])),f):!1},total:function(){return c.toNum?(g||(g=0,j.each(function(a){g+=c.toNum(a)}),g=c.fromNum(g)),g):!1},filterRows:function(a){return b=[],arguments.length?_.each(a,function(a){b.push(i[a])}):b=i.slice(0),j.length=b.length,f=g=!1,j},toString:function(){return a+" ("+c.name()+")"},indexOf:function(a){return _.find(_.range(b.length),function(b){return j.val(b)==a})}};return j},dw.column.types={},dw.column.types.text=function(){return{parse:_.identity,errors:function(){return 0},name:function(){return"text"},formatter:function(){return _.identity},isValid:function(){return!0},format:function(){}}},dw.column.types.number=function(a){function b(a,b){return 0===a?0:Math.round(b-Math.ceil(Math.log(Math.abs(a))/Math.LN10))}var c,d=0,e={"-.":/^ *[-–—]?[0-9]*(\.[0-9]+)?(e[\+\-][0-9]+)?%? *$/,"-,":/^ *[-–—]?[0-9]*(,[0-9]+)?%? *$/,",.":/^ *[-–—]?[0-9]{1,3}(,[0-9]{3})*(\.[0-9]+)?%? *$/,".,":/^ *[-–—]?[0-9]{1,3}(\.[0-9]{3})*(,[0-9]+)?%? *$/," .":/^ *[-–—]?[0-9]{1,3}( [0-9]{3})*(\.[0-9]+)?%? *$/," ,":/^ *[-–—]?[0-9]{1,3}( [0-9]{3})*(,[0-9]+)?%? *$/," .":/^ *[-–—]?[0-9]{1,3}( [0-9]{3})*(\.[0-9]+)?%? *$/," ,":/^ *[-–—]?[0-9]{1,3}( [0-9]{3})*(,[0-9]+)?%? *$/},f={"-.":"1234.56","-,":"1234,56",",.":"1,234.56",".,":"1.234,56"," .":"1 234.56"," ,":"1 234,56"," .":"1 234.56"," ,":"1 234,56"},g={na:1,"n/a":1,"-":1,":":1},h={},i=["-.",0];a=a||[],_.each(a,function(a){_.each(e,function(b,c){void 0===h[c]&&(h[c]=0),b.test(a)&&(h[c]+=1,h[c]>i[1]&&(i[0]=c,i[1]=h[c]))})}),c=i[0];var j={parse:function(a){if(_.isNumber(a)||_.isUndefined(a)||_.isNull(a))return a;var b=a.replace("%","").replace("–","-").replace("—","-");return"-"!=c[0]&&(b=b.replace(c[0],"")),"."!=c[1]&&(b=b.replace(c[1],".")),isNaN(b)||""===b?(g[b.toLowerCase()]||""===b||d++,a):Number(b)},toNum:function(a){return a},fromNum:function(a){return a},errors:function(){return d},name:function(){return"number"},formatter:function(a){var c=a["number-format"]||"-",d=Number(a["number-divisor"]||0),e=(a["number-append"]||"").replace(/ /g," "),f=(a["number-prepend"]||"").replace(/ /g," ");return function(a,g,h){if(isNaN(a))return a;var i=c;if(0!==d&&"-"==i&&(i="n1"),0!==d&&(a=Number(a)/Math.pow(10,d)),"s"==i.substr(0,1)){var j=+i.substr(1);i="n"+Math.max(0,b(a,j))}return h&&(i="n0"),"-"==i&&(i=a==Math.round(a)?"n0":a==.1*Math.round(10*a)?"n1":"n2"),a=Globalize.format(a,"-"!=i?i:null),g?f+a+e:a}},isValid:function(a){return""===a||g[String(a).toLowerCase()]||_.isNumber(j.parse(a))},ambiguousFormats:function(){var a=[];return _.each(h,function(b,c){b==i[1]&&a.push([c,f[c]])}),a},format:function(a){return arguments.length?(c=a,j):c}};return j},dw.column.types.date=function(a){function b(a,b){var c=j[b];return _.isRegExp(c.test)?c.test.test(a):c.test(a,b)}function c(a,b){var c=j[b];return _.isRegExp(c.parse)?a.match(c.parse):c.parse(a,b)}function d(a,b,c){var d=new Date(Date.UTC(a,0,3));return d.setUTCDate(3-d.getUTCDay()+7*(b-1)+parseInt(c,10)),d}function e(a){var b=a.getUTCDay(),c=new Date(a.valueOf());c.setDate(c.getDate()-(b+6)%7+3);var d=c.getUTCFullYear(),e=Math.floor((c.getTime()-new Date(d,0,1,-6))/864e5);return[d,1+Math.floor(e/7),b>0?b:7]}var f,g=0,h={},i=["",0],j={YYYY:{test:/^ *(?:1[7-9]|20)\d{2} *$/,parse:/^ *(\d{4}) *$/,precision:"year"},"YYYY-H":{test:/^ *[12]\d{3}[ \-\/]?[hH][12] *$/,parse:/^ *(\d{4})[ \-\/]?[hH]([12]) *$/,precision:"half"},"H-YYYY":{test:/^ *[hH][12][ \-\/][12]\d{3} *$/,parse:/^ *[hH]([12])[ \-\/](\d{4}) *$/,precision:"half"},"YYYY-Q":{test:/^ *[12]\d{3}[ \-\/]?[qQ][1234] *$/,parse:/^ *(\d{4})[ \-\/]?[qQ]([1234]) *$/,precision:"quarter"},"Q-YYYY":{test:/^ *[qQ]([1234])[ \-\/][12]\d{3} *$/,parse:/^ *[qQ]([1234])[ \-\/](\d{4}) *$/,precision:"quarter"},"YYYY-M":{test:/^ *([12]\d{3}) ?[ \-\/\.mM](0?[1-9]|1[0-2]) *$/,parse:/^ *(\d{4}) ?[ \-\/\.mM](0?[1-9]|1[0-2]) *$/,precision:"month"},"M-YYYY":{test:/^ *(0?[1-9]|1[0-2]) ?[ \-\/\.][12]\d{3} *$/,parse:/^ *(0?[1-9]|1[0-2]) ?[ \-\/\.](\d{4}) *$/,precision:"month"},"YYYY-WW":{test:/^ *[12]\d{3}[ -]?[wW](0?[1-9]|[1-4]\d|5[0-3]) *$/,parse:/^ *(\d{4})[ -]?[wW](0?[1-9]|[1-4]\d|5[0-3]) *$/,precision:"week"},"MM/DD/YYYY":{test:/^ *(0?[1-9]|1[0-2])([\-\/] ?)(0?[1-9]|[1-2]\d|3[01])\2([12]\d{3})$/,parse:/^ *(0?[1-9]|1[0-2])([\-\/] ?)(0?[1-9]|[1-2]\d|3[01])\2(\d{4})$/,precision:"day"},"DD/MM/YYYY":{test:/^ *(0?[1-9]|[1-2]\d|3[01])([\-\.\/ ?])(0?[1-9]|1[0-2])\2([12]\d{3})$/,parse:/^ *(0?[1-9]|[1-2]\d|3[01])([\-\.\/ ?])(0?[1-9]|1[0-2])\2(\d{4})$/,precision:"day"},"YYYY-MM-DD":{test:/^ *([12]\d{3})([\-\/\. ?])(0?[1-9]|1[0-2])\2(0?[1-9]|[1-2]\d|3[01])$/,parse:/^ *(\d{4})([\-\/\. ?])(0?[1-9]|1[0-2])\2(0?[1-9]|[1-2]\d|3[01])$/,precision:"day"},"YYYY-WW-d":{test:/^ *[12]\d{3}[ \-]?[wW](0?[1-9]|[1-4]\d|5[0-3])(?:[ \-]?[1-7]) *$/,parse:/^ *(\d{4})[ \-]?[wW](0?[1-9]|[1-4]\d|5[0-3])(?:[ \-]?([1-7])) *$/,precision:"day"},"MM/DD/YYYY HH:MM":{test:/^ *(0?[1-9]|1[0-2])([-\/] ?)(0?[1-9]|[1-2]\d|3[01])\2([12]\d{3}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d) *$/,parse:/^ *(0?[1-9]|1[0-2])([-\/] ?)(0?[1-9]|[1-2]\d|3[01])\2(\d{4}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d) *$/,precision:"day-minutes"},"DD.MM.YYYY HH:MM":{test:/^ *(0?[1-9]|[1-2]\d|3[01])([-\.\/ ?])(0?[1-9]|1[0-2])\2([12]\d{3}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d) *$/,parse:/^ *(0?[1-9]|[1-2]\d|3[01])([-\.\/ ?])(0?[1-9]|1[0-2])\2(\d{4}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d) *$/,precision:"day-minutes"},"YYYY-MM-DD HH:MM":{test:/^ *([12]\d{3})([-\/\. ?])(0?[1-9]|1[0-2])\2(0?[1-9]|[1-2]\d|3[01]) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d) *$/,parse:/^ *(\d{4})([-\/\. ?])(0?[1-9]|1[0-2])\2(0?[1-9]|[1-2]\d|3[01]) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d) *$/,precision:"day-minutes"},"MM/DD/YYYY HH:MM:SS":{test:/^ *(0?[1-9]|1[0-2])([-\/] ?)(0?[1-9]|[1-2]\d|3[01])\2([12]\d{3}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d)(?::([0-5]\d))? *$/,parse:/^ *(0?[1-9]|1[0-2])([-\/] ?)(0?[1-9]|[1-2]\d|3[01])\2(\d{4}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d)(?::([0-5]\d))? *$/,precision:"day-seconds"},"DD.MM.YYYY HH:MM:SS":{test:/^ *(0?[1-9]|[1-2]\d|3[01])([-\.\/ ?])(0?[1-9]|1[0-2])\2([12]\d{3}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d)(?::([0-5]\d))? *$/,parse:/^ *(0?[1-9]|[1-2]\d|3[01])([-\.\/ ?])(0?[1-9]|1[0-2])\2(\d{4}) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d)(?::([0-5]\d))? *$/,precision:"day-seconds"},"YYYY-MM-DD HH:MM:SS":{test:/^ *([12]\d{3})([-\/\. ?])(0?[1-9]|1[0-2])\2(0?[1-9]|[1-2]\d|3[01]) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d)(?::([0-5]\d))? *$/,parse:/^ *(\d{4})([-\/\. ?])(0?[1-9]|1[0-2])\2(0?[1-9]|[1-2]\d|3[01]) *[ \-\|] *(0?\d|1\d|2[0-3]):([0-5]\d)(?::([0-5]\d))? *$/,precision:"day-seconds"}};a=a||[],_.each(j,function(c,d){_.each(a,function(a){void 0===h[d]&&(h[d]=0),b(a,d)&&(h[d]+=1,h[d]>i[1]&&(i[0]=d,i[1]=h[d]))})}),f=i[0];var k={parse:function(a){if(_.isDate(a)||_.isUndefined(a))return a;if(!f||!_.isString(a))return g++,a;var e=c(a,f);if(!e)return g++,a;switch(b(a,f)||g++,f){case"YYYY":return new Date(e[1],0,1);case"YYYY-H":return new Date(e[1],6*(e[2]-1),1);case"H-YYYY":return new Date(e[2],6*(e[1]-1),1);case"YYYY-Q":return new Date(e[1],3*(e[2]-1),1);case"Q-YYYY":return new Date(e[2],3*(e[1]-1),1);case"YYYY-M":return new Date(e[1],e[2]-1,1);case"M-YYYY":return new Date(e[2],e[1]-1,1);case"YYYY-WW":return d(e[1],e[2],1);case"YYYY-WW-d":return d(e[1],e[2],e[3]);case"YYYY-MM-DD":return new Date(e[1],e[3]-1,e[4]);case"DD/MM/YYYY":return new Date(e[4],e[3]-1,e[1]);case"MM/DD/YYYY":return new Date(e[4],e[1]-1,e[3]);case"YYYY-MM-DD HH:MM":return new Date(e[1],e[3]-1,e[4],e[5]||0,e[6]||0,0);case"DD.MM.YYYY HH:MM":return new Date(e[4],e[3]-1,e[1],e[5]||0,e[6]||0,0);case"MM/DD/YYYY HH:MM":return new Date(e[4],e[1]-1,e[3],e[5]||0,e[6]||0,0);case"YYYY-MM-DD HH:MM:SS":return new Date(e[1],e[3]-1,e[4],e[5]||0,e[6]||0,e[7]||0);case"DD.MM.YYYY HH:MM:SS":return new Date(e[4],e[3]-1,e[1],e[5]||0,e[6]||0,e[7]||0);case"MM/DD/YYYY HH:MM:SS":return new Date(e[4],e[1]-1,e[3],e[5]||0,e[6]||0,e[7]||0)}return g++,a},toNum:function(a){return a.getTime()},fromNum:function(a){return new Date(a)},errors:function(){return g},name:function(){return"date"},format:function(a){return arguments.length?(f=a,k):f},precision:function(){return j[f].precision},formatter:function(a){if(!f)return _.identity;var b=Globalize.culture().calendar.patterns.M.replace("MMMM","MMM");switch(j[f].precision){case"year":return function(a){return _.isDate(a)?a.getFullYear():a};case"half":return function(a){return _.isDate(a)?a.getFullYear()+" H"+(a.getMonth()/6+1):a};case"quarter":return function(a){return _.isDate(a)?a.getFullYear()+" Q"+(a.getMonth()/3+1):a};case"month":return function(a){return _.isDate(a)?Globalize.format(a,"MMM yy"):a};case"week":return function(a){return _.isDate(a)?e(a).slice(0,2).join(" W"):a};case"day":return function(a,b){return _.isDate(a)?Globalize.format(a,b?"D":"d"):a};case"day-minutes":return function(a){return _.isDate(a)?Globalize.format(a,b).replace(" "," ")+" - "+Globalize.format(a,"t").replace(" "," "):a};case"day-seconds":return function(a){return _.isDate(a)?Globalize.format(a,"T").replace(" "," "):a}}},isValid:function(a){return _.isDate(k.parse(a))},ambiguousFormats:function(){var a=[];return _.each(h,function(b,c){b==i[1]&&a.push([c,c])}),a}};return k},dw.datasource={},dw.datasource.delimited=function(a){function b(){if(a.url)return $.ajax({url:a.url,method:"GET",dataType:"text"}).then(function(b){return new DelimitedParser(a).parse(b)});if(a.csv){var b=$.Deferred(),c=b.then(function(b){return new DelimitedParser(a).parse(b)});return b.resolve(a.csv),c}throw"you need to provide either an URL or CSV data."}var c={dataset:b};return c};var DelimitedParser=function(a){a=_.extend({delimiter:"auto",quoteChar:'"',skipRows:0,emptyValue:null,transpose:!1,firstRowIsHeader:!0},a),this.__delimiterPatterns=getDelimiterPatterns(a.delimiter,a.quoteChar),this.opts=a};_.extend(DelimitedParser.prototype,{parse:function(a){function b(a,b,c){c=c||",";for(var d,e=[[]],f=null;f=a.exec(b);){var g=f[1];g.length&&g!=c&&e.push([]),d=f[2]?f[2].replace(new RegExp('""',"g"),'"'):f[3],e[e.length-1].push(d)}e[0][0].substr(0,1)==h&&(e[0][0]=e[0][0].substr(1));var i=e.length-1,j=e[i].length-1,k=e[i][j].length-1;return e[i][j].substr(k)==h&&(e[i][j]=e[i][j].substr(0,k)),e}function c(a){var b=a,c=b.length?b.length:0,d=b[0]instanceof Array?b[0].length:0;if(0===d||0===c)return[];var e,f,g=[];for(e=0;d>e;e++)for(g[e]=[],f=0;c>f;f++)g[e][f]=b[f][e];return g}function d(a){var b=[],c={},d=a.length,e=a[0].length,g=f.skipRows,h=[];f.firstRowIsHeader&&(h=a[g],g++);for(var i=0;e>i;i++){var j=_.isString(h[i])?h[i].replace(/^\s+|\s+$/g,""):"",k=""!==j?"":1;for(j=""!==j?j:"X.";void 0!==c[j+k];)k=""===k?1:k+1;b.push({name:j+k,data:[]}),c[j+k]=!0}return _.each(_.range(g,d),function(c){_.each(b,function(b,d){b.data.push(""!==a[c][d]?a[c][d]:f.emptyValue)})}),b=_.map(b,function(a){return dw.column(a.name,a.data)}),dw.dataset(b)}var e=this,f=this.opts;e.__rawData=a,"auto"==f.delimiter&&(f.delimiter=e.guessDelimiter(a,f.skipRows),e.__delimiterPatterns=getDelimiterPatterns(f.delimiter,f.quoteChar));var g,h="|"!=f.delimiter?"|":"#";return a=h+a.replace(/\s+$/g,"")+h,g=b(this.__delimiterPatterns,a,f.delimiter),f.transpose&&(g=c(g)),d(g)},guessDelimiter:function(a){var b=0,c=-1,d=this,e=[" ",";","|",","];return _.each(e,function(e,f){var g=getDelimiterPatterns(e,d.quoteChar),h=a.match(g).length;h>b&&(b=h,c=f)}),e[c]}}),dw.utils={minMax:function(a){var b=[Number.MAX_VALUE,-Number.MAX_VALUE];return _.each(a,function(a){b[0]=Math.min(b[0],a.range()[0]),b[1]=Math.max(b[1],a.range()[1])}),b},dateFormat:function(a){function b(a){return function(b){d=!e||b.getMonth()!=e.getMonth(),e=b;for(var c=a.length-1,f=a[c];!f[1](b);)f=a[--c];return f[0](b)}}function c(a){var b=function(b){var c=Globalize.format(b,a);return"htt"!=a?c:c.toLowerCase()};return b}var d=!0,e=!1,f=function(a){return{date:"de"==a?"dd.":"dd",hour:"en"!=a?"H:00":"htt",minute:"de"==a?"H:mm":"h:mm",mm:"de"==a?"d.M.":"MM/dd",mmm:"de"==a?"d.MMM":"MMM dd",mmmm:"de"==a?"d. MMMM":"MMMM dd"}}(Globalize.culture().language);return b([[c("yyyy"),function(){return!0}],[c("MMM"),function(a){return 0!==a.getMonth()}],[c(f.date),function(a){return 1!=a.getDate()}],[c(7>a?f.mm:a>70?f.mmm:f.mmm),function(a){return 1!=a.getDate()&&d}],[c(f.hour),function(a){return a.getHours()}],[c(f.minute),function(a){return a.getMinutes()}],[c(":ss"),function(a){return a.getSeconds()}],[c(".fff"),function(a){return a.getMilliseconds()}]])},longDateFormat:function(a){return function(b){if("date"!=a.type())return b;switch(a.type(!0).precision()){case"year":return b.getFullYear();case"quarter":return b.getFullYear()+" Q"+(b.getMonth()/3+1);case"month":return Globalize.format(b,"MMM yy");case"day":return Globalize.format(b,"MMM d");case"minute":return Globalize.format(b,"t");case"second":return Globalize.format(b,"T")}}},columnNameColumn:function(a){var b=_.map(a,function(a){return a.title()});return dw.column("",b)},name:function(a){return _.isFunction(a.name)?a.name():_.isString(a.name)?a.name:a},getMaxChartHeight:function(a){function b(a,b){return"auto"==$(a).css("margin-"+b)?0:+$(a).css("margin-"+b).replace("px","")}var c=0,d=0;$("body > *").each(function(a,e){var f=e.tagName.toLowerCase();"script"==f||"style"==f||"chart"==e.id||$(e).hasClass("tooltip")||$(e).hasClass("qtip")||$(e).hasClass("container")||$(e).hasClass("noscript")||(c+=$(e).outerHeight(!1)),c+=Math.max(b(e,"top"),d),d=b(e,"bottom")}),c+=d;var e=($("#chart").css("margin-top").replace("px",""),$("#chart").css("margin-bottom").replace("px",""),$(window).height()-c-8);return $.support.leadingWhitespace||(e-=15),e-=$("body").css("padding-top").replace("px",""),e-=$("body").css("padding-bottom").replace("px","")},purifyHtml:function(a,b){function c(a,b){return!_.isString(a)||a.indexOf("<")<0?a:(void 0===b&&(b=f),g[b]||(g[b]=(((b||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join("")),a.replace(e,"").replace(d,function(a,c){return g[b].indexOf("<"+c.toLowerCase()+">")>-1?a:""}))}var d=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,e=/|<\?(?:php)?[\s\S]*?\?>/gi,f="

",g={};return void 0===b&&(b=f),g[b]=(((b||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join(""),dw.utils.purifyHtml=c,c(a,b)},significantDimension:function(a){function b(a){return dw.utils.round(a,f)}var c,d,e=[],f=0,g=_.uniq(a);if(1==g.length)return-1*Math.floor(Math.log(g[0])/Math.LN10);_.uniq(_.map(g,b)).length==g.length?(c=function(){return _.uniq(e).length==g.length},d=-1):(c=function(){return _.uniq(e).length0);return 10>h&&console.warn("maximum iteration reached",a,e,f),0>d?f+=2:f--,f},round:function(a,b){var c=Math.pow(10,b);return Math.round(a*c)/c},smartRound:function(a,b){var c=dw.utils.significantDimension(a);return c+=b||0,_.map(a,function(a){return dw.utils.round(a,c)})},nearest:function(a,b){var c,d=Number.MAX_VALUE;return _.each(a,function(a){var e=Math.abs(a-b);d>e&&(d=e,c=a)}),c},metricSuffix:function(a){switch(a.substr(0,2).toLowerCase()){case"de":return{3:" Tsd.",6:" Mio.",9:" Mrd.",12:" Bio."};case"fr":return{3:" mil",6:" Mio",9:" Mrd"};case"es":return{3:" Mil",6:" millón"};default:return{3:"k",6:"M",9:" bil"}}},magnitudeRange:function(a){var b=Math.round(Math.log(a[0])/Math.LN10),c=Math.round(Math.log(a[1])/Math.LN10);return c-b},logTicks:function(a,b){var c=Math.round(Math.log(a)/Math.LN10),d=Math.round(Math.log(b)/Math.LN10);return _.map(_.range(c,d),function(a){return Math.pow(10,a)})},clone:function(a){return JSON.parse(JSON.stringify(a))}},dw.utils.filter=function(a,b,c,d){function e(b){_.each(g,function(c){_.isFunction(c)&&c(a.val(b),b)})}function f(c){var g;return"auto"==c&&(c="date"==a.type()?"timescale":a.length<6?"buttons":"select"),a.length<2?function(){return!1}:("select"==c&&(g=function(b){var c=$("