u?q(e,r,s,!0,!1,p):w(t,n,o,r,s,i,l,c,p)},L=(e,t,n,o,r,s,i,l,c)=>{let a=0;const u=t.length;let p=e.length-1,f=u-1;for(;a<=p&&a<=f;){const o=e[a],u=t[a]=c?jr(t[a]):Lr(t[a]);if(!Ar(o,u))break;h(o,u,n,null,r,s,i,l,c),a++}for(;a<=p&&a<=f;){const o=e[p],a=t[f]=c?jr(t[f]):Lr(t[f]);if(!Ar(o,a))break;h(o,a,n,null,r,s,i,l,c),p--,f--}if(a>p){if(a<=f){const e=f+1,p=ef)for(;a<=p;)D(e[a],r,s,!0),a++;else{const d=a,m=a,g=new Map;for(a=m;a<=f;a++){const e=t[a]=c?jr(t[a]):Lr(t[a]);null!=e.key&&g.set(e.key,a)}let v,_=0;const b=f-m+1;let S=!1,x=0;const C=new Array(b);for(a=0;a=b){D(o,r,s,!0);continue}let u;if(null!=o.key)u=g.get(o.key);else for(v=m;v<=f;v++)if(0===C[v-m]&&Ar(o,t[v])){u=v;break}void 0===u?D(o,r,s,!0):(C[u-m]=a+1,u>=x?x=u:S=!0,h(o,t[u],n,null,r,s,i,l,c),_++)}const k=S?function(e){const t=e.slice(),n=[0];let o,r,s,i,l;const c=e.length;for(o=0;o 1;if(queue){duration/=2}settings.offset=both(settings.offset);settings.over=both(settings.over);return this.each(function(){if(target===null){return}var win=isWin(this),elem=win?this.contentWindow||window:this,$elem=$(elem),targ=target,attr={},toff;switch(typeof targ){case 'number':case 'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=win?$(targ):$(targ,elem);case 'object':if(targ.length===0){return}if(targ.is||targ.style){toff=(targ=$(targ)).offset()}}var offset=isFunction(settings.offset)&&settings.offset(elem,targ)||settings.offset;$.each(settings.axis.split(''),function(i,axis){var Pos=axis==='x'?'Left':'Top',pos=Pos.toLowerCase(),key='scroll'+Pos,prev=$elem[key](),max=$scrollTo.max(elem,axis);if(toff){attr[key]=toff[pos]+(win?0:prev-$elem.offset()[pos]);if(settings.margin){attr[key]-=parseInt(targ.css('margin'+Pos),10)||0;attr[key]-=parseInt(targ.css('border'+Pos+'Width'),10)||0}attr[key]+=offset[pos]||0;if(settings.over[pos]){attr[key]+=targ[axis==='x'?'width':'height']()*settings.over[pos]}}else{var val=targ[pos];attr[key]=val.slice&&val.slice(-1)==='%'?parseFloat(val)/100*max:val}if(settings.limit&&/^\d+$/.test(attr[key])){attr[key]=attr[key]<=0?0:Math.min(attr[key],max)}if(!i&&settings.axis.length>1){if(prev===attr[key]){attr={}}else if(queue){animate(settings.onAfterFirst);attr={}}}});animate(settings.onAfter);function animate(callback){var opts=$.extend({},settings,{queue:true,duration:duration,complete:callback&&function(){callback.call(elem,targ,settings)}});$elem.animate(attr,opts)}})};$scrollTo.max=function(elem,axis){var Dim=axis==='x'?'Width':'Height',scroll='scroll'+Dim;if(!isWin(elem)){return elem[scroll]-$(elem)[Dim.toLowerCase()]()}var size='client'+Dim,doc=elem.ownerDocument||elem.document,html=doc.documentElement,body=doc.body;return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size])};function both(val){return isFunction(val)||$.isPlainObject(val)?val:{top:val,left:val}}$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(t){return $(t.elem)[t.prop]()},set:function(t){var curr=this.get(t);if(t.options.interrupt&&t._last&&t._last!==curr){return $(t.elem).stop()}var next=Math.round(t.now);if(curr!==next){$(t.elem)[t.prop](next);t._last=this.get(t)}}};return $scrollTo});
/* mousetrap v1.6.5 craig.is/killing/mice */
(function(q,u,c){function v(a,b,g){a.addEventListener?a.addEventListener(b,g,!1):a.attachEvent("on"+b,g)}function z(a){if("keypress"==a.type){var b=String.fromCharCode(a.which);a.shiftKey||(b=b.toLowerCase());return b}return n[a.which]?n[a.which]:r[a.which]?r[a.which]:String.fromCharCode(a.which).toLowerCase()}function F(a){var b=[];a.shiftKey&&b.push("shift");a.altKey&&b.push("alt");a.ctrlKey&&b.push("ctrl");a.metaKey&&b.push("meta");return b}function w(a){return"shift"==a||"ctrl"==a||"alt"==a||
"meta"==a}function A(a,b){var g,d=[];var e=a;"+"===e?e=["+"]:(e=e.replace(/\+{2}/g,"+plus"),e=e.split("+"));for(g=0;g P[2][1]&&Q P[0][0]+ad[0][0]&&R P[2][1]&&Q 0&&-Q>=0){E=2*Math.PI-Math.atan(-Q/R)
}else{if(R>0&&-Q<0){E=-Math.atan(-Q/R)}else{if(R<0){E=Math.PI-Math.atan(-Q/R)}else{if(R==0&&-Q>0){E=3*Math.PI/2}else{if(R==0&&-Q<0){E=Math.PI/2}else{if(R==0&&Q==0){E=0}}}}}}if(H){E-=H;if(E<0){E+=2*Math.PI}else{if(E>2*Math.PI){E-=2*Math.PI}}}C=W.sliceMargin/180*Math.PI;if(X ');if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);
if(this._label.show){var g=this._label.draw(b,j);g.appendTo(this._elem)}var f=this._ticks;for(var e=0;e p[1]||ymin==null){ymin=p[1];}}
if(this.type==='line'&&this.renderer.bands.show){ymax=this._yaxis.series_u2p(this.renderer.bands._min);ymin=this._yaxis.series_u2p(this.renderer.bands._max);}
this._boundingBox=[[xmin,ymax],[xmax,ymin]];if(this.markerRenderer.show&&!fill){if(this.renderer.smooth){gd=this.gridData;}
for(i=0;i '+_.nb_visits.replace('%s','0')+'0&&-Q>=0){E=2*Math.PI-Math.atan(-Q/R)}else{if(R>0&&-Q<0){E=-Math.atan(-Q/R)}else{if(R<0){E=Math.PI-Math.atan(-Q/R)}else{if(R==0&&-Q>0){E=3*Math.PI/2}else{if(R==0&&-Q<0){E=Math.PI/2}else{if(R==0&&Q==0){E=0}}}}}}if(H){E-=H;if(E<0){E+=2*Math.PI}else{if(E>2*Math.PI){E-=2*Math.PI}}}C=W.sliceMargin/180*Math.PI;if(X=G[0][1]&&Q<=G[3][1]&&R>=B[0]&&R<=M[0]){return{seriesIndex:W.index,pointIndex:ac,gridData:null,data:W.data[ac]}}}break;case e.jqplot.LineRenderer:R=n.x;Q=n.y;X=W.renderer;if(W.show){if((W.fill||(W.renderer.bands.show&&W.renderer.bands.fill))&&(!o.plugins.highlighter||!o.plugins.highlighter.show)){var F=false;if(R>W._boundingBox[0][0]&&R=Q){if(K[0]+(Q-K[1])/(J[1]-K[1])*(J[0]-K[0])
2){var w;if(this.renderer.constrainSmoothing){w=e.call(this,this.gridData);this.renderer._smoothedData=w[0];this.renderer._smoothedPlotData=w[1];if(s.show){w=e.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=w[0];w=e.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=w[0]}w=null}else{w=k.call(this,this.gridData);this.renderer._smoothedData=w[0];this.renderer._smoothedPlotData=w[1];if(s.show){w=k.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=w[0];
w=k.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=w[0]}w=null}}};h.jqplot.LineRenderer.prototype.makeGridData=function(w,y){var u=this._xaxis.series_u2p;var p=this._yaxis.series_u2p;var z=[];var r=[];this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];var t=this.renderer.bands;var q=false;for(var v=0;v'+' ');piwikHelper.lazyScrollTo(newRow);var savedActionVariable=self.param.action;var filtersToRestore=self.resetAllFilters();self.param.enable_filter_excludelowpop=filtersToRestore.enable_filter_excludelowpop;self.param.idSubtable=idSubTable;self.param.action=self.props.subtable_controller_action;delete self.param.totalRows;var extraParams={};extraParams.comparisonIdSubtables=self.getComparisonIdSubtables($(this));self.reloadAjaxDataTable(false,function(response){self.dataTableLoaded(response,divIdToReplaceWithSubTable);},extraParams);self.param.action=savedActionVariable;delete self.param.idSubtable;self.restoreAllFilters(filtersToRestore);self.loadedSubDataTable[divIdToReplaceWithSubTable]=true;$(this).find('div.dataTableRowActions').hide();}else{var $toToggle=$(this).nextUntil('.subDataTableContainer').last();$toToggle=$toToggle.length?$toToggle:$(this);$toToggle.next().toggle();}
$(this).toggleClass('expanded');self.repositionRowActions($(this));}).length;},handleColumnDocumentation:function(domElem){if(this.isDashboard()){return;}
$('th:has(.columnDocumentation)',domElem).each(function(){var th=$(this);var tooltip=th.find('.columnDocumentation');tooltip.next().hover(function(){var left=(-1*tooltip.outerWidth()/ 2)+th.width()/ 2;var top=-1*tooltip.outerHeight();var thPos=th.position();var distance=tooltip.parent().offset().top;var scroller=tooltip.closest('.dataTableScroller');var thPosTop=0;if(thPos&&thPos.top){thPosTop=thPos.top;}
top=top+thPosTop;if($(window).scrollTop()>=distance-100||scroller.css('overflow-x')==='scroll'){top=tooltip.parent().outerHeight()}
if(!th.next().length){left=(-1*tooltip.outerWidth())+th.width()+
parseInt(th.css('padding-right'),10);}
if(th.offset().top+top<0){top=thPosTop+th.outerHeight();}
tooltip.css({marginLeft:left,marginTop:top,top:0});$(".dataTable thead").addClass('with-z-index');tooltip.stop(true,true).fadeIn(250);},function(){$(this).prev().stop(true,true).fadeOut(250);$(".dataTable thead").removeClass('with-z-index');});});},handleRowActions:function(domElem){this.doHandleRowActions(domElem.find('table > tbody > tr'));},handleCellTooltips:function(domElem){domElem.find('span.cell-tooltip').tooltip({track:true,items:'span',content:function(){return $(this).parent().data('tooltip');},show:false,hide:false,tooltipClass:'small'});domElem.find('span.ratio').tooltip({track:true,content:function(){var title=$(this).attr('title');return piwikHelper.escape(title.replace(/\n/g,''+' '+'
'));},show:{delay:700,duration:200},hide:false})},handleRelatedReports:function(domElem){var self=this,hideShowRelatedReports=function(thisReport){$('span',$(thisReport).parent().parent()).each(function(){if(thisReport==this)
$(this).hide();else
$(this).show();});},thisReport=$('.datatableRelatedReports span:hidden',domElem)[0];function replaceReportTitleAndHelp(domElem,relatedReportName){if(!domElem||!domElem.length){return;}
var $title='';var $headline=domElem.prev('h2');if($headline.length){$title=$headline.find('.title:not(.ng-hide)');}else{var $widget=domElem.parents('.widget');if($widget.length){$title=$widget.find('.widgetName > span');}}
if($title.length){$title.text(relatedReportName);var scope=$title.scope();if(scope){var $doc=domElem.find('.reportDocumentation');if($doc.length){var helpParagraph=$doc.attr('data-content');if(helpParagraph.length){helpParagraph.html(window.vueSanitize(helpParagraph));}
scope.inlineHelp=$.trim($doc.html());}
scope.featureName=$.trim(relatedReportName);setTimeout(function(){scope.$apply();},1);}}}
hideShowRelatedReports(thisReport);var relatedReports=$('.datatableRelatedReports span',domElem);if(!relatedReports.length){$('.datatableRelatedReports',domElem).hide();}
relatedReports.each(function(){var clicked=this;$(this).unbind('click').click(function(e){var $this=$(this);var url=$this.attr('href');self.resetAllFilters();var newParams=broadcast.getValuesFromUrl(url);var isSecondaryDimensionReport=self.param.module===newParams.module&&self.param.action===newParams.action&&newParams.secondaryDimension;for(var key in newParams){self.param[key]=decodeURIComponent(newParams[key]);}
delete self.param.pivotBy;delete self.param.pivotByColumn;var relatedReportName=$this.text();self.reloadAjaxDataTable(true,(function(relatedReportName,isSecondaryDimensionReport){return function(newReport){var newDomElem=self.dataTableLoaded(newReport,self.workingDivId);hideShowRelatedReports(clicked);if(!isSecondaryDimensionReport){replaceReportTitleAndHelp(newDomElem,relatedReportName);}}})(relatedReportName,isSecondaryDimensionReport));});});},handleTriggeredEvents:function(domElem){var self=this;$(domElem).bind('reload',function(e,paramOverride){paramOverride=paramOverride||{};for(var name in paramOverride){self.param[name]=paramOverride[name];}
self.reloadAjaxDataTable(true);});},handleSummaryRow:function(domElem){var details=_pk_translate('General_LearnMore',[' (',')']);domElem.find('tr.summaryRow').each(function(){var labelSpan=$(this).find('.label .value').filter(function(index,elem){return $(elem).text()!='-';}).last();var defaultLabel=labelSpan.text();$(this).hover(function(){labelSpan.html(defaultLabel+details);},function(){labelSpan.text(defaultLabel);});});},doHandleRowActions:function(trs){if(!trs||!trs.length||!trs[0]){return;}
var parent=$(trs[0]).closest('table');var self=this;var merged=$.extend({},self.param,self.props);var availableActionsForReport=DataTable_RowActions_Registry.getAvailableActionsForReport(merged);if(availableActionsForReport.length==0){return;}
var actionInstances={};for(var i=0;i'+action.dataTableIconTooltip[0]+'
'+action.dataTableIconTooltip[1],tooltipClass:'rowActionTooltip',open:function(){var tooltip=$(this).parents('.matomo-widget').tooltip('instance');if(tooltip){tooltip.disable();}},close:function(){var tooltip=$(this).parents('.matomo-widget').tooltip('instance');if(tooltip){tooltip.enable();}},show:false,hide:false});}}
return container;},repositionRowActions:function(tr){if(!tr){return;}
var td=tr.find('td.label:last');var actions=tr.find('div.dataTableRowActions');if(!actions){return;}
actions.height(tr.innerHeight()-6);actions.css('marginLeft',(td.width()-3-actions.outerWidth())+'px');},_findReportHeader:function(domElem){var h2=false;if(domElem.prev().is('h2')){h2=domElem.prev();}
else if(this.param.viewDataTable=='tableGoals'){h2=$('#titleGoalsByDimension');}
else if($('h2',domElem)){h2=$('h2',domElem);}
return h2;},_createDivId:function(){return'dataTable_'+this._controlId;}});var switchToHtmlTable=function(dataTable,viewDataTable){dataTable.param.viewDataTable=viewDataTable;delete dataTable.param.enable_filter_excludelowpop;delete dataTable.param.filter_sort_column;delete dataTable.param.filter_sort_order;delete dataTable.param.columns;delete dataTable.param.totals;dataTable.reloadAjaxDataTable();dataTable.notifyWidgetParametersChange(dataTable.$element,{viewDataTable:viewDataTable});};var switchToEcommerceView=function(dataTable,viewDataTable){if(viewDataTable=='ecommerceOrder'){dataTable.param.abandonedCarts='0';}else{dataTable.param.abandonedCarts='1';}
var viewDataTable=dataTable.param.viewDataTable;if(viewDataTable=='ecommerceOrder'||viewDataTable=='ecommerceAbandonedCart'){viewDataTable='table';}
switchToHtmlTable(dataTable,viewDataTable);};DataTable.registerFooterIconHandler('table',switchToHtmlTable);DataTable.registerFooterIconHandler('tableAllColumns',switchToHtmlTable);DataTable.registerFooterIconHandler('tableGoals',switchToHtmlTable);DataTable.registerFooterIconHandler('ecommerceOrder',switchToEcommerceView);DataTable.registerFooterIconHandler('ecommerceAbandonedCart',switchToEcommerceView);DataTable.switchToGraph=function(dataTable,viewDataTable){var filters=dataTable.resetAllFilters();dataTable.param.flat=filters.flat;dataTable.param.keep_totals_row=filters.keep_totals_row;dataTable.param.columns=filters.columns;dataTable.param.viewDataTable=viewDataTable;dataTable.reloadAjaxDataTable();dataTable.notifyWidgetParametersChange(dataTable.$element,{viewDataTable:viewDataTable});};DataTable.registerFooterIconHandler('cloud',DataTable.switchToGraph);exports.DataTable=DataTable;})(jQuery,require);
var DataTable_RowActions_Registry={registry:[],register:function(action){var createInstance=action.createInstance;action.createInstance=function(dataTable,param){var instance=createInstance(dataTable,param);instance.actionName=action.name;return instance;};this.registry.push(action);},getAvailableActionsForReport:function(dataTableParams,tr){if(dataTableParams.disable_row_actions=='1'){return[];}
var available=[];for(var i=0;i'+label+'
'+text,show:false,hide:false}).trigger('mouseover');}});})(jQuery,require);
(function($,require){var exports=require('piwik/UI'),JqplotGraphDataTable=exports.JqplotGraphDataTable;exports.JqplotPieGraphDataTable=function(element){JqplotGraphDataTable.call(this,element);};$.extend(exports.JqplotPieGraphDataTable.prototype,JqplotGraphDataTable.prototype,{_setJqplotParameters:function(params){JqplotGraphDataTable.prototype._setJqplotParameters.call(this,params);this.jqplotParams.seriesDefaults={renderer:$.jqplot.PieRenderer,rendererOptions:{shadow:false,showDataLabels:false,sliceMargin:1,startAngle:35}};this.jqplotParams.piwikTicks={showTicks:false,showGrid:false,showHighlight:false,tickColor:this.tickColor};this.jqplotParams.legend={show:false};this.jqplotParams.pieLegend={show:true,labelColor:this.singleMetricColor};this.jqplotParams.canvasLegend={show:true,singleMetric:true,singleMetricColor:this.singleMetricColor};if(!(this.data[0][0]instanceof Array)){for(var i=0;i'+label+'
'+text,show:false,hide:false}).trigger('mouseover');}});})(jQuery,require);
(function($,require){const exports=require('piwik/UI');const JqplotGraphDataTable=exports.JqplotGraphDataTable;const JqplotGraphDataTablePrototype=JqplotGraphDataTable.prototype;exports.JqplotEvolutionGraphDataTable=function(element){JqplotGraphDataTable.call(this,element);};$.extend(exports.JqplotEvolutionGraphDataTable.prototype,JqplotGraphDataTablePrototype,{_setJqplotParameters:function(params){JqplotGraphDataTablePrototype._setJqplotParameters.call(this,params);const defaultParams={axes:{xaxis:{pad:1.0,renderer:$.jqplot.CategoryAxisRenderer,tickOptions:{showGridline:false}}},piwikTicks:{showTicks:true,showGrid:true,showHighlight:true,tickColor:this.tickColor}};if(this.props.show_line_graph){defaultParams.seriesDefaults={lineWidth:1,markerOptions:{style:"filledCircle",size:6,shadow:false}};}else{defaultParams.seriesDefaults={renderer:$.jqplot.BarRenderer,rendererOptions:{shadowOffset:1,shadowDepth:2,shadowAlpha:.2,fillToZero:true,barMargin:this.data[0].length>10?2:10}};}
const overrideParams={legend:{show:false},canvasLegend:{show:true}};this.jqplotParams=$.extend(true,{},defaultParams,this.jqplotParams,overrideParams);},_bindEvents:function(){JqplotGraphDataTablePrototype._bindEvents.call(this);const self=this;$('#'+this.targetDivId).on('jqplotMouseLeave',function(e,s,i,d){$(this).css('cursor','default');JqplotGraphDataTablePrototype._destroyDataPointTooltip.call(this,$(this));}).on('jqplotClick',function(e,s,i,d){if(!self.jqplotParams.axes.xaxis.onclick||!self._plot.plugins.piwikTicks||typeof self._plot.plugins.piwikTicks.currentXTick!=='number'){return;}
const tick=self._plot.plugins.piwikTicks.currentXTick;if(typeof self.jqplotParams.axes.xaxis.onclick[tick]!=='string'){return;}
const url=self.jqplotParams.axes.xaxis.onclick[tick];broadcast.propagateNewPage(url);}).on('jqplotPiwikTickOver',function(e,tick){const dataByAxis={};for(let d=0;d
')}
`;}
switch(self.jqplotParams.dataStates[tick]){case'incomplete':content+=`
(${self._lang.incompletePeriod})`;break;case'invalidated':content+=`
(${self._lang.invalidatedPeriod})`;break;}
$(this).tooltip({track:true,items:'div',content:content,show:false,hide:false}).trigger('mouseover');if(typeof self.jqplotParams.axes.xaxis.onclick!=='undefined'&&typeof self.jqplotParams.axes.xaxis.onclick[tick]==='string'){$(this).css('cursor','pointer');}});this.setYTicks();},_destroyDataPointTooltip:function(){},render:function(){JqplotGraphDataTablePrototype.render.call(this);if(!initializeSparklines){return;}
initializeSparklines();}});})(jQuery,require);
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
function DataTable_RowActions_Transitions(dataTable){this.dataTable=dataTable;this.transitions=null;}
DataTable_RowActions_Transitions.prototype=new DataTable_RowAction;DataTable_RowActions_Transitions.launchForUrl=function(url,segment){var value='Transitions:url:'+url;if(segment){value+=':segment:'+segment;}
broadcast.propagateNewPopoverParameter('RowAction',value);};DataTable_RowActions_Transitions.isPageUrlReport=function(module,action){return module=='Actions'&&(action=='getPageUrls'||action=='getEntryPageUrls'||action=='getExitPageUrls'||action=='getPageUrlsFollowingSiteSearch');};DataTable_RowActions_Transitions.isPageTitleReport=function(module,action){return module=='Actions'&&(action=='getPageTitles'||action=='getPageTitlesFollowingSiteSearch');};DataTable_RowActions_Transitions.registeredReports=[];DataTable_RowActions_Transitions.registerReport=function(handler){DataTable_RowActions_Transitions.registeredReports.push(handler);}
DataTable_RowActions_Transitions.prototype.trigger=function(tr,e,subTableLabel){var i=0;for(i;i
'+Piwik_Transitions_Translations.DateRange+' '+self.model.date+'';var title=''+piwikHelper.addBreakpointsToUrl(self.actionName)+'
';return title+text;}
return false;},items:'*',tooltipClass:'Transitions_Tooltip_Small',show:false,hide:false});};Piwik_Transitions.prototype.prepareCanvas=function(canvasId,width,height){canvasId='Transitions_Canvas_'+canvasId;var div=$('#'+canvasId).width(width).height(height);var canvas;if(typeof Piwik_Transitions.canvasCache=='undefined'||typeof window.G_vmlCanvasManager!="undefined"){Piwik_Transitions.canvasCache={};}
if(typeof Piwik_Transitions.canvasCache[canvasId]=='undefined'){Piwik_Transitions.canvasCache[canvasId]=document.createElement('canvas');canvas=Piwik_Transitions.canvasCache[canvasId];canvas.width=width;canvas.height=height;}else{canvas=Piwik_Transitions.canvasCache[canvasId];canvas.getContext('2d').clearRect(0,0,width,height);}
div.append(canvas);return canvas;};Piwik_Transitions.prototype.render=function(){this.renderCenterBox();this.renderLeftSide();this.renderRightSide();this.renderLoops();window.CoreHome.Matomo.postEvent('Transitions.dataChanged',{'actionType':this.actionType,'actionName':this.actionName});};Piwik_Transitions.prototype.renderLeftSide=function(onlyBg){this.renderGroups(this.leftGroups,this.leftOpenGroup,'left',onlyBg);this.renderEntries(onlyBg);this.reRenderIfNeededToCenter('left',onlyBg);};Piwik_Transitions.prototype.renderRightSide=function(onlyBg){this.renderGroups(this.rightGroups,this.rightOpenGroup,'right',onlyBg);this.renderExits(onlyBg);this.reRenderIfNeededToCenter('right',onlyBg);};Piwik_Transitions.prototype.renderGroups=function(groups,openGroup,side,onlyBg){for(var i=0;i
');var inlineErrorNode=$('#Transitions_Error_Container');if(inlineErrorNode.length){inlineErrorNode.html('');var theContentNode=$(document.createElement('div')).addClass('Piwik_Popover_Error');var p=$(document.createElement('p')).addClass('Piwik_Popover_Error_Title');theContentNode.append(p.html(errorTitle));if(errorMessage){p=$(document.createElement('p')).addClass('Piwik_Popover_Error_Message');theContentNode.append(p.html(errorMessage));}
inlineErrorNode.append(theContentNode);inlineErrorNode.show();$('#transitions_report .popoverContainer').hide();}else{Piwik_Popover.showError(errorTitle,errorMessage,errorBack);}
$('#transitions_inline_loading').hide();};if(typeof Piwik_Transitions_Translations=='undefined'){self.callApi('Transitions.getTranslations',{},function(response){if(typeof response=='object'){Piwik_Transitions_Translations=response;}else{Piwik_Transitions_Translations={};}
showError();});}else{showError();}}
else{callback(result);}});ajaxRequest.send();};Piwik_Transitions_Util={shortenUrl:function(url,removeDomain){if(url=='Others'){return url;}
var urlBackup=url;url=url.replace(/http(s)?:\/\/(www\.)?/,'');if(urlBackup==url){return url;}
if(removeDomain){url=url.replace(/[^\/]*/,'');if(url=='/'){url=urlBackup;}}
url=url.replace(/\/$/,'');return url;},replacePlaceholderInHtml:function(container,value,spanClass){var span=container.find('span');if(!span.length){var html=container.html().replace(/%s/,'');span=container.html(html).find('span');if(!spanClass){spanClass='Transitions_Metric';}
span.addClass(spanClass);}
span.html(value);}};
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
(function($,require){var exports=require('piwik/UI'),DataTable=exports.DataTable,dataTablePrototype=DataTable.prototype;function getLevelFromClass(style){if(!style||typeof style=="undefined")return 0;var currentLevel=0;var currentLevelIndex=style.indexOf('level');if(currentLevelIndex>=0){currentLevel=Number(style.slice(currentLevelIndex+5,currentLevelIndex+6));}
return currentLevel;}
exports.ActionsDataTable=function(element){this.parentAttributeParent='';this.parentId='';this.disabledRowDom={};DataTable.call(this,element);};$.extend(exports.ActionsDataTable.prototype,dataTablePrototype,{bindEventsAndApplyStyle:function(domElem,rows){var self=this;self.cleanParams();self.preBindEventsAndApplyStyleHook(domElem,rows);if(!rows){rows=$('tr',domElem);}
self.numberOfSubtables=rows.filter('.subDataTable').click(function(){if(!self.param.filter_pattern_recursive){self.onClickActionSubDataTable(this);}}).length;self.applyCosmetics(domElem,rows);self.handleColumnHighlighting(domElem);self.handleRowActions(domElem,rows);self.handleLimit(domElem);self.handlePeriod(domElem);self.handleAnnotationsButton(domElem);self.handleExportBox(domElem);self.handleSort(domElem);self.handleOffsetInformation(domElem);if(self.workingDivId!=undefined){var dataTableLoadedProxy=function(response){self.dataTableLoaded(response,self.workingDivId);};self.handleConfigurationBox(domElem,dataTableLoadedProxy);self.handleSearchBox(domElem,dataTableLoadedProxy);}
self.handleColumnDocumentation(domElem);self.handleRelatedReports(domElem);self.handleTriggeredEvents(domElem);self.handleCellTooltips(domElem);self.setFixWidthToMakeEllipsisWork(domElem);self.handleSummaryRow(domElem);self.openSubtableFromLevel0IfOnlyOneSubtableGiven(domElem);self.postBindEventsAndApplyStyleHook(domElem,rows);},openSubtableFromLevel0IfOnlyOneSubtableGiven:function(domElem){var $subtables=domElem.find('.subDataTable');var hasOnlyOneSubtable=$subtables.length===1;if(hasOnlyOneSubtable){var hasOnlyOneRow=domElem.find('tbody tr.level0').length===1;if(hasOnlyOneRow){var $labels=$subtables.find('.label');if($labels.length){$labels.first().click();}}}},openSubtableFromSubtableIfOnlyOneSubtableGiven:function(domElem){var hasOnlyOneRow=domElem.length===1;var hasOnlyOneSubtable=domElem.hasClass('subDataTable');if(hasOnlyOneRow&&hasOnlyOneSubtable){var $labels=domElem.find('.label');if($labels.length){$labels.first().click();}}},applyCosmetics:function(domElem,rows){var self=this;var rowsWithSubtables=rows.filter('.subDataTable');rowsWithSubtables.css('font-weight','bold');$("th:first-child",domElem).addClass('label');$(rowsWithSubtables).each(function(){if(self.param.filter_pattern_recursive){$(this).addClass('expanded');$(this).attr('title','');}});var rootRow=rows.first().prev();var level=rootRow.length?getLevelFromClass(rootRow.attr('class'))+1:0;rows.each(function(){var currentStyle=$(this).attr('class')||'';if(currentStyle.indexOf('level')==-1){$(this).addClass('level'+level);}
$(this).prop('parent',function(){return self.parentAttributeParent+' '+self.parentId;});});self.addOddAndEvenClasses(domElem);},addOddAndEvenClasses:function(domElem){},handleRowActions:function(domElem,rows){this.doHandleRowActions(rows);},onClickActionSubDataTable:function(domElem){var self=this;var idSubTable=$(domElem).attr('id');var divIdToReplaceWithSubTable='subDataTable_'+idSubTable;var $insertAfter=$(domElem).nextUntil(':not(.comparePeriod):not(.comparisonRow)').last();if(!$insertAfter.length){$insertAfter=$(domElem);}
var NextStyle=$insertAfter.next().attr('class');var CurrentStyle=$(domElem).attr('class');var currentRowLevel=getLevelFromClass(CurrentStyle);var nextRowLevel=getLevelFromClass(NextStyle);if(currentRowLevel>=nextRowLevel){$(domElem).off('click');self.disabledRowDom=$(domElem);var numberOfColumns=$(domElem).children().length;$insertAfter.after(' ');var savedActionVariable=self.param.action;var filtersToRestore=self.resetAllFilters();this.param['filter_sort_column']=filtersToRestore['filter_sort_column'];this.param['filter_sort_order']=filtersToRestore['filter_sort_order'];this.param['enable_filter_excludelowpop']=filtersToRestore['enable_filter_excludelowpop'];self.param.idSubtable=idSubTable;self.param.action=self.props.subtable_controller_action;var extraParams={};extraParams.comparisonIdSubtables=self.getComparisonIdSubtables($(domElem));self.reloadAjaxDataTable(false,function(resp){self.actionsSubDataTableLoaded(resp,idSubTable);self.repositionRowActions($(domElem));},extraParams);self.param.action=savedActionVariable;self.restoreAllFilters(filtersToRestore);delete self.param.idSubtable;}
else{var isExpanded=$(domElem).hasClass('subDataTable')&&$(domElem).hasClass('expanded');$(domElem).siblings().each(function(){var parents=$(this).prop('parent').split(' ');if(parents){if(parents.indexOf(idSubTable)>=0||parents.indexOf('subDataTable_'+idSubTable)>=0){if(!isExpanded){$(this).css('display','').removeClass('hidden');var NextStyle=$(this).next().attr('class');var CurrentStyle=$(this).attr('class');var currentRowLevel=getLevelFromClass(CurrentStyle);var nextRowLevel=getLevelFromClass(NextStyle);if(currentRowLevel Loading... "),r.img.attr({src:r.icon,title:r.title,alt:r.title,width:r.iconsize[0],height:r.iconsize[1]}),r.img.addClass(r["class"]),r.img.css({position:"absolute","z-index":1e3,cursor:"pointer"}),r.img[0].symbol=r,t.append(r.img),r.update()},r.prototype.update=function(){var t;return t=this,t.img.css({left:t.x+t.offset[0]+"px",top:t.y+t.offset[1]+"px"})},r.prototype.clear=function(){var t;return t=this,t.img.remove(),t},r.prototype.nodes=function(){var t;return t=this,[t.img]},r}(br.Symbol),B.props=["icon","offset","class","title","iconsize"],B.layers=[],br.Icon=B,pr=function(t){function r(t){var e,n,o,i,a;e=this,r.__super__.constructor.call(this,t),e.text=null!=(n=t.text)?n:"",e.style=null!=(o=t.style)?o:"",e["class"]=null!=(i=t["class"])?i:"",e.offset=null!=(a=t.offset)?a:[0,0]}return ae(r,t),r.prototype.render=function(){var t,r;return r=this,r.lbl=t=r.layers.mapcanvas.text(r.x,r.y,r.text),r.update(),r},r.prototype.update=function(){var t;return t=this,t.lbl.attr({x:t.x+t.offset[0],y:t.y+t.offset[1]}),t.lbl.node.setAttribute("style",t.style),t.lbl.node.setAttribute("class",t["class"])},r.prototype.clear=function(){var t;return t=this,t.lbl.remove(),t},r.prototype.nodes=function(){var t;return t=this,[t.lbl.node]},r}(br.Symbol),pr.props=["text","style","class","offset"],pr.layers=[],br.Label=pr,A=function(t){function r(t){var e,n,o,i;e=this,r.__super__.constructor.call(this,t),e.text=null!=(n=t.text)?n:"",e.css=null!=(o=t.css)?o:"",e["class"]=null!=(i=t["class"])?i:""}return ae(r,t),r.prototype.render=function(){var t,r,n;return n=this,t=e("
('+_.nb_visits.replace('%s',data.nb_visits)+')';}
return v;}
function getColorScale(rows,metric,filter,choropleth){var colscale;function addLegendItem(val,first){var d=$(''+country.name+'
'+
formatValueForTooltips(country,metric,target);});}}
if(target==self.lastSelected){updateColorsAndTooltips(metric);return;}
_updateMap(target+'.svg',function(){map.addLayer('countries',{name:'context',filter:function(pd){return UserCountryMap.countriesByIso[pd.iso]===undefined;},tooltips:function(pd){var countryName=pd.name;for(var iso in self.config.countryNames){if(UserCountryMap.ISO2toISO3[iso.toUpperCase()]==pd.iso){countryName=self.config.countryNames[iso];break;}}
return''+countryName+'
'+_.no_visit;}});map.addLayer('countries',{name:'countryBG',filter:function(pd){return UserCountryMap.countriesByIso[pd.iso]!==undefined;}});map.addLayer('countries',{key:'iso',filter:function(pd){return UserCountryMap.countriesByIso[pd.iso]!==undefined;},click:function(data,path,evt){evt.stopPropagation();if(evt.shiftKey||_rowEvolution.labels.length){if(evt.altKey){path.attr('fill',countrySelectedColor);addMultipleRowEvolution('getCountry',UserCountryMap.countriesByIso[data.iso].name);}else{showRowEvolution('getCountry',UserCountryMap.countriesByIso[data.iso].name);updateColorsAndTooltips(metric);}
return;}
var tgt;if(self.lastSelected!='world'||UserCountryMap.countriesByIso[data.iso]===undefined){tgt=data.iso;}else{tgt=UserCountryMap.ISO3toCONT[data.iso];}
hasUserZoomed=true;updateState(tgt);}});updateColorsAndTooltips(metric);});}
function _updateMap(svgUrl,callback){map.loadMap(config.svgBasePath+svgUrl,function(){map.clear();self.resize();callback();$('.ui-tooltip').remove();},{padding:-3});}
function indicateLoading(){$$('.UserCountryMap-black').show();$$('.UserCountryMap-black').css('opacity',0);$$('.UserCountryMap-black').animate({opacity:0.5},400);$$('.UserCountryMap .loadingPiwik').show();}
function loadingComplete(){$$('.UserCountryMap-black').hide();$$('.UserCountryMap .loadingPiwik').hide();}
function quantify(d,metric){if(!metric)metric=$$('.userCountryMapSelectMetrics').val();switch(metric){default:return d[metric];}}
function aggregate(rows,groupBy){var groups={};$.each(rows,function(i,row){var g_id=groupBy?groupBy(row):'X';g_id=g_id===true?$.isNumeric(i)&&i===Number(i)?false:i:g_id;if(g_id){if(!groups[g_id]){groups[g_id]={nb_visits:0,nb_actions:0,sum_visit_length:0,bounce_count:0};}
$.each(groups[g_id],function(metric){groups[g_id][metric]+=row[metric];});}});$.each(groups,function(g_id,group){var apv=group.nb_actions / group.nb_visits,ats=group.sum_visit_length / group.nb_visits,br=group.bounce_count / group.nb_visits;group['nb_actions_per_visit']=apv;group['avg_time_on_site']=new Date(0,0,0,ats / 3600,ats%3600 / 60,ats%60).toLocaleTimeString();group['bounce_rate']=(br%1!==0?br.toFixed(1):br)+"%";});return groupBy?groups:groups.X;}
function displayUnlocatableCount(unlocated,total,regionOrCity){if(0==unlocated){return;}
$('.unlocated-stats').html(_pk_translate('UserCountryMap_Unlocated',[unlocated,'('+formatPercentage(unlocated / total)+')',UserCountryMap.countriesByIso[self.lastSelected].name]));$('.UserCountryMap-info-btn').show();var zoomTitle='';if(regionOrCity=='region'){zoomTitle=' '+_pk_translate('UserCountryMap_WithUnknownRegion',[unlocated]);}else if(regionOrCity=='city'){zoomTitle=' '+_pk_translate('UserCountryMap_WithUnknownCity',[unlocated]);}
if(unlocated&&zoomTitle){if($('.map-stats .unlocatableCount').length){$('.map-stats .unlocatableCount').html(zoomTitle);}else{$('.map-stats').append(''+zoomTitle+'');}}}
function renderCountryMap(iso){var countryMap={zoomed:false,lastRequest:false,lastResponse:false};function updateRegionColors(){indicateLoading();ajax(_reportParams('UserCountry','getRegion',UserCountryMap.countriesByIso[iso].iso2)).done(function(data){convertBounceRatesToPercents(data);loadingComplete();var regionDict={},totalCountryVisits=UserCountryMap.countriesByIso[iso].nb_visits,unlocated=totalCountryVisits;function regionCode(region){var key=UserCountryMap.keys[iso]||'fips';return key.slice(0,4)=="fips"?(region[key]||"").slice(2):region[key];}
function regionExistsInMap(code){var key=UserCountryMap.keys[iso]||'fips',q={};q[key]=key.slice(0,4)=='fips'?UserCountryMap.countriesByIso[iso].fips+code:code;if(map.getLayer('regions').getPaths(q).length===0){return false;}
return true;}
$.each(data.reportData,function(i,row){var region=data.reportMetadata[i].region;if(!regionExistsInMap(region)){var q={'p':region};if(map.getLayer('regions').getPaths(q).length){region=map.getLayer('regions').getPaths(q)[0].data.fips.slice(2);}}
regionDict[region]=$.extend(row,data.reportMetadata[i],{curMetric:quantify(row,metric)});});var metric=$$('.userCountryMapSelectMetrics').val();if(UserCountryMap.aggregate[iso]){var aggregated=aggregate(regionDict,function(row){var id=row.region,res=false;$.each(UserCountryMap.aggregate[iso].groups,function(group,codes){if($.inArray(id,codes)>-1){res=group;}});return res;});$.each(aggregated,function(id,group){group.curMetric=quantify(group,metric);regionDict[id]=group;});}
$.each(regionDict,function(key,region){if(regionExistsInMap(key))unlocated-=region.nb_visits;});displayUnlocatableCount(unlocated,totalCountryVisits,'region');colscale=getColorScale(regionDict,'curMetric',null,true);function regionFill(data){var code=regionCode(data);return regionDict[code]===undefined?unknownRegionFillColor:colscale(regionDict[code].curMetric);}
map.getLayer('regions').style('fill',regionFill).style('stroke',function(data){return regionDict[regionCode(data)]===undefined?unknownRegionStrokeColor:regionStrokeColor;}).sort(function(data){var code=regionCode(data);return regionDict[code]===undefined?-1:regionDict[code].curMetric;}).tooltips(function(data){var metric=$$('.userCountryMapSelectMetrics').val(),region=regionDict[regionCode(data)];if(region===undefined){return''+data.name+'
'+data.name+'
'+
formatValueForTooltips(region,metric,iso);}).on('click',function(d,path,evt){var region=regionDict[regionCode(d)];if(region&®ion.label){if(evt.shiftKey){path.attr('fill',regionSelectedColor);addMultipleRowEvolution('getRegion',region.label);}else{map.getLayer('regions').style('fill',regionFill);showRowEvolution('getRegion',region.label);}}}).on('mouseenter',function(d,path,evt){var region=regionDict[regionCode(d)];if(region&®ion.label){if(evt.shiftKey){path.attr('fill',regionHighlightColor);}}}).on('mouseleave',function(d,path,evt){var region=regionDict[regionCode(d)];if(region&®ion.label){if($.inArray(region.label,_rowEvolution.labels)==-1){path.attr('fill',regionFill(d));}}}).style('cursor',function(d){return regionDict[regionCode(d)]&®ionDict[regionCode(d)].label?'pointer':'default';});$.each(regionDict,function(code,region){if(!regionExistsInMap(code)){console.warn('possible region mismatch!',code,region.nb_visits);}});});}
function updateCitySymbols(){var layerName=self.mode!="region"?"regions2":"regions";if(map.getLayer(layerName))map.getLayer(layerName).style('fill',invisibleRegionBackgroundColor);indicateLoading();ajax(_reportParams('UserCountry','getCity',UserCountryMap.countriesByIso[iso].iso2)).done(function(data){convertBounceRatesToPercents(data);loadingComplete();var metric=$$('.userCountryMapSelectMetrics').val(),colscale,totalCountryVisits=UserCountryMap.countriesByIso[iso].nb_visits,unlocated=totalCountryVisits,cities=[];$.each(data.reportData,function(i,row){unlocated-=row.nb_visits;cities.push($.extend(row,data.reportMetadata[i],{curMetric:quantify(row,metric)}));});displayUnlocatableCount(unlocated,totalCountryVisits,'city');cities.sort(function(a,b){return b.curMetric-a.curMetric;});colscale=getColorScale(cities,metric);var radscale=$K.scale.linear(cities.concat({curMetric:0}),'curMetric');var area=map.container.width()*map.container.height(),sumArea=0,f={nb_visits:0.002,nb_uniq_visitors:0.002,nb_actions:0.002,avg_time_on_site:0.02,nb_actions_per_visit:0.02,bounce_rate:0.02},maxRad;$.each(cities,function(i,city){sumArea+=isNaN(city.curMetric)?0:Math.pow(radscale(city.curMetric),2);});maxRad=Math.sqrt(area*f[metric]/ sumArea);radscale=$K.scale.sqrt(cities.concat({curMetric:0}),'curMetric').range([2,maxRad+2]);var citySymbols=map.addSymbols({type:$K.LabeledBubble,data:cities,clustering:'noverlap',clusteringOpts:{size:128,tolerance:0},title:function(d){var v=d.curMetric;if(isNaN(v)){return'';}
if(metric==='bounce_rate'){v=Number((''+v).replace('%',''));}else if(metric==='avg_time_on_site'){v=Number(v);}
if(isNaN(v)){return'';}
if(radscale(v)>10){return formatNumber(d.curMetric,metric);}
return'';},labelattrs:{fill:cityLabelColor,'font-size':11,stroke:false,cursor:'pointer'},filter:function(d){if(isNaN(d.lat)||isNaN(d.long))return false;return!!d.curMetric&&d.curMetric!=='0';},aggregate:function(rows){var row=aggregate(rows);row.city_names=[];row.label=rows[0].label;$.each(rows,function(i,r){row.city_names=row.city_names.concat(r.city_names?r.city_names:[r.city_name]);});row.city_name=row.city_names[0]+(row.city_names.length>1?' '+_.and_n_others.replace('%s',(row.city_names.length-1)):'');row.curMetric=quantify(row,metric);return row;},sortBy:'radius desc',location:function(city){return[city.long,city.lat];},radius:function(city){var scale=radscale(city.curMetric);if(isNaN(scale)){return 0.01;}
return scale;},tooltip:function(city){return''+city.city_name+'
'+
formatValueForTooltips(city,metric,iso);},attrs:function(city){var color=colscale(city.curMetric);if(color&&color.hex){color=color.hex();}
return{fill:color,'fill-opacity':0.7,stroke:cityStrokeColor,cursor:'pointer'};},mouseenter:function(city,symbol,evt){symbol.path.attr({'fill-opacity':1,'stroke':cityHighlightStrokeColor,'stroke-opacity':1,'stroke-width':2});if(evt.shiftKey){symbol.path.attr({fill:cityHighlightFillColor});if(symbol.label)symbol.label.attr({fill:cityHighlightLabelColor});}},mouseleave:function(city,symbol){symbol.path.attr({'fill-opacity':0.7,'stroke-opacity':1,'stroke-width':1,'stroke':cityLabelColor});if($.inArray(city.label,_rowEvolution.labels)==-1){symbol.path.attr({fill:colscale(city.curMetric)});if(symbol.label)symbol.label.attr({fill:cityLabelFillColor});}},click:function(city,symbol,evt){if(evt.shiftKey){addMultipleRowEvolution('getCity',city.label);symbol.path.attr('fill',citySelectedColor);if(symbol.label)symbol.label.attr('fill',citySelectedLabelColor);}else{showRowEvolution('getCity',city.label);citySymbols.update({attrs:function(city){return{fill:colscale(city.curMetric)};}});}}});});}
_updateMap(iso+'.svg',function(){map.addLayer('context',{key:'iso',filter:function(pd){return UserCountryMap.countriesByIso[pd.iso]===undefined;}});map.addLayer('context',{key:'iso',name:'context-clickable',filter:function(pd){return UserCountryMap.countriesByIso[pd.iso]!==undefined;},click:function(path,p,evt){evt.stopPropagation();hasUserZoomed=true;updateState(path.iso);},tooltips:function(data){if(UserCountryMap.countriesByIso[data.iso]===undefined){return'no data';}
var metric=$$('.userCountryMapSelectMetrics').val(),country=UserCountryMap.countriesByIso[data.iso];return''+country.name+'
'+
formatValueForTooltips(country,metric,'world');}});function isThisCountry(d){return d.iso==iso;}
map.addLayer("context",{name:"regionBG",filter:isThisCountry});map.addLayer("context",{name:"regionBG-fill",filter:isThisCountry});map.addLayer('regions',{key:'fips',name:self.mode!="region"?"regions2":"regions",styles:{stroke:regionLayerStrokeColor},click:function(d,p,evt){evt.stopPropagation();}});function filtCountryLabels(data){return data.iso!=iso&&map.getLayer('context-clickable')&&map.getLayer('context-clickable').getPath(data.iso)&&Math.abs(map.getLayer('context-clickable').getPath(data.iso).path.area())>700;}
function countryLabelPos(data){var CLP=UserCountryMap.customLabelPositions;if(CLP[iso]&&CLP[iso][data.iso])return CLP[iso][data.iso];return'context-clickable.'+data.iso;}
map.addSymbols({data:map.getLayer('context-clickable').getPathsData(),type:$K.Label,filter:filtCountryLabels,location:countryLabelPos,text:function(data){return UserCountryMap.countriesByIso[data.iso].iso2;},'class':'countryLabelBg'});map.addSymbols({data:map.getLayer('context-clickable').getPathsData(),type:$K.Label,filter:filtCountryLabels,location:countryLabelPos,text:function(data){return UserCountryMap.countriesByIso[data.iso].iso2;},'class':'countryLabel'});if(!UserCountryMap.countriesByIso[iso])return;if(self.mode=="region"){updateRegionColors();}else{updateCitySymbols();}});}
var _rowEvolution={labels:[],method:false};function addMultipleRowEvolution(method,label){if(method!=_rowEvolution.method){_rowEvolution={method:method,labels:[]};}
_rowEvolution.labels.push(label);}
function showRowEvolution(method,label,column){var box=Piwik_Popover.showLoading('Row Evolution'),multiple,oldLabels=_rowEvolution.labels.slice();multiple=method==_rowEvolution.method&&_rowEvolution.labels.length>0;if(multiple){_rowEvolution.labels.push(label);$.each(_rowEvolution.labels,function(i,l){_rowEvolution.labels[i]=l.replace(/, /g,'%2C%20');});}
var requestParams=$.extend({},{apiMethod:'UserCountry.'+method,label:multiple?_rowEvolution.labels.join(','):label.replace(/, /g,'%2C%20'),disableLink:1,module:'CoreHome',idSite:config.reqParams.idSite,period:config.reqParams.period,date:config.reqParams.date,action:multiple?'getMultiRowEvolutionPopover':'getRowEvolutionPopover',token_auth:config.reqParams.token_auth});if(column){requestParams.column=column;}
ajax(requestParams,'html').done(function(html){Piwik_Popover.setContent(html);var title=box.find('div.popover-title');if(title.length){Piwik_Popover.setTitle(title.html());title.remove();}
box.find('.compare-container').hide();box.find('.rowevolution-startmulti').hide();box.find('.multirowevoltion-metric').off('change').change(function(e){_rowEvolution.labels=oldLabels;showRowEvolution(method,label,box.find('.multirowevoltion-metric').val());});});_rowEvolution.labels=[];}
ajax(_reportParams('UserCountry','getCountry')).done(function(report){convertBounceRatesToPercents(report);var metrics=$$('.userCountryMapSelectMetrics option');var countryData=[],countrySelect=$$('.userCountryMapSelectCountry'),countriesByIso={};UserCountryMap.lastReportMetricStats={};$.each(report.reportData,function(i,data){var meta=report.reportMetadata[i],country={name:data.label,iso2:meta.code.toUpperCase(),fips:meta.code.toUpperCase(),iso:UserCountryMap.ISO2toISO3[meta.code.toUpperCase()],flag:meta.logo};if(UserCountryMap.differentFIPS[country.iso2]){country.fips=UserCountryMap.differentFIPS[country.iso2];}
$.each(metrics,function(i,metric){metric=$(metric).val();country[metric]=data[metric];});countryData.push(country);countriesByIso[country.iso]=country;});countryData.sort(function(a,b){return a.name>b.name?1:-1;});UserCountryMap.countryData=countryData;UserCountryMap.countriesByIso=countriesByIso;function postCSSLoad(){$$('.UserCountryMap .loadingPiwik').hide();var params=self.widget.dashboardWidget('getWidgetObject').parameters;self.mode=params&¶ms.viewMode?params.viewMode:'region';if(params&¶ms.lastMetric)$$('.userCountryMapSelectMetrics').val(params.lastMetric);var isoCodes=[];$.each(countryData,function(i,country){if(!!country.iso){isoCodes.push(country.iso);countrySelect.append('');}});if(!hasUserZoomed&&isoCodes.length===1&&isoCodes[0]&&isoCodes[0]!=='UNK'){updateState(isoCodes[0]);}else{updateState(params&¶ms.lastMap?params.lastMap:'world');}
initUserInterface();}
if(!$("link[href='"+config.mapCssPath+"']").length){map.loadCSS(config.mapCssPath,postCSSLoad);}else{postCSSLoad();}});function hideOverlay(e){var overlay=$('.content',$(e.target).parents('.UserCountryMap-overlay'));if(overlay.data('locked'))return;overlay.data('locked',true);overlay.fadeOut(200);$$('.UserCountryMap').mouseleave(function(){overlay.fadeIn(200);$$('.UserCountryMap').parent().off('mouseleave');setTimeout(function(){overlay.data('locked',false);},1000);});var offset=$$('.UserCountryMap').offset(),dim={x:overlay.offset().left-offset.left,y:overlay.offset().top-offset.top,w:overlay.width(),h:overlay.height()};$$('.UserCountryMap').mousemove(function(e){var mx=e.pageX-offset.left,my=e.pageY-offset.top,pad=20,outside=mx ';};return'
'+(r.city?$('').text(r.city).html()+' / ':'')+$('').text(r.country).html()+'
'+
ico(r.countryFlag)+ico(r.browserIcon)+ico(r.operatingSystemIcon)+'
'+
$('').text(r.deviceType).html()+' ('+$('').text(r.deviceModel).html()+')
'+
(r.userId?_pk_translate('General_UserId')+': '+$('').text(r.userId).html()+'
':'')+
(ad&&ad.length&&ad[ad.length-1].pageTitle?''+$('').text(ad[ad.length-1].pageTitle).html()+'
':'')+'
'+''+_.local_time+': '+r.visitLocalTime+'
'+
(self.config.siteHasGoals&&r.goalConversions?''+_.goal_conversions.replace('%s',''+r.goalConversions+'')+
(r.searches>0?', '+_.searches.replace('%s',r.searches):'')+'
':'')+''+_.actions.replace('%s',''+r.actions+'')+
(r.searches>0?', '+_.searches.replace('%s',''+r.searches+''):'')+'';}
function visitRadius(r){return Math.pow(age(r),4)*(self.maxRad-self.minRad)+self.minRad;}
function visitColor(r){var col,engaged=self.config.siteHasGoals?r.goalConversions>0:r.actions>4;if(colorMode=='referrerType'){col=({website:referrerColorWebsite,direct:referrerColorDirect,search:referrerColorSearch})[r.referrerType];}
else col=chroma.hsl(42*age(r),Math.sqrt(age(r)),(engaged?0.65:0.5)-(1-age(r))*0.45);return col;}
function visitSymbolAttrs(r){var result={fill:visitColor(r).hex(),stroke:visitStrokeColor,'stroke-width':1*age(r),r:visitRadius(r),cursor:'pointer'};if(changeVisitAlpha){result['fill-opacity']=Math.pow(age(r),2)*0.8+0.2;result['stroke-opacity']=Math.pow(age(r),1.7)*0.8+0.2;}
return result;}
function highlightVisit(r){$('#visitsLive').find('li#'+r.idVisit+' .datetime').css('background',liveWidgetHighlightColor);}
function unhighlightVisit(r){$('#visitsLive').find('li#'+r.idVisit+' .datetime').css({background:liveWidgetUnhighlightColor});}
function animateSymbol(s){var c=map.paper.circle().attr(s.path.attrs);c.insertBefore(s.path);c.attr({fill:false});c.animate({r:c.attrs.r*3,'stroke-width':7,opacity:0},2500,'linear',function(){c.remove();});var col=s.path.attrs.fill,rad=s.path.attrs.r;s.path.show();s.path.attr({fill:symbolAnimateFill,r:0.1,opacity:1});s.path.animate({fill:col,r:rad},700,'bounce');}
this.$element.on('mapClick',function(e,visit,mapPath){var VisitorProfileControl=require('piwik/UI').VisitorProfileControl;if(visit&&piwik.visitorProfileEnabled&&VisitorProfileControl&&!self.$element.closest('.visitor-profile').length){VisitorProfileControl.showPopover(visit.visitorId);}else{var cont=UserCountryMap.cont2cont[mapPath.data.continentCode];if(cont&&cont!=currentMap){updateMap(cont);}}});function refreshVisits(firstRun){if(lastTimestamp!=-1&&doNotRefreshVisits&&!firstRun){return;}
function gotNewReport(report){if(!self.map||!self.$element.length||!$.contains(document,self.$element[0])){return;}
nextReqTimer=setTimeout(refreshVisits,config.liveRefreshAfterMs);$('.realTimeMap_overlay img').hide();$('.realTimeMap_overlay .loading_data').hide();now=forceNowValue||(new Date().getTime()/ 1000);if(firstRun){visitSymbols=map.addSymbols({data:[],type:$K.Bubble,sortBy:function(r){return r.lastActionTimestamp;},radius:visitRadius,location:function(r){return[r.longitude,r.latitude];},attrs:visitSymbolAttrs,tooltip:visitTooltip,mouseenter:highlightVisit,mouseleave:unhighlightVisit,click:function(visit,mapPath,evt){evt.stopPropagation();self.$element.trigger('mapClick',[visit,mapPath]);}});lastVisits=[];}
if(report.length){report=$.grep(report,function(r){return r.latitude!==null;});if(firstRun){$('#realTimeMapNoVisitsInfo').toggle(!report.length);}}
if(!report.length){if(firstRun){$('.realTimeMap_overlay .showing_visits_of').hide();$('.realTimeMap_overlay .no_data').show();}
return;}else{$('.realTimeMap_overlay .showing_visits_of').show();$('.realTimeMap_overlay .no_data').hide();if(yesterday===false){yesterday=report[0].lastActionTimestamp-24*60*60;}
lastVisits=[].concat(report).concat(lastVisits).slice(0,maxVisits);oldest=Math.max(lastVisits[lastVisits.length-1].lastActionTimestamp,yesterday);var _removed=0;if(removeOldVisits){visitSymbols.remove(function(r){if(r.lastActionTimestamp