Google Analytics Dashboard for WP (GADWP) - Version 7.5.1

Version Description

Download this release

Release Info

Developer manejaam
Plugin Icon 128x128 Google Analytics Dashboard for WP (GADWP)
Version 7.5.1
Comparing to
See all releases

Code changes from version 7.5.0 to 7.5.1

assets/css/admin-metabox.css CHANGED
@@ -47,3 +47,109 @@
47
  text-decoration: underline;
48
  display: block;
49
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  text-decoration: underline;
48
  display: block;
49
  }
50
+ /*
51
+ ***************************
52
+ ** Page Insights in Meta **
53
+ ***************************
54
+ */
55
+
56
+ #exactmetrics-metabox-page-insights{
57
+ margin-top: 24px;
58
+ }
59
+ #exactmetrics_hide_page_insights{
60
+ margin-top: 8px;
61
+ }
62
+ #exactmetrics-page-insights-content{
63
+ display: none;
64
+ }
65
+ #exactmetrics-page-insights-content.active{
66
+ display: block;
67
+ }
68
+ .exactmetrics-page-insights__tabs{
69
+ display: grid;
70
+ grid-template-columns: 1fr 1fr;
71
+ }
72
+ .exactmetrics-page-insights__tabs-tab{
73
+ padding: 4px;
74
+ color: var(--wp-admin-theme-color);
75
+ font-style: normal;
76
+ font-weight: 400;
77
+ font-size: 13px;
78
+ line-height: 16px;
79
+ border-left: 1px solid transparent;
80
+ border-right: 1px solid transparent;
81
+ border-top: 1px solid transparent;
82
+ border-bottom: 1px solid #C4C4C4;
83
+ text-decoration: none;
84
+ text-align: center;
85
+ transition: 0.3s all ease-in-out;
86
+ }
87
+ .exactmetrics-page-insights__tabs-tab.active,
88
+ .exactmetrics-page-insights__tabs-tab:focus{
89
+ color: #2C3338;
90
+ border-left: 1px solid #C4C4C4;
91
+ border-right: 1px solid #C4C4C4;
92
+ border-top: 1px solid #C4C4C4;
93
+ border-bottom: 1px solid transparent;
94
+ }
95
+ .exactmetrics-page-insights__tabs-tab:focus{
96
+ outline: none;
97
+ -webkit-box-shadow: none;
98
+ box-shadow: none;
99
+ }
100
+ .exactmetrics-page-insights-tabs-content{
101
+ border-left: 1px solid #C4C4C4;
102
+ border-right: 1px solid #C4C4C4;
103
+ border-bottom: 1px solid #C4C4C4;
104
+ }
105
+ .exactmetrics-page-insights-tabs-content__tab{
106
+ display: none;
107
+ transition: 0.3s all ease-in-out;
108
+ }
109
+ .exactmetrics-page-insights-tabs-content__tab.active{
110
+ display: block;
111
+ }
112
+ .exactmetrics-page-insights-tabs-content__tab-items{
113
+ display: grid;
114
+ grid-template-columns: 1fr 1fr;
115
+ padding: 15px;
116
+ }
117
+ .exactmetrics-page-insights-tabs-content__tab-item{
118
+ padding: 16px;
119
+ }
120
+ .exactmetrics-page-insights-tabs-content__tab-item__result{
121
+ font-style: normal;
122
+ font-weight: 500;
123
+ font-size: 20px;
124
+ line-height: 24px;
125
+ color: #3C434A;
126
+ position: relative;
127
+ }
128
+ .lite .exactmetrics-page-insights-tabs-content__tab-item__result span{
129
+ filter: blur(3px);
130
+ }
131
+ .lite .exactmetrics-page-insights-tabs-content__tab-item__result:after{
132
+ content: '';
133
+ width: 10px;
134
+ height: 14px;
135
+ background: url("../images/restricted.svg") no-repeat center center;
136
+ position: absolute;
137
+ left: calc(40% - 5px);
138
+ top: calc(50% - 7px);
139
+ }
140
+ .exactmetrics-page-insights-tabs-content__tab-item__title{
141
+ font-style: normal;
142
+ font-weight: 400;
143
+ font-size: 12px;
144
+ line-height: 14px;
145
+ color: #7D7D7D;
146
+ margin-top: 4px;
147
+ }
148
+ .exactmetrics-insights-draft{
149
+ font-size: 12px;
150
+ font-style: normal;
151
+ padding: 16px;
152
+ border: 1px solid #C4C4C4;
153
+ margin-top: 8px;
154
+ color: rgb(117, 117, 117);
155
+ }
assets/css/admin-metabox.min.css CHANGED
@@ -1 +1 @@
1
- .exactmetrics-metabox-input-checkbox{margin-top:15px}.exactmetrics-metabox-input-checkbox input[disabled]{cursor:not-allowed}.exactmetrics-metabox-helper{font-size:12px;line-height:120%;color:#7D7D7D;margin-top:16.5px}.exactmetrics-metabox-pro-badge{margin-top:15px;padding:15px;background:#EAFAEE;border:1px solid #46BF40;display:flex;position:relative;line-height:100%}.exactmetrics-metabox-pro-badge span{color:#31862D;font-weight:bold;font-size:13px;line-height:100%;letter-spacing:-0.02em;padding-left:20px}.exactmetrics-metabox-pro-badge span svg{position:absolute;left:15px}.exactmetrics-metabox-pro-badge .exactmetrics-metabox-pro-badge-upgrade{text-align:right;flex:1}.exactmetrics-metabox-pro-badge .exactmetrics-metabox-pro-badge-upgrade a{font-size:13px;color:#31862D;text-decoration:underline;display:block}
1
+ .exactmetrics-metabox-input-checkbox{margin-top:15px}.exactmetrics-metabox-input-checkbox input[disabled]{cursor:not-allowed}.exactmetrics-metabox-helper{font-size:12px;line-height:120%;color:#7D7D7D;margin-top:16.5px}.exactmetrics-metabox-pro-badge{margin-top:15px;padding:15px;background:#EAFAEE;border:1px solid #46BF40;display:flex;position:relative;line-height:100%}.exactmetrics-metabox-pro-badge span{color:#31862D;font-weight:bold;font-size:13px;line-height:100%;letter-spacing:-0.02em;padding-left:20px}.exactmetrics-metabox-pro-badge span svg{position:absolute;left:15px}.exactmetrics-metabox-pro-badge .exactmetrics-metabox-pro-badge-upgrade{text-align:right;flex:1}.exactmetrics-metabox-pro-badge .exactmetrics-metabox-pro-badge-upgrade a{font-size:13px;color:#31862D;text-decoration:underline;display:block}#exactmetrics-metabox-page-insights{margin-top:24px}#exactmetrics_hide_page_insights{margin-top:8px}#exactmetrics-page-insights-content{display:none}#exactmetrics-page-insights-content.active{display:block}.exactmetrics-page-insights__tabs{display:grid;grid-template-columns:1fr 1fr}.exactmetrics-page-insights__tabs-tab{padding:4px;font-style:normal;font-weight:400;font-size:13px;line-height:16px;border-left:1px solid transparent;border-right:1px solid transparent;border-top:1px solid transparent;border-bottom:1px solid #C4C4C4;text-decoration:none;text-align:center;transition:0.3s all ease-in-out}.exactmetrics-page-insights__tabs-tab.active,.exactmetrics-page-insights__tabs-tab:focus{color:#2C3338;border-left:1px solid #C4C4C4;border-right:1px solid #C4C4C4;border-top:1px solid #C4C4C4;border-bottom:1px solid transparent}.exactmetrics-page-insights__tabs-tab:focus{outline:none;-webkit-box-shadow:none;box-shadow:none}.exactmetrics-page-insights-tabs-content{border-left:1px solid #C4C4C4;border-right:1px solid #C4C4C4;border-bottom:1px solid #C4C4C4}.exactmetrics-page-insights-tabs-content__tab{display:none;transition:0.3s all ease-in-out}.exactmetrics-page-insights-tabs-content__tab.active{display:block}.exactmetrics-page-insights-tabs-content__tab-items{display:grid;grid-template-columns:1fr 1fr;padding:15px}.exactmetrics-page-insights-tabs-content__tab-item{padding:16px}.exactmetrics-page-insights-tabs-content__tab-item__result{font-style:normal;font-weight:500;font-size:20px;line-height:24px;color:#3C434A;position:relative}.lite .exactmetrics-page-insights-tabs-content__tab-item__result span{filter:blur(3px)}.lite .exactmetrics-page-insights-tabs-content__tab-item__result:after{content:'';width:10px;height:14px;background:url("../images/restricted.svg") no-repeat center center;position:absolute;left:calc(40% - 5px);top:calc(50% - 7px)}.exactmetrics-page-insights-tabs-content__tab-item__title{font-style:normal;font-weight:400;font-size:12px;line-height:14px;color:#7D7D7D;margin-top:4px}.exactmetrics-insights-draft{font-size:12px;font-style:normal;padding:16px;border:1px solid #C4C4C4;margin-top:8px;color:rgb(117, 117, 117)}
assets/gutenberg/js/editor.min.js CHANGED
@@ -1,6 +1,6 @@
1
- !function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=80)}([function(e,t){var n=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";function r(e){return"[object Array]"===x.call(e)}function i(e){return void 0===e}function o(e){return null!==e&&!i(e)&&null!==e.constructor&&!i(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function a(e){return"[object ArrayBuffer]"===x.call(e)}function l(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function u(e){return"number"==typeof e}function d(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===x.call(e)}function h(e){return"[object File]"===x.call(e)}function m(e){return"[object Blob]"===x.call(e)}function f(e){return"[object Function]"===x.call(e)}function g(e){return d(e)&&f(e.pipe)}function w(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function v(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function y(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function b(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}function S(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=S(t[n],e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)b(arguments[n],e);return t}function E(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=E(t[n],e):t[n]="object"==typeof e?E({},e):e}for(var t={},n=0,r=arguments.length;n<r;n++)b(arguments[n],e);return t}function C(e,t,n){return b(t,function(t,r){e[r]=n&&"function"==typeof t?_(t,n):t}),e}var _=n(57),x=Object.prototype.toString;e.exports={isArray:r,isArrayBuffer:a,isBuffer:o,isFormData:l,isArrayBufferView:s,isString:c,isNumber:u,isObject:d,isUndefined:i,isDate:p,isFile:h,isBlob:m,isFunction:f,isStream:g,isURLSearchParams:w,isStandardBrowserEnv:y,forEach:b,merge:S,deepMerge:E,extend:C,trim:v}},function(e,t,n){var r=n(35)("wks"),i=n(22),o=n(5).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){var r,i;/*!
2
  Copyright (c) 2018 Jed Watson.
3
  Licensed under the MIT License (MIT), see
4
  http://jedwatson.github.io/classnames
5
  */
6
- !function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)){if(r.length){var a=n.apply(null,r);a&&e.push(a)}}else if("object"===i)if(r.toString===Object.prototype.toString)for(var l in r)o.call(r,l)&&r[l]&&e.push(l);else e.push(r.toString())}}return e.join(" ")}var o={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(i=function(){return n}.apply(t,r))&&(e.exports=i))}()},function(e,t,n){var r=n(5),i=n(0),o=n(30),a=n(10),l=n(9),s=function(e,t,n){var c,u,d,p=e&s.F,h=e&s.G,m=e&s.S,f=e&s.P,g=e&s.B,w=e&s.W,v=h?i:i[t]||(i[t]={}),y=v.prototype,b=h?r:m?r[t]:(r[t]||{}).prototype;h&&(n=t);for(c in n)(u=!p&&b&&void 0!==b[c])&&l(v,c)||(d=u?b[c]:n[c],v[c]=h&&"function"!=typeof b[c]?n[c]:g&&u?o(d,r):w&&b[c]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(d):f&&"function"==typeof d?o(Function.call,d):d,f&&((v.virtual||(v.virtual={}))[c]=d,e&s.R&&y&&!y[c]&&a(y,c,d)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(8),i=n(47),o=n(31),a=Object.defineProperty;t.f=n(7)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(6),i=n(15);e.exports=n(7)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports={}},function(e,t,n){var r=n(51),i=n(29);e.exports=function(e){return r(i(e))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(29);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r={};r.headline=wp.element.createElement("svg",{width:"15",height:"14",viewBox:"0 0 15 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M13.5 2V12H14.5C14.6458 12 14.7604 12.0521 14.8438 12.1562C14.9479 12.2396 15 12.3542 15 12.5V13.5C15 13.6458 14.9479 13.7604 14.8438 13.8438C14.7604 13.9479 14.6458 14 14.5 14H9.5C9.35417 14 9.22917 13.9479 9.125 13.8438C9.04167 13.7604 9 13.6458 9 13.5V12.5C9 12.3542 9.04167 12.2396 9.125 12.1562C9.22917 12.0521 9.35417 12 9.5 12H10.5V8H4.5V12H5.5C5.64583 12 5.76042 12.0521 5.84375 12.1562C5.94792 12.2396 6 12.3542 6 12.5V13.5C6 13.6458 5.94792 13.7604 5.84375 13.8438C5.76042 13.9479 5.64583 14 5.5 14H0.5C0.354167 14 0.229167 13.9479 0.125 13.8438C0.0416667 13.7604 0 13.6458 0 13.5V12.5C0 12.3542 0.0416667 12.2396 0.125 12.1562C0.229167 12.0521 0.354167 12 0.5 12H1.5V2H0.5C0.354167 2 0.229167 1.95833 0.125 1.875C0.0416667 1.77083 0 1.64583 0 1.5V0.5C0 0.354167 0.0416667 0.239583 0.125 0.15625C0.229167 0.0520833 0.354167 0 0.5 0H5.5C5.64583 0 5.76042 0.0520833 5.84375 0.15625C5.94792 0.239583 6 0.354167 6 0.5V1.5C6 1.64583 5.94792 1.77083 5.84375 1.875C5.76042 1.95833 5.64583 2 5.5 2H4.5V6H10.5V2H9.5C9.35417 2 9.22917 1.95833 9.125 1.875C9.04167 1.77083 9 1.64583 9 1.5V0.5C9 0.354167 9.04167 0.239583 9.125 0.15625C9.22917 0.0520833 9.35417 0 9.5 0H14.5C14.6458 0 14.7604 0.0520833 14.8438 0.15625C14.9479 0.239583 15 0.354167 15 0.5V1.5C15 1.64583 14.9479 1.77083 14.8438 1.875C14.7604 1.95833 14.6458 2 14.5 2H13.5Z",fill:"white"})),r.headlineBlack=wp.element.createElement("svg",{width:"15",height:"14",viewBox:"0 0 15 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M13.5 2V12H14.5C14.6458 12 14.7604 12.0521 14.8438 12.1562C14.9479 12.2396 15 12.3542 15 12.5V13.5C15 13.6458 14.9479 13.7604 14.8438 13.8438C14.7604 13.9479 14.6458 14 14.5 14H9.5C9.35417 14 9.22917 13.9479 9.125 13.8438C9.04167 13.7604 9 13.6458 9 13.5V12.5C9 12.3542 9.04167 12.2396 9.125 12.1562C9.22917 12.0521 9.35417 12 9.5 12H10.5V8H4.5V12H5.5C5.64583 12 5.76042 12.0521 5.84375 12.1562C5.94792 12.2396 6 12.3542 6 12.5V13.5C6 13.6458 5.94792 13.7604 5.84375 13.8438C5.76042 13.9479 5.64583 14 5.5 14H0.5C0.354167 14 0.229167 13.9479 0.125 13.8438C0.0416667 13.7604 0 13.6458 0 13.5V12.5C0 12.3542 0.0416667 12.2396 0.125 12.1562C0.229167 12.0521 0.354167 12 0.5 12H1.5V2H0.5C0.354167 2 0.229167 1.95833 0.125 1.875C0.0416667 1.77083 0 1.64583 0 1.5V0.5C0 0.354167 0.0416667 0.239583 0.125 0.15625C0.229167 0.0520833 0.354167 0 0.5 0H5.5C5.64583 0 5.76042 0.0520833 5.84375 0.15625C5.94792 0.239583 6 0.354167 6 0.5V1.5C6 1.64583 5.94792 1.77083 5.84375 1.875C5.76042 1.95833 5.64583 2 5.5 2H4.5V6H10.5V2H9.5C9.35417 2 9.22917 1.95833 9.125 1.875C9.04167 1.77083 9 1.64583 9 1.5V0.5C9 0.354167 9.04167 0.239583 9.125 0.15625C9.22917 0.0520833 9.35417 0 9.5 0H14.5C14.6458 0 14.7604 0.0520833 14.8438 0.15625C14.9479 0.239583 15 0.354167 15 0.5V1.5C15 1.64583 14.9479 1.77083 14.8438 1.875C14.7604 1.95833 14.6458 2 14.5 2H13.5Z",fill:"#000"})),r.warning=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M16 8C16 6.58065 15.6129 5.22581 14.9032 4C14.1935 2.77419 13.2258 1.80645 12 1.09677C10.7742 0.387097 9.41936 0 8 0C6.54839 0 5.22581 0.387097 4 1.09677C2.77419 1.80645 1.77419 2.77419 1.06452 4C0.354839 5.22581 0 6.58065 0 8C0 9.45161 0.354839 10.7742 1.06452 12C1.77419 13.2258 2.77419 14.2258 4 14.9355C5.22581 15.6452 6.54839 16 8 16C9.41936 16 10.7742 15.6452 12 14.9355C13.2258 14.2258 14.1935 13.2258 14.9032 12C15.6129 10.7742 16 9.45161 16 8ZM8 9.6129C8.3871 9.6129 8.74194 9.77419 9.03226 10.0645C9.32258 10.3548 9.48387 10.7097 9.48387 11.0968C9.48387 11.5161 9.32258 11.871 9.03226 12.1613C8.74194 12.4516 8.3871 12.5806 8 12.5806C7.58065 12.5806 7.22581 12.4516 6.93548 12.1613C6.64516 11.871 6.51613 11.5161 6.51613 11.0968C6.51613 10.7097 6.64516 10.3548 6.93548 10.0645C7.22581 9.77419 7.58065 9.6129 8 9.6129ZM6.58065 4.29032C6.58065 4.16129 6.6129 4.06452 6.67742 4C6.74194 3.93548 6.83871 3.87097 6.96774 3.87097H9.03226C9.12903 3.87097 9.22581 3.93548 9.29032 4C9.35484 4.06452 9.41936 4.16129 9.41936 4.29032L9.16129 8.67742C9.16129 8.77419 9.09677 8.87097 9.03226 8.93548C8.96774 9 8.87097 9.03226 8.77419 9.03226H7.22581C7.09677 9.03226 7 9 6.93548 8.93548C6.87097 8.87097 6.83871 8.77419 6.83871 8.67742L6.58065 4.29032Z",fill:"#F2994A"})),r.smile=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM11.2903 5.74194C11.0968 5.52688 10.8602 5.41935 10.5806 5.41935C10.3011 5.41935 10.0538 5.52688 9.83871 5.74194C9.64516 5.93548 9.54839 6.17204 9.54839 6.45161C9.54839 6.73118 9.64516 6.97849 9.83871 7.19355C10.0538 7.3871 10.3011 7.48387 10.5806 7.48387C10.8602 7.48387 11.0968 7.3871 11.2903 7.19355C11.5054 6.97849 11.6129 6.73118 11.6129 6.45161C11.6129 6.17204 11.5054 5.93548 11.2903 5.74194ZM6.12903 5.74194C5.93548 5.52688 5.69892 5.41935 5.41935 5.41935C5.13978 5.41935 4.89247 5.52688 4.67742 5.74194C4.48387 5.93548 4.3871 6.17204 4.3871 6.45161C4.3871 6.73118 4.48387 6.97849 4.67742 7.19355C4.89247 7.3871 5.13978 7.48387 5.41935 7.48387C5.69892 7.48387 5.93548 7.3871 6.12903 7.19355C6.34409 6.97849 6.45161 6.73118 6.45161 6.45161C6.45161 6.17204 6.34409 5.93548 6.12903 5.74194ZM11.7097 10.9032C11.7957 10.8172 11.8387 10.7204 11.8387 10.6129C11.8387 10.4839 11.8065 10.3871 11.7419 10.3226C11.6774 10.2366 11.5914 10.172 11.4839 10.129C11.3978 10.0645 11.3011 10.043 11.1935 10.0645C11.086 10.086 10.9892 10.1505 10.9032 10.2581C10.1505 11.1613 9.1828 11.6129 8 11.6129C6.8172 11.6129 5.84946 11.1613 5.09677 10.2581C5.01075 10.1505 4.91398 10.086 4.80645 10.0645C4.69892 10.043 4.5914 10.0645 4.48387 10.129C4.39785 10.172 4.32258 10.2366 4.25806 10.3226C4.19355 10.3871 4.16129 10.4839 4.16129 10.6129C4.16129 10.7204 4.2043 10.8172 4.29032 10.9032C5.25806 12.0645 6.49462 12.6452 8 12.6452C9.50538 12.6452 10.7419 12.0645 11.7097 10.9032Z",fill:"#1EC185"})),r.neutral=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM6.12903 5.74194C5.93548 5.52688 5.69892 5.41935 5.41935 5.41935C5.13978 5.41935 4.89247 5.52688 4.67742 5.74194C4.48387 5.93548 4.3871 6.17204 4.3871 6.45161C4.3871 6.73118 4.48387 6.97849 4.67742 7.19355C4.89247 7.3871 5.13978 7.48387 5.41935 7.48387C5.69892 7.48387 5.93548 7.3871 6.12903 7.19355C6.34409 6.97849 6.45161 6.73118 6.45161 6.45161C6.45161 6.17204 6.34409 5.93548 6.12903 5.74194ZM11.0968 11.6129C11.4409 11.6129 11.6129 11.4409 11.6129 11.0968C11.6129 10.7527 11.4409 10.5806 11.0968 10.5806H4.90323C4.55914 10.5806 4.3871 10.7527 4.3871 11.0968C4.3871 11.4409 4.55914 11.6129 4.90323 11.6129H11.0968ZM9.83871 7.19355C10.0538 7.3871 10.3011 7.48387 10.5806 7.48387C10.8602 7.48387 11.0968 7.3871 11.2903 7.19355C11.5054 6.97849 11.6129 6.73118 11.6129 6.45161C11.6129 6.17204 11.5054 5.93548 11.2903 5.74194C11.0968 5.52688 10.8602 5.41935 10.5806 5.41935C10.3011 5.41935 10.0538 5.52688 9.83871 5.74194C9.64516 5.93548 9.54839 6.17204 9.54839 6.45161C9.54839 6.73118 9.64516 6.97849 9.83871 7.19355Z",fill:"#626D83"})),r.negative=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM4.3871 7.48387C4.3871 7.76344 4.48387 8.01075 4.67742 8.22581C4.89247 8.41935 5.13978 8.51613 5.41935 8.51613C5.69892 8.51613 5.93548 8.41935 6.12903 8.22581C6.34409 8.01075 6.45161 7.76344 6.45161 7.48387C6.45161 7.44086 6.43011 7.35484 6.3871 7.22581C6.4086 7.22581 6.41935 7.22581 6.41935 7.22581C6.44086 7.22581 6.45161 7.22581 6.45161 7.22581C6.70968 7.22581 6.87097 7.10753 6.93548 6.87097C6.95699 6.78495 6.96774 6.70968 6.96774 6.64516C6.96774 6.58065 6.94624 6.52688 6.90323 6.48387C6.88172 6.41935 6.83871 6.36559 6.77419 6.32258C6.73118 6.27957 6.67742 6.24731 6.6129 6.22581L4.03226 5.45161C3.88172 5.4086 3.74194 5.41935 3.6129 5.48387C3.50538 5.54839 3.43011 5.64516 3.3871 5.77419C3.36559 5.86021 3.35484 5.93548 3.35484 6C3.37634 6.06452 3.39785 6.12903 3.41935 6.19355C3.44086 6.23656 3.47312 6.27957 3.51613 6.32258C3.58065 6.36559 3.65591 6.39785 3.74194 6.41935L4.70968 6.74194C4.49462 6.93548 4.3871 7.1828 4.3871 7.48387ZM9.80645 12.4516C9.93548 12.6237 10.0968 12.6882 10.2903 12.6452C10.4839 12.6021 10.6129 12.4946 10.6774 12.3226C10.7419 12.1505 10.7097 11.9785 10.5806 11.8065C9.91398 10.9892 9.05376 10.5806 8 10.5806C6.94624 10.5806 6.07527 10.9892 5.3871 11.8065C5.34409 11.871 5.31183 11.9462 5.29032 12.0323C5.26882 12.1183 5.26882 12.1935 5.29032 12.2581C5.31183 12.3226 5.34409 12.3871 5.3871 12.4516C5.43011 12.5161 5.48387 12.5699 5.54839 12.6129C5.6129 12.6344 5.67742 12.6559 5.74194 12.6774C5.82796 12.6774 5.90323 12.6667 5.96774 12.6452C6.05376 12.6021 6.12903 12.5376 6.19355 12.4516C6.64516 11.914 7.24731 11.6452 8 11.6452C8.75269 11.6452 9.35484 11.914 9.80645 12.4516ZM12.2903 6.41935C12.4194 6.37634 12.5161 6.30107 12.5806 6.19355C12.6452 6.06452 12.6559 5.92473 12.6129 5.77419C12.5914 5.68817 12.5484 5.6129 12.4839 5.54839C12.4194 5.48387 12.3441 5.45161 12.2581 5.45161C12.172 5.43011 12.086 5.43011 12 5.45161L9.41935 6.22581C9.26882 6.26882 9.16129 6.35484 9.09677 6.48387C9.03226 6.5914 9.02151 6.72043 9.06452 6.87097C9.12903 7.10753 9.29032 7.22581 9.54839 7.22581C9.56989 7.22581 9.5914 7.22581 9.6129 7.22581C9.56989 7.33333 9.54839 7.41935 9.54839 7.48387C9.54839 7.76344 9.64516 8.01075 9.83871 8.22581C10.0538 8.41935 10.3011 8.51613 10.5806 8.51613C10.8602 8.51613 11.0968 8.41935 11.2903 8.22581C11.5054 8.01075 11.6129 7.76344 11.6129 7.48387C11.6129 7.1828 11.5054 6.93548 11.2903 6.74194L12.2903 6.41935Z",fill:"#626D83"})),r.check=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484ZM7.06452 12.2258L13 6.29032C13.2581 6.05376 13.2581 5.8172 13 5.58065L12.2903 4.83871C12.0323 4.60215 11.7849 4.60215 11.5484 4.83871L6.70968 9.67742L4.45161 7.41935C4.21505 7.1828 3.96774 7.1828 3.70968 7.41935L3 8.16129C2.74194 8.39785 2.74194 8.63441 3 8.87097L6.35484 12.2258C6.5914 12.4839 6.82796 12.4839 7.06452 12.2258Z",fill:"#1EC185"})),t.a=r},function(e,t){e.exports=lodash},function(e,t,n){"use strict";var r=n(87)(!0);n(46)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){e.exports=!0},function(e,t,n){var r=n(50),i=n(36);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(99),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";var r=wp.element.Fragment,i=function(e){var t=e.barScore,n=e.width?e.width+"px":"80px",i=t>50?0:180-3.6*t,o=e.barColor;return wp.element.createElement(r,null,wp.element.createElement("div",{className:"exactmetrics-donut-container",style:{flexDirection:"column"}},wp.element.createElement("div",{className:"exactmetrics-donut",style:{width:n,paddingBottom:n,backgroundColor:"#f2f2f2"}},wp.element.createElement("div",{className:"exactmetrics-donut-sections",style:{transform:"rotate(0deg)"}},wp.element.createElement("div",{className:"exactmetrics-donut-section exactmetrics-donut-section-right",style:{transform:"rotate(0deg)"}},wp.element.createElement("div",{className:"exactmetrics-donut-filler",style:{backgroundColor:o,transform:"rotate(-"+i+"deg)"}})),function(){if(t>50){var e=180+360*(t-50)/100;return wp.element.createElement("div",{className:"exactmetrics-donut-section exactmetrics-donut-section-left",style:{transform:"rotate(0deg)"}},wp.element.createElement("div",{className:"exactmetrics-donut-filler",style:{backgroundColor:o,transform:"rotate("+e+"deg)"}}))}}()),wp.element.createElement("div",{className:"exactmetrics-donut-overlay",style:{height:"70%",width:"70%",top:"calc(15%)",left:"calc(15%)",backgroundColor:"rgb(255, 255, 255)"}}))))};t.a=i},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}t.a=r},function(e,t,n){"use strict";var r=(n(26),n(44),n(69)),i=(n.n(r),n(18));n.n(i);n.o(r,"cloneElement")&&n.d(t,"d",function(){return r.cloneElement}),n.o(r,"Component")&&n.d(t,"a",function(){return r.Component}),n.o(r,"createContext")&&n.d(t,"e",function(){return r.createContext}),n.o(r,"createElement")&&n.d(t,"f",function(){return r.createElement}),n.o(r,"forwardRef")&&n.d(t,"g",function(){return r.forwardRef}),n.o(r,"Fragment")&&n.d(t,"b",function(){return r.Fragment}),n.o(r,"isValidElement")&&n.d(t,"h",function(){return r.isValidElement}),n.o(r,"StrictMode")&&n.d(t,"c",function(){return r.StrictMode})},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(88);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(11);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(8),i=n(90),o=n(36),a=n(34)("IE_PROTO"),l=function(){},s=function(){var e,t=n(48)("iframe"),r=o.length;for(t.style.display="none",n(93).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("<script>document.F=Object<\/script>"),e.close(),s=e.F;r--;)delete s.prototype[o[r]];return s()};e.exports=Object.create||function(e,t){var n;return null!==e?(l.prototype=r(e),n=new l,l.prototype=null,n[a]=e):n=s(),void 0===t?n:i(n,t)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(35)("keys"),i=n(22);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(0),i=n(5),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(20)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(6).f,i=n(9),o=n(2)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(103),o=r(i),a=n(109),l=r(a);t.default=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=(0,l.default)(e);!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,o.default)(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){n(105);for(var r=n(5),i=n(10),o=n(13),a=n(2)("toStringTag"),l="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),s=0;s<l.length;s++){var c=l[s],u=r[c],d=u&&u.prototype;d&&!d[a]&&i(d,a,c),o[c]=o.Array}},function(e,t,n){t.f=n(2)},function(e,t,n){var r=n(5),i=n(0),o=n(20),a=n(41),l=n(6).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||l(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";function r(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}t.a=r},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o=Object(i.a)(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}t.a=r;var i=n(213)},function(e,t,n){"use strict";t.__esModule=!0;var r=n(85),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return(0,i.default)(e)}},function(e,t,n){"use strict";var r=n(20),i=n(4),o=n(49),a=n(10),l=n(13),s=n(89),c=n(37),u=n(53),d=n(2)("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,m,f,g,w){s(n,t,m);var v,y,b,S=function(e){if(!p&&e in x)return x[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},E=t+" Iterator",C="values"==f,_=!1,x=e.prototype,k=x[d]||x["@@iterator"]||f&&x[f],O=k||S(f),T=f?C?S("entries"):O:void 0,F="Array"==t?x.entries||k:k;if(F&&(b=u(F.call(new e)))!==Object.prototype&&b.next&&(c(b,E,!0),r||"function"==typeof b[d]||a(b,d,h)),C&&k&&"values"!==k.name&&(_=!0,O=function(){return k.call(this)}),r&&!w||!p&&!_&&x[d]||a(x,d,O),l[t]=O,l[E]=h,f)if(v={values:C?O:S("values"),keys:g?O:S("keys"),entries:T},w)for(y in v)y in x||o(x,y,v[y]);else i(i.P+i.F*(p||_),t,v);return v}},function(e,t,n){e.exports=!n(7)&&!n(12)(function(){return 7!=Object.defineProperty(n(48)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(11),i=n(5).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){e.exports=n(10)},function(e,t,n){var r=n(9),i=n(14),o=n(91)(!1),a=n(34)("IE_PROTO");e.exports=function(e,t){var n,l=i(e),s=0,c=[];for(n in l)n!=a&&r(l,n)&&c.push(n);for(;t.length>s;)r(l,n=t[s++])&&(~o(c,n)||c.push(n));return c}},function(e,t,n){var r=n(33);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(28),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(9),i=n(16),o=n(34)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(55),i=n(2)("iterator"),o=n(13);e.exports=n(0).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){var r=n(33),i=n(2)("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,l;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),i))?n:o?r(t):"Object"==(l=r(t))&&"function"==typeof t.callee?"Arguments":l}},function(e,t,n){e.exports=n(112)},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(1);e.exports=function(e,t,n){if(!t)return e;var o;if(n)o=n(t);else if(i.isURLSearchParams(t))o=t.toString();else{var a=[];i.forEach(t,function(e,t){null!==e&&void 0!==e&&(i.isArray(e)?t+="[]":e=[e],i.forEach(e,function(e){i.isDate(e)?e=e.toISOString():i.isObject(e)&&(e=JSON.stringify(e)),a.push(r(t)+"="+r(e))}))}),o=a.join("&")}if(o){var l=e.indexOf("#");-1!==l&&(e=e.slice(0,l)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";(function(t){function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var i=n(1),o=n(118),a={"Content-Type":"application/x-www-form-urlencoded"},l={adapter:function(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(61):void 0!==t&&"[object process]"===Object.prototype.toString.call(t)&&(e=n(61)),e}(),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){l.headers[e]={}}),i.forEach(["post","put","patch"],function(e){l.headers[e]=i.merge(a)}),e.exports=l}).call(t,n(117))},function(e,t,n){"use strict";var r=n(1),i=n(119),o=n(58),a=n(121),l=n(124),s=n(125),c=n(62);e.exports=function(e){return new Promise(function(t,u){var d=e.data,p=e.headers;r.isFormData(d)&&delete p["Content-Type"];var h=new XMLHttpRequest;if(e.auth){var m=e.auth.username||"",f=e.auth.password||"";p.Authorization="Basic "+btoa(m+":"+f)}var g=a(e.baseURL,e.url);if(h.open(e.method.toUpperCase(),o(g,e.params,e.paramsSerializer),!0),h.timeout=e.timeout,h.onreadystatechange=function(){if(h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in h?l(h.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?h.response:h.responseText,o={data:r,status:h.status,statusText:h.statusText,headers:n,config:e,request:h};i(t,u,o),h=null}},h.onabort=function(){h&&(u(c("Request aborted",e,"ECONNABORTED",h)),h=null)},h.onerror=function(){u(c("Network Error",e,null,h)),h=null},h.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),u(c(t,e,"ECONNABORTED",h)),h=null},r.isStandardBrowserEnv()){var w=n(126),v=(e.withCredentials||s(g))&&e.xsrfCookieName?w.read(e.xsrfCookieName):void 0;v&&(p[e.xsrfHeaderName]=v)}if("setRequestHeader"in h&&r.forEach(p,function(e,t){void 0===d&&"content-type"===t.toLowerCase()?delete p[t]:h.setRequestHeader(t,e)}),r.isUndefined(e.withCredentials)||(h.withCredentials=!!e.withCredentials),e.responseType)try{h.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&h.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){h&&(h.abort(),u(e),h=null)}),void 0===d&&(d=null),h.send(d)})}},function(e,t,n){"use strict";var r=n(120);e.exports=function(e,t,n,i,o){var a=new Error(e);return r(a,t,n,i,o)}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){t=t||{};var n={},i=["url","method","params","data"],o=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];r.forEach(i,function(e){void 0!==t[e]&&(n[e]=t[e])}),r.forEach(o,function(i){r.isObject(t[i])?n[i]=r.deepMerge(e[i],t[i]):void 0!==t[i]?n[i]=t[i]:r.isObject(e[i])?n[i]=r.deepMerge(e[i]):void 0!==e[i]&&(n[i]=e[i])}),r.forEach(a,function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])});var l=i.concat(o).concat(a),s=Object.keys(t).filter(function(e){return-1===l.indexOf(e)});return r.forEach(s,function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])}),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(66),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t,n){return t in e?(0,i.default)(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){e.exports={default:n(146),__esModule:!0}},function(e,t,n){e.exports=n(148)},function(e,t,n){"use strict";function r(e){var t=e.className,n=e.selected,o=e.help,p=e.onChange,h=e.options,m=void 0===h?[]:h,f=e.icons,g=void 0===f?[]:f,w=u(r),v="inspector-exactmetrics-popular-posts-theme-control-"+w,y=function(e){return p(e.target.value)},b=[],S=0,E=0,C=0;for(var _ in m)if(m.hasOwnProperty(_)){var x=m[_];void 0===b[S]&&(b[S]=[]),b[S][E]=x,x.value===n&&(C=S),3===E?(E=0,S++):E++}var k=function(){return wp.element.createElement("span",{className:"exactmetrics-theme-picker-check"},s.a.checkmark)},O=function(e){var t="exactmetrics-theme-picker-label-"+e.value;return e.value===n&&(t+=" exactmetrics-theme-picker-label-selected"),l.a.canaccess(e.level)||(t+=" exactmetrics-theme-picker-label-disabled"),t};return!Object(i.isEmpty)(m)&&wp.element.createElement(d,{id:v,help:o,className:a()(t,"exactmetrics-theme-picker")},wp.element.createElement(c.c,{naturalSlideWidth:250,totalSlides:b.length,className:"exactmetrics-theme-picker-carousel",currentSlide:C,dragEnabled:!1},wp.element.createElement(c.f,null,b.map(function(e,t){return wp.element.createElement(c.e,{className:"exactmetrics-theme-picker-slide",index:t,key:v+"-"+t},e.map(function(e,r){return wp.element.createElement("div",{key:v+"-"+t+"-"+r,className:"exactmetrics-slider-theme-option"},wp.element.createElement("input",{id:v+"-"+t+"-"+r,className:"exactmetrics-slider-theme-input",type:"radio",name:v,value:e.value,onChange:y,checked:e.value===n,"aria-describedby":o?v+"__help":void 0}),wp.element.createElement("label",{htmlFor:v+"-"+t+"-"+r,className:O(e)},e.value===n&&k(),wp.element.createElement("span",{className:"exactmetrics-theme-picker-label-icon"},g[e.value]?g[e.value]:""),wp.element.createElement("span",{className:"exactmetrics-theme-picker-label-text"},e.label)))}))})),function(){if(b.length>1)return wp.element.createElement("div",{className:"exactmetrics-carousel-navigation"},wp.element.createElement(c.a,null,s.a.chevronleft),wp.element.createElement(c.d,{className:"exactmetrics-carousel-navigation-dots"}),wp.element.createElement(c.b,null,s.a.chevronright))}()))}t.a=r;var i=n(18),o=(n.n(i),n(3)),a=n.n(o),l=n(151),s=n(152),c=n(153),u=wp.compose.useInstanceId,d=wp.components.BaseControl},function(e,t){e.exports=React},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(164),o=r(i),a=n(166),l=r(a),s="function"==typeof l.default&&"symbol"==typeof o.default?function(e){return typeof e}:function(e){return e&&"function"==typeof l.default&&e.constructor===l.default&&e!==l.default.prototype?"symbol":typeof e};t.default="function"==typeof l.default&&"symbol"===s(o.default)?function(e){return void 0===e?"undefined":s(e)}:function(e){return e&&"function"==typeof l.default&&e.constructor===l.default&&e!==l.default.prototype?"symbol":void 0===e?"undefined":s(e)}},function(e,t,n){var r=n(50),i=n(36).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){var r=n(24),i=n(15),o=n(14),a=n(31),l=n(9),s=n(47),c=Object.getOwnPropertyDescriptor;t.f=n(7)?c:function(e,t){if(e=o(e),t=a(t,!0),s)try{return c(e,t)}catch(e){}if(l(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){Object(o.a)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}n.d(t,"a",function(){return c});var o=n(26),a=n(188),l={"":{plural_forms:function(e){return 1===e?0:1}}},s=/^i18n\.(n?gettext|has_translation)(_|$)/,c=function(e,t,n){var r=new a.a({}),o=new Set,c=function(){o.forEach(function(e){return e()})},u=function(e){return o.add(e),function(){return o.delete(e)}},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[e]},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";r.data[t]=i(i(i({},l),r.data[t]),e),r.data[t][""]=i(i({},l[""]),r.data[t][""])},h=function(e,t){p(e,t),c()},m=function(e,t){r.data={},r.pluralForms={},h(e,t)},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[e]||p(void 0,e),r.dcnpgettext(e,t,n,i,o)},g=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},w=function(e,t){var r=f(t,void 0,e);return n?(r=n.applyFilters("i18n.gettext",r,e,t),n.applyFilters("i18n.gettext_"+g(t),r,e,t)):r},v=function(e,t,r){var i=f(r,t,e);return n?(i=n.applyFilters("i18n.gettext_with_context",i,e,t,r),n.applyFilters("i18n.gettext_with_context_"+g(r),i,e,t,r)):i},y=function(e,t,r,i){var o=f(i,void 0,e,t,r);return n?(o=n.applyFilters("i18n.ngettext",o,e,t,r,i),n.applyFilters("i18n.ngettext_"+g(i),o,e,t,r,i)):o},b=function(e,t,r,i,o){var a=f(o,i,e,t,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,e,t,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+g(o),a,e,t,r,i,o)):a},S=function(){return"rtl"===v("ltr","text direction")},E=function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=r.data)||void 0===o||null===(a=o[null!==i&&void 0!==i?i:"default"])||void 0===a||!a[l]);return n&&(s=n.applyFilters("i18n.has_translation",s,e,t,i),s=n.applyFilters("i18n.has_translation_"+g(i),s,e,t,i)),s};if(e&&h(e,t),n){var C=function(e){s.test(e)&&c()};n.addAction("hookAdded","core/i18n",C),n.addAction("hookRemoved","core/i18n",C)}return{getLocaleData:d,setLocaleData:h,resetLocaleData:m,subscribe:u,__:w,_x:v,_n:y,_nx:b,isRTL:S,hasTranslation:E}}},function(e,t,n){"use strict";function r(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}t.a=r},function(e,t,n){"use strict";function r(e){return Object(i.a)(e)||Object(o.a)(e)||Object(a.a)(e)||Object(l.a)()}t.a=r;var i=n(201),o=n(202),a=n(77),l=n(203)},function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}t.a=r},function(e,t,n){"use strict";function r(e,t){if(e){if("string"==typeof e)return Object(i.a)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(i.a)(e,t):void 0}}t.a=r;var i=n(76)},function(e,t,n){"use strict";function r(e){"@babel/helpers - typeof";return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.a=r},function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){Object(a.a)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o(e){var t=e.children,n=Object(l.a)(e,["children"]);return Object(s.f)("div",i({dangerouslySetInnerHTML:{__html:t}},n))}t.a=o;var a=n(26),l=n(44),s=n(27)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(81),i=(n.n(r),n(82)),o=(n.n(i),n(83),n(144),wp.i18n.setLocaleData);void 0!==window.exactmetrics_gutenberg_tool_vars.translations&&o(window.exactmetrics_gutenberg_tool_vars.translations,"google-analytics-dashboard-for-wp")},function(e,t){},function(e,t){},function(e,t,n){"use strict";n(84),n(142)},function(e,t,n){"use strict";var r=n(45),i=n.n(r),o=n(23),a=n.n(o),l=n(39),s=n.n(l),c=n(17),u=n(56),d=n.n(u),p=n(129),h=n(133),m=n(134),f=n(136),g=n(137),w=n(138),v=n(139),y=n(140),b=n(141),S=wp.i18n.__,E=wp.element,C=E.Fragment,_=E.useState,x=E.useEffect,k=wp.plugins.registerPlugin,O=wp.editPost,T=O.PluginSidebar,F=O.PluginSidebarMoreMenuItem,M=wp.data.select,N=function(e){var t=M("core/editor").getEditedPostAttribute("title"),n=S("Headline Analyzer","google-analytics-dashboard-for-wp"),r=S("Write your post title to see the analyzer data. This Headline Analyzer tool enables you to write irresistible SEO headlines that drive traffic, shares, and rank better in search results.","google-analytics-dashboard-for-wp"),o=_({}),l=s()(o,2),u=l[0],E=l[1],k=document.querySelector(".components-button[aria-label='"+n+"'] svg"),O=void 0!==u.previousHeadlinesData?u.previousHeadlinesData:[],N=sprintf(S("This headline analyzer is part of ExactMetrics to help you increase your traffic. See your %1swebsite traffic reports%2s.","google-analytics-dashboard-for-wp"),'<a href="'+exactmetrics_gutenberg_tool_vars.reports_url+'" className="exactmetrics-headline-analyzer-link">',"</a>"),j=document.querySelector(".exactmetrics-headline-analyzer-wrapper");if(k){var P=document.createElement("span");if(u.dataExist&&void 0!==u.currentHeadlineData.score){var D=u.currentHeadlineData.score,A=D<40?"red":D<=60?"orange":"green";k.parentNode.setAttribute("exactmetrics-button-color",A),k.nextElementSibling?k.nextElementSibling.innerHTML=D+"/100":(P.innerHTML=D+"/100",k.parentNode.insertBefore(P,k.nextSibling))}else k.parentNode.setAttribute("exactmetrics-button-color","red"),k.nextElementSibling?k.nextElementSibling.innerHTML="00/100":(P.innerHTML="00/100",k.parentNode.insertBefore(P,k.nextSibling))}if(j){var L=j.parentNode.querySelectorAll(".components-panel__header");L&&L.forEach(function(e){var t=e.querySelector('[aria-pressed="true"]');t&&null!==t&&(t.style.display="none")})}var B=function(e){E(a()({},u,e))};return x(function(){var e=new FormData;e.append("_ajax_nonce",exactmetrics_gutenberg_tool_vars.nonce),e.append("action","exactmetrics_gutenberg_headline_analyzer_get_results"),e.append("dataType","json"),e.append("q",t),d.a.post(exactmetrics_gutenberg_tool_vars.ajaxurl,e).then(function(e){var t={dataExist:!1};e.data.data.analysed&&(t.currentHeadlineData=e.data.data,t.headlineData=e.data.data,t.dataExist=!0,void 0!==u.headlineData&&(t.previousHeadlinesData=[u.headlineData].concat(i()(O)))),E(a()({},u,t))}).catch(function(e){var t={dataExist:!1};E(a()({},u,t)),console.log(e)})},[t]),wp.element.createElement(C,null,wp.element.createElement(F,{target:"exactmetrics-headline-analyzer"},n),wp.element.createElement(T,{name:"exactmetrics-headline-analyzer",title:n,className:"exactmetrics-headline-analyzer-wrapper",icon:c.a.headline},void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(p.a,{analyzer:u,setAnalyzer:B}):wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-empty-title-warning"},r),void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed&&O.length>0?wp.element.createElement(h.a,{analyzer:u,setAnalyzer:B}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(m.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(f.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(g.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(w.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(v.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(y.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(b.a,{data:u.headlineData}):"",wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-bottom-notice"},wp.element.createElement("p",{dangerouslySetInnerHTML:{__html:N}}))))};"undefined"!=typeof exactmetrics_gutenberg_tool_vars&&exactmetrics_gutenberg_tool_vars.allowed_post_types.includes(exactmetrics_gutenberg_tool_vars.current_post_type)&&exactmetrics_gutenberg_tool_vars.is_headline_analyzer_enabled&&k("exactmetrics-headline-analyzer",{icon:c.a.headlineBlack,render:N})},function(e,t,n){e.exports={default:n(86),__esModule:!0}},function(e,t,n){n(19),n(94),e.exports=n(0).Array.from},function(e,t,n){var r=n(28),i=n(29);e.exports=function(e){return function(t,n){var o,a,l=String(i(t)),s=r(n),c=l.length;return s<0||s>=c?e?"":void 0:(o=l.charCodeAt(s),o<55296||o>56319||s+1===c||(a=l.charCodeAt(s+1))<56320||a>57343?e?l.charAt(s):o:e?l.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){"use strict";var r=n(32),i=n(15),o=n(37),a={};n(10)(a,n(2)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},function(e,t,n){var r=n(6),i=n(8),o=n(21);e.exports=n(7)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),l=a.length,s=0;l>s;)r.f(e,n=a[s++],t[n]);return e}},function(e,t,n){var r=n(14),i=n(52),o=n(92);e.exports=function(e){return function(t,n,a){var l,s=r(t),c=i(s.length),u=o(a,c);if(e&&n!=n){for(;c>u;)if((l=s[u++])!=l)return!0}else for(;c>u;u++)if((e||u in s)&&s[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(28),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(5).document;e.exports=r&&r.documentElement},function(e,t,n){"use strict";var r=n(30),i=n(4),o=n(16),a=n(95),l=n(96),s=n(52),c=n(97),u=n(54);i(i.S+i.F*!n(98)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,i,d,p=o(e),h="function"==typeof this?this:Array,m=arguments.length,f=m>1?arguments[1]:void 0,g=void 0!==f,w=0,v=u(p);if(g&&(f=r(f,m>2?arguments[2]:void 0,2)),void 0==v||h==Array&&l(v))for(t=s(p.length),n=new h(t);t>w;w++)c(n,w,g?f(p[w],w):p[w]);else for(d=v.call(p),n=new h;!(i=d.next()).done;w++)c(n,w,g?a(d,f,[i.value,w],!0):i.value);return n.length=w,n}})},function(e,t,n){var r=n(8);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){var r=n(13),i=n(2)("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},function(e,t,n){"use strict";var r=n(6),i=n(15);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(2)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},e(o)}catch(e){}return n}},function(e,t,n){e.exports={default:n(100),__esModule:!0}},function(e,t,n){n(101),e.exports=n(0).Object.assign},function(e,t,n){var r=n(4);r(r.S+r.F,"Object",{assign:n(102)})},function(e,t,n){"use strict";var r=n(7),i=n(21),o=n(38),a=n(24),l=n(16),s=n(51),c=Object.assign;e.exports=!c||n(12)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=c({},e)[n]||Object.keys(c({},t)).join("")!=r})?function(e,t){for(var n=l(e),c=arguments.length,u=1,d=o.f,p=a.f;c>u;)for(var h,m=s(arguments[u++]),f=d?i(m).concat(d(m)):i(m),g=f.length,w=0;g>w;)h=f[w++],r&&!p.call(m,h)||(n[h]=m[h]);return n}:c},function(e,t,n){e.exports={default:n(104),__esModule:!0}},function(e,t,n){n(40),n(19),e.exports=n(108)},function(e,t,n){"use strict";var r=n(106),i=n(107),o=n(13),a=n(14);e.exports=n(46)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):"keys"==t?i(0,n):"values"==t?i(0,e[n]):i(0,[n,e[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(55),i=n(2)("iterator"),o=n(13);e.exports=n(0).isIterable=function(e){var t=Object(e);return void 0!==t[i]||"@@iterator"in t||o.hasOwnProperty(r(t))}},function(e,t,n){e.exports={default:n(110),__esModule:!0}},function(e,t,n){n(40),n(19),e.exports=n(111)},function(e,t,n){var r=n(8),i=n(54);e.exports=n(0).getIterator=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return r(t.call(e))}},function(e,t,n){"use strict";function r(e){var t=new a(e),n=o(a.prototype.request,t);return i.extend(n,a.prototype,t),i.extend(n,t),n}var i=n(1),o=n(57),a=n(113),l=n(63),s=n(60),c=r(s);c.Axios=a,c.create=function(e){return r(l(c.defaults,e))},c.Cancel=n(64),c.CancelToken=n(127),c.isCancel=n(59),c.all=function(e){return Promise.all(e)},c.spread=n(128),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new a,response:new a}}var i=n(1),o=n(58),a=n(114),l=n(115),s=n(63);r.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=s(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[l,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},r.prototype.getUri=function(e){return e=s(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(1);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var i=n(1),o=n(116),a=n(59),l=n(60);e.exports=function(e){return r(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=i.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),i.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||l.adapter)(e).then(function(t){return r(e),t.data=o(t.data,t.headers,e.transformResponse),t},function(t){return a(t)||(r(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(e){if(u===setTimeout)return setTimeout(e,0);if((u===n||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(t){try{return u.call(null,e,0)}catch(t){return u.call(this,e,0)}}}function o(e){if(d===clearTimeout)return clearTimeout(e);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function a(){f&&h&&(f=!1,h.length?m=h.concat(m):g=-1,m.length&&l())}function l(){if(!f){var e=i(a);f=!0;for(var t=m.length;t;){for(h=m,m=[];++g<t;)h&&h[g].run();g=-1,t=m.length}h=null,f=!1,o(e)}}function s(e,t){this.fun=e,this.array=t}function c(){}var u,d,p=e.exports={};!function(){try{u="function"==typeof setTimeout?setTimeout:n}catch(e){u=n}try{d="function"==typeof clearTimeout?clearTimeout:r}catch(e){d=r}}();var h,m=[],f=!1,g=-1;p.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];m.push(new s(e,t)),1!==m.length||f||i(l)},s.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(e){return[]},p.binding=function(e){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(e){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(62);e.exports=function(e,t,n){var i=n.config.validateStatus;!i||i(n.status)?e(n):t(r("Request failed with status code "+n.status,n.config,null,n.request,n))}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(122),i=n(123);e.exports=function(e,t){return e&&!r(t)?i(e,t):t}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(1),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,o,a={};return e?(r.forEach(e.split("\n"),function(e){if(o=e.indexOf(":"),t=r.trim(e.substr(0,o)).toLowerCase(),n=r.trim(e.substr(o+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}}),a):a}},function(e,t,n){"use strict";var r=n(1);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(i.setAttribute("href",t),t=i.href),i.setAttribute("href",t),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return t=e(window.location.href),function(n){var i=r.isString(n)?e(n):n;return i.protocol===t.protocol&&i.host===t.host}}():function(){return function(){return!0}}()},function(e,t,n){"use strict";var r=n(1);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,i,o,a){var l=[];l.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),r.isString(i)&&l.push("path="+i),r.isString(o)&&l.push("domain="+o),!0===a&&l.push("secure"),document.cookie=l.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}var i=n(64);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r(function(t){e=t}),cancel:e}},e.exports=r},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";var r=n(39),i=n.n(r),o=n(3),a=n.n(o),l=n(130),s=n(131),c=n(132),u=wp.i18n.__,d=wp.element,p=d.Fragment,h=d.useState,m=d.useEffect,f=function(e){var t=u("Current Score","google-analytics-dashboard-for-wp"),n=u("Try New Headline","google-analytics-dashboard-for-wp"),r=h("current-score"),o=i()(r,2),d=o[0],f=o[1],g=function(){return f("current-score")},w=function(){return f("new-headline")},v=void 0!==e.analyzer.isNewData&&e.analyzer.isNewData;return m(function(){e.setAnalyzer({activeTab:d})},[d]),wp.element.createElement(p,null,wp.element.createElement("div",{className:"exactmetrics-inline-buttons"},wp.element.createElement("button",{onClick:g,className:a()("exactmetrics-switcher-button",{active:"current-score"===d})},t),wp.element.createElement("button",{onClick:w,className:a()("exactmetrics-switcher-button",{active:"new-headline"===d})},n)),"new-headline"===d?wp.element.createElement(s.a,{analyzer:e.analyzer,setAnalyzer:e.setAnalyzer}):wp.element.createElement(l.a,{analyzer:e.analyzer}),v?wp.element.createElement(c.a,{analyzer:e.analyzer}):"")};t.a=f},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=n(25),a=wp.i18n.__,l=wp.element.Fragment,s=wp.components,c=s.PanelBody,u=s.PanelRow,d=function(e){var t=e.analyzer.currentHeadlineData.sentence,n=a("Score","google-analytics-dashboard-for-wp"),r=a("A good score is between 40 and 60. For best results, you should strive for 70 and above.","google-analytics-dashboard-for-wp"),s=e.analyzer.currentHeadlineData.score,d=s<40?"red":s<=60?"orange":"green",p="red"===d?"#EB5757":"orange"===d?"#F2994A":"#1EC185";return wp.element.createElement(l,null,wp.element.createElement(c,{title:n},wp.element.createElement(u,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-current-score-tab"},wp.element.createElement("h4",{className:"exactmetrics-headline-analyzer-current-title"},"“",t,"”"),wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-current-score",d)},s),wp.element.createElement(o.a,{barScore:s,barColor:p})),wp.element.createElement("p",null,r)))))};t.a=d},function(e,t,n){"use strict";var r=n(45),i=n.n(r),o=n(56),a=n.n(o),l=wp.i18n.__,s=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=c.TextControl,h=c.Button,m=function(e){var t=l("Try New Headline","google-analytics-dashboard-for-wp"),n=l("Enter a different headline than your post title to see how it compares.","google-analytics-dashboard-for-wp"),r=l("Analyze","google-analytics-dashboard-for-wp"),o=void 0!==e.analyzer.newHeadline?e.analyzer.newHeadline:"",c=void 0!==e.analyzer.previousHeadlinesData?e.analyzer.previousHeadlinesData:[],m=!o,f=function(t){var n=t.trim();if(n){var r=new FormData;r.append("_ajax_nonce",exactmetrics_gutenberg_tool_vars.nonce),r.append("action","exactmetrics_gutenberg_headline_analyzer_get_results"),r.append("dataType","json"),r.append("q",n),a.a.post(exactmetrics_gutenberg_tool_vars.ajaxurl,r).then(function(t){e.setAnalyzer({newHeadlineData:t.data.data,headlineData:t.data.data,previousHeadlinesData:[e.analyzer.headlineData].concat(i()(c)),isNewData:!0})}).catch(function(t){e.setAnalyzer({isNewData:!1}),console.log(t)})}};return wp.element.createElement(s,null,wp.element.createElement(u,{title:t},wp.element.createElement(d,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-new-tab"},wp.element.createElement("form",{onSubmit:function(e){e.preventDefault(),f(o)}},wp.element.createElement(p,{label:n,value:o,onChange:function(t){" "!==t&&e.setAnalyzer({newHeadline:t})},className:"exactmetrics-headline-analyzer-input-field"}),wp.element.createElement(h,{className:"exactmetrics-headline-analyzer-button",isPrimary:!0,onClick:function(){f(o)},disabled:m},r))))))};t.a=m},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=n(25),a=wp.i18n.__,l=wp.element.Fragment,s=wp.components,c=s.PanelBody,u=s.PanelRow,d=function(e){var t=e.analyzer.currentHeadlineData.sentence,n=a("New Score","google-analytics-dashboard-for-wp"),r=a("A good score is between 40 and 60. For best results, you should strive for 70 and above.","google-analytics-dashboard-for-wp"),s=a("Current Score","google-analytics-dashboard-for-wp"),d=void 0!==e.analyzer.newHeadlineData?e.analyzer.newHeadlineData.sentence:"",p=void 0!==e.analyzer.newHeadlineData?e.analyzer.newHeadlineData.score:"",h=void 0!==e.analyzer.currentHeadlineData.score?e.analyzer.currentHeadlineData.score:"",m=p<40?"red":p<=60?"orange":"green",f="red"===m?"#EB5757":"orange"===m?"#F2994A":"#1EC185",g=h<40?"red-bg":h<=60?"orange-bg":"green-bg",w=Math.abs(p-h);return wp.element.createElement(l,null,wp.element.createElement(c,{title:n},wp.element.createElement(u,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-new-score-panel"},wp.element.createElement("p",null,r),wp.element.createElement("h4",null,"“",d,"”"),wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-new-score",m)},p),wp.element.createElement(o.a,{barScore:p,barColor:f})),wp.element.createElement("div",{className:"current-score"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-score-difference",m)},p>h?"+ ":p===h?"":"- ",w),wp.element.createElement("h5",null,s),wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-score",g)},h),wp.element.createElement("p",null,"“",t,"”"))))))};t.a=d},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=wp.i18n.__,a=wp.element.Fragment,l=wp.components,s=l.PanelBody,c=l.PanelRow,u=function(e){var t=o("Previous Scores","google-analytics-dashboard-for-wp"),n="undefined"!==e.analyzer.previousHeadlinesData?e.analyzer.previousHeadlinesData:[],r=document.querySelector(".edit-post-sidebar"),l="undefined"!==e.analyzer.activeTab?e.analyzer.activeTab:"current-score",u="current-score"===l?390:300,d=function(t){e.setAnalyzer({newHeadlineData:n[t],headlineData:n[t],newHeadline:n[t].sentence,isNewData:!0}),r&&(r.scrollTop=u)};return wp.element.createElement(a,null,wp.element.createElement(s,{title:t},wp.element.createElement(c,null,wp.element.createElement("ul",{className:"exactmetrics-headline-analyzer-previous-scores"},n.map(function(e,t){if(t<10&&(void 0!==e.sentence||void 0!==e.score)){var n=e.score<40?"red-bg":e.score<=60?"orange-bg":"green-bg";return wp.element.createElement("li",{key:t,onClick:function(){return d(t)}},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-score",n)},e.score),e.sentence)}})))))};t.a=u},function(e,t,n){"use strict";var r=n(17),i=n(3),o=n.n(i),a=n(135),l=wp.i18n.__,s=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=function(e){var t=l("Word Balance","google-analytics-dashboard-for-wp"),n=l("Compare the percentages of your results to the goal for each category and adjust as necessary.","google-analytics-dashboard-for-wp"),i=e.data.score<40?"red":e.data.score<=60?"orange":"green",c=(e.data.score<40||e.data.score,0===e.data.result.common_words_per?"red":e.data.result.common_words_per<.2?"orange":"green"),p=0===e.data.result.common_words_per?"red-bg":e.data.result.common_words_per<.2?"orange-bg":"green-bg",h=l("Your headline would be more likely to get clicks if it had more uncommon words.","google-analytics-dashboard-for-wp"),m=e.data.result.common_words_per<.2?h:l("Headlines with 20-30% common words are more likely to get clicks.","google-analytics-dashboard-for-wp"),f=0===e.data.result.uncommon_words_per?"red":e.data.result.uncommon_words_per<.1?"orange":"green",g=0===e.data.result.uncommon_words_per?"red-bg":e.data.result.uncommon_words_per<.1?"orange-bg":"green-bg",w=e.data.result.uncommon_words_per<.1?h:l("Headlines with uncommon words are more likely to get clicks.","google-analytics-dashboard-for-wp"),v=0===e.data.result.emotion_words_per?"red":e.data.result.emotion_words_per<.1?"orange":"green",y=0===e.data.result.emotion_words_per?"red-bg":e.data.result.emotion_words_per<.1?"orange-bg":"green-bg",b=l("Emotionally triggered headlines are likely to drive more clicks.","google-analytics-dashboard-for-wp"),S=0===e.data.result.power_words.length?"orange":"green",E=0===e.data.result.power_words.length?"orange":"green-bg",C=l("Headlines with Power Words are more likely to get clicks.","google-analytics-dashboard-for-wp"),_=l("Common Words","google-analytics-dashboard-for-wp"),x=l("20-30%","google-analytics-dashboard-for-wp"),k=l("Uncommon Words","google-analytics-dashboard-for-wp"),O=l("10-20%","google-analytics-dashboard-for-wp"),T=l("Emotional Words","google-analytics-dashboard-for-wp"),F=l("10-15%","google-analytics-dashboard-for-wp"),M=l("Power Words","google-analytics-dashboard-for-wp"),N=l("At least one","google-analytics-dashboard-for-wp");return wp.element.createElement(s,null,wp.element.createElement(u,{title:t,className:o()("exactmetrics-headline-analyzer-panel-word-balance","exactmetrics-headline-analyzer-panel-has-icon",i),icon:"green"===i?r.a.check:r.a.warning},wp.element.createElement(d,null,wp.element.createElement("h4",null,e.data.result.word_balance),wp.element.createElement("p",null,n),wp.element.createElement(a.a,{title:_,value:Math.round(100*e.data.result.common_words_per),goalValue:x,words:e.data.result.common_words,guideLine:m,classOnScore:c,classOnScoreBg:p}),wp.element.createElement(a.a,{title:k,value:Math.round(100*e.data.result.uncommon_words_per),goalValue:O,words:e.data.result.uncommon_words,guideLine:w,classOnScore:f,classOnScoreBg:g}),wp.element.createElement(a.a,{title:T,value:Math.round(100*e.data.result.emotion_words_per),goalValue:F,words:e.data.result.emotion_words,guideLine:b,classOnScore:v,classOnScoreBg:y}),wp.element.createElement(a.a,{title:M,value:Math.round(100*e.data.result.power_words_per),goalValue:N,words:e.data.result.power_words,guideLine:C,classOnScore:S,classOnScoreBg:E}))))};t.a=p},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=wp.i18n.__,a=function(e){var t=o("Goal: ","google-analytics-dashboard-for-wp"),n={width:e.value+"%"};return wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words-block"},wp.element.createElement("h5",null,e.title),wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words-block-data"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-words-block-percentage",e.classOnScore)},e.value,"%"),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-words-block-goal"},wp.element.createElement("strong",null,t),e.goalValue),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-words-block-progressbar"},wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-progressbar-bg"}),wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-progressbar-part",e.classOnScoreBg),style:n}))),wp.element.createElement("ul",{className:"exactmetrics-headline-analyzer-words-tag-list"},e.words.length>0?e.words.map(function(e,t){return wp.element.createElement("li",{key:t},e)}):""),wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-words-guideline"},e.guideLine))};t.a=a},function(e,t,n){"use strict";var r=n(17),i=n(3),o=n.n(i),a=wp.i18n.__,l=wp.element.Fragment,s=wp.components,c=s.PanelBody,u=s.PanelRow,d=function(e){var t=a("Your headline has a neutral sentiment.","google-analytics-dashboard-for-wp"),n=a("Headlines that are strongly positive or negative tend to get more engagement then neutral ones.","google-analytics-dashboard-for-wp"),i=a("Your headline has a positive sentiment.","google-analytics-dashboard-for-wp"),s=a("Positive headlines tend to get better engagement than neutral or negative ones.","google-analytics-dashboard-for-wp"),d=a("Your headline has a negative sentiment.","google-analytics-dashboard-for-wp"),p=a("Negative headlines are attention-grabbing and tend to perform better than neutral ones.","google-analytics-dashboard-for-wp"),h=a("Sentiment","google-analytics-dashboard-for-wp"),m="neu"===e.data.result.sentiment?a("Neutral","google-analytics-dashboard-for-wp"):"pos"===e.data.result.sentiment?a("Positive","google-analytics-dashboard-for-wp"):a("Negative","google-analytics-dashboard-for-wp"),f="neu"===e.data.result.sentiment?r.a.neutral:"pos"===e.data.result.sentiment?r.a.smile:r.a.negative,g="neu"===e.data.result.sentiment?"orange":"pos"===e.data.result.sentiment?"green":"red";return wp.element.createElement(l,null,wp.element.createElement(c,{title:h,className:o()("exactmetrics-headline-analyzer-panel-sentiment","exactmetrics-headline-analyzer-panel-has-icon",g),icon:f},wp.element.createElement(u,null,wp.element.createElement("h4",null,m),"neu"===e.data.result.sentiment?wp.element.createElement("p",null,t," ",wp.element.createElement("br",null),wp.element.createElement("br",null)," ",n):"","pos"===e.data.result.sentiment?wp.element.createElement("p",null,i," ",wp.element.createElement("br",null),wp.element.createElement("br",null)," ",s):"","neg"===e.data.result.sentiment?wp.element.createElement("p",null,d," ",wp.element.createElement("br",null),wp.element.createElement("br",null)," ",p):"")))};t.a=d},function(e,t,n){"use strict";var r=wp.i18n,i=r.__,o=r.sprintf,a=wp.element.Fragment,l=wp.components,s=l.PanelBody,c=l.PanelRow,u=function(e){var t=e.data.result.headline_types.join(", "),n=i("Headline Type","google-analytics-dashboard-for-wp"),r=wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-panel-types-title"},n,wp.element.createElement("span",null,t)),l=o(i("Headlines that are lists and how-to get more engagement on average than other types of headlines. %1sRead more about %2sdifferent types of headlines here.%3s","google-analytics-dashboard-for-wp"),"<br/><br/>",'<a href="https://optinmonster.com/why-these-21-headlines-went-viral-and-how-you-can-copy-their-success/" target="_blank" className="exactmetrics-headline-analyzer-link">',"</a>");return wp.element.createElement(a,null,wp.element.createElement(s,{title:r,className:"exactmetrics-headline-analyzer-panel-types"},wp.element.createElement(c,null,wp.element.createElement("h4",null,t),wp.element.createElement("p",{dangerouslySetInnerHTML:{__html:l}}))))};t.a=u},function(e,t,n){"use strict";var r=n(17),i=n(3),o=n.n(i),a=n(25),l=wp.i18n.__,s=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=function(e){var t=l("Character Count","google-analytics-dashboard-for-wp"),n=e.data.result.length,i=n>=66?100:Math.round(1.51*n),c="",p="",h="#1EC185",m="";return n<=19?(c="red",h="#EB5757"):n>=20&&n<=34?(c="orange",h="#F2994A"):n>=35&&n<=66?(c="green",h="#1EC185"):n>=67&&n<=79?(c="orange",h="#F2994A"):n>=80&&(c="red",h="#EB5757"),n<=34?(p=l("Too Short","google-analytics-dashboard-for-wp"),m=l("You have space to add more keywords and power words to boost your rankings and click-through rate.","google-analytics-dashboard-for-wp")):n>=35&&n<=66?(p=l("Good","google-analytics-dashboard-for-wp"),m=l("Headlines that are about 55 characters long will display fully in search results and tend to get more clicks.","google-analytics-dashboard-for-wp")):n>=67&&(p=l("Too Long","google-analytics-dashboard-for-wp"),m=l("At this length, it will get cut off in search results. Try reducing it to about 55 characters.","google-analytics-dashboard-for-wp")),wp.element.createElement(s,null,wp.element.createElement(u,{title:t,className:o()("exactmetrics-headline-analyzer-panel-character-count","exactmetrics-headline-analyzer-panel-has-icon",c),icon:"green"===c?r.a.check:r.a.warning},wp.element.createElement(d,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:o()("exactmetrics-headline-analyzer-character-length",c)},n),wp.element.createElement(a.a,{barScore:i,barColor:h}),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-status-on-character-length"},p)),wp.element.createElement("p",null,m))))};t.a=p},function(e,t,n){"use strict";var r=n(17),i=n(3),o=n.n(i),a=n(25),l=wp.i18n.__,s=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=function(e){var t=l("Word Count","google-analytics-dashboard-for-wp"),n=e.data.result.word_count,i=n>=10?100:Math.round(10*n),c="",p="",h="#1EC185",m="";return n<=4?(c="red",h="#EB5757",p=l("Not Enough Words","google-analytics-dashboard-for-wp"),m=l("Your headline doesn’t use enough words. You have more space to add keywords and power words to improve your SEO and get more engagement.","google-analytics-dashboard-for-wp")):n>=5&&n<=9?(c="green",h="#1EC185",p=l("Good","google-analytics-dashboard-for-wp"),m=l("Your headline has the right amount of words. Headlines are more likely to be clicked on in search results if they have about 6 words.","google-analytics-dashboard-for-wp")):n>=10&&n<=11?(c="orange",h="#F2994A",p=l("Reduce Word Count","google-analytics-dashboard-for-wp")):(c="red",h="#EB5757",p=l("Too Many Words","google-analytics-dashboard-for-wp"),m=l("Your headline has too many words. Long headlines will get cut off in search results and won’t get as many clicks.","google-analytics-dashboard-for-wp")),wp.element.createElement(s,null,wp.element.createElement(u,{title:t,className:o()("exactmetrics-headline-analyzer-panel-word-count","exactmetrics-headline-analyzer-panel-has-icon",c),icon:"green"===c?r.a.check:r.a.warning},wp.element.createElement(d,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:o()("exactmetrics-headline-analyzer-word-length",c)},n),wp.element.createElement(a.a,{barScore:i,barColor:h}),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-status-on-word-length"},p)),wp.element.createElement("p",null,m))))};t.a=p},function(e,t,n){"use strict";var r=wp.i18n.__,i=wp.element.Fragment,o=wp.components,a=o.PanelBody,l=o.PanelRow,s=function(e){var t=r("Beginning & Ending Words","google-analytics-dashboard-for-wp"),n=e.data.result.input_array_orig,o=r("Most readers only look at the first and last 3 words of a headline before deciding whether to click.","google-analytics-dashboard-for-wp"),s="",c="";return n.length>=6?(s=n.slice(0,3).join(" "),c=n.slice(-3).join(" ")):n.length>3&&n.length<=5?(s=n.slice(0,3).join(" "),c=n.slice(3).join(" ")):s=n.slice(0,3).join(" "),wp.element.createElement(i,null,wp.element.createElement(a,{title:t,className:"exactmetrics-headline-analyzer-panel-beginning-ending-words"},wp.element.createElement(l,null,s?wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words beginning"},wp.element.createElement("span",null,s)):"",c?wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words ending"},wp.element.createElement("span",null,c)):"",wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-words-guideline"},o))))};t.a=s},function(e,t,n){"use strict";var r=n(23),i=n.n(r),o=wp.i18n.__,a=wp.element.Fragment,l=wp.components,s=l.PanelBody,c=l.PanelRow,u=wp.data.select,d=function(e){var t=o("Search Preview","google-analytics-dashboard-for-wp"),n=o("Here is how your headline will look like in google search results page.","google-analytics-dashboard-for-wp"),r=u("core/editor").getPermalink(),l={href:r};return wp.element.createElement(a,null,wp.element.createElement(s,{title:t,className:"exactmetrics-headline-analyzer-panel-search-preview"},wp.element.createElement(c,null,wp.element.createElement("h4",null,e.data.sentence),wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-post-url"},wp.element.createElement("a",i()({},l,{target:"_blank"}),r)),wp.element.createElement("p",null,n))))};t.a=d},function(e,t,n){"use strict";var r=n(39),i=n.n(r),o=n(143),a=wp.components.ToggleControl,l=wp.plugins.registerPlugin,s=wp.data,c=s.dispatch,u=s.select,d=wp.i18n.__,p=wp.editPost.PluginDocumentSettingPanel,h=wp.element,m=h.useState,f=h.Fragment;l("exactmetrics-exclude-page-tracking",{render:function(){var e=window.exactmetrics_gutenberg_tool_vars;if(!e||"1"!==e.supports_custom_fields)return wp.element.createElement(f,null);var t=u("core/editor").getEditedPostAttribute("meta")||[];t._mi_skip_tracking||(t._mi_skip_tracking=!1);var n=m(!!t._mi_skip_tracking),r=i()(n,2),l=r[0],s=r[1];return wp.element.createElement(p,{name:"exactmetrics-skip-tracking",title:"ExactMetrics",className:"exactmetrics-skip-tracking-wrapper",icon:"mi"},wp.element.createElement(a,{checked:l,help:d("Toggle to prevent Google Analytics from tracking this page.","google-analytics-dashboard-for-wp"),label:d("Exclude page from Google Analytics Tracking","google-analytics-dashboard-for-wp"),disabled:"lite"===e.license_type,onChange:function(e){s(!!e),c("core/editor").editPost({meta:{_mi_skip_tracking:e}})}}),wp.element.createElement(o.a,{license:e.license_type,upgrade_url:e.upgrade_url}))}})},function(e,t,n){"use strict";var r=wp.i18n.__,i=wp.element.Fragment,o=function(e){if("lite"!==e.license)return wp.element.createElement(i,null);var t={description:r("This is a PRO feature.","google-analytics-dashboard-for-wp"),upgrade:r("Upgrade","google-analytics-dashboard-for-wp")};return wp.element.createElement(i,null,wp.element.createElement("div",{className:"exactmetrics-metabox-pro-badge"},wp.element.createElement("span",null,wp.element.createElement("svg",{width:"15",height:"14",viewBox:"0 0 15 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M6.57617 1.08203L4.92578 4.45898L1.19336 4.99219C0.533203 5.09375 0.279297 5.90625 0.761719 6.38867L3.42773 9.00391L2.79297 12.6855C2.69141 13.3457 3.40234 13.8535 3.98633 13.5488L7.3125 11.7969L10.6133 13.5488C11.1973 13.8535 11.9082 13.3457 11.8066 12.6855L11.1719 9.00391L13.8379 6.38867C14.3203 5.90625 14.0664 5.09375 13.4062 4.99219L9.69922 4.45898L8.02344 1.08203C7.74414 0.498047 6.88086 0.472656 6.57617 1.08203Z",fill:"#31862D"})),t.description),wp.element.createElement("div",{className:"exactmetrics-metabox-pro-badge-upgrade"},wp.element.createElement("a",{href:e.upgrade_url,target:"_blank",rel:"noopener"},t.upgrade))))};t.a=o},function(e,t,n){"use strict";n(145),n(154)},function(e,t,n){"use strict";var r=n(65),i=n.n(r),o=n(67),a=n.n(o),l=n(23),s=n.n(l),c=n(150),u=n(68),d=wp.i18n.__,p=wp.blocks.registerBlockType,h=wp,m=h.apiFetch,f=wp.data,g=f.registerStore,w=f.withSelect,v=wp.blockEditor.InspectorControls,y=wp.components,b=y.PanelBody,S=y.PanelRow,E=y.TextControl,C=y.ColorPalette,_=y.RangeControl,x=window.exactmetrics_gutenberg_tool_vars,k={setThemes:function(e){return{type:"SET_THEMES",themes:e}},receiveThemes:function(e){return{type:"RECEIVE_THEMES",path:e}}};g("exactmetrics/v1/popular-posts/inline",{reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{themes:{}},t=arguments[1];switch(t.type){case"SET_THEMES":return s()({},e,{themes:t.themes})}return e},actions:k,selectors:{receiveThemes:function(e){return e.themes}},controls:{RECEIVE_THEMES:function(e){return m({path:e.path})}},resolvers:{receiveThemes:a.a.mark(function e(t){var n,r;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k.receiveThemes("/exactmetrics/v1/popular-posts/themes/inline");case 2:if(n=e.sent,void 0===n.themes){e.next=6;break}for(r in n.themes)n.themes.hasOwnProperty(r)&&(n.themes[r].value=r);return e.abrupt("return",k.setThemes(n));case 6:case"end":return e.stop()}},e,this)})}}),p("exactmetrics/popular-posts-inline",{title:d("Inline Popular Posts","google-analytics-dashboard-for-wp"),description:d("Add inline popular posts from ExactMetrics","google-analytics-dashboard-for-wp"),category:"widgets",icon:c.a.inlinepop,keywords:[d("Popular","google-analytics-dashboard-for-wp"),d("Posts","google-analytics-dashboard-for-wp"),d("Inline","google-analytics-dashboard-for-wp"),"ExactMetrics"],example:{},attributes:{theme:{type:"string"},title_size:{type:"number"},title_color:{type:"string"},label_color:{type:"string"},label_text:{type:"string"},label_background:{type:"string"},background_color:{type:"string"},background_border:{type:"string"},icon_background:{type:"string"},icon_color:{type:"string"},border_color:{type:"string"},border_color2:{type:"string"}},edit:w(function(e){return{themes:e("exactmetrics/v1/popular-posts/inline").receiveThemes()}})(function(e){var t=e.attributes,n=t.theme,r=(t.title_size,t.title_color,t.label_color,t.label_text,t.label_background,t.background_color,t.background_border,t.icon_background,t.icon_color,t.border_color,t.border_color2,e.themes),o=e.setAttributes,a=[{name:"pink",color:"#F58EA8"},{name:"red",color:"#CD3034"},{name:"orange",color:"#FD6A21"},{name:"yellow",color:"#FBB82B"},{name:"green",color:"#7FDBB6"},{name:"green",color:"#21CF86"},{name:"blue",color:"#91D2FA"},{name:"blue",color:"#1B95E0"},{name:"purple",color:"#9A57DD"},{name:"gray",color:"#EEEEEE"},{name:"gray",color:"#ACB8C3"},{name:"black",color:"#000000"}],l=void 0!==r.themes?r.themes:{},s=void 0===e.attributes.theme?r.selected:n,p=void 0!==s&&void 0!==l[s]?l[s]:{},h=void 0!==p.styles?p.styles:{},m={};for(var f in h)if(h.hasOwnProperty(f))for(var g in h[f])if(h[f].hasOwnProperty(g)){var w=f+"_"+g;void 0===e.attributes[w]?m[w]=h[f][g]:m[w]=e.attributes[w]}var y=function(e,t){var n=m[t];return wp.element.createElement(_,{key:"exactmetrics-popular-posts-input"+t,label:e,value:parseInt(n),min:1,max:100,onChange:function(e){return o(i()({},t,""===e?"":parseInt(e)))}})},k=function(e,t){var n=m[t];return wp.element.createElement(E,{key:"exactmetrics-popular-posts-input"+t,label:e,type:"text",value:n,onChange:function(e){return o(i()({},t,e))}})},O=function(e,t){var n=m[t];return[wp.element.createElement("label",{key:"exactmetrics-popular-posts-label"+t},e),wp.element.createElement(C,{key:"exactmetrics-popular-posts-input"+t,value:n,colors:a,onChange:function(e){o(i()({},t,e))}})]};return[wp.element.createElement(v,{key:"exactmetrics-popular-posts-inline-inspector-controls"},wp.element.createElement(b,{title:d("Theme","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-theme"},wp.element.createElement(S,{key:"exactmetrics-popular-posts-inline-theme-row"},wp.element.createElement(u.a,{id:"exactmetrics-popular-posts-inline-theme",options:l,selected:s,icons:c.a,onChange:function(e){o({theme:e})}}))),function(){if(void 0!==h.title){var e=[];return void 0!==h.title.size&&e.push(y(d("Title Font Size","google-analytics-dashboard-for-wp"),"title_size")),void 0!==h.title.color&&e.push(O(d("Title Color","google-analytics-dashboard-for-wp"),"title_color")),wp.element.createElement(b,{title:d("Title Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-title"},e)}}(),function(){if(void 0!==h.label){var e=[];return void 0!==h.label.text&&e.push(k(d("Label Text","google-analytics-dashboard-for-wp"),"label_text")),void 0!==h.label.color&&e.push(O(d("Label Color","google-analytics-dashboard-for-wp"),"label_color")),void 0!==h.label.background&&e.push(O(d("Label Background","google-analytics-dashboard-for-wp"),"label_background")),wp.element.createElement(b,{title:d("Label Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-label"}," ",e," ")}}(),function(){var e=[];if(void 0!==h.border&&void 0!==h.border.color&&e.push(O(d("Border Color","google-analytics-dashboard-for-wp"),"border_color")),void 0!==h.border&&void 0!==h.border.color2&&e.push(O(d("Bottom Border Color","google-analytics-dashboard-for-wp"),"border_color2")),void 0!==h.background&&void 0!==h.background.border&&e.push(O(d("Border Color","google-analytics-dashboard-for-wp"),"background_border")),0!==e.length)return wp.element.createElement(b,{title:d("Border Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-border"}," ",e," ")}(),function(){if(void 0!==h.background&&void 0!==h.background.color){var e=[];return void 0!==h.background.color&&e.push(O(d("Background Color","google-analytics-dashboard-for-wp"),"background_color")),wp.element.createElement(b,{title:d("Background Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-background"}," ",e," ")}}(),function(){if(void 0!==h.icon){var e=[];return void 0!==h.icon.color&&e.push(O(d("Icon Color","google-analytics-dashboard-for-wp"),"icon_color")),void 0!==h.icon.background&&e.push(O(d("Icon Background Color","google-analytics-dashboard-for-wp"),"icon_background")),wp.element.createElement(b,{title:d("Icon Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-icon"}," ",e," ")}}()),wp.element.createElement("div",{key:"exactmetrics-popular-posts-inline-preview"},wp.element.createElement("div",{className:"exactmetrics-inline-popular-posts-widget exactmetrics-inline-popular-posts-"+s,style:{backgroundColor:m.background_color,borderColor:m.background_border}},function(){if(void 0!==p.image&&p.image){var e=void 0!==h.image?h.image:"theme-preview-image.jpg";return wp.element.createElement("div",{className:"exactmetrics-inline-popular-posts-image"},wp.element.createElement("img",{src:x.vue_assets_path+"img/"+e}))}}(),wp.element.createElement("div",{className:"exactmetrics-inline-popular-posts-text"},function(){if(void 0!==h.icon)return wp.element.createElement("span",{className:"exactmetrics-inline-popular-posts-icon",style:{backgroundColor:m.icon_background}},c.a.themeIcon(m.icon_color))}(),function(){if(void 0!==h.label)return wp.element.createElement("span",{style:{color:m.label_color,backgroundColor:m.label_background},className:"exactmetrics-inline-popular-posts-label"},m.label_text)}(),function(){if(void 0!==h.border&&void 0!==h.border.color)return wp.element.createElement("span",{className:"exactmetrics-inline-popular-posts-border",style:{borderColor:m.border_color}})}(),function(){if(void 0!==h.title&&void 0===p.list&&void 0!==h.title.text)return wp.element.createElement("a",{href:"#",className:"exactmetrics-inline-popular-posts-title",style:{color:m.title_color,fontSize:m.title_size+"px"}},h.title.text)}(),function(){if(void 0!==p.list){var e=[];for(var t in p.list)e.push(wp.element.createElement("li",{key:"exactmetrics-popular-posts-preview-list-item-"+t,style:{color:m.title_color,fontSize:m.title_size+"px"}},p.list[t]));return wp.element.createElement("ul",{className:"exactmetrics-inline-popular-posts-list"},e)}}(),function(){if(void 0!==h.border&&void 0!==h.border.color2)return wp.element.createElement("span",{className:"exactmetrics-inline-popular-posts-border-2",style:{borderColor:m.border_color2}})}())))]}),save:function(e){return null}})},function(e,t,n){n(147);var r=n(0).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){var r=n(4);r(r.S+r.F*!n(7),"Object",{defineProperty:n(6).f})},function(e,t,n){var r=function(){return this}()||Function("return this")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n(149),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";function n(e,t,n,r){var o=t&&t.prototype instanceof i?t:i,a=Object.create(o.prototype),l=new h(r||[]);return a._invoke=c(e,n,l),a}function r(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function i(){}function o(){}function a(){}function l(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function s(e){function t(n,i,o,a){var l=r(e[n],e,i);if("throw"!==l.type){var s=l.arg,c=s.value;return c&&"object"==typeof c&&v.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(c).then(function(e){s.value=e,o(s)},a)}a(l.arg)}function n(e,n){function r(){return new Promise(function(r,i){t(e,n,r,i)})}return i=i?i.then(r,r):r()}var i;this._invoke=n}function c(e,t,n){var i=x;return function(o,a){if(i===O)throw new Error("Generator is already running");if(i===T){if("throw"===o)throw a;return f()}for(n.method=o,n.arg=a;;){var l=n.delegate;if(l){var s=u(l,n);if(s){if(s===F)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===x)throw i=T,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=O;var c=r(e,t,n);if("normal"===c.type){if(i=n.done?T:k,c.arg===F)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(i=T,n.method="throw",n.arg=c.arg)}}}function u(e,t){var n=e.iterator[t.method];if(n===g){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=g,u(e,t),"throw"===t.method))return F;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return F}var i=r(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,F;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=g),t.delegate=null,F):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,F)}function d(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function p(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(d,this),this.reset(!0)}function m(e){if(e){var t=e[b];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(v.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=g,t.done=!0,t};return r.next=r}}return{next:f}}function f(){return{value:g,done:!0}}var g,w=Object.prototype,v=w.hasOwnProperty,y="function"==typeof Symbol?Symbol:{},b=y.iterator||"@@iterator",S=y.asyncIterator||"@@asyncIterator",E=y.toStringTag||"@@toStringTag",C="object"==typeof e,_=t.regeneratorRuntime;if(_)return void(C&&(e.exports=_));_=t.regeneratorRuntime=C?e.exports:{},_.wrap=n;var x="suspendedStart",k="suspendedYield",O="executing",T="completed",F={},M={};M[b]=function(){return this};var N=Object.getPrototypeOf,j=N&&N(N(m([])));j&&j!==w&&v.call(j,b)&&(M=j);var P=a.prototype=i.prototype=Object.create(M);o.prototype=P.constructor=a,a.constructor=o,a[E]=o.displayName="GeneratorFunction",_.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===o||"GeneratorFunction"===(t.displayName||t.name))},_.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,E in e||(e[E]="GeneratorFunction")),e.prototype=Object.create(P),e},_.awrap=function(e){return{__await:e}},l(s.prototype),s.prototype[S]=function(){return this},_.AsyncIterator=s,_.async=function(e,t,r,i){var o=new s(n(e,t,r,i));return _.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},l(P),P[E]="Generator",P[b]=function(){return this},P.toString=function(){return"[object Generator]"},_.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},_.values=m,h.prototype={constructor:h,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=g,this.done=!1,this.delegate=null,this.method="next",this.arg=g,this.tryEntries.forEach(p),!e)for(var t in this)"t"===t.charAt(0)&&v.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=g)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,r){return o.type="throw",o.arg=e,n.next=t,r&&(n.method="next",n.arg=g),!!r}if(this.done)throw e;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var a=v.call(i,"catchLoc"),l=v.call(i,"finallyLoc");if(a&&l){if(this.prev<i.catchLoc)return t(i.catchLoc,!0);if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&v.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,F):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),F},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),F}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;p(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:m(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=g),F}}}(function(){return this}()||Function("return this")())},function(e,t,n){"use strict";var r={};r.inlinepop=wp.element.createElement("svg",{width:"20",height:"16",viewBox:"0 0 20 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 0H20V2H0V0ZM20 14V16H0V14H20ZM2 4C0.895431 4 0 4.89543 0 6V10C0 11.1046 0.895431 12 2 12H6C7.10457 12 8 11.1046 8 10V6C8 4.89543 7.10457 4 6 4H2ZM10 5H20V7H10V5ZM18 9H10V11H18V9Z",fill:"#555D66"})),r.alpha=wp.element.createElement("svg",{width:"70",height:"38",viewBox:"0 0 70 38",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"37.8947",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"5.72728",y:"19.8947",width:"58.5455",height:"8.52632",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"5.72728",y:"7.57892",width:"17.1818",height:"8.52632",rx:"3",fill:"#8453F7"})),r.beta=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"31",y:"21",width:"32",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"31",y:"10",width:"18",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"7",y:"10",width:"20",height:"20",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"1.5",y:"1.5",width:"67",height:"37",rx:"1.5",stroke:"#F0EAFE",strokeWidth:"3"})),r.charlie=wp.element.createElement("svg",{width:"70",height:"28",viewBox:"0 0 70 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"16",y:"19",width:"54",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"11",width:"70",height:"3",rx:"1.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{width:"26",height:"7",rx:"3",fill:"#8453F7"}),wp.element.createElement("circle",{cx:"4.5",cy:"23.5",r:"4.5",fill:"#6528F5"})),r.delta=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"8",y:"21",width:"54",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"22",y:"9",width:"18",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("path",{d:"M12.0303 9.5625C12.4613 8.8125 13.5387 8.8125 13.9697 9.5625L17.8483 16.3125C18.2793 17.0625 17.7406 18 16.8787 18H9.12134C8.25942 18 7.72072 17.0625 8.15168 16.3125L12.0303 9.5625Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"1.5",y:"1.5",width:"67",height:"37",rx:"1.5",stroke:"#F0EAFE",strokeWidth:"3"})),r.echo=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"24.8182",y:"16",width:"39.4545",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"5.72728",y:"16",width:"15.2727",height:"9",rx:"3",fill:"#8453F7"})),r.foxtrot=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"26",y:"22",width:"44",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"26",y:"9",width:"28",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{y:"9",width:"22",height:"22",rx:"3",fill:"#8453F7"})),r.golf=wp.element.createElement("svg",{width:"70",height:"29",viewBox:"0 0 70 29",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{y:"11",width:"70",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"26",width:"70",height:"3",rx:"1.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{width:"21",height:"7",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"25",y:"1",width:"45",height:"3",rx:"1.5",fill:"#D1BFFC"})),r.hotel=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"22",y:"16",width:"40",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("path",{d:"M12.0303 16.5625C12.4613 15.8125 13.5387 15.8125 13.9697 16.5625L17.8483 23.3125C18.2793 24.0625 17.7406 25 16.8787 25H9.12134C8.25942 25 7.72072 24.0625 8.15168 23.3125L12.0303 16.5625Z",fill:"#8453F7"})),r.india=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("g",{clipPath:"url(#clip0)"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"26",y:"16",width:"36",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"16",width:"14",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"41",width:"41",height:"4",transform:"rotate(-90 0 41)",fill:"#8453F7"})),wp.element.createElement("defs",null,wp.element.createElement("clipPath",{id:"clip0"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"white"})))),r.juliett=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"30",y:"20",width:"32",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("path",{d:"M50 14C50 12.3431 51.3431 11 53 11H60C61.1046 11 62 11.8954 62 13V15C62 16.6569 60.6569 18 59 18H53C51.3431 18 50 16.6569 50 15V14Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"30",y:"11",width:"32",height:"4",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"8",y:"11",width:"18",height:"18",rx:"3",fill:"#8453F7"})),r.kilo=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{y:"22",width:"70",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"9",width:"26",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"12.7273",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"25.4545",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"38.1818",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"50.9091",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"63.6364",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"12.7273",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"25.4545",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"38.1818",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"50.9091",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"63.6364",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"})),r.lima=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"6",y:"22",width:"32",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"6",y:"8",width:"20",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"42",y:"9",width:"22",height:"22",rx:"3",fill:"#8453F7"})),r.mike=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"35",y:"15",width:"27",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M28.8438 28H10.1562C9.55729 28 9.04818 27.7934 8.62891 27.3802C8.20964 26.967 8 26.4653 8 25.875V22.3C8 21.0297 9.02974 20 10.3 20H21.7C22.9703 20 24 18.9703 24 17.7V13.3C24 12.0297 25.0297 11 26.3 11H28.8438C29.4427 11 29.9518 11.2066 30.3711 11.6198C30.7904 12.033 31 12.5347 31 13.125V25.875C31 26.4653 30.7904 26.967 30.3711 27.3802C29.9518 27.7934 29.4427 28 28.8438 28ZM10.3 11C9.02974 11 8 12.0297 8 13.3V15.7C8 16.9703 9.02974 18 10.3 18H19.7C20.9703 18 22 16.9703 22 15.7V13.3C22 12.0297 20.9703 11 19.7 11H10.3Z",fill:"#8453F7"})),r.november=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"29",y:"22",width:"33",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"29",y:"9",width:"18",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17 28C21.4183 28 25 24.4183 25 20C25 15.5817 21.4183 12 17 12C12.5817 12 9 15.5817 9 20C9 24.4183 12.5817 28 17 28ZM20.544 21.8756L17.5907 16.7081C17.3281 16.2488 16.6719 16.2488 16.4093 16.7081L13.456 21.8756C13.1935 22.3349 13.5217 22.9091 14.0467 22.9091H19.9533C20.4783 22.9091 20.8065 22.3349 20.544 21.8756Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"1.5",y:"1.5",width:"67",height:"37",rx:"1.5",stroke:"#F0EAFE",strokeWidth:"3"})),r.themeIcon=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#EB5757";return wp.element.createElement("svg",{width:"14",height:"19",viewBox:"0 0 14 19",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M7.875 0.899463C7.875 1.59183 8.0816 2.24711 8.49479 2.8653C8.93229 3.48349 9.44271 4.06458 10.026 4.60859C10.6337 5.15259 11.2292 5.73369 11.8125 6.35188C12.4201 6.97007 12.9306 7.76135 13.3438 8.72572C13.7812 9.66537 14 10.7163 14 11.8785C14 13.832 13.3073 15.5011 11.9219 16.8858C10.5608 18.2953 8.92014 19 7 19C5.07986 19 3.42708 18.2953 2.04167 16.8858C0.680556 15.5011 0 13.832 0 11.8785C0 9.94973 0.668403 8.28062 2.00521 6.87116C2.27257 6.57443 2.58854 6.50024 2.95312 6.64861C3.31771 6.79697 3.5 7.08134 3.5 7.50171V10.6545C3.5 11.3221 3.71875 11.8908 4.15625 12.3607C4.61806 12.8305 5.16493 13.0654 5.79688 13.0654C6.45312 13.0654 7.01215 12.8428 7.47396 12.3978C7.93576 11.9279 8.16667 11.3592 8.16667 10.6916C8.16667 10.2712 8.04514 9.86318 7.80208 9.46754C7.58333 9.0719 7.31597 8.71336 7 8.3919C6.68403 8.07044 6.34375 7.73662 5.97917 7.39043C5.63889 7.04425 5.34722 6.66097 5.10417 6.2406C4.88542 5.82024 4.73958 5.35041 4.66667 4.83114C4.59375 4.31186 4.67882 3.68131 4.92188 2.93948C5.18924 2.17293 5.63889 1.33219 6.27083 0.417277C6.51389 0.0463641 6.84201 -0.0772735 7.25521 0.0463641C7.6684 0.170002 7.875 0.454368 7.875 0.899463Z",fill:e}))},t.a=r},function(e,t,n){"use strict";var r={};r.canaccess=function(e){return"lite"===e},t.a=r},function(e,t,n){"use strict";var r={};r.checkmark=wp.element.createElement("svg",{width:"24",height:"20",viewBox:"0 0 24 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M21.0565 2.94355C23.0188 4.87903 24 7.23118 24 10C24 12.7688 23.0188 15.1344 21.0565 17.0968C19.121 19.0323 16.7688 20 14 20C11.2312 20 8.86559 19.0323 6.90323 17.0968C4.96774 15.1344 4 12.7688 4 10C4 7.23118 4.96774 4.87903 6.90323 2.94355C8.86559 0.981183 11.2312 0 14 0C16.7688 0 19.121 0.981183 21.0565 2.94355ZM12.8306 15.2823L20.25 7.8629C20.5726 7.5672 20.5726 7.27151 20.25 6.97581L19.3629 6.04839C19.0403 5.75269 18.7312 5.75269 18.4355 6.04839L12.3871 12.0968L9.56452 9.27419C9.26882 8.97849 8.95968 8.97849 8.6371 9.27419L7.75 10.2016C7.42742 10.4973 7.42742 10.793 7.75 11.0887L11.9435 15.2823C12.2392 15.6048 12.5349 15.6048 12.8306 15.2823Z",fill:"#6528f5"})),r.chevronright=wp.element.createElement("svg",{width:"5",height:"8",viewBox:"0 0 5 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M4.84913 3.68807L1.19048 0.12844C1.10247 0.0428134 0.995599 -4.3519e-08 0.869873 -3.80233e-08C0.744146 -3.25276e-08 0.637278 0.0428134 0.549269 0.12844L0.134371 0.53211C0.0463618 0.617737 0.00235741 0.721713 0.00235742 0.844037C-0.0102153 0.966361 0.0275028 1.07034 0.115512 1.15596L3.03866 4L0.115512 6.84404C0.0275031 6.92966 -0.010215 7.03364 0.00235769 7.15596C0.0023577 7.27829 0.0463621 7.38226 0.134371 7.46789L0.549269 7.87156C0.637278 7.95719 0.744146 8 0.869873 8C0.9956 8 1.10247 7.95719 1.19048 7.87156L4.84913 4.31193C4.94971 4.2263 5 4.12232 5 4C5 3.87768 4.94971 3.7737 4.84913 3.68807Z",fill:"#C4C4C4"})),r.chevronleft=wp.element.createElement("svg",{width:"5",height:"8",viewBox:"0 0 5 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M0.150873 3.68807L3.80952 0.12844C3.89753 0.0428134 4.0044 -4.3519e-08 4.13013 -3.80233e-08C4.25585 -3.25276e-08 4.36272 0.0428134 4.45073 0.12844L4.86563 0.53211C4.95364 0.617737 4.99764 0.721713 4.99764 0.844037C5.01022 0.966361 4.9725 1.07034 4.88449 1.15596L1.96134 4L4.88449 6.84404C4.9725 6.92966 5.01021 7.03364 4.99764 7.15596C4.99764 7.27829 4.95364 7.38226 4.86563 7.46789L4.45073 7.87156C4.36272 7.95719 4.25585 8 4.13013 8C4.0044 8 3.89753 7.95719 3.80952 7.87156L0.150873 4.31193C0.0502914 4.2263 2.96645e-07 4.12232 3.01992e-07 4C3.07339e-07 3.87768 0.0502914 3.7737 0.150873 3.68807Z",fill:"#C4C4C4"})),t.a=r},function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){s(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function m(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}function f(e,t){if(null==e)return{};var n,r,i=m(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function w(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function v(e){var t=h();return function(){var n,r=d(e);if(t){var i=d(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return w(this,n)}}function y(e){return b(e)||S(e)||E(e)||_()}function b(e){if(Array.isArray(e))return C(e)}function S(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function E(e,t){if(e){if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,t){return t={exports:{}},e(t,t.exports),t.exports}function k(){}function O(){}function T(e){return e.map(function(e){return!1===e?null:e}).join(" ").replace(/\s+/g," ").trim()}function F(e,t){return 100/e*t/t}function M(e,t){return 100*e/t}function N(e){return"".concat(e,"%")}function j(e,t,n){if(e===t)return!0;var r=ie[re(e)],i=ie[re(t)];return!(!r||r!==i)&&r(e,t,n)}function P(e){return function(t,n,r){if(!r)return e(t,n,[]);for(var i,o=r.length;i=r[--o];)if(i[0]===t&&i[1]===n)return!0;return e(t,n,r)}}function D(e,t,n){var r=e.length;if(r!==t.length)return!1;for(n.push([e,t]);r--;)if(!j(e[r],t[r],n))return!1;return!0}function A(e,t,n){if("function"==typeof e.equal)return n.push([e,t]),e.equal(t,n);var r=L(e),i=L(t),o=r.length;if(o!==i.length)return!1;for(r.sort(),i.sort();o--;)if(r[o]!==i[o])return!1;for(n.push([e,t]),o=r.length;o--;){var a=r[o];if(!j(e[a],t[a],n))return!1}return!0}function L(e){var t=[];for(var n in e)"constructor"!==n&&t.push(n);return t}function B(e){return!!e&&"object"==typeof e}function z(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||R(e)}function R(e){return e.$$typeof===se}function H(e){return Array.isArray(e)?[]:{}}function I(e,t){return!1!==t.clone&&t.isMergeableObject(e)?W(H(e),e,t):e}function q(e,t,n){return e.concat(t).map(function(e){return I(e,n)})}function V(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(t){r[t]=I(e[t],n)}),Object.keys(t).forEach(function(i){n.isMergeableObject(t[i])&&e[i]?r[i]=W(e[i],t[i],n):r[i]=I(t[i],n)}),r}function W(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||q,n.isMergeableObject=n.isMergeableObject||ae;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):V(e,t,n):I(t,n)}function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return{}},n=function(n){function r(e,n){var l;return o(this,r),l=a.call(this,e,n),l.state=t(i({},n.state)),l.updateStateProps=l.updateStateProps.bind(g(l)),l}u(r,n);var a=v(r);return l(r,[{key:"componentDidMount",value:function(){this.context.subscribe(this.updateStateProps)}},{key:"shouldComponentUpdate",value:function(e,t){return!oe(t,this.state)||!oe(e,this.props)}},{key:"componentWillUnmount",value:function(){this.context.unsubscribe(this.updateStateProps)}},{key:"updateStateProps",value:function(){this.setState(t(i({},this.context.state)))}},{key:"render",value:function(){var t=this,n=de(this.state,this.props);return Y.a.createElement(e,c({ref:function(e){t.instance=e}},n,{carouselStore:{getStoreState:this.context.getStoreState,masterSpinnerError:this.context.masterSpinnerError,masterSpinnerSuccess:this.context.masterSpinnerSuccess,setStoreState:this.context.setStoreState,subscribeMasterSpinner:this.context.subscribeMasterSpinner,unsubscribeAllMasterSpinner:this.context.unsubscribeAllMasterSpinner,unsubscribeMasterSpinner:this.context.unsubscribeMasterSpinner}}),this.props.children)}}]),r}(Y.a.Component);return s(n,"contextType",pe),s(n,"propTypes",{children:J.children}),s(n,"defaultProps",{children:null}),n}n.d(t,"a",function(){return Me}),n.d(t,"b",function(){return Be}),n.d(t,"c",function(){return we}),n.d(t,"d",function(){return Je}),n.d(t,"e",function(){return St}),n.d(t,"f",function(){return Tt});var U=n(69),Y=n.n(U),X="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";O.resetWarningCache=k;var G=function(){function e(e,t,n,r,i,o){if(o!==X){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:O,resetWarningCache:k};return n.PropTypes=n,n},K=x(function(e){e.exports=G()}),$="loading",J={children:K.oneOfType([K.arrayOf(K.node),K.node]),direction:K.oneOf(["forward","backward"]),height:function(e,t){var n=e[t];return"vertical"!==e.orientation||null!==n&&"number"==typeof n?null:new Error("Missing required property '".concat(t,"' when orientation is vertical. You must supply a number representing the height in pixels"))},orientation:K.oneOf(["horizontal","vertical"]),isBgImage:function(e,t){return!0===e[t]&&"img"===e.tag?new Error("HTML img elements should not have a backgroundImage. Please use ".concat(t," for other block-level HTML tags, like div, a, section, etc...")):null}},Q=function(e){var t=e.min,n=e.max,r=e.x;return Math.min(n,Math.max(t,r))},ee={buttonBack:"buttonBack___1mlaL"},te=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],ne=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=v(t);return l(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.currentSlide,i=t.onClick,o=t.step,a=t.infinite,l=t.visibleSlides,s=t.totalSlides-l,c=Math.max(r-o,0);a&&(c=0===r?s:c),n.setStoreState({currentSlide:c,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=(e.currentSlide,e.disabled,e.onClick,e.step,e.totalSlides,e.visibleSlides,e.infinite),i=f(e,te),o=T([ee.buttonBack,"carousel__back-button",n]),a=t.setDisabled(this.props.disabled,this.props.currentSlide,r);return Y.a.createElement("button",c({type:"button","aria-label":"previous",className:o,onClick:this.handleOnClick,disabled:a},i),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n){return null!==e?e:0===t&&!n}}]),t}(Y.a.Component);s(ne,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,step:K.number.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,infinite:K.bool}),s(ne,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1});var re=x(function(e,t){var n={}.toString,r="undefined"!=typeof window?window.Node:Function;e.exports=t=function(e){var t=typeof e;if("object"!=t)return t;if("object"==(t=i[n.call(e)]))return e instanceof Map?"map":e instanceof Set?"set":"object";if(t)return t;if(e instanceof r)switch(e.nodeType){case 1:return"element";case 3:return"text-node";case 9:return"document";case 11:return"document-fragment";default:return"dom-node"}};var i=t.types={"[object Function]":"function","[object Date]":"date","[object RegExp]":"regexp","[object Arguments]":"arguments","[object Array]":"array","[object Set]":"set","[object String]":"string","[object Null]":"null","[object Undefined]":"undefined","[object Number]":"number","[object Boolean]":"boolean","[object Object]":"object","[object Map]":"map","[object Text]":"text-node","[object Uint8Array]":"bit-array","[object Uint16Array]":"bit-array","[object Uint32Array]":"bit-array","[object Uint8ClampedArray]":"bit-array","[object Error]":"error","[object FormData]":"form-data","[object File]":"file","[object Blob]":"blob"}}),ie=(re.types,{});ie.number=function(e,t){return e!==e&&t!==t},ie.function=function(e,t,n){return e.toString()===t.toString()&&ie.object(e,t,n)&&j(e.prototype,t.prototype)},ie.date=function(e,t){return+e==+t},ie.regexp=function(e,t){return e.toString()===t.toString()},ie.element=function(e,t){return e.outerHTML===t.outerHTML},ie.textnode=function(e,t){return e.textContent===t.textContent},ie.arguments=ie["bit-array"]=ie.array=P(D),ie.object=P(A);var oe=j,ae=function(e){return B(e)&&!z(e)},le="function"==typeof Symbol&&Symbol.for,se=le?Symbol.for("react.element"):60103;W.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return W(e,n,t)},{})};var ce,ue,de=W,pe=Y.a.createContext(),he=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach(function(n){!t.hasOwnProperty(n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||e(t[n])}),t},me={masterSpinnerFinished:!1},fe=function(){function e(t){o(this,e),this.state=he(de(me,t)),this.subscriptions=[],this.masterSpinnerSubscriptions={},this.setStoreState=this.setStoreState.bind(this),this.getStoreState=this.getStoreState.bind(this),this.subscribe=this.subscribe.bind(this),this.unsubscribe=this.unsubscribe.bind(this),this.updateSubscribers=this.updateSubscribers.bind(this),this.subscribeMasterSpinner=this.subscribeMasterSpinner.bind(this),this.unsubscribeMasterSpinner=this.unsubscribeMasterSpinner.bind(this),this.unsubscribeAllMasterSpinner=this.unsubscribeAllMasterSpinner.bind(this),this.masterSpinnerSuccess=this.masterSpinnerSuccess.bind(this),this.masterSpinnerError=this.masterSpinnerError.bind(this)}return l(e,[{key:"setStoreState",value:function(e,t){this.state=he(de(this.state,e)),this.updateSubscribers(t)}},{key:"getStoreState",value:function(){return de({},this.state)}},{key:"subscribe",value:function(e){this.subscriptions.push(e)}},{key:"unsubscribe",value:function(e){var t=this.subscriptions.indexOf(e);-1!==t&&this.subscriptions.splice(t,1)}},{key:"updateSubscribers",value:function(e){this.subscriptions.forEach(function(e){return e()}),"function"==typeof e&&e(this.getStoreState())}},{key:"subscribeMasterSpinner",value:function(e){-1===Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.masterSpinnerSubscriptions[e]={success:!1,error:!1,complete:!1})}},{key:"unsubscribeMasterSpinner",value:function(e){return-1!==Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.setMasterSpinnerFinished(),delete this.masterSpinnerSubscriptions[e])}},{key:"unsubscribeAllMasterSpinner",value:function(){this.masterSpinnerSubscriptions={},this.setMasterSpinnerFinished()}},{key:"masterSpinnerSuccess",value:function(e){this.masterSpinnerSubscriptions[e].success=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"masterSpinnerError",value:function(e){this.masterSpinnerSubscriptions[e].error=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"setMasterSpinnerFinished",value:function(){this.setStoreState({masterSpinnerFinished:this.isMasterSpinnerFinished()})}},{key:"isMasterSpinnerFinished",value:function(){var e=this;return 0===Object.keys(this.masterSpinnerSubscriptions).filter(function(t){return!0!==e.masterSpinnerSubscriptions[t].complete}).length}}]),e}(),ge=["children","className","currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPageScrollLocked","isPlaying","lockOnWindowScroll","naturalSlideHeight","naturalSlideWidth","orientation","playDirection","step","dragStep","tag","totalSlides","touchEnabled","dragEnabled","visibleSlides","infinite","isIntrinsicHeight"],we=(ue=ce=function(e){function t(e){var r;if(o(this,t),r=n.call(this,e),e.isIntrinsicHeight&&"horizontal"!==e.orientation)throw Error('isIntrinsicHeight can only be used in "horizontal" orientation. See Readme for more information.');var i={currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,disableKeyboard:e.disableKeyboard,hasMasterSpinner:e.hasMasterSpinner,imageErrorCount:0,imageSuccessCount:0,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,masterSpinnerThreshold:0,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,privateUnDisableAnimation:!1,slideSize:F(e.totalSlides,e.visibleSlides),slideTraySize:M(e.totalSlides,e.visibleSlides),step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,dragEnabled:e.dragEnabled,visibleSlides:e.visibleSlides,infinite:e.infinite,isIntrinsicHeight:e.isIntrinsicHeight};return r.carouselStore=new fe(i),r}u(t,e);var n=v(t);return l(t,[{key:"componentDidUpdate",value:function(e){var t=this,n={};["currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPlaying","naturalSlideHeight","naturalSlideWidth","lockOnWindowScroll","orientation","playDirection","step","dragStep","totalSlides","touchEnabled","dragEnabled","visibleSlides"].forEach(function(r){e[r]!==t.props[r]&&(n[r]=t.props[r])}),this.props.currentSlide!==e.currentSlide&&!this.props.disableAnimation&&(n.disableAnimation=!0,n.privateUnDisableAnimation=!0),this.props.totalSlides===e.totalSlides&&this.props.visibleSlides===e.visibleSlides||(n.slideSize=F(this.props.totalSlides,this.props.visibleSlides),n.slideTraySize=M(this.props.totalSlides,this.props.visibleSlides)),this.carouselStore.state.currentSlide>=this.props.totalSlides&&(n.currentSlide=Math.max(this.props.totalSlides-1,0)),Object.keys(n).length>0&&this.carouselStore.setStoreState(n)}},{key:"componentWillUnmount",value:function(){this.carouselStore.unsubscribeAllMasterSpinner()}},{key:"getStore",value:function(){return this.carouselStore}},{key:"render",value:function(){var e=this.props,t=(e.children,e.className,e.currentSlide,e.disableAnimation,e.disableKeyboard,e.hasMasterSpinner,e.interval,e.isPageScrollLocked,e.isPlaying,e.lockOnWindowScroll,e.naturalSlideHeight,e.naturalSlideWidth,e.orientation,e.playDirection,e.step,e.dragStep,e.tag),n=(e.totalSlides,e.touchEnabled,e.dragEnabled,e.visibleSlides,e.infinite,e.isIntrinsicHeight,f(e,ge)),r=T(["carousel",this.props.className]);return Y.a.createElement(t,c({className:r},n),Y.a.createElement(pe.Provider,{value:this.carouselStore},this.props.children))}}]),t}(Y.a.Component),s(ce,"propTypes",{children:J.children.isRequired,className:K.string,currentSlide:K.number,disableAnimation:K.bool,disableKeyboard:K.bool,hasMasterSpinner:K.bool,interval:K.number,isPageScrollLocked:K.bool,isPlaying:K.bool,lockOnWindowScroll:K.bool,naturalSlideHeight:K.number.isRequired,naturalSlideWidth:K.number.isRequired,orientation:J.orientation,playDirection:J.direction,step:K.number,dragStep:K.number,tag:K.string,totalSlides:K.number.isRequired,touchEnabled:K.bool,dragEnabled:K.bool,visibleSlides:K.number,infinite:K.bool,isIntrinsicHeight:K.bool}),s(ce,"defaultProps",{className:null,currentSlide:0,disableAnimation:!1,disableKeyboard:!1,hasMasterSpinner:!1,interval:5e3,isPageScrollLocked:!1,isPlaying:!1,lockOnWindowScroll:!1,orientation:"horizontal",playDirection:"forward",step:1,dragStep:1,tag:"div",touchEnabled:!0,dragEnabled:!0,visibleSlides:1,infinite:!1,isIntrinsicHeight:!1}),ue);pe.Consumer;var ve,ye,be,Se,Ee,Ce,_e,xe,ke,Oe,Te,Fe,Me=Z(ne,function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}}),Ne={buttonFirst:"buttonFirst___2rhFr"},je=["carouselStore","className","currentSlide","disabled","onClick","totalSlides"],Pe=(ye=ve=function(e){function t(){var e;return o(this,t),e=n.call(this),e.handleOnClick=e.handleOnClick.bind(g(e)),e}u(t,e);var n=v(t);return l(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.onClick;n.setStoreState({currentSlide:0,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,i=(e.onClick,e.totalSlides,f(e,je)),o=T([Ne.buttonFirst,"carousel__first-button",t]),a=null!==r?r:0===n;return Y.a.createElement("button",c({type:"button","aria-label":"first",className:o,onClick:this.handleOnClick,disabled:a},i),this.props.children)}}]),t}(Y.a.Component),s(ve,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,totalSlides:K.number.isRequired}),s(ve,"defaultProps",{className:null,disabled:null,onClick:null}),ye),De=(Z(Pe,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides}}),{buttonNext:"buttonNext___2mOCa"}),Ae=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],Le=(Se=be=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=v(t);return l(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.currentSlide,r=t.onClick,i=t.step,o=t.carouselStore,a=t.infinite,l=t.totalSlides-t.visibleSlides,s=i+n,c=Math.min(s,l);a&&(c=l===n?0:c),o.setStoreState({currentSlide:c,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=e.currentSlide,i=e.disabled,o=(e.onClick,e.step,e.totalSlides),a=e.visibleSlides,l=e.infinite,s=f(e,Ae),u=T([De.buttonNext,"carousel__next-button",n]),d=t.setDisabled(i,r,a,o,l);return Y.a.createElement("button",c({type:"button","aria-label":"next",className:u,onClick:this.handleOnClick,disabled:d},s),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n,r,i){return null!==e?e:t>=r-n&&!i}}]),t}(Y.a.PureComponent),s(be,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,step:K.number.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,infinite:K.bool}),s(be,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1}),Se),Be=Z(Le,function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}}),ze={buttonLast:"buttonLast___2yuh0"},Re=["carouselStore","className","currentSlide","disabled","onClick","totalSlides","visibleSlides"],He=(Ce=Ee=function(e){function t(){var e;return o(this,t),e=n.call(this),e.handleOnClick=e.handleOnClick.bind(g(e)),e}u(t,e);var n=v(t);return l(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.onClick,i=t.totalSlides,o=t.visibleSlides;n.setStoreState({currentSlide:i-o,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,i=(e.onClick,e.totalSlides),o=e.visibleSlides,a=f(e,Re),l=T([ze.buttonLast,"carousel__last-button",t]),s=null!==r?r:n>=i-o;return Y.a.createElement("button",c({type:"button","aria-label":"last",className:l,onClick:this.handleOnClick,disabled:s},a),this.props.children)}}]),t}(Y.a.Component),s(Ee,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired}),s(Ee,"defaultProps",{className:null,disabled:null,onClick:null}),Ce),Ie=(Z(He,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}}),{buttonNext:"buttonNext___3Lm3s"}),qe=["carouselStore","children","childrenPaused","childrenPlaying","className","isPlaying","onClick"],Ve=(xe=_e=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=v(t);return l(t,[{key:"handleOnClick",value:function(e){var t=this.props.onClick;this.props.carouselStore.setStoreState({isPlaying:!this.props.isPlaying},null!==t&&t.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.childrenPaused),n=e.childrenPlaying,r=e.className,i=e.isPlaying,o=(e.onClick,f(e,qe)),a=T([Ie.buttonNext,"carousel__play-button",r]);return Y.a.createElement("button",c({type:"button","aria-label":"play",className:a,onClick:this.handleOnClick},o),i&&n,!i&&t,this.props.children)}}]),t}(Y.a.PureComponent),s(_e,"propTypes",{carouselStore:K.object.isRequired,children:K.node,childrenPaused:K.node,childrenPlaying:K.node,className:K.string,isPlaying:K.bool.isRequired,onClick:K.func}),s(_e,"defaultProps",{children:null,childrenPaused:null,childrenPlaying:null,className:null,onClick:null}),xe),We=(Z(Ve,function(e){return{isPlaying:e.isPlaying}}),{dot:"dot___3c3SI"}),Ze=["carouselStore","children","className","currentSlide","disabled","onClick","selected","slide","totalSlides","visibleSlides"],Ue=(Oe=ke=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=v(t);return l(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.onClick,i=t.slide,o=t.totalSlides,a=t.visibleSlides,l=i>=o-a?o-a:i;n.setStoreState({currentSlide:l,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className),n=e.currentSlide,r=e.disabled,i=(e.onClick,e.selected),o=e.slide,a=(e.totalSlides,e.visibleSlides),l=f(e,Ze),s=o>=n&&o<n+a,u="boolean"==typeof i?i:s,d=!0===s,p="boolean"==typeof r?r:d,h=T([We.dot,u&&We.dotSelected,"carousel__dot","carousel__dot--".concat(o),u&&"carousel__dot--selected",t]);return Y.a.createElement("button",c({"aria-label":"slide dot",type:"button",onClick:this.handleOnClick,className:h,disabled:p},l),this.props.children)}}]),t}(Y.a.Component),s(ke,"propTypes",{carouselStore:K.object.isRequired,children:J.children,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,selected:K.bool,slide:K.number.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired}),s(ke,"defaultProps",{children:null,className:null,disabled:null,onClick:null,selected:null}),Oe),Ye=Z(Ue,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}}),Xe={},Ge=["renderDots"],Ke=["carouselStore","children","className","currentSlide","dotNumbers","totalSlides","visibleSlides","disableActiveDots","showAsSelectedForCurrentSlideOnly","renderDots"],$e=(Fe=Te=function(e){function t(){return o(this,t),n.apply(this,arguments)}u(t,e);var n=v(t);return l(t,[{key:"renderDots",value:function(){var e=this.props,t=e.currentSlide,n=e.totalSlides,r=e.visibleSlides,i=e.disableActiveDots,o=e.showAsSelectedForCurrentSlideOnly,a=e.renderDots;if(a){var l=this.props;return l.renderDots,a(f(l,Ge))}for(var s=[],c=0;c<n;c+=1){var u=c>=t&&c<t+r,d=c===t,p=o?d:u,h=c>=n-r?n-r:c;s.push(Y.a.createElement(Ye,{key:c,slide:h,selected:p,disabled:!!i&&p},Y.a.createElement("span",{className:T["carousel__dot-group-dot"]},this.props.dotNumbers&&c+1)))}return s}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children),n=e.className,r=(e.currentSlide,e.dotNumbers,e.totalSlides,e.visibleSlides,e.disableActiveDots,e.showAsSelectedForCurrentSlideOnly,e.renderDots,f(e,Ke)),i=T([Xe.DotGroup,"carousel__dot-group",n]);return Y.a.createElement("div",c({className:i},r),this.renderDots(),t)}}]),t}(Y.a.Component),s(Te,"propTypes",{children:J.children,className:K.string,currentSlide:K.number.isRequired,carouselStore:K.object.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,dotNumbers:K.bool,disableActiveDots:K.bool,showAsSelectedForCurrentSlideOnly:K.bool,renderDots:K.func}),s(Te,"defaultProps",{children:null,className:null,dotNumbers:!1,disableActiveDots:!0,showAsSelectedForCurrentSlideOnly:!1,renderDots:null}),Fe),Je=Z($e,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}}),Qe={image:"image___xtQGH"},et=["src","alt"],tt=["carouselStore","children","className","hasMasterSpinner","isBgImage","onError","onLoad","renderError","renderLoading","style","tag"],nt=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.state={imageStatus:$},r.handleImageLoad=r.handleImageLoad.bind(g(r)),r.handleImageError=r.handleImageError.bind(g(r)),r.image=null,r}u(t,e);var n=v(t);return l(t,[{key:"componentDidMount",value:function(){t.subscribeMasterSpinner(this.props),this.initImage()}},{key:"componentDidUpdate",value:function(e){e.src!==this.props.src&&(t.unsubscribeMasterSpinner(e),t.subscribeMasterSpinner(this.props),this.initImage())}},{key:"componentWillUnmount",value:function(){t.unsubscribeMasterSpinner(this.props),this.image.removeEventListener("load",this.handleImageLoad),this.image.removeEventListener("error",this.handleImageError),this.image=null}},{key:"initImage",value:function(){if(this.setState({imageStatus:$}),this.image=document.createElement("img"),this.image.addEventListener("load",this.handleImageLoad,!1),this.image.addEventListener("error",this.handleImageError,!1),this.image.src=this.props.src,this.image.readyState||this.image.complete){var e=this.image.src;this.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",this.image.src=e}}},{key:"handleImageLoad",value:function(e){this.setState({imageStatus:"success"}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerSuccess(this.props.src),this.props.onLoad&&this.props.onLoad(e)}},{key:"handleImageError",value:function(e){this.setState({imageStatus:"error"}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerError(this.props.src),this.props.onError&&this.props.onError(e)}},{key:"tempTag",value:function(){return"img"===this.props.tag?"div":this.props.tag}},{key:"customRender",value:function(e){return"function"==typeof this.props[e]?this.props[e]():this.props.children}},{key:"renderLoading",value:function(e){var t=this.tempTag(),n=T([Qe.image,Qe.imageLoading,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--loading",this.props.className]);return Y.a.createElement(t,c({className:n},e),this.customRender("renderLoading"))}},{key:"renderError",value:function(e){var t=this.tempTag(),n=T([Qe.image,Qe.imageError,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--error",this.props.className]);return Y.a.createElement(t,c({className:n},e),this.customRender("renderError"))}},{key:"renderSuccess",value:function(e){var t=this.props,n=t.style,r=t.tag,i=T([Qe.image,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--success",this.props.className]),o=c({},n),a=e;if("img"!==r){var l=e.src;e.alt,a=f(e,et),o=c({},n,{backgroundImage:'url("'.concat(l,'")'),backgroundSize:"cover"})}return Y.a.createElement(r,c({className:i,style:o},a),this.props.children)}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className,e.hasMasterSpinner,e.isBgImage,e.onError,e.onLoad,e.renderError,e.renderLoading,e.style,e.tag,f(e,tt));switch(this.state.imageStatus){case $:return this.renderLoading(t);case"success":return this.renderSuccess(t);case"error":return this.renderError(t);default:throw new Error("unknown value for this.state.imageStatus")}}}],[{key:"subscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.subscribeMasterSpinner(e.src)}},{key:"unsubscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.unsubscribeMasterSpinner(e.src)}}]),t}(Y.a.Component);s(nt,"propTypes",{alt:K.string,carouselStore:K.object.isRequired,children:J.children,className:K.string,hasMasterSpinner:K.bool.isRequired,isBgImage:J.isBgImage,onError:K.func,onLoad:K.func,renderError:K.func,renderLoading:K.func,src:K.string.isRequired,style:K.object,tag:K.string}),s(nt,"defaultProps",{alt:"",children:null,className:null,isBgImage:!1,onError:null,onLoad:null,renderError:null,renderLoading:null,style:null,tag:"img"});var rt,it,ot,at,lt,st,ct,ut,dt=Z(nt,function(e){return{hasMasterSpinner:e.hasMasterSpinner,orientation:e.orientation}}),pt={spinner:"spinner___27VUp",spin:"spin___S3UuE"},ht=["className"],mt=(it=rt=function(e){function t(){return o(this,t),n.apply(this,arguments)}u(t,e);var n=v(t);return l(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=f(e,ht),r=T([pt.spinner,"carousel__spinner",t]);return Y.a.createElement("div",c({className:r},n))}}]),t}(Y.a.PureComponent),s(rt,"propTypes",{className:K.string}),s(rt,"defaultProps",{className:null}),it),ft={container:"container___2O72F",overlay:"overlay___IV4qY",hover:"hover___MYy31",zoom:"zoom___3kqYk",loading:"loading___1pvNI",imageLoadingSpinnerContainer:"imageLoadingSpinnerContainer___3UIPD"},gt=["alt","bgImageProps","bgImageTag","carouselStore","className","imageClassName","overlayClassName","isPinchZoomEnabled","spinner","src","srcZoomed","tag"],wt=(at=ot=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.state={isImageLoading:!0,isHovering:!1,isZooming:!1,x:null,y:null,scale:1},r.tpCache={},r.handleImageComplete=r.handleImageComplete.bind(g(r)),r.handleOnMouseMove=r.handleOnMouseMove.bind(g(r)),r.handleOnMouseOut=r.handleOnMouseOut.bind(g(r)),r.handleOnMouseOver=r.handleOnMouseOver.bind(g(r)),r.handleOnTouchEnd=r.handleOnTouchEnd.bind(g(r)),r.handleOnTouchMove=r.handleOnTouchMove.bind(g(r)),r.handleOnTouchStart=r.handleOnTouchStart.bind(g(r)),r}u(t,e);var n=v(t);return l(t,[{key:"componentDidUpdate",value:function(e,t){!1===t.isZooming&&!0===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!0}),!0===t.isZooming&&!1===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1})}},{key:"handleImageComplete",value:function(){this.setState({isImageLoading:!1})}},{key:"handleOnMouseOver",value:function(){this.state.isZooming||this.setState({isHovering:!0,scale:2})}},{key:"handleOnMouseOut",value:function(){this.state.isZooming||this.setState({isHovering:!1,scale:1})}},{key:"handleOnMouseMove",value:function(e){if(!this.state.isZooming){var t=N(e.nativeEvent.offsetX/e.target.offsetWidth*100),n=N(e.nativeEvent.offsetY/e.target.offsetHeight*100);this.setState({x:t,y:n})}}},{key:"handleOnTouchStart",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(y(e.targetTouches).forEach(function(e){t.tpCache[e.identifier]={clientX:e.clientX,clientY:e.clientY}}),this.setState(function(e){return{isZooming:e.isZooming||Object.keys(t.tpCache).length>1}}))}},{key:"handleOnTouchMove",value:function(e){var n=this;if(this.state.isZooming){e.persist();var r=y(e.targetTouches).filter(function(e){return n.tpCache[e.identifier]}).slice(0,2);if(2===r.length){e.stopPropagation();var o=e.target.getBoundingClientRect(),a=r[0].identifier,l=r[1].identifier,s={x1:this.tpCache[a].clientX,y1:this.tpCache[a].clientY,x2:this.tpCache[l].clientX,y2:this.tpCache[l].clientY};s.distance=t.distanceBetweenTwoTouches(i({},s));var c=t.midpointBetweenTwoTouches(i({},s));s.cx=c.x,s.cy=c.y;var u={x1:r[0].clientX,y1:r[0].clientY,x2:r[1].clientX,y2:r[1].clientY};u.distance=t.distanceBetweenTwoTouches(i({},u));var d=t.midpointBetweenTwoTouches(i({},u));u.cx=d.x,u.cy=d.y;var p=N(Q({min:0,max:100,x:(u.cx-o.left)/o.width*100})),h=N(Q({min:0,max:100,x:(u.cy-o.top)/o.height*100})),m=function(e){return Q({min:1,max:3,x:e.scale+(u.distance-s.distance)/100})};this.setState(function(e){return{isZooming:1!==m(e),scale:m(e),x:p,y:h}})}}}},{key:"handleOnTouchEnd",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(y(e.changedTouches).forEach(function(e){delete t.tpCache[e.identifier]}),0===Object.keys(this.tpCache).length&&this.setState({isZooming:!1}))}},{key:"renderLoading",value:function(){if(this.state.isImageLoading){var e=this.props.spinner;return Y.a.createElement("div",{className:T([ft.imageLoadingSpinnerContainer,"carousel__image-loading-spinner-container"])},e&&e(),!e&&Y.a.createElement(mt,null))}return null}},{key:"render",value:function(){var e=this.props,t=e.alt,n=e.bgImageProps,r=e.bgImageTag,i=(e.carouselStore,e.className),o=e.imageClassName,a=e.overlayClassName,l=(e.isPinchZoomEnabled,e.spinner,e.src),s=e.srcZoomed,u=e.tag,d=f(e,gt),p=T([ft.container,i]),h=T([ft.image,"carousel__zoom-image",o]),m=T([ft.overlay,"carousel__zoom-image-overlay",this.state.isHovering&&ft.hover,this.state.isZooming&&ft.zoom,this.state.isHovering&&"carousel__zoom-image-overlay--hovering",this.state.isZooming&&"carousel__zoom-image-overlay--zooming",a]),g={};return(this.state.isHovering||this.state.isZooming)&&(g.transformOrigin="".concat(this.state.x," ").concat(this.state.y),g.transform="scale(".concat(this.state.scale,")")),Y.a.createElement(u,c({className:p},d),Y.a.createElement(dt,c({alt:t,className:h,tag:r,src:l,onLoad:this.handleImageComplete,onError:this.handleImageComplete},n)),Y.a.createElement(dt,{className:m,tag:"div",src:s||l,style:g,isBgImage:!0,onFocus:this.handleOnMouseOver,onMouseOver:this.handleOnMouseOver,onBlur:this.handleOnMouseOut,onMouseOut:this.handleOnMouseOut,onMouseMove:this.handleOnMouseMove,onTouchStart:this.handleOnTouchStart,onTouchEnd:this.handleOnTouchEnd,onTouchMove:this.handleOnTouchMove}),this.renderLoading())}}],[{key:"midpointBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1;return{x:(t+e.x2)/2,y:(n+e.y2)/2}}},{key:"distanceBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1,r=e.x2,i=e.y2;return Math.sqrt(Math.pow(r-t,2)+Math.pow(i-n,2))}}]),t}(Y.a.Component),s(ot,"propTypes",{alt:K.string,bgImageProps:K.object,bgImageTag:K.string,carouselStore:K.object.isRequired,className:K.string,imageClassName:K.string,overlayClassName:K.string,spinner:K.func,src:K.string.isRequired,srcZoomed:K.string,tag:K.string,isPinchZoomEnabled:K.bool}),s(ot,"defaultProps",{alt:void 0,bgImageProps:{},bgImageTag:"div",className:null,imageClassName:null,overlayClassName:null,isPinchZoomEnabled:!0,spinner:null,srcZoomed:null,tag:"div"}),at),vt=(Z(wt,function(){return{}}),{slide:"slide___3-Nqo",slideHorizontal:"slideHorizontal___1NzNV",slideInner:"slideInner___2mfX9",focusRing:"focusRing___1airF"}),yt=["ariaLabel","carouselStore","children","className","classNameHidden","classNameVisible","currentSlide","index","innerClassName","innerTag","naturalSlideHeight","naturalSlideWidth","onBlur","onFocus","orientation","slideSize","style","tabIndex","tag","totalSlides","visibleSlides","isIntrinsicHeight"],bt=(st=lt=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnFocus=r.handleOnFocus.bind(g(r)),r.handleOnBlur=r.handleOnBlur.bind(g(r)),r.state={focused:!1},r}u(t,e);var n=v(t);return l(t,[{key:"isVisible",value:function(){var e=this.props,t=e.currentSlide,n=e.index,r=e.visibleSlides;return n>=t&&n<t+r}},{key:"handleOnFocus",value:function(e){var t=this,n=this.props.onFocus;this.setState({focused:!0},function(){null!==n&&n.call(t,e)})}},{key:"handleOnBlur",value:function(e){var t=this,n=this.props.onBlur;this.setState({focused:!1},function(){null!==n&&n.call(t,e)})}},{key:"renderFocusRing",value:function(){return this.state.focused?Y.a.createElement("div",{className:[vt.focusRing,"carousel__slide-focus-ring"].join(" ")}):null}},{key:"render",value:function(){var e=this,t=this.props,n=t.ariaLabel,r=(t.carouselStore,t.children,t.className),i=t.classNameHidden,o=t.classNameVisible,a=(t.currentSlide,t.index,t.innerClassName),l=t.innerTag,s=t.naturalSlideHeight,u=t.naturalSlideWidth,d=(t.onBlur,t.onFocus,t.orientation),p=t.slideSize,h=t.style,m=t.tabIndex,g=t.tag,w=t.totalSlides,v=(t.visibleSlides,t.isIntrinsicHeight),y=f(t,yt),b={};"horizontal"===d?(b.width=N(p),b.paddingBottom=N(100*s/(u*w))):(b.width=N(100),b.paddingBottom=N(100*s/u));var S={};v&&("horizontal"===d?b.height="unset":b.width="unset",b.paddingBottom="unset",S.position="unset");var E=c({},b,h),C=this.isVisible(),_=T([vt.slide,"horizontal"===d&&vt.slideHorizontal,"carousel__slide",this.state.focused&&"carousel__slide--focused",C&&o,C&&"carousel__slide--visible",!C&&i,!C&&"carousel__slide--hidden",r]),x=T([vt.slideInner,"carousel__inner-slide",a]),k=this.isVisible()?0:-1,O="number"==typeof m?m:k;return Y.a.createElement(g,c({ref:function(t){e.tagRef=t},tabIndex:O,"aria-selected":this.isVisible(),"aria-label":n,role:"option",onFocus:this.handleOnFocus,onBlur:this.handleOnBlur,className:_,style:E},y),Y.a.createElement(l,{ref:function(t){e.innerTagRef=t},className:x,style:S},this.props.children,this.renderFocusRing()))}}]),t}(Y.a.PureComponent),s(lt,"propTypes",{ariaLabel:K.string,carouselStore:K.object,children:J.children,className:K.string,classNameHidden:K.string,classNameVisible:K.string,currentSlide:K.number.isRequired,index:K.number.isRequired,innerClassName:K.string,innerTag:K.string,naturalSlideHeight:K.number.isRequired,naturalSlideWidth:K.number.isRequired,onBlur:K.func,onFocus:K.func,orientation:J.orientation.isRequired,slideSize:K.number.isRequired,style:K.object,tabIndex:K.number,tag:K.string,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,isIntrinsicHeight:K.bool}),s(lt,"defaultProps",{ariaLabel:"slide",carouselStore:null,children:null,className:null,classNameHidden:null,classNameVisible:null,innerClassName:null,innerTag:"div",onBlur:null,onFocus:null,style:{},tabIndex:null,tag:"div",isIntrinsicHeight:!1}),st),St=Z(bt,function(e){return{currentSlide:e.currentSlide,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,slideSize:e.slideSize,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,isIntrinsicHeight:e.isIntrinsicHeight}}),Et=function(){function e(){o(this,e)}return l(e,[{key:"parents",value:function(e,t){return null===e.parentNode?t:this.parents(e.parentNode,t.concat([e]))}},{key:"scrollParent",value:function(t){for(var n=this.parents(t.parentNode,[]),r=0;r<n.length;r+=1)if(e.scroll(n[r]))return n[r];return document.scrollingElement||document.documentElement}},{key:"getScrollParent",value:function(t){return e.isNodeValid(t)?this.scrollParent(t):null}}],[{key:"style",value:function(e,t){return getComputedStyle(e,null).getPropertyValue(t)}},{key:"overflow",value:function(t){return e.style(t,"overflow")+e.style(t,"overflow-y")+e.style(t,"overflow-x")}},{key:"scroll",value:function(t){return/(auto|scroll)/.test(e.overflow(t))}},{key:"isNodeValid",value:function(e){return e instanceof HTMLElement||e instanceof SVGElement}}]),e}(),Ct={horizontalSlider:"horizontalSlider___281Ls",horizontalSliderTray:"horizontalSliderTray___1L-0W",verticalSlider:"verticalSlider___34ZFD",verticalSliderTray:"verticalSliderTray___267D8",verticalTray:"verticalTray___12Key",verticalSlideTrayWrap:"verticalSlideTrayWrap___2nO7o",sliderTray:"sliderTray___-vHFQ",sliderAnimation:"sliderAnimation___300FY",masterSpinnerContainer:"masterSpinnerContainer___1Z6hB"},_t=["ariaLabel","carouselStore","children","className","classNameAnimation","classNameTray","classNameTrayWrap","currentSlide","disableAnimation","disableKeyboard","dragEnabled","hasMasterSpinner","interval","isPageScrollLocked","isPlaying","lockOnWindowScroll","masterSpinnerFinished","moveThreshold","naturalSlideHeight","naturalSlideWidth","onMasterSpinner","orientation","playDirection","privateUnDisableAnimation","slideSize","slideTraySize","spinner","style","tabIndex","totalSlides","touchEnabled","trayProps","trayTag","visibleSlides","isIntrinsicHeight"],xt=["dragStep","step","infinite"],kt=["className","onClickCapture","onMouseDown","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","ref","style"],Ot=(ut=ct=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.getSliderRef=r.getSliderRef.bind(g(r)),r.handleDocumentScroll=r.handleDocumentScroll.bind(g(r)),r.handleOnClickCapture=r.handleOnClickCapture.bind(g(r)),r.handleOnKeyDown=r.handleOnKeyDown.bind(g(r)),r.handleOnMouseDown=r.handleOnMouseDown.bind(g(r)),r.handleOnMouseMove=r.handleOnMouseMove.bind(g(r)),r.handleOnMouseUp=r.handleOnMouseUp.bind(g(r)),r.handleOnTouchCancel=r.handleOnTouchCancel.bind(g(r)),r.handleOnTouchEnd=r.handleOnTouchEnd.bind(g(r)),r.handleOnTouchMove=r.handleOnTouchMove.bind(g(r)),r.handleOnTouchStart=r.handleOnTouchStart.bind(g(r)),r.playBackward=r.playBackward.bind(g(r)),r.playForward=r.playForward.bind(g(r)),r.callCallback=r.callCallback.bind(g(r)),r.state={cancelNextClick:!1,deltaX:0,deltaY:0,isBeingMouseDragged:!1,isBeingTouchDragged:!1,startX:0,startY:0},r.interval=null,r.isDocumentScrolling=null,r.moveTimer=null,r.originalOverflow=null,r.scrollParent=null,r.scrollStopTimer=null,r}u(t,e);var n=v(t);return l(t,[{key:"componentDidMount",value:function(){this.props.lockOnWindowScroll&&window.addEventListener("scroll",this.handleDocumentScroll,!1),document.documentElement.addEventListener("mouseleave",this.handleOnMouseUp,!1),document.documentElement.addEventListener("mousemove",this.handleOnMouseMove,!1),document.documentElement.addEventListener("mouseup",this.handleOnMouseUp,!1),this.props.isPlaying&&this.play()}},{key:"componentDidUpdate",value:function(e){!e.isPlaying&&this.props.isPlaying&&this.play(),e.isPlaying&&!this.props.isPlaying&&this.stop(),!e.isPageScrollLocked&&this.props.isPageScrollLocked&&this.lockScroll(),e.isPageScrollLocked&&!this.props.isPageScrollLocked&&this.unlockScroll(),!1===e.privateUnDisableAnimation&&!0===this.props.privateUnDisableAnimation&&this.props.carouselStore.setStoreState({privateUnDisableAnimation:!1,disableAnimation:!1})}},{key:"componentWillUnmount",value:function(){document.documentElement.removeEventListener("mouseleave",this.handleOnMouseUp,!1),document.documentElement.removeEventListener("mousemove",this.handleOnMouseMove,!1),document.documentElement.removeEventListener("mouseup",this.handleOnMouseUp,!1),window.removeEventListener("scroll",this.handleDocumentScroll,!1),this.stop(),window.cancelAnimationFrame.call(window,this.moveTimer),window.clearTimeout(this.scrollStopTimer),this.isDocumentScrolling=null,this.moveTimer=null,this.scrollStopTimer=null}},{key:"getSliderRef",value:function(e){this.sliderTrayElement=e}},{key:"fakeOnDragStart",value:function(e){var t=e.screenX,n=e.screenY,r=e.touchDrag,i=void 0!==r&&r,o=e.mouseDrag,a=void 0!==o&&o;this.props.carouselStore.setStoreState({isPlaying:!1}),window.cancelAnimationFrame.call(window,this.moveTimer),"vertical"===this.props.orientation&&this.props.carouselStore.setStoreState({isPageScrollLocked:!0}),this.setState({isBeingTouchDragged:i,isBeingMouseDragged:a,startX:t,startY:n})}},{key:"fakeOnDragMove",value:function(e,t){var n=this;this.moveTimer=window.requestAnimationFrame.call(window,function(){n.setState(function(n){return{deltaX:e-n.startX,deltaY:t-n.startY}})})}},{key:"fakeOnDragEnd",value:function(){window.cancelAnimationFrame.call(window,this.moveTimer),this.computeCurrentSlide(),"vertical"===this.props.orientation&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1}),this.setState({deltaX:0,deltaY:0,isBeingTouchDragged:!1,isBeingMouseDragged:!1}),this.isDocumentScrolling=!this.props.lockOnWindowScroll&&null}},{key:"callCallback",value:function(e,t){var n=this.props.trayProps;n&&"function"==typeof n[e]&&(t.persist(),n[e](t))}},{key:"handleOnMouseDown",value:function(e){if(!this.props.dragEnabled)return void this.callCallback("onMouseDown",e);e.preventDefault(),this.fakeOnDragStart({screenX:e.screenX,screenY:e.screenY,mouseDrag:!0}),this.callCallback("onMouseDown",e)}},{key:"handleOnMouseMove",value:function(e){this.state.isBeingMouseDragged&&(this.setState({cancelNextClick:!0}),e.preventDefault(),this.fakeOnDragMove(e.screenX,e.screenY))}},{key:"handleOnMouseUp",value:function(e){this.state.isBeingMouseDragged&&(e.preventDefault(),this.fakeOnDragEnd())}},{key:"handleOnClickCapture",value:function(e){if(!this.state.cancelNextClick)return void this.callCallback("onClickCapture",e);e.preventDefault(),this.setState({cancelNextClick:!1}),this.callCallback("onClickCapture",e)}},{key:"handleOnTouchStart",value:function(e){if(!this.props.touchEnabled)return void this.callCallback("onTouchStart",e);"vertical"===this.props.orientation&&e.preventDefault();var t=e.targetTouches[0];this.fakeOnDragStart({screenX:t.screenX,screenY:t.screenY,touchDrag:!0}),this.callCallback("onTouchStart",e)}},{key:"handleDocumentScroll",value:function(){var e=this;this.props.touchEnabled&&(this.isDocumentScrolling=!0,window.clearTimeout(this.scrollStopTimer),this.scrollStopTimer=window.setTimeout(function(){e.isDocumentScrolling=!1},66))}},{key:"handleOnTouchMove",value:function(e){if(!this.props.touchEnabled||this.props.lockOnWindowScroll&&this.isDocumentScrolling)return void this.callCallback("onTouchMove",e);window.cancelAnimationFrame.call(window,this.moveTimer);var t=e.targetTouches[0];t&&(this.fakeOnDragMove(t.screenX,t.screenY),this.callCallback("onTouchMove",e))}},{key:"forward",value:function(){var e=this.props,t=e.currentSlide,n=e.step,r=e.totalSlides,i=e.visibleSlides;return Math.min(t+n,r-i)}},{key:"backward",value:function(){var e=this.props,t=e.currentSlide,n=e.step;return Math.max(t-n,0)}},{key:"handleOnKeyDown",value:function(e){var t=e.keyCode,n=this.props,r=n.carouselStore,i=n.currentSlide,o=n.disableKeyboard,a=n.totalSlides,l=n.visibleSlides,s={};!0===o||a<=l||(37===t&&(e.preventDefault(),this.focus(),s.currentSlide=Math.max(0,i-1),s.isPlaying=!1),39===t&&(e.preventDefault(),this.focus(),s.currentSlide=Math.min(a-l,i+1),s.isPlaying=!1),r.setStoreState(s))}},{key:"playForward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide;t.setStoreState({currentSlide:this.forward()===n?0:this.forward()})}},{key:"playBackward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide,r=e.totalSlides,i=e.visibleSlides;t.setStoreState({currentSlide:this.backward()===n?r-i:this.backward()})}},{key:"play",value:function(){var e=this.props.playDirection;this.interval=setInterval("forward"===e?this.playForward:this.playBackward,this.props.interval)}},{key:"stop",value:function(){window.clearInterval(this.interval),this.interval=null}},{key:"lockScroll",value:function(){var e=new Et;this.scrollParent=e.getScrollParent(this.sliderTrayElement),this.scrollParent&&(this.originalOverflow=this.originalOverflow||this.scrollParent.style.overflow,this.scrollParent.style.overflow="hidden")}},{key:"unlockScroll",value:function(){this.scrollParent&&(this.scrollParent.style.overflow=this.originalOverflow,this.originalOverflow=null,this.scrollParent=null)}},{key:"computeCurrentSlide",value:function(){var e=t.slideSizeInPx(this.props.orientation,this.sliderTrayElement.clientWidth,this.sliderTrayElement.clientHeight,this.props.totalSlides),n=t.slidesMoved(this.props.moveThreshold,this.props.orientation,this.state.deltaX,this.state.deltaY,e,this.props.dragStep),r=this.props.totalSlides-Math.min(this.props.totalSlides,this.props.visibleSlides),i=Q({min:0,max:r,x:this.props.currentSlide+n});this.props.infinite&&(this.props.currentSlide>=r&&n>0&&(i=0),0===this.props.currentSlide&&n<0&&(i=r)),this.props.carouselStore.setStoreState({currentSlide:i})}},{key:"focus",value:function(){this.sliderElement.focus()}},{key:"handleOnTouchEnd",value:function(e){this.endTouchMove(),this.callCallback("onTouchEnd",e)}},{key:"handleOnTouchCancel",value:function(e){this.endTouchMove(),this.callCallback("onTouchCancel",e)}},{key:"endTouchMove",value:function(){this.props.touchEnabled&&this.fakeOnDragEnd()}},{key:"renderMasterSpinner",value:function(){var e=this.props,t=e.hasMasterSpinner,n=e.masterSpinnerFinished,r=e.spinner;return t&&!n?("function"==typeof this.props.onMasterSpinner&&this.props.onMasterSpinner(),Y.a.createElement("div",{className:T([Ct.masterSpinnerContainer,"carousel__master-spinner-container"])},r&&r(),!r&&Y.a.createElement(mt,null))):null}},{key:"render",value:function(){var e=this,t=this.props,n=t.ariaLabel,r=(t.carouselStore,t.children),i=t.className,o=t.classNameAnimation,a=t.classNameTray,l=t.classNameTrayWrap,s=t.currentSlide,u=t.disableAnimation,d=(t.disableKeyboard,t.dragEnabled,t.hasMasterSpinner,t.interval,t.isPageScrollLocked,t.isPlaying,t.lockOnWindowScroll,t.masterSpinnerFinished,t.moveThreshold,t.naturalSlideHeight),p=t.naturalSlideWidth,h=(t.onMasterSpinner,t.orientation),m=(t.playDirection,t.privateUnDisableAnimation,t.slideSize),g=t.slideTraySize,w=(t.spinner,t.style),v=t.tabIndex,y=(t.totalSlides,t.touchEnabled,t.trayProps),b=t.trayTag,S=t.visibleSlides,E=t.isIntrinsicHeight,C=f(t,_t),_=c({},w),x={};"vertical"===h&&(x.height=0,x.paddingBottom=N(100*d*S/p),x.width=N(100));var k={},O=N(m*s*-1);(this.state.isBeingTouchDragged||this.state.isBeingMouseDragged||u)&&(k.transition="none"),E&&(k.display="flex",k.alignItems="stretch"),"vertical"===h?(k.transform="translateY(".concat(O,") translateY(").concat(this.state.deltaY,"px)"),k.width=N(100),k.flexDirection="column"):(k.width=N(g),k.transform="translateX(".concat(O,") translateX(").concat(this.state.deltaX,"px)"),k.flexDirection="row");var F=T(["vertical"===h?Ct.verticalSlider:Ct.horizontalSlider,"carousel__slider","vertical"===h?"carousel__slider--vertical":"carousel__slider--horizontal",i]),M=T([Ct.sliderTrayWrap,"carousel__slider-tray-wrapper","vertical"===h?Ct.verticalSlideTrayWrap:Ct.horizontalTrayWrap,"vertical"===h?"carousel__slider-tray-wrap--vertical":"carousel__slider-tray-wrap--horizontal",l]),j=T([Ct.sliderTray,o||Ct.sliderAnimation,"carousel__slider-tray","vertical"===h?Ct.verticalTray:Ct.horizontalTray,"vertical"===h?"carousel__slider-tray--vertical":"carousel__slider-tray--horizontal",a]),P=null!==v?v:0,D=(C.dragStep,C.step,C.infinite,f(C,xt)),A=(y.className,y.onClickCapture,y.onMouseDown,y.onTouchCancel,y.onTouchEnd,y.onTouchMove,y.onTouchStart,y.ref,y.style,f(y,kt));return Y.a.createElement("div",c({ref:function(t){e.sliderElement=t},className:F,"aria-live":"polite","aria-label":n,style:_,tabIndex:P,onKeyDown:this.handleOnKeyDown,role:"listbox"},D),Y.a.createElement("div",{className:M,style:x},Y.a.createElement(b,c({ref:this.getSliderRef,className:j,style:k,onTouchStart:this.handleOnTouchStart,onTouchMove:this.handleOnTouchMove,onTouchEnd:this.handleOnTouchEnd,onTouchCancel:this.handleOnTouchCancel,onMouseDown:this.handleOnMouseDown,onClickCapture:this.handleOnClickCapture},A),r),this.renderMasterSpinner()))}}],[{key:"slideSizeInPx",value:function(e,t,n,r){return("horizontal"===e?t:n)/r}},{key:"slidesMoved",value:function(e,t,n,r,i,o){var a="horizontal"===t?n:r,l=Math.abs(Math.round(a/i)),s=Math.abs(a)>=i*e?o:0,c=Math.max(s,l);if(a<0)return c;var u=-c;return 0===u?0:u}}]),t}(Y.a.Component),s(ct,"propTypes",{ariaLabel:K.string,carouselStore:K.object.isRequired,children:K.node.isRequired,className:K.string,classNameAnimation:K.string,classNameTray:K.string,classNameTrayWrap:K.string,currentSlide:K.number.isRequired,disableAnimation:K.bool,disableKeyboard:K.bool,dragEnabled:K.bool.isRequired,dragStep:K.number,hasMasterSpinner:K.bool.isRequired,infinite:K.bool,interval:K.number.isRequired,isPageScrollLocked:K.bool.isRequired,isPlaying:K.bool.isRequired,lockOnWindowScroll:K.bool.isRequired,masterSpinnerFinished:K.bool.isRequired,moveThreshold:K.number,naturalSlideHeight:K.number.isRequired,naturalSlideWidth:K.number.isRequired,onMasterSpinner:K.func,orientation:J.orientation.isRequired,playDirection:J.direction.isRequired,privateUnDisableAnimation:K.bool,slideSize:K.number.isRequired,slideTraySize:K.number.isRequired,spinner:K.func,step:K.number.isRequired,style:K.object,tabIndex:K.number,totalSlides:K.number.isRequired,touchEnabled:K.bool.isRequired,trayProps:K.shape({className:K.string,onClickCapture:K.func,onMouseDown:K.func,onTouchCancel:K.func,onTouchEnd:K.func,onTouchMove:K.func,onTouchStart:K.func,ref:K.shape({}),style:K.string}),trayTag:K.string,visibleSlides:K.number,isIntrinsicHeight:K.bool}),s(ct,"defaultProps",{ariaLabel:"slider",className:null,classNameAnimation:null,classNameTray:null,classNameTrayWrap:null,disableAnimation:!1,disableKeyboard:!1,dragStep:1,infinite:!1,moveThreshold:.1,onMasterSpinner:null,privateUnDisableAnimation:!1,spinner:null,style:{},tabIndex:null,trayProps:{},trayTag:"div",visibleSlides:1,isIntrinsicHeight:!1}),ut),Tt=Z(Ot,function(e){return{currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,privateUnDisableAnimation:e.privateUnDisableAnimation,disableKeyboard:e.disableKeyboard,dragEnabled:e.dragEnabled,hasMasterSpinner:e.hasMasterSpinner,infinite:e.infinite,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,masterSpinnerFinished:e.masterSpinnerFinished,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,slideSize:e.slideSize,slideTraySize:e.slideTraySize,step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,visibleSlides:e.visibleSlides,isIntrinsicHeight:e.isIntrinsicHeight}})},function(e,t,n){"use strict";var r=n(65),i=n.n(r),o=n(67),a=n.n(o),l=n(23),s=n.n(l),c=n(155),u=n(68),d=n(156),p=wp.i18n.__,h=wp.blocks.registerBlockType,m=wp,f=m.apiFetch,g=wp.data,w=g.registerStore,v=g.withSelect,y=wp.blockEditor.InspectorControls,b=wp.components,S=b.PanelBody,E=b.PanelRow,C=b.TextControl,_=b.ColorPalette,x=b.RadioControl,k=b.ToggleControl,O=b.SelectControl,T=b.RangeControl,F=window.exactmetrics_gutenberg_tool_vars,M={setThemes:function(e){return{type:"SET_THEMES",themes:e}},receiveThemes:function(e){return{type:"RECEIVE_THEMES",path:e}}};w("exactmetrics/v1/popular-posts/widget",{reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{themes:{}},t=arguments[1];switch(t.type){case"SET_THEMES":return s()({},e,{themes:t.themes})}return e},actions:M,selectors:{receiveThemes:function(e){return e.themes}},controls:{RECEIVE_THEMES:function(e){return f({path:e.path})}},resolvers:{receiveThemes:a.a.mark(function e(t){var n,r;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,M.receiveThemes("/exactmetrics/v1/popular-posts/themes/widget");case 2:if(n=e.sent,void 0===n.themes){e.next=6;break}for(r in n.themes)n.themes.hasOwnProperty(r)&&(n.themes[r].value=r);return e.abrupt("return",M.setThemes(n));case 6:case"end":return e.stop()}},e,this)})}}),h("exactmetrics/popular-posts-widget",{title:p("Popular Posts","google-analytics-dashboard-for-wp"),description:p("Add popular posts from ExactMetrics","google-analytics-dashboard-for-wp"),category:"widgets",icon:c.a.widgetpop,keywords:[p("Popular","google-analytics-dashboard-for-wp"),p("Posts","google-analytics-dashboard-for-wp"),p("Widget","google-analytics-dashboard-for-wp"),"ExactMetrics"],example:{},attributes:{theme:{type:"string"},title_size:{type:"number"},title_color:{type:"string"},label_color:{type:"string"},label_text:{type:"string"},label_background:{type:"string"},background_color:{type:"string"},background_border:{type:"string"},meta_color:{type:"string"},meta_size:{type:"string"},meta_author:{type:"boolean"},meta_date:{type:"boolean"},meta_comments:{type:"boolean"},comments_color:{type:"string"},columns:{type:"number",default:1},widget_title:{type:"boolean"},widget_title_text:{type:"string"},post_count:{type:"number",default:5},categories:{type:"array",default:[]}},edit:v(function(e){return{themes:e("exactmetrics/v1/popular-posts/widget").receiveThemes()}})(function(e){var t=e.attributes,n=t.theme,r=(t.title_size,t.title_color,t.label_color,t.label_text,t.label_background,t.background_color,t.background_border,t.meta_color,t.meta_size,t.meta_author,t.meta_comments,t.meta_date,t.comments_color,t.columns),o=t.widget_title,a=t.widget_title_text,l=t.post_count,s=t.categories,h=e.themes,m=e.setAttributes,f=[{name:"pink",color:"#F58EA8"},{name:"red",color:"#CD3034"},{name:"orange",color:"#FD6A21"},{name:"yellow",color:"#FBB82B"},{name:"green",color:"#7FDBB6"},{name:"green",color:"#21CF86"},{name:"blue",color:"#91D2FA"},{name:"blue",color:"#1B95E0"},{name:"purple",color:"#9A57DD"},{name:"gray",color:"#EEEEEE"},{name:"gray",color:"#ACB8C3"},{name:"black",color:"#000000"}],g=void 0!==h.themes?h.themes:{},w=void 0===e.attributes.theme?h.selected:n,v=void 0!==w&&void 0!==g[w]?g[w]:{},b=void 0!==v.styles?v.styles:{},M={};for(var N in b)if(b.hasOwnProperty(N))for(var j in b[N])if(b[N].hasOwnProperty(j)){var P=N+"_"+j;void 0===e.attributes[P]?M[P]=b[N][j]:M[P]=e.attributes[P],"on"===M[P]&&(M[P]=!0),"off"===M[P]&&(M[P]=!1)}var D=function(e,t){var n=[1,2,3,4,5,6,7,8,9,10];return 2===e&&(n=[2,4,6,8,10]),3===e&&(n=[3,6,9]),t&&(n=n.map(function(e){return{value:e,label:e}})),n},A=function(){if(void 0!==b.meta.author)return wp.element.createElement(k,{label:p("Display Author","google-analytics-dashboard-for-wp"),checked:M.meta_author,onChange:function(e){m(i()({},"meta_author",e))}})},L=function(){if(void 0!==b.meta.date)return wp.element.createElement(k,{label:p("Display Date","google-analytics-dashboard-for-wp"),checked:M.meta_date,onChange:function(e){m(i()({},"meta_date",e))}})},B=function(){if(void 0!==b.meta.comments)return wp.element.createElement(k,{label:p("Display Comments","google-analytics-dashboard-for-wp"),checked:M.meta_comments,onChange:function(e){m(i()({},"meta_comments",e))}})},z=function(){return wp.element.createElement("span",{className:"exactmetrics-wide-column exactmetrics-wide-column-one"},wp.element.createElement("span",null),wp.element.createElement("span",null))},R=function(){return wp.element.createElement("span",{className:"exactmetrics-wide-column exactmetrics-wide-column-two"},wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null))},H=function(){return wp.element.createElement("span",{className:"exactmetrics-wide-column exactmetrics-wide-column-three"},wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null))},I=function(e,t){var n=M[t];return wp.element.createElement(T,{key:"exactmetrics-popular-posts-input"+t,label:e,value:parseInt(n),min:1,max:100,onChange:function(e){return m(i()({},t,""===e?"":parseInt(e)))}})},q=function(e,t){var n=M[t];return wp.element.createElement(C,{key:"exactmetrics-popular-posts-input"+t,label:e,type:"text",value:n,onChange:function(e){return m(i()({},t,e))}})},V=function(e,t){var n=M[t];return[wp.element.createElement("label",{key:"exactmetrics-popular-posts-label"+t},e),wp.element.createElement(_,{key:"exactmetrics-popular-posts-input"+t,value:n,colors:f,onChange:function(e){m(i()({},t,e))}})]},W=function(e,t){if(e.length>0&&void 0!==e[t]){var n=e[t];return wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-image"},wp.element.createElement("img",{src:F.vue_assets_path+"img/"+n}))}},Z=function(){if(void 0!==b.label)return wp.element.createElement("span",{style:{color:M.label_color,backgroundColor:M.label_background},className:"exactmetrics-widget-popular-posts-label"},M.label_text)},U=function(){if(void 0!==b.meta)return[wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-meta",key:"exactmetrics-widget-popular-posts-meta-options",style:{color:M.meta_color,fontSize:M.meta_size+"px"}},Y(),X(),K()),wp.element.createElement("span",{key:"exactmetrics-widget-popular-posts-comments-options"},G())]},Y=function(){if(M.meta_author)return wp.element.createElement("span",{className:"exactmetrics-widget-popular-posts-author"},"by Aazim Akhtar")},X=function(){if(M.meta_author&&M.meta_date)return wp.element.createElement("span",{dangerouslySetInnerHTML:{__html:b.meta.separator}})},G=function(){if(void 0!==b.meta&&void 0!==b.meta.comments&&M.meta_comments){var e=void 0!==b.comments?M.comments_color:M.meta_color;return wp.element.createElement("span",{className:"exactmetrics-widget-popular-posts-comments",style:{color:e,fontSize:M.meta_size+"px"}},c.a.comments(e)," 24")}},K=function(){if(M.meta_date)return wp.element.createElement("span",{className:"exactmetrics-widget-popular-posts-date"},"Yesterday")},$=function(e){for(;e.length<=10;)e=e.concat(e);return e};return[wp.element.createElement(y,{key:"exactmetrics-popular-posts-widget-inspector-controls"},wp.element.createElement(S,{title:p("Theme","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-theme"},wp.element.createElement(E,{key:"exactmetrics-popular-posts-widget-theme-row"},wp.element.createElement(u.a,{id:"exactmetrics-popular-posts-widget-theme",options:g,selected:w,icons:c.a,onChange:function(e){m({theme:e})}}))),function(){if(void 0!==b.title){var e=[];return void 0!==b.title.size&&e.push(I(p("Title Font Size","google-analytics-dashboard-for-wp"),"title_size")),void 0!==b.title.color&&e.push(V(p("Title Color","google-analytics-dashboard-for-wp"),"title_color")),wp.element.createElement(S,{title:p("Title Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-title"},e)}}(),function(){if(void 0!==b.background&&void 0!==b.background.color){var e=[];return void 0!==b.background.color&&e.push(V(p("Background Color","google-analytics-dashboard-for-wp"),"background_color")),wp.element.createElement(S,{title:p("Background Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-background"}," ",e," ")}}(),function(){if(void 0!==b.label){var e=[];return void 0!==b.label.text&&e.push(q(p("Label Text","google-analytics-dashboard-for-wp"),"label_text")),void 0!==b.label.color&&e.push(V(p("Label Color","google-analytics-dashboard-for-wp"),"label_color")),void 0!==b.label.background&&e.push(V(p("Label Background","google-analytics-dashboard-for-wp"),"label_background")),wp.element.createElement(S,{title:p("Label Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-label"}," ",e," ")}}(),function(){var e=[];if(void 0!==b.border&&void 0!==b.border.color&&e.push(V(p("Border Color","google-analytics-dashboard-for-wp"),"borderColor")),void 0!==b.border&&void 0!==b.border.color2&&e.push(V(p("Bottom Border Color","google-analytics-dashboard-for-wp"),"borderColor2")),void 0!==b.background&&void 0!==b.background.border&&e.push(V(p("Border Color","google-analytics-dashboard-for-wp"),"background_border")),0!==e.length)return wp.element.createElement(S,{title:p("Border Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-border"}," ",e," ")}(),function(){if(void 0!==b.meta){var e=[];return void 0!==b.meta.size&&e.push(I(p("Meta Font Size","google-analytics-dashboard-for-wp"),"meta_size")),void 0!==b.meta.color&&e.push(V(p("Meta Color","google-analytics-dashboard-for-wp"),"meta_color")),wp.element.createElement(S,{title:p("Meta Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-meta-styles"},e)}}(),function(){if(void 0!==b.comments)return wp.element.createElement(S,{title:p("Comment Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-comment-styles"},V(p("Comment Color","google-analytics-dashboard-for-wp"),"comments_color"))}(),function(){return wp.element.createElement(S,{title:p("Wide-Layout Options","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-columns"},wp.element.createElement(x,{label:p("Choose Layout","google-analytics-dashboard-for-wp"),help:p("Adjust the number of columns displayed when the widget is placed in a wide container.","google-analytics-dashboard-for-wp"),className:"exactmetrics-wide-column-options",key:"exactmetrics-popular-posts-widget-columns-control",options:[{value:1,label:z()},{value:2,label:R()},{value:3,label:H()}],selected:r,onChange:function(e){m(i()({},"columns",""===e?"":parseInt(e)));var t=D(parseInt(e));-1===t.indexOf(l)&&m(i()({},"post_count",parseInt(t[0])))}}),wp.element.createElement(O,{label:p("Post Count","google-analytics-dashboard-for-wp"),help:p("Number of posts displayed.","google-analytics-dashboard-for-wp"),options:D(r,!0),value:l,key:"exactmetrics-popular-posts-widget-post-count",onChange:function(e){m(i()({},"post_count",parseInt(e)))}}))}(),function(){if(void 0!==b.meta)return wp.element.createElement(S,{title:p("Display Options","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-meta-options"},A(),L(),B())}(),function(){return wp.element.createElement(S,{title:p("Behavior Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-behavior-options"},wp.element.createElement(k,{label:p("Display Widget Title","google-analytics-dashboard-for-wp"),checked:o,onChange:function(e){m(i()({},"widget_title",e))}}),wp.element.createElement(C,{key:"exactmetrics-popular-posts-input-widget-title-text",label:p("Widget Title","google-analytics-dashboard-for-wp"),type:"text",value:a,onChange:function(e){return m(i()({},"widget_title_text",e))}}),wp.element.createElement(d.a,{label:p("Only Show Posts From These Categories","google-analytics-dashboard-for-wp"),slug:"category",onUpdateTerms:function(e){m(i()({},"categories",e))},terms:s}))}()),wp.element.createElement("div",{key:"exactmetrics-popular-posts-widget-preview"},wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-widget exactmetrics-widget-popular-posts-"+w+" exactmetrics-widget-popular-posts-columns-"+r},function(){if(o)return wp.element.createElement("h2",{className:"exactmetrics-widget-popular-posts-widget-title"},a)}(),wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-text"},function(){if(void 0!==v.list&&void 0!==v.list.items){var e=$(v.list.items),t=void 0!==v.list.images?$(v.list.images):[],n=[];for(var r in e){if(parseInt(r)===parseInt(l))break;n.push(wp.element.createElement("li",{key:"exactmetrics-popular-posts-preview-list-item-"+r,style:{backgroundColor:M.background_color,borderColor:M.background_border}},W(t,r),wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-text"},Z(),wp.element.createElement("a",{className:"exactmetrics-widget-popular-posts-title",style:{color:M.title_color,fontSize:M.title_size+"px"}},e[r]),U())))}return wp.element.createElement("ul",{className:"exactmetrics-widget-popular-posts-list"},n)}}())))]}),save:function(e){return null}})},function(e,t,n){"use strict";var r={};r.widgetpop=wp.element.createElement("svg",{width:"16",height:"20",viewBox:"0 0 16 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 0C0.895431 0 0 0.895431 0 2V10C0 11.1046 0.895431 12 2 12H14C15.1046 12 16 11.1046 16 10V2C16 0.895431 15.1046 0 14 0H2ZM8.94046 4.70557L8 2L7.05954 4.70557L4.19577 4.76393L6.47831 6.49443L5.64886 9.23607L8 7.6L10.3511 9.23607L9.52169 6.49443L11.8042 4.76393L8.94046 4.70557ZM0 14H14V16H0V14ZM10 18H0V20H10V18Z",fill:"#555D66"})),r.alpha=wp.element.createElement("svg",{width:"74",height:"46",viewBox:"0 0 74 46",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"46",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"7.39999",y:"12",width:"59.2",height:"9",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"7.39999",y:"25",width:"51.8",height:"9",rx:"2",fill:"#6528F5"})),r.beta=wp.element.createElement("svg",{width:"74",height:"46",viewBox:"0 0 74 46",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M0 15C0 13.3431 1.34315 12 3 12H4V34H3C1.34315 34 0 32.6569 0 31V15Z",fill:"#6528F5"}),wp.element.createElement("rect",{x:"12",y:"12",width:"54",height:"9",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"12",y:"25",width:"44",height:"9",rx:"2",fill:"#8453F7"})),r.charlie=wp.element.createElement("svg",{width:"74",height:"46",viewBox:"0 0 74 46",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"46",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{width:"74",height:"4",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"14",width:"58",height:"9",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"8",y:"27",width:"40",height:"9",rx:"2",fill:"#8453F7"})),r.delta=wp.element.createElement("svg",{width:"74",height:"39",viewBox:"0 0 74 39",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"31",y:"12",width:"43",height:"7",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"31",y:"23",width:"32",height:"7",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"31",y:"34",width:"43",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{y:"12",width:"27",height:"27",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{width:"74",height:"4",fill:"#6528F5"})),r.echo=wp.element.createElement("svg",{width:"74",height:"76",viewBox:"0 0 74 76",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"76",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"41",width:"58",height:"7",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"61",width:"7",height:"7",rx:"3.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"8",y:"8",width:"58",height:"29",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"52",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"52",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.foxtrot=wp.element.createElement("svg",{width:"74",height:"43",viewBox:"0 0 74 43",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"43",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"8",width:"58",height:"7",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"28",width:"7",height:"7",rx:"3.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"8",y:"19",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"19",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.golf=wp.element.createElement("svg",{width:"74",height:"56",viewBox:"0 0 74 56",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"56",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"21",width:"58",height:"7",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"41",width:"7",height:"7",rx:"3.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"8",y:"8",width:"16",height:"9",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"32",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"32",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.hotel=wp.element.createElement("svg",{width:"74",height:"50",viewBox:"0 0 74 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"50",rx:"5",fill:"#6528F5"}),wp.element.createElement("path",{d:"M54.0625 42H19.9375C18.8438 42 17.9141 41.6111 17.1484 40.8333C16.3828 40.0556 16 39.1111 16 38V14C16 12.8889 16.3828 11.9444 17.1484 11.1667C17.9141 10.3889 18.8438 10 19.9375 10H54.0625C55.1562 10 56.0859 10.3889 56.8516 11.1667C57.6172 11.9444 58 12.8889 58 14V38C58 39.1111 57.6172 40.0556 56.8516 40.8333C56.0859 41.6111 55.1562 42 54.0625 42ZM28.3867 16.0833C27.5117 15.1389 26.4453 14.6667 25.1875 14.6667C23.9297 14.6667 22.8359 15.1389 21.9062 16.0833C21.0312 16.9722 20.5938 18.0556 20.5938 19.3333C20.5938 20.6111 21.0312 21.7222 21.9062 22.6667C22.8359 23.5556 23.9297 24 25.1875 24C26.4453 24 27.5117 23.5556 28.3867 22.6667C29.3164 21.7222 29.7812 20.6111 29.7812 19.3333C29.7812 18.0556 29.3164 16.9722 28.3867 16.0833ZM21.25 36.6667H52.75V27.3333L45.5312 20C45.0938 19.5556 44.6562 19.5556 44.2188 20L33.0625 31.3333L28.4688 26.6667C28.0312 26.2222 27.5938 26.2222 27.1562 26.6667L21.25 32.6667V36.6667Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"8",y:"26",width:"58",height:"7",rx:"2",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"37",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"37",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.comments=function(e){return wp.element.createElement("svg",{width:"13",height:"12",viewBox:"0 0 13 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{fill:e}},wp.element.createElement("path",{d:"M7.8251 1.25893C8.70332 2.09821 9.14243 3.10714 9.14243 4.28571C9.14243 5.46429 8.70332 6.47321 7.8251 7.3125C6.94689 8.15179 5.8887 8.57143 4.65056 8.57143C3.78674 8.57143 2.98771 8.34821 2.25346 7.90179C1.63439 8.34821 0.993719 8.57143 0.331456 8.57143C0.302662 8.57143 0.273868 8.5625 0.245074 8.54464C0.216279 8.50893 0.194684 8.47321 0.180287 8.4375C0.151493 8.34821 0.158691 8.26786 0.201882 8.19643C0.50422 7.83929 0.763366 7.35714 0.979321 6.75C0.432235 6.01786 0.158691 5.19643 0.158691 4.28571C0.158691 3.10714 0.5978 2.09821 1.47602 1.25893C2.35424 0.419643 3.41242 0 4.65056 0C5.8887 0 6.94689 0.419643 7.8251 1.25893ZM11.7771 10.1786C11.993 10.7857 12.2522 11.2679 12.5545 11.625C12.5977 11.6964 12.6049 11.7768 12.5761 11.8661C12.5473 11.9554 12.4969 12 12.425 12C11.7627 12 11.122 11.7768 10.5029 11.3304C9.7687 11.7768 8.96967 12 8.10585 12C7.18444 12 6.34941 11.7589 5.60076 11.2768C4.85212 10.7946 4.30503 10.1607 3.9595 9.375C4.21865 9.41071 4.449 9.42857 4.65056 9.42857C6.07587 9.42857 7.29241 8.92857 8.30021 7.92857C9.32239 6.91071 9.83349 5.69643 9.83349 4.28571C9.83349 4.08929 9.82629 3.91071 9.81189 3.75C10.6325 4.07143 11.302 4.59821 11.8203 5.33036C12.3386 6.04464 12.5977 6.83929 12.5977 7.71429C12.5977 8.625 12.3242 9.44643 11.7771 10.1786Z"}))},t.a=r},function(e,t,n){"use strict";var r=n(157),i=n.n(r),o=n(161),a=n.n(o),l=n(162),s=n.n(l),c=n(163),u=n.n(c),d=n(176),p=n.n(d),h=n(18),m=(n.n(h),n(184),n(207)),f=wp.components.CheckboxControl,g=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||i()(t)).call(this));return e.state={},e}return p()(t,e),s()(t,[{key:"renderTerms",value:function(e){return e.map(function(e){return wp.element.createElement("div",{key:e.id,className:"editor-post-taxonomies__hierarchical-terms-choice"},wp.element.createElement(f,{checked:!0,label:Object(h.unescape)(e.name)}))})}},{key:"render",value:function(){return[wp.element.createElement("label",{key:"exactmetrics-hierarchical-term-list-label",className:"components-base-control__label"},this.props.label,wp.element.createElement("span",{className:"exactmetrics-popular-posts-pro-pill"},"PRO")),wp.element.createElement("div",{className:"editor-post-taxonomies__hierarchical-terms-list exactmetrics-hierarchical-terms exactmetrics-hierarchical-terms-disabled",key:"exactmetrics-hierarchical-term-list",tabIndex:"0",role:"group"},this.renderTerms([{name:"News",id:1},{name:"Technology",id:2}]))]}}]),t}(m.a);t.a=g},function(e,t,n){e.exports={default:n(158),__esModule:!0}},function(e,t,n){n(159),e.exports=n(0).Object.getPrototypeOf},function(e,t,n){var r=n(16),i=n(53);n(160)("getPrototypeOf",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(4),i=n(0),o=n(12);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(66),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,i.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){"use strict";t.__esModule=!0;var r=n(70),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,i.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){e.exports={default:n(165),__esModule:!0}},function(e,t,n){n(19),n(40),e.exports=n(41).f("iterator")},function(e,t,n){e.exports={default:n(167),__esModule:!0}},function(e,t,n){n(168),n(173),n(174),n(175),e.exports=n(0).Symbol},function(e,t,n){"use strict";var r=n(5),i=n(9),o=n(7),a=n(4),l=n(49),s=n(169).KEY,c=n(12),u=n(35),d=n(37),p=n(22),h=n(2),m=n(41),f=n(42),g=n(170),w=n(171),v=n(8),y=n(11),b=n(16),S=n(14),E=n(31),C=n(15),_=n(32),x=n(172),k=n(72),O=n(38),T=n(6),F=n(21),M=k.f,N=T.f,j=x.f,P=r.Symbol,D=r.JSON,A=D&&D.stringify,L=h("_hidden"),B=h("toPrimitive"),z={}.propertyIsEnumerable,R=u("symbol-registry"),H=u("symbols"),I=u("op-symbols"),q=Object.prototype,V="function"==typeof P&&!!O.f,W=r.QObject,Z=!W||!W.prototype||!W.prototype.findChild,U=o&&c(function(){return 7!=_(N({},"a",{get:function(){return N(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=M(q,t);r&&delete q[t],N(e,t,n),r&&e!==q&&N(q,t,r)}:N,Y=function(e){var t=H[e]=_(P.prototype);return t._k=e,t},X=V&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},G=function(e,t,n){return e===q&&G(I,t,n),v(e),t=E(t,!0),v(n),i(H,t)?(n.enumerable?(i(e,L)&&e[L][t]&&(e[L][t]=!1),n=_(n,{enumerable:C(0,!1)})):(i(e,L)||N(e,L,C(1,{})),e[L][t]=!0),U(e,t,n)):N(e,t,n)},K=function(e,t){v(e);for(var n,r=g(t=S(t)),i=0,o=r.length;o>i;)G(e,n=r[i++],t[n]);return e},$=function(e,t){return void 0===t?_(e):K(_(e),t)},J=function(e){var t=z.call(this,e=E(e,!0));return!(this===q&&i(H,e)&&!i(I,e))&&(!(t||!i(this,e)||!i(H,e)||i(this,L)&&this[L][e])||t)},Q=function(e,t){if(e=S(e),t=E(t,!0),e!==q||!i(H,t)||i(I,t)){var n=M(e,t);return!n||!i(H,t)||i(e,L)&&e[L][t]||(n.enumerable=!0),n}},ee=function(e){for(var t,n=j(S(e)),r=[],o=0;n.length>o;)i(H,t=n[o++])||t==L||t==s||r.push(t);return r},te=function(e){for(var t,n=e===q,r=j(n?I:S(e)),o=[],a=0;r.length>a;)!i(H,t=r[a++])||n&&!i(q,t)||o.push(H[t]);return o};V||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===q&&t.call(I,n),i(this,L)&&i(this[L],e)&&(this[L][e]=!1),U(this,e,C(1,n))};return o&&Z&&U(q,e,{configurable:!0,set:t}),Y(e)},l(P.prototype,"toString",function(){return this._k}),k.f=Q,T.f=G,n(71).f=x.f=ee,n(24).f=J,O.f=te,o&&!n(20)&&l(q,"propertyIsEnumerable",J,!0),m.f=function(e){return Y(h(e))}),a(a.G+a.W+a.F*!V,{Symbol:P});for(var ne="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),re=0;ne.length>re;)h(ne[re++]);for(var ie=F(h.store),oe=0;ie.length>oe;)f(ie[oe++]);a(a.S+a.F*!V,"Symbol",{for:function(e){return i(R,e+="")?R[e]:R[e]=P(e)},keyFor:function(e){if(!X(e))throw TypeError(e+" is not a symbol!");for(var t in R)if(R[t]===e)return t},useSetter:function(){Z=!0},useSimple:function(){Z=!1}}),a(a.S+a.F*!V,"Object",{create:$,defineProperty:G,defineProperties:K,getOwnPropertyDescriptor:Q,getOwnPropertyNames:ee,getOwnPropertySymbols:te});var ae=c(function(){O.f(1)});a(a.S+a.F*ae,"Object",{getOwnPropertySymbols:function(e){return O.f(b(e))}}),D&&a(a.S+a.F*(!V||c(function(){var e=P();return"[null]"!=A([e])||"{}"!=A({a:e})||"{}"!=A(Object(e))})),"JSON",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(y(t)||void 0!==e)&&!X(e))return w(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!X(t))return t}),r[1]=t,A.apply(D,r)}}),P.prototype[B]||n(10)(P.prototype,B,P.prototype.valueOf),d(P,"Symbol"),d(Math,"Math",!0),d(r.JSON,"JSON",!0)},function(e,t,n){var r=n(22)("meta"),i=n(11),o=n(9),a=n(6).f,l=0,s=Object.isExtensible||function(){return!0},c=!n(12)(function(){return s(Object.preventExtensions({}))}),u=function(e){a(e,r,{value:{i:"O"+ ++l,w:{}}})},d=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,r)){if(!s(e))return"F";if(!t)return"E";u(e)}return e[r].i},p=function(e,t){if(!o(e,r)){if(!s(e))return!0;if(!t)return!1;u(e)}return e[r].w},h=function(e){return c&&m.NEED&&s(e)&&!o(e,r)&&u(e),e},m=e.exports={KEY:r,NEED:!1,fastKey:d,getWeak:p,onFreeze:h}},function(e,t,n){var r=n(21),i=n(38),o=n(24);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,l=n(e),s=o.f,c=0;l.length>c;)s.call(e,a=l[c++])&&t.push(a);return t}},function(e,t,n){var r=n(33);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(14),i=n(71).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],l=function(e){try{return i(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==o.call(e)?l(e):i(r(e))}},function(e,t){},function(e,t,n){n(42)("asyncIterator")},function(e,t,n){n(42)("observable")},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(177),o=r(i),a=n(181),l=r(a),s=n(70),c=r(s);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,c.default)(t)));e.prototype=(0,l.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){e.exports={default:n(178),__esModule:!0}},function(e,t,n){n(179),e.exports=n(0).Object.setPrototypeOf},function(e,t,n){var r=n(4);r(r.S,"Object",{setPrototypeOf:n(180).set})},function(e,t,n){var r=n(11),i=n(8),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n(30)(Function.call,n(72).f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){e.exports={default:n(182),__esModule:!0}},function(e,t,n){n(183);var r=n(0).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){var r=n(4);r(r.S,"Object",{create:n(32)})},function(e,t,n){"use strict";n(185),n(73),n(193)},function(e,t,n){"use strict";var r=n(186),i=n.n(r),o=n(187);n.n(o),i()(console.error)},function(e,t,n){function r(e,t){function n(){var n,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a<s;a++)if(l.args[a]!==arguments[a]){l=l.next;continue e}return l!==r&&(l===i&&(i=l.prev),l.prev.next=l.next,l.next&&(l.next.prev=l.prev),l.next=r,l.prev=null,r.prev=l,r=l),l.val}l=l.next}for(n=new Array(s),a=0;a<s;a++)n[a]=arguments[a];return l={args:n,val:e.apply(null,n)},r?(r.prev=l,l.next=r):i=l,o===t.maxSize?(i=i.prev,i.next=null):o++,r=l,l.val}var r,i,o=0;return t=t||{},n.clear=function(){r=null,i=null,o=0},n}e.exports=r},function(e,t,n){var r;!function(){"use strict";function i(e){return a(l(e),arguments)}function o(e,t){return i.apply(null,[e].concat(t||[]))}function a(e,t){var n,r,o,a,l,c,u,d,p,h=1,m=e.length,f="";for(r=0;r<m;r++)if("string"==typeof e[r])f+=e[r];else if("object"==typeof e[r]){if(a=e[r],a.keys)for(n=t[h],o=0;o<a.keys.length;o++){if(void 0==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',a.keys[o],a.keys[o-1]));n=n[a.keys[o]]}else n=a.param_no?t[a.param_no]:t[h++];if(s.not_type.test(a.type)&&s.not_primitive.test(a.type)&&n instanceof Function&&(n=n()),s.numeric_arg.test(a.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(s.number.test(a.type)&&(d=n>=0),a.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,a.width?parseInt(a.width):0);break;case"e":n=a.precision?parseFloat(n).toExponential(a.precision):parseFloat(n).toExponential();break;case"f":n=a.precision?parseFloat(n).toFixed(a.precision):parseFloat(n);break;case"g":n=a.precision?String(Number(n.toPrecision(a.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=a.precision?n.substring(0,a.precision):n;break;case"t":n=String(!!n),n=a.precision?n.substring(0,a.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=a.precision?n.substring(0,a.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=a.precision?n.substring(0,a.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}s.json.test(a.type)?f+=n:(!s.number.test(a.type)||d&&!a.sign?p="":(p=d?"+":"-",n=n.toString().replace(s.sign,"")),c=a.pad_char?"0"===a.pad_char?"0":a.pad_char.charAt(1):" ",u=a.width-(p+n).length,l=a.width&&u>0?c.repeat(u):"",f+=a.align?p+n+l:"0"===c?p+l+n:l+p+n)}return f}function l(e){if(c[e])return c[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=s.text.exec(n)))r.push(t[0]);else if(null!==(t=s.modulo.exec(n)))r.push("%");else{if(null===(t=s.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var o=[],a=t[2],l=[];if(null===(l=s.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(l[1]);""!==(a=a.substring(l[0].length));)if(null!==(l=s.key_access.exec(a)))o.push(l[1]);else{if(null===(l=s.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(l[1])}t[2]=o}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return c[e]=r}var s={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/},c=Object.create(null);t.sprintf=i,t.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=o,void 0!==(r=function(){return{sprintf:i,vsprintf:o}}.call(t,n,t,e))&&(e.exports=r))}()},function(e,t,n){"use strict";function r(e){var t,n,r;for(t=e.split(";"),n=0;n<t.length;n++)if(r=t[n].trim(),0===r.indexOf("plural="))return r.substr(7)}function i(e,t){var n;this.data=e,this.pluralForms={},this.options={};for(n in a)this.options[n]=void 0!==t&&n in t?t[n]:a[n]}t.a=i;var o=n(189),a={contextDelimiter:"",onMissingKey:null};i.prototype.getPluralForm=function(e,t){var n,i,a,l=this.pluralForms[e];return l||(n=this.data[e][""],a=n["Plural-Forms"]||n["plural-forms"]||n.plural_forms,"function"!=typeof a&&(i=r(n["Plural-Forms"]||n["plural-forms"]||n.plural_forms),a=Object(o.a)(i)),l=this.pluralForms[e]=a),l(t)},i.prototype.dcnpgettext=function(e,t,n,r,i){var o,a,l;return o=void 0===i?0:this.getPluralForm(e,i),a=n,t&&(a=t+this.options.contextDelimiter+n),(l=this.data[e][a])&&l[o]?l[o]:(this.options.onMissingKey&&this.options.onMissingKey(n,e),0===o?n:r)}},function(e,t,n){"use strict";function r(e){var t=Object(i.a)(e);return function(e){return+t({n:e})}}t.a=r;var i=n(190)},function(e,t,n){"use strict";function r(e){var t=Object(i.a)(e);return function(e){return Object(o.a)(t,e)}}t.a=r;var i=n(191),o=n(192)},function(e,t,n){"use strict";function r(e){for(var t,n,r,s,c=[],u=[];t=e.match(l);){for(n=t[0],r=e.substr(0,t.index).trim(),r&&c.push(r);s=u.pop();){if(a[n]){if(a[n][0]===s){n=a[n][1]||n;break}}else if(o.indexOf(s)>=0||i[s]<i[n]){u.push(s);break}c.push(s)}a[n]||u.push(n),e=e.substr(t.index+n.length)}return e=e.trim(),e&&c.push(e),c.concat(u.reverse())}t.a=r;var i,o,a,l;i={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],a={")":["("],":":["?","?:"]},l=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},function(e,t,n){"use strict";function r(e,t){var n,r,o,a,l,s,c=[];for(n=0;n<e.length;n++){if(l=e[n],a=i[l]){for(r=a.length,o=Array(r);r--;)o[r]=c.pop();try{s=a.apply(null,o)}catch(e){return e}}else s=t.hasOwnProperty(l)?t[l]:+l;c.push(s)}return c[0]}t.a=r;var i={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e<t},"<=":function(e,t){return e<=t},">":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,n){if(e)throw t;return n}}},function(e,t,n){"use strict";var r=n(73),i=n(194),o=Object(r.a)(void 0,void 0,i.a);o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o),o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(195),i=Object(r.a)();i.addAction,i.addFilter,i.removeAction,i.removeFilter,i.hasAction,i.hasFilter,i.removeAllActions,i.removeAllFilters,i.doAction,i.applyFilters,i.currentAction,i.currentFilter,i.doingAction,i.doingFilter,i.didAction,i.didFilter,i.actions,i.filters},function(e,t,n){"use strict";function r(){return new p}var i=n(196),o=n(197),a=n(198),l=n(199),s=n(200),c=n(204),u=n(205),d=n(206),p=function e(){Object(i.a)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=Object(o.a)(this,"actions"),this.addFilter=Object(o.a)(this,"filters"),this.removeAction=Object(a.a)(this,"actions"),this.removeFilter=Object(a.a)(this,"filters"),this.hasAction=Object(l.a)(this,"actions"),this.hasFilter=Object(l.a)(this,"filters"),this.removeAllActions=Object(a.a)(this,"actions",!0),this.removeAllFilters=Object(a.a)(this,"filters",!0),this.doAction=Object(s.a)(this,"actions"),this.applyFilters=Object(s.a)(this,"filters",!0),this.currentAction=Object(c.a)(this,"actions"),this.currentFilter=Object(c.a)(this,"filters"),this.doingAction=Object(u.a)(this,"actions"),this.doingFilter=Object(u.a)(this,"filters"),this.didAction=Object(d.a)(this,"actions"),this.didFilter=Object(d.a)(this,"filters")};t.a=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n,r,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if(Object(o.a)(n)&&Object(i.a)(r)){if("function"!=typeof a)return void console.error("The hook callback must be a function.");if("number"!=typeof l)return void console.error("If specified, the hook priority must be a number.");var c={callback:a,priority:l,namespace:r};if(s[n]){var u,d=s[n].handlers;for(u=d.length;u>0&&!(l>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),s.__current.forEach(function(e){e.name===n&&e.currentIndex>=u&&e.currentIndex++})}else s[n]={handlers:[c],runs:0};"hookAdded"!==n&&e.doAction("hookAdded",n,r,a,l)}}}var i=n(74),o=n(43);t.a=r},function(e,t,n){"use strict";function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,a){var l=e[t];if(Object(o.a)(r)&&(n||Object(i.a)(a))){if(!l[r])return 0;var s=0;if(n)s=l[r].handlers.length,l[r]={runs:l[r].runs,handlers:[]};else for(var c=l[r].handlers,u=c.length-1;u>=0;u--)!function(e){c[e].namespace===a&&(c.splice(e,1),s++,l.__current.forEach(function(t){t.name===r&&t.currentIndex>=e&&t.currentIndex--}))}(u);return"hookRemoved"!==r&&e.doAction("hookRemoved",r,a),s}}}var i=n(74),o=n(43);t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n,r){var i=e[t];return void 0!==r?n in i&&i[n].handlers.some(function(e){return e.namespace===r}):n in i}}t.a=r},function(e,t,n){"use strict";function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=e[t];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s<a;s++)l[s-1]=arguments[s];if(!o||!o.length)return n?l[0]:void 0;var c={name:r,currentIndex:0};for(i.__current.push(c);c.currentIndex<o.length;){var u=o[c.currentIndex],d=u.callback.apply(null,l);n&&(l[0]=d),c.currentIndex++}return i.__current.pop(),n?l[0]:void 0}}n(75);t.a=r},function(e,t,n){"use strict";function r(e){if(Array.isArray(e))return Object(i.a)(e)}t.a=r;var i=n(76)},function(e,t,n){"use strict";function r(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}t.a=r},function(e,t,n){"use strict";function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.a=r},function(e,t,n){"use strict";function r(e,t){return function(){var n,r,i=e[t];return null!==(n=null===(r=i.__current[i.__current.length-1])||void 0===r?void 0:r.name)&&void 0!==n?n:null}}t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n){var r=e[t];return void 0===n?void 0!==r.__current[0]:!!r.__current[0]&&n===r.__current[0].name}}t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n){var r=e[t];if(Object(i.a)(n))return r[n]&&r[n].runs?r[n].runs:0}}var i=n(43);t.a=r},function(e,t,n){"use strict";var r=(n(208),n(27));n.d(t,"a",function(){return r.a});n(214),n(216),n(217),n(218),n(79)},function(e,t,n){"use strict";n(209),n(78),n(75),n(27)},function(e,t,n){"use strict";function r(e,t){return Object(i.a)(e)||Object(o.a)(e,t)||Object(a.a)(e,t)||Object(l.a)()}t.a=r;var i=n(210),o=n(211),a=n(77),l=n(212)},function(e,t,n){"use strict";function r(e){if(Array.isArray(e))return e}t.a=r},function(e,t,n){"use strict";function r(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,l=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){l=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(l)throw i}}return o}}t.a=r},function(e,t,n){"use strict";function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.a=r},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}t.a=r},function(e,t,n){"use strict";var r=n(215);n.n(r)},function(e,t){e.exports=ReactDOM},function(e,t,n){"use strict";var r=n(18);n.n(r)},function(e,t,n){"use strict"},function(e,t,n){"use strict";var r=(n(26),n(44),n(78),n(18)),i=(n.n(r),n(219),n(27)),o=(n(79),Object(i.e)(void 0));o.Provider,o.Consumer,Object(i.g)(function(){return null}),new Set(["string","boolean","number"]),new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),new Set(["allowfullscreen","allowpaymentrequest","allowusermedia","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","typemustmatch"]),new Set(["autocapitalize","autocomplete","charset","contenteditable","crossorigin","decoding","dir","draggable","enctype","formenctype","formmethod","http-equiv","inputmode","kind","method","preload","scope","shape","spellcheck","translate","type","wrap"]),new Set(["animation","animationIterationCount","baselineShift","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","cx","cy","fillOpacity","flexGrow","flexShrink","floodOpacity","fontWeight","gridColumnEnd","gridColumnStart","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","r","rx","ry","shapeImageThreshold","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","tabSize","widows","x","y","zIndex","zoom"])},function(e,t,n){"use strict";function r(e){return e.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi,"&amp;")}function i(e){return e.replace(/"/g,"&quot;")}function o(e){return e.replace(/</g,"&lt;")}function a(e){return Object(c.a)(i(r(e)))}function l(e){return o(r(e))}function s(e){return!u.test(e)}t.a=a,t.b=l,t.c=s;var c=n(220),u=/[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/},function(e,t,n){"use strict";function r(e){return e.replace(/>/g,"&gt;")}t.a=r}]);
1
+ !function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=87)}([function(e,t){var n=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";function r(e){return"[object Array]"===x.call(e)}function i(e){return void 0===e}function o(e){return null!==e&&!i(e)&&null!==e.constructor&&!i(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function a(e){return"[object ArrayBuffer]"===x.call(e)}function s(e){return"undefined"!=typeof FormData&&e instanceof FormData}function l(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function u(e){return"number"==typeof e}function d(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===x.call(e)}function h(e){return"[object File]"===x.call(e)}function m(e){return"[object Blob]"===x.call(e)}function f(e){return"[object Function]"===x.call(e)}function g(e){return d(e)&&f(e.pipe)}function w(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function b(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function v(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function y(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}function S(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=S(t[n],e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)y(arguments[n],e);return t}function E(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=E(t[n],e):t[n]="object"==typeof e?E({},e):e}for(var t={},n=0,r=arguments.length;n<r;n++)y(arguments[n],e);return t}function _(e,t,n){return y(t,function(t,r){e[r]=n&&"function"==typeof t?C(t,n):t}),e}var C=n(64),x=Object.prototype.toString;e.exports={isArray:r,isArrayBuffer:a,isBuffer:o,isFormData:s,isArrayBufferView:l,isString:c,isNumber:u,isObject:d,isUndefined:i,isDate:p,isFile:h,isBlob:m,isFunction:f,isStream:g,isURLSearchParams:w,isStandardBrowserEnv:v,forEach:y,merge:S,deepMerge:E,extend:_,trim:b}},function(e,t,n){var r=n(42)("wks"),i=n(29),o=n(6).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){var r,i;/*!
2
  Copyright (c) 2018 Jed Watson.
3
  Licensed under the MIT License (MIT), see
4
  http://jedwatson.github.io/classnames
5
  */
6
+ !function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)){if(r.length){var a=n.apply(null,r);a&&e.push(a)}}else if("object"===i)if(r.toString===Object.prototype.toString)for(var s in r)o.call(r,s)&&r[s]&&e.push(s);else e.push(r.toString())}}return e.join(" ")}var o={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(i=function(){return n}.apply(t,r))&&(e.exports=i))}()},function(e,t,n){var r=n(6),i=n(0),o=n(37),a=n(11),s=n(9),l=function(e,t,n){var c,u,d,p=e&l.F,h=e&l.G,m=e&l.S,f=e&l.P,g=e&l.B,w=e&l.W,b=h?i:i[t]||(i[t]={}),v=b.prototype,y=h?r:m?r[t]:(r[t]||{}).prototype;h&&(n=t);for(c in n)(u=!p&&y&&void 0!==y[c])&&s(b,c)||(d=u?y[c]:n[c],b[c]=h&&"function"!=typeof y[c]?n[c]:g&&u?o(d,r):w&&y[c]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(d):f&&"function"==typeof d?o(Function.call,d):d,f&&((b.virtual||(b.virtual={}))[c]=d,e&l.R&&v&&!v[c]&&a(v,c,d)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){e.exports=!n(13)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(8),i=n(53),o=n(38),a=Object.defineProperty;t.f=n(5)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(12);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(57),i=n(36);e.exports=function(e){return r(i(e))}},function(e,t,n){var r=n(7),i=n(15);e.exports=n(5)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports={}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(56),i=n(43);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(36);e.exports=function(e){return Object(r(e))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";var r={};r.headline=wp.element.createElement("svg",{width:"15",height:"14",viewBox:"0 0 15 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M13.5 2V12H14.5C14.6458 12 14.7604 12.0521 14.8438 12.1562C14.9479 12.2396 15 12.3542 15 12.5V13.5C15 13.6458 14.9479 13.7604 14.8438 13.8438C14.7604 13.9479 14.6458 14 14.5 14H9.5C9.35417 14 9.22917 13.9479 9.125 13.8438C9.04167 13.7604 9 13.6458 9 13.5V12.5C9 12.3542 9.04167 12.2396 9.125 12.1562C9.22917 12.0521 9.35417 12 9.5 12H10.5V8H4.5V12H5.5C5.64583 12 5.76042 12.0521 5.84375 12.1562C5.94792 12.2396 6 12.3542 6 12.5V13.5C6 13.6458 5.94792 13.7604 5.84375 13.8438C5.76042 13.9479 5.64583 14 5.5 14H0.5C0.354167 14 0.229167 13.9479 0.125 13.8438C0.0416667 13.7604 0 13.6458 0 13.5V12.5C0 12.3542 0.0416667 12.2396 0.125 12.1562C0.229167 12.0521 0.354167 12 0.5 12H1.5V2H0.5C0.354167 2 0.229167 1.95833 0.125 1.875C0.0416667 1.77083 0 1.64583 0 1.5V0.5C0 0.354167 0.0416667 0.239583 0.125 0.15625C0.229167 0.0520833 0.354167 0 0.5 0H5.5C5.64583 0 5.76042 0.0520833 5.84375 0.15625C5.94792 0.239583 6 0.354167 6 0.5V1.5C6 1.64583 5.94792 1.77083 5.84375 1.875C5.76042 1.95833 5.64583 2 5.5 2H4.5V6H10.5V2H9.5C9.35417 2 9.22917 1.95833 9.125 1.875C9.04167 1.77083 9 1.64583 9 1.5V0.5C9 0.354167 9.04167 0.239583 9.125 0.15625C9.22917 0.0520833 9.35417 0 9.5 0H14.5C14.6458 0 14.7604 0.0520833 14.8438 0.15625C14.9479 0.239583 15 0.354167 15 0.5V1.5C15 1.64583 14.9479 1.77083 14.8438 1.875C14.7604 1.95833 14.6458 2 14.5 2H13.5Z",fill:"white"})),r.headlineBlack=wp.element.createElement("svg",{width:"15",height:"14",viewBox:"0 0 15 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M13.5 2V12H14.5C14.6458 12 14.7604 12.0521 14.8438 12.1562C14.9479 12.2396 15 12.3542 15 12.5V13.5C15 13.6458 14.9479 13.7604 14.8438 13.8438C14.7604 13.9479 14.6458 14 14.5 14H9.5C9.35417 14 9.22917 13.9479 9.125 13.8438C9.04167 13.7604 9 13.6458 9 13.5V12.5C9 12.3542 9.04167 12.2396 9.125 12.1562C9.22917 12.0521 9.35417 12 9.5 12H10.5V8H4.5V12H5.5C5.64583 12 5.76042 12.0521 5.84375 12.1562C5.94792 12.2396 6 12.3542 6 12.5V13.5C6 13.6458 5.94792 13.7604 5.84375 13.8438C5.76042 13.9479 5.64583 14 5.5 14H0.5C0.354167 14 0.229167 13.9479 0.125 13.8438C0.0416667 13.7604 0 13.6458 0 13.5V12.5C0 12.3542 0.0416667 12.2396 0.125 12.1562C0.229167 12.0521 0.354167 12 0.5 12H1.5V2H0.5C0.354167 2 0.229167 1.95833 0.125 1.875C0.0416667 1.77083 0 1.64583 0 1.5V0.5C0 0.354167 0.0416667 0.239583 0.125 0.15625C0.229167 0.0520833 0.354167 0 0.5 0H5.5C5.64583 0 5.76042 0.0520833 5.84375 0.15625C5.94792 0.239583 6 0.354167 6 0.5V1.5C6 1.64583 5.94792 1.77083 5.84375 1.875C5.76042 1.95833 5.64583 2 5.5 2H4.5V6H10.5V2H9.5C9.35417 2 9.22917 1.95833 9.125 1.875C9.04167 1.77083 9 1.64583 9 1.5V0.5C9 0.354167 9.04167 0.239583 9.125 0.15625C9.22917 0.0520833 9.35417 0 9.5 0H14.5C14.6458 0 14.7604 0.0520833 14.8438 0.15625C14.9479 0.239583 15 0.354167 15 0.5V1.5C15 1.64583 14.9479 1.77083 14.8438 1.875C14.7604 1.95833 14.6458 2 14.5 2H13.5Z",fill:"#000"})),r.warning=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M16 8C16 6.58065 15.6129 5.22581 14.9032 4C14.1935 2.77419 13.2258 1.80645 12 1.09677C10.7742 0.387097 9.41936 0 8 0C6.54839 0 5.22581 0.387097 4 1.09677C2.77419 1.80645 1.77419 2.77419 1.06452 4C0.354839 5.22581 0 6.58065 0 8C0 9.45161 0.354839 10.7742 1.06452 12C1.77419 13.2258 2.77419 14.2258 4 14.9355C5.22581 15.6452 6.54839 16 8 16C9.41936 16 10.7742 15.6452 12 14.9355C13.2258 14.2258 14.1935 13.2258 14.9032 12C15.6129 10.7742 16 9.45161 16 8ZM8 9.6129C8.3871 9.6129 8.74194 9.77419 9.03226 10.0645C9.32258 10.3548 9.48387 10.7097 9.48387 11.0968C9.48387 11.5161 9.32258 11.871 9.03226 12.1613C8.74194 12.4516 8.3871 12.5806 8 12.5806C7.58065 12.5806 7.22581 12.4516 6.93548 12.1613C6.64516 11.871 6.51613 11.5161 6.51613 11.0968C6.51613 10.7097 6.64516 10.3548 6.93548 10.0645C7.22581 9.77419 7.58065 9.6129 8 9.6129ZM6.58065 4.29032C6.58065 4.16129 6.6129 4.06452 6.67742 4C6.74194 3.93548 6.83871 3.87097 6.96774 3.87097H9.03226C9.12903 3.87097 9.22581 3.93548 9.29032 4C9.35484 4.06452 9.41936 4.16129 9.41936 4.29032L9.16129 8.67742C9.16129 8.77419 9.09677 8.87097 9.03226 8.93548C8.96774 9 8.87097 9.03226 8.77419 9.03226H7.22581C7.09677 9.03226 7 9 6.93548 8.93548C6.87097 8.87097 6.83871 8.77419 6.83871 8.67742L6.58065 4.29032Z",fill:"#F2994A"})),r.smile=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM11.2903 5.74194C11.0968 5.52688 10.8602 5.41935 10.5806 5.41935C10.3011 5.41935 10.0538 5.52688 9.83871 5.74194C9.64516 5.93548 9.54839 6.17204 9.54839 6.45161C9.54839 6.73118 9.64516 6.97849 9.83871 7.19355C10.0538 7.3871 10.3011 7.48387 10.5806 7.48387C10.8602 7.48387 11.0968 7.3871 11.2903 7.19355C11.5054 6.97849 11.6129 6.73118 11.6129 6.45161C11.6129 6.17204 11.5054 5.93548 11.2903 5.74194ZM6.12903 5.74194C5.93548 5.52688 5.69892 5.41935 5.41935 5.41935C5.13978 5.41935 4.89247 5.52688 4.67742 5.74194C4.48387 5.93548 4.3871 6.17204 4.3871 6.45161C4.3871 6.73118 4.48387 6.97849 4.67742 7.19355C4.89247 7.3871 5.13978 7.48387 5.41935 7.48387C5.69892 7.48387 5.93548 7.3871 6.12903 7.19355C6.34409 6.97849 6.45161 6.73118 6.45161 6.45161C6.45161 6.17204 6.34409 5.93548 6.12903 5.74194ZM11.7097 10.9032C11.7957 10.8172 11.8387 10.7204 11.8387 10.6129C11.8387 10.4839 11.8065 10.3871 11.7419 10.3226C11.6774 10.2366 11.5914 10.172 11.4839 10.129C11.3978 10.0645 11.3011 10.043 11.1935 10.0645C11.086 10.086 10.9892 10.1505 10.9032 10.2581C10.1505 11.1613 9.1828 11.6129 8 11.6129C6.8172 11.6129 5.84946 11.1613 5.09677 10.2581C5.01075 10.1505 4.91398 10.086 4.80645 10.0645C4.69892 10.043 4.5914 10.0645 4.48387 10.129C4.39785 10.172 4.32258 10.2366 4.25806 10.3226C4.19355 10.3871 4.16129 10.4839 4.16129 10.6129C4.16129 10.7204 4.2043 10.8172 4.29032 10.9032C5.25806 12.0645 6.49462 12.6452 8 12.6452C9.50538 12.6452 10.7419 12.0645 11.7097 10.9032Z",fill:"#1EC185"})),r.neutral=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM6.12903 5.74194C5.93548 5.52688 5.69892 5.41935 5.41935 5.41935C5.13978 5.41935 4.89247 5.52688 4.67742 5.74194C4.48387 5.93548 4.3871 6.17204 4.3871 6.45161C4.3871 6.73118 4.48387 6.97849 4.67742 7.19355C4.89247 7.3871 5.13978 7.48387 5.41935 7.48387C5.69892 7.48387 5.93548 7.3871 6.12903 7.19355C6.34409 6.97849 6.45161 6.73118 6.45161 6.45161C6.45161 6.17204 6.34409 5.93548 6.12903 5.74194ZM11.0968 11.6129C11.4409 11.6129 11.6129 11.4409 11.6129 11.0968C11.6129 10.7527 11.4409 10.5806 11.0968 10.5806H4.90323C4.55914 10.5806 4.3871 10.7527 4.3871 11.0968C4.3871 11.4409 4.55914 11.6129 4.90323 11.6129H11.0968ZM9.83871 7.19355C10.0538 7.3871 10.3011 7.48387 10.5806 7.48387C10.8602 7.48387 11.0968 7.3871 11.2903 7.19355C11.5054 6.97849 11.6129 6.73118 11.6129 6.45161C11.6129 6.17204 11.5054 5.93548 11.2903 5.74194C11.0968 5.52688 10.8602 5.41935 10.5806 5.41935C10.3011 5.41935 10.0538 5.52688 9.83871 5.74194C9.64516 5.93548 9.54839 6.17204 9.54839 6.45161C9.54839 6.73118 9.64516 6.97849 9.83871 7.19355Z",fill:"#626D83"})),r.negative=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM4.3871 7.48387C4.3871 7.76344 4.48387 8.01075 4.67742 8.22581C4.89247 8.41935 5.13978 8.51613 5.41935 8.51613C5.69892 8.51613 5.93548 8.41935 6.12903 8.22581C6.34409 8.01075 6.45161 7.76344 6.45161 7.48387C6.45161 7.44086 6.43011 7.35484 6.3871 7.22581C6.4086 7.22581 6.41935 7.22581 6.41935 7.22581C6.44086 7.22581 6.45161 7.22581 6.45161 7.22581C6.70968 7.22581 6.87097 7.10753 6.93548 6.87097C6.95699 6.78495 6.96774 6.70968 6.96774 6.64516C6.96774 6.58065 6.94624 6.52688 6.90323 6.48387C6.88172 6.41935 6.83871 6.36559 6.77419 6.32258C6.73118 6.27957 6.67742 6.24731 6.6129 6.22581L4.03226 5.45161C3.88172 5.4086 3.74194 5.41935 3.6129 5.48387C3.50538 5.54839 3.43011 5.64516 3.3871 5.77419C3.36559 5.86021 3.35484 5.93548 3.35484 6C3.37634 6.06452 3.39785 6.12903 3.41935 6.19355C3.44086 6.23656 3.47312 6.27957 3.51613 6.32258C3.58065 6.36559 3.65591 6.39785 3.74194 6.41935L4.70968 6.74194C4.49462 6.93548 4.3871 7.1828 4.3871 7.48387ZM9.80645 12.4516C9.93548 12.6237 10.0968 12.6882 10.2903 12.6452C10.4839 12.6021 10.6129 12.4946 10.6774 12.3226C10.7419 12.1505 10.7097 11.9785 10.5806 11.8065C9.91398 10.9892 9.05376 10.5806 8 10.5806C6.94624 10.5806 6.07527 10.9892 5.3871 11.8065C5.34409 11.871 5.31183 11.9462 5.29032 12.0323C5.26882 12.1183 5.26882 12.1935 5.29032 12.2581C5.31183 12.3226 5.34409 12.3871 5.3871 12.4516C5.43011 12.5161 5.48387 12.5699 5.54839 12.6129C5.6129 12.6344 5.67742 12.6559 5.74194 12.6774C5.82796 12.6774 5.90323 12.6667 5.96774 12.6452C6.05376 12.6021 6.12903 12.5376 6.19355 12.4516C6.64516 11.914 7.24731 11.6452 8 11.6452C8.75269 11.6452 9.35484 11.914 9.80645 12.4516ZM12.2903 6.41935C12.4194 6.37634 12.5161 6.30107 12.5806 6.19355C12.6452 6.06452 12.6559 5.92473 12.6129 5.77419C12.5914 5.68817 12.5484 5.6129 12.4839 5.54839C12.4194 5.48387 12.3441 5.45161 12.2581 5.45161C12.172 5.43011 12.086 5.43011 12 5.45161L9.41935 6.22581C9.26882 6.26882 9.16129 6.35484 9.09677 6.48387C9.03226 6.5914 9.02151 6.72043 9.06452 6.87097C9.12903 7.10753 9.29032 7.22581 9.54839 7.22581C9.56989 7.22581 9.5914 7.22581 9.6129 7.22581C9.56989 7.33333 9.54839 7.41935 9.54839 7.48387C9.54839 7.76344 9.64516 8.01075 9.83871 8.22581C10.0538 8.41935 10.3011 8.51613 10.5806 8.51613C10.8602 8.51613 11.0968 8.41935 11.2903 8.22581C11.5054 8.01075 11.6129 7.76344 11.6129 7.48387C11.6129 7.1828 11.5054 6.93548 11.2903 6.74194L12.2903 6.41935Z",fill:"#626D83"})),r.check=wp.element.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484ZM7.06452 12.2258L13 6.29032C13.2581 6.05376 13.2581 5.8172 13 5.58065L12.2903 4.83871C12.0323 4.60215 11.7849 4.60215 11.5484 4.83871L6.70968 9.67742L4.45161 7.41935C4.21505 7.1828 3.96774 7.1828 3.70968 7.41935L3 8.16129C2.74194 8.39785 2.74194 8.63441 3 8.87097L6.35484 12.2258C6.5914 12.4839 6.82796 12.4839 7.06452 12.2258Z",fill:"#1EC185"})),t.a=r},function(e,t,n){e.exports={default:n(155),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(72),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,i.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){"use strict";t.__esModule=!0;var r=n(73),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,i.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(172),o=r(i),a=n(176),s=r(a),l=n(73),c=r(l);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,c.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";var r=(n(180),n(33));n.d(t,"a",function(){return r.a});n(189),n(191),n(192),n(193),n(81)},function(e,t){e.exports=lodash},function(e,t,n){"use strict";var r=n(94)(!0);n(52)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){e.exports=!0},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(106),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(110),o=r(i),a=n(62),s=r(a);t.default=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=(0,s.default)(e);!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&l.return&&l.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,o.default)(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){"use strict";var r=wp.element.Fragment,i=function(e){var t=e.barScore,n=e.width?e.width+"px":"80px",i=t>50?0:180-3.6*t,o=e.barColor;return wp.element.createElement(r,null,wp.element.createElement("div",{className:"exactmetrics-donut-container",style:{flexDirection:"column"}},wp.element.createElement("div",{className:"exactmetrics-donut",style:{width:n,paddingBottom:n,backgroundColor:"#f2f2f2"}},wp.element.createElement("div",{className:"exactmetrics-donut-sections",style:{transform:"rotate(0deg)"}},wp.element.createElement("div",{className:"exactmetrics-donut-section exactmetrics-donut-section-right",style:{transform:"rotate(0deg)"}},wp.element.createElement("div",{className:"exactmetrics-donut-filler",style:{backgroundColor:o,transform:"rotate(-"+i+"deg)"}})),function(){if(t>50){var e=180+360*(t-50)/100;return wp.element.createElement("div",{className:"exactmetrics-donut-section exactmetrics-donut-section-left",style:{transform:"rotate(0deg)"}},wp.element.createElement("div",{className:"exactmetrics-donut-filler",style:{backgroundColor:o,transform:"rotate("+e+"deg)"}}))}}()),wp.element.createElement("div",{className:"exactmetrics-donut-overlay",style:{height:"70%",width:"70%",top:"calc(15%)",left:"calc(15%)",backgroundColor:"rgb(255, 255, 255)"}}))))};t.a=i},function(e,t,n){"use strict";var r=(n(34),n(49),n(80)),i=(n.n(r),n(26));n.n(i);n.o(r,"cloneElement")&&n.d(t,"d",function(){return r.cloneElement}),n.o(r,"Component")&&n.d(t,"a",function(){return r.Component}),n.o(r,"createContext")&&n.d(t,"e",function(){return r.createContext}),n.o(r,"createElement")&&n.d(t,"f",function(){return r.createElement}),n.o(r,"forwardRef")&&n.d(t,"g",function(){return r.forwardRef}),n.o(r,"Fragment")&&n.d(t,"b",function(){return r.Fragment}),n.o(r,"isValidElement")&&n.d(t,"h",function(){return r.isValidElement}),n.o(r,"StrictMode")&&n.d(t,"c",function(){return r.StrictMode})},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}t.a=r},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(95);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(12);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(8),i=n(97),o=n(43),a=n(41)("IE_PROTO"),s=function(){},l=function(){var e,t=n(54)("iframe"),r=o.length;for(t.style.display="none",n(100).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("<script>document.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(42)("keys"),i=n(29);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(0),i=n(6),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(28)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(7).f,i=n(9),o=n(2)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){n(112);for(var r=n(6),i=n(11),o=n(14),a=n(2)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),l=0;l<s.length;l++){var c=s[l],u=r[c],d=u&&u.prototype;d&&!d[a]&&i(d,a,c),o[c]=o.Array}},function(e,t,n){t.f=n(2)},function(e,t,n){var r=n(6),i=n(0),o=n(28),a=n(47),s=n(7).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o=Object(i.a)(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}t.a=r;var i=n(188)},function(e,t,n){"use strict";function r(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}t.a=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(92),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return(0,i.default)(e)}},function(e,t,n){"use strict";var r=n(28),i=n(4),o=n(55),a=n(11),s=n(14),l=n(96),c=n(44),u=n(59),d=n(2)("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,m,f,g,w){l(n,t,m);var b,v,y,S=function(e){if(!p&&e in x)return x[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},E=t+" Iterator",_="values"==f,C=!1,x=e.prototype,k=x[d]||x["@@iterator"]||f&&x[f],O=k||S(f),T=f?_?S("entries"):O:void 0,N="Array"==t?x.entries||k:k;if(N&&(y=u(N.call(new e)))!==Object.prototype&&y.next&&(c(y,E,!0),r||"function"==typeof y[d]||a(y,d,h)),_&&k&&"values"!==k.name&&(C=!0,O=function(){return k.call(this)}),r&&!w||!p&&!C&&x[d]||a(x,d,O),s[t]=O,s[E]=h,f)if(b={values:_?O:S("values"),keys:g?O:S("keys"),entries:T},w)for(v in b)v in x||o(x,v,b[v]);else i(i.P+i.F*(p||C),t,b);return b}},function(e,t,n){e.exports=!n(5)&&!n(13)(function(){return 7!=Object.defineProperty(n(54)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(12),i=n(6).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){e.exports=n(11)},function(e,t,n){var r=n(9),i=n(10),o=n(98)(!1),a=n(41)("IE_PROTO");e.exports=function(e,t){var n,s=i(e),l=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;t.length>l;)r(s,n=t[l++])&&(~o(c,n)||c.push(n));return c}},function(e,t,n){var r=n(40);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(35),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(9),i=n(17),o=n(41)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(61),i=n(2)("iterator"),o=n(14);e.exports=n(0).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){var r=n(40),i=n(2)("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),i))?n:o?r(t):"Object"==(s=r(t))&&"function"==typeof t.callee?"Arguments":s}},function(e,t,n){e.exports={default:n(116),__esModule:!0}},function(e,t,n){e.exports=n(118)},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(1);e.exports=function(e,t,n){if(!t)return e;var o;if(n)o=n(t);else if(i.isURLSearchParams(t))o=t.toString();else{var a=[];i.forEach(t,function(e,t){null!==e&&void 0!==e&&(i.isArray(e)?t+="[]":e=[e],i.forEach(e,function(e){i.isDate(e)?e=e.toISOString():i.isObject(e)&&(e=JSON.stringify(e)),a.push(r(t)+"="+r(e))}))}),o=a.join("&")}if(o){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";(function(t){function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var i=n(1),o=n(124),a={"Content-Type":"application/x-www-form-urlencoded"},s={adapter:function(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(68):void 0!==t&&"[object process]"===Object.prototype.toString.call(t)&&(e=n(68)),e}(),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){s.headers[e]={}}),i.forEach(["post","put","patch"],function(e){s.headers[e]=i.merge(a)}),e.exports=s}).call(t,n(123))},function(e,t,n){"use strict";var r=n(1),i=n(125),o=n(65),a=n(127),s=n(130),l=n(131),c=n(69);e.exports=function(e){return new Promise(function(t,u){var d=e.data,p=e.headers;r.isFormData(d)&&delete p["Content-Type"];var h=new XMLHttpRequest;if(e.auth){var m=e.auth.username||"",f=e.auth.password||"";p.Authorization="Basic "+btoa(m+":"+f)}var g=a(e.baseURL,e.url);if(h.open(e.method.toUpperCase(),o(g,e.params,e.paramsSerializer),!0),h.timeout=e.timeout,h.onreadystatechange=function(){if(h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in h?s(h.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?h.response:h.responseText,o={data:r,status:h.status,statusText:h.statusText,headers:n,config:e,request:h};i(t,u,o),h=null}},h.onabort=function(){h&&(u(c("Request aborted",e,"ECONNABORTED",h)),h=null)},h.onerror=function(){u(c("Network Error",e,null,h)),h=null},h.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),u(c(t,e,"ECONNABORTED",h)),h=null},r.isStandardBrowserEnv()){var w=n(132),b=(e.withCredentials||l(g))&&e.xsrfCookieName?w.read(e.xsrfCookieName):void 0;b&&(p[e.xsrfHeaderName]=b)}if("setRequestHeader"in h&&r.forEach(p,function(e,t){void 0===d&&"content-type"===t.toLowerCase()?delete p[t]:h.setRequestHeader(t,e)}),r.isUndefined(e.withCredentials)||(h.withCredentials=!!e.withCredentials),e.responseType)try{h.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&h.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){h&&(h.abort(),u(e),h=null)}),void 0===d&&(d=null),h.send(d)})}},function(e,t,n){"use strict";var r=n(126);e.exports=function(e,t,n,i,o){var a=new Error(e);return r(a,t,n,i,o)}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){t=t||{};var n={},i=["url","method","params","data"],o=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];r.forEach(i,function(e){void 0!==t[e]&&(n[e]=t[e])}),r.forEach(o,function(i){r.isObject(t[i])?n[i]=r.deepMerge(e[i],t[i]):void 0!==t[i]?n[i]=t[i]:r.isObject(e[i])?n[i]=r.deepMerge(e[i]):void 0!==e[i]&&(n[i]=e[i])}),r.forEach(a,function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])});var s=i.concat(o).concat(a),l=Object.keys(t).filter(function(e){return-1===s.indexOf(e)});return r.forEach(l,function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])}),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){e.exports={default:n(158),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(160),o=r(i),a=n(162),s=r(a),l="function"==typeof s.default&&"symbol"==typeof o.default?function(e){return typeof e}:function(e){return e&&"function"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":typeof e};t.default="function"==typeof s.default&&"symbol"===l(o.default)?function(e){return void 0===e?"undefined":l(e)}:function(e){return e&&"function"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":void 0===e?"undefined":l(e)}},function(e,t,n){var r=n(56),i=n(43).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){var r=n(18),i=n(15),o=n(10),a=n(38),s=n(9),l=n(53),c=Object.getOwnPropertyDescriptor;t.f=n(5)?c:function(e,t){if(e=o(e),t=a(t,!0),l)try{return c(e,t)}catch(e){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(e,t){if(e){if("string"==typeof e)return Object(i.a)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(i.a)(e,t):void 0}}t.a=r;var i=n(77)},function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}t.a=r},function(e,t,n){"use strict";function r(e){"@babel/helpers - typeof";return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.a=r},function(e,t,n){"use strict";function r(e){return Object(i.a)(e)||Object(o.a)(e)||Object(a.a)(e)||Object(s.a)()}t.a=r;var i=n(185),o=n(186),a=n(76),s=n(187)},function(e,t){e.exports=React},function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){Object(a.a)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o(e){var t=e.children,n=Object(s.a)(e,["children"]);return Object(l.f)("div",i({dangerouslySetInnerHTML:{__html:t}},n))}t.a=o;var a=n(34),s=n(49),l=n(33)},function(e,t,n){"use strict";t.__esModule=!0;var r=n(72),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t,n){return t in e?(0,i.default)(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){e.exports=n(200)},function(e,t,n){"use strict";function r(e){var t=e.className,n=e.selected,o=e.help,p=e.onChange,h=e.options,m=void 0===h?[]:h,f=e.icons,g=void 0===f?[]:f,w=u(r),b="inspector-exactmetrics-popular-posts-theme-control-"+w,v=function(e){return p(e.target.value)},y=[],S=0,E=0,_=0;for(var C in m)if(m.hasOwnProperty(C)){var x=m[C];void 0===y[S]&&(y[S]=[]),y[S][E]=x,x.value===n&&(_=S),3===E?(E=0,S++):E++}var k=function(){return wp.element.createElement("span",{className:"exactmetrics-theme-picker-check"},l.a.checkmark)},O=function(e){var t="exactmetrics-theme-picker-label-"+e.value;return e.value===n&&(t+=" exactmetrics-theme-picker-label-selected"),s.a.canaccess(e.level)||(t+=" exactmetrics-theme-picker-label-disabled"),t};return!Object(i.isEmpty)(m)&&wp.element.createElement(d,{id:b,help:o,className:a()(t,"exactmetrics-theme-picker")},wp.element.createElement(c.c,{naturalSlideWidth:250,totalSlides:y.length,className:"exactmetrics-theme-picker-carousel",currentSlide:_,dragEnabled:!1},wp.element.createElement(c.f,null,y.map(function(e,t){return wp.element.createElement(c.e,{className:"exactmetrics-theme-picker-slide",index:t,key:b+"-"+t},e.map(function(e,r){return wp.element.createElement("div",{key:b+"-"+t+"-"+r,className:"exactmetrics-slider-theme-option"},wp.element.createElement("input",{id:b+"-"+t+"-"+r,className:"exactmetrics-slider-theme-input",type:"radio",name:b,value:e.value,onChange:v,checked:e.value===n,"aria-describedby":o?b+"__help":void 0}),wp.element.createElement("label",{htmlFor:b+"-"+t+"-"+r,className:O(e)},e.value===n&&k(),wp.element.createElement("span",{className:"exactmetrics-theme-picker-label-icon"},g[e.value]?g[e.value]:""),wp.element.createElement("span",{className:"exactmetrics-theme-picker-label-text"},e.label)))}))})),function(){if(y.length>1)return wp.element.createElement("div",{className:"exactmetrics-carousel-navigation"},wp.element.createElement(c.a,null,l.a.chevronleft),wp.element.createElement(c.d,{className:"exactmetrics-carousel-navigation-dots"}),wp.element.createElement(c.b,null,l.a.chevronright))}()))}t.a=r;var i=n(26),o=(n.n(i),n(3)),a=n.n(o),s=n(203),l=n(204),c=n(205),u=wp.compose.useInstanceId,d=wp.components.BaseControl},function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){Object(o.a)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}n.d(t,"a",function(){return c});var o=n(34),a=n(213),s={"":{plural_forms:function(e){return 1===e?0:1}}},l=/^i18n\.(n?gettext|has_translation)(_|$)/,c=function(e,t,n){var r=new a.a({}),o=new Set,c=function(){o.forEach(function(e){return e()})},u=function(e){return o.add(e),function(){return o.delete(e)}},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[e]},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";r.data[t]=i(i(i({},s),r.data[t]),e),r.data[t][""]=i(i({},s[""]),r.data[t][""])},h=function(e,t){p(e,t),c()},m=function(e,t){r.data={},r.pluralForms={},h(e,t)},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[e]||p(void 0,e),r.dcnpgettext(e,t,n,i,o)},g=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},w=function(e,t){var r=f(t,void 0,e);return n?(r=n.applyFilters("i18n.gettext",r,e,t),n.applyFilters("i18n.gettext_"+g(t),r,e,t)):r},b=function(e,t,r){var i=f(r,t,e);return n?(i=n.applyFilters("i18n.gettext_with_context",i,e,t,r),n.applyFilters("i18n.gettext_with_context_"+g(r),i,e,t,r)):i},v=function(e,t,r,i){var o=f(i,void 0,e,t,r);return n?(o=n.applyFilters("i18n.ngettext",o,e,t,r,i),n.applyFilters("i18n.ngettext_"+g(i),o,e,t,r,i)):o},y=function(e,t,r,i,o){var a=f(o,i,e,t,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,e,t,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+g(o),a,e,t,r,i,o)):a},S=function(){return"rtl"===b("ltr","text direction")},E=function(e,t,i){var o,a,s=t?t+""+e:e,l=!(null===(o=r.data)||void 0===o||null===(a=o[null!==i&&void 0!==i?i:"default"])||void 0===a||!a[s]);return n&&(l=n.applyFilters("i18n.has_translation",l,e,t,i),l=n.applyFilters("i18n.has_translation_"+g(i),l,e,t,i)),l};if(e&&h(e,t),n){var _=function(e){l.test(e)&&c()};n.addAction("hookAdded","core/i18n",_),n.addAction("hookRemoved","core/i18n",_)}return{getLocaleData:d,setLocaleData:h,resetLocaleData:m,subscribe:u,__:w,_x:b,_n:v,_nx:y,isRTL:S,hasTranslation:E}}},function(e,t,n){"use strict";function r(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}t.a=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(88),i=(n.n(r),n(89)),o=(n.n(i),n(90),n(198),wp.i18n.setLocaleData);void 0!==window.exactmetrics_gutenberg_tool_vars.translations&&o(window.exactmetrics_gutenberg_tool_vars.translations,"google-analytics-dashboard-for-wp")},function(e,t){},function(e,t){},function(e,t,n){"use strict";n(91),n(148)},function(e,t,n){"use strict";var r=n(51),i=n.n(r),o=n(30),a=n.n(o),s=n(31),l=n.n(s),c=n(19),u=n(63),d=n.n(u),p=n(135),h=n(139),m=n(140),f=n(142),g=n(143),w=n(144),b=n(145),v=n(146),y=n(147),S=wp.i18n.__,E=wp.element,_=E.Fragment,C=E.useState,x=E.useEffect,k=wp.plugins.registerPlugin,O=wp.editPost,T=O.PluginSidebar,N=O.PluginSidebarMoreMenuItem,F=wp.data.select,M=function(e){var t=F("core/editor").getEditedPostAttribute("title"),n=S("Headline Analyzer","google-analytics-dashboard-for-wp"),r=S("Write your post title to see the analyzer data. This Headline Analyzer tool enables you to write irresistible SEO headlines that drive traffic, shares, and rank better in search results.","google-analytics-dashboard-for-wp"),o=C({}),s=l()(o,2),u=s[0],E=s[1],k=document.querySelector(".components-button[aria-label='"+n+"'] svg"),O=void 0!==u.previousHeadlinesData?u.previousHeadlinesData:[],M=sprintf(S("This headline analyzer is part of ExactMetrics to help you increase your traffic. See your %1swebsite traffic reports%2s.","google-analytics-dashboard-for-wp"),'<a href="'+exactmetrics_gutenberg_tool_vars.reports_url+'" className="exactmetrics-headline-analyzer-link">',"</a>"),j=document.querySelector(".exactmetrics-headline-analyzer-wrapper");if(k){var P=document.createElement("span");if(u.dataExist&&void 0!==u.currentHeadlineData.score){var D=u.currentHeadlineData.score,A=D<40?"red":D<=60?"orange":"green";k.parentNode.setAttribute("exactmetrics-button-color",A),k.nextElementSibling?k.nextElementSibling.innerHTML=D+"/100":(P.innerHTML=D+"/100",k.parentNode.insertBefore(P,k.nextSibling))}else k.parentNode.setAttribute("exactmetrics-button-color","red"),k.nextElementSibling?k.nextElementSibling.innerHTML="00/100":(P.innerHTML="00/100",k.parentNode.insertBefore(P,k.nextSibling))}if(j){var L=j.parentNode.querySelectorAll(".components-panel__header");L&&L.forEach(function(e){var t=e.querySelector('[aria-pressed="true"]');t&&null!==t&&(t.style.display="none")})}var B=function(e){E(a()({},u,e))};return x(function(){var e=new FormData;e.append("_ajax_nonce",exactmetrics_gutenberg_tool_vars.nonce),e.append("action","exactmetrics_gutenberg_headline_analyzer_get_results"),e.append("dataType","json"),e.append("q",t),d.a.post(exactmetrics_gutenberg_tool_vars.ajaxurl,e).then(function(e){var t={dataExist:!1};e.data.data.analysed&&(t.currentHeadlineData=e.data.data,t.headlineData=e.data.data,t.dataExist=!0,void 0!==u.headlineData&&(t.previousHeadlinesData=[u.headlineData].concat(i()(O)))),E(a()({},u,t))}).catch(function(e){var t={dataExist:!1};E(a()({},u,t)),console.log(e)})},[t]),wp.element.createElement(_,null,wp.element.createElement(N,{target:"exactmetrics-headline-analyzer"},n),wp.element.createElement(T,{name:"exactmetrics-headline-analyzer",title:n,className:"exactmetrics-headline-analyzer-wrapper",icon:c.a.headline},void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(p.a,{analyzer:u,setAnalyzer:B}):wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-empty-title-warning"},r),void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed&&O.length>0?wp.element.createElement(h.a,{analyzer:u,setAnalyzer:B}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(m.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(f.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(g.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(w.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(b.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(v.a,{data:u.headlineData}):"",void 0!==u.headlineData&&u.dataExist&&u.headlineData.analysed?wp.element.createElement(y.a,{data:u.headlineData}):"",wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-bottom-notice"},wp.element.createElement("p",{dangerouslySetInnerHTML:{__html:M}}))))};"undefined"!=typeof exactmetrics_gutenberg_tool_vars&&exactmetrics_gutenberg_tool_vars.allowed_post_types.includes(exactmetrics_gutenberg_tool_vars.current_post_type)&&exactmetrics_gutenberg_tool_vars.is_headline_analyzer_enabled&&k("exactmetrics-headline-analyzer",{icon:c.a.headlineBlack,render:M})},function(e,t,n){e.exports={default:n(93),__esModule:!0}},function(e,t,n){n(27),n(101),e.exports=n(0).Array.from},function(e,t,n){var r=n(35),i=n(36);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),l=r(n),c=s.length;return l<0||l>=c?e?"":void 0:(o=s.charCodeAt(l),o<55296||o>56319||l+1===c||(a=s.charCodeAt(l+1))<56320||a>57343?e?s.charAt(l):o:e?s.slice(l,l+2):a-56320+(o-55296<<10)+65536)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){"use strict";var r=n(39),i=n(15),o=n(44),a={};n(11)(a,n(2)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},function(e,t,n){var r=n(7),i=n(8),o=n(16);e.exports=n(5)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,l=0;s>l;)r.f(e,n=a[l++],t[n]);return e}},function(e,t,n){var r=n(10),i=n(58),o=n(99);e.exports=function(e){return function(t,n,a){var s,l=r(t),c=i(l.length),u=o(a,c);if(e&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(35),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(6).document;e.exports=r&&r.documentElement},function(e,t,n){"use strict";var r=n(37),i=n(4),o=n(17),a=n(102),s=n(103),l=n(58),c=n(104),u=n(60);i(i.S+i.F*!n(105)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,i,d,p=o(e),h="function"==typeof this?this:Array,m=arguments.length,f=m>1?arguments[1]:void 0,g=void 0!==f,w=0,b=u(p);if(g&&(f=r(f,m>2?arguments[2]:void 0,2)),void 0==b||h==Array&&s(b))for(t=l(p.length),n=new h(t);t>w;w++)c(n,w,g?f(p[w],w):p[w]);else for(d=b.call(p),n=new h;!(i=d.next()).done;w++)c(n,w,g?a(d,f,[i.value,w],!0):i.value);return n.length=w,n}})},function(e,t,n){var r=n(8);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){var r=n(14),i=n(2)("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},function(e,t,n){"use strict";var r=n(7),i=n(15);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(2)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},e(o)}catch(e){}return n}},function(e,t,n){e.exports={default:n(107),__esModule:!0}},function(e,t,n){n(108),e.exports=n(0).Object.assign},function(e,t,n){var r=n(4);r(r.S+r.F,"Object",{assign:n(109)})},function(e,t,n){"use strict";var r=n(5),i=n(16),o=n(45),a=n(18),s=n(17),l=n(57),c=Object.assign;e.exports=!c||n(13)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=c({},e)[n]||Object.keys(c({},t)).join("")!=r})?function(e,t){for(var n=s(e),c=arguments.length,u=1,d=o.f,p=a.f;c>u;)for(var h,m=l(arguments[u++]),f=d?i(m).concat(d(m)):i(m),g=f.length,w=0;g>w;)h=f[w++],r&&!p.call(m,h)||(n[h]=m[h]);return n}:c},function(e,t,n){e.exports={default:n(111),__esModule:!0}},function(e,t,n){n(46),n(27),e.exports=n(115)},function(e,t,n){"use strict";var r=n(113),i=n(114),o=n(14),a=n(10);e.exports=n(52)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):"keys"==t?i(0,n):"values"==t?i(0,e[n]):i(0,[n,e[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(61),i=n(2)("iterator"),o=n(14);e.exports=n(0).isIterable=function(e){var t=Object(e);return void 0!==t[i]||"@@iterator"in t||o.hasOwnProperty(r(t))}},function(e,t,n){n(46),n(27),e.exports=n(117)},function(e,t,n){var r=n(8),i=n(60);e.exports=n(0).getIterator=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return r(t.call(e))}},function(e,t,n){"use strict";function r(e){var t=new a(e),n=o(a.prototype.request,t);return i.extend(n,a.prototype,t),i.extend(n,t),n}var i=n(1),o=n(64),a=n(119),s=n(70),l=n(67),c=r(l);c.Axios=a,c.create=function(e){return r(s(c.defaults,e))},c.Cancel=n(71),c.CancelToken=n(133),c.isCancel=n(66),c.all=function(e){return Promise.all(e)},c.spread=n(134),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new a,response:new a}}var i=n(1),o=n(65),a=n(120),s=n(121),l=n(70);r.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=l(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[s,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},r.prototype.getUri=function(e){return e=l(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(1);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var i=n(1),o=n(122),a=n(66),s=n(67);e.exports=function(e){return r(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=i.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),i.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||s.adapter)(e).then(function(t){return r(e),t.data=o(t.data,t.headers,e.transformResponse),t},function(t){return a(t)||(r(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(e){if(u===setTimeout)return setTimeout(e,0);if((u===n||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(t){try{return u.call(null,e,0)}catch(t){return u.call(this,e,0)}}}function o(e){if(d===clearTimeout)return clearTimeout(e);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function a(){f&&h&&(f=!1,h.length?m=h.concat(m):g=-1,m.length&&s())}function s(){if(!f){var e=i(a);f=!0;for(var t=m.length;t;){for(h=m,m=[];++g<t;)h&&h[g].run();g=-1,t=m.length}h=null,f=!1,o(e)}}function l(e,t){this.fun=e,this.array=t}function c(){}var u,d,p=e.exports={};!function(){try{u="function"==typeof setTimeout?setTimeout:n}catch(e){u=n}try{d="function"==typeof clearTimeout?clearTimeout:r}catch(e){d=r}}();var h,m=[],f=!1,g=-1;p.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];m.push(new l(e,t)),1!==m.length||f||i(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(e){return[]},p.binding=function(e){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(e){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(69);e.exports=function(e,t,n){var i=n.config.validateStatus;!i||i(n.status)?e(n):t(r("Request failed with status code "+n.status,n.config,null,n.request,n))}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(128),i=n(129);e.exports=function(e,t){return e&&!r(t)?i(e,t):t}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(1),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,o,a={};return e?(r.forEach(e.split("\n"),function(e){if(o=e.indexOf(":"),t=r.trim(e.substr(0,o)).toLowerCase(),n=r.trim(e.substr(o+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}}),a):a}},function(e,t,n){"use strict";var r=n(1);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(i.setAttribute("href",t),t=i.href),i.setAttribute("href",t),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return t=e(window.location.href),function(n){var i=r.isString(n)?e(n):n;return i.protocol===t.protocol&&i.host===t.host}}():function(){return function(){return!0}}()},function(e,t,n){"use strict";var r=n(1);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,i,o,a){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}var i=n(71);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r(function(t){e=t}),cancel:e}},e.exports=r},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";var r=n(31),i=n.n(r),o=n(3),a=n.n(o),s=n(136),l=n(137),c=n(138),u=wp.i18n.__,d=wp.element,p=d.Fragment,h=d.useState,m=d.useEffect,f=function(e){var t=u("Current Score","google-analytics-dashboard-for-wp"),n=u("Try New Headline","google-analytics-dashboard-for-wp"),r=h("current-score"),o=i()(r,2),d=o[0],f=o[1],g=function(){return f("current-score")},w=function(){return f("new-headline")},b=void 0!==e.analyzer.isNewData&&e.analyzer.isNewData;return m(function(){e.setAnalyzer({activeTab:d})},[d]),wp.element.createElement(p,null,wp.element.createElement("div",{className:"exactmetrics-inline-buttons"},wp.element.createElement("button",{onClick:g,className:a()("exactmetrics-switcher-button",{active:"current-score"===d})},t),wp.element.createElement("button",{onClick:w,className:a()("exactmetrics-switcher-button",{active:"new-headline"===d})},n)),"new-headline"===d?wp.element.createElement(l.a,{analyzer:e.analyzer,setAnalyzer:e.setAnalyzer}):wp.element.createElement(s.a,{analyzer:e.analyzer}),b?wp.element.createElement(c.a,{analyzer:e.analyzer}):"")};t.a=f},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=n(32),a=wp.i18n.__,s=wp.element.Fragment,l=wp.components,c=l.PanelBody,u=l.PanelRow,d=function(e){var t=e.analyzer.currentHeadlineData.sentence,n=a("Score","google-analytics-dashboard-for-wp"),r=a("A good score is between 40 and 60. For best results, you should strive for 70 and above.","google-analytics-dashboard-for-wp"),l=e.analyzer.currentHeadlineData.score,d=l<40?"red":l<=60?"orange":"green",p="red"===d?"#EB5757":"orange"===d?"#F2994A":"#1EC185";return wp.element.createElement(s,null,wp.element.createElement(c,{title:n},wp.element.createElement(u,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-current-score-tab"},wp.element.createElement("h4",{className:"exactmetrics-headline-analyzer-current-title"},"“",t,"”"),wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-current-score",d)},l),wp.element.createElement(o.a,{barScore:l,barColor:p})),wp.element.createElement("p",null,r)))))};t.a=d},function(e,t,n){"use strict";var r=n(51),i=n.n(r),o=n(63),a=n.n(o),s=wp.i18n.__,l=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=c.TextControl,h=c.Button,m=function(e){var t=s("Try New Headline","google-analytics-dashboard-for-wp"),n=s("Enter a different headline than your post title to see how it compares.","google-analytics-dashboard-for-wp"),r=s("Analyze","google-analytics-dashboard-for-wp"),o=void 0!==e.analyzer.newHeadline?e.analyzer.newHeadline:"",c=void 0!==e.analyzer.previousHeadlinesData?e.analyzer.previousHeadlinesData:[],m=!o,f=function(t){var n=t.trim();if(n){var r=new FormData;r.append("_ajax_nonce",exactmetrics_gutenberg_tool_vars.nonce),r.append("action","exactmetrics_gutenberg_headline_analyzer_get_results"),r.append("dataType","json"),r.append("q",n),a.a.post(exactmetrics_gutenberg_tool_vars.ajaxurl,r).then(function(t){e.setAnalyzer({newHeadlineData:t.data.data,headlineData:t.data.data,previousHeadlinesData:[e.analyzer.headlineData].concat(i()(c)),isNewData:!0})}).catch(function(t){e.setAnalyzer({isNewData:!1}),console.log(t)})}};return wp.element.createElement(l,null,wp.element.createElement(u,{title:t},wp.element.createElement(d,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-new-tab"},wp.element.createElement("form",{onSubmit:function(e){e.preventDefault(),f(o)}},wp.element.createElement(p,{label:n,value:o,onChange:function(t){" "!==t&&e.setAnalyzer({newHeadline:t})},className:"exactmetrics-headline-analyzer-input-field"}),wp.element.createElement(h,{className:"exactmetrics-headline-analyzer-button",isPrimary:!0,onClick:function(){f(o)},disabled:m},r))))))};t.a=m},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=n(32),a=wp.i18n.__,s=wp.element.Fragment,l=wp.components,c=l.PanelBody,u=l.PanelRow,d=function(e){var t=e.analyzer.currentHeadlineData.sentence,n=a("New Score","google-analytics-dashboard-for-wp"),r=a("A good score is between 40 and 60. For best results, you should strive for 70 and above.","google-analytics-dashboard-for-wp"),l=a("Current Score","google-analytics-dashboard-for-wp"),d=void 0!==e.analyzer.newHeadlineData?e.analyzer.newHeadlineData.sentence:"",p=void 0!==e.analyzer.newHeadlineData?e.analyzer.newHeadlineData.score:"",h=void 0!==e.analyzer.currentHeadlineData.score?e.analyzer.currentHeadlineData.score:"",m=p<40?"red":p<=60?"orange":"green",f="red"===m?"#EB5757":"orange"===m?"#F2994A":"#1EC185",g=h<40?"red-bg":h<=60?"orange-bg":"green-bg",w=Math.abs(p-h);return wp.element.createElement(s,null,wp.element.createElement(c,{title:n},wp.element.createElement(u,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-new-score-panel"},wp.element.createElement("p",null,r),wp.element.createElement("h4",null,"“",d,"”"),wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-new-score",m)},p),wp.element.createElement(o.a,{barScore:p,barColor:f})),wp.element.createElement("div",{className:"current-score"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-score-difference",m)},p>h?"+ ":p===h?"":"- ",w),wp.element.createElement("h5",null,l),wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-score",g)},h),wp.element.createElement("p",null,"“",t,"”"))))))};t.a=d},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=wp.i18n.__,a=wp.element.Fragment,s=wp.components,l=s.PanelBody,c=s.PanelRow,u=function(e){var t=o("Previous Scores","google-analytics-dashboard-for-wp"),n="undefined"!==e.analyzer.previousHeadlinesData?e.analyzer.previousHeadlinesData:[],r=document.querySelector(".edit-post-sidebar"),s="undefined"!==e.analyzer.activeTab?e.analyzer.activeTab:"current-score",u="current-score"===s?390:300,d=function(t){e.setAnalyzer({newHeadlineData:n[t],headlineData:n[t],newHeadline:n[t].sentence,isNewData:!0}),r&&(r.scrollTop=u)};return wp.element.createElement(a,null,wp.element.createElement(l,{title:t},wp.element.createElement(c,null,wp.element.createElement("ul",{className:"exactmetrics-headline-analyzer-previous-scores"},n.map(function(e,t){if(t<10&&(void 0!==e.sentence||void 0!==e.score)){var n=e.score<40?"red-bg":e.score<=60?"orange-bg":"green-bg";return wp.element.createElement("li",{key:t,onClick:function(){return d(t)}},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-score",n)},e.score),e.sentence)}})))))};t.a=u},function(e,t,n){"use strict";var r=n(19),i=n(3),o=n.n(i),a=n(141),s=wp.i18n.__,l=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=function(e){var t=s("Word Balance","google-analytics-dashboard-for-wp"),n=s("Compare the percentages of your results to the goal for each category and adjust as necessary.","google-analytics-dashboard-for-wp"),i=e.data.score<40?"red":e.data.score<=60?"orange":"green",c=(e.data.score<40||e.data.score,0===e.data.result.common_words_per?"red":e.data.result.common_words_per<.2?"orange":"green"),p=0===e.data.result.common_words_per?"red-bg":e.data.result.common_words_per<.2?"orange-bg":"green-bg",h=s("Your headline would be more likely to get clicks if it had more uncommon words.","google-analytics-dashboard-for-wp"),m=e.data.result.common_words_per<.2?h:s("Headlines with 20-30% common words are more likely to get clicks.","google-analytics-dashboard-for-wp"),f=0===e.data.result.uncommon_words_per?"red":e.data.result.uncommon_words_per<.1?"orange":"green",g=0===e.data.result.uncommon_words_per?"red-bg":e.data.result.uncommon_words_per<.1?"orange-bg":"green-bg",w=e.data.result.uncommon_words_per<.1?h:s("Headlines with uncommon words are more likely to get clicks.","google-analytics-dashboard-for-wp"),b=0===e.data.result.emotion_words_per?"red":e.data.result.emotion_words_per<.1?"orange":"green",v=0===e.data.result.emotion_words_per?"red-bg":e.data.result.emotion_words_per<.1?"orange-bg":"green-bg",y=s("Emotionally triggered headlines are likely to drive more clicks.","google-analytics-dashboard-for-wp"),S=0===e.data.result.power_words.length?"orange":"green",E=0===e.data.result.power_words.length?"orange":"green-bg",_=s("Headlines with Power Words are more likely to get clicks.","google-analytics-dashboard-for-wp"),C=s("Common Words","google-analytics-dashboard-for-wp"),x=s("20-30%","google-analytics-dashboard-for-wp"),k=s("Uncommon Words","google-analytics-dashboard-for-wp"),O=s("10-20%","google-analytics-dashboard-for-wp"),T=s("Emotional Words","google-analytics-dashboard-for-wp"),N=s("10-15%","google-analytics-dashboard-for-wp"),F=s("Power Words","google-analytics-dashboard-for-wp"),M=s("At least one","google-analytics-dashboard-for-wp");return wp.element.createElement(l,null,wp.element.createElement(u,{title:t,className:o()("exactmetrics-headline-analyzer-panel-word-balance","exactmetrics-headline-analyzer-panel-has-icon",i),icon:"green"===i?r.a.check:r.a.warning},wp.element.createElement(d,null,wp.element.createElement("h4",null,e.data.result.word_balance),wp.element.createElement("p",null,n),wp.element.createElement(a.a,{title:C,value:Math.round(100*e.data.result.common_words_per),goalValue:x,words:e.data.result.common_words,guideLine:m,classOnScore:c,classOnScoreBg:p}),wp.element.createElement(a.a,{title:k,value:Math.round(100*e.data.result.uncommon_words_per),goalValue:O,words:e.data.result.uncommon_words,guideLine:w,classOnScore:f,classOnScoreBg:g}),wp.element.createElement(a.a,{title:T,value:Math.round(100*e.data.result.emotion_words_per),goalValue:N,words:e.data.result.emotion_words,guideLine:y,classOnScore:b,classOnScoreBg:v}),wp.element.createElement(a.a,{title:F,value:Math.round(100*e.data.result.power_words_per),goalValue:M,words:e.data.result.power_words,guideLine:_,classOnScore:S,classOnScoreBg:E}))))};t.a=p},function(e,t,n){"use strict";var r=n(3),i=n.n(r),o=wp.i18n.__,a=function(e){var t=o("Goal: ","google-analytics-dashboard-for-wp"),n={width:e.value+"%"};return wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words-block"},wp.element.createElement("h5",null,e.title),wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words-block-data"},wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-words-block-percentage",e.classOnScore)},e.value,"%"),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-words-block-goal"},wp.element.createElement("strong",null,t),e.goalValue),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-words-block-progressbar"},wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-progressbar-bg"}),wp.element.createElement("span",{className:i()("exactmetrics-headline-analyzer-progressbar-part",e.classOnScoreBg),style:n}))),wp.element.createElement("ul",{className:"exactmetrics-headline-analyzer-words-tag-list"},e.words.length>0?e.words.map(function(e,t){return wp.element.createElement("li",{key:t},e)}):""),wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-words-guideline"},e.guideLine))};t.a=a},function(e,t,n){"use strict";var r=n(19),i=n(3),o=n.n(i),a=wp.i18n.__,s=wp.element.Fragment,l=wp.components,c=l.PanelBody,u=l.PanelRow,d=function(e){var t=a("Your headline has a neutral sentiment.","google-analytics-dashboard-for-wp"),n=a("Headlines that are strongly positive or negative tend to get more engagement then neutral ones.","google-analytics-dashboard-for-wp"),i=a("Your headline has a positive sentiment.","google-analytics-dashboard-for-wp"),l=a("Positive headlines tend to get better engagement than neutral or negative ones.","google-analytics-dashboard-for-wp"),d=a("Your headline has a negative sentiment.","google-analytics-dashboard-for-wp"),p=a("Negative headlines are attention-grabbing and tend to perform better than neutral ones.","google-analytics-dashboard-for-wp"),h=a("Sentiment","google-analytics-dashboard-for-wp"),m="neu"===e.data.result.sentiment?a("Neutral","google-analytics-dashboard-for-wp"):"pos"===e.data.result.sentiment?a("Positive","google-analytics-dashboard-for-wp"):a("Negative","google-analytics-dashboard-for-wp"),f="neu"===e.data.result.sentiment?r.a.neutral:"pos"===e.data.result.sentiment?r.a.smile:r.a.negative,g="neu"===e.data.result.sentiment?"orange":"pos"===e.data.result.sentiment?"green":"red";return wp.element.createElement(s,null,wp.element.createElement(c,{title:h,className:o()("exactmetrics-headline-analyzer-panel-sentiment","exactmetrics-headline-analyzer-panel-has-icon",g),icon:f},wp.element.createElement(u,null,wp.element.createElement("h4",null,m),"neu"===e.data.result.sentiment?wp.element.createElement("p",null,t," ",wp.element.createElement("br",null),wp.element.createElement("br",null)," ",n):"","pos"===e.data.result.sentiment?wp.element.createElement("p",null,i," ",wp.element.createElement("br",null),wp.element.createElement("br",null)," ",l):"","neg"===e.data.result.sentiment?wp.element.createElement("p",null,d," ",wp.element.createElement("br",null),wp.element.createElement("br",null)," ",p):"")))};t.a=d},function(e,t,n){"use strict";var r=wp.i18n,i=r.__,o=r.sprintf,a=wp.element.Fragment,s=wp.components,l=s.PanelBody,c=s.PanelRow,u=function(e){var t=e.data.result.headline_types.join(", "),n=i("Headline Type","google-analytics-dashboard-for-wp"),r=wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-panel-types-title"},n,wp.element.createElement("span",null,t)),s=o(i("Headlines that are lists and how-to get more engagement on average than other types of headlines. %1sRead more about %2sdifferent types of headlines here.%3s","google-analytics-dashboard-for-wp"),"<br/><br/>",'<a href="https://optinmonster.com/why-these-21-headlines-went-viral-and-how-you-can-copy-their-success/" target="_blank" className="exactmetrics-headline-analyzer-link">',"</a>");return wp.element.createElement(a,null,wp.element.createElement(l,{title:r,className:"exactmetrics-headline-analyzer-panel-types"},wp.element.createElement(c,null,wp.element.createElement("h4",null,t),wp.element.createElement("p",{dangerouslySetInnerHTML:{__html:s}}))))};t.a=u},function(e,t,n){"use strict";var r=n(19),i=n(3),o=n.n(i),a=n(32),s=wp.i18n.__,l=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=function(e){var t=s("Character Count","google-analytics-dashboard-for-wp"),n=e.data.result.length,i=n>=66?100:Math.round(1.51*n),c="",p="",h="#1EC185",m="";return n<=19?(c="red",h="#EB5757"):n>=20&&n<=34?(c="orange",h="#F2994A"):n>=35&&n<=66?(c="green",h="#1EC185"):n>=67&&n<=79?(c="orange",h="#F2994A"):n>=80&&(c="red",h="#EB5757"),n<=34?(p=s("Too Short","google-analytics-dashboard-for-wp"),m=s("You have space to add more keywords and power words to boost your rankings and click-through rate.","google-analytics-dashboard-for-wp")):n>=35&&n<=66?(p=s("Good","google-analytics-dashboard-for-wp"),m=s("Headlines that are about 55 characters long will display fully in search results and tend to get more clicks.","google-analytics-dashboard-for-wp")):n>=67&&(p=s("Too Long","google-analytics-dashboard-for-wp"),m=s("At this length, it will get cut off in search results. Try reducing it to about 55 characters.","google-analytics-dashboard-for-wp")),wp.element.createElement(l,null,wp.element.createElement(u,{title:t,className:o()("exactmetrics-headline-analyzer-panel-character-count","exactmetrics-headline-analyzer-panel-has-icon",c),icon:"green"===c?r.a.check:r.a.warning},wp.element.createElement(d,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:o()("exactmetrics-headline-analyzer-character-length",c)},n),wp.element.createElement(a.a,{barScore:i,barColor:h}),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-status-on-character-length"},p)),wp.element.createElement("p",null,m))))};t.a=p},function(e,t,n){"use strict";var r=n(19),i=n(3),o=n.n(i),a=n(32),s=wp.i18n.__,l=wp.element.Fragment,c=wp.components,u=c.PanelBody,d=c.PanelRow,p=function(e){var t=s("Word Count","google-analytics-dashboard-for-wp"),n=e.data.result.word_count,i=n>=10?100:Math.round(10*n),c="",p="",h="#1EC185",m="";return n<=4?(c="red",h="#EB5757",p=s("Not Enough Words","google-analytics-dashboard-for-wp"),m=s("Your headline doesn’t use enough words. You have more space to add keywords and power words to improve your SEO and get more engagement.","google-analytics-dashboard-for-wp")):n>=5&&n<=9?(c="green",h="#1EC185",p=s("Good","google-analytics-dashboard-for-wp"),m=s("Your headline has the right amount of words. Headlines are more likely to be clicked on in search results if they have about 6 words.","google-analytics-dashboard-for-wp")):n>=10&&n<=11?(c="orange",h="#F2994A",p=s("Reduce Word Count","google-analytics-dashboard-for-wp")):(c="red",h="#EB5757",p=s("Too Many Words","google-analytics-dashboard-for-wp"),m=s("Your headline has too many words. Long headlines will get cut off in search results and won’t get as many clicks.","google-analytics-dashboard-for-wp")),wp.element.createElement(l,null,wp.element.createElement(u,{title:t,className:o()("exactmetrics-headline-analyzer-panel-word-count","exactmetrics-headline-analyzer-panel-has-icon",c),icon:"green"===c?r.a.check:r.a.warning},wp.element.createElement(d,null,wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-pie-chart-container"},wp.element.createElement("span",{className:o()("exactmetrics-headline-analyzer-word-length",c)},n),wp.element.createElement(a.a,{barScore:i,barColor:h}),wp.element.createElement("span",{className:"exactmetrics-headline-analyzer-status-on-word-length"},p)),wp.element.createElement("p",null,m))))};t.a=p},function(e,t,n){"use strict";var r=wp.i18n.__,i=wp.element.Fragment,o=wp.components,a=o.PanelBody,s=o.PanelRow,l=function(e){var t=r("Beginning & Ending Words","google-analytics-dashboard-for-wp"),n=e.data.result.input_array_orig,o=r("Most readers only look at the first and last 3 words of a headline before deciding whether to click.","google-analytics-dashboard-for-wp"),l="",c="";return n.length>=6?(l=n.slice(0,3).join(" "),c=n.slice(-3).join(" ")):n.length>3&&n.length<=5?(l=n.slice(0,3).join(" "),c=n.slice(3).join(" ")):l=n.slice(0,3).join(" "),wp.element.createElement(i,null,wp.element.createElement(a,{title:t,className:"exactmetrics-headline-analyzer-panel-beginning-ending-words"},wp.element.createElement(s,null,l?wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words beginning"},wp.element.createElement("span",null,l)):"",c?wp.element.createElement("div",{className:"exactmetrics-headline-analyzer-words ending"},wp.element.createElement("span",null,c)):"",wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-words-guideline"},o))))};t.a=l},function(e,t,n){"use strict";var r=n(30),i=n.n(r),o=wp.i18n.__,a=wp.element.Fragment,s=wp.components,l=s.PanelBody,c=s.PanelRow,u=wp.data.select,d=function(e){var t=o("Search Preview","google-analytics-dashboard-for-wp"),n=o("Here is how your headline will look like in google search results page.","google-analytics-dashboard-for-wp"),r=u("core/editor").getPermalink(),s={href:r};return wp.element.createElement(a,null,wp.element.createElement(l,{title:t,className:"exactmetrics-headline-analyzer-panel-search-preview"},wp.element.createElement(c,null,wp.element.createElement("h4",null,e.data.sentence),wp.element.createElement("p",{className:"exactmetrics-headline-analyzer-post-url"},wp.element.createElement("a",i()({},s,{target:"_blank"}),r)),wp.element.createElement("p",null,n))))};t.a=d},function(e,t,n){"use strict";var r=n(31),i=n.n(r),o=n(149),a=n(150),s=wp.components.ToggleControl,l=wp.plugins.registerPlugin,c=wp.data,u=c.dispatch,d=c.select,p=wp.i18n.__,h=wp.editPost.PluginDocumentSettingPanel,m=wp.element,f=m.useState,g=m.Fragment;l("exactmetrics-exclude-page-tracking",{render:function(){var e=window.exactmetrics_gutenberg_tool_vars;if(!e||"1"!==e.supports_custom_fields||"1"!==e.public_post_type)return wp.element.createElement(g,null);var t=d("core/editor").getEditedPostAttribute("meta")||[];t._mi_skip_tracking||(t._mi_skip_tracking=!1);var n=f(!!t._mi_skip_tracking),r=i()(n,2),l=r[0],c=r[1];return wp.element.createElement(h,{name:"exactmetrics-skip-tracking",title:"ExactMetrics",className:"exactmetrics-skip-tracking-wrapper",icon:"mi"},wp.element.createElement(s,{checked:l,help:p("Toggle to prevent Google Analytics from tracking this page.","google-analytics-dashboard-for-wp"),label:p("Exclude page from Google Analytics Tracking","google-analytics-dashboard-for-wp"),disabled:"lite"===e.license_type,onChange:function(e){c(!!e),u("core/editor").editPost({meta:{_mi_skip_tracking:e}})}}),wp.element.createElement(a.a,{addonInstalled:e.page_insights_addon_active,hidden:l}),wp.element.createElement(o.a,{license:e.license_type,upgrade_url:e.upgrade_url}))}})},function(e,t,n){"use strict";var r=wp.i18n.__,i=wp.element.Fragment,o=function(e){if("lite"!==e.license)return wp.element.createElement(i,null);var t={description:r("This is a PRO feature.","google-analytics-dashboard-for-wp"),upgrade:r("Upgrade","google-analytics-dashboard-for-wp")};return wp.element.createElement(i,null,wp.element.createElement("div",{className:"exactmetrics-metabox-pro-badge"},wp.element.createElement("span",null,wp.element.createElement("svg",{width:"15",height:"14",viewBox:"0 0 15 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M6.57617 1.08203L4.92578 4.45898L1.19336 4.99219C0.533203 5.09375 0.279297 5.90625 0.761719 6.38867L3.42773 9.00391L2.79297 12.6855C2.69141 13.3457 3.40234 13.8535 3.98633 13.5488L7.3125 11.7969L10.6133 13.5488C11.1973 13.8535 11.9082 13.3457 11.8066 12.6855L11.1719 9.00391L13.8379 6.38867C14.3203 5.90625 14.0664 5.09375 13.4062 4.99219L9.69922 4.45898L8.02344 1.08203C7.74414 0.498047 6.88086 0.472656 6.57617 1.08203Z",fill:"#31862D"})),t.description),wp.element.createElement("div",{className:"exactmetrics-metabox-pro-badge-upgrade"},wp.element.createElement("a",{href:e.upgrade_url,target:"_blank",rel:"noopener"},t.upgrade))))};t.a=o},function(e,t,n){"use strict";var r=n(151),i=n.n(r),o=n(62),a=n.n(o),s=n(31),l=n.n(s),c=n(20),u=n.n(c),d=n(21),p=n.n(d),h=n(22),m=n.n(h),f=n(23),g=n.n(f),w=n(24),b=n.n(w),v=n(179),y=n(25),S=n(196),E=n(197),_=wp.i18n.__,C=function(e){function t(){p()(this,t);var e=g()(this,(t.__proto__||u()(t)).call(this));return e.showPageInsightsClick=function(){e.setState({showBtnClicked:!0})},e.hidePageInsightsClick=function(){e.setState({showBtnClicked:!1})},e.tabclick=function(t){var n=e.state.tabs,r=!0,o=!1,s=void 0;try{for(var c,u=a()(i()(n));!(r=(c=u.next()).done);r=!0){var d=c.value,p=l()(d,2),h=p[0];p[1];n[h]=h===t}}catch(e){o=!0,s=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw s}}e.setState({tabs:n})},e.state={showBtnClicked:!1,tabs:{last30days:!0,yesterday:!1}},e.texts={last30days:_("Last 30 days","google-analytics-dashboard-for-wp"),yesterday:_("Yesterday","google-analytics-dashboard-for-wp"),bouncerate:_("Bounce Rate","google-analytics-dashboard-for-wp"),timeonpage:_("Time On Page","google-analytics-dashboard-for-wp"),loadingtime:_("Load Time","google-analytics-dashboard-for-wp"),entrances:_("Entrances","google-analytics-dashboard-for-wp"),pageviews:_("Page Views","google-analytics-dashboard-for-wp"),exits:_("Exits","google-analytics-dashboard-for-wp")},e}return b()(t,e),m()(t,[{key:"render",value:function(){return this.props.hidden?wp.element.createElement(Fragment,null):wp.element.createElement("div",{className:"exactmetrics-metabox lite",id:"exactmetrics-metabox-page-insights"},!this.state.showBtnClicked&&wp.element.createElement(S.a,{onClick:this.showPageInsightsClick}),wp.element.createElement("div",{id:"exactmetrics-page-insights-content",className:this.state.showBtnClicked?"active":""},wp.element.createElement("div",{className:"exactmetrics-page-insights__tabs"},wp.element.createElement(v.a,{text:this.texts.last30days,tab:"tab-last-30-days-content",active:this.state.tabs.last30days,onClick:this.tabclick,interval:"last30days"}),wp.element.createElement(v.a,{text:this.texts.yesterday,tab:"tab-yesterday-content",active:this.state.tabs.yesterday,onClick:this.tabclick,interval:"yesterday"})),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab active",id:"tab-last-30-days-content"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-items"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__result"},wp.element.createElement("span",null,"53.40%")),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__title"},this.texts.bouncerate)),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__result"},wp.element.createElement("span",null,"1m 43s")),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__title"},this.texts.timeonpage)),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__result"},wp.element.createElement("span",null,"3.9s")),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__title"},this.texts.loadingtime)),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__result"},wp.element.createElement("span",null,"19056")),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__title"},this.texts.entrances)),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__result"},wp.element.createElement("span",null,"26558")),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__title"},this.texts.pageviews)),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item"},wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__result"},wp.element.createElement("span",null,"13428")),wp.element.createElement("div",{className:"exactmetrics-page-insights-tabs-content__tab-item__title"},this.texts.exits)))))),this.state.showBtnClicked&&wp.element.createElement(E.a,{onClick:this.hidePageInsightsClick}))}}]),t}(y.a);t.a=C},function(e,t,n){e.exports={default:n(152),__esModule:!0}},function(e,t,n){n(153),e.exports=n(0).Object.entries},function(e,t,n){var r=n(4),i=n(154)(!0);r(r.S,"Object",{entries:function(e){return i(e)}})},function(e,t,n){var r=n(5),i=n(16),o=n(10),a=n(18).f;e.exports=function(e){return function(t){for(var n,s=o(t),l=i(s),c=l.length,u=0,d=[];c>u;)n=l[u++],r&&!a.call(s,n)||d.push(e?[n,s[n]]:s[n]);return d}}},function(e,t,n){n(156),e.exports=n(0).Object.getPrototypeOf},function(e,t,n){var r=n(17),i=n(59);n(157)("getPrototypeOf",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(4),i=n(0),o=n(13);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},function(e,t,n){n(159);var r=n(0).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){var r=n(4);r(r.S+r.F*!n(5),"Object",{defineProperty:n(7).f})},function(e,t,n){e.exports={default:n(161),__esModule:!0}},function(e,t,n){n(27),n(46),e.exports=n(47).f("iterator")},function(e,t,n){e.exports={default:n(163),__esModule:!0}},function(e,t,n){n(164),n(169),n(170),n(171),e.exports=n(0).Symbol},function(e,t,n){"use strict";var r=n(6),i=n(9),o=n(5),a=n(4),s=n(55),l=n(165).KEY,c=n(13),u=n(42),d=n(44),p=n(29),h=n(2),m=n(47),f=n(48),g=n(166),w=n(167),b=n(8),v=n(12),y=n(17),S=n(10),E=n(38),_=n(15),C=n(39),x=n(168),k=n(75),O=n(45),T=n(7),N=n(16),F=k.f,M=T.f,j=x.f,P=r.Symbol,D=r.JSON,A=D&&D.stringify,L=h("_hidden"),B=h("toPrimitive"),z={}.propertyIsEnumerable,R=u("symbol-registry"),H=u("symbols"),I=u("op-symbols"),q=Object.prototype,V="function"==typeof P&&!!O.f,W=r.QObject,Z=!W||!W.prototype||!W.prototype.findChild,U=o&&c(function(){return 7!=C(M({},"a",{get:function(){return M(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=F(q,t);r&&delete q[t],M(e,t,n),r&&e!==q&&M(q,t,r)}:M,Y=function(e){var t=H[e]=C(P.prototype);return t._k=e,t},X=V&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},G=function(e,t,n){return e===q&&G(I,t,n),b(e),t=E(t,!0),b(n),i(H,t)?(n.enumerable?(i(e,L)&&e[L][t]&&(e[L][t]=!1),n=C(n,{enumerable:_(0,!1)})):(i(e,L)||M(e,L,_(1,{})),e[L][t]=!0),U(e,t,n)):M(e,t,n)},K=function(e,t){b(e);for(var n,r=g(t=S(t)),i=0,o=r.length;o>i;)G(e,n=r[i++],t[n]);return e},$=function(e,t){return void 0===t?C(e):K(C(e),t)},J=function(e){var t=z.call(this,e=E(e,!0));return!(this===q&&i(H,e)&&!i(I,e))&&(!(t||!i(this,e)||!i(H,e)||i(this,L)&&this[L][e])||t)},Q=function(e,t){if(e=S(e),t=E(t,!0),e!==q||!i(H,t)||i(I,t)){var n=F(e,t);return!n||!i(H,t)||i(e,L)&&e[L][t]||(n.enumerable=!0),n}},ee=function(e){for(var t,n=j(S(e)),r=[],o=0;n.length>o;)i(H,t=n[o++])||t==L||t==l||r.push(t);return r},te=function(e){for(var t,n=e===q,r=j(n?I:S(e)),o=[],a=0;r.length>a;)!i(H,t=r[a++])||n&&!i(q,t)||o.push(H[t]);return o};V||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===q&&t.call(I,n),i(this,L)&&i(this[L],e)&&(this[L][e]=!1),U(this,e,_(1,n))};return o&&Z&&U(q,e,{configurable:!0,set:t}),Y(e)},s(P.prototype,"toString",function(){return this._k}),k.f=Q,T.f=G,n(74).f=x.f=ee,n(18).f=J,O.f=te,o&&!n(28)&&s(q,"propertyIsEnumerable",J,!0),m.f=function(e){return Y(h(e))}),a(a.G+a.W+a.F*!V,{Symbol:P});for(var ne="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),re=0;ne.length>re;)h(ne[re++]);for(var ie=N(h.store),oe=0;ie.length>oe;)f(ie[oe++]);a(a.S+a.F*!V,"Symbol",{for:function(e){return i(R,e+="")?R[e]:R[e]=P(e)},keyFor:function(e){if(!X(e))throw TypeError(e+" is not a symbol!");for(var t in R)if(R[t]===e)return t},useSetter:function(){Z=!0},useSimple:function(){Z=!1}}),a(a.S+a.F*!V,"Object",{create:$,defineProperty:G,defineProperties:K,getOwnPropertyDescriptor:Q,getOwnPropertyNames:ee,getOwnPropertySymbols:te});var ae=c(function(){O.f(1)});a(a.S+a.F*ae,"Object",{getOwnPropertySymbols:function(e){return O.f(y(e))}}),D&&a(a.S+a.F*(!V||c(function(){var e=P();return"[null]"!=A([e])||"{}"!=A({a:e})||"{}"!=A(Object(e))})),"JSON",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(v(t)||void 0!==e)&&!X(e))return w(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!X(t))return t}),r[1]=t,A.apply(D,r)}}),P.prototype[B]||n(11)(P.prototype,B,P.prototype.valueOf),d(P,"Symbol"),d(Math,"Math",!0),d(r.JSON,"JSON",!0)},function(e,t,n){var r=n(29)("meta"),i=n(12),o=n(9),a=n(7).f,s=0,l=Object.isExtensible||function(){return!0},c=!n(13)(function(){return l(Object.preventExtensions({}))}),u=function(e){a(e,r,{value:{i:"O"+ ++s,w:{}}})},d=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,r)){if(!l(e))return"F";if(!t)return"E";u(e)}return e[r].i},p=function(e,t){if(!o(e,r)){if(!l(e))return!0;if(!t)return!1;u(e)}return e[r].w},h=function(e){return c&&m.NEED&&l(e)&&!o(e,r)&&u(e),e},m=e.exports={KEY:r,NEED:!1,fastKey:d,getWeak:p,onFreeze:h}},function(e,t,n){var r=n(16),i=n(45),o=n(18);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),l=o.f,c=0;s.length>c;)l.call(e,a=s[c++])&&t.push(a);return t}},function(e,t,n){var r=n(40);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(10),i=n(74).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==o.call(e)?s(e):i(r(e))}},function(e,t){},function(e,t,n){n(48)("asyncIterator")},function(e,t,n){n(48)("observable")},function(e,t,n){e.exports={default:n(173),__esModule:!0}},function(e,t,n){n(174),e.exports=n(0).Object.setPrototypeOf},function(e,t,n){var r=n(4);r(r.S,"Object",{setPrototypeOf:n(175).set})},function(e,t,n){var r=n(12),i=n(8),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n(37)(Function.call,n(75).f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){e.exports={default:n(177),__esModule:!0}},function(e,t,n){n(178);var r=n(0).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){var r=n(4);r(r.S,"Object",{create:n(39)})},function(e,t,n){"use strict";var r=n(20),i=n.n(r),o=n(21),a=n.n(o),s=n(22),l=n.n(s),c=n(23),u=n.n(c),d=n(24),p=n.n(d),h=n(25),m=(wp.i18n.__,function(e){function t(e){a()(this,t);var n=u()(this,(t.__proto__||i()(t)).call(this,e));return n.handleClick=function(){n.props.onClick(n.props.interval)},n}return p()(t,e),l()(t,[{key:"render",value:function(){return wp.element.createElement("a",{href:"#",className:"exactmetrics-page-insights__tabs-tab "+(this.props.active?"active":""),"data-tab":"this.props.tab",onClick:this.handleClick},this.props.text)}}]),t}(h.a));t.a=m},function(e,t,n){"use strict";n(181),n(78),n(79),n(33)},function(e,t,n){"use strict";function r(e,t){return Object(i.a)(e)||Object(o.a)(e,t)||Object(a.a)(e,t)||Object(s.a)()}t.a=r;var i=n(182),o=n(183),a=n(76),s=n(184)},function(e,t,n){"use strict";function r(e){if(Array.isArray(e))return e}t.a=r},function(e,t,n){"use strict";function r(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}}t.a=r},function(e,t,n){"use strict";function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.a=r},function(e,t,n){"use strict";function r(e){if(Array.isArray(e))return Object(i.a)(e)}t.a=r;var i=n(77)},function(e,t,n){"use strict";function r(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}t.a=r},function(e,t,n){"use strict";function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.a=r},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}t.a=r},function(e,t,n){"use strict";var r=n(190);n.n(r)},function(e,t){e.exports=ReactDOM},function(e,t,n){"use strict";var r=n(26);n.n(r)},function(e,t,n){"use strict"},function(e,t,n){"use strict";var r=(n(34),n(49),n(78),n(26)),i=(n.n(r),n(194),n(33)),o=(n(81),Object(i.e)(void 0));o.Provider,o.Consumer,Object(i.g)(function(){return null}),new Set(["string","boolean","number"]),new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),new Set(["allowfullscreen","allowpaymentrequest","allowusermedia","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","typemustmatch"]),new Set(["autocapitalize","autocomplete","charset","contenteditable","crossorigin","decoding","dir","draggable","enctype","formenctype","formmethod","http-equiv","inputmode","kind","method","preload","scope","shape","spellcheck","translate","type","wrap"]),new Set(["animation","animationIterationCount","baselineShift","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","cx","cy","fillOpacity","flexGrow","flexShrink","floodOpacity","fontWeight","gridColumnEnd","gridColumnStart","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","r","rx","ry","shapeImageThreshold","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","tabSize","widows","x","y","zIndex","zoom"])},function(e,t,n){"use strict";function r(e){return e.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi,"&amp;")}function i(e){return e.replace(/"/g,"&quot;")}function o(e){return e.replace(/</g,"&lt;")}function a(e){return Object(c.a)(i(r(e)))}function s(e){return o(r(e))}function l(e){return!u.test(e)}t.a=a,t.b=s,t.c=l;var c=n(195),u=/[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/},function(e,t,n){"use strict";function r(e){return e.replace(/>/g,"&gt;")}t.a=r},function(e,t,n){"use strict";var r=n(20),i=n.n(r),o=n(21),a=n.n(o),s=n(22),l=n.n(s),c=n(23),u=n.n(c),d=n(24),p=n.n(d),h=n(25),m=wp.i18n.__,f=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||i()(t)).call(this));return e.state={},e.btn_show_text=m("Show Page Insights","google-analytics-dashboard-for-wp"),e}return p()(t,e),l()(t,[{key:"render",value:function(){return wp.element.createElement("a",{className:"button",href:"#",id:"exactmetrics_show_page_insights",onClick:this.props.onClick},this.btn_show_text)}}]),t}(h.a);t.a=f},function(e,t,n){"use strict";var r=n(20),i=n.n(r),o=n(21),a=n.n(o),s=n(22),l=n.n(s),c=n(23),u=n.n(c),d=n(24),p=n.n(d),h=n(25),m=wp.i18n.__,f=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||i()(t)).call(this));return e.state={},e.btn_text=m("Hide Page Insights","google-analytics-dashboard-for-wp"),e}return p()(t,e),l()(t,[{key:"render",value:function(){return wp.element.createElement("a",{className:"button",href:"#",id:"exactmetrics_hide_page_insights",onClick:this.props.onClick},this.btn_text)}}]),t}(h.a);t.a=f},function(e,t,n){"use strict";n(199),n(206)},function(e,t,n){"use strict";var r=n(82),i=n.n(r),o=n(83),a=n.n(o),s=n(30),l=n.n(s),c=n(202),u=n(84),d=wp.i18n.__,p=wp.blocks.registerBlockType,h=wp,m=h.apiFetch,f=wp.data,g=f.registerStore,w=f.withSelect,b=wp.blockEditor.InspectorControls,v=wp.components,y=v.PanelBody,S=v.PanelRow,E=v.TextControl,_=v.ColorPalette,C=v.RangeControl,x=window.exactmetrics_gutenberg_tool_vars,k={setThemes:function(e){return{type:"SET_THEMES",themes:e}},receiveThemes:function(e){return{type:"RECEIVE_THEMES",path:e}}};g("exactmetrics/v1/popular-posts/inline",{reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{themes:{}},t=arguments[1];switch(t.type){case"SET_THEMES":return l()({},e,{themes:t.themes})}return e},actions:k,selectors:{receiveThemes:function(e){return e.themes}},controls:{RECEIVE_THEMES:function(e){return m({path:e.path})}},resolvers:{receiveThemes:a.a.mark(function e(t){var n,r;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k.receiveThemes("/exactmetrics/v1/popular-posts/themes/inline");case 2:if(n=e.sent,void 0===n.themes){e.next=6;break}for(r in n.themes)n.themes.hasOwnProperty(r)&&(n.themes[r].value=r);return e.abrupt("return",k.setThemes(n));case 6:case"end":return e.stop()}},e,this)})}}),p("exactmetrics/popular-posts-inline",{title:d("Inline Popular Posts","google-analytics-dashboard-for-wp"),description:d("Add inline popular posts from ExactMetrics","google-analytics-dashboard-for-wp"),category:"widgets",icon:c.a.inlinepop,keywords:[d("Popular","google-analytics-dashboard-for-wp"),d("Posts","google-analytics-dashboard-for-wp"),d("Inline","google-analytics-dashboard-for-wp"),"ExactMetrics"],example:{},attributes:{theme:{type:"string"},title_size:{type:"number"},title_color:{type:"string"},label_color:{type:"string"},label_text:{type:"string"},label_background:{type:"string"},background_color:{type:"string"},background_border:{type:"string"},icon_background:{type:"string"},icon_color:{type:"string"},border_color:{type:"string"},border_color2:{type:"string"}},edit:w(function(e){return{themes:e("exactmetrics/v1/popular-posts/inline").receiveThemes()}})(function(e){var t=e.attributes,n=t.theme,r=(t.title_size,t.title_color,t.label_color,t.label_text,t.label_background,t.background_color,t.background_border,t.icon_background,t.icon_color,t.border_color,t.border_color2,e.themes),o=e.setAttributes,a=[{name:"pink",color:"#F58EA8"},{name:"red",color:"#CD3034"},{name:"orange",color:"#FD6A21"},{name:"yellow",color:"#FBB82B"},{name:"green",color:"#7FDBB6"},{name:"green",color:"#21CF86"},{name:"blue",color:"#91D2FA"},{name:"blue",color:"#1B95E0"},{name:"purple",color:"#9A57DD"},{name:"gray",color:"#EEEEEE"},{name:"gray",color:"#ACB8C3"},{name:"black",color:"#000000"}],s=void 0!==r.themes?r.themes:{},l=void 0===e.attributes.theme?r.selected:n,p=void 0!==l&&void 0!==s[l]?s[l]:{},h=void 0!==p.styles?p.styles:{},m={};for(var f in h)if(h.hasOwnProperty(f))for(var g in h[f])if(h[f].hasOwnProperty(g)){var w=f+"_"+g;void 0===e.attributes[w]?m[w]=h[f][g]:m[w]=e.attributes[w]}var v=function(e,t){var n=m[t];return wp.element.createElement(C,{key:"exactmetrics-popular-posts-input"+t,label:e,value:parseInt(n),min:1,max:100,onChange:function(e){return o(i()({},t,""===e?"":parseInt(e)))}})},k=function(e,t){var n=m[t];return wp.element.createElement(E,{key:"exactmetrics-popular-posts-input"+t,label:e,type:"text",value:n,onChange:function(e){return o(i()({},t,e))}})},O=function(e,t){var n=m[t];return[wp.element.createElement("label",{key:"exactmetrics-popular-posts-label"+t},e),wp.element.createElement(_,{key:"exactmetrics-popular-posts-input"+t,value:n,colors:a,onChange:function(e){o(i()({},t,e))}})]};return[wp.element.createElement(b,{key:"exactmetrics-popular-posts-inline-inspector-controls"},wp.element.createElement(y,{title:d("Theme","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-theme"},wp.element.createElement(S,{key:"exactmetrics-popular-posts-inline-theme-row"},wp.element.createElement(u.a,{id:"exactmetrics-popular-posts-inline-theme",options:s,selected:l,icons:c.a,onChange:function(e){o({theme:e})}}))),function(){if(void 0!==h.title){var e=[];return void 0!==h.title.size&&e.push(v(d("Title Font Size","google-analytics-dashboard-for-wp"),"title_size")),void 0!==h.title.color&&e.push(O(d("Title Color","google-analytics-dashboard-for-wp"),"title_color")),wp.element.createElement(y,{title:d("Title Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-title"},e)}}(),function(){if(void 0!==h.label){var e=[];return void 0!==h.label.text&&e.push(k(d("Label Text","google-analytics-dashboard-for-wp"),"label_text")),void 0!==h.label.color&&e.push(O(d("Label Color","google-analytics-dashboard-for-wp"),"label_color")),void 0!==h.label.background&&e.push(O(d("Label Background","google-analytics-dashboard-for-wp"),"label_background")),wp.element.createElement(y,{title:d("Label Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-label"}," ",e," ")}}(),function(){var e=[];if(void 0!==h.border&&void 0!==h.border.color&&e.push(O(d("Border Color","google-analytics-dashboard-for-wp"),"border_color")),void 0!==h.border&&void 0!==h.border.color2&&e.push(O(d("Bottom Border Color","google-analytics-dashboard-for-wp"),"border_color2")),void 0!==h.background&&void 0!==h.background.border&&e.push(O(d("Border Color","google-analytics-dashboard-for-wp"),"background_border")),0!==e.length)return wp.element.createElement(y,{title:d("Border Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-border"}," ",e," ")}(),function(){if(void 0!==h.background&&void 0!==h.background.color){var e=[];return void 0!==h.background.color&&e.push(O(d("Background Color","google-analytics-dashboard-for-wp"),"background_color")),wp.element.createElement(y,{title:d("Background Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-background"}," ",e," ")}}(),function(){if(void 0!==h.icon){var e=[];return void 0!==h.icon.color&&e.push(O(d("Icon Color","google-analytics-dashboard-for-wp"),"icon_color")),void 0!==h.icon.background&&e.push(O(d("Icon Background Color","google-analytics-dashboard-for-wp"),"icon_background")),wp.element.createElement(y,{title:d("Icon Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-icon"}," ",e," ")}}()),wp.element.createElement("div",{key:"exactmetrics-popular-posts-inline-preview"},wp.element.createElement("div",{className:"exactmetrics-inline-popular-posts-widget exactmetrics-inline-popular-posts-"+l,style:{backgroundColor:m.background_color,borderColor:m.background_border}},function(){if(void 0!==p.image&&p.image){var e=void 0!==h.image?h.image:"theme-preview-image.jpg";return wp.element.createElement("div",{className:"exactmetrics-inline-popular-posts-image"},wp.element.createElement("img",{src:x.vue_assets_path+"img/"+e}))}}(),wp.element.createElement("div",{className:"exactmetrics-inline-popular-posts-text"},function(){if(void 0!==h.icon)return wp.element.createElement("span",{className:"exactmetrics-inline-popular-posts-icon",style:{backgroundColor:m.icon_background}},c.a.themeIcon(m.icon_color))}(),function(){if(void 0!==h.label)return wp.element.createElement("span",{style:{color:m.label_color,backgroundColor:m.label_background},className:"exactmetrics-inline-popular-posts-label"},m.label_text)}(),function(){if(void 0!==h.border&&void 0!==h.border.color)return wp.element.createElement("span",{className:"exactmetrics-inline-popular-posts-border",style:{borderColor:m.border_color}})}(),function(){if(void 0!==h.title&&void 0===p.list&&void 0!==h.title.text)return wp.element.createElement("a",{href:"#",className:"exactmetrics-inline-popular-posts-title",style:{color:m.title_color,fontSize:m.title_size+"px"}},h.title.text)}(),function(){if(void 0!==p.list){var e=[];for(var t in p.list)e.push(wp.element.createElement("li",{key:"exactmetrics-popular-posts-preview-list-item-"+t,style:{color:m.title_color,fontSize:m.title_size+"px"}},p.list[t]));return wp.element.createElement("ul",{className:"exactmetrics-inline-popular-posts-list"},e)}}(),function(){if(void 0!==h.border&&void 0!==h.border.color2)return wp.element.createElement("span",{className:"exactmetrics-inline-popular-posts-border-2",style:{borderColor:m.border_color2}})}())))]}),save:function(e){return null}})},function(e,t,n){var r=function(){return this}()||Function("return this")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n(201),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";function n(e,t,n,r){var o=t&&t.prototype instanceof i?t:i,a=Object.create(o.prototype),s=new h(r||[]);return a._invoke=c(e,n,s),a}function r(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function i(){}function o(){}function a(){}function s(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function l(e){function t(n,i,o,a){var s=r(e[n],e,i);if("throw"!==s.type){var l=s.arg,c=l.value;return c&&"object"==typeof c&&b.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(c).then(function(e){l.value=e,o(l)},a)}a(s.arg)}function n(e,n){function r(){return new Promise(function(r,i){t(e,n,r,i)})}return i=i?i.then(r,r):r()}var i;this._invoke=n}function c(e,t,n){var i=x;return function(o,a){if(i===O)throw new Error("Generator is already running");if(i===T){if("throw"===o)throw a;return f()}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var l=u(s,n);if(l){if(l===N)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===x)throw i=T,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=O;var c=r(e,t,n);if("normal"===c.type){if(i=n.done?T:k,c.arg===N)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(i=T,n.method="throw",n.arg=c.arg)}}}function u(e,t){var n=e.iterator[t.method];if(n===g){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=g,u(e,t),"throw"===t.method))return N;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return N}var i=r(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,N;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=g),t.delegate=null,N):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,N)}function d(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function p(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(d,this),this.reset(!0)}function m(e){if(e){var t=e[y];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(b.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=g,t.done=!0,t};return r.next=r}}return{next:f}}function f(){return{value:g,done:!0}}var g,w=Object.prototype,b=w.hasOwnProperty,v="function"==typeof Symbol?Symbol:{},y=v.iterator||"@@iterator",S=v.asyncIterator||"@@asyncIterator",E=v.toStringTag||"@@toStringTag",_="object"==typeof e,C=t.regeneratorRuntime;if(C)return void(_&&(e.exports=C));C=t.regeneratorRuntime=_?e.exports:{},C.wrap=n;var x="suspendedStart",k="suspendedYield",O="executing",T="completed",N={},F={};F[y]=function(){return this};var M=Object.getPrototypeOf,j=M&&M(M(m([])));j&&j!==w&&b.call(j,y)&&(F=j);var P=a.prototype=i.prototype=Object.create(F);o.prototype=P.constructor=a,a.constructor=o,a[E]=o.displayName="GeneratorFunction",C.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===o||"GeneratorFunction"===(t.displayName||t.name))},C.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,E in e||(e[E]="GeneratorFunction")),e.prototype=Object.create(P),e},C.awrap=function(e){return{__await:e}},s(l.prototype),l.prototype[S]=function(){return this},C.AsyncIterator=l,C.async=function(e,t,r,i){var o=new l(n(e,t,r,i));return C.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},s(P),P[E]="Generator",P[y]=function(){return this},P.toString=function(){return"[object Generator]"},C.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},C.values=m,h.prototype={constructor:h,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=g,this.done=!1,this.delegate=null,this.method="next",this.arg=g,this.tryEntries.forEach(p),!e)for(var t in this)"t"===t.charAt(0)&&b.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=g)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,r){return o.type="throw",o.arg=e,n.next=t,r&&(n.method="next",n.arg=g),!!r}if(this.done)throw e;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var a=b.call(i,"catchLoc"),s=b.call(i,"finallyLoc");if(a&&s){if(this.prev<i.catchLoc)return t(i.catchLoc,!0);if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&b.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,N):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),N},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),N}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;p(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:m(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=g),N}}}(function(){return this}()||Function("return this")())},function(e,t,n){"use strict";var r={};r.inlinepop=wp.element.createElement("svg",{width:"20",height:"16",viewBox:"0 0 20 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 0H20V2H0V0ZM20 14V16H0V14H20ZM2 4C0.895431 4 0 4.89543 0 6V10C0 11.1046 0.895431 12 2 12H6C7.10457 12 8 11.1046 8 10V6C8 4.89543 7.10457 4 6 4H2ZM10 5H20V7H10V5ZM18 9H10V11H18V9Z",fill:"#555D66"})),r.alpha=wp.element.createElement("svg",{width:"70",height:"38",viewBox:"0 0 70 38",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"37.8947",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"5.72728",y:"19.8947",width:"58.5455",height:"8.52632",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"5.72728",y:"7.57892",width:"17.1818",height:"8.52632",rx:"3",fill:"#8453F7"})),r.beta=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"31",y:"21",width:"32",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"31",y:"10",width:"18",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"7",y:"10",width:"20",height:"20",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"1.5",y:"1.5",width:"67",height:"37",rx:"1.5",stroke:"#F0EAFE",strokeWidth:"3"})),r.charlie=wp.element.createElement("svg",{width:"70",height:"28",viewBox:"0 0 70 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"16",y:"19",width:"54",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"11",width:"70",height:"3",rx:"1.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{width:"26",height:"7",rx:"3",fill:"#8453F7"}),wp.element.createElement("circle",{cx:"4.5",cy:"23.5",r:"4.5",fill:"#6528F5"})),r.delta=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"8",y:"21",width:"54",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"22",y:"9",width:"18",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("path",{d:"M12.0303 9.5625C12.4613 8.8125 13.5387 8.8125 13.9697 9.5625L17.8483 16.3125C18.2793 17.0625 17.7406 18 16.8787 18H9.12134C8.25942 18 7.72072 17.0625 8.15168 16.3125L12.0303 9.5625Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"1.5",y:"1.5",width:"67",height:"37",rx:"1.5",stroke:"#F0EAFE",strokeWidth:"3"})),r.echo=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"24.8182",y:"16",width:"39.4545",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"5.72728",y:"16",width:"15.2727",height:"9",rx:"3",fill:"#8453F7"})),r.foxtrot=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"26",y:"22",width:"44",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"26",y:"9",width:"28",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{y:"9",width:"22",height:"22",rx:"3",fill:"#8453F7"})),r.golf=wp.element.createElement("svg",{width:"70",height:"29",viewBox:"0 0 70 29",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{y:"11",width:"70",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"26",width:"70",height:"3",rx:"1.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{width:"21",height:"7",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"25",y:"1",width:"45",height:"3",rx:"1.5",fill:"#D1BFFC"})),r.hotel=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"22",y:"16",width:"40",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("path",{d:"M12.0303 16.5625C12.4613 15.8125 13.5387 15.8125 13.9697 16.5625L17.8483 23.3125C18.2793 24.0625 17.7406 25 16.8787 25H9.12134C8.25942 25 7.72072 24.0625 8.15168 23.3125L12.0303 16.5625Z",fill:"#8453F7"})),r.india=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("g",{clipPath:"url(#clip0)"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"26",y:"16",width:"36",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"16",width:"14",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"41",width:"41",height:"4",transform:"rotate(-90 0 41)",fill:"#8453F7"})),wp.element.createElement("defs",null,wp.element.createElement("clipPath",{id:"clip0"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"white"})))),r.juliett=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"30",y:"20",width:"32",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("path",{d:"M50 14C50 12.3431 51.3431 11 53 11H60C61.1046 11 62 11.8954 62 13V15C62 16.6569 60.6569 18 59 18H53C51.3431 18 50 16.6569 50 15V14Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"30",y:"11",width:"32",height:"4",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"8",y:"11",width:"18",height:"18",rx:"3",fill:"#8453F7"})),r.kilo=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{y:"22",width:"70",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{y:"9",width:"26",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"12.7273",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"25.4545",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"38.1818",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"50.9091",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"63.6364",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"12.7273",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"25.4545",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"38.1818",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"50.9091",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"63.6364",y:"37",width:"6.36364",height:"3",rx:"1",fill:"#D1BFFC"})),r.lima=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"6",y:"22",width:"32",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"6",y:"8",width:"20",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("rect",{x:"42",y:"9",width:"22",height:"22",rx:"3",fill:"#8453F7"})),r.mike=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"70",height:"40",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"35",y:"15",width:"27",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M28.8438 28H10.1562C9.55729 28 9.04818 27.7934 8.62891 27.3802C8.20964 26.967 8 26.4653 8 25.875V22.3C8 21.0297 9.02974 20 10.3 20H21.7C22.9703 20 24 18.9703 24 17.7V13.3C24 12.0297 25.0297 11 26.3 11H28.8438C29.4427 11 29.9518 11.2066 30.3711 11.6198C30.7904 12.033 31 12.5347 31 13.125V25.875C31 26.4653 30.7904 26.967 30.3711 27.3802C29.9518 27.7934 29.4427 28 28.8438 28ZM10.3 11C9.02974 11 8 12.0297 8 13.3V15.7C8 16.9703 9.02974 18 10.3 18H19.7C20.9703 18 22 16.9703 22 15.7V13.3C22 12.0297 20.9703 11 19.7 11H10.3Z",fill:"#8453F7"})),r.november=wp.element.createElement("svg",{width:"70",height:"40",viewBox:"0 0 70 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"29",y:"22",width:"33",height:"9",rx:"3",fill:"#6528F5"}),wp.element.createElement("rect",{x:"29",y:"9",width:"18",height:"9",rx:"3",fill:"#8453F7"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17 28C21.4183 28 25 24.4183 25 20C25 15.5817 21.4183 12 17 12C12.5817 12 9 15.5817 9 20C9 24.4183 12.5817 28 17 28ZM20.544 21.8756L17.5907 16.7081C17.3281 16.2488 16.6719 16.2488 16.4093 16.7081L13.456 21.8756C13.1935 22.3349 13.5217 22.9091 14.0467 22.9091H19.9533C20.4783 22.9091 20.8065 22.3349 20.544 21.8756Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"1.5",y:"1.5",width:"67",height:"37",rx:"1.5",stroke:"#F0EAFE",strokeWidth:"3"})),r.themeIcon=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#EB5757";return wp.element.createElement("svg",{width:"14",height:"19",viewBox:"0 0 14 19",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M7.875 0.899463C7.875 1.59183 8.0816 2.24711 8.49479 2.8653C8.93229 3.48349 9.44271 4.06458 10.026 4.60859C10.6337 5.15259 11.2292 5.73369 11.8125 6.35188C12.4201 6.97007 12.9306 7.76135 13.3438 8.72572C13.7812 9.66537 14 10.7163 14 11.8785C14 13.832 13.3073 15.5011 11.9219 16.8858C10.5608 18.2953 8.92014 19 7 19C5.07986 19 3.42708 18.2953 2.04167 16.8858C0.680556 15.5011 0 13.832 0 11.8785C0 9.94973 0.668403 8.28062 2.00521 6.87116C2.27257 6.57443 2.58854 6.50024 2.95312 6.64861C3.31771 6.79697 3.5 7.08134 3.5 7.50171V10.6545C3.5 11.3221 3.71875 11.8908 4.15625 12.3607C4.61806 12.8305 5.16493 13.0654 5.79688 13.0654C6.45312 13.0654 7.01215 12.8428 7.47396 12.3978C7.93576 11.9279 8.16667 11.3592 8.16667 10.6916C8.16667 10.2712 8.04514 9.86318 7.80208 9.46754C7.58333 9.0719 7.31597 8.71336 7 8.3919C6.68403 8.07044 6.34375 7.73662 5.97917 7.39043C5.63889 7.04425 5.34722 6.66097 5.10417 6.2406C4.88542 5.82024 4.73958 5.35041 4.66667 4.83114C4.59375 4.31186 4.67882 3.68131 4.92188 2.93948C5.18924 2.17293 5.63889 1.33219 6.27083 0.417277C6.51389 0.0463641 6.84201 -0.0772735 7.25521 0.0463641C7.6684 0.170002 7.875 0.454368 7.875 0.899463Z",fill:e}))},t.a=r},function(e,t,n){"use strict";var r={};r.canaccess=function(e){return"lite"===e},t.a=r},function(e,t,n){"use strict";var r={};r.checkmark=wp.element.createElement("svg",{width:"24",height:"20",viewBox:"0 0 24 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M21.0565 2.94355C23.0188 4.87903 24 7.23118 24 10C24 12.7688 23.0188 15.1344 21.0565 17.0968C19.121 19.0323 16.7688 20 14 20C11.2312 20 8.86559 19.0323 6.90323 17.0968C4.96774 15.1344 4 12.7688 4 10C4 7.23118 4.96774 4.87903 6.90323 2.94355C8.86559 0.981183 11.2312 0 14 0C16.7688 0 19.121 0.981183 21.0565 2.94355ZM12.8306 15.2823L20.25 7.8629C20.5726 7.5672 20.5726 7.27151 20.25 6.97581L19.3629 6.04839C19.0403 5.75269 18.7312 5.75269 18.4355 6.04839L12.3871 12.0968L9.56452 9.27419C9.26882 8.97849 8.95968 8.97849 8.6371 9.27419L7.75 10.2016C7.42742 10.4973 7.42742 10.793 7.75 11.0887L11.9435 15.2823C12.2392 15.6048 12.5349 15.6048 12.8306 15.2823Z",fill:"#6528f5"})),r.chevronright=wp.element.createElement("svg",{width:"5",height:"8",viewBox:"0 0 5 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M4.84913 3.68807L1.19048 0.12844C1.10247 0.0428134 0.995599 -4.3519e-08 0.869873 -3.80233e-08C0.744146 -3.25276e-08 0.637278 0.0428134 0.549269 0.12844L0.134371 0.53211C0.0463618 0.617737 0.00235741 0.721713 0.00235742 0.844037C-0.0102153 0.966361 0.0275028 1.07034 0.115512 1.15596L3.03866 4L0.115512 6.84404C0.0275031 6.92966 -0.010215 7.03364 0.00235769 7.15596C0.0023577 7.27829 0.0463621 7.38226 0.134371 7.46789L0.549269 7.87156C0.637278 7.95719 0.744146 8 0.869873 8C0.9956 8 1.10247 7.95719 1.19048 7.87156L4.84913 4.31193C4.94971 4.2263 5 4.12232 5 4C5 3.87768 4.94971 3.7737 4.84913 3.68807Z",fill:"#C4C4C4"})),r.chevronleft=wp.element.createElement("svg",{width:"5",height:"8",viewBox:"0 0 5 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M0.150873 3.68807L3.80952 0.12844C3.89753 0.0428134 4.0044 -4.3519e-08 4.13013 -3.80233e-08C4.25585 -3.25276e-08 4.36272 0.0428134 4.45073 0.12844L4.86563 0.53211C4.95364 0.617737 4.99764 0.721713 4.99764 0.844037C5.01022 0.966361 4.9725 1.07034 4.88449 1.15596L1.96134 4L4.88449 6.84404C4.9725 6.92966 5.01021 7.03364 4.99764 7.15596C4.99764 7.27829 4.95364 7.38226 4.86563 7.46789L4.45073 7.87156C4.36272 7.95719 4.25585 8 4.13013 8C4.0044 8 3.89753 7.95719 3.80952 7.87156L0.150873 4.31193C0.0502914 4.2263 2.96645e-07 4.12232 3.01992e-07 4C3.07339e-07 3.87768 0.0502914 3.7737 0.150873 3.68807Z",fill:"#C4C4C4"})),t.a=r},function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){l(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function m(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}function f(e,t){if(null==e)return{};var n,r,i=m(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function w(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function b(e){var t=h();return function(){var n,r=d(e);if(t){var i=d(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return w(this,n)}}function v(e){return y(e)||S(e)||E(e)||C()}function y(e){if(Array.isArray(e))return _(e)}function S(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function E(e,t){if(e){if("string"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_(e,t):void 0}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function C(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,t){return t={exports:{}},e(t,t.exports),t.exports}function k(){}function O(){}function T(e){return e.map(function(e){return!1===e?null:e}).join(" ").replace(/\s+/g," ").trim()}function N(e,t){return 100/e*t/t}function F(e,t){return 100*e/t}function M(e){return"".concat(e,"%")}function j(e,t,n){if(e===t)return!0;var r=ie[re(e)],i=ie[re(t)];return!(!r||r!==i)&&r(e,t,n)}function P(e){return function(t,n,r){if(!r)return e(t,n,[]);for(var i,o=r.length;i=r[--o];)if(i[0]===t&&i[1]===n)return!0;return e(t,n,r)}}function D(e,t,n){var r=e.length;if(r!==t.length)return!1;for(n.push([e,t]);r--;)if(!j(e[r],t[r],n))return!1;return!0}function A(e,t,n){if("function"==typeof e.equal)return n.push([e,t]),e.equal(t,n);var r=L(e),i=L(t),o=r.length;if(o!==i.length)return!1;for(r.sort(),i.sort();o--;)if(r[o]!==i[o])return!1;for(n.push([e,t]),o=r.length;o--;){var a=r[o];if(!j(e[a],t[a],n))return!1}return!0}function L(e){var t=[];for(var n in e)"constructor"!==n&&t.push(n);return t}function B(e){return!!e&&"object"==typeof e}function z(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||R(e)}function R(e){return e.$$typeof===le}function H(e){return Array.isArray(e)?[]:{}}function I(e,t){return!1!==t.clone&&t.isMergeableObject(e)?W(H(e),e,t):e}function q(e,t,n){return e.concat(t).map(function(e){return I(e,n)})}function V(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(t){r[t]=I(e[t],n)}),Object.keys(t).forEach(function(i){n.isMergeableObject(t[i])&&e[i]?r[i]=W(e[i],t[i],n):r[i]=I(t[i],n)}),r}function W(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||q,n.isMergeableObject=n.isMergeableObject||ae;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):V(e,t,n):I(t,n)}function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return{}},n=function(n){function r(e,n){var s;return o(this,r),s=a.call(this,e,n),s.state=t(i({},n.state)),s.updateStateProps=s.updateStateProps.bind(g(s)),s}u(r,n);var a=b(r);return s(r,[{key:"componentDidMount",value:function(){this.context.subscribe(this.updateStateProps)}},{key:"shouldComponentUpdate",value:function(e,t){return!oe(t,this.state)||!oe(e,this.props)}},{key:"componentWillUnmount",value:function(){this.context.unsubscribe(this.updateStateProps)}},{key:"updateStateProps",value:function(){this.setState(t(i({},this.context.state)))}},{key:"render",value:function(){var t=this,n=de(this.state,this.props);return Y.a.createElement(e,c({ref:function(e){t.instance=e}},n,{carouselStore:{getStoreState:this.context.getStoreState,masterSpinnerError:this.context.masterSpinnerError,masterSpinnerSuccess:this.context.masterSpinnerSuccess,setStoreState:this.context.setStoreState,subscribeMasterSpinner:this.context.subscribeMasterSpinner,unsubscribeAllMasterSpinner:this.context.unsubscribeAllMasterSpinner,unsubscribeMasterSpinner:this.context.unsubscribeMasterSpinner}}),this.props.children)}}]),r}(Y.a.Component);return l(n,"contextType",pe),l(n,"propTypes",{children:J.children}),l(n,"defaultProps",{children:null}),n}n.d(t,"a",function(){return Fe}),n.d(t,"b",function(){return Be}),n.d(t,"c",function(){return we}),n.d(t,"d",function(){return Je}),n.d(t,"e",function(){return St}),n.d(t,"f",function(){return Tt});var U=n(80),Y=n.n(U),X="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";O.resetWarningCache=k;var G=function(){function e(e,t,n,r,i,o){if(o!==X){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:O,resetWarningCache:k};return n.PropTypes=n,n},K=x(function(e){e.exports=G()}),$="loading",J={children:K.oneOfType([K.arrayOf(K.node),K.node]),direction:K.oneOf(["forward","backward"]),height:function(e,t){var n=e[t];return"vertical"!==e.orientation||null!==n&&"number"==typeof n?null:new Error("Missing required property '".concat(t,"' when orientation is vertical. You must supply a number representing the height in pixels"))},orientation:K.oneOf(["horizontal","vertical"]),isBgImage:function(e,t){return!0===e[t]&&"img"===e.tag?new Error("HTML img elements should not have a backgroundImage. Please use ".concat(t," for other block-level HTML tags, like div, a, section, etc...")):null}},Q=function(e){var t=e.min,n=e.max,r=e.x;return Math.min(n,Math.max(t,r))},ee={buttonBack:"buttonBack___1mlaL"},te=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],ne=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=b(t);return s(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.currentSlide,i=t.onClick,o=t.step,a=t.infinite,s=t.visibleSlides,l=t.totalSlides-s,c=Math.max(r-o,0);a&&(c=0===r?l:c),n.setStoreState({currentSlide:c,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=(e.currentSlide,e.disabled,e.onClick,e.step,e.totalSlides,e.visibleSlides,e.infinite),i=f(e,te),o=T([ee.buttonBack,"carousel__back-button",n]),a=t.setDisabled(this.props.disabled,this.props.currentSlide,r);return Y.a.createElement("button",c({type:"button","aria-label":"previous",className:o,onClick:this.handleOnClick,disabled:a},i),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n){return null!==e?e:0===t&&!n}}]),t}(Y.a.Component);l(ne,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,step:K.number.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,infinite:K.bool}),l(ne,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1});var re=x(function(e,t){var n={}.toString,r="undefined"!=typeof window?window.Node:Function;e.exports=t=function(e){var t=typeof e;if("object"!=t)return t;if("object"==(t=i[n.call(e)]))return e instanceof Map?"map":e instanceof Set?"set":"object";if(t)return t;if(e instanceof r)switch(e.nodeType){case 1:return"element";case 3:return"text-node";case 9:return"document";case 11:return"document-fragment";default:return"dom-node"}};var i=t.types={"[object Function]":"function","[object Date]":"date","[object RegExp]":"regexp","[object Arguments]":"arguments","[object Array]":"array","[object Set]":"set","[object String]":"string","[object Null]":"null","[object Undefined]":"undefined","[object Number]":"number","[object Boolean]":"boolean","[object Object]":"object","[object Map]":"map","[object Text]":"text-node","[object Uint8Array]":"bit-array","[object Uint16Array]":"bit-array","[object Uint32Array]":"bit-array","[object Uint8ClampedArray]":"bit-array","[object Error]":"error","[object FormData]":"form-data","[object File]":"file","[object Blob]":"blob"}}),ie=(re.types,{});ie.number=function(e,t){return e!==e&&t!==t},ie.function=function(e,t,n){return e.toString()===t.toString()&&ie.object(e,t,n)&&j(e.prototype,t.prototype)},ie.date=function(e,t){return+e==+t},ie.regexp=function(e,t){return e.toString()===t.toString()},ie.element=function(e,t){return e.outerHTML===t.outerHTML},ie.textnode=function(e,t){return e.textContent===t.textContent},ie.arguments=ie["bit-array"]=ie.array=P(D),ie.object=P(A);var oe=j,ae=function(e){return B(e)&&!z(e)},se="function"==typeof Symbol&&Symbol.for,le=se?Symbol.for("react.element"):60103;W.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return W(e,n,t)},{})};var ce,ue,de=W,pe=Y.a.createContext(),he=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach(function(n){!t.hasOwnProperty(n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||e(t[n])}),t},me={masterSpinnerFinished:!1},fe=function(){function e(t){o(this,e),this.state=he(de(me,t)),this.subscriptions=[],this.masterSpinnerSubscriptions={},this.setStoreState=this.setStoreState.bind(this),this.getStoreState=this.getStoreState.bind(this),this.subscribe=this.subscribe.bind(this),this.unsubscribe=this.unsubscribe.bind(this),this.updateSubscribers=this.updateSubscribers.bind(this),this.subscribeMasterSpinner=this.subscribeMasterSpinner.bind(this),this.unsubscribeMasterSpinner=this.unsubscribeMasterSpinner.bind(this),this.unsubscribeAllMasterSpinner=this.unsubscribeAllMasterSpinner.bind(this),this.masterSpinnerSuccess=this.masterSpinnerSuccess.bind(this),this.masterSpinnerError=this.masterSpinnerError.bind(this)}return s(e,[{key:"setStoreState",value:function(e,t){this.state=he(de(this.state,e)),this.updateSubscribers(t)}},{key:"getStoreState",value:function(){return de({},this.state)}},{key:"subscribe",value:function(e){this.subscriptions.push(e)}},{key:"unsubscribe",value:function(e){var t=this.subscriptions.indexOf(e);-1!==t&&this.subscriptions.splice(t,1)}},{key:"updateSubscribers",value:function(e){this.subscriptions.forEach(function(e){return e()}),"function"==typeof e&&e(this.getStoreState())}},{key:"subscribeMasterSpinner",value:function(e){-1===Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.masterSpinnerSubscriptions[e]={success:!1,error:!1,complete:!1})}},{key:"unsubscribeMasterSpinner",value:function(e){return-1!==Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.setMasterSpinnerFinished(),delete this.masterSpinnerSubscriptions[e])}},{key:"unsubscribeAllMasterSpinner",value:function(){this.masterSpinnerSubscriptions={},this.setMasterSpinnerFinished()}},{key:"masterSpinnerSuccess",value:function(e){this.masterSpinnerSubscriptions[e].success=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"masterSpinnerError",value:function(e){this.masterSpinnerSubscriptions[e].error=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"setMasterSpinnerFinished",value:function(){this.setStoreState({masterSpinnerFinished:this.isMasterSpinnerFinished()})}},{key:"isMasterSpinnerFinished",value:function(){var e=this;return 0===Object.keys(this.masterSpinnerSubscriptions).filter(function(t){return!0!==e.masterSpinnerSubscriptions[t].complete}).length}}]),e}(),ge=["children","className","currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPageScrollLocked","isPlaying","lockOnWindowScroll","naturalSlideHeight","naturalSlideWidth","orientation","playDirection","step","dragStep","tag","totalSlides","touchEnabled","dragEnabled","visibleSlides","infinite","isIntrinsicHeight"],we=(ue=ce=function(e){function t(e){var r;if(o(this,t),r=n.call(this,e),e.isIntrinsicHeight&&"horizontal"!==e.orientation)throw Error('isIntrinsicHeight can only be used in "horizontal" orientation. See Readme for more information.');var i={currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,disableKeyboard:e.disableKeyboard,hasMasterSpinner:e.hasMasterSpinner,imageErrorCount:0,imageSuccessCount:0,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,masterSpinnerThreshold:0,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,privateUnDisableAnimation:!1,slideSize:N(e.totalSlides,e.visibleSlides),slideTraySize:F(e.totalSlides,e.visibleSlides),step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,dragEnabled:e.dragEnabled,visibleSlides:e.visibleSlides,infinite:e.infinite,isIntrinsicHeight:e.isIntrinsicHeight};return r.carouselStore=new fe(i),r}u(t,e);var n=b(t);return s(t,[{key:"componentDidUpdate",value:function(e){var t=this,n={};["currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPlaying","naturalSlideHeight","naturalSlideWidth","lockOnWindowScroll","orientation","playDirection","step","dragStep","totalSlides","touchEnabled","dragEnabled","visibleSlides"].forEach(function(r){e[r]!==t.props[r]&&(n[r]=t.props[r])}),this.props.currentSlide!==e.currentSlide&&!this.props.disableAnimation&&(n.disableAnimation=!0,n.privateUnDisableAnimation=!0),this.props.totalSlides===e.totalSlides&&this.props.visibleSlides===e.visibleSlides||(n.slideSize=N(this.props.totalSlides,this.props.visibleSlides),n.slideTraySize=F(this.props.totalSlides,this.props.visibleSlides)),this.carouselStore.state.currentSlide>=this.props.totalSlides&&(n.currentSlide=Math.max(this.props.totalSlides-1,0)),Object.keys(n).length>0&&this.carouselStore.setStoreState(n)}},{key:"componentWillUnmount",value:function(){this.carouselStore.unsubscribeAllMasterSpinner()}},{key:"getStore",value:function(){return this.carouselStore}},{key:"render",value:function(){var e=this.props,t=(e.children,e.className,e.currentSlide,e.disableAnimation,e.disableKeyboard,e.hasMasterSpinner,e.interval,e.isPageScrollLocked,e.isPlaying,e.lockOnWindowScroll,e.naturalSlideHeight,e.naturalSlideWidth,e.orientation,e.playDirection,e.step,e.dragStep,e.tag),n=(e.totalSlides,e.touchEnabled,e.dragEnabled,e.visibleSlides,e.infinite,e.isIntrinsicHeight,f(e,ge)),r=T(["carousel",this.props.className]);return Y.a.createElement(t,c({className:r},n),Y.a.createElement(pe.Provider,{value:this.carouselStore},this.props.children))}}]),t}(Y.a.Component),l(ce,"propTypes",{children:J.children.isRequired,className:K.string,currentSlide:K.number,disableAnimation:K.bool,disableKeyboard:K.bool,hasMasterSpinner:K.bool,interval:K.number,isPageScrollLocked:K.bool,isPlaying:K.bool,lockOnWindowScroll:K.bool,naturalSlideHeight:K.number.isRequired,naturalSlideWidth:K.number.isRequired,orientation:J.orientation,playDirection:J.direction,step:K.number,dragStep:K.number,tag:K.string,totalSlides:K.number.isRequired,touchEnabled:K.bool,dragEnabled:K.bool,visibleSlides:K.number,infinite:K.bool,isIntrinsicHeight:K.bool}),l(ce,"defaultProps",{className:null,currentSlide:0,disableAnimation:!1,disableKeyboard:!1,hasMasterSpinner:!1,interval:5e3,isPageScrollLocked:!1,isPlaying:!1,lockOnWindowScroll:!1,orientation:"horizontal",playDirection:"forward",step:1,dragStep:1,tag:"div",touchEnabled:!0,dragEnabled:!0,visibleSlides:1,infinite:!1,isIntrinsicHeight:!1}),ue);pe.Consumer;var be,ve,ye,Se,Ee,_e,Ce,xe,ke,Oe,Te,Ne,Fe=Z(ne,function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}}),Me={buttonFirst:"buttonFirst___2rhFr"},je=["carouselStore","className","currentSlide","disabled","onClick","totalSlides"],Pe=(ve=be=function(e){function t(){var e;return o(this,t),e=n.call(this),e.handleOnClick=e.handleOnClick.bind(g(e)),e}u(t,e);var n=b(t);return s(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.onClick;n.setStoreState({currentSlide:0,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,i=(e.onClick,e.totalSlides,f(e,je)),o=T([Me.buttonFirst,"carousel__first-button",t]),a=null!==r?r:0===n;return Y.a.createElement("button",c({type:"button","aria-label":"first",className:o,onClick:this.handleOnClick,disabled:a},i),this.props.children)}}]),t}(Y.a.Component),l(be,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,totalSlides:K.number.isRequired}),l(be,"defaultProps",{className:null,disabled:null,onClick:null}),ve),De=(Z(Pe,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides}}),{buttonNext:"buttonNext___2mOCa"}),Ae=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],Le=(Se=ye=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=b(t);return s(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.currentSlide,r=t.onClick,i=t.step,o=t.carouselStore,a=t.infinite,s=t.totalSlides-t.visibleSlides,l=i+n,c=Math.min(l,s);a&&(c=s===n?0:c),o.setStoreState({currentSlide:c,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=e.currentSlide,i=e.disabled,o=(e.onClick,e.step,e.totalSlides),a=e.visibleSlides,s=e.infinite,l=f(e,Ae),u=T([De.buttonNext,"carousel__next-button",n]),d=t.setDisabled(i,r,a,o,s);return Y.a.createElement("button",c({type:"button","aria-label":"next",className:u,onClick:this.handleOnClick,disabled:d},l),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n,r,i){return null!==e?e:t>=r-n&&!i}}]),t}(Y.a.PureComponent),l(ye,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,step:K.number.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,infinite:K.bool}),l(ye,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1}),Se),Be=Z(Le,function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}}),ze={buttonLast:"buttonLast___2yuh0"},Re=["carouselStore","className","currentSlide","disabled","onClick","totalSlides","visibleSlides"],He=(_e=Ee=function(e){function t(){var e;return o(this,t),e=n.call(this),e.handleOnClick=e.handleOnClick.bind(g(e)),e}u(t,e);var n=b(t);return s(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.onClick,i=t.totalSlides,o=t.visibleSlides;n.setStoreState({currentSlide:i-o,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,i=(e.onClick,e.totalSlides),o=e.visibleSlides,a=f(e,Re),s=T([ze.buttonLast,"carousel__last-button",t]),l=null!==r?r:n>=i-o;return Y.a.createElement("button",c({type:"button","aria-label":"last",className:s,onClick:this.handleOnClick,disabled:l},a),this.props.children)}}]),t}(Y.a.Component),l(Ee,"propTypes",{carouselStore:K.object.isRequired,children:J.children.isRequired,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired}),l(Ee,"defaultProps",{className:null,disabled:null,onClick:null}),_e),Ie=(Z(He,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}}),{buttonNext:"buttonNext___3Lm3s"}),qe=["carouselStore","children","childrenPaused","childrenPlaying","className","isPlaying","onClick"],Ve=(xe=Ce=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=b(t);return s(t,[{key:"handleOnClick",value:function(e){var t=this.props.onClick;this.props.carouselStore.setStoreState({isPlaying:!this.props.isPlaying},null!==t&&t.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.childrenPaused),n=e.childrenPlaying,r=e.className,i=e.isPlaying,o=(e.onClick,f(e,qe)),a=T([Ie.buttonNext,"carousel__play-button",r]);return Y.a.createElement("button",c({type:"button","aria-label":"play",className:a,onClick:this.handleOnClick},o),i&&n,!i&&t,this.props.children)}}]),t}(Y.a.PureComponent),l(Ce,"propTypes",{carouselStore:K.object.isRequired,children:K.node,childrenPaused:K.node,childrenPlaying:K.node,className:K.string,isPlaying:K.bool.isRequired,onClick:K.func}),l(Ce,"defaultProps",{children:null,childrenPaused:null,childrenPlaying:null,className:null,onClick:null}),xe),We=(Z(Ve,function(e){return{isPlaying:e.isPlaying}}),{dot:"dot___3c3SI"}),Ze=["carouselStore","children","className","currentSlide","disabled","onClick","selected","slide","totalSlides","visibleSlides"],Ue=(Oe=ke=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnClick=r.handleOnClick.bind(g(r)),r}u(t,e);var n=b(t);return s(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,r=t.onClick,i=t.slide,o=t.totalSlides,a=t.visibleSlides,s=i>=o-a?o-a:i;n.setStoreState({currentSlide:s,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className),n=e.currentSlide,r=e.disabled,i=(e.onClick,e.selected),o=e.slide,a=(e.totalSlides,e.visibleSlides),s=f(e,Ze),l=o>=n&&o<n+a,u="boolean"==typeof i?i:l,d=!0===l,p="boolean"==typeof r?r:d,h=T([We.dot,u&&We.dotSelected,"carousel__dot","carousel__dot--".concat(o),u&&"carousel__dot--selected",t]);return Y.a.createElement("button",c({"aria-label":"slide dot",type:"button",onClick:this.handleOnClick,className:h,disabled:p},s),this.props.children)}}]),t}(Y.a.Component),l(ke,"propTypes",{carouselStore:K.object.isRequired,children:J.children,className:K.string,currentSlide:K.number.isRequired,disabled:K.bool,onClick:K.func,selected:K.bool,slide:K.number.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired}),l(ke,"defaultProps",{children:null,className:null,disabled:null,onClick:null,selected:null}),Oe),Ye=Z(Ue,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}}),Xe={},Ge=["renderDots"],Ke=["carouselStore","children","className","currentSlide","dotNumbers","totalSlides","visibleSlides","disableActiveDots","showAsSelectedForCurrentSlideOnly","renderDots"],$e=(Ne=Te=function(e){function t(){return o(this,t),n.apply(this,arguments)}u(t,e);var n=b(t);return s(t,[{key:"renderDots",value:function(){var e=this.props,t=e.currentSlide,n=e.totalSlides,r=e.visibleSlides,i=e.disableActiveDots,o=e.showAsSelectedForCurrentSlideOnly,a=e.renderDots;if(a){var s=this.props;return s.renderDots,a(f(s,Ge))}for(var l=[],c=0;c<n;c+=1){var u=c>=t&&c<t+r,d=c===t,p=o?d:u,h=c>=n-r?n-r:c;l.push(Y.a.createElement(Ye,{key:c,slide:h,selected:p,disabled:!!i&&p},Y.a.createElement("span",{className:T["carousel__dot-group-dot"]},this.props.dotNumbers&&c+1)))}return l}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children),n=e.className,r=(e.currentSlide,e.dotNumbers,e.totalSlides,e.visibleSlides,e.disableActiveDots,e.showAsSelectedForCurrentSlideOnly,e.renderDots,f(e,Ke)),i=T([Xe.DotGroup,"carousel__dot-group",n]);return Y.a.createElement("div",c({className:i},r),this.renderDots(),t)}}]),t}(Y.a.Component),l(Te,"propTypes",{children:J.children,className:K.string,currentSlide:K.number.isRequired,carouselStore:K.object.isRequired,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,dotNumbers:K.bool,disableActiveDots:K.bool,showAsSelectedForCurrentSlideOnly:K.bool,renderDots:K.func}),l(Te,"defaultProps",{children:null,className:null,dotNumbers:!1,disableActiveDots:!0,showAsSelectedForCurrentSlideOnly:!1,renderDots:null}),Ne),Je=Z($e,function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}}),Qe={image:"image___xtQGH"},et=["src","alt"],tt=["carouselStore","children","className","hasMasterSpinner","isBgImage","onError","onLoad","renderError","renderLoading","style","tag"],nt=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.state={imageStatus:$},r.handleImageLoad=r.handleImageLoad.bind(g(r)),r.handleImageError=r.handleImageError.bind(g(r)),r.image=null,r}u(t,e);var n=b(t);return s(t,[{key:"componentDidMount",value:function(){t.subscribeMasterSpinner(this.props),this.initImage()}},{key:"componentDidUpdate",value:function(e){e.src!==this.props.src&&(t.unsubscribeMasterSpinner(e),t.subscribeMasterSpinner(this.props),this.initImage())}},{key:"componentWillUnmount",value:function(){t.unsubscribeMasterSpinner(this.props),this.image.removeEventListener("load",this.handleImageLoad),this.image.removeEventListener("error",this.handleImageError),this.image=null}},{key:"initImage",value:function(){if(this.setState({imageStatus:$}),this.image=document.createElement("img"),this.image.addEventListener("load",this.handleImageLoad,!1),this.image.addEventListener("error",this.handleImageError,!1),this.image.src=this.props.src,this.image.readyState||this.image.complete){var e=this.image.src;this.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",this.image.src=e}}},{key:"handleImageLoad",value:function(e){this.setState({imageStatus:"success"}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerSuccess(this.props.src),this.props.onLoad&&this.props.onLoad(e)}},{key:"handleImageError",value:function(e){this.setState({imageStatus:"error"}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerError(this.props.src),this.props.onError&&this.props.onError(e)}},{key:"tempTag",value:function(){return"img"===this.props.tag?"div":this.props.tag}},{key:"customRender",value:function(e){return"function"==typeof this.props[e]?this.props[e]():this.props.children}},{key:"renderLoading",value:function(e){var t=this.tempTag(),n=T([Qe.image,Qe.imageLoading,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--loading",this.props.className]);return Y.a.createElement(t,c({className:n},e),this.customRender("renderLoading"))}},{key:"renderError",value:function(e){var t=this.tempTag(),n=T([Qe.image,Qe.imageError,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--error",this.props.className]);return Y.a.createElement(t,c({className:n},e),this.customRender("renderError"))}},{key:"renderSuccess",value:function(e){var t=this.props,n=t.style,r=t.tag,i=T([Qe.image,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--success",this.props.className]),o=c({},n),a=e;if("img"!==r){var s=e.src;e.alt,a=f(e,et),o=c({},n,{backgroundImage:'url("'.concat(s,'")'),backgroundSize:"cover"})}return Y.a.createElement(r,c({className:i,style:o},a),this.props.children)}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className,e.hasMasterSpinner,e.isBgImage,e.onError,e.onLoad,e.renderError,e.renderLoading,e.style,e.tag,f(e,tt));switch(this.state.imageStatus){case $:return this.renderLoading(t);case"success":return this.renderSuccess(t);case"error":return this.renderError(t);default:throw new Error("unknown value for this.state.imageStatus")}}}],[{key:"subscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.subscribeMasterSpinner(e.src)}},{key:"unsubscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.unsubscribeMasterSpinner(e.src)}}]),t}(Y.a.Component);l(nt,"propTypes",{alt:K.string,carouselStore:K.object.isRequired,children:J.children,className:K.string,hasMasterSpinner:K.bool.isRequired,isBgImage:J.isBgImage,onError:K.func,onLoad:K.func,renderError:K.func,renderLoading:K.func,src:K.string.isRequired,style:K.object,tag:K.string}),l(nt,"defaultProps",{alt:"",children:null,className:null,isBgImage:!1,onError:null,onLoad:null,renderError:null,renderLoading:null,style:null,tag:"img"});var rt,it,ot,at,st,lt,ct,ut,dt=Z(nt,function(e){return{hasMasterSpinner:e.hasMasterSpinner,orientation:e.orientation}}),pt={spinner:"spinner___27VUp",spin:"spin___S3UuE"},ht=["className"],mt=(it=rt=function(e){function t(){return o(this,t),n.apply(this,arguments)}u(t,e);var n=b(t);return s(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=f(e,ht),r=T([pt.spinner,"carousel__spinner",t]);return Y.a.createElement("div",c({className:r},n))}}]),t}(Y.a.PureComponent),l(rt,"propTypes",{className:K.string}),l(rt,"defaultProps",{className:null}),it),ft={container:"container___2O72F",overlay:"overlay___IV4qY",hover:"hover___MYy31",zoom:"zoom___3kqYk",loading:"loading___1pvNI",imageLoadingSpinnerContainer:"imageLoadingSpinnerContainer___3UIPD"},gt=["alt","bgImageProps","bgImageTag","carouselStore","className","imageClassName","overlayClassName","isPinchZoomEnabled","spinner","src","srcZoomed","tag"],wt=(at=ot=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.state={isImageLoading:!0,isHovering:!1,isZooming:!1,x:null,y:null,scale:1},r.tpCache={},r.handleImageComplete=r.handleImageComplete.bind(g(r)),r.handleOnMouseMove=r.handleOnMouseMove.bind(g(r)),r.handleOnMouseOut=r.handleOnMouseOut.bind(g(r)),r.handleOnMouseOver=r.handleOnMouseOver.bind(g(r)),r.handleOnTouchEnd=r.handleOnTouchEnd.bind(g(r)),r.handleOnTouchMove=r.handleOnTouchMove.bind(g(r)),r.handleOnTouchStart=r.handleOnTouchStart.bind(g(r)),r}u(t,e);var n=b(t);return s(t,[{key:"componentDidUpdate",value:function(e,t){!1===t.isZooming&&!0===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!0}),!0===t.isZooming&&!1===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1})}},{key:"handleImageComplete",value:function(){this.setState({isImageLoading:!1})}},{key:"handleOnMouseOver",value:function(){this.state.isZooming||this.setState({isHovering:!0,scale:2})}},{key:"handleOnMouseOut",value:function(){this.state.isZooming||this.setState({isHovering:!1,scale:1})}},{key:"handleOnMouseMove",value:function(e){if(!this.state.isZooming){var t=M(e.nativeEvent.offsetX/e.target.offsetWidth*100),n=M(e.nativeEvent.offsetY/e.target.offsetHeight*100);this.setState({x:t,y:n})}}},{key:"handleOnTouchStart",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(v(e.targetTouches).forEach(function(e){t.tpCache[e.identifier]={clientX:e.clientX,clientY:e.clientY}}),this.setState(function(e){return{isZooming:e.isZooming||Object.keys(t.tpCache).length>1}}))}},{key:"handleOnTouchMove",value:function(e){var n=this;if(this.state.isZooming){e.persist();var r=v(e.targetTouches).filter(function(e){return n.tpCache[e.identifier]}).slice(0,2);if(2===r.length){e.stopPropagation();var o=e.target.getBoundingClientRect(),a=r[0].identifier,s=r[1].identifier,l={x1:this.tpCache[a].clientX,y1:this.tpCache[a].clientY,x2:this.tpCache[s].clientX,y2:this.tpCache[s].clientY};l.distance=t.distanceBetweenTwoTouches(i({},l));var c=t.midpointBetweenTwoTouches(i({},l));l.cx=c.x,l.cy=c.y;var u={x1:r[0].clientX,y1:r[0].clientY,x2:r[1].clientX,y2:r[1].clientY};u.distance=t.distanceBetweenTwoTouches(i({},u));var d=t.midpointBetweenTwoTouches(i({},u));u.cx=d.x,u.cy=d.y;var p=M(Q({min:0,max:100,x:(u.cx-o.left)/o.width*100})),h=M(Q({min:0,max:100,x:(u.cy-o.top)/o.height*100})),m=function(e){return Q({min:1,max:3,x:e.scale+(u.distance-l.distance)/100})};this.setState(function(e){return{isZooming:1!==m(e),scale:m(e),x:p,y:h}})}}}},{key:"handleOnTouchEnd",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(v(e.changedTouches).forEach(function(e){delete t.tpCache[e.identifier]}),0===Object.keys(this.tpCache).length&&this.setState({isZooming:!1}))}},{key:"renderLoading",value:function(){if(this.state.isImageLoading){var e=this.props.spinner;return Y.a.createElement("div",{className:T([ft.imageLoadingSpinnerContainer,"carousel__image-loading-spinner-container"])},e&&e(),!e&&Y.a.createElement(mt,null))}return null}},{key:"render",value:function(){var e=this.props,t=e.alt,n=e.bgImageProps,r=e.bgImageTag,i=(e.carouselStore,e.className),o=e.imageClassName,a=e.overlayClassName,s=(e.isPinchZoomEnabled,e.spinner,e.src),l=e.srcZoomed,u=e.tag,d=f(e,gt),p=T([ft.container,i]),h=T([ft.image,"carousel__zoom-image",o]),m=T([ft.overlay,"carousel__zoom-image-overlay",this.state.isHovering&&ft.hover,this.state.isZooming&&ft.zoom,this.state.isHovering&&"carousel__zoom-image-overlay--hovering",this.state.isZooming&&"carousel__zoom-image-overlay--zooming",a]),g={};return(this.state.isHovering||this.state.isZooming)&&(g.transformOrigin="".concat(this.state.x," ").concat(this.state.y),g.transform="scale(".concat(this.state.scale,")")),Y.a.createElement(u,c({className:p},d),Y.a.createElement(dt,c({alt:t,className:h,tag:r,src:s,onLoad:this.handleImageComplete,onError:this.handleImageComplete},n)),Y.a.createElement(dt,{className:m,tag:"div",src:l||s,style:g,isBgImage:!0,onFocus:this.handleOnMouseOver,onMouseOver:this.handleOnMouseOver,onBlur:this.handleOnMouseOut,onMouseOut:this.handleOnMouseOut,onMouseMove:this.handleOnMouseMove,onTouchStart:this.handleOnTouchStart,onTouchEnd:this.handleOnTouchEnd,onTouchMove:this.handleOnTouchMove}),this.renderLoading())}}],[{key:"midpointBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1;return{x:(t+e.x2)/2,y:(n+e.y2)/2}}},{key:"distanceBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1,r=e.x2,i=e.y2;return Math.sqrt(Math.pow(r-t,2)+Math.pow(i-n,2))}}]),t}(Y.a.Component),l(ot,"propTypes",{alt:K.string,bgImageProps:K.object,bgImageTag:K.string,carouselStore:K.object.isRequired,className:K.string,imageClassName:K.string,overlayClassName:K.string,spinner:K.func,src:K.string.isRequired,srcZoomed:K.string,tag:K.string,isPinchZoomEnabled:K.bool}),l(ot,"defaultProps",{alt:void 0,bgImageProps:{},bgImageTag:"div",className:null,imageClassName:null,overlayClassName:null,isPinchZoomEnabled:!0,spinner:null,srcZoomed:null,tag:"div"}),at),bt=(Z(wt,function(){return{}}),{slide:"slide___3-Nqo",slideHorizontal:"slideHorizontal___1NzNV",slideInner:"slideInner___2mfX9",focusRing:"focusRing___1airF"}),vt=["ariaLabel","carouselStore","children","className","classNameHidden","classNameVisible","currentSlide","index","innerClassName","innerTag","naturalSlideHeight","naturalSlideWidth","onBlur","onFocus","orientation","slideSize","style","tabIndex","tag","totalSlides","visibleSlides","isIntrinsicHeight"],yt=(lt=st=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.handleOnFocus=r.handleOnFocus.bind(g(r)),r.handleOnBlur=r.handleOnBlur.bind(g(r)),r.state={focused:!1},r}u(t,e);var n=b(t);return s(t,[{key:"isVisible",value:function(){var e=this.props,t=e.currentSlide,n=e.index,r=e.visibleSlides;return n>=t&&n<t+r}},{key:"handleOnFocus",value:function(e){var t=this,n=this.props.onFocus;this.setState({focused:!0},function(){null!==n&&n.call(t,e)})}},{key:"handleOnBlur",value:function(e){var t=this,n=this.props.onBlur;this.setState({focused:!1},function(){null!==n&&n.call(t,e)})}},{key:"renderFocusRing",value:function(){return this.state.focused?Y.a.createElement("div",{className:[bt.focusRing,"carousel__slide-focus-ring"].join(" ")}):null}},{key:"render",value:function(){var e=this,t=this.props,n=t.ariaLabel,r=(t.carouselStore,t.children,t.className),i=t.classNameHidden,o=t.classNameVisible,a=(t.currentSlide,t.index,t.innerClassName),s=t.innerTag,l=t.naturalSlideHeight,u=t.naturalSlideWidth,d=(t.onBlur,t.onFocus,t.orientation),p=t.slideSize,h=t.style,m=t.tabIndex,g=t.tag,w=t.totalSlides,b=(t.visibleSlides,t.isIntrinsicHeight),v=f(t,vt),y={};"horizontal"===d?(y.width=M(p),y.paddingBottom=M(100*l/(u*w))):(y.width=M(100),y.paddingBottom=M(100*l/u));var S={};b&&("horizontal"===d?y.height="unset":y.width="unset",y.paddingBottom="unset",S.position="unset");var E=c({},y,h),_=this.isVisible(),C=T([bt.slide,"horizontal"===d&&bt.slideHorizontal,"carousel__slide",this.state.focused&&"carousel__slide--focused",_&&o,_&&"carousel__slide--visible",!_&&i,!_&&"carousel__slide--hidden",r]),x=T([bt.slideInner,"carousel__inner-slide",a]),k=this.isVisible()?0:-1,O="number"==typeof m?m:k;return Y.a.createElement(g,c({ref:function(t){e.tagRef=t},tabIndex:O,"aria-selected":this.isVisible(),"aria-label":n,role:"option",onFocus:this.handleOnFocus,onBlur:this.handleOnBlur,className:C,style:E},v),Y.a.createElement(s,{ref:function(t){e.innerTagRef=t},className:x,style:S},this.props.children,this.renderFocusRing()))}}]),t}(Y.a.PureComponent),l(st,"propTypes",{ariaLabel:K.string,carouselStore:K.object,children:J.children,className:K.string,classNameHidden:K.string,classNameVisible:K.string,currentSlide:K.number.isRequired,index:K.number.isRequired,innerClassName:K.string,innerTag:K.string,naturalSlideHeight:K.number.isRequired,naturalSlideWidth:K.number.isRequired,onBlur:K.func,onFocus:K.func,orientation:J.orientation.isRequired,slideSize:K.number.isRequired,style:K.object,tabIndex:K.number,tag:K.string,totalSlides:K.number.isRequired,visibleSlides:K.number.isRequired,isIntrinsicHeight:K.bool}),l(st,"defaultProps",{ariaLabel:"slide",carouselStore:null,children:null,className:null,classNameHidden:null,classNameVisible:null,innerClassName:null,innerTag:"div",onBlur:null,onFocus:null,style:{},tabIndex:null,tag:"div",isIntrinsicHeight:!1}),lt),St=Z(yt,function(e){return{currentSlide:e.currentSlide,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,slideSize:e.slideSize,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,isIntrinsicHeight:e.isIntrinsicHeight}}),Et=function(){function e(){o(this,e)}return s(e,[{key:"parents",value:function(e,t){return null===e.parentNode?t:this.parents(e.parentNode,t.concat([e]))}},{key:"scrollParent",value:function(t){for(var n=this.parents(t.parentNode,[]),r=0;r<n.length;r+=1)if(e.scroll(n[r]))return n[r];return document.scrollingElement||document.documentElement}},{key:"getScrollParent",value:function(t){return e.isNodeValid(t)?this.scrollParent(t):null}}],[{key:"style",value:function(e,t){return getComputedStyle(e,null).getPropertyValue(t)}},{key:"overflow",value:function(t){return e.style(t,"overflow")+e.style(t,"overflow-y")+e.style(t,"overflow-x")}},{key:"scroll",value:function(t){return/(auto|scroll)/.test(e.overflow(t))}},{key:"isNodeValid",value:function(e){return e instanceof HTMLElement||e instanceof SVGElement}}]),e}(),_t={horizontalSlider:"horizontalSlider___281Ls",horizontalSliderTray:"horizontalSliderTray___1L-0W",verticalSlider:"verticalSlider___34ZFD",verticalSliderTray:"verticalSliderTray___267D8",verticalTray:"verticalTray___12Key",verticalSlideTrayWrap:"verticalSlideTrayWrap___2nO7o",sliderTray:"sliderTray___-vHFQ",sliderAnimation:"sliderAnimation___300FY",masterSpinnerContainer:"masterSpinnerContainer___1Z6hB"},Ct=["ariaLabel","carouselStore","children","className","classNameAnimation","classNameTray","classNameTrayWrap","currentSlide","disableAnimation","disableKeyboard","dragEnabled","hasMasterSpinner","interval","isPageScrollLocked","isPlaying","lockOnWindowScroll","masterSpinnerFinished","moveThreshold","naturalSlideHeight","naturalSlideWidth","onMasterSpinner","orientation","playDirection","privateUnDisableAnimation","slideSize","slideTraySize","spinner","style","tabIndex","totalSlides","touchEnabled","trayProps","trayTag","visibleSlides","isIntrinsicHeight"],xt=["dragStep","step","infinite"],kt=["className","onClickCapture","onMouseDown","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","ref","style"],Ot=(ut=ct=function(e){function t(e){var r;return o(this,t),r=n.call(this,e),r.getSliderRef=r.getSliderRef.bind(g(r)),r.handleDocumentScroll=r.handleDocumentScroll.bind(g(r)),r.handleOnClickCapture=r.handleOnClickCapture.bind(g(r)),r.handleOnKeyDown=r.handleOnKeyDown.bind(g(r)),r.handleOnMouseDown=r.handleOnMouseDown.bind(g(r)),r.handleOnMouseMove=r.handleOnMouseMove.bind(g(r)),r.handleOnMouseUp=r.handleOnMouseUp.bind(g(r)),r.handleOnTouchCancel=r.handleOnTouchCancel.bind(g(r)),r.handleOnTouchEnd=r.handleOnTouchEnd.bind(g(r)),r.handleOnTouchMove=r.handleOnTouchMove.bind(g(r)),r.handleOnTouchStart=r.handleOnTouchStart.bind(g(r)),r.playBackward=r.playBackward.bind(g(r)),r.playForward=r.playForward.bind(g(r)),r.callCallback=r.callCallback.bind(g(r)),r.state={cancelNextClick:!1,deltaX:0,deltaY:0,isBeingMouseDragged:!1,isBeingTouchDragged:!1,startX:0,startY:0},r.interval=null,r.isDocumentScrolling=null,r.moveTimer=null,r.originalOverflow=null,r.scrollParent=null,r.scrollStopTimer=null,r}u(t,e);var n=b(t);return s(t,[{key:"componentDidMount",value:function(){this.props.lockOnWindowScroll&&window.addEventListener("scroll",this.handleDocumentScroll,!1),document.documentElement.addEventListener("mouseleave",this.handleOnMouseUp,!1),document.documentElement.addEventListener("mousemove",this.handleOnMouseMove,!1),document.documentElement.addEventListener("mouseup",this.handleOnMouseUp,!1),this.props.isPlaying&&this.play()}},{key:"componentDidUpdate",value:function(e){!e.isPlaying&&this.props.isPlaying&&this.play(),e.isPlaying&&!this.props.isPlaying&&this.stop(),!e.isPageScrollLocked&&this.props.isPageScrollLocked&&this.lockScroll(),e.isPageScrollLocked&&!this.props.isPageScrollLocked&&this.unlockScroll(),!1===e.privateUnDisableAnimation&&!0===this.props.privateUnDisableAnimation&&this.props.carouselStore.setStoreState({privateUnDisableAnimation:!1,disableAnimation:!1})}},{key:"componentWillUnmount",value:function(){document.documentElement.removeEventListener("mouseleave",this.handleOnMouseUp,!1),document.documentElement.removeEventListener("mousemove",this.handleOnMouseMove,!1),document.documentElement.removeEventListener("mouseup",this.handleOnMouseUp,!1),window.removeEventListener("scroll",this.handleDocumentScroll,!1),this.stop(),window.cancelAnimationFrame.call(window,this.moveTimer),window.clearTimeout(this.scrollStopTimer),this.isDocumentScrolling=null,this.moveTimer=null,this.scrollStopTimer=null}},{key:"getSliderRef",value:function(e){this.sliderTrayElement=e}},{key:"fakeOnDragStart",value:function(e){var t=e.screenX,n=e.screenY,r=e.touchDrag,i=void 0!==r&&r,o=e.mouseDrag,a=void 0!==o&&o;this.props.carouselStore.setStoreState({isPlaying:!1}),window.cancelAnimationFrame.call(window,this.moveTimer),"vertical"===this.props.orientation&&this.props.carouselStore.setStoreState({isPageScrollLocked:!0}),this.setState({isBeingTouchDragged:i,isBeingMouseDragged:a,startX:t,startY:n})}},{key:"fakeOnDragMove",value:function(e,t){var n=this;this.moveTimer=window.requestAnimationFrame.call(window,function(){n.setState(function(n){return{deltaX:e-n.startX,deltaY:t-n.startY}})})}},{key:"fakeOnDragEnd",value:function(){window.cancelAnimationFrame.call(window,this.moveTimer),this.computeCurrentSlide(),"vertical"===this.props.orientation&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1}),this.setState({deltaX:0,deltaY:0,isBeingTouchDragged:!1,isBeingMouseDragged:!1}),this.isDocumentScrolling=!this.props.lockOnWindowScroll&&null}},{key:"callCallback",value:function(e,t){var n=this.props.trayProps;n&&"function"==typeof n[e]&&(t.persist(),n[e](t))}},{key:"handleOnMouseDown",value:function(e){if(!this.props.dragEnabled)return void this.callCallback("onMouseDown",e);e.preventDefault(),this.fakeOnDragStart({screenX:e.screenX,screenY:e.screenY,mouseDrag:!0}),this.callCallback("onMouseDown",e)}},{key:"handleOnMouseMove",value:function(e){this.state.isBeingMouseDragged&&(this.setState({cancelNextClick:!0}),e.preventDefault(),this.fakeOnDragMove(e.screenX,e.screenY))}},{key:"handleOnMouseUp",value:function(e){this.state.isBeingMouseDragged&&(e.preventDefault(),this.fakeOnDragEnd())}},{key:"handleOnClickCapture",value:function(e){if(!this.state.cancelNextClick)return void this.callCallback("onClickCapture",e);e.preventDefault(),this.setState({cancelNextClick:!1}),this.callCallback("onClickCapture",e)}},{key:"handleOnTouchStart",value:function(e){if(!this.props.touchEnabled)return void this.callCallback("onTouchStart",e);"vertical"===this.props.orientation&&e.preventDefault();var t=e.targetTouches[0];this.fakeOnDragStart({screenX:t.screenX,screenY:t.screenY,touchDrag:!0}),this.callCallback("onTouchStart",e)}},{key:"handleDocumentScroll",value:function(){var e=this;this.props.touchEnabled&&(this.isDocumentScrolling=!0,window.clearTimeout(this.scrollStopTimer),this.scrollStopTimer=window.setTimeout(function(){e.isDocumentScrolling=!1},66))}},{key:"handleOnTouchMove",value:function(e){if(!this.props.touchEnabled||this.props.lockOnWindowScroll&&this.isDocumentScrolling)return void this.callCallback("onTouchMove",e);window.cancelAnimationFrame.call(window,this.moveTimer);var t=e.targetTouches[0];t&&(this.fakeOnDragMove(t.screenX,t.screenY),this.callCallback("onTouchMove",e))}},{key:"forward",value:function(){var e=this.props,t=e.currentSlide,n=e.step,r=e.totalSlides,i=e.visibleSlides;return Math.min(t+n,r-i)}},{key:"backward",value:function(){var e=this.props,t=e.currentSlide,n=e.step;return Math.max(t-n,0)}},{key:"handleOnKeyDown",value:function(e){var t=e.keyCode,n=this.props,r=n.carouselStore,i=n.currentSlide,o=n.disableKeyboard,a=n.totalSlides,s=n.visibleSlides,l={};!0===o||a<=s||(37===t&&(e.preventDefault(),this.focus(),l.currentSlide=Math.max(0,i-1),l.isPlaying=!1),39===t&&(e.preventDefault(),this.focus(),l.currentSlide=Math.min(a-s,i+1),l.isPlaying=!1),r.setStoreState(l))}},{key:"playForward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide;t.setStoreState({currentSlide:this.forward()===n?0:this.forward()})}},{key:"playBackward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide,r=e.totalSlides,i=e.visibleSlides;t.setStoreState({currentSlide:this.backward()===n?r-i:this.backward()})}},{key:"play",value:function(){var e=this.props.playDirection;this.interval=setInterval("forward"===e?this.playForward:this.playBackward,this.props.interval)}},{key:"stop",value:function(){window.clearInterval(this.interval),this.interval=null}},{key:"lockScroll",value:function(){var e=new Et;this.scrollParent=e.getScrollParent(this.sliderTrayElement),this.scrollParent&&(this.originalOverflow=this.originalOverflow||this.scrollParent.style.overflow,this.scrollParent.style.overflow="hidden")}},{key:"unlockScroll",value:function(){this.scrollParent&&(this.scrollParent.style.overflow=this.originalOverflow,this.originalOverflow=null,this.scrollParent=null)}},{key:"computeCurrentSlide",value:function(){var e=t.slideSizeInPx(this.props.orientation,this.sliderTrayElement.clientWidth,this.sliderTrayElement.clientHeight,this.props.totalSlides),n=t.slidesMoved(this.props.moveThreshold,this.props.orientation,this.state.deltaX,this.state.deltaY,e,this.props.dragStep),r=this.props.totalSlides-Math.min(this.props.totalSlides,this.props.visibleSlides),i=Q({min:0,max:r,x:this.props.currentSlide+n});this.props.infinite&&(this.props.currentSlide>=r&&n>0&&(i=0),0===this.props.currentSlide&&n<0&&(i=r)),this.props.carouselStore.setStoreState({currentSlide:i})}},{key:"focus",value:function(){this.sliderElement.focus()}},{key:"handleOnTouchEnd",value:function(e){this.endTouchMove(),this.callCallback("onTouchEnd",e)}},{key:"handleOnTouchCancel",value:function(e){this.endTouchMove(),this.callCallback("onTouchCancel",e)}},{key:"endTouchMove",value:function(){this.props.touchEnabled&&this.fakeOnDragEnd()}},{key:"renderMasterSpinner",value:function(){var e=this.props,t=e.hasMasterSpinner,n=e.masterSpinnerFinished,r=e.spinner;return t&&!n?("function"==typeof this.props.onMasterSpinner&&this.props.onMasterSpinner(),Y.a.createElement("div",{className:T([_t.masterSpinnerContainer,"carousel__master-spinner-container"])},r&&r(),!r&&Y.a.createElement(mt,null))):null}},{key:"render",value:function(){var e=this,t=this.props,n=t.ariaLabel,r=(t.carouselStore,t.children),i=t.className,o=t.classNameAnimation,a=t.classNameTray,s=t.classNameTrayWrap,l=t.currentSlide,u=t.disableAnimation,d=(t.disableKeyboard,t.dragEnabled,t.hasMasterSpinner,t.interval,t.isPageScrollLocked,t.isPlaying,t.lockOnWindowScroll,t.masterSpinnerFinished,t.moveThreshold,t.naturalSlideHeight),p=t.naturalSlideWidth,h=(t.onMasterSpinner,t.orientation),m=(t.playDirection,t.privateUnDisableAnimation,t.slideSize),g=t.slideTraySize,w=(t.spinner,t.style),b=t.tabIndex,v=(t.totalSlides,t.touchEnabled,t.trayProps),y=t.trayTag,S=t.visibleSlides,E=t.isIntrinsicHeight,_=f(t,Ct),C=c({},w),x={};"vertical"===h&&(x.height=0,x.paddingBottom=M(100*d*S/p),x.width=M(100));var k={},O=M(m*l*-1);(this.state.isBeingTouchDragged||this.state.isBeingMouseDragged||u)&&(k.transition="none"),E&&(k.display="flex",k.alignItems="stretch"),"vertical"===h?(k.transform="translateY(".concat(O,") translateY(").concat(this.state.deltaY,"px)"),k.width=M(100),k.flexDirection="column"):(k.width=M(g),k.transform="translateX(".concat(O,") translateX(").concat(this.state.deltaX,"px)"),k.flexDirection="row");var N=T(["vertical"===h?_t.verticalSlider:_t.horizontalSlider,"carousel__slider","vertical"===h?"carousel__slider--vertical":"carousel__slider--horizontal",i]),F=T([_t.sliderTrayWrap,"carousel__slider-tray-wrapper","vertical"===h?_t.verticalSlideTrayWrap:_t.horizontalTrayWrap,"vertical"===h?"carousel__slider-tray-wrap--vertical":"carousel__slider-tray-wrap--horizontal",s]),j=T([_t.sliderTray,o||_t.sliderAnimation,"carousel__slider-tray","vertical"===h?_t.verticalTray:_t.horizontalTray,"vertical"===h?"carousel__slider-tray--vertical":"carousel__slider-tray--horizontal",a]),P=null!==b?b:0,D=(_.dragStep,_.step,_.infinite,f(_,xt)),A=(v.className,v.onClickCapture,v.onMouseDown,v.onTouchCancel,v.onTouchEnd,v.onTouchMove,v.onTouchStart,v.ref,v.style,f(v,kt));return Y.a.createElement("div",c({ref:function(t){e.sliderElement=t},className:N,"aria-live":"polite","aria-label":n,style:C,tabIndex:P,onKeyDown:this.handleOnKeyDown,role:"listbox"},D),Y.a.createElement("div",{className:F,style:x},Y.a.createElement(y,c({ref:this.getSliderRef,className:j,style:k,onTouchStart:this.handleOnTouchStart,onTouchMove:this.handleOnTouchMove,onTouchEnd:this.handleOnTouchEnd,onTouchCancel:this.handleOnTouchCancel,onMouseDown:this.handleOnMouseDown,onClickCapture:this.handleOnClickCapture},A),r),this.renderMasterSpinner()))}}],[{key:"slideSizeInPx",value:function(e,t,n,r){return("horizontal"===e?t:n)/r}},{key:"slidesMoved",value:function(e,t,n,r,i,o){var a="horizontal"===t?n:r,s=Math.abs(Math.round(a/i)),l=Math.abs(a)>=i*e?o:0,c=Math.max(l,s);if(a<0)return c;var u=-c;return 0===u?0:u}}]),t}(Y.a.Component),l(ct,"propTypes",{ariaLabel:K.string,carouselStore:K.object.isRequired,children:K.node.isRequired,className:K.string,classNameAnimation:K.string,classNameTray:K.string,classNameTrayWrap:K.string,currentSlide:K.number.isRequired,disableAnimation:K.bool,disableKeyboard:K.bool,dragEnabled:K.bool.isRequired,dragStep:K.number,hasMasterSpinner:K.bool.isRequired,infinite:K.bool,interval:K.number.isRequired,isPageScrollLocked:K.bool.isRequired,isPlaying:K.bool.isRequired,lockOnWindowScroll:K.bool.isRequired,masterSpinnerFinished:K.bool.isRequired,moveThreshold:K.number,naturalSlideHeight:K.number.isRequired,naturalSlideWidth:K.number.isRequired,onMasterSpinner:K.func,orientation:J.orientation.isRequired,playDirection:J.direction.isRequired,privateUnDisableAnimation:K.bool,slideSize:K.number.isRequired,slideTraySize:K.number.isRequired,spinner:K.func,step:K.number.isRequired,style:K.object,tabIndex:K.number,totalSlides:K.number.isRequired,touchEnabled:K.bool.isRequired,trayProps:K.shape({className:K.string,onClickCapture:K.func,onMouseDown:K.func,onTouchCancel:K.func,onTouchEnd:K.func,onTouchMove:K.func,onTouchStart:K.func,ref:K.shape({}),style:K.string}),trayTag:K.string,visibleSlides:K.number,isIntrinsicHeight:K.bool}),l(ct,"defaultProps",{ariaLabel:"slider",className:null,classNameAnimation:null,classNameTray:null,classNameTrayWrap:null,disableAnimation:!1,disableKeyboard:!1,dragStep:1,infinite:!1,moveThreshold:.1,onMasterSpinner:null,privateUnDisableAnimation:!1,spinner:null,style:{},tabIndex:null,trayProps:{},trayTag:"div",visibleSlides:1,isIntrinsicHeight:!1}),ut),Tt=Z(Ot,function(e){return{currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,privateUnDisableAnimation:e.privateUnDisableAnimation,disableKeyboard:e.disableKeyboard,dragEnabled:e.dragEnabled,hasMasterSpinner:e.hasMasterSpinner,infinite:e.infinite,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,masterSpinnerFinished:e.masterSpinnerFinished,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,slideSize:e.slideSize,slideTraySize:e.slideTraySize,step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,visibleSlides:e.visibleSlides,isIntrinsicHeight:e.isIntrinsicHeight}})},function(e,t,n){"use strict";var r=n(82),i=n.n(r),o=n(83),a=n.n(o),s=n(30),l=n.n(s),c=n(207),u=n(84),d=n(208),p=wp.i18n.__,h=wp.blocks.registerBlockType,m=wp,f=m.apiFetch,g=wp.data,w=g.registerStore,b=g.withSelect,v=wp.blockEditor.InspectorControls,y=wp.components,S=y.PanelBody,E=y.PanelRow,_=y.TextControl,C=y.ColorPalette,x=y.RadioControl,k=y.ToggleControl,O=y.SelectControl,T=y.RangeControl,N=window.exactmetrics_gutenberg_tool_vars,F={setThemes:function(e){return{type:"SET_THEMES",themes:e}},receiveThemes:function(e){return{type:"RECEIVE_THEMES",path:e}}};w("exactmetrics/v1/popular-posts/widget",{reducer:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{themes:{}},t=arguments[1];switch(t.type){case"SET_THEMES":return l()({},e,{themes:t.themes})}return e},actions:F,selectors:{receiveThemes:function(e){return e.themes}},controls:{RECEIVE_THEMES:function(e){return f({path:e.path})}},resolvers:{receiveThemes:a.a.mark(function e(t){var n,r;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,F.receiveThemes("/exactmetrics/v1/popular-posts/themes/widget");case 2:if(n=e.sent,void 0===n.themes){e.next=6;break}for(r in n.themes)n.themes.hasOwnProperty(r)&&(n.themes[r].value=r);return e.abrupt("return",F.setThemes(n));case 6:case"end":return e.stop()}},e,this)})}}),h("exactmetrics/popular-posts-widget",{title:p("Popular Posts","google-analytics-dashboard-for-wp"),description:p("Add popular posts from ExactMetrics","google-analytics-dashboard-for-wp"),category:"widgets",icon:c.a.widgetpop,keywords:[p("Popular","google-analytics-dashboard-for-wp"),p("Posts","google-analytics-dashboard-for-wp"),p("Widget","google-analytics-dashboard-for-wp"),"ExactMetrics"],example:{},attributes:{theme:{type:"string"},title_size:{type:"number"},title_color:{type:"string"},label_color:{type:"string"},label_text:{type:"string"},label_background:{type:"string"},background_color:{type:"string"},background_border:{type:"string"},meta_color:{type:"string"},meta_size:{type:"string"},meta_author:{type:"boolean"},meta_date:{type:"boolean"},meta_comments:{type:"boolean"},comments_color:{type:"string"},columns:{type:"number",default:1},widget_title:{type:"boolean"},widget_title_text:{type:"string"},post_count:{type:"number",default:5},categories:{type:"array",default:[]}},edit:b(function(e){return{themes:e("exactmetrics/v1/popular-posts/widget").receiveThemes()}})(function(e){var t=e.attributes,n=t.theme,r=(t.title_size,t.title_color,t.label_color,t.label_text,t.label_background,t.background_color,t.background_border,t.meta_color,t.meta_size,t.meta_author,t.meta_comments,t.meta_date,t.comments_color,t.columns),o=t.widget_title,a=t.widget_title_text,s=t.post_count,l=t.categories,h=e.themes,m=e.setAttributes,f=[{name:"pink",color:"#F58EA8"},{name:"red",color:"#CD3034"},{name:"orange",color:"#FD6A21"},{name:"yellow",color:"#FBB82B"},{name:"green",color:"#7FDBB6"},{name:"green",color:"#21CF86"},{name:"blue",color:"#91D2FA"},{name:"blue",color:"#1B95E0"},{name:"purple",color:"#9A57DD"},{name:"gray",color:"#EEEEEE"},{name:"gray",color:"#ACB8C3"},{name:"black",color:"#000000"}],g=void 0!==h.themes?h.themes:{},w=void 0===e.attributes.theme?h.selected:n,b=void 0!==w&&void 0!==g[w]?g[w]:{},y=void 0!==b.styles?b.styles:{},F={};for(var M in y)if(y.hasOwnProperty(M))for(var j in y[M])if(y[M].hasOwnProperty(j)){var P=M+"_"+j;void 0===e.attributes[P]?F[P]=y[M][j]:F[P]=e.attributes[P],"on"===F[P]&&(F[P]=!0),"off"===F[P]&&(F[P]=!1)}var D=function(e,t){var n=[1,2,3,4,5,6,7,8,9,10];return 2===e&&(n=[2,4,6,8,10]),3===e&&(n=[3,6,9]),t&&(n=n.map(function(e){return{value:e,label:e}})),n},A=function(){if(void 0!==y.meta.author)return wp.element.createElement(k,{label:p("Display Author","google-analytics-dashboard-for-wp"),checked:F.meta_author,onChange:function(e){m(i()({},"meta_author",e))}})},L=function(){if(void 0!==y.meta.date)return wp.element.createElement(k,{label:p("Display Date","google-analytics-dashboard-for-wp"),checked:F.meta_date,onChange:function(e){m(i()({},"meta_date",e))}})},B=function(){if(void 0!==y.meta.comments)return wp.element.createElement(k,{label:p("Display Comments","google-analytics-dashboard-for-wp"),checked:F.meta_comments,onChange:function(e){m(i()({},"meta_comments",e))}})},z=function(){return wp.element.createElement("span",{className:"exactmetrics-wide-column exactmetrics-wide-column-one"},wp.element.createElement("span",null),wp.element.createElement("span",null))},R=function(){return wp.element.createElement("span",{className:"exactmetrics-wide-column exactmetrics-wide-column-two"},wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null))},H=function(){return wp.element.createElement("span",{className:"exactmetrics-wide-column exactmetrics-wide-column-three"},wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null),wp.element.createElement("span",null))},I=function(e,t){var n=F[t];return wp.element.createElement(T,{key:"exactmetrics-popular-posts-input"+t,label:e,value:parseInt(n),min:1,max:100,onChange:function(e){return m(i()({},t,""===e?"":parseInt(e)))}})},q=function(e,t){var n=F[t];return wp.element.createElement(_,{key:"exactmetrics-popular-posts-input"+t,label:e,type:"text",value:n,onChange:function(e){return m(i()({},t,e))}})},V=function(e,t){var n=F[t];return[wp.element.createElement("label",{key:"exactmetrics-popular-posts-label"+t},e),wp.element.createElement(C,{key:"exactmetrics-popular-posts-input"+t,value:n,colors:f,onChange:function(e){m(i()({},t,e))}})]},W=function(e,t){if(e.length>0&&void 0!==e[t]){var n=e[t];return wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-image"},wp.element.createElement("img",{src:N.vue_assets_path+"img/"+n}))}},Z=function(){if(void 0!==y.label)return wp.element.createElement("span",{style:{color:F.label_color,backgroundColor:F.label_background},className:"exactmetrics-widget-popular-posts-label"},F.label_text)},U=function(){if(void 0!==y.meta)return[wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-meta",key:"exactmetrics-widget-popular-posts-meta-options",style:{color:F.meta_color,fontSize:F.meta_size+"px"}},Y(),X(),K()),wp.element.createElement("span",{key:"exactmetrics-widget-popular-posts-comments-options"},G())]},Y=function(){if(F.meta_author)return wp.element.createElement("span",{className:"exactmetrics-widget-popular-posts-author"},"by Aazim Akhtar")},X=function(){if(F.meta_author&&F.meta_date)return wp.element.createElement("span",{dangerouslySetInnerHTML:{__html:y.meta.separator}})},G=function(){if(void 0!==y.meta&&void 0!==y.meta.comments&&F.meta_comments){var e=void 0!==y.comments?F.comments_color:F.meta_color;return wp.element.createElement("span",{className:"exactmetrics-widget-popular-posts-comments",style:{color:e,fontSize:F.meta_size+"px"}},c.a.comments(e)," 24")}},K=function(){if(F.meta_date)return wp.element.createElement("span",{className:"exactmetrics-widget-popular-posts-date"},"Yesterday")},$=function(e){for(;e.length<=10;)e=e.concat(e);return e};return[wp.element.createElement(v,{key:"exactmetrics-popular-posts-widget-inspector-controls"},wp.element.createElement(S,{title:p("Theme","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-theme"},wp.element.createElement(E,{key:"exactmetrics-popular-posts-widget-theme-row"},wp.element.createElement(u.a,{id:"exactmetrics-popular-posts-widget-theme",options:g,selected:w,icons:c.a,onChange:function(e){m({theme:e})}}))),function(){if(void 0!==y.title){var e=[];return void 0!==y.title.size&&e.push(I(p("Title Font Size","google-analytics-dashboard-for-wp"),"title_size")),void 0!==y.title.color&&e.push(V(p("Title Color","google-analytics-dashboard-for-wp"),"title_color")),wp.element.createElement(S,{title:p("Title Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-title"},e)}}(),function(){if(void 0!==y.background&&void 0!==y.background.color){var e=[];return void 0!==y.background.color&&e.push(V(p("Background Color","google-analytics-dashboard-for-wp"),"background_color")),wp.element.createElement(S,{title:p("Background Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-background"}," ",e," ")}}(),function(){if(void 0!==y.label){var e=[];return void 0!==y.label.text&&e.push(q(p("Label Text","google-analytics-dashboard-for-wp"),"label_text")),void 0!==y.label.color&&e.push(V(p("Label Color","google-analytics-dashboard-for-wp"),"label_color")),void 0!==y.label.background&&e.push(V(p("Label Background","google-analytics-dashboard-for-wp"),"label_background")),wp.element.createElement(S,{title:p("Label Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-label"}," ",e," ")}}(),function(){var e=[];if(void 0!==y.border&&void 0!==y.border.color&&e.push(V(p("Border Color","google-analytics-dashboard-for-wp"),"borderColor")),void 0!==y.border&&void 0!==y.border.color2&&e.push(V(p("Bottom Border Color","google-analytics-dashboard-for-wp"),"borderColor2")),void 0!==y.background&&void 0!==y.background.border&&e.push(V(p("Border Color","google-analytics-dashboard-for-wp"),"background_border")),0!==e.length)return wp.element.createElement(S,{title:p("Border Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-inline-border"}," ",e," ")}(),function(){if(void 0!==y.meta){var e=[];return void 0!==y.meta.size&&e.push(I(p("Meta Font Size","google-analytics-dashboard-for-wp"),"meta_size")),void 0!==y.meta.color&&e.push(V(p("Meta Color","google-analytics-dashboard-for-wp"),"meta_color")),wp.element.createElement(S,{title:p("Meta Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-meta-styles"},e)}}(),function(){if(void 0!==y.comments)return wp.element.createElement(S,{title:p("Comment Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-comment-styles"},V(p("Comment Color","google-analytics-dashboard-for-wp"),"comments_color"))}(),function(){return wp.element.createElement(S,{title:p("Wide-Layout Options","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-columns"},wp.element.createElement(x,{label:p("Choose Layout","google-analytics-dashboard-for-wp"),help:p("Adjust the number of columns displayed when the widget is placed in a wide container.","google-analytics-dashboard-for-wp"),className:"exactmetrics-wide-column-options",key:"exactmetrics-popular-posts-widget-columns-control",options:[{value:1,label:z()},{value:2,label:R()},{value:3,label:H()}],selected:r,onChange:function(e){m(i()({},"columns",""===e?"":parseInt(e)));var t=D(parseInt(e));-1===t.indexOf(s)&&m(i()({},"post_count",parseInt(t[0])))}}),wp.element.createElement(O,{label:p("Post Count","google-analytics-dashboard-for-wp"),help:p("Number of posts displayed.","google-analytics-dashboard-for-wp"),options:D(r,!0),value:s,key:"exactmetrics-popular-posts-widget-post-count",onChange:function(e){m(i()({},"post_count",parseInt(e)))}}))}(),function(){if(void 0!==y.meta)return wp.element.createElement(S,{title:p("Display Options","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-meta-options"},A(),L(),B())}(),function(){return wp.element.createElement(S,{title:p("Behavior Settings","google-analytics-dashboard-for-wp"),key:"exactmetrics-popular-posts-widget-behavior-options"},wp.element.createElement(k,{label:p("Display Widget Title","google-analytics-dashboard-for-wp"),checked:o,onChange:function(e){m(i()({},"widget_title",e))}}),wp.element.createElement(_,{key:"exactmetrics-popular-posts-input-widget-title-text",label:p("Widget Title","google-analytics-dashboard-for-wp"),type:"text",value:a,onChange:function(e){return m(i()({},"widget_title_text",e))}}),wp.element.createElement(d.a,{label:p("Only Show Posts From These Categories","google-analytics-dashboard-for-wp"),slug:"category",onUpdateTerms:function(e){m(i()({},"categories",e))},terms:l}))}()),wp.element.createElement("div",{key:"exactmetrics-popular-posts-widget-preview"},wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-widget exactmetrics-widget-popular-posts-"+w+" exactmetrics-widget-popular-posts-columns-"+r},function(){if(o)return wp.element.createElement("h2",{className:"exactmetrics-widget-popular-posts-widget-title"},a)}(),wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-text"},function(){if(void 0!==b.list&&void 0!==b.list.items){var e=$(b.list.items),t=void 0!==b.list.images?$(b.list.images):[],n=[];for(var r in e){if(parseInt(r)===parseInt(s))break;n.push(wp.element.createElement("li",{key:"exactmetrics-popular-posts-preview-list-item-"+r,style:{backgroundColor:F.background_color,borderColor:F.background_border}},W(t,r),wp.element.createElement("div",{className:"exactmetrics-widget-popular-posts-text"},Z(),wp.element.createElement("a",{className:"exactmetrics-widget-popular-posts-title",style:{color:F.title_color,fontSize:F.title_size+"px"}},e[r]),U())))}return wp.element.createElement("ul",{className:"exactmetrics-widget-popular-posts-list"},n)}}())))]}),save:function(e){return null}})},function(e,t,n){"use strict";var r={};r.widgetpop=wp.element.createElement("svg",{width:"16",height:"20",viewBox:"0 0 16 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 0C0.895431 0 0 0.895431 0 2V10C0 11.1046 0.895431 12 2 12H14C15.1046 12 16 11.1046 16 10V2C16 0.895431 15.1046 0 14 0H2ZM8.94046 4.70557L8 2L7.05954 4.70557L4.19577 4.76393L6.47831 6.49443L5.64886 9.23607L8 7.6L10.3511 9.23607L9.52169 6.49443L11.8042 4.76393L8.94046 4.70557ZM0 14H14V16H0V14ZM10 18H0V20H10V18Z",fill:"#555D66"})),r.alpha=wp.element.createElement("svg",{width:"74",height:"46",viewBox:"0 0 74 46",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"46",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"7.39999",y:"12",width:"59.2",height:"9",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"7.39999",y:"25",width:"51.8",height:"9",rx:"2",fill:"#6528F5"})),r.beta=wp.element.createElement("svg",{width:"74",height:"46",viewBox:"0 0 74 46",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("path",{d:"M0 15C0 13.3431 1.34315 12 3 12H4V34H3C1.34315 34 0 32.6569 0 31V15Z",fill:"#6528F5"}),wp.element.createElement("rect",{x:"12",y:"12",width:"54",height:"9",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"12",y:"25",width:"44",height:"9",rx:"2",fill:"#8453F7"})),r.charlie=wp.element.createElement("svg",{width:"74",height:"46",viewBox:"0 0 74 46",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"46",rx:"3",fill:"#F0EAFE"}),wp.element.createElement("rect",{width:"74",height:"4",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"14",width:"58",height:"9",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"8",y:"27",width:"40",height:"9",rx:"2",fill:"#8453F7"})),r.delta=wp.element.createElement("svg",{width:"74",height:"39",viewBox:"0 0 74 39",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{x:"31",y:"12",width:"43",height:"7",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"31",y:"23",width:"32",height:"7",rx:"2",fill:"#8453F7"}),wp.element.createElement("rect",{x:"31",y:"34",width:"43",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{y:"12",width:"27",height:"27",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{width:"74",height:"4",fill:"#6528F5"})),r.echo=wp.element.createElement("svg",{width:"74",height:"76",viewBox:"0 0 74 76",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"76",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"41",width:"58",height:"7",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"61",width:"7",height:"7",rx:"3.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"8",y:"8",width:"58",height:"29",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"52",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"52",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.foxtrot=wp.element.createElement("svg",{width:"74",height:"43",viewBox:"0 0 74 43",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"43",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"8",width:"58",height:"7",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"28",width:"7",height:"7",rx:"3.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"8",y:"19",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"19",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.golf=wp.element.createElement("svg",{width:"74",height:"56",viewBox:"0 0 74 56",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"56",rx:"5",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"21",width:"58",height:"7",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"41",width:"7",height:"7",rx:"3.5",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"8",y:"8",width:"16",height:"9",rx:"2",fill:"#6528F5"}),wp.element.createElement("rect",{x:"8",y:"32",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"32",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.hotel=wp.element.createElement("svg",{width:"74",height:"50",viewBox:"0 0 74 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement("rect",{width:"74",height:"50",rx:"5",fill:"#6528F5"}),wp.element.createElement("path",{d:"M54.0625 42H19.9375C18.8438 42 17.9141 41.6111 17.1484 40.8333C16.3828 40.0556 16 39.1111 16 38V14C16 12.8889 16.3828 11.9444 17.1484 11.1667C17.9141 10.3889 18.8438 10 19.9375 10H54.0625C55.1562 10 56.0859 10.3889 56.8516 11.1667C57.6172 11.9444 58 12.8889 58 14V38C58 39.1111 57.6172 40.0556 56.8516 40.8333C56.0859 41.6111 55.1562 42 54.0625 42ZM28.3867 16.0833C27.5117 15.1389 26.4453 14.6667 25.1875 14.6667C23.9297 14.6667 22.8359 15.1389 21.9062 16.0833C21.0312 16.9722 20.5938 18.0556 20.5938 19.3333C20.5938 20.6111 21.0312 21.7222 21.9062 22.6667C22.8359 23.5556 23.9297 24 25.1875 24C26.4453 24 27.5117 23.5556 28.3867 22.6667C29.3164 21.7222 29.7812 20.6111 29.7812 19.3333C29.7812 18.0556 29.3164 16.9722 28.3867 16.0833ZM21.25 36.6667H52.75V27.3333L45.5312 20C45.0938 19.5556 44.6562 19.5556 44.2188 20L33.0625 31.3333L28.4688 26.6667C28.0312 26.2222 27.5938 26.2222 27.1562 26.6667L21.25 32.6667V36.6667Z",fill:"#8453F7"}),wp.element.createElement("rect",{x:"8",y:"26",width:"58",height:"7",rx:"2",fill:"#F0EAFE"}),wp.element.createElement("rect",{x:"8",y:"37",width:"34",height:"5",rx:"2",fill:"#D1BFFC"}),wp.element.createElement("rect",{x:"46",y:"37",width:"20",height:"5",rx:"2",fill:"#D1BFFC"})),r.comments=function(e){return wp.element.createElement("svg",{width:"13",height:"12",viewBox:"0 0 13 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{fill:e}},wp.element.createElement("path",{d:"M7.8251 1.25893C8.70332 2.09821 9.14243 3.10714 9.14243 4.28571C9.14243 5.46429 8.70332 6.47321 7.8251 7.3125C6.94689 8.15179 5.8887 8.57143 4.65056 8.57143C3.78674 8.57143 2.98771 8.34821 2.25346 7.90179C1.63439 8.34821 0.993719 8.57143 0.331456 8.57143C0.302662 8.57143 0.273868 8.5625 0.245074 8.54464C0.216279 8.50893 0.194684 8.47321 0.180287 8.4375C0.151493 8.34821 0.158691 8.26786 0.201882 8.19643C0.50422 7.83929 0.763366 7.35714 0.979321 6.75C0.432235 6.01786 0.158691 5.19643 0.158691 4.28571C0.158691 3.10714 0.5978 2.09821 1.47602 1.25893C2.35424 0.419643 3.41242 0 4.65056 0C5.8887 0 6.94689 0.419643 7.8251 1.25893ZM11.7771 10.1786C11.993 10.7857 12.2522 11.2679 12.5545 11.625C12.5977 11.6964 12.6049 11.7768 12.5761 11.8661C12.5473 11.9554 12.4969 12 12.425 12C11.7627 12 11.122 11.7768 10.5029 11.3304C9.7687 11.7768 8.96967 12 8.10585 12C7.18444 12 6.34941 11.7589 5.60076 11.2768C4.85212 10.7946 4.30503 10.1607 3.9595 9.375C4.21865 9.41071 4.449 9.42857 4.65056 9.42857C6.07587 9.42857 7.29241 8.92857 8.30021 7.92857C9.32239 6.91071 9.83349 5.69643 9.83349 4.28571C9.83349 4.08929 9.82629 3.91071 9.81189 3.75C10.6325 4.07143 11.302 4.59821 11.8203 5.33036C12.3386 6.04464 12.5977 6.83929 12.5977 7.71429C12.5977 8.625 12.3242 9.44643 11.7771 10.1786Z"}))},t.a=r},function(e,t,n){"use strict";var r=n(20),i=n.n(r),o=n(21),a=n.n(o),s=n(22),l=n.n(s),c=n(23),u=n.n(c),d=n(24),p=n.n(d),h=n(26),m=(n.n(h),n(209),n(25)),f=wp.components.CheckboxControl,g=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||i()(t)).call(this));return e.state={},e}return p()(t,e),l()(t,[{key:"renderTerms",value:function(e){return e.map(function(e){return wp.element.createElement("div",{key:e.id,className:"editor-post-taxonomies__hierarchical-terms-choice"},wp.element.createElement(f,{checked:!0,label:Object(h.unescape)(e.name)}))})}},{key:"render",value:function(){return[wp.element.createElement("label",{key:"exactmetrics-hierarchical-term-list-label",className:"components-base-control__label"},this.props.label,wp.element.createElement("span",{className:"exactmetrics-popular-posts-pro-pill"},"PRO")),wp.element.createElement("div",{className:"editor-post-taxonomies__hierarchical-terms-list exactmetrics-hierarchical-terms exactmetrics-hierarchical-terms-disabled",key:"exactmetrics-hierarchical-term-list",tabIndex:"0",role:"group"},this.renderTerms([{name:"News",id:1},{name:"Technology",id:2}]))]}}]),t}(m.a);t.a=g},function(e,t,n){"use strict";n(210),n(85),n(218)},function(e,t,n){"use strict";var r=n(211),i=n.n(r),o=n(212);n.n(o),i()(console.error)},function(e,t,n){function r(e,t){function n(){var n,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a<l;a++)if(s.args[a]!==arguments[a]){s=s.next;continue e}return s!==r&&(s===i&&(i=s.prev),s.prev.next=s.next,s.next&&(s.next.prev=s.prev),s.next=r,s.prev=null,r.prev=s,r=s),s.val}s=s.next}for(n=new Array(l),a=0;a<l;a++)n[a]=arguments[a];return s={args:n,val:e.apply(null,n)},r?(r.prev=s,s.next=r):i=s,o===t.maxSize?(i=i.prev,i.next=null):o++,r=s,s.val}var r,i,o=0;return t=t||{},n.clear=function(){r=null,i=null,o=0},n}e.exports=r},function(e,t,n){var r;!function(){"use strict";function i(e){return a(s(e),arguments)}function o(e,t){return i.apply(null,[e].concat(t||[]))}function a(e,t){var n,r,o,a,s,c,u,d,p,h=1,m=e.length,f="";for(r=0;r<m;r++)if("string"==typeof e[r])f+=e[r];else if("object"==typeof e[r]){if(a=e[r],a.keys)for(n=t[h],o=0;o<a.keys.length;o++){if(void 0==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',a.keys[o],a.keys[o-1]));n=n[a.keys[o]]}else n=a.param_no?t[a.param_no]:t[h++];if(l.not_type.test(a.type)&&l.not_primitive.test(a.type)&&n instanceof Function&&(n=n()),l.numeric_arg.test(a.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(l.number.test(a.type)&&(d=n>=0),a.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,a.width?parseInt(a.width):0);break;case"e":n=a.precision?parseFloat(n).toExponential(a.precision):parseFloat(n).toExponential();break;case"f":n=a.precision?parseFloat(n).toFixed(a.precision):parseFloat(n);break;case"g":n=a.precision?String(Number(n.toPrecision(a.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=a.precision?n.substring(0,a.precision):n;break;case"t":n=String(!!n),n=a.precision?n.substring(0,a.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=a.precision?n.substring(0,a.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=a.precision?n.substring(0,a.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}l.json.test(a.type)?f+=n:(!l.number.test(a.type)||d&&!a.sign?p="":(p=d?"+":"-",n=n.toString().replace(l.sign,"")),c=a.pad_char?"0"===a.pad_char?"0":a.pad_char.charAt(1):" ",u=a.width-(p+n).length,s=a.width&&u>0?c.repeat(u):"",f+=a.align?p+n+s:"0"===c?p+s+n:s+p+n)}return f}function s(e){if(c[e])return c[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=l.text.exec(n)))r.push(t[0]);else if(null!==(t=l.modulo.exec(n)))r.push("%");else{if(null===(t=l.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var o=[],a=t[2],s=[];if(null===(s=l.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(s[1]);""!==(a=a.substring(s[0].length));)if(null!==(s=l.key_access.exec(a)))o.push(s[1]);else{if(null===(s=l.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(s[1])}t[2]=o}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return c[e]=r}var l={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/},c=Object.create(null);t.sprintf=i,t.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=o,void 0!==(r=function(){return{sprintf:i,vsprintf:o}}.call(t,n,t,e))&&(e.exports=r))}()},function(e,t,n){"use strict";function r(e){var t,n,r;for(t=e.split(";"),n=0;n<t.length;n++)if(r=t[n].trim(),0===r.indexOf("plural="))return r.substr(7)}function i(e,t){var n;this.data=e,this.pluralForms={},this.options={};for(n in a)this.options[n]=void 0!==t&&n in t?t[n]:a[n]}t.a=i;var o=n(214),a={contextDelimiter:"",onMissingKey:null};i.prototype.getPluralForm=function(e,t){var n,i,a,s=this.pluralForms[e];return s||(n=this.data[e][""],a=n["Plural-Forms"]||n["plural-forms"]||n.plural_forms,"function"!=typeof a&&(i=r(n["Plural-Forms"]||n["plural-forms"]||n.plural_forms),a=Object(o.a)(i)),s=this.pluralForms[e]=a),s(t)},i.prototype.dcnpgettext=function(e,t,n,r,i){var o,a,s;return o=void 0===i?0:this.getPluralForm(e,i),a=n,t&&(a=t+this.options.contextDelimiter+n),(s=this.data[e][a])&&s[o]?s[o]:(this.options.onMissingKey&&this.options.onMissingKey(n,e),0===o?n:r)}},function(e,t,n){"use strict";function r(e){var t=Object(i.a)(e);return function(e){return+t({n:e})}}t.a=r;var i=n(215)},function(e,t,n){"use strict";function r(e){var t=Object(i.a)(e);return function(e){return Object(o.a)(t,e)}}t.a=r;var i=n(216),o=n(217)},function(e,t,n){"use strict";function r(e){for(var t,n,r,l,c=[],u=[];t=e.match(s);){for(n=t[0],r=e.substr(0,t.index).trim(),r&&c.push(r);l=u.pop();){if(a[n]){if(a[n][0]===l){n=a[n][1]||n;break}}else if(o.indexOf(l)>=0||i[l]<i[n]){u.push(l);break}c.push(l)}a[n]||u.push(n),e=e.substr(t.index+n.length)}return e=e.trim(),e&&c.push(e),c.concat(u.reverse())}t.a=r;var i,o,a,s;i={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],a={")":["("],":":["?","?:"]},s=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},function(e,t,n){"use strict";function r(e,t){var n,r,o,a,s,l,c=[];for(n=0;n<e.length;n++){if(s=e[n],a=i[s]){for(r=a.length,o=Array(r);r--;)o[r]=c.pop();try{l=a.apply(null,o)}catch(e){return e}}else l=t.hasOwnProperty(s)?t[s]:+s;c.push(l)}return c[0]}t.a=r;var i={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e<t},"<=":function(e,t){return e<=t},">":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,n){if(e)throw t;return n}}},function(e,t,n){"use strict";var r=n(85),i=n(219),o=Object(r.a)(void 0,void 0,i.a);o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o),o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(220),i=Object(r.a)();i.addAction,i.addFilter,i.removeAction,i.removeFilter,i.hasAction,i.hasFilter,i.removeAllActions,i.removeAllFilters,i.doAction,i.applyFilters,i.currentAction,i.currentFilter,i.doingAction,i.doingFilter,i.didAction,i.didFilter,i.actions,i.filters},function(e,t,n){"use strict";function r(){return new p}var i=n(221),o=n(222),a=n(223),s=n(224),l=n(225),c=n(226),u=n(227),d=n(228),p=function e(){Object(i.a)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=Object(o.a)(this,"actions"),this.addFilter=Object(o.a)(this,"filters"),this.removeAction=Object(a.a)(this,"actions"),this.removeFilter=Object(a.a)(this,"filters"),this.hasAction=Object(s.a)(this,"actions"),this.hasFilter=Object(s.a)(this,"filters"),this.removeAllActions=Object(a.a)(this,"actions",!0),this.removeAllFilters=Object(a.a)(this,"filters",!0),this.doAction=Object(l.a)(this,"actions"),this.applyFilters=Object(l.a)(this,"filters",!0),this.currentAction=Object(c.a)(this,"actions"),this.currentFilter=Object(c.a)(this,"filters"),this.doingAction=Object(u.a)(this,"actions"),this.doingFilter=Object(u.a)(this,"filters"),this.didAction=Object(d.a)(this,"actions"),this.didFilter=Object(d.a)(this,"filters")};t.a=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n,r,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if(Object(o.a)(n)&&Object(i.a)(r)){if("function"!=typeof a)return void console.error("The hook callback must be a function.");if("number"!=typeof s)return void console.error("If specified, the hook priority must be a number.");var c={callback:a,priority:s,namespace:r};if(l[n]){var u,d=l[n].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach(function(e){e.name===n&&e.currentIndex>=u&&e.currentIndex++})}else l[n]={handlers:[c],runs:0};"hookAdded"!==n&&e.doAction("hookAdded",n,r,a,s)}}}var i=n(86),o=n(50);t.a=r},function(e,t,n){"use strict";function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,a){var s=e[t];if(Object(o.a)(r)&&(n||Object(i.a)(a))){if(!s[r])return 0;var l=0;if(n)l=s[r].handlers.length,s[r]={runs:s[r].runs,handlers:[]};else for(var c=s[r].handlers,u=c.length-1;u>=0;u--)!function(e){c[e].namespace===a&&(c.splice(e,1),l++,s.__current.forEach(function(t){t.name===r&&t.currentIndex>=e&&t.currentIndex--}))}(u);return"hookRemoved"!==r&&e.doAction("hookRemoved",r,a),l}}}var i=n(86),o=n(50);t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n,r){var i=e[t];return void 0!==r?n in i&&i[n].handlers.some(function(e){return e.namespace===r}):n in i}}t.a=r},function(e,t,n){"use strict";function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=e[t];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l<a;l++)s[l-1]=arguments[l];if(!o||!o.length)return n?s[0]:void 0;var c={name:r,currentIndex:0};for(i.__current.push(c);c.currentIndex<o.length;){var u=o[c.currentIndex],d=u.callback.apply(null,s);n&&(s[0]=d),c.currentIndex++}return i.__current.pop(),n?s[0]:void 0}}n(79);t.a=r},function(e,t,n){"use strict";function r(e,t){return function(){var n,r,i=e[t];return null!==(n=null===(r=i.__current[i.__current.length-1])||void 0===r?void 0:r.name)&&void 0!==n?n:null}}t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n){var r=e[t];return void 0===n?void 0!==r.__current[0]:!!r.__current[0]&&n===r.__current[0].name}}t.a=r},function(e,t,n){"use strict";function r(e,t){return function(n){var r=e[t];if(Object(i.a)(n))return r[n]&&r[n].runs?r[n].runs:0}}var i=n(50);t.a=r}]);
assets/images/restricted.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="10" height="14" viewBox="0 0 10 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9.0002 6.19961H8.2002V3.79961C8.2002 2.03961 6.7602 0.599609 5.0002 0.599609C3.2402 0.599609 1.8002 2.03961 1.8002 3.79961V6.19961H1.0002C0.600195 6.19961 0.200195 6.59961 0.200195 6.99961V12.5996C0.200195 12.9996 0.600195 13.3996 1.0002 13.3996H9.0002C9.4002 13.3996 9.8002 12.9996 9.8002 12.5996V6.99961C9.8002 6.59961 9.4002 6.19961 9.0002 6.19961ZM5.8002 11.7996H4.2002L4.5202 10.0396C4.1202 9.87961 3.8002 9.39961 3.8002 8.99961C3.8002 8.35961 4.3602 7.79961 5.0002 7.79961C5.6402 7.79961 6.2002 8.35961 6.2002 8.99961C6.2002 9.47961 5.9602 9.87961 5.4802 10.0396L5.8002 11.7996ZM6.6002 6.19961H3.4002V3.79961C3.4002 2.91961 4.1202 2.19961 5.0002 2.19961C5.8802 2.19961 6.6002 2.91961 6.6002 3.79961V6.19961Z" fill="#1E1E1E"/>
3
+ </svg>
assets/js/admin-metabox.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(){
2
+ if ( 0 === jQuery('#exactmetrics-metabox-page-insights').length ){
3
+ return;
4
+ }
5
+
6
+ jQuery('#exactmetrics_show_page_insights').click(function(event){
7
+ event.preventDefault();
8
+ jQuery( '#exactmetrics-page-insights-content' ).slideDown( 'slow' );
9
+ jQuery('#exactmetrics_show_page_insights').fadeOut( 'slow' );
10
+ });
11
+
12
+ jQuery('#exactmetrics_hide_page_insights').click(function(event){
13
+ event.preventDefault();
14
+ jQuery( '#exactmetrics-page-insights-content' ).slideUp( 'slow', function (){
15
+ jQuery('#exactmetrics_show_page_insights').fadeIn( 'slow' );
16
+ } );
17
+ });
18
+
19
+ jQuery( '.exactmetrics-page-insights__tabs-tab' ).click(function (event){
20
+ event.preventDefault();
21
+ let tab_target = jQuery(this).data('tab');
22
+
23
+ jQuery( '.exactmetrics-page-insights__tabs-tab.active' ).removeClass('active');
24
+ jQuery(this).addClass( 'active' );
25
+
26
+ jQuery('.exactmetrics-page-insights-tabs-content__tab.active').removeClass( 'active' );
27
+ jQuery('#' + tab_target).addClass('active');
28
+ });
29
+ });
assets/js/admin-metabox.min.js ADDED
@@ -0,0 +1 @@
 
1
+ ;jQuery(document).ready(function(){if(0===jQuery('#exactmetrics-metabox-page-insights').length){return};jQuery('#exactmetrics_show_page_insights').click(function(t){t.preventDefault();jQuery('#exactmetrics-page-insights-content').slideDown('slow');jQuery('#exactmetrics_show_page_insights').fadeOut('slow')});jQuery('#exactmetrics_hide_page_insights').click(function(t){t.preventDefault();jQuery('#exactmetrics-page-insights-content').slideUp('slow',function(){jQuery('#exactmetrics_show_page_insights').fadeIn('slow')})});jQuery('.exactmetrics-page-insights__tabs-tab').click(function(t){t.preventDefault();let tab_target=jQuery(this).data('tab');jQuery('.exactmetrics-page-insights__tabs-tab.active').removeClass('active');jQuery(this).addClass('active');jQuery('.exactmetrics-page-insights-tabs-content__tab.active').removeClass('active');jQuery('#'+tab_target).addClass('active')})});
gadwp.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: https://exactmetrics.com
5
  * Description: Displays Google Analytics Reports and Real-Time Statistics in your Dashboard. Automatically inserts the tracking code in every page of your website.
6
  * Author: ExactMetrics
7
- * Version: 7.5.0
8
  * Requires at least: 4.8.0
9
  * Requires PHP: 5.5
10
  * Author URI: https://exactmetrics.com
@@ -44,7 +44,7 @@ final class ExactMetrics_Lite {
44
  * @access public
45
  * @var string $version Plugin version.
46
  */
47
- public $version = '7.5.0';
48
 
49
  /**
50
  * Plugin file.
4
  * Plugin URI: https://exactmetrics.com
5
  * Description: Displays Google Analytics Reports and Real-Time Statistics in your Dashboard. Automatically inserts the tracking code in every page of your website.
6
  * Author: ExactMetrics
7
+ * Version: 7.5.1
8
  * Requires at least: 4.8.0
9
  * Requires PHP: 5.5
10
  * Author URI: https://exactmetrics.com
44
  * @access public
45
  * @var string $version Plugin version.
46
  */
47
+ public $version = '7.5.1';
48
 
49
  /**
50
  * Plugin file.
includes/admin/admin.php CHANGED
@@ -1,630 +1,630 @@
1
- <?php
2
- /**
3
- * Admin class.
4
- *
5
- * @since 6.0.0
6
- *
7
- * @package ExactMetrics
8
- * @subpackage Admin
9
- * @author Chris Christoff
10
- */
11
-
12
- // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- /**
18
- * Register menu items for ExactMetrics.
19
- *
20
- * @since 6.0.0
21
- * @access public
22
- *
23
- * @return void
24
- */
25
- function exactmetrics_admin_menu() {
26
- $hook = exactmetrics_get_menu_hook();
27
- $menu_icon_inline = exactmetrics_get_inline_menu_icon();
28
-
29
- if ( $hook === 'exactmetrics_settings' ) {
30
- // If dashboards disabled, first settings page
31
- add_menu_page( __( 'ExactMetrics', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics' . ExactMetrics()->notifications->get_menu_count(), 'exactmetrics_save_settings', 'exactmetrics_settings', 'exactmetrics_settings_page', $menu_icon_inline, '100.00013467543' );
32
- $hook = 'exactmetrics_settings';
33
-
34
- add_submenu_page( $hook, __( 'ExactMetrics', 'google-analytics-dashboard-for-wp' ), __( 'Settings', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', 'exactmetrics_settings' );
35
- } else {
36
- // if dashboards enabled, first dashboard
37
- add_menu_page( __( 'General:', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics' . ExactMetrics()->notifications->get_menu_count(), 'exactmetrics_view_dashboard', 'exactmetrics_reports', 'exactmetrics_reports_page', $menu_icon_inline, '100.00013467543' );
38
-
39
- add_submenu_page( $hook, __( 'General Reports:', 'google-analytics-dashboard-for-wp' ), __( 'Reports', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_view_dashboard', 'exactmetrics_reports', 'exactmetrics_reports_page' );
40
-
41
- // then settings page
42
- add_submenu_page( $hook, __( 'ExactMetrics', 'google-analytics-dashboard-for-wp' ), __( 'Settings', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', 'exactmetrics_settings', 'exactmetrics_settings_page' );
43
-
44
- // Add dashboard submenu.
45
- add_submenu_page( 'index.php', __( 'General Reports:', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics', 'exactmetrics_view_dashboard', 'admin.php?page=exactmetrics_reports' );
46
- }
47
-
48
- $submenu_base = add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) );
49
-
50
- // Add Popular Posts menu item.
51
- add_submenu_page( $hook, __( 'Popular Posts:', 'google-analytics-dashboard-for-wp' ), __( 'Popular Posts', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', $submenu_base . '#/popular-posts' );
52
-
53
- if ( function_exists( 'aioseo' ) ) {
54
- $seo_url = exactmetrics_aioseo_dashboard_url();
55
- } else {
56
- $seo_url = $submenu_base . '#/seo';
57
- }
58
- // then SEO
59
- add_submenu_page( $hook, __( 'SEO', 'google-analytics-dashboard-for-wp' ), __( 'SEO', 'google-analytics-dashboard-for-wp' ), 'manage_options', $seo_url );
60
-
61
- // then tools
62
- add_submenu_page( $hook, __( 'Tools:', 'google-analytics-dashboard-for-wp' ), __( 'Tools', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/tools' );
63
-
64
- // then addons
65
- $network_key = exactmetrics_is_pro_version() ? ExactMetrics()->license->get_network_license_key() : '';
66
- if ( ! exactmetrics_is_network_active() || ( exactmetrics_is_network_active() && empty( $network_key ) ) ) {
67
- add_submenu_page( $hook, __( 'Addons:', 'google-analytics-dashboard-for-wp' ), '<span style="color:' . exactmetrics_menu_highlight_color() . '"> ' . __( 'Addons', 'google-analytics-dashboard-for-wp' ) . '</span>', 'exactmetrics_save_settings', $submenu_base . '#/addons' );
68
- }
69
-
70
- // Add About us page.
71
- add_submenu_page( $hook, __( 'About Us:', 'google-analytics-dashboard-for-wp' ), __( 'About Us', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/about' );
72
-
73
- add_submenu_page( $hook, __( 'Growth Tools:', 'google-analytics-dashboard-for-wp' ), __( 'Growth Tools', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/growth-tools' );
74
-
75
- if ( ! exactmetrics_is_pro_version() ) {
76
- add_submenu_page( $hook, __( 'Upgrade to Pro:', 'google-analytics-dashboard-for-wp' ), '<span class="exactmetrics-upgrade-submenu"> ' . __( 'Upgrade to Pro', 'google-analytics-dashboard-for-wp' ) . '</span>', 'exactmetrics_save_settings', exactmetrics_get_upgrade_link( 'admin-menu', 'submenu', "https://www.exactmetrics.com/lite/" ) );
77
- }
78
-
79
- }
80
- add_action( 'admin_menu', 'exactmetrics_admin_menu' );
81
-
82
- /**
83
- * Add this separately so all the Woo menu items are loaded and the position parameter works correctly.
84
- */
85
- function exactmetrics_woocommerce_menu_item() {
86
- // Add "Insights" sub menu item for WooCommerce Analytics menu
87
- if ( class_exists( 'WooCommerce' ) && ! apply_filters( 'exactmetrics_disable_woo_analytics_menu', false ) ) {
88
- if ( class_exists( 'ExactMetrics_eCommerce' ) ) {
89
- add_submenu_page( 'wc-admin&path=/analytics/overview', 'ExactMetrics', 'ExactMetrics', 'exactmetrics_view_dashboard', admin_url( 'admin.php?page=exactmetrics_reports#/ecommerce' ), '', 2 );
90
- } else {
91
- $submenu_base = add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) );
92
- add_submenu_page( 'wc-admin&path=/analytics/overview', 'ExactMetrics', 'ExactMetrics', 'manage_options', $submenu_base . '#/woocommerce-insights', '', 1 );
93
- }
94
- }
95
- }
96
-
97
- add_action( 'admin_menu', 'exactmetrics_woocommerce_menu_item', 11 );
98
-
99
- function exactmetrics_get_menu_hook() {
100
- $dashboards_disabled = exactmetrics_get_option( 'dashboards_disabled', false );
101
- if ( $dashboards_disabled || ( current_user_can( 'exactmetrics_save_settings' ) && ! current_user_can( 'exactmetrics_view_dashboard' ) ) ) {
102
- return 'exactmetrics_settings';
103
- } else {
104
- return 'exactmetrics_reports';
105
- }
106
- }
107
-
108
- function exactmetrics_network_admin_menu() {
109
- // Get the base class object.
110
- $base = ExactMetrics();
111
-
112
- // First, let's see if this is an MS network enabled plugin. If it is, we should load the license
113
- // menu page and the updater on the network panel
114
- if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
115
- require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
116
- }
117
-
118
- $plugin = plugin_basename( EXACTMETRICS_PLUGIN_FILE );
119
- if ( ! is_plugin_active_for_network( $plugin ) ) {
120
- return;
121
- }
122
-
123
- $menu_icon_inline = exactmetrics_get_inline_menu_icon();
124
- $hook = 'exactmetrics_network';
125
- $submenu_base = add_query_arg( 'page', 'exactmetrics_network', network_admin_url( 'admin.php' ) );
126
- add_menu_page( __( 'Network Settings:', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics' . ExactMetrics()->notifications->get_menu_count(), 'exactmetrics_save_settings', 'exactmetrics_network', 'exactmetrics_network_page', $menu_icon_inline, '100.00013467543' );
127
-
128
- add_submenu_page( $hook, __( 'Network Settings:', 'google-analytics-dashboard-for-wp' ), __( 'Network Settings', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', 'exactmetrics_network', 'exactmetrics_network_page' );
129
-
130
- add_submenu_page( $hook, __( 'General Reports:', 'google-analytics-dashboard-for-wp' ), __( 'Reports', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_view_dashboard', 'exactmetrics_reports', 'exactmetrics_reports_page' );
131
-
132
- if ( function_exists( 'aioseo' ) ) {
133
- $seo_url = exactmetrics_aioseo_dashboard_url();
134
- } else {
135
- $seo_url = $submenu_base . '#/seo';
136
- }
137
- // then seo
138
- add_submenu_page( $hook, __( 'SEO:', 'google-analytics-dashboard-for-wp' ), __( 'SEO', 'google-analytics-dashboard-for-wp' ), 'manage_options', $seo_url, 'exactmetrics_seo_page' );
139
-
140
- // then addons
141
- add_submenu_page( $hook, __( 'Addons:', 'google-analytics-dashboard-for-wp' ), '<span style="color:' . exactmetrics_menu_highlight_color() . '"> ' . __( 'Addons', 'google-analytics-dashboard-for-wp' ) . '</span>', 'exactmetrics_save_settings', $submenu_base . '#/addons' );
142
-
143
- $submenu_base = add_query_arg( 'page', 'exactmetrics_network', network_admin_url( 'admin.php' ) );
144
-
145
- // Add About us page.
146
- add_submenu_page( $hook, __( 'About Us:', 'google-analytics-dashboard-for-wp' ), __( 'About Us', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/about' );
147
- }
148
- add_action( 'network_admin_menu', 'exactmetrics_network_admin_menu', 5 );
149
-
150
- /**
151
- * Adds one or more classes to the body tag in the dashboard.
152
- *
153
- * @param String $classes Current body classes.
154
- * @return String Altered body classes.
155
- */
156
- function exactmetrics_add_admin_body_class( $classes ) {
157
- $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
158
- if ( empty( $screen ) || empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
159
- return $classes;
160
- }
161
-
162
- return "$classes exactmetrics_page ";
163
- }
164
- add_filter( 'admin_body_class', 'exactmetrics_add_admin_body_class', 10, 1 );
165
-
166
- /**
167
- * Adds one or more classes to the body tag in the dashboard.
168
- *
169
- * @param String $classes Current body classes.
170
- * @return String Altered body classes.
171
- */
172
- function exactmetrics_add_admin_body_class_tools_page( $classes ) {
173
- $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
174
-
175
- if ( empty( $screen ) || empty( $screen->id ) || strpos( $screen->id, 'exactmetrics_tools' ) === false || 'insights_page_exactmetrics_tools' === $screen->id ) {
176
- return $classes;
177
- }
178
-
179
- return "$classes insights_page_exactmetrics_tools ";
180
- }
181
- add_filter( 'admin_body_class', 'exactmetrics_add_admin_body_class_tools_page', 10, 1 );
182
-
183
- /**
184
- * Adds one or more classes to the body tag in the dashboard.
185
- *
186
- * @param String $classes Current body classes.
187
- * @return String Altered body classes.
188
- */
189
- function exactmetrics_add_admin_body_class_addons_page( $classes ) {
190
- $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
191
- if ( empty( $screen ) || empty( $screen->id ) || strpos( $screen->id, 'exactmetrics_addons' ) === false || 'insights_page_exactmetrics_addons' === $screen->id ) {
192
- return $classes;
193
- }
194
-
195
- return "$classes insights_page_exactmetrics_addons ";
196
- }
197
- add_filter( 'admin_body_class', 'exactmetrics_add_admin_body_class_addons_page', 10, 1 );
198
-
199
- /**
200
- * Add a link to the settings page to the plugins list
201
- *
202
- * @param array $links array of links for the plugins, adapted when the current plugin is found.
203
- *
204
- * @return array $links
205
- */
206
- function exactmetrics_add_action_links( $links ) {
207
- $docs = '<a title="' . esc_html__( 'ExactMetrics Knowledge Base', 'google-analytics-dashboard-for-wp' ) . '" href="'. exactmetrics_get_url( 'all-plugins', 'kb-link', "https://www.exactmetrics.com/docs/" ) .'">' . esc_html__( 'Documentation', 'google-analytics-dashboard-for-wp' ) . '</a>';
208
- array_unshift( $links, $docs );
209
-
210
- // If Lite, support goes to forum. If pro, it goes to our website
211
- if ( exactmetrics_is_pro_version() ) {
212
- $support = '<a title="ExactMetrics Pro Support" href="'. exactmetrics_get_url( 'all-plugins', 'pro-support-link', "https://www.exactmetrics.com/my-account/support/" ) .'">' . esc_html__( 'Support', 'google-analytics-dashboard-for-wp' ) . '</a>';
213
- array_unshift( $links, $support );
214
- } else {
215
- $support = '<a title="ExactMetrics Lite Support" href="'. exactmetrics_get_url( 'all-plugins', 'lite-support-link', "https://www.exactmetrics.com/lite-support/" ) .'">' . esc_html__( 'Support', 'google-analytics-dashboard-for-wp' ) . '</a>';
216
- array_unshift( $links, $support );
217
- }
218
-
219
- if ( is_network_admin() ) {
220
- $settings_link = '<a href="' . esc_url( network_admin_url( 'admin.php?page=exactmetrics_network' ) ) . '">' . esc_html__( 'Network Settings', 'google-analytics-dashboard-for-wp' ) . '</a>';
221
- } else {
222
- $settings_link = '<a href="' . esc_url( admin_url( 'admin.php?page=exactmetrics_settings' ) ) . '">' . esc_html__( 'Settings', 'google-analytics-dashboard-for-wp' ) . '</a>';
223
- }
224
-
225
- array_unshift( $links, $settings_link );
226
-
227
- // If lite, show a link where they can get pro from
228
- if ( ! exactmetrics_is_pro_version() ) {
229
- $get_pro = '<a title="' . esc_html__( 'Get ExactMetrics Pro', 'google-analytics-dashboard-for-wp' ) .'" href="'. exactmetrics_get_upgrade_link( 'all-plugins', 'upgrade-link', "https://www.exactmetrics.com/lite/" ) .'" style="font-weight:700; color: #1da867;">' . esc_html__( 'Get ExactMetrics Pro', 'google-analytics-dashboard-for-wp' ) . '</a>';
230
- array_unshift( $links, $get_pro );
231
- }
232
-
233
- return $links;
234
- }
235
- add_filter( 'plugin_action_links_' . plugin_basename( EXACTMETRICS_PLUGIN_FILE ), 'exactmetrics_add_action_links' );
236
- add_filter( 'network_admin_plugin_action_links_' . plugin_basename( EXACTMETRICS_PLUGIN_FILE ), 'exactmetrics_add_action_links' );
237
-
238
- /**
239
- * Loads a partial view for the Administration screen
240
- *
241
- * @access public
242
- * @since 6.0.0
243
- *
244
- * @param string $template PHP file at includes/admin/partials, excluding file extension
245
- * @param array $data Any data to pass to the view
246
- * @return void
247
- */
248
- function exactmetrics_load_admin_partial( $template, $data = array() ) {
249
-
250
- if ( exactmetrics_is_pro_version() ) {
251
- $dir = trailingslashit( plugin_dir_path( ExactMetrics()->file ) . 'pro/includes/admin/partials' );
252
-
253
- if ( file_exists( $dir . $template . '.php' ) ) {
254
- require_once( $dir . $template . '.php' );
255
- return true;
256
- }
257
- } else {
258
- $dir = trailingslashit( plugin_dir_path( ExactMetrics()->file ) . 'lite/includes/admin/partials' );
259
-
260
- if ( file_exists( $dir . $template . '.php' ) ) {
261
- require_once( $dir . $template . '.php' );
262
- return true;
263
- }
264
- }
265
-
266
- $dir = trailingslashit( plugin_dir_path( ExactMetrics()->file ) . 'includes/admin/partials' );
267
-
268
- if ( file_exists( $dir . $template . '.php' ) ) {
269
- require_once( $dir . $template . '.php' );
270
- return true;
271
- }
272
-
273
- return false;
274
- }
275
-
276
- /**
277
- * When user is on a ExactMetrics related admin page, display footer text
278
- * that graciously asks them to rate us.
279
- *
280
- * @since 6.0.0
281
- * @param string $text
282
- * @return string
283
- */
284
- function exactmetrics_admin_footer( $text ) {
285
- global $current_screen;
286
- if ( ! empty( $current_screen->id ) && strpos( $current_screen->id, 'exactmetrics' ) !== false ) {
287
- $url = 'https://wordpress.org/support/view/plugin-reviews/google-analytics-dashboard-for-wp?filter=5';
288
- // Translators: Placeholders add a link to the wordpress.org repository.
289
- $text = sprintf( esc_html__( 'Please rate %1$sExactMetrics%2$s on %3$s %4$sWordPress.org%5$s to help us spread the word. Thank you from the ExactMetrics team!', 'google-analytics-dashboard-for-wp' ), '<strong>', '</strong>', '<a class="exactmetrics-no-text-decoration" href="' . $url . '" target="_blank" rel="noopener noreferrer"><i class="monstericon-star"></i><i class="monstericon-star"></i><i class="monstericon-star"></i><i class="monstericon-star"></i><i class="monstericon-star"></i></a>', '<a href="' . $url . '" target="_blank" rel="noopener noreferrer">', '</a>' );
290
- }
291
- return $text;
292
- }
293
- add_filter( 'admin_footer_text', 'exactmetrics_admin_footer', 1, 2 );
294
-
295
- function exactmetrics_admin_setup_notices() {
296
-
297
- // Don't show on ExactMetrics pages
298
- $screen = get_current_screen();
299
- if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) !== false ) {
300
- return;
301
- }
302
-
303
- // Make sure they have the permissions to do something
304
- if ( ! current_user_can( 'exactmetrics_save_settings' ) ) {
305
- return;
306
- }
307
-
308
- // Priority:
309
- // 1. Google Analytics not authenticated
310
- // 2. License key not entered for pro
311
- // 3. License key not valid/okay for pro
312
- // 4. WordPress + PHP min versions
313
- // 5. (old) Optin setting not configured
314
- // 6. Manual UA code
315
- // 7. Automatic updates not configured
316
- // 8. Woo upsell
317
- // 9. EDD upsell
318
-
319
-
320
- // 1. Google Analytics not authenticated
321
- if ( ! is_network_admin() && ! exactmetrics_get_ua() && ! exactmetrics_get_v4_id() && ! defined( 'EXACTMETRICS_DISABLE_TRACKING' ) ) {
322
-
323
- $submenu_base = is_network_admin() ? add_query_arg( 'page', 'exactmetrics_network', network_admin_url( 'admin.php' ) ) : add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) );
324
- $title = esc_html__( 'Please Setup Website Analytics to See Audience Insights', 'google-analytics-dashboard-for-wp' );
325
- $primary = esc_html__( 'Connect ExactMetrics and Setup Website Analytics', 'google-analytics-dashboard-for-wp' );
326
- $urlone = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics-onboarding' ) : admin_url( 'admin.php?page=exactmetrics-onboarding' );
327
- $secondary = esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' );
328
- $urltwo = $submenu_base . '#/about/getting-started';
329
- $message = esc_html__( 'ExactMetrics, WordPress analytics plugin, helps you connect your website with Google Analytics, so you can see how people find and use your website. Over 3 million website owners use ExactMetrics to see the stats that matter and grow their business.', 'google-analytics-dashboard-for-wp' );
330
- echo '<div class="notice notice-info"><p style="font-weight:700">'. $title .'</p><p>'. $message.'</p><p><a href="'. $urlone .'" class="button-primary">'. $primary .'</a>&nbsp;&nbsp;&nbsp;<a href="'. $urltwo .'" class="button-secondary">'. $secondary .'</a></p></div>';
331
- return;
332
- }
333
-
334
- // 2. License key not entered for pro
335
- $key = exactmetrics_is_pro_version() ? ExactMetrics()->license->get_license_key() : '';
336
- if ( exactmetrics_is_pro_version() && empty( $key ) ) {
337
- $page = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network' ) : admin_url( 'admin.php?page=exactmetrics_settings' );
338
- // Translators: Adds a link to retrieve the license.
339
- $message = sprintf( esc_html__( 'Warning: No valid license key has been entered for ExactMetrics. You are currently not getting updates, and are not able to view reports. %1$sPlease click here to enter your license key and begin receiving updates and reports.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. esc_url( $page ) . '">', '</a>' );
340
- echo '<div class="error"><p>'. $message.'</p></div>';
341
- return;
342
- }
343
-
344
- // 3. License key not valid/okay for pro
345
- if ( exactmetrics_is_pro_version() ) {
346
- $message = '';
347
- if ( ExactMetrics()->license->get_site_license_key() ){
348
- if ( ExactMetrics()->license->site_license_expired() ) {
349
- // Translators: Adds a link to the license renewal.
350
- $message = sprintf( esc_html__( 'Your license key for ExactMetrics has expired. %1$sPlease click here to renew your license key.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. exactmetrics_get_url( 'admin-notices', 'expired-license', "https://www.exactmetrics.com/login/" ) .'" target="_blank" rel="noopener noreferrer" referrer="no-referrer">', '</a>' );
351
- } else if ( ExactMetrics()->license->site_license_disabled() ) {
352
- $message = esc_html__( 'Your license key for ExactMetrics has been disabled. Please use a different key.', 'google-analytics-dashboard-for-wp' );
353
- } else if ( ExactMetrics()->license->site_license_invalid() ) {
354
- $message = esc_html__( 'Your license key for ExactMetrics is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key.', 'google-analytics-dashboard-for-wp' );
355
- }
356
- } else if ( ExactMetrics()->license->get_network_license_key() ) {
357
- if ( ExactMetrics()->license->network_license_expired() ) {
358
- // Translators: Adds a link to renew license.
359
- $message = sprintf( esc_html__( 'Your network license key for ExactMetrics has expired. %1$sPlease click here to renew your license key.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. exactmetrics_get_url( 'admin-notices', 'expired-license', "https://www.exactmetrics.com/login/" ) .'" target="_blank" rel="noopener noreferrer" referrer="no-referrer">', '</a>' );
360
- } else if ( ExactMetrics()->license->network_license_disabled() ) {
361
- $message = esc_html__( 'Your network license key for ExactMetrics has been disabled. Please use a different key.', 'google-analytics-dashboard-for-wp' );
362
- } else if ( ExactMetrics()->license->network_license_invalid() ) {
363
- $message = esc_html__( 'Your network license key for ExactMetrics is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key.', 'google-analytics-dashboard-for-wp' );
364
- }
365
- }
366
- if ( ! empty( $message ) ) {
367
- echo '<div class="error"><p>'. $message.'</p></div>';
368
- return;
369
- }
370
- }
371
-
372
- // 4. Notices for PHP/WP version deprecations
373
- if ( current_user_can( 'update_core' ) ) {
374
- global $wp_version;
375
-
376
- $compatible_php_version = apply_filters( 'exactmetrics_compatible_php_version', false );
377
- $compatible_wp_version = apply_filters( 'exactmetrics_compatible_wp_version', false );
378
-
379
- $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-php/' );
380
-
381
- $message = false;
382
- if ( version_compare( phpversion(), $compatible_php_version['required'], '<' ) ) {
383
- // Translators: Placeholders add the PHP version, a link to the ExactMetrics blog and a line break.
384
- $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress stopped supporting your PHP version in April, 2019.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
385
- } else if ( version_compare( phpversion(), $compatible_php_version['warning'], '<' ) ) {
386
- // Translators: Placeholders add the PHP version, a link to the ExactMetrics blog and a line break.
387
- $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress stopped supporting your PHP version in November, 2019.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
388
- } else if ( version_compare( phpversion(), $compatible_php_version['recommended'], '<' ) ) {
389
- // Translators: Placeholders add the PHP version, a link to the ExactMetrics blog and a line break.
390
- $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress is working towards discontinuing support for your PHP version.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
391
- }
392
-
393
- if ( $message ) {
394
- echo '<div class="error"><p>'. $message.'</p></div>';
395
- return;
396
- }
397
-
398
- // WordPress 4.9
399
- /* else if ( version_compare( $wp_version, '5.0', '<' ) ) {
400
- $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-wordpress/' );
401
- // Translators: Placeholders add the current WordPress version and links to the ExactMetrics blog
402
- $message = sprintf( esc_html__( 'Your site is running an outdated version of WordPress (%1$s).%4$sExactMetrics will stop supporting WordPress versions lower than 5.0 in 2021.%4$sUpdating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install.%4$s%2$sLearn more about updating WordPress%3$s', 'google-analytics-dashboard-for-wp' ), $wp_version, '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
403
- echo '<div class="error"><p>'. $message.'</p></div>';
404
- return;
405
- } */
406
- // PHP 5.4/5.5
407
- // else if ( version_compare( phpversion(), '5.6', '<' ) ) {
408
- // $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-php/' );
409
- // $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress will stop supporting your PHP version in April, 2019.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
410
- // echo '<div class="error"><p>'. $message.'</p></div>';
411
- // return;
412
- // }
413
- // // WordPress 4.6 - 4.8
414
- // else if ( version_compare( $wp_version, '4.9', '<' ) ) {
415
- // $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-wordpress/' );
416
- // $message = sprintf( esc_html__( 'Your site is running an outdated version of WordPress (%1$s).%4$sExactMetrics will stop supporting WordPress versions lower than 4.9 in October, 2019.%4$sUpdating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install.%4$s%2$sLearn more about updating WordPress%3$s', 'google-analytics-dashboard-for-wp' ), $wp_version, '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
417
- // echo '<div class="error"><p>'. $message.'</p></div>';
418
- // return;
419
- // }
420
- }
421
-
422
- // 5. Optin setting not configured
423
- // if ( ! is_network_admin() ) {
424
- // if ( ! get_option( 'exactmetrics_tracking_notice' ) ) {
425
- // if ( ! exactmetrics_get_option( 'anonymous_data', false ) ) {
426
- // if ( ! exactmetrics_is_dev_url( network_site_url( '/' ) ) ) {
427
- // if ( exactmetrics_is_pro_version() ) {
428
- // exactmetrics_update_option( 'anonymous_data', 1 );
429
- // return;
430
- // }
431
- // $optin_url = add_query_arg( 'mi_action', 'opt_into_tracking' );
432
- // $optout_url = add_query_arg( 'mi_action', 'opt_out_of_tracking' );
433
- // echo '<div class="updated"><p>';
434
- // echo esc_html__( 'Allow ExactMetrics to track plugin usage? Opt-in to tracking and our newsletter to stay informed of the latest changes to ExactMetrics and help us ensure compatibility.', 'google-analytics-dashboard-for-wp' );
435
- // echo '&nbsp;<a href="' . esc_url( $optin_url ) . '" class="button-secondary">' . __( 'Allow', 'google-analytics-dashboard-for-wp' ) . '</a>';
436
- // echo '&nbsp;<a href="' . esc_url( $optout_url ) . '" class="button-secondary">' . __( 'Do not allow', 'google-analytics-dashboard-for-wp' ) . '</a>';
437
- // echo '</p></div>';
438
- // return;
439
- // } else {
440
- // // is testing site
441
- // update_option( 'exactmetrics_tracking_notice', '1' );
442
- // }
443
- // }
444
- // }
445
- // }
446
-
447
- $notices = get_option( 'exactmetrics_notices' );
448
- if ( ! is_array( $notices ) ) {
449
- $notices = array();
450
- }
451
-
452
- // 6. Authenticate, not manual
453
- $authed = ExactMetrics()->auth->is_authed() || ExactMetrics()->auth->is_network_authed();
454
- $url = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network' ) : admin_url( 'admin.php?page=exactmetrics_settings' );
455
- $ua_code = exactmetrics_get_ua_to_output();
456
- // Translators: Placeholders add links to the settings panel.
457
- $manual_text = sprintf( esc_html__( 'Important: You are currently using manual UA code output. We highly recommend %1$sauthenticating with ExactMetrics%2$s so that you can access our new reporting area and take advantage of new ExactMetrics features.', 'google-analytics-dashboard-for-wp' ), '<a href="' . $url . '">', '</a>' );
458
- $migrated = exactmetrics_get_option( 'gadwp_migrated', 0 );
459
- if ( $migrated > 0 ) {
460
- $url = admin_url( 'admin.php?page=exactmetrics-getting-started&exactmetrics-migration=1' );
461
- // Translators: Placeholders add links to the settings panel.
462
- $text = esc_html__( 'Click %1$shere%2$s to reauthenticate to be able to access reports. For more information why this is required, see our %3$sblog post%4$s.', 'google-analytics-dashboard-for-wp' );
463
- $manual_text = sprintf( $text, '<a href="' . $url . '">', '</a>', '<a href="' . exactmetrics_get_url( 'notice', 'manual-ua', 'https://www.exactmetrics.com/why-did-we-implement-the-new-google-analytics-authentication-flow-challenges-explained/' ) . '" target="_blank">', '</a>' );
464
- }
465
-
466
- if ( empty( $authed ) && ! isset( $notices['exactmetrics_auth_not_manual'] ) && ! empty( $ua_code ) ) {
467
- echo '<div class="notice notice-info is-dismissible exactmetrics-notice" data-notice="exactmetrics_auth_not_manual">';
468
- echo '<p>';
469
- echo $manual_text;
470
- echo '</p>';
471
- echo '</div>';
472
-
473
- return;
474
- }
475
-
476
- // 7. Automatic updates not configured
477
- // if ( ! is_network_admin() ) {
478
- // $updates = exactmetrics_get_option( 'automatic_updates', false );
479
- // $url = admin_url( 'admin.php?page=exactmetrics_settings' );
480
-
481
- // if ( empty( $updates) && ! isset( $notices['exactmetrics_automatic_updates' ] ) ) {
482
- // echo '<div class="notice notice-info is-dismissible exactmetrics-notice" data-notice="exactmetrics_automatic_updates">';
483
- // echo '<p>';
484
- // echo sprintf( esc_html__( 'Important: Please %1$sconfigure the Automatic Updates Settings%2$s in ExactMetrics.', 'google-analytics-dashboard-for-wp' ), '<a href="' . $url .'">', '</a>' );
485
- // echo '</p>';
486
- // echo '</div>';
487
- // return;
488
- // }
489
- // }
490
-
491
- // 8. WooUpsell
492
- if ( ! exactmetrics_is_pro_version() && class_exists( 'WooCommerce' ) ) {
493
- if ( ! isset( $notices['exactmetrics_woocommerce_tracking_available' ] ) ) {
494
- echo '<div class="notice notice-success is-dismissible exactmetrics-notice exactmetrics-wooedd-upsell-row" data-notice="exactmetrics_woocommerce_tracking_available">';
495
- echo '<div class="exactmetrics-wooedd-upsell-left">';
496
- echo '<p><strong>';
497
- echo esc_html( 'Enhanced Ecommerce Analytics for Your WooCommerce Store', 'google-analytics-dashboard-for-wp' );
498
- echo '</strong></p>';
499
- echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-small" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
500
- echo '<p>';
501
- echo esc_html( 'ExactMetrics Pro gives you detailed stats and insights about your customers.', 'google-analytics-dashboard-for-wp' );
502
- echo '</p>';
503
- echo '<p>';
504
- echo esc_html( 'This helps you make data-driven decisions about your content, and marketing strategy so you can increase your website traffic, leads, and sales.', 'google-analytics-dashboard-for-wp' );
505
- echo '</p>';
506
- echo '<p>';
507
- echo esc_html( 'Pro customers also get Form Tracking, Custom Dimensions Tracking, UserID Tracking and much more.', 'google-analytics-dashboard-for-wp' );
508
- echo '</p>';
509
- echo '<p>';
510
- echo esc_html( 'Start making data-driven decisions to grow your business.', 'google-analytics-dashboard-for-wp' );
511
- echo '</p>';
512
- // Translators: Placeholders add a link to the ExactMetrics website.
513
- echo sprintf( esc_html__( '%1$sGet ExactMetrics Pro%2$s', 'google-analytics-dashboard-for-wp' ), '<a class="button button-primary button-hero" href="'. exactmetrics_get_upgrade_link( 'admin-notices', 'woocommerce-upgrade' ) .'">', ' &raquo;</a>' );
514
- echo '</p>';
515
- echo '</div><div class="exactmetrics-wooedd-upsell-right">';
516
- echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-large" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
517
- echo '</div>';
518
- echo '</div>';
519
- echo '<style type="text/css">.exactmetrics-wooedd-upsell-left{width:50%;display:table-cell;float:left}.exactmetrics-wooedd-upsell-right{width:50%;display:table-cell;float:left}.exactmetrics-wooedd-upsell-image{width:100%;height:auto;padding:20px}.exactmetrics-wooedd-upsell-image-small{display:none}.exactmetrics-wooedd-upsell-row{display:table}.exactmetrics-wooedd-upsell-left p{margin:1em 0;font-size:16px}@media (max-width:900px){.exactmetrics-wooedd-upsell-left{width:100%}.exactmetrics-wooedd-upsell-right{display:none}.exactmetrics-wooedd-upsell-image-small{display:block}.exactmetrics-wooedd-upsell-image-large{display:none}}</style>';
520
- return;
521
- }
522
- }
523
-
524
- // 9. EDDUpsell
525
- if ( ! exactmetrics_is_pro_version() && class_exists( 'Easy_Digital_Downloads' ) ) {
526
- if ( ! isset( $notices['exactmetrics_edd_tracking_available' ] ) ) {
527
- echo '<div class="notice notice-success is-dismissible exactmetrics-notice exactmetrics-wooedd-upsell-row" data-notice="exactmetrics_edd_tracking_available">';
528
- echo '<div class="exactmetrics-wooedd-upsell-left">';
529
- echo '<p><strong>';
530
- echo esc_html( 'Enhanced Ecommerce Analytics for Your Easy Digital Downloads Store', 'google-analytics-dashboard-for-wp' );
531
- echo '</strong></p>';
532
- echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-small" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
533
- echo '<p>';
534
- echo esc_html( 'ExactMetrics Pro gives you detailed stats and insights about your customers.', 'google-analytics-dashboard-for-wp' );
535
- echo '</p>';
536
- echo '<p>';
537
- echo esc_html( 'This helps you make data-driven decisions about your content, and marketing strategy so you can increase your website traffic, leads, and sales.', 'google-analytics-dashboard-for-wp' );
538
- echo '</p>';
539
- echo '<p>';
540
- echo esc_html( 'Pro customers also get Form Tracking, Custom Dimensions Tracking, UserID Tracking and much more.', 'google-analytics-dashboard-for-wp' );
541
- echo '</p>';
542
- echo '<p>';
543
- echo esc_html( 'Start making data-driven decisions to grow your business.', 'google-analytics-dashboard-for-wp' );
544
- echo '</p>';
545
- echo sprintf( esc_html__( '%1$sGet ExactMetrics Pro%2$s', 'google-analytics-dashboard-for-wp' ), '<a class="button button-primary button-hero" href="'. exactmetrics_get_upgrade_link( 'admin-notices', 'edd-upgrade' ) .'">', ' &raquo;</a>' );
546
- echo '</p>';
547
- echo '</div><div class="exactmetrics-wooedd-upsell-right">';
548
- echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-large" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
549
- echo '</div>';
550
- echo '</div>';
551
- return;
552
- }
553
- }
554
-
555
- if ( isset( $notices['exactmetrics_cross_domains_extracted'] ) && false === $notices['exactmetrics_cross_domains_extracted'] ) {
556
- $page = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network' ) : admin_url( 'admin.php?page=exactmetrics_settings' );
557
- $page = $page . '#/advanced';
558
- // Translators: Adds a link to the settings panel.
559
- $message = sprintf( esc_html__( 'Warning: ExactMetrics found cross-domain settings in the custom code field and converted them to the new settings structure. %1$sPlease click here to review and remove the code no longer needed.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. esc_url( $page ) . '">', '</a>' );
560
- echo '<div class="notice notice-success is-dismissible exactmetrics-notice" data-notice="exactmetrics_cross_domains_extracted"><p>'. $message.'</p></div>';
561
- return;
562
- }
563
- }
564
- add_action( 'admin_notices', 'exactmetrics_admin_setup_notices' );
565
- add_action( 'network_admin_notices', 'exactmetrics_admin_setup_notices' );
566
-
567
-
568
- // AM Notices
569
- function exactmetrics_am_notice_optout( $super_admin ) {
570
- if ( exactmetrics_get_option( 'hide_am_notices', false ) || exactmetrics_get_option( 'network_hide_am_notices', false ) ) {
571
- return false;
572
- }
573
- return $super_admin;
574
- }
575
- add_filter( "am_notifications_display", 'exactmetrics_am_notice_optout', 10, 1 );
576
-
577
- /**
578
- * Inline critical css for the menu to prevent breaking the layout when our scripts get blocked by browsers.
579
- */
580
- function exactmetrics_admin_menu_inline_styles() {
581
- ?>
582
- <style type="text/css">
583
- #toplevel_page_exactmetrics_reports .wp-menu-image img,
584
- #toplevel_page_exactmetrics_settings .wp-menu-image img,
585
- #toplevel_page_exactmetrics_network .wp-menu-image img {
586
- width: 18px;
587
- height: auto;
588
- padding-top: 7px;
589
- }
590
- </style>
591
- <?php
592
- }
593
-
594
- add_action( 'admin_head', 'exactmetrics_admin_menu_inline_styles', 300 );
595
-
596
- /**
597
- * Display notice in admin when measurement protocol is left blank
598
- */
599
- function exactmetrics_empty_measurement_protocol_token() {
600
- if ( ! class_exists( 'ExactMetrics_eCommerce' ) && ! class_exists( 'ExactMetrics_Forms' ) ) {
601
- return;
602
- }
603
-
604
- $page = is_network_admin()
605
- ? network_admin_url( 'admin.php?page=exactmetrics_network' )
606
- : admin_url( 'admin.php?page=exactmetrics_settings' );
607
-
608
- $api_secret = is_network_admin()
609
- ? ExactMetrics()->auth->get_network_measurement_protocol_secret()
610
- : ExactMetrics()->auth->get_measurement_protocol_secret();
611
-
612
- $current_code = exactmetrics_get_v4_id_to_output();
613
-
614
- if ( empty( $current_code ) || ! empty( $api_secret ) ) {
615
- return;
616
- }
617
-
618
- $message = sprintf(
619
- esc_html__(
620
- 'Your Measurement Protocol API Secret is currently left blank, so you won\'t be able to use some of the tracking features with your GA4 property. %1$sPlease enter your Measurement Protocol API Secret here.%2$s',
621
- 'google-analytics-dashboard-for-wp'
622
- ),
623
- '<a href="' . esc_url( $page ). '">',
624
- '</a>'
625
- );
626
- echo '<div class="error"><p>'. $message.'</p></div>';
627
- }
628
-
629
- add_action( 'admin_notices', 'exactmetrics_empty_measurement_protocol_token' );
630
- add_action( 'network_admin_notices', 'exactmetrics_admin_setup_notices' );
1
+ <?php
2
+ /**
3
+ * Admin class.
4
+ *
5
+ * @since 6.0.0
6
+ *
7
+ * @package ExactMetrics
8
+ * @subpackage Admin
9
+ * @author Chris Christoff
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ /**
18
+ * Register menu items for ExactMetrics.
19
+ *
20
+ * @since 6.0.0
21
+ * @access public
22
+ *
23
+ * @return void
24
+ */
25
+ function exactmetrics_admin_menu() {
26
+ $hook = exactmetrics_get_menu_hook();
27
+ $menu_icon_inline = exactmetrics_get_inline_menu_icon();
28
+
29
+ if ( $hook === 'exactmetrics_settings' ) {
30
+ // If dashboards disabled, first settings page
31
+ add_menu_page( __( 'ExactMetrics', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics' . ExactMetrics()->notifications->get_menu_count(), 'exactmetrics_save_settings', 'exactmetrics_settings', 'exactmetrics_settings_page', $menu_icon_inline, '100.00013467543' );
32
+ $hook = 'exactmetrics_settings';
33
+
34
+ add_submenu_page( $hook, __( 'ExactMetrics', 'google-analytics-dashboard-for-wp' ), __( 'Settings', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', 'exactmetrics_settings' );
35
+ } else {
36
+ // if dashboards enabled, first dashboard
37
+ add_menu_page( __( 'General:', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics' . ExactMetrics()->notifications->get_menu_count(), 'exactmetrics_view_dashboard', 'exactmetrics_reports', 'exactmetrics_reports_page', $menu_icon_inline, '100.00013467543' );
38
+
39
+ add_submenu_page( $hook, __( 'General Reports:', 'google-analytics-dashboard-for-wp' ), __( 'Reports', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_view_dashboard', 'exactmetrics_reports', 'exactmetrics_reports_page' );
40
+
41
+ // then settings page
42
+ add_submenu_page( $hook, __( 'ExactMetrics', 'google-analytics-dashboard-for-wp' ), __( 'Settings', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', 'exactmetrics_settings', 'exactmetrics_settings_page' );
43
+
44
+ // Add dashboard submenu.
45
+ add_submenu_page( 'index.php', __( 'General Reports:', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics', 'exactmetrics_view_dashboard', 'admin.php?page=exactmetrics_reports' );
46
+ }
47
+
48
+ $submenu_base = add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) );
49
+
50
+ // Add Popular Posts menu item.
51
+ add_submenu_page( $hook, __( 'Popular Posts:', 'google-analytics-dashboard-for-wp' ), __( 'Popular Posts', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', $submenu_base . '#/popular-posts' );
52
+
53
+ if ( function_exists( 'aioseo' ) ) {
54
+ $seo_url = exactmetrics_aioseo_dashboard_url();
55
+ } else {
56
+ $seo_url = $submenu_base . '#/seo';
57
+ }
58
+ // then SEO
59
+ add_submenu_page( $hook, __( 'SEO', 'google-analytics-dashboard-for-wp' ), __( 'SEO', 'google-analytics-dashboard-for-wp' ), 'manage_options', $seo_url );
60
+
61
+ // then tools
62
+ add_submenu_page( $hook, __( 'Tools:', 'google-analytics-dashboard-for-wp' ), __( 'Tools', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/tools' );
63
+
64
+ // then addons
65
+ $network_key = exactmetrics_is_pro_version() ? ExactMetrics()->license->get_network_license_key() : '';
66
+ if ( ! exactmetrics_is_network_active() || ( exactmetrics_is_network_active() && empty( $network_key ) ) ) {
67
+ add_submenu_page( $hook, __( 'Addons:', 'google-analytics-dashboard-for-wp' ), '<span style="color:' . exactmetrics_menu_highlight_color() . '"> ' . __( 'Addons', 'google-analytics-dashboard-for-wp' ) . '</span>', 'exactmetrics_save_settings', $submenu_base . '#/addons' );
68
+ }
69
+
70
+ // Add About us page.
71
+ add_submenu_page( $hook, __( 'About Us:', 'google-analytics-dashboard-for-wp' ), __( 'About Us', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/about' );
72
+
73
+ add_submenu_page( $hook, __( 'Growth Tools:', 'google-analytics-dashboard-for-wp' ), __( 'Growth Tools', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/growth-tools' );
74
+
75
+ if ( ! exactmetrics_is_pro_version() ) {
76
+ add_submenu_page( $hook, __( 'Upgrade to Pro:', 'google-analytics-dashboard-for-wp' ), '<span class="exactmetrics-upgrade-submenu"> ' . __( 'Upgrade to Pro', 'google-analytics-dashboard-for-wp' ) . '</span>', 'exactmetrics_save_settings', exactmetrics_get_upgrade_link( 'admin-menu', 'submenu', "https://www.exactmetrics.com/lite/" ) );
77
+ }
78
+
79
+ }
80
+ add_action( 'admin_menu', 'exactmetrics_admin_menu' );
81
+
82
+ /**
83
+ * Add this separately so all the Woo menu items are loaded and the position parameter works correctly.
84
+ */
85
+ function exactmetrics_woocommerce_menu_item() {
86
+ // Add "Insights" sub menu item for WooCommerce Analytics menu
87
+ if ( class_exists( 'WooCommerce' ) && ! apply_filters( 'exactmetrics_disable_woo_analytics_menu', false ) ) {
88
+ if ( class_exists( 'ExactMetrics_eCommerce' ) ) {
89
+ add_submenu_page( 'wc-admin&path=/analytics/overview', 'ExactMetrics', 'ExactMetrics', 'exactmetrics_view_dashboard', admin_url( 'admin.php?page=exactmetrics_reports#/ecommerce' ), '', 2 );
90
+ } else {
91
+ $submenu_base = add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) );
92
+ add_submenu_page( 'wc-admin&path=/analytics/overview', 'ExactMetrics', 'ExactMetrics', 'manage_options', $submenu_base . '#/woocommerce-insights', '', 1 );
93
+ }
94
+ }
95
+ }
96
+
97
+ add_action( 'admin_menu', 'exactmetrics_woocommerce_menu_item', 11 );
98
+
99
+ function exactmetrics_get_menu_hook() {
100
+ $dashboards_disabled = exactmetrics_get_option( 'dashboards_disabled', false );
101
+ if ( $dashboards_disabled || ( current_user_can( 'exactmetrics_save_settings' ) && ! current_user_can( 'exactmetrics_view_dashboard' ) ) ) {
102
+ return 'exactmetrics_settings';
103
+ } else {
104
+ return 'exactmetrics_reports';
105
+ }
106
+ }
107
+
108
+ function exactmetrics_network_admin_menu() {
109
+ // Get the base class object.
110
+ $base = ExactMetrics();
111
+
112
+ // First, let's see if this is an MS network enabled plugin. If it is, we should load the license
113
+ // menu page and the updater on the network panel
114
+ if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
115
+ require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
116
+ }
117
+
118
+ $plugin = plugin_basename( EXACTMETRICS_PLUGIN_FILE );
119
+ if ( ! is_plugin_active_for_network( $plugin ) ) {
120
+ return;
121
+ }
122
+
123
+ $menu_icon_inline = exactmetrics_get_inline_menu_icon();
124
+ $hook = 'exactmetrics_network';
125
+ $submenu_base = add_query_arg( 'page', 'exactmetrics_network', network_admin_url( 'admin.php' ) );
126
+ add_menu_page( __( 'Network Settings:', 'google-analytics-dashboard-for-wp' ), 'ExactMetrics' . ExactMetrics()->notifications->get_menu_count(), 'exactmetrics_save_settings', 'exactmetrics_network', 'exactmetrics_network_page', $menu_icon_inline, '100.00013467543' );
127
+
128
+ add_submenu_page( $hook, __( 'Network Settings:', 'google-analytics-dashboard-for-wp' ), __( 'Network Settings', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_save_settings', 'exactmetrics_network', 'exactmetrics_network_page' );
129
+
130
+ add_submenu_page( $hook, __( 'General Reports:', 'google-analytics-dashboard-for-wp' ), __( 'Reports', 'google-analytics-dashboard-for-wp' ), 'exactmetrics_view_dashboard', 'exactmetrics_reports', 'exactmetrics_reports_page' );
131
+
132
+ if ( function_exists( 'aioseo' ) ) {
133
+ $seo_url = exactmetrics_aioseo_dashboard_url();
134
+ } else {
135
+ $seo_url = $submenu_base . '#/seo';
136
+ }
137
+ // then seo
138
+ add_submenu_page( $hook, __( 'SEO:', 'google-analytics-dashboard-for-wp' ), __( 'SEO', 'google-analytics-dashboard-for-wp' ), 'manage_options', $seo_url, 'exactmetrics_seo_page' );
139
+
140
+ // then addons
141
+ add_submenu_page( $hook, __( 'Addons:', 'google-analytics-dashboard-for-wp' ), '<span style="color:' . exactmetrics_menu_highlight_color() . '"> ' . __( 'Addons', 'google-analytics-dashboard-for-wp' ) . '</span>', 'exactmetrics_save_settings', $submenu_base . '#/addons' );
142
+
143
+ $submenu_base = add_query_arg( 'page', 'exactmetrics_network', network_admin_url( 'admin.php' ) );
144
+
145
+ // Add About us page.
146
+ add_submenu_page( $hook, __( 'About Us:', 'google-analytics-dashboard-for-wp' ), __( 'About Us', 'google-analytics-dashboard-for-wp' ), 'manage_options', $submenu_base . '#/about' );
147
+ }
148
+ add_action( 'network_admin_menu', 'exactmetrics_network_admin_menu', 5 );
149
+
150
+ /**
151
+ * Adds one or more classes to the body tag in the dashboard.
152
+ *
153
+ * @param String $classes Current body classes.
154
+ * @return String Altered body classes.
155
+ */
156
+ function exactmetrics_add_admin_body_class( $classes ) {
157
+ $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
158
+ if ( empty( $screen ) || empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
159
+ return $classes;
160
+ }
161
+
162
+ return "$classes exactmetrics_page ";
163
+ }
164
+ add_filter( 'admin_body_class', 'exactmetrics_add_admin_body_class', 10, 1 );
165
+
166
+ /**
167
+ * Adds one or more classes to the body tag in the dashboard.
168
+ *
169
+ * @param String $classes Current body classes.
170
+ * @return String Altered body classes.
171
+ */
172
+ function exactmetrics_add_admin_body_class_tools_page( $classes ) {
173
+ $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
174
+
175
+ if ( empty( $screen ) || empty( $screen->id ) || strpos( $screen->id, 'exactmetrics_tools' ) === false || 'insights_page_exactmetrics_tools' === $screen->id ) {
176
+ return $classes;
177
+ }
178
+
179
+ return "$classes insights_page_exactmetrics_tools ";
180
+ }
181
+ add_filter( 'admin_body_class', 'exactmetrics_add_admin_body_class_tools_page', 10, 1 );
182
+
183
+ /**
184
+ * Adds one or more classes to the body tag in the dashboard.
185
+ *
186
+ * @param String $classes Current body classes.
187
+ * @return String Altered body classes.
188
+ */
189
+ function exactmetrics_add_admin_body_class_addons_page( $classes ) {
190
+ $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
191
+ if ( empty( $screen ) || empty( $screen->id ) || strpos( $screen->id, 'exactmetrics_addons' ) === false || 'insights_page_exactmetrics_addons' === $screen->id ) {
192
+ return $classes;
193
+ }
194
+
195
+ return "$classes insights_page_exactmetrics_addons ";
196
+ }
197
+ add_filter( 'admin_body_class', 'exactmetrics_add_admin_body_class_addons_page', 10, 1 );
198
+
199
+ /**
200
+ * Add a link to the settings page to the plugins list
201
+ *
202
+ * @param array $links array of links for the plugins, adapted when the current plugin is found.
203
+ *
204
+ * @return array $links
205
+ */
206
+ function exactmetrics_add_action_links( $links ) {
207
+ $docs = '<a title="' . esc_html__( 'ExactMetrics Knowledge Base', 'google-analytics-dashboard-for-wp' ) . '" href="'. exactmetrics_get_url( 'all-plugins', 'kb-link', "https://www.exactmetrics.com/docs/" ) .'">' . esc_html__( 'Documentation', 'google-analytics-dashboard-for-wp' ) . '</a>';
208
+ array_unshift( $links, $docs );
209
+
210
+ // If Lite, support goes to forum. If pro, it goes to our website
211
+ if ( exactmetrics_is_pro_version() ) {
212
+ $support = '<a title="ExactMetrics Pro Support" href="'. exactmetrics_get_url( 'all-plugins', 'pro-support-link', "https://www.exactmetrics.com/my-account/support/" ) .'">' . esc_html__( 'Support', 'google-analytics-dashboard-for-wp' ) . '</a>';
213
+ array_unshift( $links, $support );
214
+ } else {
215
+ $support = '<a title="ExactMetrics Lite Support" href="'. exactmetrics_get_url( 'all-plugins', 'lite-support-link', "https://www.exactmetrics.com/lite-support/" ) .'">' . esc_html__( 'Support', 'google-analytics-dashboard-for-wp' ) . '</a>';
216
+ array_unshift( $links, $support );
217
+ }
218
+
219
+ if ( is_network_admin() ) {
220
+ $settings_link = '<a href="' . esc_url( network_admin_url( 'admin.php?page=exactmetrics_network' ) ) . '">' . esc_html__( 'Network Settings', 'google-analytics-dashboard-for-wp' ) . '</a>';
221
+ } else {
222
+ $settings_link = '<a href="' . esc_url( admin_url( 'admin.php?page=exactmetrics_settings' ) ) . '">' . esc_html__( 'Settings', 'google-analytics-dashboard-for-wp' ) . '</a>';
223
+ }
224
+
225
+ array_unshift( $links, $settings_link );
226
+
227
+ // If lite, show a link where they can get pro from
228
+ if ( ! exactmetrics_is_pro_version() ) {
229
+ $get_pro = '<a title="' . esc_html__( 'Get ExactMetrics Pro', 'google-analytics-dashboard-for-wp' ) .'" target="_blank" rel="noopener" href="'. exactmetrics_get_upgrade_link( 'all-plugins', 'upgrade-link', "https://www.exactmetrics.com/lite/" ) .'" style="font-weight:700; color: #1da867;">' . esc_html__( 'Get ExactMetrics Pro', 'google-analytics-dashboard-for-wp' ) . '</a>';
230
+ array_unshift( $links, $get_pro );
231
+ }
232
+
233
+ return $links;
234
+ }
235
+ add_filter( 'plugin_action_links_' . plugin_basename( EXACTMETRICS_PLUGIN_FILE ), 'exactmetrics_add_action_links' );
236
+ add_filter( 'network_admin_plugin_action_links_' . plugin_basename( EXACTMETRICS_PLUGIN_FILE ), 'exactmetrics_add_action_links' );
237
+
238
+ /**
239
+ * Loads a partial view for the Administration screen
240
+ *
241
+ * @access public
242
+ * @since 6.0.0
243
+ *
244
+ * @param string $template PHP file at includes/admin/partials, excluding file extension
245
+ * @param array $data Any data to pass to the view
246
+ * @return void
247
+ */
248
+ function exactmetrics_load_admin_partial( $template, $data = array() ) {
249
+
250
+ if ( exactmetrics_is_pro_version() ) {
251
+ $dir = trailingslashit( plugin_dir_path( ExactMetrics()->file ) . 'pro/includes/admin/partials' );
252
+
253
+ if ( file_exists( $dir . $template . '.php' ) ) {
254
+ require_once( $dir . $template . '.php' );
255
+ return true;
256
+ }
257
+ } else {
258
+ $dir = trailingslashit( plugin_dir_path( ExactMetrics()->file ) . 'lite/includes/admin/partials' );
259
+
260
+ if ( file_exists( $dir . $template . '.php' ) ) {
261
+ require_once( $dir . $template . '.php' );
262
+ return true;
263
+ }
264
+ }
265
+
266
+ $dir = trailingslashit( plugin_dir_path( ExactMetrics()->file ) . 'includes/admin/partials' );
267
+
268
+ if ( file_exists( $dir . $template . '.php' ) ) {
269
+ require_once( $dir . $template . '.php' );
270
+ return true;
271
+ }
272
+
273
+ return false;
274
+ }
275
+
276
+ /**
277
+ * When user is on a ExactMetrics related admin page, display footer text
278
+ * that graciously asks them to rate us.
279
+ *
280
+ * @since 6.0.0
281
+ * @param string $text
282
+ * @return string
283
+ */
284
+ function exactmetrics_admin_footer( $text ) {
285
+ global $current_screen;
286
+ if ( ! empty( $current_screen->id ) && strpos( $current_screen->id, 'exactmetrics' ) !== false ) {
287
+ $url = 'https://wordpress.org/support/view/plugin-reviews/google-analytics-dashboard-for-wp?filter=5';
288
+ // Translators: Placeholders add a link to the wordpress.org repository.
289
+ $text = sprintf( esc_html__( 'Please rate %1$sExactMetrics%2$s on %3$s %4$sWordPress.org%5$s to help us spread the word. Thank you from the ExactMetrics team!', 'google-analytics-dashboard-for-wp' ), '<strong>', '</strong>', '<a class="exactmetrics-no-text-decoration" href="' . $url . '" target="_blank" rel="noopener noreferrer"><i class="monstericon-star"></i><i class="monstericon-star"></i><i class="monstericon-star"></i><i class="monstericon-star"></i><i class="monstericon-star"></i></a>', '<a href="' . $url . '" target="_blank" rel="noopener noreferrer">', '</a>' );
290
+ }
291
+ return $text;
292
+ }
293
+ add_filter( 'admin_footer_text', 'exactmetrics_admin_footer', 1, 2 );
294
+
295
+ function exactmetrics_admin_setup_notices() {
296
+
297
+ // Don't show on ExactMetrics pages
298
+ $screen = get_current_screen();
299
+ if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) !== false ) {
300
+ return;
301
+ }
302
+
303
+ // Make sure they have the permissions to do something
304
+ if ( ! current_user_can( 'exactmetrics_save_settings' ) ) {
305
+ return;
306
+ }
307
+
308
+ // Priority:
309
+ // 1. Google Analytics not authenticated
310
+ // 2. License key not entered for pro
311
+ // 3. License key not valid/okay for pro
312
+ // 4. WordPress + PHP min versions
313
+ // 5. (old) Optin setting not configured
314
+ // 6. Manual UA code
315
+ // 7. Automatic updates not configured
316
+ // 8. Woo upsell
317
+ // 9. EDD upsell
318
+
319
+
320
+ // 1. Google Analytics not authenticated
321
+ if ( ! is_network_admin() && ! exactmetrics_get_ua() && ! exactmetrics_get_v4_id() && ! defined( 'EXACTMETRICS_DISABLE_TRACKING' ) ) {
322
+
323
+ $submenu_base = is_network_admin() ? add_query_arg( 'page', 'exactmetrics_network', network_admin_url( 'admin.php' ) ) : add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) );
324
+ $title = esc_html__( 'Please Setup Website Analytics to See Audience Insights', 'google-analytics-dashboard-for-wp' );
325
+ $primary = esc_html__( 'Connect ExactMetrics and Setup Website Analytics', 'google-analytics-dashboard-for-wp' );
326
+ $urlone = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics-onboarding' ) : admin_url( 'admin.php?page=exactmetrics-onboarding' );
327
+ $secondary = esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' );
328
+ $urltwo = $submenu_base . '#/about/getting-started';
329
+ $message = esc_html__( 'ExactMetrics, WordPress analytics plugin, helps you connect your website with Google Analytics, so you can see how people find and use your website. Over 3 million website owners use ExactMetrics to see the stats that matter and grow their business.', 'google-analytics-dashboard-for-wp' );
330
+ echo '<div class="notice notice-info"><p style="font-weight:700">'. $title .'</p><p>'. $message.'</p><p><a href="'. $urlone .'" class="button-primary">'. $primary .'</a>&nbsp;&nbsp;&nbsp;<a href="'. $urltwo .'" class="button-secondary">'. $secondary .'</a></p></div>';
331
+ return;
332
+ }
333
+
334
+ // 2. License key not entered for pro
335
+ $key = exactmetrics_is_pro_version() ? ExactMetrics()->license->get_license_key() : '';
336
+ if ( exactmetrics_is_pro_version() && empty( $key ) ) {
337
+ $page = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network' ) : admin_url( 'admin.php?page=exactmetrics_settings' );
338
+ // Translators: Adds a link to retrieve the license.
339
+ $message = sprintf( esc_html__( 'Warning: No valid license key has been entered for ExactMetrics. You are currently not getting updates, and are not able to view reports. %1$sPlease click here to enter your license key and begin receiving updates and reports.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. esc_url( $page ) . '">', '</a>' );
340
+ echo '<div class="error"><p>'. $message.'</p></div>';
341
+ return;
342
+ }
343
+
344
+ // 3. License key not valid/okay for pro
345
+ if ( exactmetrics_is_pro_version() ) {
346
+ $message = '';
347
+ if ( ExactMetrics()->license->get_site_license_key() ){
348
+ if ( ExactMetrics()->license->site_license_expired() ) {
349
+ // Translators: Adds a link to the license renewal.
350
+ $message = sprintf( esc_html__( 'Your license key for ExactMetrics has expired. %1$sPlease click here to renew your license key.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. exactmetrics_get_url( 'admin-notices', 'expired-license', "https://www.exactmetrics.com/login/" ) .'" target="_blank" rel="noopener noreferrer" referrer="no-referrer">', '</a>' );
351
+ } else if ( ExactMetrics()->license->site_license_disabled() ) {
352
+ $message = esc_html__( 'Your license key for ExactMetrics has been disabled. Please use a different key.', 'google-analytics-dashboard-for-wp' );
353
+ } else if ( ExactMetrics()->license->site_license_invalid() ) {
354
+ $message = esc_html__( 'Your license key for ExactMetrics is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key.', 'google-analytics-dashboard-for-wp' );
355
+ }
356
+ } else if ( ExactMetrics()->license->get_network_license_key() ) {
357
+ if ( ExactMetrics()->license->network_license_expired() ) {
358
+ // Translators: Adds a link to renew license.
359
+ $message = sprintf( esc_html__( 'Your network license key for ExactMetrics has expired. %1$sPlease click here to renew your license key.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. exactmetrics_get_url( 'admin-notices', 'expired-license', "https://www.exactmetrics.com/login/" ) .'" target="_blank" rel="noopener noreferrer" referrer="no-referrer">', '</a>' );
360
+ } else if ( ExactMetrics()->license->network_license_disabled() ) {
361
+ $message = esc_html__( 'Your network license key for ExactMetrics has been disabled. Please use a different key.', 'google-analytics-dashboard-for-wp' );
362
+ } else if ( ExactMetrics()->license->network_license_invalid() ) {
363
+ $message = esc_html__( 'Your network license key for ExactMetrics is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key.', 'google-analytics-dashboard-for-wp' );
364
+ }
365
+ }
366
+ if ( ! empty( $message ) ) {
367
+ echo '<div class="error"><p>'. $message.'</p></div>';
368
+ return;
369
+ }
370
+ }
371
+
372
+ // 4. Notices for PHP/WP version deprecations
373
+ if ( current_user_can( 'update_core' ) ) {
374
+ global $wp_version;
375
+
376
+ $compatible_php_version = apply_filters( 'exactmetrics_compatible_php_version', false );
377
+ $compatible_wp_version = apply_filters( 'exactmetrics_compatible_wp_version', false );
378
+
379
+ $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-php/' );
380
+
381
+ $message = false;
382
+ if ( version_compare( phpversion(), $compatible_php_version['required'], '<' ) ) {
383
+ // Translators: Placeholders add the PHP version, a link to the ExactMetrics blog and a line break.
384
+ $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress stopped supporting your PHP version in April, 2019.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
385
+ } else if ( version_compare( phpversion(), $compatible_php_version['warning'], '<' ) ) {
386
+ // Translators: Placeholders add the PHP version, a link to the ExactMetrics blog and a line break.
387
+ $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress stopped supporting your PHP version in November, 2019.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
388
+ } else if ( version_compare( phpversion(), $compatible_php_version['recommended'], '<' ) ) {
389
+ // Translators: Placeholders add the PHP version, a link to the ExactMetrics blog and a line break.
390
+ $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress is working towards discontinuing support for your PHP version.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
391
+ }
392
+
393
+ if ( $message ) {
394
+ echo '<div class="error"><p>'. $message.'</p></div>';
395
+ return;
396
+ }
397
+
398
+ // WordPress 4.9
399
+ /* else if ( version_compare( $wp_version, '5.0', '<' ) ) {
400
+ $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-wordpress/' );
401
+ // Translators: Placeholders add the current WordPress version and links to the ExactMetrics blog
402
+ $message = sprintf( esc_html__( 'Your site is running an outdated version of WordPress (%1$s).%4$sExactMetrics will stop supporting WordPress versions lower than 5.0 in 2021.%4$sUpdating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install.%4$s%2$sLearn more about updating WordPress%3$s', 'google-analytics-dashboard-for-wp' ), $wp_version, '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
403
+ echo '<div class="error"><p>'. $message.'</p></div>';
404
+ return;
405
+ } */
406
+ // PHP 5.4/5.5
407
+ // else if ( version_compare( phpversion(), '5.6', '<' ) ) {
408
+ // $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-php/' );
409
+ // $message = sprintf( esc_html__( 'Your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked.%4$sWordPress will stop supporting your PHP version in April, 2019.%4$sUpdating PHP only takes a few minutes and will make your website significantly faster and more secure.%4$s%2$sLearn more about updating PHP%3$s', 'google-analytics-dashboard-for-wp' ), phpversion(), '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
410
+ // echo '<div class="error"><p>'. $message.'</p></div>';
411
+ // return;
412
+ // }
413
+ // // WordPress 4.6 - 4.8
414
+ // else if ( version_compare( $wp_version, '4.9', '<' ) ) {
415
+ // $url = exactmetrics_get_url( 'global-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-wordpress/' );
416
+ // $message = sprintf( esc_html__( 'Your site is running an outdated version of WordPress (%1$s).%4$sExactMetrics will stop supporting WordPress versions lower than 4.9 in October, 2019.%4$sUpdating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install.%4$s%2$sLearn more about updating WordPress%3$s', 'google-analytics-dashboard-for-wp' ), $wp_version, '<a href="' . $url . '" target="_blank">', '</a>', '<br>' );
417
+ // echo '<div class="error"><p>'. $message.'</p></div>';
418
+ // return;
419
+ // }
420
+ }
421
+
422
+ // 5. Optin setting not configured
423
+ // if ( ! is_network_admin() ) {
424
+ // if ( ! get_option( 'exactmetrics_tracking_notice' ) ) {
425
+ // if ( ! exactmetrics_get_option( 'anonymous_data', false ) ) {
426
+ // if ( ! exactmetrics_is_dev_url( network_site_url( '/' ) ) ) {
427
+ // if ( exactmetrics_is_pro_version() ) {
428
+ // exactmetrics_update_option( 'anonymous_data', 1 );
429
+ // return;
430
+ // }
431
+ // $optin_url = add_query_arg( 'mi_action', 'opt_into_tracking' );
432
+ // $optout_url = add_query_arg( 'mi_action', 'opt_out_of_tracking' );
433
+ // echo '<div class="updated"><p>';
434
+ // echo esc_html__( 'Allow ExactMetrics to track plugin usage? Opt-in to tracking and our newsletter to stay informed of the latest changes to ExactMetrics and help us ensure compatibility.', 'google-analytics-dashboard-for-wp' );
435
+ // echo '&nbsp;<a href="' . esc_url( $optin_url ) . '" class="button-secondary">' . __( 'Allow', 'google-analytics-dashboard-for-wp' ) . '</a>';
436
+ // echo '&nbsp;<a href="' . esc_url( $optout_url ) . '" class="button-secondary">' . __( 'Do not allow', 'google-analytics-dashboard-for-wp' ) . '</a>';
437
+ // echo '</p></div>';
438
+ // return;
439
+ // } else {
440
+ // // is testing site
441
+ // update_option( 'exactmetrics_tracking_notice', '1' );
442
+ // }
443
+ // }
444
+ // }
445
+ // }
446
+
447
+ $notices = get_option( 'exactmetrics_notices' );
448
+ if ( ! is_array( $notices ) ) {
449
+ $notices = array();
450
+ }
451
+
452
+ // 6. Authenticate, not manual
453
+ $authed = ExactMetrics()->auth->is_authed() || ExactMetrics()->auth->is_network_authed();
454
+ $url = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network' ) : admin_url( 'admin.php?page=exactmetrics_settings' );
455
+ $ua_code = exactmetrics_get_ua_to_output();
456
+ // Translators: Placeholders add links to the settings panel.
457
+ $manual_text = sprintf( esc_html__( 'Important: You are currently using manual UA code output. We highly recommend %1$sauthenticating with ExactMetrics%2$s so that you can access our new reporting area and take advantage of new ExactMetrics features.', 'google-analytics-dashboard-for-wp' ), '<a href="' . $url . '">', '</a>' );
458
+ $migrated = exactmetrics_get_option( 'gadwp_migrated', 0 );
459
+ if ( $migrated > 0 ) {
460
+ $url = admin_url( 'admin.php?page=exactmetrics-getting-started&exactmetrics-migration=1' );
461
+ // Translators: Placeholders add links to the settings panel.
462
+ $text = esc_html__( 'Click %1$shere%2$s to reauthenticate to be able to access reports. For more information why this is required, see our %3$sblog post%4$s.', 'google-analytics-dashboard-for-wp' );
463
+ $manual_text = sprintf( $text, '<a href="' . $url . '">', '</a>', '<a href="' . exactmetrics_get_url( 'notice', 'manual-ua', 'https://www.exactmetrics.com/why-did-we-implement-the-new-google-analytics-authentication-flow-challenges-explained/' ) . '" target="_blank">', '</a>' );
464
+ }
465
+
466
+ if ( empty( $authed ) && ! isset( $notices['exactmetrics_auth_not_manual'] ) && ! empty( $ua_code ) ) {
467
+ echo '<div class="notice notice-info is-dismissible exactmetrics-notice" data-notice="exactmetrics_auth_not_manual">';
468
+ echo '<p>';
469
+ echo $manual_text;
470
+ echo '</p>';
471
+ echo '</div>';
472
+
473
+ return;
474
+ }
475
+
476
+ // 7. Automatic updates not configured
477
+ // if ( ! is_network_admin() ) {
478
+ // $updates = exactmetrics_get_option( 'automatic_updates', false );
479
+ // $url = admin_url( 'admin.php?page=exactmetrics_settings' );
480
+
481
+ // if ( empty( $updates) && ! isset( $notices['exactmetrics_automatic_updates' ] ) ) {
482
+ // echo '<div class="notice notice-info is-dismissible exactmetrics-notice" data-notice="exactmetrics_automatic_updates">';
483
+ // echo '<p>';
484
+ // echo sprintf( esc_html__( 'Important: Please %1$sconfigure the Automatic Updates Settings%2$s in ExactMetrics.', 'google-analytics-dashboard-for-wp' ), '<a href="' . $url .'">', '</a>' );
485
+ // echo '</p>';
486
+ // echo '</div>';
487
+ // return;
488
+ // }
489
+ // }
490
+
491
+ // 8. WooUpsell
492
+ if ( ! exactmetrics_is_pro_version() && class_exists( 'WooCommerce' ) ) {
493
+ if ( ! isset( $notices['exactmetrics_woocommerce_tracking_available' ] ) ) {
494
+ echo '<div class="notice notice-success is-dismissible exactmetrics-notice exactmetrics-wooedd-upsell-row" data-notice="exactmetrics_woocommerce_tracking_available">';
495
+ echo '<div class="exactmetrics-wooedd-upsell-left">';
496
+ echo '<p><strong>';
497
+ echo esc_html( 'Enhanced Ecommerce Analytics for Your WooCommerce Store', 'google-analytics-dashboard-for-wp' );
498
+ echo '</strong></p>';
499
+ echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-small" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
500
+ echo '<p>';
501
+ echo esc_html( 'ExactMetrics Pro gives you detailed stats and insights about your customers.', 'google-analytics-dashboard-for-wp' );
502
+ echo '</p>';
503
+ echo '<p>';
504
+ echo esc_html( 'This helps you make data-driven decisions about your content, and marketing strategy so you can increase your website traffic, leads, and sales.', 'google-analytics-dashboard-for-wp' );
505
+ echo '</p>';
506
+ echo '<p>';
507
+ echo esc_html( 'Pro customers also get Form Tracking, Custom Dimensions Tracking, UserID Tracking and much more.', 'google-analytics-dashboard-for-wp' );
508
+ echo '</p>';
509
+ echo '<p>';
510
+ echo esc_html( 'Start making data-driven decisions to grow your business.', 'google-analytics-dashboard-for-wp' );
511
+ echo '</p>';
512
+ // Translators: Placeholders add a link to the ExactMetrics website.
513
+ echo sprintf( esc_html__( '%1$sGet ExactMetrics Pro%2$s', 'google-analytics-dashboard-for-wp' ), '<a class="button button-primary button-hero" target="_blank" href="'. exactmetrics_get_upgrade_link( 'admin-notices', 'woocommerce-upgrade' ) .'">', ' &raquo;</a>' );
514
+ echo '</p>';
515
+ echo '</div><div class="exactmetrics-wooedd-upsell-right">';
516
+ echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-large" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
517
+ echo '</div>';
518
+ echo '</div>';
519
+ echo '<style type="text/css">.exactmetrics-wooedd-upsell-left{width:50%;display:table-cell;float:left}.exactmetrics-wooedd-upsell-right{width:50%;display:table-cell;float:left}.exactmetrics-wooedd-upsell-image{width:100%;height:auto;padding:20px}.exactmetrics-wooedd-upsell-image-small{display:none}.exactmetrics-wooedd-upsell-row{display:table}.exactmetrics-wooedd-upsell-left p{margin:1em 0;font-size:16px}@media (max-width:900px){.exactmetrics-wooedd-upsell-left{width:100%}.exactmetrics-wooedd-upsell-right{display:none}.exactmetrics-wooedd-upsell-image-small{display:block}.exactmetrics-wooedd-upsell-image-large{display:none}}</style>';
520
+ return;
521
+ }
522
+ }
523
+
524
+ // 9. EDDUpsell
525
+ if ( ! exactmetrics_is_pro_version() && class_exists( 'Easy_Digital_Downloads' ) ) {
526
+ if ( ! isset( $notices['exactmetrics_edd_tracking_available' ] ) ) {
527
+ echo '<div class="notice notice-success is-dismissible exactmetrics-notice exactmetrics-wooedd-upsell-row" data-notice="exactmetrics_edd_tracking_available">';
528
+ echo '<div class="exactmetrics-wooedd-upsell-left">';
529
+ echo '<p><strong>';
530
+ echo esc_html( 'Enhanced Ecommerce Analytics for Your Easy Digital Downloads Store', 'google-analytics-dashboard-for-wp' );
531
+ echo '</strong></p>';
532
+ echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-small" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
533
+ echo '<p>';
534
+ echo esc_html( 'ExactMetrics Pro gives you detailed stats and insights about your customers.', 'google-analytics-dashboard-for-wp' );
535
+ echo '</p>';
536
+ echo '<p>';
537
+ echo esc_html( 'This helps you make data-driven decisions about your content, and marketing strategy so you can increase your website traffic, leads, and sales.', 'google-analytics-dashboard-for-wp' );
538
+ echo '</p>';
539
+ echo '<p>';
540
+ echo esc_html( 'Pro customers also get Form Tracking, Custom Dimensions Tracking, UserID Tracking and much more.', 'google-analytics-dashboard-for-wp' );
541
+ echo '</p>';
542
+ echo '<p>';
543
+ echo esc_html( 'Start making data-driven decisions to grow your business.', 'google-analytics-dashboard-for-wp' );
544
+ echo '</p>';
545
+ echo sprintf( esc_html__( '%1$sGet ExactMetrics Pro%2$s', 'google-analytics-dashboard-for-wp' ), '<a class="button button-primary button-hero" target="_blank" href="'. exactmetrics_get_upgrade_link( 'admin-notices', 'edd-upgrade' ) .'">', ' &raquo;</a>' );
546
+ echo '</p>';
547
+ echo '</div><div class="exactmetrics-wooedd-upsell-right">';
548
+ echo '<img class="exactmetrics-wooedd-upsell-image exactmetrics-wooedd-upsell-image-large" src="' . trailingslashit( EXACTMETRICS_PLUGIN_URL ) . 'assets/images/upsell/woo-edd-upsell.png">';
549
+ echo '</div>';
550
+ echo '</div>';
551
+ return;
552
+ }
553
+ }
554
+
555
+ if ( isset( $notices['exactmetrics_cross_domains_extracted'] ) && false === $notices['exactmetrics_cross_domains_extracted'] ) {
556
+ $page = is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network' ) : admin_url( 'admin.php?page=exactmetrics_settings' );
557
+ $page = $page . '#/advanced';
558
+ // Translators: Adds a link to the settings panel.
559
+ $message = sprintf( esc_html__( 'Warning: ExactMetrics found cross-domain settings in the custom code field and converted them to the new settings structure. %1$sPlease click here to review and remove the code no longer needed.%2$s', 'google-analytics-dashboard-for-wp' ), '<a href="'. esc_url( $page ) . '">', '</a>' );
560
+ echo '<div class="notice notice-success is-dismissible exactmetrics-notice" data-notice="exactmetrics_cross_domains_extracted"><p>'. $message.'</p></div>';
561
+ return;
562
+ }
563
+ }
564
+ add_action( 'admin_notices', 'exactmetrics_admin_setup_notices' );
565
+ add_action( 'network_admin_notices', 'exactmetrics_admin_setup_notices' );
566
+
567
+
568
+ // AM Notices
569
+ function exactmetrics_am_notice_optout( $super_admin ) {
570
+ if ( exactmetrics_get_option( 'hide_am_notices', false ) || exactmetrics_get_option( 'network_hide_am_notices', false ) ) {
571
+ return false;
572
+ }
573
+ return $super_admin;
574
+ }
575
+ add_filter( "am_notifications_display", 'exactmetrics_am_notice_optout', 10, 1 );
576
+
577
+ /**
578
+ * Inline critical css for the menu to prevent breaking the layout when our scripts get blocked by browsers.
579
+ */
580
+ function exactmetrics_admin_menu_inline_styles() {
581
+ ?>
582
+ <style type="text/css">
583
+ #toplevel_page_exactmetrics_reports .wp-menu-image img,
584
+ #toplevel_page_exactmetrics_settings .wp-menu-image img,
585
+ #toplevel_page_exactmetrics_network .wp-menu-image img {
586
+ width: 18px;
587
+ height: auto;
588
+ padding-top: 7px;
589
+ }
590
+ </style>
591
+ <?php
592
+ }
593
+
594
+ add_action( 'admin_head', 'exactmetrics_admin_menu_inline_styles', 300 );
595
+
596
+ /**
597
+ * Display notice in admin when measurement protocol is left blank
598
+ */
599
+ function exactmetrics_empty_measurement_protocol_token() {
600
+ if ( ! class_exists( 'ExactMetrics_eCommerce' ) && ! class_exists( 'ExactMetrics_Forms' ) ) {
601
+ return;
602
+ }
603
+
604
+ $page = is_network_admin()
605
+ ? network_admin_url( 'admin.php?page=exactmetrics_network' )
606
+ : admin_url( 'admin.php?page=exactmetrics_settings' );
607
+
608
+ $api_secret = is_network_admin()
609
+ ? ExactMetrics()->auth->get_network_measurement_protocol_secret()
610
+ : ExactMetrics()->auth->get_measurement_protocol_secret();
611
+
612
+ $current_code = exactmetrics_get_v4_id_to_output();
613
+
614
+ if ( empty( $current_code ) || ! empty( $api_secret ) ) {
615
+ return;
616
+ }
617
+
618
+ $message = sprintf(
619
+ esc_html__(
620
+ 'Your Measurement Protocol API Secret is currently left blank, so you won\'t be able to use some of the tracking features with your GA4 property. %1$sPlease enter your Measurement Protocol API Secret here.%2$s',
621
+ 'google-analytics-dashboard-for-wp'
622
+ ),
623
+ '<a href="' . esc_url( $page ). '">',
624
+ '</a>'
625
+ );
626
+ echo '<div class="error"><p>'. $message.'</p></div>';
627
+ }
628
+
629
+ add_action( 'admin_notices', 'exactmetrics_empty_measurement_protocol_token' );
630
+ add_action( 'network_admin_notices', 'exactmetrics_admin_setup_notices' );
includes/admin/common.php CHANGED
@@ -1,964 +1,964 @@
1
- <?php
2
- /**
3
- * Common admin class.
4
- *
5
- * @since 6.0.0
6
- *
7
- * @package ExactMetrics
8
- * @subpackage Common
9
- * @author Chris Christoff
10
- */
11
-
12
- // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- function exactmetrics_is_settings_page() {
18
- $current_screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
19
- global $admin_page_hooks;
20
-
21
- if ( ! is_object( $current_screen ) || empty( $current_screen->id ) || empty( $admin_page_hooks ) ) {
22
- return false;
23
- }
24
-
25
- $settings_page = false;
26
- if ( ! empty( $admin_page_hooks['exactmetrics_settings'] ) && $current_screen->id === $admin_page_hooks['exactmetrics_settings'] ) {
27
- $settings_page = true;
28
- }
29
-
30
- if ( $current_screen->id === 'toplevel_page_exactmetrics_settings' ) {
31
- $settings_page = true;
32
- }
33
-
34
- if ( $current_screen->id === 'exactmetrics_page_exactmetrics_settings' ) {
35
- $settings_page = true;
36
- }
37
-
38
- if ( strpos( $current_screen->id, 'exactmetrics_settings' ) !== false ) {
39
- $settings_page = true;
40
- }
41
-
42
- if ( ! empty( $current_screen->base ) && strpos( $current_screen->base, 'exactmetrics_network' ) !== false ) {
43
- $settings_page = true;
44
- }
45
-
46
- return $settings_page;
47
- }
48
-
49
- /**
50
- * Determine if the current page is the Reports page.
51
- *
52
- * @return bool
53
- */
54
- function exactmetrics_is_reports_page() {
55
- $current_screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
56
- global $admin_page_hooks;
57
-
58
- if ( ! is_object( $current_screen ) || empty( $current_screen->id ) || empty( $admin_page_hooks ) ) {
59
- return false;
60
- }
61
-
62
- $reports_page = false;
63
- if ( ! empty( $admin_page_hooks['exactmetrics_reports'] ) && $current_screen->id === $admin_page_hooks['exactmetrics_reports'] ) {
64
- $reports_page = true;
65
- }
66
-
67
- if ( 'toplevel_page_exactmetrics_reports' === $current_screen->id ) {
68
- $reports_page = true;
69
- }
70
-
71
- if ( strpos( $current_screen->id, 'exactmetrics_reports' ) !== false ) {
72
- $reports_page = true;
73
- }
74
-
75
- return $reports_page;
76
- }
77
-
78
- /**
79
- * Loads styles for all ExactMetrics-based Administration Screens.
80
- *
81
- * @return null Return early if not on the proper screen.
82
- * @since 6.0.0
83
- * @access public
84
- *
85
- */
86
- function exactmetrics_admin_styles() {
87
-
88
- $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
89
-
90
- // Load Common admin styles.
91
- wp_register_style( 'exactmetrics-admin-common-style', plugins_url( 'assets/css/admin-common' . $suffix . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
92
- wp_enqueue_style( 'exactmetrics-admin-common-style' );
93
-
94
- // Get current screen.
95
- $screen = get_current_screen();
96
-
97
- // Bail if we're not on a ExactMetrics screen.
98
- if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
99
- return;
100
- }
101
-
102
- $version_path = exactmetrics_is_pro_version() ? 'pro' : 'lite';
103
- $rtl = is_rtl() ? '.rtl' : '';
104
-
105
- // For the settings page, load the Vue app styles.
106
- if ( exactmetrics_is_settings_page() ) {
107
- if ( ! defined( 'EXACTMETRICS_LOCAL_JS_URL' ) ) {
108
- wp_enqueue_style( 'exactmetrics-vue-style-vendors', plugins_url( $version_path . '/assets/vue/css/chunk-vendors' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
109
- wp_enqueue_style( 'exactmetrics-vue-style-common', plugins_url( $version_path . '/assets/vue/css/chunk-common' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
110
- wp_enqueue_style( 'exactmetrics-vue-style', plugins_url( $version_path . '/assets/vue/css/settings' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
111
- }
112
-
113
- // Don't load other styles on the settings page.
114
- return;
115
- }
116
-
117
- if ( exactmetrics_is_reports_page() ) {
118
- if ( ! defined( 'EXACTMETRICS_LOCAL_REPORTS_JS_URL' ) ) {
119
- wp_enqueue_style( 'exactmetrics-vue-style-vendors', plugins_url( $version_path . '/assets/vue/css/chunk-vendors' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
120
- wp_enqueue_style( 'exactmetrics-vue-style-common', plugins_url( $version_path . '/assets/vue/css/chunk-common' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
121
- wp_enqueue_style( 'exactmetrics-vue-style', plugins_url( $version_path . '/assets/vue/css/reports' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
122
- }
123
-
124
- return;
125
- }
126
-
127
- // Tooltips
128
- wp_enqueue_script( 'jquery-ui-tooltip' );
129
- }
130
-
131
- add_action( 'admin_enqueue_scripts', 'exactmetrics_admin_styles' );
132
-
133
- /**
134
- * Loads scripts for all ExactMetrics-based Administration Screens.
135
- *
136
- * @return null Return early if not on the proper screen.
137
- * @since 6.0.0
138
- * @access public
139
- *
140
- */
141
- function exactmetrics_admin_scripts() {
142
-
143
- // Our Common Admin JS.
144
- $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
145
-
146
- wp_register_script( 'exactmetrics-admin-common-script', plugins_url( 'assets/js/admin-common' . $suffix . '.js', EXACTMETRICS_PLUGIN_FILE ), array( 'jquery' ), exactmetrics_get_asset_version(), true );
147
-
148
- wp_enqueue_script( 'exactmetrics-admin-common-script' );
149
-
150
- wp_localize_script(
151
- 'exactmetrics-admin-common-script',
152
- 'exactmetrics_admin_common',
153
- array(
154
- 'ajax' => admin_url( 'admin-ajax.php' ),
155
- 'dismiss_notice_nonce' => wp_create_nonce( 'exactmetrics-dismiss-notice' ),
156
- )
157
- );
158
-
159
- // Get current screen.
160
- $screen = get_current_screen();
161
-
162
- // Bail if we're not on a ExactMetrics screen.
163
- if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
164
- return;
165
- }
166
-
167
- $version_path = exactmetrics_is_pro_version() ? 'pro' : 'lite';
168
-
169
- // For the settings page, load the Vue app.
170
- if ( exactmetrics_is_settings_page() ) {
171
- if ( ! defined( 'EXACTMETRICS_LOCAL_VENDORS_JS_URL' ) ) {
172
- wp_enqueue_script( 'exactmetrics-vue-vendors', plugins_url( $version_path . '/assets/vue/js/chunk-vendors.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
173
- wp_enqueue_script( 'exactmetrics-vue-common', plugins_url( $version_path . '/assets/vue/js/chunk-common.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
174
- } else {
175
- wp_enqueue_script( 'exactmetrics-vue-vendors', EXACTMETRICS_LOCAL_VENDORS_JS_URL, array(), exactmetrics_get_asset_version(), true );
176
- wp_enqueue_script( 'exactmetrics-vue-common', EXACTMETRICS_LOCAL_COMMON_JS_URL, array(), exactmetrics_get_asset_version(), true );
177
- }
178
- $app_js_url = defined( 'EXACTMETRICS_LOCAL_JS_URL' ) && EXACTMETRICS_LOCAL_JS_URL ? EXACTMETRICS_LOCAL_JS_URL : plugins_url( $version_path . '/assets/vue/js/settings.js', EXACTMETRICS_PLUGIN_FILE );
179
- wp_register_script( 'exactmetrics-vue-script', $app_js_url, array(), exactmetrics_get_asset_version(), true );
180
- wp_enqueue_script( 'exactmetrics-vue-script' );
181
- $plugins = get_plugins();
182
- $install_amp_url = false;
183
- if ( exactmetrics_can_install_plugins() ) {
184
- $amp_key = 'amp/amp.php';
185
- if ( array_key_exists( $amp_key, $plugins ) ) {
186
- $install_amp_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=' . $amp_key ), 'activate-plugin_' . $amp_key );
187
- } else {
188
- $install_amp_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=amp' ), 'install-plugin_amp' );
189
- }
190
- }
191
- $install_woocommerce_url = false;
192
- if ( exactmetrics_can_install_plugins() ) {
193
- $woo_key = 'woocommerce/woocommerce.php';
194
- if ( array_key_exists( $woo_key, $plugins ) ) {
195
- $install_woocommerce_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=' . $woo_key ), 'activate-plugin_' . $woo_key );
196
- } else {
197
- $install_woocommerce_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=woocommerce' ), 'install-plugin_woocommerce' );
198
- }
199
- }
200
- $install_fbia_url = false;
201
- if ( exactmetrics_can_install_plugins() ) {
202
- $fbia_key = 'fb-instant-articles/facebook-instant-articles.php';
203
- if ( array_key_exists( $fbia_key, $plugins ) ) {
204
- $install_fbia_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=' . $fbia_key ), 'activate-plugin_' . $fbia_key );
205
- } else {
206
- $install_fbia_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=fb-instant-articles' ), 'install-plugin_fb-instant-articles' );
207
- }
208
- }
209
-
210
- $prepared_dimensions = array();
211
- if ( class_exists( 'ExactMetrics_Admin_Custom_Dimensions' ) ) {
212
- $dimensions = new ExactMetrics_Admin_Custom_Dimensions();
213
- $dimensions = $dimensions->custom_dimensions();
214
- $prepared_dimensions = array();
215
- foreach ( $dimensions as $dimension_type => $dimension ) {
216
- $dimension['type'] = $dimension_type;
217
- $prepared_dimensions[] = $dimension;
218
- }
219
- }
220
- $is_authed = ( ExactMetrics()->auth->is_authed() || ExactMetrics()->auth->is_network_authed() );
221
-
222
- wp_localize_script(
223
- 'exactmetrics-vue-script',
224
- 'exactmetrics',
225
- array(
226
- 'ajax' => admin_url( 'admin-ajax.php' ),
227
- 'nonce' => wp_create_nonce( 'mi-admin-nonce' ),
228
- 'network' => is_network_admin(),
229
- 'translations' => wp_get_jed_locale_data( exactmetrics_is_pro_version() ? 'exactmetrics-premium' : 'google-analytics-dashboard-for-wp' ),
230
- 'assets' => plugins_url( $version_path . '/assets/vue', EXACTMETRICS_PLUGIN_FILE ),
231
- 'roles' => exactmetrics_get_roles(),
232
- 'roles_manage_options' => exactmetrics_get_manage_options_roles(),
233
- 'shareasale_id' => exactmetrics_get_shareasale_id(),
234
- 'shareasale_url' => exactmetrics_get_shareasale_url( exactmetrics_get_shareasale_id(), '' ),
235
- 'addons_url' => is_multisite() ? network_admin_url( 'admin.php?page=exactmetrics_network#/addons' ) : admin_url( 'admin.php?page=exactmetrics_settings#/addons' ),
236
- 'seo_settings_page_url' => is_multisite() ? network_admin_url( 'admin.php?page=exactmetrics_network#/seo' ) : admin_url( 'admin.php?page=exactmetrics_settings#/seo' ),
237
- 'aioseo_dashboard_url' => is_multisite() ? network_admin_url( 'admin.php?page=aioseo' ) : admin_url( 'admin.php?page=aioseo' ),
238
- 'wp_plugins_page_url' => is_multisite() ? network_admin_url( 'plugins.php' ) : admin_url( 'plugins.php' ),
239
- 'email_summary_url' => admin_url( 'admin.php?exactmetrics_email_preview&exactmetrics_email_template=summary' ),
240
- 'install_amp_url' => $install_amp_url,
241
- 'install_fbia_url' => $install_fbia_url,
242
- 'install_woo_url' => $install_woocommerce_url,
243
- 'dimensions' => $prepared_dimensions,
244
- 'wizard_url' => is_network_admin() ? network_admin_url( 'index.php?page=exactmetrics-onboarding' ) : admin_url( 'index.php?page=exactmetrics-onboarding' ),
245
- 'install_plugins' => exactmetrics_can_install_plugins(),
246
- 'unfiltered_html' => current_user_can( 'unfiltered_html' ),
247
- 'activate_nonce' => wp_create_nonce( 'exactmetrics-activate' ),
248
- 'deactivate_nonce' => wp_create_nonce( 'exactmetrics-deactivate' ),
249
- 'install_nonce' => wp_create_nonce( 'exactmetrics-install' ),
250
- // Used to add notices for future deprecations.
251
- 'versions' => exactmetrics_get_php_wp_version_warning_data(),
252
- 'plugin_version' => EXACTMETRICS_VERSION,
253
- 'is_admin' => true,
254
- 'admin_email' => get_option( 'admin_email' ),
255
- 'site_url' => get_site_url(),
256
- 'reports_url' => add_query_arg( 'page', 'exactmetrics_reports', admin_url( 'admin.php' ) ),
257
- 'ecommerce_report_url' => add_query_arg( 'page', 'exactmetrics_reports#/ecommerce', admin_url( 'admin.php' ) ),
258
- 'ecommerce_settings_tab_url' => add_query_arg( 'page', 'exactmetrics_settings#/ecommerce', admin_url( 'admin.php' ) ),
259
- 'first_run_notice' => apply_filters( 'exactmetrics_settings_first_time_notice_hide', exactmetrics_get_option( 'exactmetrics_first_run_notice' ) ),
260
- 'getting_started_url' => is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network#/about' ) : admin_url( 'admin.php?page=exactmetrics_settings#/about/getting-started' ),
261
- 'authed' => $is_authed,
262
- 'new_pretty_link_url' => admin_url( 'post-new.php?post_type=pretty-link' ),
263
- 'wpmailsmtp_admin_url' => admin_url( 'admin.php?page=wp-mail-smtp' ),
264
- 'load_headline_analyzer_settings' => exactmetrics_load_gutenberg_app() ? 'true' : 'false',
265
- )
266
- );
267
-
268
- // Don't load other scripts on the settings page.
269
- return;
270
- }
271
-
272
- if ( exactmetrics_is_reports_page() ) {
273
- global $wp_version;
274
- if ( ! defined( 'EXACTMETRICS_LOCAL_VENDORS_JS_URL' ) ) {
275
- wp_enqueue_script( 'exactmetrics-vue-vendors', plugins_url( $version_path . '/assets/vue/js/chunk-vendors.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
276
- wp_enqueue_script( 'exactmetrics-vue-common', plugins_url( $version_path . '/assets/vue/js/chunk-common.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
277
- } else {
278
- wp_enqueue_script( 'exactmetrics-vue-vendors', EXACTMETRICS_LOCAL_VENDORS_JS_URL, array(), exactmetrics_get_asset_version(), true );
279
- wp_enqueue_script( 'exactmetrics-vue-common', EXACTMETRICS_LOCAL_COMMON_JS_URL, array(), exactmetrics_get_asset_version(), true );
280
- }
281
- $app_js_url = defined( 'EXACTMETRICS_LOCAL_REPORTS_JS_URL' ) && EXACTMETRICS_LOCAL_REPORTS_JS_URL ? EXACTMETRICS_LOCAL_REPORTS_JS_URL : plugins_url( $version_path . '/assets/vue/js/reports.js', EXACTMETRICS_PLUGIN_FILE );
282
- wp_register_script( 'exactmetrics-vue-reports', $app_js_url, array(), exactmetrics_get_asset_version(), true );
283
- wp_enqueue_script( 'exactmetrics-vue-reports' );
284
-
285
- // We do not have a current auth.
286
- $auth = ExactMetrics()->auth;
287
- $site_auth = $auth->get_viewname();
288
- $ms_auth = is_multisite() && $auth->get_network_viewname();
289
-
290
- wp_localize_script(
291
- 'exactmetrics-vue-reports',
292
- 'exactmetrics',
293
- array(
294
- 'ajax' => admin_url( 'admin-ajax.php' ),
295
- 'nonce' => wp_create_nonce( 'mi-admin-nonce' ),
296
- 'network' => is_network_admin(),
297
- 'translations' => wp_get_jed_locale_data( exactmetrics_is_pro_version() ? 'exactmetrics-premium' : 'google-analytics-dashboard-for-wp' ),
298
- 'assets' => plugins_url( $version_path . '/assets/vue', EXACTMETRICS_PLUGIN_FILE ),
299
- 'shareasale_id' => exactmetrics_get_shareasale_id(),
300
- 'shareasale_url' => exactmetrics_get_shareasale_url( exactmetrics_get_shareasale_id(), '' ),
301
- 'addons_url' => is_multisite() ? network_admin_url( 'admin.php?page=exactmetrics_network#/addons' ) : admin_url( 'admin.php?page=exactmetrics_settings#/addons' ),
302
- 'timezone' => date( 'e' ),
303
- 'authed' => $site_auth || $ms_auth,
304
- 'auth_connected_type' => $auth->get_connected_type(),
305
- 'settings_url' => add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) ),
306
- // Used to add notices for future deprecations.
307
- 'versions' => exactmetrics_get_php_wp_version_warning_data(),
308
- 'plugin_version' => EXACTMETRICS_VERSION,
309
- 'is_admin' => true,
310
- 'admin_email' => get_option( 'admin_email' ),
311
- 'site_url' => get_site_url(),
312
- 'wizard_url' => is_network_admin() ? network_admin_url( 'index.php?page=exactmetrics-onboarding' ) : admin_url( 'index.php?page=exactmetrics-onboarding' ),
313
- 'install_nonce' => wp_create_nonce( 'exactmetrics-install' ),
314
- 'activate_nonce' => wp_create_nonce( 'exactmetrics-activate' ),
315
- 'deactivate_nonce' => wp_create_nonce( 'exactmetrics-deactivate' ),
316
- 'update_settings' => current_user_can( 'exactmetrics_save_settings' ),
317
- 'migrated' => exactmetrics_get_option( 'gadwp_migrated', 0 ),
318
- )
319
- );
320
-
321
- return;
322
- }
323
-
324
- // ublock notice
325
- add_action( 'admin_print_footer_scripts', 'exactmetrics_settings_ublock_error_js', 9999999 );
326
- }
327
-
328
- add_action( 'admin_enqueue_scripts', 'exactmetrics_admin_scripts' );
329
-
330
- /**
331
- * Remove Assets that conflict with ours from our screens.
332
- *
333
- * @return null Return early if not on the proper screen.
334
- * @since 6.0.4
335
- * @access public
336
- *
337
- */
338
- function exactmetrics_remove_conflicting_asset_files() {
339
-
340
- // Get current screen.
341
- $screen = get_current_screen();
342
-
343
- // Bail if we're not on a ExactMetrics screen.
344
- if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
345
- return;
346
- }
347
-
348
- $styles = array(
349
- 'kt_admin_css', // Pinnacle theme
350
- 'select2-css', // Schema theme
351
- 'tweetshare_style', // TweetShare - Click To Tweet
352
- 'tweetshare_custom_style', // TweetShare - Click To Tweet
353
- 'tweeetshare_custome_style', // TweetShare - Click To Tweet
354
- 'tweeetshare_notice_style', // TweetShare - Click To Tweet
355
- 'tweeetshare_theme_style', // TweetShare - Click To Tweet
356
- 'tweeetshare_tweet_box_style', // TweetShare - Click To Tweet
357
- 'soultype2-admin', // SoulType Plugin
358
- 'thesis-options-stylesheet', // Thesis Options Stylesheet
359
- 'imagify-sweetalert-core', // Imagify
360
- 'imagify-sweetalert', // Imagify
361
- 'smls-backend-style', // Smart Logo Showcase Lite
362
- 'wp-reactjs-starter', // wp-real-media-library
363
- 'control-panel-modal-plugin', // Ken Theme
364
- 'theme-admin-css', // Vitrine Theme
365
- 'qi-framework-styles', // Artisan Nayma Theme
366
- 'artisan-pages-style', // Artisan Pages Plugin
367
- 'control-panel-modal-plugin', // Ken Theme
368
- 'sweetalert', // Church Suite Theme by Webnus
369
- 'woo_stock_alerts_admin_css', // WooCommerce bolder product alerts
370
- 'custom_wp_admin_css', // Fix for Add Social Share
371
- 'fo_css', // Fix for Add Social Share
372
- 'font_css', // Fix for Add Social Share
373
- 'font2_css', // Fix for Add Social Share
374
- 'font3_css', // Fix for Add Social Share
375
- 'hover_css', // Fix for Add Social Share
376
- 'fontend_styling', // Fix for Add Social Share
377
- 'datatable', // WP Todo
378
- 'bootstrap', // WP Todo
379
- 'flipclock', // WP Todo
380
- 'repuso_css_admin', // Social testimonials and reviews by Repuso
381
- );
382
-
383
- $scripts = array(
384
- 'kad_admin_js', // Pinnacle theme
385
- 'dt-chart', // DesignThemes core features plugin
386
- 'tweeetshare_font_script', // TweetShare - Click To Tweet
387
- 'tweeetshare_jquery_script', // TweetShare - Click To Tweet
388
- 'tweeetshare_jqueryui_script', // TweetShare - Click To Tweet
389
- 'tweeetshare_custom_script', // TweetShare - Click To Tweet
390
- 'imagify-promise-polyfill', // Imagify
391
- 'imagify-sweetalert', // Imagify
392
- 'imagify-chart', // Imagify
393
- 'chartjs', // Comet Cache Pro
394
- 'wp-reactjs-starter', // wp-real-media-library
395
- 'jquery-tooltipster', // WP Real Media Library
396
- 'jquery-nested-sortable', // WP Real Media Library
397
- 'jquery-aio-tree', // WP Real Media Library
398
- 'wp-media-picker', // WP Real Media Library
399
- 'rml-general', // WP Real Media Library
400
- 'rml-library', // WP Real Media Library
401
- 'rml-grid', // WP Real Media Library
402
- 'rml-list', // WP Real Media Library
403
- 'rml-modal', // WP Real Media Library
404
- 'rml-order', // WP Real Media Library
405
- 'rml-meta', // WP Real Media Library
406
- 'rml-uploader', // WP Real Media Library
407
- 'rml-options', // WP Real Media Library
408
- 'rml-usersettings', // WP Real Media Library
409
- 'rml-main', // WP Real Media Library
410
- 'control-panel-sweet-alert', // Ken Theme
411
- 'sweet-alert-js', // Vitrine Theme
412
- 'theme-admin-script', // Vitrine Theme
413
- 'sweetalert', // Church Suite Theme by Webnus
414
- 'be_alerts_charts', // WooCommerce bolder product alerts
415
- 'magayo-lottery-results', // Magayo Lottery Results
416
- 'control-panel-sweet-alert', // Ken Theme
417
- 'cpm_chart', // WP Project Manager
418
- 'adminscripts', // Artisan Nayma Theme
419
- 'artisan-pages-script', // Artisan Pages Plugin
420
- 'tooltipster', // Grand News Theme
421
- 'fancybox', // Grand News Theme
422
- 'grandnews-admin-cript', // Grand News Theme
423
- 'colorpicker', // Grand News Theme
424
- 'eye', // Grand News Theme
425
- 'icheck', // Grand News Theme
426
- 'learn-press-chart', // LearnPress
427
- 'theme-script-main', // My Listing Theme by 27collective
428
- 'selz', // Selz eCommerce
429
- 'tie-admin-scripts', // Tie Theme
430
- 'blossomthemes-toolkit', // BlossomThemes Toolkit
431
- 'illdy-widget-upload-image', // Illdy Companion By Colorlib
432
- 'moment.js', // WooCommerce Table Rate Shipping
433
- 'default', // Bridge Theme
434
- 'qode-tax-js', // Bridge Theme
435
- 'wc_smartship_moment_js', // WooCommerce Posti SmartShip by markup.fi
436
- 'ecwid-admin-js', // Fixes Conflict for Ecwid Shopping Cart
437
- 'td-wp-admin-js', // Newspaper by tagDiv
438
- 'moment', // Screets Live Chat
439
- 'wpmf-base', // WP Media Folder Fix
440
- 'wpmf-media-filters', // WP Media Folder Fix
441
- 'wpmf-folder-tree', // WP Media Folder Fix
442
- 'wpmf-assign-tree', // WP Media Folder Fix
443
- 'js_files_for_wp_admin', // TagDiv Composer Fix
444
- 'tdb_js_files_for_wp_admin_last', // TagDiv Composer Fix
445
- 'tdb_js_files_for_wp_admin', // TagDiv Composer Fix
446
- 'wd-functions', // affiliate boxes
447
- 'ellk-aliExpansion', // Ali Dropship Plugin
448
- 'ftmetajs', // Houzez Theme
449
- 'qode_admin_default', // Fix For Stockholm Theme
450
- 'qodef-tax-js', // Fix for Prowess Theme
451
- 'qodef-user-js', // Fix for Prowess Theme
452
- 'qodef-ui-admin', // Fix for Prowess Theme
453
- 'ssi_script', // Fix for Add Social Share
454
- 'live_templates', // Fix for Add Social Share
455
- 'default', // Fix for Add Social Share
456
- 'handsontable', // Fix WP Tables
457
- 'moment-js', // Magee Shortcodes
458
- 'postbox', // Scripts from wp-admin enqueued everywhere by WP Posts Filter
459
- 'link', // Scripts from wp-admin enqueued everywhere by WP Posts Filter
460
- 'wpvr_scripts', // WP Video Robot
461
- 'wpvr_scripts_loaded', // WP Video Robot
462
- 'wpvr_scripts_assets', // WP Video Robot
463
- 'writee_widget_admin', // Fix for the Writtee theme
464
- '__ytprefs_admin__', // Fix for YouTube by EmbedPlus plugin
465
- 'momentjs', // Fix for Blog Time plugin
466
- 'c2c_BlogTime', // Fix for Blog Time plugin
467
- 'material-wp', // Fix for MaterialWP plugin
468
- 'wp-color-picker-alpha', // Fix for MaterialWP plugin
469
- 'grandtour-theme-script', // Grandtour Theme
470
- 'swifty-img-widget-admin-script', // Fix for Swifty Image Widget
471
- 'datatable', // WP Todo
472
- 'flipclock', // WP Todo
473
- 'bootstrap', // WP Todo
474
- 'repuso_js_admin', // Social testimonials and reviews by Repuso
475
- 'chart', // Video Mate Pro Theme
476
- 'reuse_vendor', // RedQ Reuse Form
477
- 'jetpack-onboarding-vendor', // Jetpack Onboarding Bluehost
478
- 'date-js', // Google Analytics by Web Dorado
479
- );
480
-
481
- if ( ! empty( $styles ) ) {
482
- foreach ( $styles as $style ) {
483
- wp_dequeue_style( $style ); // Remove CSS file from MI screen
484
- wp_deregister_style( $style );
485
- }
486
- }
487
- if ( ! empty( $scripts ) ) {
488
- foreach ( $scripts as $script ) {
489
- wp_dequeue_script( $script ); // Remove JS file from MI screen
490
- wp_deregister_script( $script );
491
- }
492
- }
493
-
494
- $third_party = array(
495
- 'select2',
496
- 'sweetalert',
497
- 'clipboard',
498
- 'matchHeight',
499
- 'inputmask',
500
- 'jquery-confirm',
501
- 'list',
502
- 'toastr',
503
- 'tooltipster',
504
- 'flag-icon',
505
- 'bootstrap',
506
- );
507
-
508
- global $wp_styles;
509
- foreach ( $wp_styles->queue as $handle ) {
510
- if ( strpos( $wp_styles->registered[ $handle ]->src, 'wp-content' ) === false ) {
511
- return;
512
- }
513
-
514
- if ( strpos( $wp_styles->registered[ $handle ]->handle, 'exactmetrics' ) !== false ) {
515
- return;
516
- }
517
-
518
- foreach ( $third_party as $partial ) {
519
- if ( strpos( $wp_styles->registered[ $handle ]->handle, $partial ) !== false ) {
520
- wp_dequeue_style( $handle ); // Remove css file from MI screen
521
- wp_deregister_style( $handle );
522
- break;
523
- } else if ( strpos( $wp_styles->registered[ $handle ]->src, $partial ) !== false ) {
524
- wp_dequeue_style( $handle ); // Remove css file from MI screen
525
- wp_deregister_style( $handle );
526
- break;
527
- }
528
- }
529
- }
530
-
531
- global $wp_scripts;
532
- foreach ( $wp_scripts->queue as $handle ) {
533
- if ( strpos( $wp_scripts->registered[ $handle ]->src, 'wp-content' ) === false ) {
534
- return;
535
- }
536
-
537
- if ( strpos( $wp_scripts->registered[ $handle ]->handle, 'exactmetrics' ) !== false ) {
538
- return;
539
- }
540
-
541
- foreach ( $third_party as $partial ) {
542
- if ( strpos( $wp_scripts->registered[ $handle ]->handle, $partial ) !== false ) {
543
- wp_dequeue_script( $handle ); // Remove JS file from MI screen
544
- wp_deregister_script( $handle );
545
- break;
546
- } else if ( strpos( $wp_scripts->registered[ $handle ]->src, $partial ) !== false ) {
547
- wp_dequeue_script( $handle ); // Remove JS file from MI screen
548
- wp_deregister_script( $handle );
549
- break;
550
- }
551
- }
552
- }
553
-
554
- // Remove actions from themes that are not following best practices and break the admin doing so
555
- // Theme: Newspaper by tagDiv
556
- remove_action( 'admin_enqueue_scripts', 'load_wp_admin_js' );
557
- remove_action( 'admin_enqueue_scripts', 'load_wp_admin_css' );
558
- remove_action( 'admin_print_scripts-widgets.php', 'td_on_admin_print_scripts_farbtastic' );
559
- remove_action( 'admin_print_styles-widgets.php', 'td_on_admin_print_styles_farbtastic' );
560
- remove_action( 'admin_print_footer_scripts', 'check_if_media_uploads_is_loaded', 9999 );
561
- remove_action( 'print_media_templates', 'td_custom_gallery_settings_hook' );
562
- remove_action( 'print_media_templates', 'td_change_backbone_js_hook' );
563
- remove_action( 'admin_head', 'tdc_on_admin_head' ); // TagDiv Composer Fix
564
- remove_action( 'print_media_templates', 'us_media_templates' ); // Impreza Theme Fix
565
- remove_action( 'admin_footer', 'gt3pg_add_gallery_template' ); // GT3 Photo & Video Gallery By GT3 Themes Plugin Fix
566
- // Plugin WP Booklist:
567
- remove_action( 'admin_footer', 'wpbooklist_jre_dismiss_prem_notice_forever_action_javascript' );
568
- remove_action( 'admin_footer', 'wpbooklist_dashboard_add_book_action_javascript' );
569
- remove_action( 'admin_footer', 'wpbooklist_edit_book_show_form_action_javascript' );
570
- remove_action( 'admin_footer', 'wpbooklist_show_book_in_colorbox_action_javascript' );
571
- remove_action( 'admin_footer', 'wpbooklist_new_lib_shortcode_action_javascript' );
572
- remove_action( 'admin_footer', 'wpbooklist_dashboard_save_library_display_options_action_javascript' );
573
- remove_action( 'admin_footer', 'wpbooklist_dashboard_save_post_display_options_action_javascript' );
574
- remove_action( 'admin_footer', 'wpbooklist_dashboard_save_page_display_options_action_javascript' );
575
- remove_action( 'admin_footer', 'wpbooklist_update_display_options_action_javascript' );
576
- remove_action( 'admin_footer', 'wpbooklist_edit_book_pagination_action_javascript' );
577
- remove_action( 'admin_footer', 'wpbooklist_edit_book_switch_lib_action_javascript' );
578
- remove_action( 'admin_footer', 'wpbooklist_edit_book_search_action_javascript' );
579
- remove_action( 'admin_footer', 'wpbooklist_edit_book_actual_action_javascript' );
580
- remove_action( 'admin_footer', 'wpbooklist_delete_book_action_javascript' );
581
- remove_action( 'admin_footer', 'wpbooklist_user_apis_action_javascript' );
582
- remove_action( 'admin_footer', 'wpbooklist_upload_new_stylepak_action_javascript' );
583
- remove_action( 'admin_footer', 'wpbooklist_upload_new_post_template_action_javascript' );
584
- remove_action( 'admin_footer', 'wpbooklist_upload_new_page_template_action_javascript' );
585
- remove_action( 'admin_footer', 'wpbooklist_create_db_library_backup_action_javascript' );
586
- remove_action( 'admin_footer', 'wpbooklist_restore_db_library_backup_action_javascript' );
587
- remove_action( 'admin_footer', 'wpbooklist_create_csv_action_javascript' );
588
- remove_action( 'admin_footer', 'wpbooklist_amazon_localization_action_javascript' );
589
- remove_action( 'admin_footer', 'wpbooklist_delete_book_bulk_action_javascript' );
590
- remove_action( 'admin_footer', 'wpbooklist_reorder_action_javascript' );
591
- remove_action( 'admin_footer', 'wpbooklist_exit_results_action_javascript' );
592
- remove_action( 'admin_footer', 'wpbooklist_storytime_select_category_action_javascript' );
593
- remove_action( 'admin_footer', 'wpbooklist_storytime_get_story_action_javascript' );
594
- remove_action( 'admin_footer', 'wpbooklist_storytime_expand_browse_action_javascript' );
595
- remove_action( 'admin_footer', 'wpbooklist_storytime_save_settings_action_javascript' );
596
- remove_action( 'admin_footer', 'wpbooklist_delete_story_action_javascript' );
597
- }
598
-
599
- add_action( 'admin_enqueue_scripts', 'exactmetrics_remove_conflicting_asset_files', 9999 );
600
-
601
- /**
602
- * Remove non-MI notices from MI page.
603
- *
604
- * @return null Return early if not on the proper screen.
605
- * @since 6.0.0
606
- * @access public
607
- *
608
- */
609
- function hide_non_exactmetrics_warnings() {
610
- // Bail if we're not on a ExactMetrics screen.
611
- if ( empty( $_REQUEST['page'] ) || strpos( $_REQUEST['page'], 'exactmetrics' ) === false ) {
612
- return;
613
- }
614
-
615
- global $wp_filter;
616
- if ( ! empty( $wp_filter['user_admin_notices']->callbacks ) && is_array( $wp_filter['user_admin_notices']->callbacks ) ) {
617
- foreach ( $wp_filter['user_admin_notices']->callbacks as $priority => $hooks ) {
618
- foreach ( $hooks as $name => $arr ) {
619
- if ( is_object( $arr['function'] ) && $arr['function'] instanceof Closure ) {
620
- unset( $wp_filter['user_admin_notices']->callbacks[ $priority ][ $name ] );
621
- continue;
622
- }
623
- if ( ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) && strpos( strtolower( get_class( $arr['function'][0] ) ), 'exactmetrics' ) !== false ) {
624
- continue;
625
- }
626
- if ( ! empty( $name ) && strpos( $name, 'exactmetrics' ) === false ) {
627
- unset( $wp_filter['user_admin_notices']->callbacks[ $priority ][ $name ] );
628
- }
629
- }
630
- }
631
- }
632
-
633
- if ( ! empty( $wp_filter['admin_notices']->callbacks ) && is_array( $wp_filter['admin_notices']->callbacks ) ) {
634
- foreach ( $wp_filter['admin_notices']->callbacks as $priority => $hooks ) {
635
- foreach ( $hooks as $name => $arr ) {
636
- if ( is_object( $arr['function'] ) && $arr['function'] instanceof Closure ) {
637
- unset( $wp_filter['admin_notices']->callbacks[ $priority ][ $name ] );
638
- continue;
639
- }
640
- if ( ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) && strpos( strtolower( get_class( $arr['function'][0] ) ), 'exactmetrics' ) !== false ) {
641
- continue;
642
- }
643
- if ( ! empty( $name ) && strpos( $name, 'exactmetrics' ) === false ) {
644
- unset( $wp_filter['admin_notices']->callbacks[ $priority ][ $name ] );
645
- }
646
- }
647
- }
648
- }
649
-
650
- if ( ! empty( $wp_filter['all_admin_notices']->callbacks ) && is_array( $wp_filter['all_admin_notices']->callbacks ) ) {
651
- foreach ( $wp_filter['all_admin_notices']->callbacks as $priority => $hooks ) {
652
- foreach ( $hooks as $name => $arr ) {
653
- if ( is_object( $arr['function'] ) && $arr['function'] instanceof Closure ) {
654
- unset( $wp_filter['all_admin_notices']->callbacks[ $priority ][ $name ] );
655
- continue;
656
- }
657
- if ( ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) && strpos( strtolower( get_class( $arr['function'][0] ) ), 'exactmetrics' ) !== false ) {
658
- continue;
659
- }
660
- if ( ! empty( $name ) && strpos( $name, 'exactmetrics' ) === false ) {
661
- unset( $wp_filter['all_admin_notices']->callbacks[ $priority ][ $name ] );
662
- }
663
- }
664
- }
665
- }
666
- }
667
-
668
- add_action( 'admin_print_scripts', 'hide_non_exactmetrics_warnings' );
669
- add_action( 'admin_head', 'hide_non_exactmetrics_warnings', PHP_INT_MAX );
670
-
671
- /**
672
- * Called whenever an upgrade button / link is displayed in Lite, this function will
673
- * check if there's a shareasale ID specified.
674
- *
675
- * There are three ways to specify an ID, ordered by highest to lowest priority
676
- * - add_filter( 'exactmetrics_shareasale_id', function() { return 1234; } );
677
- * - define( 'EXACTMETRICS_SHAREASALE_ID', 1234 );
678
- * - get_option( 'exactmetrics_shareasale_id' ); (with the option being in the wp_options table)
679
- *
680
- * If an ID is present, returns the ShareASale link with the affiliate ID, and tells
681
- * ShareASale to then redirect to exactmetrics.com/lite
682
- *
683
- * If no ID is present, just returns the exactmetrics.com/lite URL with UTM tracking.
684
- *
685
- * @return string Upgrade link.
686
- * @since 6.0.0
687
- * @access public
688
- *
689
- */
690
- function exactmetrics_get_upgrade_link( $medium = '', $campaign = '', $url = '' ) {
691
- $url = exactmetrics_get_url( $medium, $campaign, $url, false );
692
-
693
- if ( exactmetrics_is_pro_version() ) {
694
- return esc_url( $url );
695
- }
696
-
697
- // Get the ShareASale ID
698
- $shareasale_id = exactmetrics_get_shareasale_id();
699
-
700
- // If we have a shareasale ID return the shareasale url
701
- if ( ! empty( $shareasale_id ) ) {
702
- $shareasale_id = absint( $shareasale_id );
703
-
704
- return esc_url( exactmetrics_get_shareasale_url( $shareasale_id, $url ) );
705
- } else {
706
- return esc_url( $url );
707
- }
708
- }
709
-
710
- function exactmetrics_get_url( $medium = '', $campaign = '', $url = '', $escape = true ) {
711
- // Setup Campaign variables
712
- $source = exactmetrics_is_pro_version() ? 'proplugin' : 'liteplugin';
713
- $medium = ! empty( $medium ) ? $medium : 'defaultmedium';
714
- $campaign = ! empty( $campaign ) ? $campaign : 'defaultcampaign';
715
- $content = EXACTMETRICS_VERSION;
716
- $default_url = exactmetrics_is_pro_version() ? '' : 'lite/';
717
- $url = ! empty( $url ) ? $url : 'https://www.exactmetrics.com/' . $default_url;
718
-
719
- // Put together redirect URL
720
- $url = add_query_arg(
721
- array(
722
- 'utm_source' => $source, // Pro/Lite Plugin
723
- 'utm_medium' => sanitize_key( $medium ), // Area of ExactMetrics (example Reports)
724
- 'utm_campaign' => sanitize_key( $campaign ), // Which link (example eCommerce Report)
725
- 'utm_content' => $content, // Version number of MI
726
- ),
727
- trailingslashit( $url )
728
- );
729
-
730
- if ( $escape ) {
731
- return esc_url( $url );
732
- } else {
733
- return $url;
734
- }
735
- }
736
-
737
- function exactmetrics_settings_ublock_error_js() {
738
- echo "<script type='text/javascript'>\n";
739
- echo "jQuery( document ).ready( function( $ ) {
740
- if ( window.uorigindetected == null){
741
- $('#exactmetrics-ublock-origin-error').show();
742
- $('.exactmetrics-nav-tabs').hide();
743
- $('.exactmetrics-nav-container').hide();
744
- $('#exactmetrics-addon-heading').hide();
745
- $('#exactmetrics-addons').hide();
746
- $('#exactmetrics-reports').hide();
747
- }
748
- });";
749
- echo "\n</script>";
750
- }
751
-
752
- function exactmetrics_ublock_notice() {
753
- ob_start(); ?>
754
- <div id="exactmetrics-ublock-origin-error" class="error inline" style="display:none;">
755
- <?php
756
- // Translators: Placeholders are for links to fix the issue.
757
- echo sprintf( esc_html__( 'ExactMetrics has detected that it\'s files are being blocked. This is usually caused by a adblock browser plugin (particularly uBlock Origin), or a conflicting WordPress theme or plugin. This issue only affects the admin side of ExactMetrics. To solve this, ensure ExactMetrics is whitelisted for your website URL in any adblock browser plugin you use. For step by step directions on how to do this, %1$sclick here%2$s. If this doesn\'t solve the issue (rare), send us a ticket %3$shere%2$s and we\'ll be happy to help diagnose the issue.', 'google-analytics-dashboard-for-wp' ), '<a href="https://exactmetrics.com/docs/exactmetrics-asset-files-blocked/" target="_blank" rel="noopener noreferrer" referrer="no-referrer">', '</a>', '<a href="https://exactmetrics.com/contact/" target="_blank" rel="noopener noreferrer" referrer="no-referrer">' );
758
- ?>
759
- </div>
760
- <?php
761
- return ob_get_clean();
762
- }
763
-
764
- /**
765
- * Some themes/plugins don't add proper checks and load JS code in all admin pages causing conflicts.
766
- */
767
- function exactmetrics_remove_unnecessary_footer_hooks() {
768
-
769
- $screen = get_current_screen();
770
- // Bail if we're not on a ExactMetrics screen.
771
- if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
772
- return;
773
- }
774
-
775
- // Remove js code added by Newspaper theme - version 8.8.0.
776
- remove_action( 'print_media_templates', 'td_custom_gallery_settings_hook' );
777
- remove_action( 'print_media_templates', 'td_change_backbone_js_hook' );
778
- // Remove js code added by the Brooklyn theme - version 4.5.3.1.
779
- remove_action( 'print_media_templates', 'ut_create_gallery_options' );
780
-
781
- // Remove js code added by WordPress Book List Plugin - version 5.8.1.
782
- remove_action( 'admin_footer', 'wpbooklist_jre_dismiss_prem_notice_forever_action_javascript' );
783
- remove_action( 'admin_footer', 'wpbooklist_dashboard_add_book_action_javascript' );
784
- remove_action( 'admin_footer', 'wpbooklist_edit_book_show_form_action_javascript' );
785
- remove_action( 'admin_footer', 'wpbooklist_show_book_in_colorbox_action_javascript' );
786
- remove_action( 'admin_footer', 'wpbooklist_new_lib_shortcode_action_javascript' );
787
- remove_action( 'admin_footer', 'wpbooklist_dashboard_save_library_display_options_action_javascript' );
788
- remove_action( 'admin_footer', 'wpbooklist_dashboard_save_post_display_options_action_javascript' );
789
- remove_action( 'admin_footer', 'wpbooklist_dashboard_save_page_display_options_action_javascript' );
790
- remove_action( 'admin_footer', 'wpbooklist_update_display_options_action_javascript' );
791
- remove_action( 'admin_footer', 'wpbooklist_edit_book_pagination_action_javascript' );
792
- remove_action( 'admin_footer', 'wpbooklist_edit_book_switch_lib_action_javascript' );
793
- remove_action( 'admin_footer', 'wpbooklist_edit_book_search_action_javascript' );
794
- remove_action( 'admin_footer', 'wpbooklist_edit_book_actual_action_javascript' );
795
- remove_action( 'admin_footer', 'wpbooklist_delete_book_action_javascript' );
796
- remove_action( 'admin_footer', 'wpbooklist_user_apis_action_javascript' );
797
- remove_action( 'admin_footer', 'wpbooklist_upload_new_stylepak_action_javascript' );
798
- remove_action( 'admin_footer', 'wpbooklist_upload_new_post_template_action_javascript' );
799
- remove_action( 'admin_footer', 'wpbooklist_upload_new_page_template_action_javascript' );
800
- remove_action( 'admin_footer', 'wpbooklist_create_db_library_backup_action_javascript' );
801
- remove_action( 'admin_footer', 'wpbooklist_restore_db_library_backup_action_javascript' );
802
- remove_action( 'admin_footer', 'wpbooklist_create_csv_action_javascript' );
803
- remove_action( 'admin_footer', 'wpbooklist_amazon_localization_action_javascript' );
804
- remove_action( 'admin_footer', 'wpbooklist_delete_book_bulk_action_javascript' );
805
- remove_action( 'admin_footer', 'wpbooklist_reorder_action_javascript' );
806
- remove_action( 'admin_footer', 'wpbooklist_exit_results_action_javascript' );
807
- remove_action( 'admin_footer', 'wpbooklist_storytime_select_category_action_javascript' );
808
- remove_action( 'admin_footer', 'wpbooklist_storytime_get_story_action_javascript' );
809
- remove_action( 'admin_footer', 'wpbooklist_storytime_expand_browse_action_javascript' );
810
- remove_action( 'admin_footer', 'wpbooklist_storytime_save_settings_action_javascript' );
811
- remove_action( 'admin_footer', 'wpbooklist_delete_story_action_javascript' );
812
- }
813
-
814
- add_action( 'admin_head', 'exactmetrics_remove_unnecessary_footer_hooks', 15 );
815
-
816
-
817
- /**
818
- * Prevent plugins/themes from removing the version number from scripts loaded by our plugin.
819
- * Ideally those plugins/themes would follow WordPress coding best practices, but in lieu of that
820
- * we can at least attempt to prevent 99% of them from doing bad things.
821
- *
822
- * @param string $src The script source.
823
- *
824
- * @return string
825
- */
826
- function exactmetrics_prevent_version_number_removal( $src ) {
827
- // Apply this only to admin-side scripts.
828
- if ( ! is_admin() ) {
829
- return $src;
830
- }
831
-
832
- // Make sure are only changing our scripts and only if the version number is missing.
833
- if ( ( false !== strpos( $src, 'exactmetrics' ) || false !== strpos( $src, 'google-analytics-dashboard-for-wp' ) || false !== strpos( $src, 'exactmetrics-premium' ) ) && false === strpos( $src, '?ver' ) ) {
834
- $src = add_query_arg( 'ver', exactmetrics_get_asset_version(), $src );
835
- }
836
-
837
- return $src;
838
- }
839
-
840
- add_filter( 'script_loader_src', 'exactmetrics_prevent_version_number_removal', 9999, 1 );
841
- add_filter( 'style_loader_src', 'exactmetrics_prevent_version_number_removal', 9999, 1 );
842
-
843
- /**
844
- * Data used for the Vue scripts to display old PHP and WP versions warnings.
845
- */
846
- function exactmetrics_get_php_wp_version_warning_data() {
847
- global $wp_version;
848
-
849
- $compatible_php_version = apply_filters( 'exactmetrics_compatible_php_version', false );
850
- $compatible_wp_version = apply_filters( 'exactmetrics_compatible_wp_version', false );
851
-
852
- return array(
853
- 'php_version' => phpversion(),
854
- 'php_version_below_54' => apply_filters( 'exactmetrics_temporarily_hide_php_under_56_upgrade_warnings', version_compare( phpversion(), $compatible_php_version['warning'], '<' ) ),
855
- 'php_version_below_56' => apply_filters( 'exactmetrics_temporarily_hide_php_56_upgrade_warnings', version_compare( phpversion(), $compatible_php_version['warning'], '>=' ) && version_compare( phpversion(), $compatible_php_version['recommended'], '<' ) ),
856
- 'php_update_link' => exactmetrics_get_url( 'settings-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-php/' ),
857
- 'wp_version' => $wp_version,
858
- 'wp_version_below_46' => version_compare( $wp_version, $compatible_wp_version['warning'], '<' ),
859
- 'wp_version_below_49' => version_compare( $wp_version, $compatible_wp_version['recommended'], '<' ),
860
- 'wp_update_link' => exactmetrics_get_url( 'settings-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-wordpress/' ),
861
- );
862
- }
863
-
864
- /**
865
- * Check WP and PHP version and add contextual notifications for upgrades.
866
- */
867
- function exactmetrics_maybe_add_wp_php_version_notification() {
868
- global $wp_version;
869
-
870
- $icon = '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="16" cy="16" r="16" fill="#FAD1D1"/><path d="M17.3634 19.0714C17.792 19.4821 18.0063 19.9821 18.0063 20.5714C18.0063 21.1607 17.792 21.6607 17.3634 22.0714C16.9527 22.5 16.4527 22.7143 15.8634 22.7143C15.2742 22.7143 14.7652 22.5 14.3367 22.0714C13.9259 21.6607 13.7206 21.1607 13.7206 20.5714C13.7206 19.9821 13.9259 19.4821 14.3367 19.0714C14.7652 18.6429 15.2742 18.4286 15.8634 18.4286C16.4527 18.4286 16.9527 18.6429 17.3634 19.0714ZM13.9617 9.66964C13.9617 9.49107 14.0242 9.33929 14.1492 9.21429C14.2742 9.07143 14.4259 9 14.6045 9H17.1224C17.3009 9 17.4527 9.07143 17.5777 9.21429C17.7027 9.33929 17.7652 9.49107 17.7652 9.66964L17.3902 16.9554C17.3902 17.1339 17.3277 17.2857 17.2027 17.4107C17.0777 17.5179 16.9259 17.5714 16.7474 17.5714H14.9795C14.8009 17.5714 14.6492 17.5179 14.5242 17.4107C14.3992 17.2857 14.3367 17.1339 14.3367 16.9554L13.9617 9.66964Z" fill="#EB5757"/></svg>';
871
- $needs_php_warning = version_compare( phpversion(), '5.6', '<' );
872
- $needs_wp_warning = version_compare( $wp_version, '4.9', '<' );
873
-
874
- if ( $needs_php_warning ) {
875
- $notification['id'] = 'upgrade_php_56_notification';
876
- $notification['title'] = __( 'ACTION REQUIRED: Your PHP version is putting your site at risk!', 'google-analytics-dashboard-for-wp' );
877
- if ( $needs_wp_warning ) {
878
- $notification['title'] = __( 'ACTION REQUIRED: Speed your website up 400% with a single email!', 'google-analytics-dashboard-for-wp' );
879
- }
880
-
881
- $php_url = exactmetrics_get_url( 'notifications', 'upgrade-php', 'https://www.exactmetrics.com/docs/update-php' );
882
-
883
- $notification['type'] = array( 'basic', 'lite', 'master', 'plus', 'pro' );
884
- // Translators: Placeholder is for the current PHP version.
885
- $notification['content'] = sprintf( esc_html__( 'In the next major release of ExactMetrics we are planning to remove support for the version of PHP you are using (%s). This insecure version is no longer supported by WordPress itself, so you are already missing out on the latest features of WordPress along with critical updates for security and performance (modern PHP versions make websites much faster).', 'google-analytics-dashboard-for-wp' ), phpversion() ) . "\n\n";
886
-
887
- // Translators: Placeholders add a link to an article.
888
- $notification['content'] .= sprintf( esc_html__( 'To ensure ExactMetrics and other plugins on your site continue to function properly, and avoid putting your site at risk, please take a few minutes to ask your website hosting provider to upgrade the version of PHP to a modern PHP version (7.2 or newer). We provide helpful templates for how to ask them %1$shere%2$s.', 'google-analytics-dashboard-for-wp' ), '<a target="_blank" href="' . $php_url . '">', '</a>' ) . "\n\n";
889
- $notification['content'] .= esc_html__( 'Upgrading your PHP version will make sure you are able to continue using WordPress without issues in the future, keep your site secure, and will also make your website up to 400% faster!', 'google-analytics-dashboard-for-wp' );
890
-
891
- $notification['icon'] = $icon;
892
- $notification['btns'] = array(
893
- 'learn_more' => array(
894
- 'url' => $php_url,
895
- 'text' => esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' ),
896
- ),
897
- );
898
-
899
- // Add the notification.
900
- ExactMetrics()->notifications->add( $notification );
901
- }
902
-
903
- if ( $needs_wp_warning ) {
904
-
905
- $isitwp_url = 'https://www.isitwp.com/upgrading-wordpress-is-easier-than-you-think/?utm_source=exactmetrics&utm_medium=notifications&utm_campaign=upgradewp';
906
- $wpbeginner_url = 'https://www.wpbeginner.com/beginners-guide/why-you-should-always-use-the-latest-version-of-wordpress/utm_source=exactmetrics&utm_medium=notifications&utm_campaign=upgradewp';
907
-
908
- $notification['id'] = 'upgrade_wp_49_notification';
909
- $notification['title'] = __( 'ACTION REQUIRED: Your WordPress version is putting your site at risk!', 'google-analytics-dashboard-for-wp' );
910
- $notification['type'] = array( 'basic', 'lite', 'master', 'plus', 'pro' );
911
- // Translators: Placeholder is for the current WordPress version.
912
- $notification['content'] = sprintf( esc_html__( 'In the next major release of ExactMetrics we are planning to remove support for the version of WordPress you are using (version %s). This version is several years out of date, and most plugins do not support this version anymore, so you could be missing out on critical updates for performance and security already!', 'google-analytics-dashboard-for-wp' ), $wp_version ) . "\n\n";
913
-
914
- $notification['content'] .= esc_html__( 'The good news: updating WordPress has never been easier and only takes a few moments.', 'google-analytics-dashboard-for-wp' );
915
- // Translators: Placeholders add links to articles.
916
- $notification['content'] .= sprintf( esc_html__( 'To update, we recommend following this %1$sstep by step guide for updating WordPress%2$s from IsItWP and afterwards check out %3$sWhy You Should Always Use the Latest Version of WordPress%4$s on WPBeginner.', 'google-analytics-dashboard-for-wp' ), '<a target="_blank" href="' . $isitwp_url . '">', '</a>', '<a target="_blank" href="' . $wpbeginner_url . '">', '</a>' ) . "\n\n";
917
-
918
- $notification['icon'] = $icon;
919
- $notification['btns'] = array(
920
- 'learn_more' => array(
921
- 'url' => $isitwp_url,
922
- 'text' => esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' ),
923
- ),
924
- );
925
-
926
- // Add the notification.
927
- ExactMetrics()->notifications->add( $notification );
928
- }
929
-
930
- }
931
-
932
- add_action( 'admin_init', 'exactmetrics_maybe_add_wp_php_version_notification' );
933
-
934
- /**
935
- * Add notification for Year In Review report for year 2021.
936
- *
937
- * @since 7.13.2
938
- *
939
- * @return void
940
- */
941
- function exactmetrics_year_in_review_notification() {
942
-
943
- // Check if dates are between Jan 1st 2022 & 13th Jan 2022.
944
- if ( exactmetrics_date_is_between( '2022-01-01', '2022-01-14' ) ) {
945
-
946
- $notification['id'] = 'exactmetrics_notification_year_in_review';
947
- $notification['type'] = array( 'basic', 'lite', 'master', 'plus', 'pro' );
948
- $notification['start'] = '2022-01-01';
949
- $notification['end'] = '2022-01-14';
950
- $notification['title'] = esc_html__( 'View 2021 Year in Review report!', 'google-analytics-dashboard-for-wp' );
951
- $notification['content'] = esc_html__( 'See how your website performed this year and find tips along the way to help grow even more in 2022!', 'google-analytics-dashboard-for-wp' );
952
- $notification['btns'] = array(
953
- 'learn_more' => array(
954
- 'url' => esc_url( admin_url( 'admin.php?page=exactmetrics_reports#/year-in-review' ) ),
955
- 'text' => esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' ),
956
- ),
957
- );
958
-
959
- // Add the notification.
960
- ExactMetrics()->notifications->add( $notification );
961
- }
962
- }
963
-
964
- add_action( 'admin_init', 'exactmetrics_year_in_review_notification' );
1
+ <?php
2
+ /**
3
+ * Common admin class.
4
+ *
5
+ * @since 6.0.0
6
+ *
7
+ * @package ExactMetrics
8
+ * @subpackage Common
9
+ * @author Chris Christoff
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ function exactmetrics_is_settings_page() {
18
+ $current_screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
19
+ global $admin_page_hooks;
20
+
21
+ if ( ! is_object( $current_screen ) || empty( $current_screen->id ) || empty( $admin_page_hooks ) ) {
22
+ return false;
23
+ }
24
+
25
+ $settings_page = false;
26
+ if ( ! empty( $admin_page_hooks['exactmetrics_settings'] ) && $current_screen->id === $admin_page_hooks['exactmetrics_settings'] ) {
27
+ $settings_page = true;
28
+ }
29
+
30
+ if ( $current_screen->id === 'toplevel_page_exactmetrics_settings' ) {
31
+ $settings_page = true;
32
+ }
33
+
34
+ if ( $current_screen->id === 'exactmetrics_page_exactmetrics_settings' ) {
35
+ $settings_page = true;
36
+ }
37
+
38
+ if ( strpos( $current_screen->id, 'exactmetrics_settings' ) !== false ) {
39
+ $settings_page = true;
40
+ }
41
+
42
+ if ( ! empty( $current_screen->base ) && strpos( $current_screen->base, 'exactmetrics_network' ) !== false ) {
43
+ $settings_page = true;
44
+ }
45
+
46
+ return $settings_page;
47
+ }
48
+
49
+ /**
50
+ * Determine if the current page is the Reports page.
51
+ *
52
+ * @return bool
53
+ */
54
+ function exactmetrics_is_reports_page() {
55
+ $current_screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
56
+ global $admin_page_hooks;
57
+
58
+ if ( ! is_object( $current_screen ) || empty( $current_screen->id ) || empty( $admin_page_hooks ) ) {
59
+ return false;
60
+ }
61
+
62
+ $reports_page = false;
63
+ if ( ! empty( $admin_page_hooks['exactmetrics_reports'] ) && $current_screen->id === $admin_page_hooks['exactmetrics_reports'] ) {
64
+ $reports_page = true;
65
+ }
66
+
67
+ if ( 'toplevel_page_exactmetrics_reports' === $current_screen->id ) {
68
+ $reports_page = true;
69
+ }
70
+
71
+ if ( strpos( $current_screen->id, 'exactmetrics_reports' ) !== false ) {
72
+ $reports_page = true;
73
+ }
74
+
75
+ return $reports_page;
76
+ }
77
+
78
+ /**
79
+ * Loads styles for all ExactMetrics-based Administration Screens.
80
+ *
81
+ * @return null Return early if not on the proper screen.
82
+ * @since 6.0.0
83
+ * @access public
84
+ *
85
+ */
86
+ function exactmetrics_admin_styles() {
87
+
88
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
89
+
90
+ // Load Common admin styles.
91
+ wp_register_style( 'exactmetrics-admin-common-style', plugins_url( 'assets/css/admin-common' . $suffix . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
92
+ wp_enqueue_style( 'exactmetrics-admin-common-style' );
93
+
94
+ // Get current screen.
95
+ $screen = get_current_screen();
96
+
97
+ // Bail if we're not on a ExactMetrics screen.
98
+ if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
99
+ return;
100
+ }
101
+
102
+ $version_path = exactmetrics_is_pro_version() ? 'pro' : 'lite';
103
+ $rtl = is_rtl() ? '.rtl' : '';
104
+
105
+ // For the settings page, load the Vue app styles.
106
+ if ( exactmetrics_is_settings_page() ) {
107
+ if ( ! defined( 'EXACTMETRICS_LOCAL_JS_URL' ) ) {
108
+ wp_enqueue_style( 'exactmetrics-vue-style-vendors', plugins_url( $version_path . '/assets/vue/css/chunk-vendors' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
109
+ wp_enqueue_style( 'exactmetrics-vue-style-common', plugins_url( $version_path . '/assets/vue/css/chunk-common' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
110
+ wp_enqueue_style( 'exactmetrics-vue-style', plugins_url( $version_path . '/assets/vue/css/settings' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
111
+ }
112
+
113
+ // Don't load other styles on the settings page.
114
+ return;
115
+ }
116
+
117
+ if ( exactmetrics_is_reports_page() ) {
118
+ if ( ! defined( 'EXACTMETRICS_LOCAL_REPORTS_JS_URL' ) ) {
119
+ wp_enqueue_style( 'exactmetrics-vue-style-vendors', plugins_url( $version_path . '/assets/vue/css/chunk-vendors' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
120
+ wp_enqueue_style( 'exactmetrics-vue-style-common', plugins_url( $version_path . '/assets/vue/css/chunk-common' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
121
+ wp_enqueue_style( 'exactmetrics-vue-style', plugins_url( $version_path . '/assets/vue/css/reports' . $rtl . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
122
+ }
123
+
124
+ return;
125
+ }
126
+
127
+ // Tooltips
128
+ wp_enqueue_script( 'jquery-ui-tooltip' );
129
+ }
130
+
131
+ add_action( 'admin_enqueue_scripts', 'exactmetrics_admin_styles' );
132
+
133
+ /**
134
+ * Loads scripts for all ExactMetrics-based Administration Screens.
135
+ *
136
+ * @return null Return early if not on the proper screen.
137
+ * @since 6.0.0
138
+ * @access public
139
+ *
140
+ */
141
+ function exactmetrics_admin_scripts() {
142
+
143
+ // Our Common Admin JS.
144
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
145
+
146
+ wp_register_script( 'exactmetrics-admin-common-script', plugins_url( 'assets/js/admin-common' . $suffix . '.js', EXACTMETRICS_PLUGIN_FILE ), array( 'jquery' ), exactmetrics_get_asset_version(), true );
147
+
148
+ wp_enqueue_script( 'exactmetrics-admin-common-script' );
149
+
150
+ wp_localize_script(
151
+ 'exactmetrics-admin-common-script',
152
+ 'exactmetrics_admin_common',
153
+ array(
154
+ 'ajax' => admin_url( 'admin-ajax.php' ),
155
+ 'dismiss_notice_nonce' => wp_create_nonce( 'exactmetrics-dismiss-notice' ),
156
+ )
157
+ );
158
+
159
+ // Get current screen.
160
+ $screen = get_current_screen();
161
+
162
+ // Bail if we're not on a ExactMetrics screen.
163
+ if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
164
+ return;
165
+ }
166
+
167
+ $version_path = exactmetrics_is_pro_version() ? 'pro' : 'lite';
168
+
169
+ // For the settings page, load the Vue app.
170
+ if ( exactmetrics_is_settings_page() ) {
171
+ if ( ! defined( 'EXACTMETRICS_LOCAL_VENDORS_JS_URL' ) ) {
172
+ wp_enqueue_script( 'exactmetrics-vue-vendors', plugins_url( $version_path . '/assets/vue/js/chunk-vendors.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
173
+ wp_enqueue_script( 'exactmetrics-vue-common', plugins_url( $version_path . '/assets/vue/js/chunk-common.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
174
+ } else {
175
+ wp_enqueue_script( 'exactmetrics-vue-vendors', EXACTMETRICS_LOCAL_VENDORS_JS_URL, array(), exactmetrics_get_asset_version(), true );
176
+ wp_enqueue_script( 'exactmetrics-vue-common', EXACTMETRICS_LOCAL_COMMON_JS_URL, array(), exactmetrics_get_asset_version(), true );
177
+ }
178
+ $app_js_url = defined( 'EXACTMETRICS_LOCAL_JS_URL' ) && EXACTMETRICS_LOCAL_JS_URL ? EXACTMETRICS_LOCAL_JS_URL : plugins_url( $version_path . '/assets/vue/js/settings.js', EXACTMETRICS_PLUGIN_FILE );
179
+ wp_register_script( 'exactmetrics-vue-script', $app_js_url, array(), exactmetrics_get_asset_version(), true );
180
+ wp_enqueue_script( 'exactmetrics-vue-script' );
181
+ $plugins = get_plugins();
182
+ $install_amp_url = false;
183
+ if ( exactmetrics_can_install_plugins() ) {
184
+ $amp_key = 'amp/amp.php';
185
+ if ( array_key_exists( $amp_key, $plugins ) ) {
186
+ $install_amp_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=' . $amp_key ), 'activate-plugin_' . $amp_key );
187
+ } else {
188
+ $install_amp_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=amp' ), 'install-plugin_amp' );
189
+ }
190
+ }
191
+ $install_woocommerce_url = false;
192
+ if ( exactmetrics_can_install_plugins() ) {
193
+ $woo_key = 'woocommerce/woocommerce.php';
194
+ if ( array_key_exists( $woo_key, $plugins ) ) {
195
+ $install_woocommerce_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=' . $woo_key ), 'activate-plugin_' . $woo_key );
196
+ } else {
197
+ $install_woocommerce_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=woocommerce' ), 'install-plugin_woocommerce' );
198
+ }
199
+ }
200
+ $install_fbia_url = false;
201
+ if ( exactmetrics_can_install_plugins() ) {
202
+ $fbia_key = 'fb-instant-articles/facebook-instant-articles.php';
203
+ if ( array_key_exists( $fbia_key, $plugins ) ) {
204
+ $install_fbia_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=' . $fbia_key ), 'activate-plugin_' . $fbia_key );
205
+ } else {
206
+ $install_fbia_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=fb-instant-articles' ), 'install-plugin_fb-instant-articles' );
207
+ }
208
+ }
209
+
210
+ $prepared_dimensions = array();
211
+ if ( class_exists( 'ExactMetrics_Admin_Custom_Dimensions' ) ) {
212
+ $dimensions = new ExactMetrics_Admin_Custom_Dimensions();
213
+ $dimensions = $dimensions->custom_dimensions();
214
+ $prepared_dimensions = array();
215
+ foreach ( $dimensions as $dimension_type => $dimension ) {
216
+ $dimension['type'] = $dimension_type;
217
+ $prepared_dimensions[] = $dimension;
218
+ }
219
+ }
220
+ $is_authed = ( ExactMetrics()->auth->is_authed() || ExactMetrics()->auth->is_network_authed() );
221
+
222
+ wp_localize_script(
223
+ 'exactmetrics-vue-script',
224
+ 'exactmetrics',
225
+ array(
226
+ 'ajax' => admin_url( 'admin-ajax.php' ),
227
+ 'nonce' => wp_create_nonce( 'mi-admin-nonce' ),
228
+ 'network' => is_network_admin(),
229
+ 'translations' => wp_get_jed_locale_data( exactmetrics_is_pro_version() ? 'exactmetrics-premium' : 'google-analytics-dashboard-for-wp' ),
230
+ 'assets' => plugins_url( $version_path . '/assets/vue', EXACTMETRICS_PLUGIN_FILE ),
231
+ 'roles' => exactmetrics_get_roles(),
232
+ 'roles_manage_options' => exactmetrics_get_manage_options_roles(),
233
+ 'shareasale_id' => exactmetrics_get_shareasale_id(),
234
+ 'shareasale_url' => exactmetrics_get_shareasale_url( exactmetrics_get_shareasale_id(), '' ),
235
+ 'addons_url' => is_multisite() ? network_admin_url( 'admin.php?page=exactmetrics_network#/addons' ) : admin_url( 'admin.php?page=exactmetrics_settings#/addons' ),
236
+ 'seo_settings_page_url' => is_multisite() ? network_admin_url( 'admin.php?page=exactmetrics_network#/seo' ) : admin_url( 'admin.php?page=exactmetrics_settings#/seo' ),
237
+ 'aioseo_dashboard_url' => is_multisite() ? network_admin_url( 'admin.php?page=aioseo' ) : admin_url( 'admin.php?page=aioseo' ),
238
+ 'wp_plugins_page_url' => is_multisite() ? network_admin_url( 'plugins.php' ) : admin_url( 'plugins.php' ),
239
+ 'email_summary_url' => admin_url( 'admin.php?exactmetrics_email_preview&exactmetrics_email_template=summary' ),
240
+ 'install_amp_url' => $install_amp_url,
241
+ 'install_fbia_url' => $install_fbia_url,
242
+ 'install_woo_url' => $install_woocommerce_url,
243
+ 'dimensions' => $prepared_dimensions,
244
+ 'wizard_url' => is_network_admin() ? network_admin_url( 'index.php?page=exactmetrics-onboarding' ) : admin_url( 'index.php?page=exactmetrics-onboarding' ),
245
+ 'install_plugins' => exactmetrics_can_install_plugins(),
246
+ 'unfiltered_html' => current_user_can( 'unfiltered_html' ),
247
+ 'activate_nonce' => wp_create_nonce( 'exactmetrics-activate' ),
248
+ 'deactivate_nonce' => wp_create_nonce( 'exactmetrics-deactivate' ),
249
+ 'install_nonce' => wp_create_nonce( 'exactmetrics-install' ),
250
+ // Used to add notices for future deprecations.
251
+ 'versions' => exactmetrics_get_php_wp_version_warning_data(),
252
+ 'plugin_version' => EXACTMETRICS_VERSION,
253
+ 'is_admin' => true,
254
+ 'admin_email' => get_option( 'admin_email' ),
255
+ 'site_url' => get_site_url(),
256
+ 'reports_url' => add_query_arg( 'page', 'exactmetrics_reports', admin_url( 'admin.php' ) ),
257
+ 'ecommerce_report_url' => add_query_arg( 'page', 'exactmetrics_reports#/ecommerce', admin_url( 'admin.php' ) ),
258
+ 'ecommerce_settings_tab_url' => add_query_arg( 'page', 'exactmetrics_settings#/ecommerce', admin_url( 'admin.php' ) ),
259
+ 'first_run_notice' => apply_filters( 'exactmetrics_settings_first_time_notice_hide', exactmetrics_get_option( 'exactmetrics_first_run_notice' ) ),
260
+ 'getting_started_url' => is_network_admin() ? network_admin_url( 'admin.php?page=exactmetrics_network#/about' ) : admin_url( 'admin.php?page=exactmetrics_settings#/about/getting-started' ),
261
+ 'authed' => $is_authed,
262
+ 'new_pretty_link_url' => admin_url( 'post-new.php?post_type=pretty-link' ),
263
+ 'wpmailsmtp_admin_url' => admin_url( 'admin.php?page=wp-mail-smtp' ),
264
+ 'load_headline_analyzer_settings' => exactmetrics_load_gutenberg_app() ? 'true' : 'false',
265
+ )
266
+ );
267
+
268
+ // Don't load other scripts on the settings page.
269
+ return;
270
+ }
271
+
272
+ if ( exactmetrics_is_reports_page() ) {
273
+ global $wp_version;
274
+ if ( ! defined( 'EXACTMETRICS_LOCAL_VENDORS_JS_URL' ) ) {
275
+ wp_enqueue_script( 'exactmetrics-vue-vendors', plugins_url( $version_path . '/assets/vue/js/chunk-vendors.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
276
+ wp_enqueue_script( 'exactmetrics-vue-common', plugins_url( $version_path . '/assets/vue/js/chunk-common.js', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version(), true );
277
+ } else {
278
+ wp_enqueue_script( 'exactmetrics-vue-vendors', EXACTMETRICS_LOCAL_VENDORS_JS_URL, array(), exactmetrics_get_asset_version(), true );
279
+ wp_enqueue_script( 'exactmetrics-vue-common', EXACTMETRICS_LOCAL_COMMON_JS_URL, array(), exactmetrics_get_asset_version(), true );
280
+ }
281
+ $app_js_url = defined( 'EXACTMETRICS_LOCAL_REPORTS_JS_URL' ) && EXACTMETRICS_LOCAL_REPORTS_JS_URL ? EXACTMETRICS_LOCAL_REPORTS_JS_URL : plugins_url( $version_path . '/assets/vue/js/reports.js', EXACTMETRICS_PLUGIN_FILE );
282
+ wp_register_script( 'exactmetrics-vue-reports', $app_js_url, array(), exactmetrics_get_asset_version(), true );
283
+ wp_enqueue_script( 'exactmetrics-vue-reports' );
284
+
285
+ // We do not have a current auth.
286
+ $auth = ExactMetrics()->auth;
287
+ $site_auth = $auth->get_viewname();
288
+ $ms_auth = is_multisite() && $auth->get_network_viewname();
289
+
290
+ wp_localize_script(
291
+ 'exactmetrics-vue-reports',
292
+ 'exactmetrics',
293
+ array(
294
+ 'ajax' => admin_url( 'admin-ajax.php' ),
295
+ 'nonce' => wp_create_nonce( 'mi-admin-nonce' ),
296
+ 'network' => is_network_admin(),
297
+ 'translations' => wp_get_jed_locale_data( exactmetrics_is_pro_version() ? 'exactmetrics-premium' : 'google-analytics-dashboard-for-wp' ),
298
+ 'assets' => plugins_url( $version_path . '/assets/vue', EXACTMETRICS_PLUGIN_FILE ),
299
+ 'shareasale_id' => exactmetrics_get_shareasale_id(),
300
+ 'shareasale_url' => exactmetrics_get_shareasale_url( exactmetrics_get_shareasale_id(), '' ),
301
+ 'addons_url' => is_multisite() ? network_admin_url( 'admin.php?page=exactmetrics_network#/addons' ) : admin_url( 'admin.php?page=exactmetrics_settings#/addons' ),
302
+ 'timezone' => date( 'e' ),
303
+ 'authed' => $site_auth || $ms_auth,
304
+ 'auth_connected_type' => $auth->get_connected_type(),
305
+ 'settings_url' => add_query_arg( 'page', 'exactmetrics_settings', admin_url( 'admin.php' ) ),
306
+ // Used to add notices for future deprecations.
307
+ 'versions' => exactmetrics_get_php_wp_version_warning_data(),
308
+ 'plugin_version' => EXACTMETRICS_VERSION,
309
+ 'is_admin' => true,
310
+ 'admin_email' => get_option( 'admin_email' ),
311
+ 'site_url' => get_site_url(),
312
+ 'wizard_url' => is_network_admin() ? network_admin_url( 'index.php?page=exactmetrics-onboarding' ) : admin_url( 'index.php?page=exactmetrics-onboarding' ),
313
+ 'install_nonce' => wp_create_nonce( 'exactmetrics-install' ),
314
+ 'activate_nonce' => wp_create_nonce( 'exactmetrics-activate' ),
315
+ 'deactivate_nonce' => wp_create_nonce( 'exactmetrics-deactivate' ),
316
+ 'update_settings' => current_user_can( 'exactmetrics_save_settings' ),
317
+ 'migrated' => exactmetrics_get_option( 'gadwp_migrated', 0 ),
318
+ )
319
+ );
320
+
321
+ return;
322
+ }
323
+
324
+ // ublock notice
325
+ add_action( 'admin_print_footer_scripts', 'exactmetrics_settings_ublock_error_js', 9999999 );
326
+ }
327
+
328
+ add_action( 'admin_enqueue_scripts', 'exactmetrics_admin_scripts' );
329
+
330
+ /**
331
+ * Remove Assets that conflict with ours from our screens.
332
+ *
333
+ * @return null Return early if not on the proper screen.
334
+ * @since 6.0.4
335
+ * @access public
336
+ *
337
+ */
338
+ function exactmetrics_remove_conflicting_asset_files() {
339
+
340
+ // Get current screen.
341
+ $screen = get_current_screen();
342
+
343
+ // Bail if we're not on a ExactMetrics screen.
344
+ if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
345
+ return;
346
+ }
347
+
348
+ $styles = array(
349
+ 'kt_admin_css', // Pinnacle theme
350
+ 'select2-css', // Schema theme
351
+ 'tweetshare_style', // TweetShare - Click To Tweet
352
+ 'tweetshare_custom_style', // TweetShare - Click To Tweet
353
+ 'tweeetshare_custome_style', // TweetShare - Click To Tweet
354
+ 'tweeetshare_notice_style', // TweetShare - Click To Tweet
355
+ 'tweeetshare_theme_style', // TweetShare - Click To Tweet
356
+ 'tweeetshare_tweet_box_style', // TweetShare - Click To Tweet
357
+ 'soultype2-admin', // SoulType Plugin
358
+ 'thesis-options-stylesheet', // Thesis Options Stylesheet
359
+ 'imagify-sweetalert-core', // Imagify
360
+ 'imagify-sweetalert', // Imagify
361
+ 'smls-backend-style', // Smart Logo Showcase Lite
362
+ 'wp-reactjs-starter', // wp-real-media-library
363
+ 'control-panel-modal-plugin', // Ken Theme
364
+ 'theme-admin-css', // Vitrine Theme
365
+ 'qi-framework-styles', // Artisan Nayma Theme
366
+ 'artisan-pages-style', // Artisan Pages Plugin
367
+ 'control-panel-modal-plugin', // Ken Theme
368
+ 'sweetalert', // Church Suite Theme by Webnus
369
+ 'woo_stock_alerts_admin_css', // WooCommerce bolder product alerts
370
+ 'custom_wp_admin_css', // Fix for Add Social Share
371
+ 'fo_css', // Fix for Add Social Share
372
+ 'font_css', // Fix for Add Social Share
373
+ 'font2_css', // Fix for Add Social Share
374
+ 'font3_css', // Fix for Add Social Share
375
+ 'hover_css', // Fix for Add Social Share
376
+ 'fontend_styling', // Fix for Add Social Share
377
+ 'datatable', // WP Todo
378
+ 'bootstrap', // WP Todo
379
+ 'flipclock', // WP Todo
380
+ 'repuso_css_admin', // Social testimonials and reviews by Repuso
381
+ );
382
+
383
+ $scripts = array(
384
+ 'kad_admin_js', // Pinnacle theme
385
+ 'dt-chart', // DesignThemes core features plugin
386
+ 'tweeetshare_font_script', // TweetShare - Click To Tweet
387
+ 'tweeetshare_jquery_script', // TweetShare - Click To Tweet
388
+ 'tweeetshare_jqueryui_script', // TweetShare - Click To Tweet
389
+ 'tweeetshare_custom_script', // TweetShare - Click To Tweet
390
+ 'imagify-promise-polyfill', // Imagify
391
+ 'imagify-sweetalert', // Imagify
392
+ 'imagify-chart', // Imagify
393
+ 'chartjs', // Comet Cache Pro
394
+ 'wp-reactjs-starter', // wp-real-media-library
395
+ 'jquery-tooltipster', // WP Real Media Library
396
+ 'jquery-nested-sortable', // WP Real Media Library
397
+ 'jquery-aio-tree', // WP Real Media Library
398
+ 'wp-media-picker', // WP Real Media Library
399
+ 'rml-general', // WP Real Media Library
400
+ 'rml-library', // WP Real Media Library
401
+ 'rml-grid', // WP Real Media Library
402
+ 'rml-list', // WP Real Media Library
403
+ 'rml-modal', // WP Real Media Library
404
+ 'rml-order', // WP Real Media Library
405
+ 'rml-meta', // WP Real Media Library
406
+ 'rml-uploader', // WP Real Media Library
407
+ 'rml-options', // WP Real Media Library
408
+ 'rml-usersettings', // WP Real Media Library
409
+ 'rml-main', // WP Real Media Library
410
+ 'control-panel-sweet-alert', // Ken Theme
411
+ 'sweet-alert-js', // Vitrine Theme
412
+ 'theme-admin-script', // Vitrine Theme
413
+ 'sweetalert', // Church Suite Theme by Webnus
414
+ 'be_alerts_charts', // WooCommerce bolder product alerts
415
+ 'magayo-lottery-results', // Magayo Lottery Results
416
+ 'control-panel-sweet-alert', // Ken Theme
417
+ 'cpm_chart', // WP Project Manager
418
+ 'adminscripts', // Artisan Nayma Theme
419
+ 'artisan-pages-script', // Artisan Pages Plugin
420
+ 'tooltipster', // Grand News Theme
421
+ 'fancybox', // Grand News Theme
422
+ 'grandnews-admin-cript', // Grand News Theme
423
+ 'colorpicker', // Grand News Theme
424
+ 'eye', // Grand News Theme
425
+ 'icheck', // Grand News Theme
426
+ 'learn-press-chart', // LearnPress
427
+ 'theme-script-main', // My Listing Theme by 27collective
428
+ 'selz', // Selz eCommerce
429
+ 'tie-admin-scripts', // Tie Theme
430
+ 'blossomthemes-toolkit', // BlossomThemes Toolkit
431
+ 'illdy-widget-upload-image', // Illdy Companion By Colorlib
432
+ 'moment.js', // WooCommerce Table Rate Shipping
433
+ 'default', // Bridge Theme
434
+ 'qode-tax-js', // Bridge Theme
435
+ 'wc_smartship_moment_js', // WooCommerce Posti SmartShip by markup.fi
436
+ 'ecwid-admin-js', // Fixes Conflict for Ecwid Shopping Cart
437
+ 'td-wp-admin-js', // Newspaper by tagDiv
438
+ 'moment', // Screets Live Chat
439
+ 'wpmf-base', // WP Media Folder Fix
440
+ 'wpmf-media-filters', // WP Media Folder Fix
441
+ 'wpmf-folder-tree', // WP Media Folder Fix
442
+ 'wpmf-assign-tree', // WP Media Folder Fix
443
+ 'js_files_for_wp_admin', // TagDiv Composer Fix
444
+ 'tdb_js_files_for_wp_admin_last', // TagDiv Composer Fix
445
+ 'tdb_js_files_for_wp_admin', // TagDiv Composer Fix
446
+ 'wd-functions', // affiliate boxes
447
+ 'ellk-aliExpansion', // Ali Dropship Plugin
448
+ 'ftmetajs', // Houzez Theme
449
+ 'qode_admin_default', // Fix For Stockholm Theme
450
+ 'qodef-tax-js', // Fix for Prowess Theme
451
+ 'qodef-user-js', // Fix for Prowess Theme
452
+ 'qodef-ui-admin', // Fix for Prowess Theme
453
+ 'ssi_script', // Fix for Add Social Share
454
+ 'live_templates', // Fix for Add Social Share
455
+ 'default', // Fix for Add Social Share
456
+ 'handsontable', // Fix WP Tables
457
+ 'moment-js', // Magee Shortcodes
458
+ 'postbox', // Scripts from wp-admin enqueued everywhere by WP Posts Filter
459
+ 'link', // Scripts from wp-admin enqueued everywhere by WP Posts Filter
460
+ 'wpvr_scripts', // WP Video Robot
461
+ 'wpvr_scripts_loaded', // WP Video Robot
462
+ 'wpvr_scripts_assets', // WP Video Robot
463
+ 'writee_widget_admin', // Fix for the Writtee theme
464
+ '__ytprefs_admin__', // Fix for YouTube by EmbedPlus plugin
465
+ 'momentjs', // Fix for Blog Time plugin
466
+ 'c2c_BlogTime', // Fix for Blog Time plugin
467
+ 'material-wp', // Fix for MaterialWP plugin
468
+ 'wp-color-picker-alpha', // Fix for MaterialWP plugin
469
+ 'grandtour-theme-script', // Grandtour Theme
470
+ 'swifty-img-widget-admin-script', // Fix for Swifty Image Widget
471
+ 'datatable', // WP Todo
472
+ 'flipclock', // WP Todo
473
+ 'bootstrap', // WP Todo
474
+ 'repuso_js_admin', // Social testimonials and reviews by Repuso
475
+ 'chart', // Video Mate Pro Theme
476
+ 'reuse_vendor', // RedQ Reuse Form
477
+ 'jetpack-onboarding-vendor', // Jetpack Onboarding Bluehost
478
+ 'date-js', // Google Analytics by Web Dorado
479
+ );
480
+
481
+ if ( ! empty( $styles ) ) {
482
+ foreach ( $styles as $style ) {
483
+ wp_dequeue_style( $style ); // Remove CSS file from MI screen
484
+ wp_deregister_style( $style );
485
+ }
486
+ }
487
+ if ( ! empty( $scripts ) ) {
488
+ foreach ( $scripts as $script ) {
489
+ wp_dequeue_script( $script ); // Remove JS file from MI screen
490
+ wp_deregister_script( $script );
491
+ }
492
+ }
493
+
494
+ $third_party = array(
495
+ 'select2',
496
+ 'sweetalert',
497
+ 'clipboard',
498
+ 'matchHeight',
499
+ 'inputmask',
500
+ 'jquery-confirm',
501
+ 'list',
502
+ 'toastr',
503
+ 'tooltipster',
504
+ 'flag-icon',
505
+ 'bootstrap',
506
+ );
507
+
508
+ global $wp_styles;
509
+ foreach ( $wp_styles->queue as $handle ) {
510
+ if ( strpos( $wp_styles->registered[ $handle ]->src, 'wp-content' ) === false ) {
511
+ return;
512
+ }
513
+
514
+ if ( strpos( $wp_styles->registered[ $handle ]->handle, 'exactmetrics' ) !== false ) {
515
+ return;
516
+ }
517
+
518
+ foreach ( $third_party as $partial ) {
519
+ if ( strpos( $wp_styles->registered[ $handle ]->handle, $partial ) !== false ) {
520
+ wp_dequeue_style( $handle ); // Remove css file from MI screen
521
+ wp_deregister_style( $handle );
522
+ break;
523
+ } else if ( strpos( $wp_styles->registered[ $handle ]->src, $partial ) !== false ) {
524
+ wp_dequeue_style( $handle ); // Remove css file from MI screen
525
+ wp_deregister_style( $handle );
526
+ break;
527
+ }
528
+ }
529
+ }
530
+
531
+ global $wp_scripts;
532
+ foreach ( $wp_scripts->queue as $handle ) {
533
+ if ( strpos( $wp_scripts->registered[ $handle ]->src, 'wp-content' ) === false ) {
534
+ return;
535
+ }
536
+
537
+ if ( strpos( $wp_scripts->registered[ $handle ]->handle, 'exactmetrics' ) !== false ) {
538
+ return;
539
+ }
540
+
541
+ foreach ( $third_party as $partial ) {
542
+ if ( strpos( $wp_scripts->registered[ $handle ]->handle, $partial ) !== false ) {
543
+ wp_dequeue_script( $handle ); // Remove JS file from MI screen
544
+ wp_deregister_script( $handle );
545
+ break;
546
+ } else if ( strpos( $wp_scripts->registered[ $handle ]->src, $partial ) !== false ) {
547
+ wp_dequeue_script( $handle ); // Remove JS file from MI screen
548
+ wp_deregister_script( $handle );
549
+ break;
550
+ }
551
+ }
552
+ }
553
+
554
+ // Remove actions from themes that are not following best practices and break the admin doing so
555
+ // Theme: Newspaper by tagDiv
556
+ remove_action( 'admin_enqueue_scripts', 'load_wp_admin_js' );
557
+ remove_action( 'admin_enqueue_scripts', 'load_wp_admin_css' );
558
+ remove_action( 'admin_print_scripts-widgets.php', 'td_on_admin_print_scripts_farbtastic' );
559
+ remove_action( 'admin_print_styles-widgets.php', 'td_on_admin_print_styles_farbtastic' );
560
+ remove_action( 'admin_print_footer_scripts', 'check_if_media_uploads_is_loaded', 9999 );
561
+ remove_action( 'print_media_templates', 'td_custom_gallery_settings_hook' );
562
+ remove_action( 'print_media_templates', 'td_change_backbone_js_hook' );
563
+ remove_action( 'admin_head', 'tdc_on_admin_head' ); // TagDiv Composer Fix
564
+ remove_action( 'print_media_templates', 'us_media_templates' ); // Impreza Theme Fix
565
+ remove_action( 'admin_footer', 'gt3pg_add_gallery_template' ); // GT3 Photo & Video Gallery By GT3 Themes Plugin Fix
566
+ // Plugin WP Booklist:
567
+ remove_action( 'admin_footer', 'wpbooklist_jre_dismiss_prem_notice_forever_action_javascript' );
568
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_add_book_action_javascript' );
569
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_show_form_action_javascript' );
570
+ remove_action( 'admin_footer', 'wpbooklist_show_book_in_colorbox_action_javascript' );
571
+ remove_action( 'admin_footer', 'wpbooklist_new_lib_shortcode_action_javascript' );
572
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_save_library_display_options_action_javascript' );
573
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_save_post_display_options_action_javascript' );
574
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_save_page_display_options_action_javascript' );
575
+ remove_action( 'admin_footer', 'wpbooklist_update_display_options_action_javascript' );
576
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_pagination_action_javascript' );
577
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_switch_lib_action_javascript' );
578
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_search_action_javascript' );
579
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_actual_action_javascript' );
580
+ remove_action( 'admin_footer', 'wpbooklist_delete_book_action_javascript' );
581
+ remove_action( 'admin_footer', 'wpbooklist_user_apis_action_javascript' );
582
+ remove_action( 'admin_footer', 'wpbooklist_upload_new_stylepak_action_javascript' );
583
+ remove_action( 'admin_footer', 'wpbooklist_upload_new_post_template_action_javascript' );
584
+ remove_action( 'admin_footer', 'wpbooklist_upload_new_page_template_action_javascript' );
585
+ remove_action( 'admin_footer', 'wpbooklist_create_db_library_backup_action_javascript' );
586
+ remove_action( 'admin_footer', 'wpbooklist_restore_db_library_backup_action_javascript' );
587
+ remove_action( 'admin_footer', 'wpbooklist_create_csv_action_javascript' );
588
+ remove_action( 'admin_footer', 'wpbooklist_amazon_localization_action_javascript' );
589
+ remove_action( 'admin_footer', 'wpbooklist_delete_book_bulk_action_javascript' );
590
+ remove_action( 'admin_footer', 'wpbooklist_reorder_action_javascript' );
591
+ remove_action( 'admin_footer', 'wpbooklist_exit_results_action_javascript' );
592
+ remove_action( 'admin_footer', 'wpbooklist_storytime_select_category_action_javascript' );
593
+ remove_action( 'admin_footer', 'wpbooklist_storytime_get_story_action_javascript' );
594
+ remove_action( 'admin_footer', 'wpbooklist_storytime_expand_browse_action_javascript' );
595
+ remove_action( 'admin_footer', 'wpbooklist_storytime_save_settings_action_javascript' );
596
+ remove_action( 'admin_footer', 'wpbooklist_delete_story_action_javascript' );
597
+ }
598
+
599
+ add_action( 'admin_enqueue_scripts', 'exactmetrics_remove_conflicting_asset_files', 9999 );
600
+
601
+ /**
602
+ * Remove non-MI notices from MI page.
603
+ *
604
+ * @return null Return early if not on the proper screen.
605
+ * @since 6.0.0
606
+ * @access public
607
+ *
608
+ */
609
+ function hide_non_exactmetrics_warnings() {
610
+ // Bail if we're not on a ExactMetrics screen.
611
+ if ( empty( $_REQUEST['page'] ) || strpos( $_REQUEST['page'], 'exactmetrics' ) === false ) {
612
+ return;
613
+ }
614
+
615
+ global $wp_filter;
616
+ if ( ! empty( $wp_filter['user_admin_notices']->callbacks ) && is_array( $wp_filter['user_admin_notices']->callbacks ) ) {
617
+ foreach ( $wp_filter['user_admin_notices']->callbacks as $priority => $hooks ) {
618
+ foreach ( $hooks as $name => $arr ) {
619
+ if ( is_object( $arr['function'] ) && $arr['function'] instanceof Closure ) {
620
+ unset( $wp_filter['user_admin_notices']->callbacks[ $priority ][ $name ] );
621
+ continue;
622
+ }
623
+ if ( ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) && strpos( strtolower( get_class( $arr['function'][0] ) ), 'exactmetrics' ) !== false ) {
624
+ continue;
625
+ }
626
+ if ( ! empty( $name ) && strpos( $name, 'exactmetrics' ) === false ) {
627
+ unset( $wp_filter['user_admin_notices']->callbacks[ $priority ][ $name ] );
628
+ }
629
+ }
630
+ }
631
+ }
632
+
633
+ if ( ! empty( $wp_filter['admin_notices']->callbacks ) && is_array( $wp_filter['admin_notices']->callbacks ) ) {
634
+ foreach ( $wp_filter['admin_notices']->callbacks as $priority => $hooks ) {
635
+ foreach ( $hooks as $name => $arr ) {
636
+ if ( is_object( $arr['function'] ) && $arr['function'] instanceof Closure ) {
637
+ unset( $wp_filter['admin_notices']->callbacks[ $priority ][ $name ] );
638
+ continue;
639
+ }
640
+ if ( ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) && strpos( strtolower( get_class( $arr['function'][0] ) ), 'exactmetrics' ) !== false ) {
641
+ continue;
642
+ }
643
+ if ( ! empty( $name ) && strpos( $name, 'exactmetrics' ) === false ) {
644
+ unset( $wp_filter['admin_notices']->callbacks[ $priority ][ $name ] );
645
+ }
646
+ }
647
+ }
648
+ }
649
+
650
+ if ( ! empty( $wp_filter['all_admin_notices']->callbacks ) && is_array( $wp_filter['all_admin_notices']->callbacks ) ) {
651
+ foreach ( $wp_filter['all_admin_notices']->callbacks as $priority => $hooks ) {
652
+ foreach ( $hooks as $name => $arr ) {
653
+ if ( is_object( $arr['function'] ) && $arr['function'] instanceof Closure ) {
654
+ unset( $wp_filter['all_admin_notices']->callbacks[ $priority ][ $name ] );
655
+ continue;
656
+ }
657
+ if ( ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) && strpos( strtolower( get_class( $arr['function'][0] ) ), 'exactmetrics' ) !== false ) {
658
+ continue;
659
+ }
660
+ if ( ! empty( $name ) && strpos( $name, 'exactmetrics' ) === false ) {
661
+ unset( $wp_filter['all_admin_notices']->callbacks[ $priority ][ $name ] );
662
+ }
663
+ }
664
+ }
665
+ }
666
+ }
667
+
668
+ add_action( 'admin_print_scripts', 'hide_non_exactmetrics_warnings' );
669
+ add_action( 'admin_head', 'hide_non_exactmetrics_warnings', PHP_INT_MAX );
670
+
671
+ /**
672
+ * Called whenever an upgrade button / link is displayed in Lite, this function will
673
+ * check if there's a shareasale ID specified.
674
+ *
675
+ * There are three ways to specify an ID, ordered by highest to lowest priority
676
+ * - add_filter( 'exactmetrics_shareasale_id', function() { return 1234; } );
677
+ * - define( 'EXACTMETRICS_SHAREASALE_ID', 1234 );
678
+ * - get_option( 'exactmetrics_shareasale_id' ); (with the option being in the wp_options table)
679
+ *
680
+ * If an ID is present, returns the ShareASale link with the affiliate ID, and tells
681
+ * ShareASale to then redirect to exactmetrics.com/lite
682
+ *
683
+ * If no ID is present, just returns the exactmetrics.com/lite URL with UTM tracking.
684
+ *
685
+ * @return string Upgrade link.
686
+ * @since 6.0.0
687
+ * @access public
688
+ *
689
+ */
690
+ function exactmetrics_get_upgrade_link( $medium = '', $campaign = '', $url = '' ) {
691
+ $url = exactmetrics_get_url( $medium, $campaign, $url, false );
692
+
693
+ if ( exactmetrics_is_pro_version() ) {
694
+ return esc_url( $url );
695
+ }
696
+
697
+ // Get the ShareASale ID
698
+ $shareasale_id = exactmetrics_get_shareasale_id();
699
+
700
+ // If we have a shareasale ID return the shareasale url
701
+ if ( ! empty( $shareasale_id ) ) {
702
+ $shareasale_id = absint( $shareasale_id );
703
+
704
+ return esc_url( exactmetrics_get_shareasale_url( $shareasale_id, $url ) );
705
+ } else {
706
+ return esc_url( $url );
707
+ }
708
+ }
709
+
710
+ function exactmetrics_get_url( $medium = '', $campaign = '', $url = '', $escape = true ) {
711
+ // Setup Campaign variables
712
+ $source = exactmetrics_is_pro_version() ? 'proplugin' : 'liteplugin';
713
+ $medium = ! empty( $medium ) ? $medium : 'defaultmedium';
714
+ $campaign = ! empty( $campaign ) ? $campaign : 'defaultcampaign';
715
+ $content = EXACTMETRICS_VERSION;
716
+ $default_url = exactmetrics_is_pro_version() ? '' : 'lite/';
717
+ $url = ! empty( $url ) ? $url : 'https://www.exactmetrics.com/' . $default_url;
718
+
719
+ // Put together redirect URL
720
+ $url = add_query_arg(
721
+ array(
722
+ 'utm_source' => $source, // Pro/Lite Plugin
723
+ 'utm_medium' => sanitize_key( $medium ), // Area of ExactMetrics (example Reports)
724
+ 'utm_campaign' => sanitize_key( $campaign ), // Which link (example eCommerce Report)
725
+ 'utm_content' => $content, // Version number of MI
726
+ ),
727
+ trailingslashit( $url )
728
+ );
729
+
730
+ if ( $escape ) {
731
+ return esc_url( $url );
732
+ } else {
733
+ return $url;
734
+ }
735
+ }
736
+
737
+ function exactmetrics_settings_ublock_error_js() {
738
+ echo "<script type='text/javascript'>\n";
739
+ echo "jQuery( document ).ready( function( $ ) {
740
+ if ( window.uorigindetected == null){
741
+ $('#exactmetrics-ublock-origin-error').show();
742
+ $('.exactmetrics-nav-tabs').hide();
743
+ $('.exactmetrics-nav-container').hide();
744
+ $('#exactmetrics-addon-heading').hide();
745
+ $('#exactmetrics-addons').hide();
746
+ $('#exactmetrics-reports').hide();
747
+ }
748
+ });";
749
+ echo "\n</script>";
750
+ }
751
+
752
+ function exactmetrics_ublock_notice() {
753
+ ob_start(); ?>
754
+ <div id="exactmetrics-ublock-origin-error" class="error inline" style="display:none;">
755
+ <?php
756
+ // Translators: Placeholders are for links to fix the issue.
757
+ echo sprintf( esc_html__( 'ExactMetrics has detected that it\'s files are being blocked. This is usually caused by a adblock browser plugin (particularly uBlock Origin), or a conflicting WordPress theme or plugin. This issue only affects the admin side of ExactMetrics. To solve this, ensure ExactMetrics is whitelisted for your website URL in any adblock browser plugin you use. For step by step directions on how to do this, %1$sclick here%2$s. If this doesn\'t solve the issue (rare), send us a ticket %3$shere%2$s and we\'ll be happy to help diagnose the issue.', 'google-analytics-dashboard-for-wp' ), '<a href="https://exactmetrics.com/docs/exactmetrics-asset-files-blocked/" target="_blank" rel="noopener noreferrer" referrer="no-referrer">', '</a>', '<a href="https://exactmetrics.com/contact/" target="_blank" rel="noopener noreferrer" referrer="no-referrer">' );
758
+ ?>
759
+ </div>
760
+ <?php
761
+ return ob_get_clean();
762
+ }
763
+
764
+ /**
765
+ * Some themes/plugins don't add proper checks and load JS code in all admin pages causing conflicts.
766
+ */
767
+ function exactmetrics_remove_unnecessary_footer_hooks() {
768
+
769
+ $screen = get_current_screen();
770
+ // Bail if we're not on a ExactMetrics screen.
771
+ if ( empty( $screen->id ) || strpos( $screen->id, 'exactmetrics' ) === false ) {
772
+ return;
773
+ }
774
+
775
+ // Remove js code added by Newspaper theme - version 8.8.0.
776
+ remove_action( 'print_media_templates', 'td_custom_gallery_settings_hook' );
777
+ remove_action( 'print_media_templates', 'td_change_backbone_js_hook' );
778
+ // Remove js code added by the Brooklyn theme - version 4.5.3.1.
779
+ remove_action( 'print_media_templates', 'ut_create_gallery_options' );
780
+
781
+ // Remove js code added by WordPress Book List Plugin - version 5.8.1.
782
+ remove_action( 'admin_footer', 'wpbooklist_jre_dismiss_prem_notice_forever_action_javascript' );
783
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_add_book_action_javascript' );
784
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_show_form_action_javascript' );
785
+ remove_action( 'admin_footer', 'wpbooklist_show_book_in_colorbox_action_javascript' );
786
+ remove_action( 'admin_footer', 'wpbooklist_new_lib_shortcode_action_javascript' );
787
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_save_library_display_options_action_javascript' );
788
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_save_post_display_options_action_javascript' );
789
+ remove_action( 'admin_footer', 'wpbooklist_dashboard_save_page_display_options_action_javascript' );
790
+ remove_action( 'admin_footer', 'wpbooklist_update_display_options_action_javascript' );
791
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_pagination_action_javascript' );
792
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_switch_lib_action_javascript' );
793
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_search_action_javascript' );
794
+ remove_action( 'admin_footer', 'wpbooklist_edit_book_actual_action_javascript' );
795
+ remove_action( 'admin_footer', 'wpbooklist_delete_book_action_javascript' );
796
+ remove_action( 'admin_footer', 'wpbooklist_user_apis_action_javascript' );
797
+ remove_action( 'admin_footer', 'wpbooklist_upload_new_stylepak_action_javascript' );
798
+ remove_action( 'admin_footer', 'wpbooklist_upload_new_post_template_action_javascript' );
799
+ remove_action( 'admin_footer', 'wpbooklist_upload_new_page_template_action_javascript' );
800
+ remove_action( 'admin_footer', 'wpbooklist_create_db_library_backup_action_javascript' );
801
+ remove_action( 'admin_footer', 'wpbooklist_restore_db_library_backup_action_javascript' );
802
+ remove_action( 'admin_footer', 'wpbooklist_create_csv_action_javascript' );
803
+ remove_action( 'admin_footer', 'wpbooklist_amazon_localization_action_javascript' );
804
+ remove_action( 'admin_footer', 'wpbooklist_delete_book_bulk_action_javascript' );
805
+ remove_action( 'admin_footer', 'wpbooklist_reorder_action_javascript' );
806
+ remove_action( 'admin_footer', 'wpbooklist_exit_results_action_javascript' );
807
+ remove_action( 'admin_footer', 'wpbooklist_storytime_select_category_action_javascript' );
808
+ remove_action( 'admin_footer', 'wpbooklist_storytime_get_story_action_javascript' );
809
+ remove_action( 'admin_footer', 'wpbooklist_storytime_expand_browse_action_javascript' );
810
+ remove_action( 'admin_footer', 'wpbooklist_storytime_save_settings_action_javascript' );
811
+ remove_action( 'admin_footer', 'wpbooklist_delete_story_action_javascript' );
812
+ }
813
+
814
+ add_action( 'admin_head', 'exactmetrics_remove_unnecessary_footer_hooks', 15 );
815
+
816
+
817
+ /**
818
+ * Prevent plugins/themes from removing the version number from scripts loaded by our plugin.
819
+ * Ideally those plugins/themes would follow WordPress coding best practices, but in lieu of that
820
+ * we can at least attempt to prevent 99% of them from doing bad things.
821
+ *
822
+ * @param string $src The script source.
823
+ *
824
+ * @return string
825
+ */
826
+ function exactmetrics_prevent_version_number_removal( $src ) {
827
+ // Apply this only to admin-side scripts.
828
+ if ( ! is_admin() ) {
829
+ return $src;
830
+ }
831
+
832
+ // Make sure are only changing our scripts and only if the version number is missing.
833
+ if ( ( false !== strpos( $src, 'exactmetrics' ) || false !== strpos( $src, 'google-analytics-dashboard-for-wp' ) || false !== strpos( $src, 'exactmetrics-premium' ) ) && false === strpos( $src, '?ver' ) ) {
834
+ $src = add_query_arg( 'ver', exactmetrics_get_asset_version(), $src );
835
+ }
836
+
837
+ return $src;
838
+ }
839
+
840
+ add_filter( 'script_loader_src', 'exactmetrics_prevent_version_number_removal', 9999, 1 );
841
+ add_filter( 'style_loader_src', 'exactmetrics_prevent_version_number_removal', 9999, 1 );
842
+
843
+ /**
844
+ * Data used for the Vue scripts to display old PHP and WP versions warnings.
845
+ */
846
+ function exactmetrics_get_php_wp_version_warning_data() {
847
+ global $wp_version;
848
+
849
+ $compatible_php_version = apply_filters( 'exactmetrics_compatible_php_version', false );
850
+ $compatible_wp_version = apply_filters( 'exactmetrics_compatible_wp_version', false );
851
+
852
+ return array(
853
+ 'php_version' => phpversion(),
854
+ 'php_version_below_54' => apply_filters( 'exactmetrics_temporarily_hide_php_under_56_upgrade_warnings', version_compare( phpversion(), $compatible_php_version['warning'], '<' ) ),
855
+ 'php_version_below_56' => apply_filters( 'exactmetrics_temporarily_hide_php_56_upgrade_warnings', version_compare( phpversion(), $compatible_php_version['warning'], '>=' ) && version_compare( phpversion(), $compatible_php_version['recommended'], '<' ) ),
856
+ 'php_update_link' => exactmetrics_get_url( 'settings-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-php/' ),
857
+ 'wp_version' => $wp_version,
858
+ 'wp_version_below_46' => version_compare( $wp_version, $compatible_wp_version['warning'], '<' ),
859
+ 'wp_version_below_49' => version_compare( $wp_version, $compatible_wp_version['recommended'], '<' ),
860
+ 'wp_update_link' => exactmetrics_get_url( 'settings-notice', 'settings-page', 'https://www.exactmetrics.com/docs/update-wordpress/' ),
861
+ );
862
+ }
863
+
864
+ /**
865
+ * Check WP and PHP version and add contextual notifications for upgrades.
866
+ */
867
+ function exactmetrics_maybe_add_wp_php_version_notification() {
868
+ global $wp_version;
869
+
870
+ $icon = '<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="16" cy="16" r="16" fill="#FAD1D1"/><path d="M17.3634 19.0714C17.792 19.4821 18.0063 19.9821 18.0063 20.5714C18.0063 21.1607 17.792 21.6607 17.3634 22.0714C16.9527 22.5 16.4527 22.7143 15.8634 22.7143C15.2742 22.7143 14.7652 22.5 14.3367 22.0714C13.9259 21.6607 13.7206 21.1607 13.7206 20.5714C13.7206 19.9821 13.9259 19.4821 14.3367 19.0714C14.7652 18.6429 15.2742 18.4286 15.8634 18.4286C16.4527 18.4286 16.9527 18.6429 17.3634 19.0714ZM13.9617 9.66964C13.9617 9.49107 14.0242 9.33929 14.1492 9.21429C14.2742 9.07143 14.4259 9 14.6045 9H17.1224C17.3009 9 17.4527 9.07143 17.5777 9.21429C17.7027 9.33929 17.7652 9.49107 17.7652 9.66964L17.3902 16.9554C17.3902 17.1339 17.3277 17.2857 17.2027 17.4107C17.0777 17.5179 16.9259 17.5714 16.7474 17.5714H14.9795C14.8009 17.5714 14.6492 17.5179 14.5242 17.4107C14.3992 17.2857 14.3367 17.1339 14.3367 16.9554L13.9617 9.66964Z" fill="#EB5757"/></svg>';
871
+ $needs_php_warning = version_compare( phpversion(), '5.6', '<' );
872
+ $needs_wp_warning = version_compare( $wp_version, '4.9', '<' );
873
+
874
+ if ( $needs_php_warning ) {
875
+ $notification['id'] = 'upgrade_php_56_notification';
876
+ $notification['title'] = __( 'ACTION REQUIRED: Your PHP version is putting your site at risk!', 'google-analytics-dashboard-for-wp' );
877
+ if ( $needs_wp_warning ) {
878
+ $notification['title'] = __( 'ACTION REQUIRED: Speed your website up 400% with a single email!', 'google-analytics-dashboard-for-wp' );
879
+ }
880
+
881
+ $php_url = exactmetrics_get_url( 'notifications', 'upgrade-php', 'https://www.exactmetrics.com/docs/update-php' );
882
+
883
+ $notification['type'] = array( 'basic', 'lite', 'master', 'plus', 'pro' );
884
+ // Translators: Placeholder is for the current PHP version.
885
+ $notification['content'] = sprintf( esc_html__( 'In the next major release of ExactMetrics we are planning to remove support for the version of PHP you are using (%s). This insecure version is no longer supported by WordPress itself, so you are already missing out on the latest features of WordPress along with critical updates for security and performance (modern PHP versions make websites much faster).', 'google-analytics-dashboard-for-wp' ), phpversion() ) . "\n\n";
886
+
887
+ // Translators: Placeholders add a link to an article.
888
+ $notification['content'] .= sprintf( esc_html__( 'To ensure ExactMetrics and other plugins on your site continue to function properly, and avoid putting your site at risk, please take a few minutes to ask your website hosting provider to upgrade the version of PHP to a modern PHP version (7.2 or newer). We provide helpful templates for how to ask them %1$shere%2$s.', 'google-analytics-dashboard-for-wp' ), '<a target="_blank" href="' . $php_url . '">', '</a>' ) . "\n\n";
889
+ $notification['content'] .= esc_html__( 'Upgrading your PHP version will make sure you are able to continue using WordPress without issues in the future, keep your site secure, and will also make your website up to 400% faster!', 'google-analytics-dashboard-for-wp' );
890
+
891
+ $notification['icon'] = $icon;
892
+ $notification['btns'] = array(
893
+ 'learn_more' => array(
894
+ 'url' => $php_url,
895
+ 'text' => esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' ),
896
+ ),
897
+ );
898
+
899
+ // Add the notification.
900
+ ExactMetrics()->notifications->add( $notification );
901
+ }
902
+
903
+ if ( $needs_wp_warning ) {
904
+
905
+ $isitwp_url = 'https://www.isitwp.com/upgrading-wordpress-is-easier-than-you-think/?utm_source=exactmetrics&utm_medium=notifications&utm_campaign=upgradewp';
906
+ $wpbeginner_url = 'https://www.wpbeginner.com/beginners-guide/why-you-should-always-use-the-latest-version-of-wordpress/utm_source=exactmetrics&utm_medium=notifications&utm_campaign=upgradewp';
907
+
908
+ $notification['id'] = 'upgrade_wp_49_notification';
909
+ $notification['title'] = __( 'ACTION REQUIRED: Your WordPress version is putting your site at risk!', 'google-analytics-dashboard-for-wp' );
910
+ $notification['type'] = array( 'basic', 'lite', 'master', 'plus', 'pro' );
911
+ // Translators: Placeholder is for the current WordPress version.
912
+ $notification['content'] = sprintf( esc_html__( 'In the next major release of ExactMetrics we are planning to remove support for the version of WordPress you are using (version %s). This version is several years out of date, and most plugins do not support this version anymore, so you could be missing out on critical updates for performance and security already!', 'google-analytics-dashboard-for-wp' ), $wp_version ) . "\n\n";
913
+
914
+ $notification['content'] .= esc_html__( 'The good news: updating WordPress has never been easier and only takes a few moments.', 'google-analytics-dashboard-for-wp' );
915
+ // Translators: Placeholders add links to articles.
916
+ $notification['content'] .= sprintf( esc_html__( 'To update, we recommend following this %1$sstep by step guide for updating WordPress%2$s from IsItWP and afterwards check out %3$sWhy You Should Always Use the Latest Version of WordPress%4$s on WPBeginner.', 'google-analytics-dashboard-for-wp' ), '<a target="_blank" href="' . $isitwp_url . '">', '</a>', '<a target="_blank" href="' . $wpbeginner_url . '">', '</a>' ) . "\n\n";
917
+
918
+ $notification['icon'] = $icon;
919
+ $notification['btns'] = array(
920
+ 'learn_more' => array(
921
+ 'url' => $isitwp_url,
922
+ 'text' => esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' ),
923
+ ),
924
+ );
925
+
926
+ // Add the notification.
927
+ ExactMetrics()->notifications->add( $notification );
928
+ }
929
+
930
+ }
931
+
932
+ add_action( 'admin_init', 'exactmetrics_maybe_add_wp_php_version_notification' );
933
+
934
+ /**
935
+ * Add notification for Year In Review report for year 2021.
936
+ *
937
+ * @since 7.13.2
938
+ *
939
+ * @return void
940
+ */
941
+ function exactmetrics_year_in_review_notification() {
942
+
943
+ // Check if dates are between Jan 1st 2022 & 13th Jan 2022.
944
+ if ( exactmetrics_date_is_between( '2022-01-01', '2022-01-14' ) ) {
945
+
946
+ $notification['id'] = 'exactmetrics_notification_year_in_review';
947
+ $notification['type'] = array( 'basic', 'lite', 'master', 'plus', 'pro' );
948
+ $notification['start'] = '2022-01-01';
949
+ $notification['end'] = '2022-01-14';
950
+ $notification['title'] = esc_html__( 'View 2021 Year in Review report!', 'google-analytics-dashboard-for-wp' );
951
+ $notification['content'] = esc_html__( 'See how your website performed this year and find tips along the way to help grow even more in 2022!', 'google-analytics-dashboard-for-wp' );
952
+ $notification['btns'] = array(
953
+ 'learn_more' => array(
954
+ 'url' => esc_url( admin_url( 'admin.php?page=exactmetrics_reports#/year-in-review' ) ),
955
+ 'text' => esc_html__( 'Learn More', 'google-analytics-dashboard-for-wp' ),
956
+ ),
957
+ );
958
+
959
+ // Add the notification.
960
+ ExactMetrics()->notifications->add( $notification );
961
+ }
962
+ }
963
+
964
+ add_action( 'admin_init', 'exactmetrics_year_in_review_notification' );
includes/admin/exclude-page-metabox.php CHANGED
@@ -1,55 +1,94 @@
1
  <?php
 
2
  /**
3
  * Metabox class.
4
  */
5
 
6
  // Exit if accessed directly
7
- if ( ! defined( 'ABSPATH' ) ) {
8
  exit;
9
  }
10
- if ( ! class_exists( 'ExactMetrics_MetaBox_ExcludePage' ) ) {
11
- class ExactMetrics_MetaBox_ExcludePage {
 
12
 
13
- public function __construct() {
14
- add_action( 'init', [ $this, 'register_meta' ] );
 
15
 
16
- if ( ! is_admin() ) {
17
  return;
18
  }
19
 
20
- add_action( 'load-post.php', [ $this, 'meta_box_init' ] );
21
- add_action( 'load-post-new.php', [ $this, 'meta_box_init' ] );
22
  }
23
 
24
- private function is_gutenberg_editor() {
25
- if( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
 
26
  return true;
27
  }
28
 
29
  $current_screen = get_current_screen();
30
- if ( method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() ) {
31
  return true;
32
  }
33
 
34
  return false;
35
  }
36
 
37
- private function posttype_supports_gutenberg() {
38
- return post_type_supports( exactmetrics_get_current_post_type(), 'custom-fields' );
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
- public function meta_box_init() {
42
- add_action( 'admin_enqueue_scripts', array( $this, 'load_metabox_styles' ) );
43
- if ( $this->is_gutenberg_editor() && $this->posttype_supports_gutenberg() ) {
 
44
  return;
45
  }
46
- add_action( 'add_meta_boxes', [ $this, 'create_meta_box' ] );
 
 
 
 
 
47
  }
48
 
49
- public function register_meta() {
50
- if ( ! function_exists( 'register_post_meta' ) ) {
51
- return;
52
- }
 
53
 
54
  register_post_meta(
55
  '',
@@ -64,18 +103,20 @@ if ( ! class_exists( 'ExactMetrics_MetaBox_ExcludePage' ) ) {
64
  );
65
  }
66
 
67
- public function create_meta_box() {
 
68
  add_meta_box(
69
  'exactmetrics-metabox',
70
  'ExactMetrics',
71
- [ $this, 'print_metabox_html' ],
72
  null,
73
  'side',
74
  'high'
75
  );
76
  }
77
 
78
- public function print_metabox_html( $post ) {
 
79
  $skipped = (bool) get_post_meta( $post->ID, '_mi_skip_tracking', true );
80
  wp_nonce_field( 'exactmetrics_metabox', 'exactmetrics_metabox_nonce' );
81
  ?>
@@ -89,32 +130,43 @@ if ( ! class_exists( 'ExactMetrics_MetaBox_ExcludePage' ) ) {
89
  <div class="exactmetrics-metabox-helper">
90
  <?php _e( 'Toggle to prevent Google Analytics from tracking this page.', 'google-analytics-dashboard-for-wp' ); ?>
91
  </div>
92
- <?php if ( ! exactmetrics_is_pro_version() ) { ?>
93
- <div class="exactmetrics-metabox-pro-badge">
 
 
 
 
94
  <span>
95
  <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
96
  <path d="M6.57617 1.08203L4.92578 4.45898L1.19336 4.99219C0.533203 5.09375 0.279297 5.90625 0.761719 6.38867L3.42773 9.00391L2.79297 12.6855C2.69141 13.3457 3.40234 13.8535 3.98633 13.5488L7.3125 11.7969L10.6133 13.5488C11.1973 13.8535 11.9082 13.3457 11.8066 12.6855L11.1719 9.00391L13.8379 6.38867C14.3203 5.90625 14.0664 5.09375 13.4062 4.99219L9.69922 4.45898L8.02344 1.08203C7.74414 0.498047 6.88086 0.472656 6.57617 1.08203Z" fill="#31862D"/>
97
  </svg>
98
  <?php _e( 'This is a PRO feature.', 'google-analytics-dashboard-for-wp' ); ?>
99
  </span>
100
- <div class="exactmetrics-metabox-pro-badge-upgrade">
101
- <a href="<?php echo exactmetrics_get_upgrade_link( 'exclude-page-tracking', 'lite-metabox', "https://www.exactmetrics.com/lite/" ); ?>" target="_blank" rel="noopener">
102
- <?php _e( 'Upgrade', 'google-analytics-dashboard-for-wp' ); ?>
103
- </a>
104
- </div>
105
- </div>
106
- <?php } ?>
107
- </div>
108
- <?php
109
  }
110
 
111
- public function load_metabox_styles() {
112
- $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
 
113
 
114
- wp_register_style( 'exactmetrics-admin-metabox-style', plugins_url( 'assets/css/admin-metabox' . $suffix . '.css', EXACTMETRICS_PLUGIN_FILE ), array(), exactmetrics_get_asset_version() );
115
- wp_enqueue_style( 'exactmetrics-admin-metabox-style' );
116
- }
117
 
 
 
 
 
 
 
 
118
  }
119
 
120
  new ExactMetrics_MetaBox_ExcludePage();
1
  <?php
2
+
3
  /**
4
  * Metabox class.
5
  */
6
 
7
  // Exit if accessed directly
8
+ if (!defined('ABSPATH')) {
9
  exit;
10
  }
11
+ if (!class_exists('ExactMetrics_MetaBox_ExcludePage')) {
12
+ class ExactMetrics_MetaBox_ExcludePage
13
+ {
14
 
15
+ public function __construct()
16
+ {
17
+ add_action('init', [$this, 'register_meta']);
18
 
19
+ if (!is_admin()) {
20
  return;
21
  }
22
 
23
+ add_action('load-post.php', [$this, 'meta_box_init']);
24
+ add_action('load-post-new.php', [$this, 'meta_box_init']);
25
  }
26
 
27
+ private function is_gutenberg_editor()
28
+ {
29
+ if (function_exists('is_gutenberg_page') && is_gutenberg_page()) {
30
  return true;
31
  }
32
 
33
  $current_screen = get_current_screen();
34
+ if (method_exists($current_screen, 'is_block_editor') && $current_screen->is_block_editor()) {
35
  return true;
36
  }
37
 
38
  return false;
39
  }
40
 
41
+ private function posttype_supports_gutenberg()
42
+ {
43
+ return post_type_supports(exactmetrics_get_current_post_type(), 'custom-fields');
44
+ }
45
+
46
+ private function get_current_post_type()
47
+ {
48
+ global $post;
49
+
50
+ if ($post && $post->post_type) {
51
+ return $post->post_type;
52
+ }
53
+
54
+ global $typenow;
55
+
56
+ if ($typenow) {
57
+ return $typenow;
58
+ }
59
+
60
+ global $current_screen;
61
+
62
+ if ($current_screen && $current_screen->post_type) {
63
+ return $current_screen->post_type;
64
+ }
65
+
66
+ if (isset($_REQUEST['post_type'])) {
67
+ return sanitize_key($_REQUEST['post_type']);
68
+ }
69
+
70
+ return null;
71
+ }
72
 
73
+ public function meta_box_init()
74
+ {
75
+ $post_type = $this->get_current_post_type();
76
+ if (!is_post_type_viewable($post_type)) {
77
  return;
78
  }
79
+
80
+ add_action('admin_enqueue_scripts', array($this, 'load_metabox_styles'));
81
+ if ($this->is_gutenberg_editor() && $this->posttype_supports_gutenberg()) {
82
+ return;
83
+ }
84
+ add_action('add_meta_boxes', [$this, 'create_meta_box']);
85
  }
86
 
87
+ public function register_meta()
88
+ {
89
+ if (!function_exists('register_post_meta')) {
90
+ return;
91
+ }
92
 
93
  register_post_meta(
94
  '',
103
  );
104
  }
105
 
106
+ public function create_meta_box()
107
+ {
108
  add_meta_box(
109
  'exactmetrics-metabox',
110
  'ExactMetrics',
111
+ [$this, 'print_metabox_html'],
112
  null,
113
  'side',
114
  'high'
115
  );
116
  }
117
 
118
+ public function print_metabox_html($post)
119
+ {
120
  $skipped = (bool) get_post_meta( $post->ID, '_mi_skip_tracking', true );
121
  wp_nonce_field( 'exactmetrics_metabox', 'exactmetrics_metabox_nonce' );
122
  ?>
130
  <div class="exactmetrics-metabox-helper">
131
  <?php _e( 'Toggle to prevent Google Analytics from tracking this page.', 'google-analytics-dashboard-for-wp' ); ?>
132
  </div>
133
+ </div>
134
+
135
+ <?php do_action( 'exactmetrics_after_exclude_metabox', $skipped, $post ); ?>
136
+
137
+ <?php if ( ! exactmetrics_is_pro_version() ) { ?>
138
+ <div class="exactmetrics-metabox-pro-badge">
139
  <span>
140
  <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
141
  <path d="M6.57617 1.08203L4.92578 4.45898L1.19336 4.99219C0.533203 5.09375 0.279297 5.90625 0.761719 6.38867L3.42773 9.00391L2.79297 12.6855C2.69141 13.3457 3.40234 13.8535 3.98633 13.5488L7.3125 11.7969L10.6133 13.5488C11.1973 13.8535 11.9082 13.3457 11.8066 12.6855L11.1719 9.00391L13.8379 6.38867C14.3203 5.90625 14.0664 5.09375 13.4062 4.99219L9.69922 4.45898L8.02344 1.08203C7.74414 0.498047 6.88086 0.472656 6.57617 1.08203Z" fill="#31862D"/>
142
  </svg>
143
  <?php _e( 'This is a PRO feature.', 'google-analytics-dashboard-for-wp' ); ?>
144
  </span>
145
+ <div class="exactmetrics-metabox-pro-badge-upgrade">
146
+ <a href="<?php echo exactmetrics_get_upgrade_link( 'exclude-page-tracking', 'lite-metabox', "https://www.exactmetrics.com/lite/" ); ?>" target="_blank" rel="noopener">
147
+ <?php _e( 'Upgrade', 'google-analytics-dashboard-for-wp' ); ?>
148
+ </a>
149
+ </div>
150
+ </div>
151
+ <?php } ?>
152
+
153
+ <?php
154
  }
155
 
156
+ public function load_metabox_styles()
157
+ {
158
+ $suffix = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min';
159
 
160
+ wp_register_style('exactmetrics-admin-metabox-style', plugins_url('assets/css/admin-metabox' . $suffix . '.css', EXACTMETRICS_PLUGIN_FILE), array(), exactmetrics_get_asset_version());
161
+ wp_enqueue_style('exactmetrics-admin-metabox-style');
 
162
 
163
+ if ( exactmetrics_is_pro_version() ){
164
+ return;
165
+ }
166
+
167
+ wp_register_script( 'exactmetrics-admin-metabox-script', plugins_url( 'assets/js/admin-metabox' . $suffix . '.js', EXACTMETRICS_PLUGIN_FILE ), array( 'jquery' ), exactmetrics_get_asset_version() );
168
+ wp_enqueue_script( 'exactmetrics-admin-metabox-script' );
169
+ }
170
  }
171
 
172
  new ExactMetrics_MetaBox_ExcludePage();
includes/admin/notifications/notification-bounce-rate.php CHANGED
@@ -27,14 +27,14 @@ final class ExactMetrics_Notification_Bounce_Rate extends ExactMetrics_Notificat
27
  $report = $this->get_report( 'overview' );
28
  $bounce_rate = isset( $report['data']['infobox']['bounce']['value'] ) ? $report['data']['infobox']['bounce']['value'] : 0;
29
 
30
- if ( $bounce_rate > 0 ) {
31
  $is_em = defined( 'EXACTMETRICS_VERSION' );
32
 
33
  $learn_more_url = $is_em
34
  ? 'https://www.exactmetrics.com/epic-list-of-marketing-hacks-for-explosive-traffic-growth/'
35
  : 'https://www.exactmetrics.com/how-to-reduce-bounce-rate/';
36
 
37
- $notification['title'] = sprintf( __( 'Your Website Bounce Rate is Higher Than %s%%', 'google-analytics-dashboard-for-wp' ), $bounce_rate );
38
  // Translators: Bounce rate notification content.
39
  $notification['content'] = sprintf( __( 'Your site\'s bounce rate is %1$s. Double check your site is working properly and be sure it loads quickly. %2$sHere%3$s are some points to remember and steps to follow to get your bounce rates back to manageable levels.', 'google-analytics-dashboard-for-wp' ), $bounce_rate, '<a href="' . $this->build_external_link( 'https://www.exactmetrics.com/how-to-reduce-bounce-rate/' ) . '" target="_blank">', '</a>' );
40
  $notification['btns'] = array(
27
  $report = $this->get_report( 'overview' );
28
  $bounce_rate = isset( $report['data']['infobox']['bounce']['value'] ) ? $report['data']['infobox']['bounce']['value'] : 0;
29
 
30
+ if ( $bounce_rate ) {
31
  $is_em = defined( 'EXACTMETRICS_VERSION' );
32
 
33
  $learn_more_url = $is_em
34
  ? 'https://www.exactmetrics.com/epic-list-of-marketing-hacks-for-explosive-traffic-growth/'
35
  : 'https://www.exactmetrics.com/how-to-reduce-bounce-rate/';
36
 
37
+ $notification['title'] = sprintf( __( 'Your Website Bounce Rate is Higher Than %s', 'google-analytics-dashboard-for-wp' ), $bounce_rate );
38
  // Translators: Bounce rate notification content.
39
  $notification['content'] = sprintf( __( 'Your site\'s bounce rate is %1$s. Double check your site is working properly and be sure it loads quickly. %2$sHere%3$s are some points to remember and steps to follow to get your bounce rates back to manageable levels.', 'google-analytics-dashboard-for-wp' ), $bounce_rate, '<a href="' . $this->build_external_link( 'https://www.exactmetrics.com/how-to-reduce-bounce-rate/' ) . '" target="_blank">', '</a>' );
40
  $notification['btns'] = array(
includes/admin/notifications/notification-dual-tracking.php CHANGED
@@ -24,11 +24,16 @@ class ExactMetrics_Notification_Dual_Tracking extends ExactMetrics_Notification_
24
  if ( $ua && !$v4 ) {
25
  $is_em = defined( 'EXACTMETRICS_VERSION' );
26
  $learn_more_url = $is_em
27
- ? 'https://www.exactmetrics.com/adding-google-analytics-4-to-wordpress-step-by-step-guide/'
28
- : 'https://www.exactmetrics.com/what-is-google-analytics-4-should-you-use-it/';
29
 
30
- $notification['title'] = __('Prepare for Google Analytics 4', 'google-analytics-dashboard-for-wp');
31
- $notification['content'] = __( 'Prepare for the future of analytics by setting up Google Analytics 4. Enable "Dual Tracking" today.', 'google-analytics-dashboard-for-wp' );
 
 
 
 
 
32
  $notification['btns'] = array(
33
  'setup_now' => array(
34
  'url' => $this->get_view_url( 'exactmetrics-dual-tracking-id', 'exactmetrics_settings' ),
@@ -36,7 +41,7 @@ class ExactMetrics_Notification_Dual_Tracking extends ExactMetrics_Notification_
36
  ),
37
  'learn_more' => array(
38
  'url' => $this->build_external_link( $learn_more_url ),
39
- 'text' => __( 'Learn More', 'google-analytics-dashboard-for-wp' ),
40
  'is_external' => true,
41
  ),
42
  );
24
  if ( $ua && !$v4 ) {
25
  $is_em = defined( 'EXACTMETRICS_VERSION' );
26
  $learn_more_url = $is_em
27
+ ? 'https://www.exactmetrics.com/docs/how-to-set-up-dual-tracking/'
28
+ : 'https://www.exactmetrics.com/docs/how-to-set-up-dual-tracking/';
29
 
30
+ $plugin_name = $is_em ? 'ExactMetrics' : 'ExactMetrics';
31
+
32
+ $notification['title'] = __( 'Enable Dual Tracking and Start Using Google Analytics 4 Today', 'google-analytics-dashboard-for-wp' );
33
+ $notification['content'] = sprintf(
34
+ __( 'On July 1, 2023, Google Analytics will not track any website data for Universal Analytics (GA3). Be prepared for the future by enabling Dual Tracking inside %s to future-proof your website. We\'ve made it easy to upgrade.', 'google-analytics-dashboard-for-wp' ),
35
+ $plugin_name
36
+ );
37
  $notification['btns'] = array(
38
  'setup_now' => array(
39
  'url' => $this->get_view_url( 'exactmetrics-dual-tracking-id', 'exactmetrics_settings' ),
41
  ),
42
  'learn_more' => array(
43
  'url' => $this->build_external_link( $learn_more_url ),
44
+ 'text' => __( 'How To Enable Dual Tracking', 'google-analytics-dashboard-for-wp' ),
45
  'is_external' => true,
46
  ),
47
  );
includes/admin/wp-site-health.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class ExactMetrics_WP_Site_Health
4
+ {
5
+ public function __construct()
6
+ {
7
+ add_filter( 'site_status_tests', array( $this, 'add_tests' ) );
8
+ }
9
+
10
+ public function add_tests( $tests ) {
11
+ $tests['direct']['exactmetrics_dual_tracking'] = array(
12
+ 'label' => __( 'ExactMetrics Dual Tracking', 'google-analytics-dashboard-for-wp' ),
13
+ 'test' => array( $this, 'test_dual_tracking' ),
14
+ );
15
+
16
+ return $tests;
17
+ }
18
+
19
+ public function test_dual_tracking() {
20
+
21
+ $has_v4_id = strlen( exactmetrics_get_v4_id() ) > 0;
22
+
23
+ if ( $has_v4_id ) {
24
+ return false;
25
+ }
26
+
27
+ $setup_link = add_query_arg( array(
28
+ 'page' => 'exactmetrics_settings',
29
+ 'exactmetrics-scroll' => 'exactmetrics-dual-tracking-id',
30
+ 'exactmetrics-highlight' => 'exactmetrics-dual-tracking-id',
31
+ ), admin_url( 'admin.php' ) );
32
+
33
+ return array(
34
+ 'label' => __( 'Enable Google Analytics 4', 'google-analytics-dashboard-for-wp' ),
35
+ 'status' => 'critical',
36
+ 'badge' => array(
37
+ 'label' => __( 'ExactMetrics', 'google-analytics-dashboard-for-wp' ),
38
+ 'color' => 'blue',
39
+ ),
40
+ 'description' => __( 'Starting July 1, 2023, Google\'s Universal Analytics (GA3) will not accept any new traffic or event data. Upgrade to Google Analytics 4 today to be prepared for the sunset.', 'google-analytics-dashboard-for-wp' ),
41
+ 'actions' => sprintf(
42
+ '<p><a href="%s" target="_blank" rel="noopener noreferrer">%s</a></p>',
43
+ $setup_link,
44
+ __( 'Set Up Dual Tracking', 'google-analytics-dashboard-for-wp' )
45
+ ),
46
+ 'test' => 'exactmetrics_dual_tracking',
47
+ );
48
+ }
49
+ }
50
+
51
+ new ExactMetrics_WP_Site_Health();
includes/auth.php CHANGED
@@ -202,11 +202,11 @@ final class ExactMetrics_Auth {
202
  unset( $data[ $key ] );
203
  }
204
  } else {
205
- $is_dual_tracking_id_v4 = exactmetrics_is_valid_v4_id( $id );
206
- $is_dual_tracking_id_ua = exactmetrics_is_valid_ua( $id );
207
 
208
- $is_valid_dual_tracking_id = ( $is_dual_tracking_id_ua && ( $is_manual_v4 || $is_authed_v4 ) ) ||
209
- ( $is_dual_tracking_id_v4 && ( $is_manual_ua || $is_authed_ua ) );
210
 
211
  if ( ! $is_valid_dual_tracking_id ) {
212
  return false;
202
  unset( $data[ $key ] );
203
  }
204
  } else {
205
+ $is_dual_tracking_id_v4 = ( $is_authed_ua || $is_manual_ua ) && exactmetrics_is_valid_v4_id( $id );
206
+ $is_dual_tracking_id_ua = ( $is_authed_v4 || $is_manual_v4 ) && exactmetrics_is_valid_ua( $id );
207
 
208
+ $is_valid_dual_tracking_id = $is_dual_tracking_id_ua ||
209
+ $is_dual_tracking_id_v4;
210
 
211
  if ( ! $is_valid_dual_tracking_id ) {
212
  return false;
includes/frontend/tracking/class-tracking-gtag.php CHANGED
@@ -147,15 +147,15 @@ class ExactMetrics_Tracking_Gtag extends ExactMetrics_Tracking_Abstract
147
  $options['page_path'] = "{$placeholder}'/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer{$placeholder}";
148
  }
149
  } elseif ($wp_query->is_search) {
150
- $pushstr = "'/?s=";
151
  if (0 === (int) $wp_query->found_posts) {
152
- $options['page_path'] = $pushstr.'no-results:'.rawurlencode($wp_query->query_vars['s'])."&cat=no-results'";
153
  } elseif (1 === (int) $wp_query->found_posts) {
154
- $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=1-result'";
155
  } elseif ($wp_query->found_posts > 1 && $wp_query->found_posts < 6) {
156
- $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=2-5-results'";
157
  } else {
158
- $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=plus-5-results'";
159
  }
160
  } elseif (exactmetrics_get_option('hash_tracking', false)) {
161
  $options['page_path'] = "{$placeholder}location.pathname + location.search + location.hash{$placeholder}";
147
  $options['page_path'] = "{$placeholder}'/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer{$placeholder}";
148
  }
149
  } elseif ($wp_query->is_search) {
150
+ $pushstr = "/?s=";
151
  if (0 === (int) $wp_query->found_posts) {
152
+ $options['page_path'] = $pushstr . 'no-results:' . rawurlencode($wp_query->query_vars['s']) . "&cat=no-results";
153
  } elseif (1 === (int) $wp_query->found_posts) {
154
+ $options['page_path'] = $pushstr . rawurlencode($wp_query->query_vars['s']) . "&cat=1-result";
155
  } elseif ($wp_query->found_posts > 1 && $wp_query->found_posts < 6) {
156
+ $options['page_path'] = $pushstr . rawurlencode($wp_query->query_vars['s']) . "&cat=2-5-results";
157
  } else {
158
+ $options['page_path'] = $pushstr . rawurlencode($wp_query->query_vars['s']) . "&cat=plus-5-results";
159
  }
160
  } elseif (exactmetrics_get_option('hash_tracking', false)) {
161
  $options['page_path'] = "{$placeholder}location.pathname + location.search + location.hash{$placeholder}";
includes/gutenberg/headline-tool/headline-tool.php CHANGED
@@ -1,992 +1,992 @@
1
- <?php
2
-
3
- namespace ExactMetricsHeadlineToolPlugin;
4
-
5
- // setup defines
6
- define ( 'EXACTMETRICS_HEADLINE_TOOL_DIR_PATH', plugin_dir_path( __FILE__ ) );
7
-
8
- /**
9
- * Headline Tool
10
- *
11
- * @since 0.1
12
- * @author Debjit Saha
13
- */
14
- class ExactMetricsHeadlineToolPlugin{
15
-
16
- /**
17
- * Class Variables.
18
- */
19
- private $emotion_power_words = array();
20
- private $power_words = array();
21
- private $common_words = array();
22
- private $uncommon_words = array();
23
-
24
- /**
25
- * Constructor
26
- *
27
- * @return none
28
- */
29
- function __construct() {
30
- $this->init();
31
- }
32
-
33
- /**
34
- * Add the necessary hooks and filters
35
- */
36
- function init() {
37
- add_action( 'wp_ajax_exactmetrics_gutenberg_headline_analyzer_get_results', array( $this, 'get_result' ) );
38
- }
39
-
40
- /**
41
- * Ajax request endpoint for the uptime check
42
- */
43
- function get_result() {
44
-
45
- // csrf check
46
- if ( check_ajax_referer( 'exactmetrics_gutenberg_headline_nonce', false, false ) === false ) {
47
- $content = self::output_template( 'results-error.php' );
48
- wp_send_json_error(
49
- array(
50
- 'html' => $content
51
- )
52
- );
53
- }
54
-
55
- // get whether or not the website is up
56
- $result = $this->get_headline_scores();
57
-
58
- if ( !empty( $result->err ) ) {
59
- $content = self::output_template( 'results-error.php', $result );
60
- wp_send_json_error(
61
- array( 'html' => $content, 'analysed' => false )
62
- );
63
- } else {
64
-
65
- // send the response
66
- wp_send_json_success(
67
- array(
68
- 'result' => $result,
69
- 'analysed' => !$result->err,
70
- 'sentence' => ucwords( wp_unslash( sanitize_text_field( $_REQUEST['q'] ) ) ),
71
- 'score' => ( isset( $result->score ) && ! empty( $result->score ) ) ? $result->score : 0
72
- )
73
- );
74
-
75
- }
76
- }
77
-
78
- /**
79
- * function to match words from sentence
80
- * @return Object
81
- */
82
- function match_words( $sentence, $sentence_split, $words ) {
83
- $ret = array();
84
- foreach( $words as $wrd ) {
85
- // check if $wrd is a phrase
86
- if ( strpos( $wrd, ' ' ) !== false ) {
87
- if ( strpos( $sentence, $wrd ) !== false ) {
88
- $ret[] = $wrd;
89
- }
90
- }
91
- // if $wrd is a single word
92
- else {
93
- if ( in_array( $wrd, $sentence_split ) ) {
94
- $ret[] = $wrd;
95
- }
96
- }
97
- }
98
- return $ret;
99
- }
100
-
101
- /**
102
- * main function to calculate headline scores
103
- * @return Object
104
- */
105
- function get_headline_scores() {
106
- $input = sanitize_text_field( @$_REQUEST['q'] );
107
-
108
- // init the result array
109
- $result = new \stdClass();
110
- $result->input_array_orig = explode( ' ', wp_unslash( $input ) );
111
-
112
- // strip useless characters
113
- $input = preg_replace( '/[^A-Za-z0-9 ]/', '', $input );
114
-
115
- // strip whitespace
116
- $input = preg_replace( '!\s+!', ' ', $input);
117
-
118
- // lower case
119
- $input = strtolower( $input );
120
-
121
- $result->input = $input;
122
-
123
- // bad input
124
- if ( ! $input || $input == ' ' || trim( $input ) == '' ) {
125
- $result->err = true;
126
- $result->msg = __('Bad Input', 'google-analytics-dashboard-for-wp');
127
- return $result;
128
- }
129
-
130
- // overall score;
131
- $scoret = 0;
132
-
133
- // headline array
134
- $input_array = explode( ' ', $input );
135
-
136
- $result->input_array = $input_array;
137
-
138
- // all okay, start analysis
139
- $result->err = false;
140
-
141
- // Length - 55 chars. optimal
142
- $result->length = strlen( str_replace( ' ', '', $input ) );
143
- $scoret = $scoret + 3;
144
-
145
- if ( $result->length <= 19 ) { $scoret += 5; }
146
- elseif ( $result->length >= 20 && $result->length <= 34 ) { $scoret += 8; }
147
- elseif ( $result->length >= 35 && $result->length <= 66 ) { $scoret += 11; }
148
- elseif ( $result->length >= 67 && $result->length <= 79 ) { $scoret += 8; }
149
- elseif ( $result->length >= 80 ) { $scoret += 5; }
150
-
151
- // Count - typically 6-7 words
152
- $result->word_count = count( $input_array );
153
- $scoret = $scoret + 3;
154
-
155
- if ( $result->word_count == 0 ) { $scoret = 0; }
156
- else if ( $result->word_count >= 2 && $result->word_count <= 4 ) { $scoret += 5; }
157
- elseif ( $result->word_count >= 5 && $result->word_count <= 9 ) { $scoret += 11; }
158
- elseif ( $result->word_count >= 10 && $result->word_count <= 11 ) { $scoret += 8; }
159
- elseif ( $result->word_count >= 12 ) { $scoret += 5; }
160
-
161
- // Calculate word match counts
162
- $result->power_words = $this->match_words( $result->input, $result->input_array, $this->power_words() );
163
- $result->power_words_per = count( $result->power_words ) / $result->word_count;
164
- $result->emotion_words = $this->match_words( $result->input, $result->input_array, $this->emotion_power_words() );
165
- $result->emotion_words_per = count( $result->emotion_words ) / $result->word_count;
166
- $result->common_words = $this->match_words( $result->input, $result->input_array, $this->common_words() );
167
- $result->common_words_per = count( $result->common_words ) / $result->word_count;
168
- $result->uncommon_words = $this->match_words( $result->input, $result->input_array, $this->uncommon_words() );
169
- $result->uncommon_words_per = count( $result->uncommon_words ) / $result->word_count;
170
- $result->word_balance = __('Can Be Improved', 'google-analytics-dashboard-for-wp');
171
- $result->word_balance_use = array();
172
-
173
- if ( $result->emotion_words_per < 0.1 ) {
174
- $result->word_balance_use[] = __('emotion', 'google-analytics-dashboard-for-wp');
175
- } else {
176
- $scoret = $scoret + 15;
177
- }
178
-
179
- if ( $result->common_words_per < 0.2 ) {
180
- $result->word_balance_use[] = __('common', 'google-analytics-dashboard-for-wp');
181
- } else {
182
- $scoret = $scoret + 11;
183
- }
184
-
185
- if ( $result->uncommon_words_per < 0.1 ) {
186
- $result->word_balance_use[] = __('uncommon', 'google-analytics-dashboard-for-wp');
187
- } else
188
- $scoret = $scoret + 15;
189
-
190
- if ( count( $result->power_words ) < 1 ) {
191
- $result->word_balance_use[] = __('power', 'google-analytics-dashboard-for-wp');
192
- } else {
193
- $scoret = $scoret + 19;
194
- }
195
-
196
- if (
197
- $result->emotion_words_per >= 0.1 &&
198
- $result->common_words_per >= 0.2 &&
199
- $result->uncommon_words_per >= 0.1 &&
200
- count( $result->power_words ) >= 1 ) {
201
- $result->word_balance = __('Perfect', 'google-analytics-dashboard-for-wp');
202
- $scoret = $scoret + 3;
203
- }
204
-
205
- // Sentiment analysis also look - https://github.com/yooper/php-text-analysis
206
-
207
- // Emotion of the headline - sentiment analysis
208
- // Credits - https://github.com/JWHennessey/phpInsight/
209
- require_once EXACTMETRICS_HEADLINE_TOOL_DIR_PATH . '/phpinsight/autoload.php';
210
- $sentiment = new \PHPInsight\Sentiment();
211
- $class_senti = $sentiment->categorise( $input );
212
- $result->sentiment = $class_senti;
213
-
214
- $scoret = $scoret + ( $result->sentiment == 'pos' ? 10 : ( $result->sentiment == 'neg' ? 10 : 7 ) );
215
-
216
- // Headline types
217
- $headline_types = array();
218
-
219
- // HDL type: how to, how-to, howto
220
- if ( strpos( $input, __('how to', 'google-analytics-dashboard-for-wp') ) !== false || strpos( $input, __('howto', 'google-analytics-dashboard-for-wp') ) !== false ) {
221
- $headline_types[] = __('How-To', 'google-analytics-dashboard-for-wp');
222
- $scoret = $scoret + 7;
223
- }
224
-
225
- // HDL type: numbers - numeric and alpha
226
- $num_quantifiers = array(
227
- __('one', 'google-analytics-dashboard-for-wp'),
228
- __('two', 'google-analytics-dashboard-for-wp'),
229
- __('three', 'google-analytics-dashboard-for-wp'),
230
- __('four', 'google-analytics-dashboard-for-wp'),
231
- __('five', 'google-analytics-dashboard-for-wp'),
232
- __('six', 'google-analytics-dashboard-for-wp'),
233
- __('seven', 'google-analytics-dashboard-for-wp'),
234
- __('eight', 'google-analytics-dashboard-for-wp'),
235
- __('nine', 'google-analytics-dashboard-for-wp'),
236
- __('eleven', 'google-analytics-dashboard-for-wp'),
237
- __('twelve', 'google-analytics-dashboard-for-wp'),
238
- __('thirt', 'google-analytics-dashboard-for-wp'),
239
- __('fift', 'google-analytics-dashboard-for-wp'),
240
- __('hundred', 'google-analytics-dashboard-for-wp'),
241
- __('thousand', 'google-analytics-dashboard-for-wp'),
242
- );
243
-
244
- $list_words = array_intersect( $input_array, $num_quantifiers );
245
- if ( preg_match( '~[0-9]+~', $input ) || ! empty ( $list_words ) ) {
246
- $headline_types[] = __('List', 'google-analytics-dashboard-for-wp');
247
- $scoret = $scoret + 7;
248
- }
249
-
250
- // HDL type: Question
251
- $qn_quantifiers = array(
252
- __('where', 'google-analytics-dashboard-for-wp'),
253
- __('when', 'google-analytics-dashboard-for-wp'),
254
- __('how', 'google-analytics-dashboard-for-wp'),
255
- __('what', 'google-analytics-dashboard-for-wp'),
256
- __('have', 'google-analytics-dashboard-for-wp'),
257
- __('has', 'google-analytics-dashboard-for-wp'),
258
- __('does', 'google-analytics-dashboard-for-wp'),
259
- __('do', 'google-analytics-dashboard-for-wp'),
260
- __('can', 'google-analytics-dashboard-for-wp'),
261
- __('are', 'google-analytics-dashboard-for-wp'),
262
- __('will', 'google-analytics-dashboard-for-wp'),
263
- );
264
- $qn_quantifiers_sub = array(
265
- __('you', 'google-analytics-dashboard-for-wp'),
266
- __('they', 'google-analytics-dashboard-for-wp'),
267
- __('he', 'google-analytics-dashboard-for-wp'),
268
- __('she', 'google-analytics-dashboard-for-wp'),
269
- __('your', 'google-analytics-dashboard-for-wp'),
270
- __('it', 'google-analytics-dashboard-for-wp'),
271
- __('they', 'google-analytics-dashboard-for-wp'),
272
- __('my', 'google-analytics-dashboard-for-wp'),
273
- __('have', 'google-analytics-dashboard-for-wp'),
274
- __('has', 'google-analytics-dashboard-for-wp'),
275
- __('does', 'google-analytics-dashboard-for-wp'),
276
- __('do', 'google-analytics-dashboard-for-wp'),
277
- __('can', 'google-analytics-dashboard-for-wp'),
278
- __('are', 'google-analytics-dashboard-for-wp'),
279
- __('will', 'google-analytics-dashboard-for-wp'),
280
- );
281
- if ( in_array( $input_array[0], $qn_quantifiers ) ) {
282
- if ( in_array( $input_array[1], $qn_quantifiers_sub ) ) {
283
- $headline_types[] = __('Question', 'google-analytics-dashboard-for-wp');
284
- $scoret = $scoret + 7;
285
- }
286
- }
287
-
288
- // General headline type
289
- if ( empty( $headline_types ) ) {
290
- $headline_types[] = __('General', 'google-analytics-dashboard-for-wp');
291
- $scoret = $scoret + 5;
292
- }
293
-
294
- // put to result
295
- $result->headline_types = $headline_types;
296
-
297
- // Resources for more reading:
298
- // https://kopywritingkourse.com/copywriting-headlines-that-sell/
299
- // How To _______ That Will Help You ______
300
- // https://coschedule.com/blog/how-to-write-the-best-headlines-that-will-increase-traffic/
301
-
302
- $result->score = $scoret >= 93 ? 93 : $scoret;
303
-
304
- return $result;
305
- }
306
-
307
- /**
308
- * Output template contents
309
- * @param $template String template file name
310
- * @return String template content
311
- */
312
- static function output_template( $template, $result = '', $theme = '' ) {
313
- ob_start();
314
- require EXACTMETRICS_HEADLINE_TOOL_DIR_PATH . '' . $template;
315
- $tmp = ob_get_contents();
316
- ob_end_clean();
317
- return $tmp;
318
- }
319
-
320
- /**
321
- * Get User IP
322
- *
323
- * Returns the IP address of the current visitor
324
- * @see https://github.com/easydigitaldownloads/easy-digital-downloads/blob/904db487f6c07a3a46903202d31d4e8ea2b30808/includes/misc-functions.php#L163
325
- * @return string $ip User's IP address
326
- */
327
- static function get_ip() {
328
-
329
- $ip = '127.0.0.1';
330
-
331
- if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
332
- //check ip from share internet
333
- $ip = $_SERVER['HTTP_CLIENT_IP'];
334
- } elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
335
- //to check ip is pass from proxy
336
- $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
337
- } elseif( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
338
- $ip = $_SERVER['REMOTE_ADDR'];
339
- }
340
-
341
- // Fix potential CSV returned from $_SERVER variables
342
- $ip_array = explode( ',', $ip );
343
- $ip_array = array_map( 'trim', $ip_array );
344
-
345
- return $ip_array[0];
346
- }
347
-
348
- /**
349
- * Emotional power words
350
- *
351
- * @return array emotional power words
352
- */
353
- function emotion_power_words() {
354
- if ( isset( $this->emotion_power_words ) && ! empty( $this->emotion_power_words ) ) {
355
- return $this->emotion_power_words;
356
- }
357
-
358
- $this->emotion_power_words = array(
359
- __("destroy", "google-analytics-dashboard-for-wp"),
360
- __("extra", "google-analytics-dashboard-for-wp"),
361
- __("in a", "google-analytics-dashboard-for-wp"),
362
- __("devastating", "google-analytics-dashboard-for-wp"),
363
- __("eye-opening", "google-analytics-dashboard-for-wp"),
364
- __("gift", "google-analytics-dashboard-for-wp"),
365
- __("in the world", "google-analytics-dashboard-for-wp"),
366
- __("devoted", "google-analytics-dashboard-for-wp"),
367
- __("fail", "google-analytics-dashboard-for-wp"),
368
- __("in the", "google-analytics-dashboard-for-wp"),
369
- __("faith", "google-analytics-dashboard-for-wp"),
370
- __("grateful", "google-analytics-dashboard-for-wp"),
371
- __("inexpensive", "google-analytics-dashboard-for-wp"),
372
- __("dirty", "google-analytics-dashboard-for-wp"),
373
- __("famous", "google-analytics-dashboard-for-wp"),
374
- __("disastrous", "google-analytics-dashboard-for-wp"),
375
- __("fantastic", "google-analytics-dashboard-for-wp"),
376
- __("greed", "google-analytics-dashboard-for-wp"),
377
- __("grit", "google-analytics-dashboard-for-wp"),
378
- __("insanely", "google-analytics-dashboard-for-wp"),
379
- __("disgusting", "google-analytics-dashboard-for-wp"),
380
- __("fearless", "google-analytics-dashboard-for-wp"),
381
- __("disinformation", "google-analytics-dashboard-for-wp"),
382
- __("feast", "google-analytics-dashboard-for-wp"),
383
- __("insidious", "google-analytics-dashboard-for-wp"),
384
- __("dollar", "google-analytics-dashboard-for-wp"),
385
- __("feeble", "google-analytics-dashboard-for-wp"),
386
- __("gullible", "google-analytics-dashboard-for-wp"),
387
- __("double", "google-analytics-dashboard-for-wp"),
388
- __("fire", "google-analytics-dashboard-for-wp"),
389
- __("hack", "google-analytics-dashboard-for-wp"),
390
- __("fleece", "google-analytics-dashboard-for-wp"),
391
- __("had enough", "google-analytics-dashboard-for-wp"),
392
- __("invasion", "google-analytics-dashboard-for-wp"),
393
- __("drowning", "google-analytics-dashboard-for-wp"),
394
- __("floundering", "google-analytics-dashboard-for-wp"),
395
- __("happy", "google-analytics-dashboard-for-wp"),
396
- __("ironclad", "google-analytics-dashboard-for-wp"),
397
- __("dumb", "google-analytics-dashboard-for-wp"),
398
- __("flush", "google-analytics-dashboard-for-wp"),
399
- __("hate", "google-analytics-dashboard-for-wp"),
400
- __("irresistibly", "google-analytics-dashboard-for-wp"),
401
- __("hazardous", "google-analytics-dashboard-for-wp"),
402
- __("is the", "google-analytics-dashboard-for-wp"),
403
- __("fool", "google-analytics-dashboard-for-wp"),
404
- __("is what happens when", "google-analytics-dashboard-for-wp"),
405
- __("fooled", "google-analytics-dashboard-for-wp"),
406
- __("helpless", "google-analytics-dashboard-for-wp"),
407
- __("it looks like a", "google-analytics-dashboard-for-wp"),
408
- __("embarrass", "google-analytics-dashboard-for-wp"),
409
- __("for the first time", "google-analytics-dashboard-for-wp"),
410
- __("help are the", "google-analytics-dashboard-for-wp"),
411
- __("jackpot", "google-analytics-dashboard-for-wp"),
412
- __("forbidden", "google-analytics-dashboard-for-wp"),
413
- __("hidden", "google-analytics-dashboard-for-wp"),
414
- __("jail", "google-analytics-dashboard-for-wp"),
415
- __("empower", "google-analytics-dashboard-for-wp"),
416
- __("force-fed", "google-analytics-dashboard-for-wp"),
417
- __("high", "google-analytics-dashboard-for-wp"),
418
- __("jaw-dropping", "google-analytics-dashboard-for-wp"),
419
- __("forgotten", "google-analytics-dashboard-for-wp"),
420
- __("jeopardy", "google-analytics-dashboard-for-wp"),
421
- __("energize", "google-analytics-dashboard-for-wp"),
422
- __("hoax", "google-analytics-dashboard-for-wp"),
423
- __("jubilant", "google-analytics-dashboard-for-wp"),
424
- __("foul", "google-analytics-dashboard-for-wp"),
425
- __("hope", "google-analytics-dashboard-for-wp"),
426
- __("killer", "google-analytics-dashboard-for-wp"),
427
- __("frantic", "google-analytics-dashboard-for-wp"),
428
- __("horrific", "google-analytics-dashboard-for-wp"),
429
- __("know it all", "google-analytics-dashboard-for-wp"),
430
- __("epic", "google-analytics-dashboard-for-wp"),
431
- __("how to make", "google-analytics-dashboard-for-wp"),
432
- __("evil", "google-analytics-dashboard-for-wp"),
433
- __("freebie", "google-analytics-dashboard-for-wp"),
434
- __("frenzy", "google-analytics-dashboard-for-wp"),
435
- __("hurricane", "google-analytics-dashboard-for-wp"),
436
- __("excited", "google-analytics-dashboard-for-wp"),
437
- __("fresh on the mind", "google-analytics-dashboard-for-wp"),
438
- __("frightening", "google-analytics-dashboard-for-wp"),
439
- __("hypnotic", "google-analytics-dashboard-for-wp"),
440
- __("lawsuit", "google-analytics-dashboard-for-wp"),
441
- __("frugal", "google-analytics-dashboard-for-wp"),
442
- __("illegal", "google-analytics-dashboard-for-wp"),
443
- __("fulfill", "google-analytics-dashboard-for-wp"),
444
- __("lick", "google-analytics-dashboard-for-wp"),
445
- __("explode", "google-analytics-dashboard-for-wp"),
446
- __("lies", "google-analytics-dashboard-for-wp"),
447
- __("exposed", "google-analytics-dashboard-for-wp"),
448
- __("gambling", "google-analytics-dashboard-for-wp"),
449
- __("like a normal", "google-analytics-dashboard-for-wp"),
450
- __("nightmare", "google-analytics-dashboard-for-wp"),
451
- __("results", "google-analytics-dashboard-for-wp"),
452
- __("line", "google-analytics-dashboard-for-wp"),
453
- __("no good", "google-analytics-dashboard-for-wp"),
454
- __("pound", "google-analytics-dashboard-for-wp"),
455
- __("loathsome", "google-analytics-dashboard-for-wp"),
456
- __("no questions asked", "google-analytics-dashboard-for-wp"),
457
- __("revenge", "google-analytics-dashboard-for-wp"),
458
- __("lonely", "google-analytics-dashboard-for-wp"),
459
- __("looks like a", "google-analytics-dashboard-for-wp"),
460
- __("obnoxious", "google-analytics-dashboard-for-wp"),
461
- __("preposterous", "google-analytics-dashboard-for-wp"),
462
- __("revolting", "google-analytics-dashboard-for-wp"),
463
- __("looming", "google-analytics-dashboard-for-wp"),
464
- __("priced", "google-analytics-dashboard-for-wp"),
465
- __("lost", "google-analytics-dashboard-for-wp"),
466
- __("prison", "google-analytics-dashboard-for-wp"),
467
- __("lowest", "google-analytics-dashboard-for-wp"),
468
- __("of the", "google-analytics-dashboard-for-wp"),
469
- __("privacy", "google-analytics-dashboard-for-wp"),
470
- __("rich", "google-analytics-dashboard-for-wp"),
471
- __("lunatic", "google-analytics-dashboard-for-wp"),
472
- __("off-limits", "google-analytics-dashboard-for-wp"),
473
- __("private", "google-analytics-dashboard-for-wp"),
474
- __("risky", "google-analytics-dashboard-for-wp"),
475
- __("lurking", "google-analytics-dashboard-for-wp"),
476
- __("offer", "google-analytics-dashboard-for-wp"),
477
- __("prize", "google-analytics-dashboard-for-wp"),
478
- __("ruthless", "google-analytics-dashboard-for-wp"),
479
- __("lust", "google-analytics-dashboard-for-wp"),
480
- __("official", "google-analytics-dashboard-for-wp"),
481
- __("luxurious", "google-analytics-dashboard-for-wp"),
482
- __("on the", "google-analytics-dashboard-for-wp"),
483
- __("profit", "google-analytics-dashboard-for-wp"),
484
- __("scary", "google-analytics-dashboard-for-wp"),
485
- __("lying", "google-analytics-dashboard-for-wp"),
486
- __("outlawed", "google-analytics-dashboard-for-wp"),
487
- __("protected", "google-analytics-dashboard-for-wp"),
488
- __("scream", "google-analytics-dashboard-for-wp"),
489
- __("searing", "google-analytics-dashboard-for-wp"),
490
- __("overcome", "google-analytics-dashboard-for-wp"),
491
- __("provocative", "google-analytics-dashboard-for-wp"),
492
- __("make you", "google-analytics-dashboard-for-wp"),
493
- __("painful", "google-analytics-dashboard-for-wp"),
494
- __("pummel", "google-analytics-dashboard-for-wp"),
495
- __("secure", "google-analytics-dashboard-for-wp"),
496
- __("pale", "google-analytics-dashboard-for-wp"),
497
- __("punish", "google-analytics-dashboard-for-wp"),
498
- __("marked down", "google-analytics-dashboard-for-wp"),
499
- __("panic", "google-analytics-dashboard-for-wp"),
500
- __("quadruple", "google-analytics-dashboard-for-wp"),
501
- __("secutively", "google-analytics-dashboard-for-wp"),
502
- __("massive", "google-analytics-dashboard-for-wp"),
503
- __("pay zero", "google-analytics-dashboard-for-wp"),
504
- __("seize", "google-analytics-dashboard-for-wp"),
505
- __("meltdown", "google-analytics-dashboard-for-wp"),
506
- __("payback", "google-analytics-dashboard-for-wp"),
507
- __("might look like a", "google-analytics-dashboard-for-wp"),
508
- __("peril", "google-analytics-dashboard-for-wp"),
509
- __("mind-blowing", "google-analytics-dashboard-for-wp"),
510
- __("shameless", "google-analytics-dashboard-for-wp"),
511
- __("minute", "google-analytics-dashboard-for-wp"),
512
- __("rave", "google-analytics-dashboard-for-wp"),
513
- __("shatter", "google-analytics-dashboard-for-wp"),
514
- __("piranha", "google-analytics-dashboard-for-wp"),
515
- __("reckoning", "google-analytics-dashboard-for-wp"),
516
- __("shellacking", "google-analytics-dashboard-for-wp"),
517
- __("mired", "google-analytics-dashboard-for-wp"),
518
- __("pitfall", "google-analytics-dashboard-for-wp"),
519
- __("reclaim", "google-analytics-dashboard-for-wp"),
520
- __("mistakes", "google-analytics-dashboard-for-wp"),
521
- __("plague", "google-analytics-dashboard-for-wp"),
522
- __("sick and tired", "google-analytics-dashboard-for-wp"),
523
- __("money", "google-analytics-dashboard-for-wp"),
524
- __("played", "google-analytics-dashboard-for-wp"),
525
- __("refugee", "google-analytics-dashboard-for-wp"),
526
- __("silly", "google-analytics-dashboard-for-wp"),
527
- __("money-grubbing", "google-analytics-dashboard-for-wp"),
528
- __("pluck", "google-analytics-dashboard-for-wp"),
529
- __("refund", "google-analytics-dashboard-for-wp"),
530
- __("moneyback", "google-analytics-dashboard-for-wp"),
531
- __("plummet", "google-analytics-dashboard-for-wp"),
532
- __("plunge", "google-analytics-dashboard-for-wp"),
533
- __("murder", "google-analytics-dashboard-for-wp"),
534
- __("pointless", "google-analytics-dashboard-for-wp"),
535
- __("sinful", "google-analytics-dashboard-for-wp"),
536
- __("myths", "google-analytics-dashboard-for-wp"),
537
- __("poor", "google-analytics-dashboard-for-wp"),
538
- __("remarkably", "google-analytics-dashboard-for-wp"),
539
- __("six-figure", "google-analytics-dashboard-for-wp"),
540
- __("never again", "google-analytics-dashboard-for-wp"),
541
- __("research", "google-analytics-dashboard-for-wp"),
542
- __("surrender", "google-analytics-dashboard-for-wp"),
543
- __("to the", "google-analytics-dashboard-for-wp"),
544
- __("varify", "google-analytics-dashboard-for-wp"),
545
- __("skyrocket", "google-analytics-dashboard-for-wp"),
546
- __("toxic", "google-analytics-dashboard-for-wp"),
547
- __("vibrant", "google-analytics-dashboard-for-wp"),
548
- __("slaughter", "google-analytics-dashboard-for-wp"),
549
- __("swindle", "google-analytics-dashboard-for-wp"),
550
- __("trap", "google-analytics-dashboard-for-wp"),
551
- __("victim", "google-analytics-dashboard-for-wp"),
552
- __("sleazy", "google-analytics-dashboard-for-wp"),
553
- __("taboo", "google-analytics-dashboard-for-wp"),
554
- __("treasure", "google-analytics-dashboard-for-wp"),
555
- __("victory", "google-analytics-dashboard-for-wp"),
556
- __("smash", "google-analytics-dashboard-for-wp"),
557
- __("tailspin", "google-analytics-dashboard-for-wp"),
558
- __("vindication", "google-analytics-dashboard-for-wp"),
559
- __("smug", "google-analytics-dashboard-for-wp"),
560
- __("tank", "google-analytics-dashboard-for-wp"),
561
- __("triple", "google-analytics-dashboard-for-wp"),
562
- __("viral", "google-analytics-dashboard-for-wp"),
563
- __("smuggled", "google-analytics-dashboard-for-wp"),
564
- __("tantalizing", "google-analytics-dashboard-for-wp"),
565
- __("triumph", "google-analytics-dashboard-for-wp"),
566
- __("volatile", "google-analytics-dashboard-for-wp"),
567
- __("sniveling", "google-analytics-dashboard-for-wp"),
568
- __("targeted", "google-analytics-dashboard-for-wp"),
569
- __("truth", "google-analytics-dashboard-for-wp"),
570
- __("vulnerable", "google-analytics-dashboard-for-wp"),
571
- __("snob", "google-analytics-dashboard-for-wp"),
572
- __("tawdry", "google-analytics-dashboard-for-wp"),
573
- __("try before you buy", "google-analytics-dashboard-for-wp"),
574
- __("tech", "google-analytics-dashboard-for-wp"),
575
- __("turn the tables", "google-analytics-dashboard-for-wp"),
576
- __("wanton", "google-analytics-dashboard-for-wp"),
577
- __("soaring", "google-analytics-dashboard-for-wp"),
578
- __("warning", "google-analytics-dashboard-for-wp"),
579
- __("teetering", "google-analytics-dashboard-for-wp"),
580
- __("unauthorized", "google-analytics-dashboard-for-wp"),
581
- __("spectacular", "google-analytics-dashboard-for-wp"),
582
- __("temporary fix", "google-analytics-dashboard-for-wp"),
583
- __("unbelievably", "google-analytics-dashboard-for-wp"),
584
- __("spine", "google-analytics-dashboard-for-wp"),
585
- __("tempting", "google-analytics-dashboard-for-wp"),
586
- __("uncommonly", "google-analytics-dashboard-for-wp"),
587
- __("what happened", "google-analytics-dashboard-for-wp"),
588
- __("spirit", "google-analytics-dashboard-for-wp"),
589
- __("what happens when", "google-analytics-dashboard-for-wp"),
590
- __("terror", "google-analytics-dashboard-for-wp"),
591
- __("under", "google-analytics-dashboard-for-wp"),
592
- __("what happens", "google-analytics-dashboard-for-wp"),
593
- __("staggering", "google-analytics-dashboard-for-wp"),
594
- __("underhanded", "google-analytics-dashboard-for-wp"),
595
- __("what this", "google-analytics-dashboard-for-wp"),
596
- __("that will make you", "google-analytics-dashboard-for-wp"),
597
- __("undo","when you see", "google-analytics-dashboard-for-wp"),
598
- __("that will make", "google-analytics-dashboard-for-wp"),
599
- __("unexpected", "google-analytics-dashboard-for-wp"),
600
- __("when you", "google-analytics-dashboard-for-wp"),
601
- __("strangle", "google-analytics-dashboard-for-wp"),
602
- __("that will", "google-analytics-dashboard-for-wp"),
603
- __("whip", "google-analytics-dashboard-for-wp"),
604
- __("the best", "google-analytics-dashboard-for-wp"),
605
- __("whopping", "google-analytics-dashboard-for-wp"),
606
- __("stuck up", "google-analytics-dashboard-for-wp"),
607
- __("the ranking of", "google-analytics-dashboard-for-wp"),
608
- __("wicked", "google-analytics-dashboard-for-wp"),
609
- __("stunning", "google-analytics-dashboard-for-wp"),
610
- __("the most", "google-analytics-dashboard-for-wp"),
611
- __("will make you", "google-analytics-dashboard-for-wp"),
612
- __("stupid", "google-analytics-dashboard-for-wp"),
613
- __("the reason why is", "google-analytics-dashboard-for-wp"),
614
- __("unscrupulous", "google-analytics-dashboard-for-wp"),
615
- __("thing ive ever seen", "google-analytics-dashboard-for-wp"),
616
- __("withheld", "google-analytics-dashboard-for-wp"),
617
- __("this is the", "google-analytics-dashboard-for-wp"),
618
- __("this is what happens", "google-analytics-dashboard-for-wp"),
619
- __("unusually", "google-analytics-dashboard-for-wp"),
620
- __("wondrous", "google-analytics-dashboard-for-wp"),
621
- __("this is what", "google-analytics-dashboard-for-wp"),
622
- __("uplifting", "google-analytics-dashboard-for-wp"),
623
- __("worry", "google-analytics-dashboard-for-wp"),
624
- __("sure", "google-analytics-dashboard-for-wp"),
625
- __("this is", "google-analytics-dashboard-for-wp"),
626
- __("wounded", "google-analytics-dashboard-for-wp"),
627
- __("surge", "google-analytics-dashboard-for-wp"),
628
- __("thrilled", "google-analytics-dashboard-for-wp"),
629
- __("you need to know", "google-analytics-dashboard-for-wp"),
630
- __("thrilling", "google-analytics-dashboard-for-wp"),
631
- __("valor", "google-analytics-dashboard-for-wp"),
632
- __("you need to", "google-analytics-dashboard-for-wp"),
633
- __("you see what", "google-analytics-dashboard-for-wp"),
634
- __("surprising", "google-analytics-dashboard-for-wp"),
635
- __("tired", "google-analytics-dashboard-for-wp"),
636
- __("you see", "google-analytics-dashboard-for-wp"),
637
- __("surprisingly", "google-analytics-dashboard-for-wp"),
638
- __("to be", "google-analytics-dashboard-for-wp"),
639
- __("vaporize", "google-analytics-dashboard-for-wp"),
640
- );
641
-
642
- return $this->emotion_power_words;
643
- }
644
-
645
- /**
646
- * Power words
647
- *
648
- * @return array power words
649
- */
650
- function power_words() {
651
- if ( isset( $this->power_words ) && ! empty( $this->power_words ) ) {
652
- return $this->power_words;
653
- }
654
-
655
- $this->power_words = array(
656
- __("great", "google-analytics-dashboard-for-wp"),
657
- __("free", "google-analytics-dashboard-for-wp"),
658
- __("focus", "google-analytics-dashboard-for-wp"),
659
- __("remarkable", "google-analytics-dashboard-for-wp"),
660
- __("confidential", "google-analytics-dashboard-for-wp"),
661
- __("sale", "google-analytics-dashboard-for-wp"),
662
- __("wanted", "google-analytics-dashboard-for-wp"),
663
- __("obsession", "google-analytics-dashboard-for-wp"),
664
- __("sizable", "google-analytics-dashboard-for-wp"),
665
- __("new", "google-analytics-dashboard-for-wp"),
666
- __("absolutely lowest", "google-analytics-dashboard-for-wp"),
667
- __("surging", "google-analytics-dashboard-for-wp"),
668
- __("wonderful", "google-analytics-dashboard-for-wp"),
669
- __("professional", "google-analytics-dashboard-for-wp"),
670
- __("interesting", "google-analytics-dashboard-for-wp"),
671
- __("revisited", "google-analytics-dashboard-for-wp"),
672
- __("delivered", "google-analytics-dashboard-for-wp"),
673
- __("guaranteed", "google-analytics-dashboard-for-wp"),
674
- __("challenge", "google-analytics-dashboard-for-wp"),
675
- __("unique", "google-analytics-dashboard-for-wp"),
676
- __("secrets", "google-analytics-dashboard-for-wp"),
677
- __("special", "google-analytics-dashboard-for-wp"),
678
- __("lifetime", "google-analytics-dashboard-for-wp"),
679
- __("bargain", "google-analytics-dashboard-for-wp"),
680
- __("scarce", "google-analytics-dashboard-for-wp"),
681
- __("tested", "google-analytics-dashboard-for-wp"),
682
- __("highest", "google-analytics-dashboard-for-wp"),
683
- __("hurry", "google-analytics-dashboard-for-wp"),
684
- __("alert famous", "google-analytics-dashboard-for-wp"),
685
- __("improved", "google-analytics-dashboard-for-wp"),
686
- __("expert", "google-analytics-dashboard-for-wp"),
687
- __("daring", "google-analytics-dashboard-for-wp"),
688
- __("strong", "google-analytics-dashboard-for-wp"),
689
- __("immediately", "google-analytics-dashboard-for-wp"),
690
- __("advice", "google-analytics-dashboard-for-wp"),
691
- __("pioneering", "google-analytics-dashboard-for-wp"),
692
- __("unusual", "google-analytics-dashboard-for-wp"),
693
- __("limited", "google-analytics-dashboard-for-wp"),
694
- __("the truth about", "google-analytics-dashboard-for-wp"),
695
- __("destiny", "google-analytics-dashboard-for-wp"),
696
- __("outstanding", "google-analytics-dashboard-for-wp"),
697
- __("simplistic", "google-analytics-dashboard-for-wp"),
698
- __("compare", "google-analytics-dashboard-for-wp"),
699
- __("unsurpassed", "google-analytics-dashboard-for-wp"),
700
- __("energy", "google-analytics-dashboard-for-wp"),
701
- __("powerful", "google-analytics-dashboard-for-wp"),
702
- __("colorful", "google-analytics-dashboard-for-wp"),
703
- __("genuine", "google-analytics-dashboard-for-wp"),
704
- __("instructive", "google-analytics-dashboard-for-wp"),
705
- __("big", "google-analytics-dashboard-for-wp"),
706
- __("affordable", "google-analytics-dashboard-for-wp"),
707
- __("informative", "google-analytics-dashboard-for-wp"),
708
- __("liberal", "google-analytics-dashboard-for-wp"),
709
- __("popular", "google-analytics-dashboard-for-wp"),
710
- __("ultimate", "google-analytics-dashboard-for-wp"),
711
- __("mainstream", "google-analytics-dashboard-for-wp"),
712
- __("rare", "google-analytics-dashboard-for-wp"),
713
- __("exclusive", "google-analytics-dashboard-for-wp"),
714
- __("willpower", "google-analytics-dashboard-for-wp"),
715
- __("complete", "google-analytics-dashboard-for-wp"),
716
- __("edge", "google-analytics-dashboard-for-wp"),
717
- __("valuable", "google-analytics-dashboard-for-wp"),
718
- __("attractive", "google-analytics-dashboard-for-wp"),
719
- __("last chance", "google-analytics-dashboard-for-wp"),
720
- __("superior", "google-analytics-dashboard-for-wp"),
721
- __("how to", "google-analytics-dashboard-for-wp"),
722
- __("easily", "google-analytics-dashboard-for-wp"),
723
- __("exploit", "google-analytics-dashboard-for-wp"),
724
- __("unparalleled", "google-analytics-dashboard-for-wp"),
725
- __("endorsed", "google-analytics-dashboard-for-wp"),
726
- __("approved", "google-analytics-dashboard-for-wp"),
727
- __("quality", "google-analytics-dashboard-for-wp"),
728
- __("fascinating", "google-analytics-dashboard-for-wp"),
729
- __("unlimited", "google-analytics-dashboard-for-wp"),
730
- __("competitive", "google-analytics-dashboard-for-wp"),
731
- __("gigantic", "google-analytics-dashboard-for-wp"),
732
- __("compromise", "google-analytics-dashboard-for-wp"),
733
- __("discount", "google-analytics-dashboard-for-wp"),
734
- __("full", "google-analytics-dashboard-for-wp"),
735
- __("love", "google-analytics-dashboard-for-wp"),
736
- __("odd", "google-analytics-dashboard-for-wp"),
737
- __("fundamentals", "google-analytics-dashboard-for-wp"),
738
- __("mammoth", "google-analytics-dashboard-for-wp"),
739
- __("lavishly", "google-analytics-dashboard-for-wp"),
740
- __("bottom line", "google-analytics-dashboard-for-wp"),
741
- __("under priced", "google-analytics-dashboard-for-wp"),
742
- __("innovative", "google-analytics-dashboard-for-wp"),
743
- __("reliable", "google-analytics-dashboard-for-wp"),
744
- __("zinger", "google-analytics-dashboard-for-wp"),
745
- __("suddenly", "google-analytics-dashboard-for-wp"),
746
- __("it's here", "google-analytics-dashboard-for-wp"),
747
- __("terrific", "google-analytics-dashboard-for-wp"),
748
- __("simplified", "google-analytics-dashboard-for-wp"),
749
- __("perspective", "google-analytics-dashboard-for-wp"),
750
- __("just arrived", "google-analytics-dashboard-for-wp"),
751
- __("breakthrough", "google-analytics-dashboard-for-wp"),
752
- __("tremendous", "google-analytics-dashboard-for-wp"),
753
- __("launching", "google-analytics-dashboard-for-wp"),
754
- __("sure fire", "google-analytics-dashboard-for-wp"),
755
- __("emerging", "google-analytics-dashboard-for-wp"),
756
- __("helpful", "google-analytics-dashboard-for-wp"),
757
- __("skill", "google-analytics-dashboard-for-wp"),
758
- __("soar", "google-analytics-dashboard-for-wp"),
759
- __("profitable", "google-analytics-dashboard-for-wp"),
760
- __("special offer", "google-analytics-dashboard-for-wp"),
761
- __("reduced", "google-analytics-dashboard-for-wp"),
762
- __("beautiful", "google-analytics-dashboard-for-wp"),
763
- __("sampler", "google-analytics-dashboard-for-wp"),
764
- __("technology", "google-analytics-dashboard-for-wp"),
765
- __("better", "google-analytics-dashboard-for-wp"),
766
- __("crammed", "google-analytics-dashboard-for-wp"),
767
- __("noted", "google-analytics-dashboard-for-wp"),
768
- __("selected", "google-analytics-dashboard-for-wp"),
769
- __("shrewd", "google-analytics-dashboard-for-wp"),
770
- __("growth", "google-analytics-dashboard-for-wp"),
771
- __("luxury", "google-analytics-dashboard-for-wp"),
772
- __("sturdy", "google-analytics-dashboard-for-wp"),
773
- __("enormous", "google-analytics-dashboard-for-wp"),
774
- __("promising", "google-analytics-dashboard-for-wp"),
775
- __("unconditional", "google-analytics-dashboard-for-wp"),
776
- __("wealth", "google-analytics-dashboard-for-wp"),
777
- __("spotlight", "google-analytics-dashboard-for-wp"),
778
- __("astonishing", "google-analytics-dashboard-for-wp"),
779
- __("timely", "google-analytics-dashboard-for-wp"),
780
- __("successful", "google-analytics-dashboard-for-wp"),
781
- __("useful", "google-analytics-dashboard-for-wp"),
782
- __("imagination", "google-analytics-dashboard-for-wp"),
783
- __("bonanza", "google-analytics-dashboard-for-wp"),
784
- __("opportunities", "google-analytics-dashboard-for-wp"),
785
- __("survival", "google-analytics-dashboard-for-wp"),
786
- __("greatest", "google-analytics-dashboard-for-wp"),
787
- __("security", "google-analytics-dashboard-for-wp"),
788
- __("last minute", "google-analytics-dashboard-for-wp"),
789
- __("largest", "google-analytics-dashboard-for-wp"),
790
- __("high tech", "google-analytics-dashboard-for-wp"),
791
- __("refundable", "google-analytics-dashboard-for-wp"),
792
- __("monumental", "google-analytics-dashboard-for-wp"),
793
- __("colossal", "google-analytics-dashboard-for-wp"),
794
- __("latest", "google-analytics-dashboard-for-wp"),
795
- __("quickly", "google-analytics-dashboard-for-wp"),
796
- __("startling", "google-analytics-dashboard-for-wp"),
797
- __("now", "google-analytics-dashboard-for-wp"),
798
- __("important", "google-analytics-dashboard-for-wp"),
799
- __("revolutionary", "google-analytics-dashboard-for-wp"),
800
- __("quick", "google-analytics-dashboard-for-wp"),
801
- __("unlock", "google-analytics-dashboard-for-wp"),
802
- __("urgent", "google-analytics-dashboard-for-wp"),
803
- __("miracle", "google-analytics-dashboard-for-wp"),
804
- __("easy", "google-analytics-dashboard-for-wp"),
805
- __("fortune", "google-analytics-dashboard-for-wp"),
806
- __("amazing", "google-analytics-dashboard-for-wp"),
807
- __("magic", "google-analytics-dashboard-for-wp"),
808
- __("direct", "google-analytics-dashboard-for-wp"),
809
- __("authentic", "google-analytics-dashboard-for-wp"),
810
- __("exciting", "google-analytics-dashboard-for-wp"),
811
- __("proven", "google-analytics-dashboard-for-wp"),
812
- __("simple", "google-analytics-dashboard-for-wp"),
813
- __("announcing", "google-analytics-dashboard-for-wp"),
814
- __("portfolio", "google-analytics-dashboard-for-wp"),
815
- __("reward", "google-analytics-dashboard-for-wp"),
816
- __("strange", "google-analytics-dashboard-for-wp"),
817
- __("huge gift", "google-analytics-dashboard-for-wp"),
818
- __("revealing", "google-analytics-dashboard-for-wp"),
819
- __("weird", "google-analytics-dashboard-for-wp"),
820
- __("value", "google-analytics-dashboard-for-wp"),
821
- __("introducing", "google-analytics-dashboard-for-wp"),
822
- __("sensational", "google-analytics-dashboard-for-wp"),
823
- __("surprise", "google-analytics-dashboard-for-wp"),
824
- __("insider", "google-analytics-dashboard-for-wp"),
825
- __("practical", "google-analytics-dashboard-for-wp"),
826
- __("excellent", "google-analytics-dashboard-for-wp"),
827
- __("delighted", "google-analytics-dashboard-for-wp"),
828
- __("download", "google-analytics-dashboard-for-wp"),
829
- );
830
-
831
- return $this->power_words;
832
- }
833
-
834
- /**
835
- * Common words
836
- *
837
- * @return array common words
838
- */
839
- function common_words() {
840
- if ( isset( $this->common_words ) && ! empty( $this->common_words ) ) {
841
- return $this->common_words;
842
- }
843
-
844
- $this->common_words = array(
845
- __("a", "google-analytics-dashboard-for-wp"),
846
- __("for", "google-analytics-dashboard-for-wp"),
847
- __("about", "google-analytics-dashboard-for-wp"),
848
- __("from", "google-analytics-dashboard-for-wp"),
849
- __("after", "google-analytics-dashboard-for-wp"),
850
- __("get", "google-analytics-dashboard-for-wp"),
851
- __("all", "google-analytics-dashboard-for-wp"),
852
- __("has", "google-analytics-dashboard-for-wp"),
853
- __("an", "google-analytics-dashboard-for-wp"),
854
- __("have", "google-analytics-dashboard-for-wp"),
855
- __("and", "google-analytics-dashboard-for-wp"),
856
- __("he", "google-analytics-dashboard-for-wp"),
857
- __("are", "google-analytics-dashboard-for-wp"),
858
- __("her", "google-analytics-dashboard-for-wp"),
859
- __("as", "google-analytics-dashboard-for-wp"),
860
- __("his", "google-analytics-dashboard-for-wp"),
861
- __("at", "google-analytics-dashboard-for-wp"),
862
- __("how", "google-analytics-dashboard-for-wp"),
863
- __("be", "google-analytics-dashboard-for-wp"),
864
- __("I", "google-analytics-dashboard-for-wp"),
865
- __("but", "google-analytics-dashboard-for-wp"),
866
- __("if", "google-analytics-dashboard-for-wp"),
867
- __("by", "google-analytics-dashboard-for-wp"),
868
- __("in", "google-analytics-dashboard-for-wp"),
869
- __("can", "google-analytics-dashboard-for-wp"),
870
- __("is", "google-analytics-dashboard-for-wp"),
871
- __("did", "google-analytics-dashboard-for-wp"),
872
- __("it", "google-analytics-dashboard-for-wp"),
873
- __("do", "google-analytics-dashboard-for-wp"),
874
- __("just", "google-analytics-dashboard-for-wp"),
875
- __("ever", "google-analytics-dashboard-for-wp"),
876
- __("like", "google-analytics-dashboard-for-wp"),
877
- __("ll", "google-analytics-dashboard-for-wp"),
878
- __("these", "google-analytics-dashboard-for-wp"),
879
- __("me", "google-analytics-dashboard-for-wp"),
880
- __("they", "google-analytics-dashboard-for-wp"),
881
- __("most", "google-analytics-dashboard-for-wp"),
882
- __("things", "google-analytics-dashboard-for-wp"),
883
- __("my", "google-analytics-dashboard-for-wp"),
884
- __("this", "google-analytics-dashboard-for-wp"),
885
- __("no", "google-analytics-dashboard-for-wp"),
886
- __("to", "google-analytics-dashboard-for-wp"),
887
- __("not", "google-analytics-dashboard-for-wp"),
888
- __("up", "google-analytics-dashboard-for-wp"),
889
- __("of", "google-analytics-dashboard-for-wp"),
890
- __("was", "google-analytics-dashboard-for-wp"),
891
- __("on", "google-analytics-dashboard-for-wp"),
892
- __("what", "google-analytics-dashboard-for-wp"),
893
- __("re", "google-analytics-dashboard-for-wp"),
894
- __("when", "google-analytics-dashboard-for-wp"),
895
- __("she", "google-analytics-dashboard-for-wp"),
896
- __("who", "google-analytics-dashboard-for-wp"),
897
- __("sould", "google-analytics-dashboard-for-wp"),
898
- __("why", "google-analytics-dashboard-for-wp"),
899
- __("so", "google-analytics-dashboard-for-wp"),
900
- __("will", "google-analytics-dashboard-for-wp"),
901
- __("that", "google-analytics-dashboard-for-wp"),
902
- __("with", "google-analytics-dashboard-for-wp"),
903
- __("the", "google-analytics-dashboard-for-wp"),
904
- __("you", "google-analytics-dashboard-for-wp"),
905
- __("their", "google-analytics-dashboard-for-wp"),
906
- __("your", "google-analytics-dashboard-for-wp"),
907
- __("there", "google-analytics-dashboard-for-wp"),
908
- );
909
-
910
- return $this->common_words;
911
- }
912
-
913
-
914
- /**
915
- * Uncommon words
916
- *
917
- * @return array uncommon words
918
- */
919
- function uncommon_words() {
920
- if ( isset( $this->uncommon_words ) && ! empty( $this->uncommon_words ) ) {
921
- return $this->uncommon_words;
922
- }
923
-
924
- $this->uncommon_words = array(
925
- __("actually", "google-analytics-dashboard-for-wp"),
926
- __("happened", "google-analytics-dashboard-for-wp"),
927
- __("need", "google-analytics-dashboard-for-wp"),
928
- __("thing", "google-analytics-dashboard-for-wp"),
929
- __("awesome", "google-analytics-dashboard-for-wp"),
930
- __("heart", "google-analytics-dashboard-for-wp"),
931
- __("never", "google-analytics-dashboard-for-wp"),
932
- __("think", "google-analytics-dashboard-for-wp"),
933
- __("baby", "google-analytics-dashboard-for-wp"),
934
- __("here", "google-analytics-dashboard-for-wp"),
935
- __("new", "google-analytics-dashboard-for-wp"),
936
- __("time", "google-analytics-dashboard-for-wp"),
937
- __("beautiful", "google-analytics-dashboard-for-wp"),
938
- __("its", "google-analytics-dashboard-for-wp"),
939
- __("now", "google-analytics-dashboard-for-wp"),
940
- __("valentines", "google-analytics-dashboard-for-wp"),
941
- __("being", "google-analytics-dashboard-for-wp"),
942
- __("know", "google-analytics-dashboard-for-wp"),
943
- __("old", "google-analytics-dashboard-for-wp"),
944
- __("video", "google-analytics-dashboard-for-wp"),
945
- __("best", "google-analytics-dashboard-for-wp"),
946
- __("life", "google-analytics-dashboard-for-wp"),
947
- __("one", "google-analytics-dashboard-for-wp"),
948
- __("want", "google-analytics-dashboard-for-wp"),
949
- __("better", "google-analytics-dashboard-for-wp"),
950
- __("little", "google-analytics-dashboard-for-wp"),
951
- __("out", "google-analytics-dashboard-for-wp"),
952
- __("watch", "google-analytics-dashboard-for-wp"),
953
- __("boy", "google-analytics-dashboard-for-wp"),
954
- __("look", "google-analytics-dashboard-for-wp"),
955
- __("people", "google-analytics-dashboard-for-wp"),
956
- __("way", "google-analytics-dashboard-for-wp"),
957
- __("dog", "google-analytics-dashboard-for-wp"),
958
- __("love", "google-analytics-dashboard-for-wp"),
959
- __("photos", "google-analytics-dashboard-for-wp"),
960
- __("ways", "google-analytics-dashboard-for-wp"),
961
- __("down", "google-analytics-dashboard-for-wp"),
962
- __("made", "google-analytics-dashboard-for-wp"),
963
- __("really", "google-analytics-dashboard-for-wp"),
964
- __("world", "google-analytics-dashboard-for-wp"),
965
- __("facebook", "google-analytics-dashboard-for-wp"),
966
- __("make", "google-analytics-dashboard-for-wp"),
967
- __("reasons", "google-analytics-dashboard-for-wp"),
968
- __("year", "google-analytics-dashboard-for-wp"),
969
- __("first", "google-analytics-dashboard-for-wp"),
970
- __("makes", "google-analytics-dashboard-for-wp"),
971
- __("right", "google-analytics-dashboard-for-wp"),
972
- __("years", "google-analytics-dashboard-for-wp"),
973
- __("found", "google-analytics-dashboard-for-wp"),
974
- __("man", "google-analytics-dashboard-for-wp"),
975
- __("see", "google-analytics-dashboard-for-wp"),
976
- __("youll", "google-analytics-dashboard-for-wp"),
977
- __("girl", "google-analytics-dashboard-for-wp"),
978
- __("media", "google-analytics-dashboard-for-wp"),
979
- __("seen", "google-analytics-dashboard-for-wp"),
980
- __("good", "google-analytics-dashboard-for-wp"),
981
- __("mind", "google-analytics-dashboard-for-wp"),
982
- __("social", "google-analytics-dashboard-for-wp"),
983
- __("guy", "google-analytics-dashboard-for-wp"),
984
- __("more", "google-analytics-dashboard-for-wp"),
985
- __("something", "google-analytics-dashboard-for-wp"),
986
- );
987
-
988
- return $this->uncommon_words;
989
- }
990
- }
991
-
992
- new ExactMetricsHeadlineToolPlugin();
1
+ <?php
2
+
3
+ namespace ExactMetricsHeadlineToolPlugin;
4
+
5
+ // setup defines
6
+ define ( 'EXACTMETRICS_HEADLINE_TOOL_DIR_PATH', plugin_dir_path( __FILE__ ) );
7
+
8
+ /**
9
+ * Headline Tool
10
+ *
11
+ * @since 0.1
12
+ * @author Debjit Saha
13
+ */
14
+ class ExactMetricsHeadlineToolPlugin{
15
+
16
+ /**
17
+ * Class Variables.
18
+ */
19
+ private $emotion_power_words = array();
20
+ private $power_words = array();
21
+ private $common_words = array();
22
+ private $uncommon_words = array();
23
+
24
+ /**
25
+ * Constructor
26
+ *
27
+ * @return none
28
+ */
29
+ function __construct() {
30
+ $this->init();
31
+ }
32
+
33
+ /**
34
+ * Add the necessary hooks and filters
35
+ */
36
+ function init() {
37
+ add_action( 'wp_ajax_exactmetrics_gutenberg_headline_analyzer_get_results', array( $this, 'get_result' ) );
38
+ }
39
+
40
+ /**
41
+ * Ajax request endpoint for the uptime check
42
+ */
43
+ function get_result() {
44
+
45
+ // csrf check
46
+ if ( check_ajax_referer( 'exactmetrics_gutenberg_headline_nonce', false, false ) === false ) {
47
+ $content = self::output_template( 'results-error.php' );
48
+ wp_send_json_error(
49
+ array(
50
+ 'html' => $content
51
+ )
52
+ );
53
+ }
54
+
55
+ // get whether or not the website is up
56
+ $result = $this->get_headline_scores();
57
+
58
+ if ( !empty( $result->err ) ) {
59
+ $content = self::output_template( 'results-error.php', $result );
60
+ wp_send_json_error(
61
+ array( 'html' => $content, 'analysed' => false )
62
+ );
63
+ } else {
64
+
65
+ // send the response
66
+ wp_send_json_success(
67
+ array(
68
+ 'result' => $result,
69
+ 'analysed' => !$result->err,
70
+ 'sentence' => ucwords( wp_unslash( sanitize_text_field( $_REQUEST['q'] ) ) ),
71
+ 'score' => ( isset( $result->score ) && ! empty( $result->score ) ) ? $result->score : 0
72
+ )
73
+ );
74
+
75
+ }
76
+ }
77
+
78
+ /**
79
+ * function to match words from sentence
80
+ * @return Object
81
+ */
82
+ function match_words( $sentence, $sentence_split, $words ) {
83
+ $ret = array();
84
+ foreach( $words as $wrd ) {
85
+ // check if $wrd is a phrase
86
+ if ( strpos( $wrd, ' ' ) !== false ) {
87
+ if ( strpos( $sentence, $wrd ) !== false ) {
88
+ $ret[] = $wrd;
89
+ }
90
+ }
91
+ // if $wrd is a single word
92
+ else {
93
+ if ( in_array( $wrd, $sentence_split ) ) {
94
+ $ret[] = $wrd;
95
+ }
96
+ }
97
+ }
98
+ return $ret;
99
+ }
100
+
101
+ /**
102
+ * main function to calculate headline scores
103
+ * @return Object
104
+ */
105
+ function get_headline_scores() {
106
+ $input = sanitize_text_field( @$_REQUEST['q'] );
107
+
108
+ // init the result array
109
+ $result = new \stdClass();
110
+ $result->input_array_orig = explode( ' ', wp_unslash( $input ) );
111
+
112
+ // strip useless characters
113
+ $input = preg_replace( '/[^A-Za-z0-9 ]/', '', $input );
114
+
115
+ // strip whitespace
116
+ $input = preg_replace( '!\s+!', ' ', $input);
117
+
118
+ // lower case
119
+ $input = strtolower( $input );
120
+
121
+ $result->input = $input;
122
+
123
+ // bad input
124
+ if ( ! $input || $input == ' ' || trim( $input ) == '' ) {
125
+ $result->err = true;
126
+ $result->msg = __('Bad Input', 'google-analytics-dashboard-for-wp');
127
+ return $result;
128
+ }
129
+
130
+ // overall score;
131
+ $scoret = 0;
132
+
133
+ // headline array
134
+ $input_array = explode( ' ', $input );
135
+
136
+ $result->input_array = $input_array;
137
+
138
+ // all okay, start analysis
139
+ $result->err = false;
140
+
141
+ // Length - 55 chars. optimal
142
+ $result->length = strlen( str_replace( ' ', '', $input ) );
143
+ $scoret = $scoret + 3;
144
+
145
+ if ( $result->length <= 19 ) { $scoret += 5; }
146
+ elseif ( $result->length >= 20 && $result->length <= 34 ) { $scoret += 8; }
147
+ elseif ( $result->length >= 35 && $result->length <= 66 ) { $scoret += 11; }
148
+ elseif ( $result->length >= 67 && $result->length <= 79 ) { $scoret += 8; }
149
+ elseif ( $result->length >= 80 ) { $scoret += 5; }
150
+
151
+ // Count - typically 6-7 words
152
+ $result->word_count = count( $input_array );
153
+ $scoret = $scoret + 3;
154
+
155
+ if ( $result->word_count == 0 ) { $scoret = 0; }
156
+ else if ( $result->word_count >= 2 && $result->word_count <= 4 ) { $scoret += 5; }
157
+ elseif ( $result->word_count >= 5 && $result->word_count <= 9 ) { $scoret += 11; }
158
+ elseif ( $result->word_count >= 10 && $result->word_count <= 11 ) { $scoret += 8; }
159
+ elseif ( $result->word_count >= 12 ) { $scoret += 5; }
160
+
161
+ // Calculate word match counts
162
+ $result->power_words = $this->match_words( $result->input, $result->input_array, $this->power_words() );
163
+ $result->power_words_per = count( $result->power_words ) / $result->word_count;
164
+ $result->emotion_words = $this->match_words( $result->input, $result->input_array, $this->emotion_power_words() );
165
+ $result->emotion_words_per = count( $result->emotion_words ) / $result->word_count;
166
+ $result->common_words = $this->match_words( $result->input, $result->input_array, $this->common_words() );
167
+ $result->common_words_per = count( $result->common_words ) / $result->word_count;
168
+ $result->uncommon_words = $this->match_words( $result->input, $result->input_array, $this->uncommon_words() );
169
+ $result->uncommon_words_per = count( $result->uncommon_words ) / $result->word_count;
170
+ $result->word_balance = __('Can Be Improved', 'google-analytics-dashboard-for-wp');
171
+ $result->word_balance_use = array();
172
+
173
+ if ( $result->emotion_words_per < 0.1 ) {
174
+ $result->word_balance_use[] = __('emotion', 'google-analytics-dashboard-for-wp');
175
+ } else {
176
+ $scoret = $scoret + 15;
177
+ }
178
+
179
+ if ( $result->common_words_per < 0.2 ) {
180
+ $result->word_balance_use[] = __('common', 'google-analytics-dashboard-for-wp');
181
+ } else {
182
+ $scoret = $scoret + 11;
183
+ }
184
+
185
+ if ( $result->uncommon_words_per < 0.1 ) {
186
+ $result->word_balance_use[] = __('uncommon', 'google-analytics-dashboard-for-wp');
187
+ } else
188
+ $scoret = $scoret + 15;
189
+
190
+ if ( count( $result->power_words ) < 1 ) {
191
+ $result->word_balance_use[] = __('power', 'google-analytics-dashboard-for-wp');
192
+ } else {
193
+ $scoret = $scoret + 19;
194
+ }
195
+
196
+ if (
197
+ $result->emotion_words_per >= 0.1 &&
198
+ $result->common_words_per >= 0.2 &&
199
+ $result->uncommon_words_per >= 0.1 &&
200
+ count( $result->power_words ) >= 1 ) {
201
+ $result->word_balance = __('Perfect', 'google-analytics-dashboard-for-wp');
202
+ $scoret = $scoret + 3;
203
+ }
204
+
205
+ // Sentiment analysis also look - https://github.com/yooper/php-text-analysis
206
+
207
+ // Emotion of the headline - sentiment analysis
208
+ // Credits - https://github.com/JWHennessey/phpInsight/
209
+ require_once EXACTMETRICS_HEADLINE_TOOL_DIR_PATH . '/phpinsight/autoload.php';
210
+ $sentiment = new \PHPInsight\Sentiment();
211
+ $class_senti = $sentiment->categorise( $input );
212
+ $result->sentiment = $class_senti;
213
+
214
+ $scoret = $scoret + ( $result->sentiment === 'pos' ? 10 : ( $result->sentiment === 'neg' ? 10 : 7 ) );
215
+
216
+ // Headline types
217
+ $headline_types = array();
218
+
219
+ // HDL type: how to, how-to, howto
220
+ if ( strpos( $input, __('how to', 'google-analytics-dashboard-for-wp') ) !== false || strpos( $input, __('howto', 'google-analytics-dashboard-for-wp') ) !== false ) {
221
+ $headline_types[] = __('How-To', 'google-analytics-dashboard-for-wp');
222
+ $scoret = $scoret + 7;
223
+ }
224
+
225
+ // HDL type: numbers - numeric and alpha
226
+ $num_quantifiers = array(
227
+ __('one', 'google-analytics-dashboard-for-wp'),
228
+ __('two', 'google-analytics-dashboard-for-wp'),
229
+ __('three', 'google-analytics-dashboard-for-wp'),
230
+ __('four', 'google-analytics-dashboard-for-wp'),
231
+ __('five', 'google-analytics-dashboard-for-wp'),
232
+ __('six', 'google-analytics-dashboard-for-wp'),
233
+ __('seven', 'google-analytics-dashboard-for-wp'),
234
+ __('eight', 'google-analytics-dashboard-for-wp'),
235
+ __('nine', 'google-analytics-dashboard-for-wp'),
236
+ __('eleven', 'google-analytics-dashboard-for-wp'),
237
+ __('twelve', 'google-analytics-dashboard-for-wp'),
238
+ __('thirt', 'google-analytics-dashboard-for-wp'),
239
+ __('fift', 'google-analytics-dashboard-for-wp'),
240
+ __('hundred', 'google-analytics-dashboard-for-wp'),
241
+ __('thousand', 'google-analytics-dashboard-for-wp'),
242
+ );
243
+
244
+ $list_words = array_intersect( $input_array, $num_quantifiers );
245
+ if ( preg_match( '~[0-9]+~', $input ) || ! empty ( $list_words ) ) {
246
+ $headline_types[] = __('List', 'google-analytics-dashboard-for-wp');
247
+ $scoret = $scoret + 7;
248
+ }
249
+
250
+ // HDL type: Question
251
+ $qn_quantifiers = array(
252
+ __('where', 'google-analytics-dashboard-for-wp'),
253
+ __('when', 'google-analytics-dashboard-for-wp'),
254
+ __('how', 'google-analytics-dashboard-for-wp'),
255
+ __('what', 'google-analytics-dashboard-for-wp'),
256
+ __('have', 'google-analytics-dashboard-for-wp'),
257
+ __('has', 'google-analytics-dashboard-for-wp'),
258
+ __('does', 'google-analytics-dashboard-for-wp'),
259
+ __('do', 'google-analytics-dashboard-for-wp'),
260
+ __('can', 'google-analytics-dashboard-for-wp'),
261
+ __('are', 'google-analytics-dashboard-for-wp'),
262
+ __('will', 'google-analytics-dashboard-for-wp'),
263
+ );
264
+ $qn_quantifiers_sub = array(
265
+ __('you', 'google-analytics-dashboard-for-wp'),
266
+ __('they', 'google-analytics-dashboard-for-wp'),
267
+ __('he', 'google-analytics-dashboard-for-wp'),
268
+ __('she', 'google-analytics-dashboard-for-wp'),
269
+ __('your', 'google-analytics-dashboard-for-wp'),
270
+ __('it', 'google-analytics-dashboard-for-wp'),
271
+ __('they', 'google-analytics-dashboard-for-wp'),
272
+ __('my', 'google-analytics-dashboard-for-wp'),
273
+ __('have', 'google-analytics-dashboard-for-wp'),
274
+ __('has', 'google-analytics-dashboard-for-wp'),
275
+ __('does', 'google-analytics-dashboard-for-wp'),
276
+ __('do', 'google-analytics-dashboard-for-wp'),
277
+ __('can', 'google-analytics-dashboard-for-wp'),
278
+ __('are', 'google-analytics-dashboard-for-wp'),
279
+ __('will', 'google-analytics-dashboard-for-wp'),
280
+ );
281
+ if ( in_array( $input_array[0], $qn_quantifiers ) ) {
282
+ if ( in_array( $input_array[1], $qn_quantifiers_sub ) ) {
283
+ $headline_types[] = __('Question', 'google-analytics-dashboard-for-wp');
284
+ $scoret = $scoret + 7;
285
+ }
286
+ }
287
+
288
+ // General headline type
289
+ if ( empty( $headline_types ) ) {
290
+ $headline_types[] = __('General', 'google-analytics-dashboard-for-wp');
291
+ $scoret = $scoret + 5;
292
+ }
293
+
294
+ // put to result
295
+ $result->headline_types = $headline_types;
296
+
297
+ // Resources for more reading:
298
+ // https://kopywritingkourse.com/copywriting-headlines-that-sell/
299
+ // How To _______ That Will Help You ______
300
+ // https://coschedule.com/blog/how-to-write-the-best-headlines-that-will-increase-traffic/
301
+
302
+ $result->score = $scoret >= 93 ? 93 : $scoret;
303
+
304
+ return $result;
305
+ }
306
+
307
+ /**
308
+ * Output template contents
309
+ * @param $template String template file name
310
+ * @return String template content
311
+ */
312
+ static function output_template( $template, $result = '', $theme = '' ) {
313
+ ob_start();
314
+ require EXACTMETRICS_HEADLINE_TOOL_DIR_PATH . '' . $template;
315
+ $tmp = ob_get_contents();
316
+ ob_end_clean();
317
+ return $tmp;
318
+ }
319
+
320
+ /**
321
+ * Get User IP
322
+ *
323
+ * Returns the IP address of the current visitor
324
+ * @see https://github.com/easydigitaldownloads/easy-digital-downloads/blob/904db487f6c07a3a46903202d31d4e8ea2b30808/includes/misc-functions.php#L163
325
+ * @return string $ip User's IP address
326
+ */
327
+ static function get_ip() {
328
+
329
+ $ip = '127.0.0.1';
330
+
331
+ if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
332
+ //check ip from share internet
333
+ $ip = $_SERVER['HTTP_CLIENT_IP'];
334
+ } elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
335
+ //to check ip is pass from proxy
336
+ $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
337
+ } elseif( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
338
+ $ip = $_SERVER['REMOTE_ADDR'];
339
+ }
340
+
341
+ // Fix potential CSV returned from $_SERVER variables
342
+ $ip_array = explode( ',', $ip );
343
+ $ip_array = array_map( 'trim', $ip_array );
344
+
345
+ return $ip_array[0];
346
+ }
347
+
348
+ /**
349
+ * Emotional power words
350
+ *
351
+ * @return array emotional power words
352
+ */
353
+ function emotion_power_words() {
354
+ if ( isset( $this->emotion_power_words ) && ! empty( $this->emotion_power_words ) ) {
355
+ return $this->emotion_power_words;
356
+ }
357
+
358
+ $this->emotion_power_words = array(
359
+ __("destroy", "google-analytics-dashboard-for-wp"),
360
+ __("extra", "google-analytics-dashboard-for-wp"),
361
+ __("in a", "google-analytics-dashboard-for-wp"),
362
+ __("devastating", "google-analytics-dashboard-for-wp"),
363
+ __("eye-opening", "google-analytics-dashboard-for-wp"),
364
+ __("gift", "google-analytics-dashboard-for-wp"),
365
+ __("in the world", "google-analytics-dashboard-for-wp"),
366
+ __("devoted", "google-analytics-dashboard-for-wp"),
367
+ __("fail", "google-analytics-dashboard-for-wp"),
368
+ __("in the", "google-analytics-dashboard-for-wp"),
369
+ __("faith", "google-analytics-dashboard-for-wp"),
370
+ __("grateful", "google-analytics-dashboard-for-wp"),
371
+ __("inexpensive", "google-analytics-dashboard-for-wp"),
372
+ __("dirty", "google-analytics-dashboard-for-wp"),
373
+ __("famous", "google-analytics-dashboard-for-wp"),
374
+ __("disastrous", "google-analytics-dashboard-for-wp"),
375
+ __("fantastic", "google-analytics-dashboard-for-wp"),
376
+ __("greed", "google-analytics-dashboard-for-wp"),
377
+ __("grit", "google-analytics-dashboard-for-wp"),
378
+ __("insanely", "google-analytics-dashboard-for-wp"),
379
+ __("disgusting", "google-analytics-dashboard-for-wp"),
380
+ __("fearless", "google-analytics-dashboard-for-wp"),
381
+ __("disinformation", "google-analytics-dashboard-for-wp"),
382
+ __("feast", "google-analytics-dashboard-for-wp"),
383
+ __("insidious", "google-analytics-dashboard-for-wp"),
384
+ __("dollar", "google-analytics-dashboard-for-wp"),
385
+ __("feeble", "google-analytics-dashboard-for-wp"),
386
+ __("gullible", "google-analytics-dashboard-for-wp"),
387
+ __("double", "google-analytics-dashboard-for-wp"),
388
+ __("fire", "google-analytics-dashboard-for-wp"),
389
+ __("hack", "google-analytics-dashboard-for-wp"),
390
+ __("fleece", "google-analytics-dashboard-for-wp"),
391
+ __("had enough", "google-analytics-dashboard-for-wp"),
392
+ __("invasion", "google-analytics-dashboard-for-wp"),
393
+ __("drowning", "google-analytics-dashboard-for-wp"),
394
+ __("floundering", "google-analytics-dashboard-for-wp"),
395
+ __("happy", "google-analytics-dashboard-for-wp"),
396
+ __("ironclad", "google-analytics-dashboard-for-wp"),
397
+ __("dumb", "google-analytics-dashboard-for-wp"),
398
+ __("flush", "google-analytics-dashboard-for-wp"),
399
+ __("hate", "google-analytics-dashboard-for-wp"),
400
+ __("irresistibly", "google-analytics-dashboard-for-wp"),
401
+ __("hazardous", "google-analytics-dashboard-for-wp"),
402
+ __("is the", "google-analytics-dashboard-for-wp"),
403
+ __("fool", "google-analytics-dashboard-for-wp"),
404
+ __("is what happens when", "google-analytics-dashboard-for-wp"),
405
+ __("fooled", "google-analytics-dashboard-for-wp"),
406
+ __("helpless", "google-analytics-dashboard-for-wp"),
407
+ __("it looks like a", "google-analytics-dashboard-for-wp"),
408
+ __("embarrass", "google-analytics-dashboard-for-wp"),
409
+ __("for the first time", "google-analytics-dashboard-for-wp"),
410
+ __("help are the", "google-analytics-dashboard-for-wp"),
411
+ __("jackpot", "google-analytics-dashboard-for-wp"),
412
+ __("forbidden", "google-analytics-dashboard-for-wp"),
413
+ __("hidden", "google-analytics-dashboard-for-wp"),
414
+ __("jail", "google-analytics-dashboard-for-wp"),
415
+ __("empower", "google-analytics-dashboard-for-wp"),
416
+ __("force-fed", "google-analytics-dashboard-for-wp"),
417
+ __("high", "google-analytics-dashboard-for-wp"),
418
+ __("jaw-dropping", "google-analytics-dashboard-for-wp"),
419
+ __("forgotten", "google-analytics-dashboard-for-wp"),
420
+ __("jeopardy", "google-analytics-dashboard-for-wp"),
421
+ __("energize", "google-analytics-dashboard-for-wp"),
422
+ __("hoax", "google-analytics-dashboard-for-wp"),
423
+ __("jubilant", "google-analytics-dashboard-for-wp"),
424
+ __("foul", "google-analytics-dashboard-for-wp"),
425
+ __("hope", "google-analytics-dashboard-for-wp"),
426
+ __("killer", "google-analytics-dashboard-for-wp"),
427
+ __("frantic", "google-analytics-dashboard-for-wp"),
428
+ __("horrific", "google-analytics-dashboard-for-wp"),
429
+ __("know it all", "google-analytics-dashboard-for-wp"),
430
+ __("epic", "google-analytics-dashboard-for-wp"),
431
+ __("how to make", "google-analytics-dashboard-for-wp"),
432
+ __("evil", "google-analytics-dashboard-for-wp"),
433
+ __("freebie", "google-analytics-dashboard-for-wp"),
434
+ __("frenzy", "google-analytics-dashboard-for-wp"),
435
+ __("hurricane", "google-analytics-dashboard-for-wp"),
436
+ __("excited", "google-analytics-dashboard-for-wp"),
437
+ __("fresh on the mind", "google-analytics-dashboard-for-wp"),
438
+ __("frightening", "google-analytics-dashboard-for-wp"),
439
+ __("hypnotic", "google-analytics-dashboard-for-wp"),
440
+ __("lawsuit", "google-analytics-dashboard-for-wp"),
441
+ __("frugal", "google-analytics-dashboard-for-wp"),
442
+ __("illegal", "google-analytics-dashboard-for-wp"),
443
+ __("fulfill", "google-analytics-dashboard-for-wp"),
444
+ __("lick", "google-analytics-dashboard-for-wp"),
445
+ __("explode", "google-analytics-dashboard-for-wp"),
446
+ __("lies", "google-analytics-dashboard-for-wp"),
447
+ __("exposed", "google-analytics-dashboard-for-wp"),
448
+ __("gambling", "google-analytics-dashboard-for-wp"),
449
+ __("like a normal", "google-analytics-dashboard-for-wp"),
450
+ __("nightmare", "google-analytics-dashboard-for-wp"),
451
+ __("results", "google-analytics-dashboard-for-wp"),
452
+ __("line", "google-analytics-dashboard-for-wp"),
453
+ __("no good", "google-analytics-dashboard-for-wp"),
454
+ __("pound", "google-analytics-dashboard-for-wp"),
455
+ __("loathsome", "google-analytics-dashboard-for-wp"),
456
+ __("no questions asked", "google-analytics-dashboard-for-wp"),
457
+ __("revenge", "google-analytics-dashboard-for-wp"),
458
+ __("lonely", "google-analytics-dashboard-for-wp"),
459
+ __("looks like a", "google-analytics-dashboard-for-wp"),
460
+ __("obnoxious", "google-analytics-dashboard-for-wp"),
461
+ __("preposterous", "google-analytics-dashboard-for-wp"),
462
+ __("revolting", "google-analytics-dashboard-for-wp"),
463
+ __("looming", "google-analytics-dashboard-for-wp"),
464
+ __("priced", "google-analytics-dashboard-for-wp"),
465
+ __("lost", "google-analytics-dashboard-for-wp"),
466
+ __("prison", "google-analytics-dashboard-for-wp"),
467
+ __("lowest", "google-analytics-dashboard-for-wp"),
468
+ __("of the", "google-analytics-dashboard-for-wp"),
469
+ __("privacy", "google-analytics-dashboard-for-wp"),
470
+ __("rich", "google-analytics-dashboard-for-wp"),
471
+ __("lunatic", "google-analytics-dashboard-for-wp"),
472
+ __("off-limits", "google-analytics-dashboard-for-wp"),
473
+ __("private", "google-analytics-dashboard-for-wp"),
474
+ __("risky", "google-analytics-dashboard-for-wp"),
475
+ __("lurking", "google-analytics-dashboard-for-wp"),
476
+ __("offer", "google-analytics-dashboard-for-wp"),
477
+ __("prize", "google-analytics-dashboard-for-wp"),
478
+ __("ruthless", "google-analytics-dashboard-for-wp"),
479
+ __("lust", "google-analytics-dashboard-for-wp"),
480
+ __("official", "google-analytics-dashboard-for-wp"),
481
+ __("luxurious", "google-analytics-dashboard-for-wp"),
482
+ __("on the", "google-analytics-dashboard-for-wp"),
483
+ __("profit", "google-analytics-dashboard-for-wp"),
484
+ __("scary", "google-analytics-dashboard-for-wp"),
485
+ __("lying", "google-analytics-dashboard-for-wp"),
486
+ __("outlawed", "google-analytics-dashboard-for-wp"),
487
+ __("protected", "google-analytics-dashboard-for-wp"),
488
+ __("scream", "google-analytics-dashboard-for-wp"),
489
+ __("searing", "google-analytics-dashboard-for-wp"),
490
+ __("overcome", "google-analytics-dashboard-for-wp"),
491
+ __("provocative", "google-analytics-dashboard-for-wp"),
492
+ __("make you", "google-analytics-dashboard-for-wp"),
493
+ __("painful", "google-analytics-dashboard-for-wp"),
494
+ __("pummel", "google-analytics-dashboard-for-wp"),
495
+ __("secure", "google-analytics-dashboard-for-wp"),
496
+ __("pale", "google-analytics-dashboard-for-wp"),
497
+ __("punish", "google-analytics-dashboard-for-wp"),
498
+ __("marked down", "google-analytics-dashboard-for-wp"),
499
+ __("panic", "google-analytics-dashboard-for-wp"),
500
+ __("quadruple", "google-analytics-dashboard-for-wp"),
501
+ __("secutively", "google-analytics-dashboard-for-wp"),
502
+ __("massive", "google-analytics-dashboard-for-wp"),
503
+ __("pay zero", "google-analytics-dashboard-for-wp"),
504
+ __("seize", "google-analytics-dashboard-for-wp"),
505
+ __("meltdown", "google-analytics-dashboard-for-wp"),
506
+ __("payback", "google-analytics-dashboard-for-wp"),
507
+ __("might look like a", "google-analytics-dashboard-for-wp"),
508
+ __("peril", "google-analytics-dashboard-for-wp"),
509
+ __("mind-blowing", "google-analytics-dashboard-for-wp"),
510
+ __("shameless", "google-analytics-dashboard-for-wp"),
511
+ __("minute", "google-analytics-dashboard-for-wp"),
512
+ __("rave", "google-analytics-dashboard-for-wp"),
513
+ __("shatter", "google-analytics-dashboard-for-wp"),
514
+ __("piranha", "google-analytics-dashboard-for-wp"),
515
+ __("reckoning", "google-analytics-dashboard-for-wp"),
516
+ __("shellacking", "google-analytics-dashboard-for-wp"),
517
+ __("mired", "google-analytics-dashboard-for-wp"),
518
+ __("pitfall", "google-analytics-dashboard-for-wp"),
519
+ __("reclaim", "google-analytics-dashboard-for-wp"),
520
+ __("mistakes", "google-analytics-dashboard-for-wp"),
521
+ __("plague", "google-analytics-dashboard-for-wp"),
522
+ __("sick and tired", "google-analytics-dashboard-for-wp"),
523
+ __("money", "google-analytics-dashboard-for-wp"),
524
+ __("played", "google-analytics-dashboard-for-wp"),
525
+ __("refugee", "google-analytics-dashboard-for-wp"),
526
+ __("silly", "google-analytics-dashboard-for-wp"),
527
+ __("money-grubbing", "google-analytics-dashboard-for-wp"),
528
+ __("pluck", "google-analytics-dashboard-for-wp"),
529
+ __("refund", "google-analytics-dashboard-for-wp"),
530
+ __("moneyback", "google-analytics-dashboard-for-wp"),
531
+ __("plummet", "google-analytics-dashboard-for-wp"),
532
+ __("plunge", "google-analytics-dashboard-for-wp"),
533
+ __("murder", "google-analytics-dashboard-for-wp"),
534
+ __("pointless", "google-analytics-dashboard-for-wp"),
535
+ __("sinful", "google-analytics-dashboard-for-wp"),
536
+ __("myths", "google-analytics-dashboard-for-wp"),
537
+ __("poor", "google-analytics-dashboard-for-wp"),
538
+ __("remarkably", "google-analytics-dashboard-for-wp"),
539
+ __("six-figure", "google-analytics-dashboard-for-wp"),
540
+ __("never again", "google-analytics-dashboard-for-wp"),
541
+ __("research", "google-analytics-dashboard-for-wp"),
542
+ __("surrender", "google-analytics-dashboard-for-wp"),
543
+ __("to the", "google-analytics-dashboard-for-wp"),
544
+ __("varify", "google-analytics-dashboard-for-wp"),
545
+ __("skyrocket", "google-analytics-dashboard-for-wp"),
546
+ __("toxic", "google-analytics-dashboard-for-wp"),
547
+ __("vibrant", "google-analytics-dashboard-for-wp"),
548
+ __("slaughter", "google-analytics-dashboard-for-wp"),
549
+ __("swindle", "google-analytics-dashboard-for-wp"),
550
+ __("trap", "google-analytics-dashboard-for-wp"),
551
+ __("victim", "google-analytics-dashboard-for-wp"),
552
+ __("sleazy", "google-analytics-dashboard-for-wp"),
553
+ __("taboo", "google-analytics-dashboard-for-wp"),
554
+ __("treasure", "google-analytics-dashboard-for-wp"),
555
+ __("victory", "google-analytics-dashboard-for-wp"),
556
+ __("smash", "google-analytics-dashboard-for-wp"),
557
+ __("tailspin", "google-analytics-dashboard-for-wp"),
558
+ __("vindication", "google-analytics-dashboard-for-wp"),
559
+ __("smug", "google-analytics-dashboard-for-wp"),
560
+ __("tank", "google-analytics-dashboard-for-wp"),
561
+ __("triple", "google-analytics-dashboard-for-wp"),
562
+ __("viral", "google-analytics-dashboard-for-wp"),
563
+ __("smuggled", "google-analytics-dashboard-for-wp"),
564
+ __("tantalizing", "google-analytics-dashboard-for-wp"),
565
+ __("triumph", "google-analytics-dashboard-for-wp"),
566
+ __("volatile", "google-analytics-dashboard-for-wp"),
567
+ __("sniveling", "google-analytics-dashboard-for-wp"),
568
+ __("targeted", "google-analytics-dashboard-for-wp"),
569
+ __("truth", "google-analytics-dashboard-for-wp"),
570
+ __("vulnerable", "google-analytics-dashboard-for-wp"),
571
+ __("snob", "google-analytics-dashboard-for-wp"),
572
+ __("tawdry", "google-analytics-dashboard-for-wp"),
573
+ __("try before you buy", "google-analytics-dashboard-for-wp"),
574
+ __("tech", "google-analytics-dashboard-for-wp"),
575
+ __("turn the tables", "google-analytics-dashboard-for-wp"),
576
+ __("wanton", "google-analytics-dashboard-for-wp"),
577
+ __("soaring", "google-analytics-dashboard-for-wp"),
578
+ __("warning", "google-analytics-dashboard-for-wp"),
579
+ __("teetering", "google-analytics-dashboard-for-wp"),
580
+ __("unauthorized", "google-analytics-dashboard-for-wp"),
581
+ __("spectacular", "google-analytics-dashboard-for-wp"),
582
+ __("temporary fix", "google-analytics-dashboard-for-wp"),
583
+ __("unbelievably", "google-analytics-dashboard-for-wp"),
584
+ __("spine", "google-analytics-dashboard-for-wp"),
585
+ __("tempting", "google-analytics-dashboard-for-wp"),
586
+ __("uncommonly", "google-analytics-dashboard-for-wp"),
587
+ __("what happened", "google-analytics-dashboard-for-wp"),
588
+ __("spirit", "google-analytics-dashboard-for-wp"),
589
+ __("what happens when", "google-analytics-dashboard-for-wp"),
590
+ __("terror", "google-analytics-dashboard-for-wp"),
591
+ __("under", "google-analytics-dashboard-for-wp"),
592
+ __("what happens", "google-analytics-dashboard-for-wp"),
593
+ __("staggering", "google-analytics-dashboard-for-wp"),
594
+ __("underhanded", "google-analytics-dashboard-for-wp"),
595
+ __("what this", "google-analytics-dashboard-for-wp"),
596
+ __("that will make you", "google-analytics-dashboard-for-wp"),
597
+ __("undo","when you see", "google-analytics-dashboard-for-wp"),
598
+ __("that will make", "google-analytics-dashboard-for-wp"),
599
+ __("unexpected", "google-analytics-dashboard-for-wp"),
600
+ __("when you", "google-analytics-dashboard-for-wp"),
601
+ __("strangle", "google-analytics-dashboard-for-wp"),
602
+ __("that will", "google-analytics-dashboard-for-wp"),
603
+ __("whip", "google-analytics-dashboard-for-wp"),
604
+ __("the best", "google-analytics-dashboard-for-wp"),
605
+ __("whopping", "google-analytics-dashboard-for-wp"),
606
+ __("stuck up", "google-analytics-dashboard-for-wp"),
607
+ __("the ranking of", "google-analytics-dashboard-for-wp"),
608
+ __("wicked", "google-analytics-dashboard-for-wp"),
609
+ __("stunning", "google-analytics-dashboard-for-wp"),
610
+ __("the most", "google-analytics-dashboard-for-wp"),
611
+ __("will make you", "google-analytics-dashboard-for-wp"),
612
+ __("stupid", "google-analytics-dashboard-for-wp"),
613
+ __("the reason why is", "google-analytics-dashboard-for-wp"),
614
+ __("unscrupulous", "google-analytics-dashboard-for-wp"),
615
+ __("thing ive ever seen", "google-analytics-dashboard-for-wp"),
616
+ __("withheld", "google-analytics-dashboard-for-wp"),
617
+ __("this is the", "google-analytics-dashboard-for-wp"),
618
+ __("this is what happens", "google-analytics-dashboard-for-wp"),
619
+ __("unusually", "google-analytics-dashboard-for-wp"),
620
+ __("wondrous", "google-analytics-dashboard-for-wp"),
621
+ __("this is what", "google-analytics-dashboard-for-wp"),
622
+ __("uplifting", "google-analytics-dashboard-for-wp"),
623
+ __("worry", "google-analytics-dashboard-for-wp"),
624
+ __("sure", "google-analytics-dashboard-for-wp"),
625
+ __("this is", "google-analytics-dashboard-for-wp"),
626
+ __("wounded", "google-analytics-dashboard-for-wp"),
627
+ __("surge", "google-analytics-dashboard-for-wp"),
628
+ __("thrilled", "google-analytics-dashboard-for-wp"),
629
+ __("you need to know", "google-analytics-dashboard-for-wp"),
630
+ __("thrilling", "google-analytics-dashboard-for-wp"),
631
+ __("valor", "google-analytics-dashboard-for-wp"),
632
+ __("you need to", "google-analytics-dashboard-for-wp"),
633
+ __("you see what", "google-analytics-dashboard-for-wp"),
634
+ __("surprising", "google-analytics-dashboard-for-wp"),
635
+ __("tired", "google-analytics-dashboard-for-wp"),
636
+ __("you see", "google-analytics-dashboard-for-wp"),
637
+ __("surprisingly", "google-analytics-dashboard-for-wp"),
638
+ __("to be", "google-analytics-dashboard-for-wp"),
639
+ __("vaporize", "google-analytics-dashboard-for-wp"),
640
+ );
641
+
642
+ return $this->emotion_power_words;
643
+ }
644
+
645
+ /**
646
+ * Power words
647
+ *
648
+ * @return array power words
649
+ */
650
+ function power_words() {
651
+ if ( isset( $this->power_words ) && ! empty( $this->power_words ) ) {
652
+ return $this->power_words;
653
+ }
654
+
655
+ $this->power_words = array(
656
+ __("great", "google-analytics-dashboard-for-wp"),
657
+ __("free", "google-analytics-dashboard-for-wp"),
658
+ __("focus", "google-analytics-dashboard-for-wp"),
659
+ __("remarkable", "google-analytics-dashboard-for-wp"),
660
+ __("confidential", "google-analytics-dashboard-for-wp"),
661
+ __("sale", "google-analytics-dashboard-for-wp"),
662
+ __("wanted", "google-analytics-dashboard-for-wp"),
663
+ __("obsession", "google-analytics-dashboard-for-wp"),
664
+ __("sizable", "google-analytics-dashboard-for-wp"),
665
+ __("new", "google-analytics-dashboard-for-wp"),
666
+ __("absolutely lowest", "google-analytics-dashboard-for-wp"),
667
+ __("surging", "google-analytics-dashboard-for-wp"),
668
+ __("wonderful", "google-analytics-dashboard-for-wp"),
669
+ __("professional", "google-analytics-dashboard-for-wp"),
670
+ __("interesting", "google-analytics-dashboard-for-wp"),
671
+ __("revisited", "google-analytics-dashboard-for-wp"),
672
+ __("delivered", "google-analytics-dashboard-for-wp"),
673
+ __("guaranteed", "google-analytics-dashboard-for-wp"),
674
+ __("challenge", "google-analytics-dashboard-for-wp"),
675
+ __("unique", "google-analytics-dashboard-for-wp"),
676
+ __("secrets", "google-analytics-dashboard-for-wp"),
677
+ __("special", "google-analytics-dashboard-for-wp"),
678
+ __("lifetime", "google-analytics-dashboard-for-wp"),
679
+ __("bargain", "google-analytics-dashboard-for-wp"),
680
+ __("scarce", "google-analytics-dashboard-for-wp"),
681
+ __("tested", "google-analytics-dashboard-for-wp"),
682
+ __("highest", "google-analytics-dashboard-for-wp"),
683
+ __("hurry", "google-analytics-dashboard-for-wp"),
684
+ __("alert famous", "google-analytics-dashboard-for-wp"),
685
+ __("improved", "google-analytics-dashboard-for-wp"),
686
+ __("expert", "google-analytics-dashboard-for-wp"),
687
+ __("daring", "google-analytics-dashboard-for-wp"),
688
+ __("strong", "google-analytics-dashboard-for-wp"),
689
+ __("immediately", "google-analytics-dashboard-for-wp"),
690
+ __("advice", "google-analytics-dashboard-for-wp"),
691
+ __("pioneering", "google-analytics-dashboard-for-wp"),
692
+ __("unusual", "google-analytics-dashboard-for-wp"),
693
+ __("limited", "google-analytics-dashboard-for-wp"),
694
+ __("the truth about", "google-analytics-dashboard-for-wp"),
695
+ __("destiny", "google-analytics-dashboard-for-wp"),
696
+ __("outstanding", "google-analytics-dashboard-for-wp"),
697
+ __("simplistic", "google-analytics-dashboard-for-wp"),
698
+ __("compare", "google-analytics-dashboard-for-wp"),
699
+ __("unsurpassed", "google-analytics-dashboard-for-wp"),
700
+ __("energy", "google-analytics-dashboard-for-wp"),
701
+ __("powerful", "google-analytics-dashboard-for-wp"),
702
+ __("colorful", "google-analytics-dashboard-for-wp"),
703
+ __("genuine", "google-analytics-dashboard-for-wp"),
704
+ __("instructive", "google-analytics-dashboard-for-wp"),
705
+ __("big", "google-analytics-dashboard-for-wp"),
706
+ __("affordable", "google-analytics-dashboard-for-wp"),
707
+ __("informative", "google-analytics-dashboard-for-wp"),
708
+ __("liberal", "google-analytics-dashboard-for-wp"),
709
+ __("popular", "google-analytics-dashboard-for-wp"),
710
+ __("ultimate", "google-analytics-dashboard-for-wp"),
711
+ __("mainstream", "google-analytics-dashboard-for-wp"),
712
+ __("rare", "google-analytics-dashboard-for-wp"),
713
+ __("exclusive", "google-analytics-dashboard-for-wp"),
714
+ __("willpower", "google-analytics-dashboard-for-wp"),
715
+ __("complete", "google-analytics-dashboard-for-wp"),
716
+ __("edge", "google-analytics-dashboard-for-wp"),
717
+ __("valuable", "google-analytics-dashboard-for-wp"),
718
+ __("attractive", "google-analytics-dashboard-for-wp"),
719
+ __("last chance", "google-analytics-dashboard-for-wp"),
720
+ __("superior", "google-analytics-dashboard-for-wp"),
721
+ __("how to", "google-analytics-dashboard-for-wp"),
722
+ __("easily", "google-analytics-dashboard-for-wp"),
723
+ __("exploit", "google-analytics-dashboard-for-wp"),
724
+ __("unparalleled", "google-analytics-dashboard-for-wp"),
725
+ __("endorsed", "google-analytics-dashboard-for-wp"),
726
+ __("approved", "google-analytics-dashboard-for-wp"),
727
+ __("quality", "google-analytics-dashboard-for-wp"),
728
+ __("fascinating", "google-analytics-dashboard-for-wp"),
729
+ __("unlimited", "google-analytics-dashboard-for-wp"),
730
+ __("competitive", "google-analytics-dashboard-for-wp"),
731
+ __("gigantic", "google-analytics-dashboard-for-wp"),
732
+ __("compromise", "google-analytics-dashboard-for-wp"),
733
+ __("discount", "google-analytics-dashboard-for-wp"),
734
+ __("full", "google-analytics-dashboard-for-wp"),
735
+ __("love", "google-analytics-dashboard-for-wp"),
736
+ __("odd", "google-analytics-dashboard-for-wp"),
737
+ __("fundamentals", "google-analytics-dashboard-for-wp"),
738
+ __("mammoth", "google-analytics-dashboard-for-wp"),
739
+ __("lavishly", "google-analytics-dashboard-for-wp"),
740
+ __("bottom line", "google-analytics-dashboard-for-wp"),
741
+ __("under priced", "google-analytics-dashboard-for-wp"),
742
+ __("innovative", "google-analytics-dashboard-for-wp"),
743
+ __("reliable", "google-analytics-dashboard-for-wp"),
744
+ __("zinger", "google-analytics-dashboard-for-wp"),
745
+ __("suddenly", "google-analytics-dashboard-for-wp"),
746
+ __("it's here", "google-analytics-dashboard-for-wp"),
747
+ __("terrific", "google-analytics-dashboard-for-wp"),
748
+ __("simplified", "google-analytics-dashboard-for-wp"),
749
+ __("perspective", "google-analytics-dashboard-for-wp"),
750
+ __("just arrived", "google-analytics-dashboard-for-wp"),
751
+ __("breakthrough", "google-analytics-dashboard-for-wp"),
752
+ __("tremendous", "google-analytics-dashboard-for-wp"),
753
+ __("launching", "google-analytics-dashboard-for-wp"),
754
+ __("sure fire", "google-analytics-dashboard-for-wp"),
755
+ __("emerging", "google-analytics-dashboard-for-wp"),
756
+ __("helpful", "google-analytics-dashboard-for-wp"),
757
+ __("skill", "google-analytics-dashboard-for-wp"),
758
+ __("soar", "google-analytics-dashboard-for-wp"),
759
+ __("profitable", "google-analytics-dashboard-for-wp"),
760
+ __("special offer", "google-analytics-dashboard-for-wp"),
761
+ __("reduced", "google-analytics-dashboard-for-wp"),
762
+ __("beautiful", "google-analytics-dashboard-for-wp"),
763
+ __("sampler", "google-analytics-dashboard-for-wp"),
764
+ __("technology", "google-analytics-dashboard-for-wp"),
765
+ __("better", "google-analytics-dashboard-for-wp"),
766
+ __("crammed", "google-analytics-dashboard-for-wp"),
767
+ __("noted", "google-analytics-dashboard-for-wp"),
768
+ __("selected", "google-analytics-dashboard-for-wp"),
769
+ __("shrewd", "google-analytics-dashboard-for-wp"),
770
+ __("growth", "google-analytics-dashboard-for-wp"),
771
+ __("luxury", "google-analytics-dashboard-for-wp"),
772
+ __("sturdy", "google-analytics-dashboard-for-wp"),
773
+ __("enormous", "google-analytics-dashboard-for-wp"),
774
+ __("promising", "google-analytics-dashboard-for-wp"),
775
+ __("unconditional", "google-analytics-dashboard-for-wp"),
776
+ __("wealth", "google-analytics-dashboard-for-wp"),
777
+ __("spotlight", "google-analytics-dashboard-for-wp"),
778
+ __("astonishing", "google-analytics-dashboard-for-wp"),
779
+ __("timely", "google-analytics-dashboard-for-wp"),
780
+ __("successful", "google-analytics-dashboard-for-wp"),
781
+ __("useful", "google-analytics-dashboard-for-wp"),
782
+ __("imagination", "google-analytics-dashboard-for-wp"),
783
+ __("bonanza", "google-analytics-dashboard-for-wp"),
784
+ __("opportunities", "google-analytics-dashboard-for-wp"),
785
+ __("survival", "google-analytics-dashboard-for-wp"),
786
+ __("greatest", "google-analytics-dashboard-for-wp"),
787
+ __("security", "google-analytics-dashboard-for-wp"),
788
+ __("last minute", "google-analytics-dashboard-for-wp"),
789
+ __("largest", "google-analytics-dashboard-for-wp"),
790
+ __("high tech", "google-analytics-dashboard-for-wp"),
791
+ __("refundable", "google-analytics-dashboard-for-wp"),
792
+ __("monumental", "google-analytics-dashboard-for-wp"),
793
+ __("colossal", "google-analytics-dashboard-for-wp"),
794
+ __("latest", "google-analytics-dashboard-for-wp"),
795
+ __("quickly", "google-analytics-dashboard-for-wp"),
796
+ __("startling", "google-analytics-dashboard-for-wp"),
797
+ __("now", "google-analytics-dashboard-for-wp"),
798
+ __("important", "google-analytics-dashboard-for-wp"),
799
+ __("revolutionary", "google-analytics-dashboard-for-wp"),
800
+ __("quick", "google-analytics-dashboard-for-wp"),
801
+ __("unlock", "google-analytics-dashboard-for-wp"),
802
+ __("urgent", "google-analytics-dashboard-for-wp"),
803
+ __("miracle", "google-analytics-dashboard-for-wp"),
804
+ __("easy", "google-analytics-dashboard-for-wp"),
805
+ __("fortune", "google-analytics-dashboard-for-wp"),
806
+ __("amazing", "google-analytics-dashboard-for-wp"),
807
+ __("magic", "google-analytics-dashboard-for-wp"),
808
+ __("direct", "google-analytics-dashboard-for-wp"),
809
+ __("authentic", "google-analytics-dashboard-for-wp"),
810
+ __("exciting", "google-analytics-dashboard-for-wp"),
811
+ __("proven", "google-analytics-dashboard-for-wp"),
812
+ __("simple", "google-analytics-dashboard-for-wp"),
813
+ __("announcing", "google-analytics-dashboard-for-wp"),
814
+ __("portfolio", "google-analytics-dashboard-for-wp"),
815
+ __("reward", "google-analytics-dashboard-for-wp"),
816
+ __("strange", "google-analytics-dashboard-for-wp"),
817
+ __("huge gift", "google-analytics-dashboard-for-wp"),
818
+ __("revealing", "google-analytics-dashboard-for-wp"),
819
+ __("weird", "google-analytics-dashboard-for-wp"),
820
+ __("value", "google-analytics-dashboard-for-wp"),
821
+ __("introducing", "google-analytics-dashboard-for-wp"),
822
+ __("sensational", "google-analytics-dashboard-for-wp"),
823
+ __("surprise", "google-analytics-dashboard-for-wp"),
824
+ __("insider", "google-analytics-dashboard-for-wp"),
825
+ __("practical", "google-analytics-dashboard-for-wp"),
826
+ __("excellent", "google-analytics-dashboard-for-wp"),
827
+ __("delighted", "google-analytics-dashboard-for-wp"),
828
+ __("download", "google-analytics-dashboard-for-wp"),
829
+ );
830
+
831
+ return $this->power_words;
832
+ }
833
+
834
+ /**
835
+ * Common words
836
+ *
837
+ * @return array common words
838
+ */
839
+ function common_words() {
840
+ if ( isset( $this->common_words ) && ! empty( $this->common_words ) ) {
841
+ return $this->common_words;
842
+ }
843
+
844
+ $this->common_words = array(
845
+ __("a", "google-analytics-dashboard-for-wp"),
846
+ __("for", "google-analytics-dashboard-for-wp"),
847
+ __("about", "google-analytics-dashboard-for-wp"),
848
+ __("from", "google-analytics-dashboard-for-wp"),
849
+ __("after", "google-analytics-dashboard-for-wp"),
850
+ __("get", "google-analytics-dashboard-for-wp"),
851
+ __("all", "google-analytics-dashboard-for-wp"),
852
+ __("has", "google-analytics-dashboard-for-wp"),
853
+ __("an", "google-analytics-dashboard-for-wp"),
854
+ __("have", "google-analytics-dashboard-for-wp"),
855
+ __("and", "google-analytics-dashboard-for-wp"),
856
+ __("he", "google-analytics-dashboard-for-wp"),
857
+ __("are", "google-analytics-dashboard-for-wp"),
858
+ __("her", "google-analytics-dashboard-for-wp"),
859
+ __("as", "google-analytics-dashboard-for-wp"),
860
+ __("his", "google-analytics-dashboard-for-wp"),
861
+ __("at", "google-analytics-dashboard-for-wp"),
862
+ __("how", "google-analytics-dashboard-for-wp"),
863
+ __("be", "google-analytics-dashboard-for-wp"),
864
+ __("I", "google-analytics-dashboard-for-wp"),
865
+ __("but", "google-analytics-dashboard-for-wp"),
866
+ __("if", "google-analytics-dashboard-for-wp"),
867
+ __("by", "google-analytics-dashboard-for-wp"),
868
+ __("in", "google-analytics-dashboard-for-wp"),
869
+ __("can", "google-analytics-dashboard-for-wp"),
870
+ __("is", "google-analytics-dashboard-for-wp"),
871
+ __("did", "google-analytics-dashboard-for-wp"),
872
+ __("it", "google-analytics-dashboard-for-wp"),
873
+ __("do", "google-analytics-dashboard-for-wp"),
874
+ __("just", "google-analytics-dashboard-for-wp"),
875
+ __("ever", "google-analytics-dashboard-for-wp"),
876
+ __("like", "google-analytics-dashboard-for-wp"),
877
+ __("ll", "google-analytics-dashboard-for-wp"),
878
+ __("these", "google-analytics-dashboard-for-wp"),
879
+ __("me", "google-analytics-dashboard-for-wp"),
880
+ __("they", "google-analytics-dashboard-for-wp"),
881
+ __("most", "google-analytics-dashboard-for-wp"),
882
+ __("things", "google-analytics-dashboard-for-wp"),
883
+ __("my", "google-analytics-dashboard-for-wp"),
884
+ __("this", "google-analytics-dashboard-for-wp"),
885
+ __("no", "google-analytics-dashboard-for-wp"),
886
+ __("to", "google-analytics-dashboard-for-wp"),
887
+ __("not", "google-analytics-dashboard-for-wp"),
888
+ __("up", "google-analytics-dashboard-for-wp"),
889
+ __("of", "google-analytics-dashboard-for-wp"),
890
+ __("was", "google-analytics-dashboard-for-wp"),
891
+ __("on", "google-analytics-dashboard-for-wp"),
892
+ __("what", "google-analytics-dashboard-for-wp"),
893
+ __("re", "google-analytics-dashboard-for-wp"),
894
+ __("when", "google-analytics-dashboard-for-wp"),
895
+ __("she", "google-analytics-dashboard-for-wp"),
896
+ __("who", "google-analytics-dashboard-for-wp"),
897
+ __("sould", "google-analytics-dashboard-for-wp"),
898
+ __("why", "google-analytics-dashboard-for-wp"),
899
+ __("so", "google-analytics-dashboard-for-wp"),
900
+ __("will", "google-analytics-dashboard-for-wp"),
901
+ __("that", "google-analytics-dashboard-for-wp"),
902
+ __("with", "google-analytics-dashboard-for-wp"),
903
+ __("the", "google-analytics-dashboard-for-wp"),
904
+ __("you", "google-analytics-dashboard-for-wp"),
905
+ __("their", "google-analytics-dashboard-for-wp"),
906
+ __("your", "google-analytics-dashboard-for-wp"),
907
+ __("there", "google-analytics-dashboard-for-wp"),
908
+ );
909
+
910
+ return $this->common_words;
911
+ }
912
+
913
+
914
+ /**
915
+ * Uncommon words
916
+ *
917
+ * @return array uncommon words
918
+ */
919
+ function uncommon_words() {
920
+ if ( isset( $this->uncommon_words ) && ! empty( $this->uncommon_words ) ) {
921
+ return $this->uncommon_words;
922
+ }
923
+
924
+ $this->uncommon_words = array(
925
+ __("actually", "google-analytics-dashboard-for-wp"),
926
+ __("happened", "google-analytics-dashboard-for-wp"),
927
+ __("need", "google-analytics-dashboard-for-wp"),
928
+ __("thing", "google-analytics-dashboard-for-wp"),
929
+ __("awesome", "google-analytics-dashboard-for-wp"),
930
+ __("heart", "google-analytics-dashboard-for-wp"),
931
+ __("never", "google-analytics-dashboard-for-wp"),
932
+ __("think", "google-analytics-dashboard-for-wp"),
933
+ __("baby", "google-analytics-dashboard-for-wp"),
934
+ __("here", "google-analytics-dashboard-for-wp"),
935
+ __("new", "google-analytics-dashboard-for-wp"),
936
+ __("time", "google-analytics-dashboard-for-wp"),
937
+ __("beautiful", "google-analytics-dashboard-for-wp"),
938
+ __("its", "google-analytics-dashboard-for-wp"),
939
+ __("now", "google-analytics-dashboard-for-wp"),
940
+ __("valentines", "google-analytics-dashboard-for-wp"),
941
+ __("being", "google-analytics-dashboard-for-wp"),
942
+ __("know", "google-analytics-dashboard-for-wp"),
943
+ __("old", "google-analytics-dashboard-for-wp"),
944
+ __("video", "google-analytics-dashboard-for-wp"),
945
+ __("best", "google-analytics-dashboard-for-wp"),
946
+ __("life", "google-analytics-dashboard-for-wp"),
947
+ __("one", "google-analytics-dashboard-for-wp"),
948
+ __("want", "google-analytics-dashboard-for-wp"),
949
+ __("better", "google-analytics-dashboard-for-wp"),
950
+ __("little", "google-analytics-dashboard-for-wp"),
951
+ __("out", "google-analytics-dashboard-for-wp"),
952
+ __("watch", "google-analytics-dashboard-for-wp"),
953
+ __("boy", "google-analytics-dashboard-for-wp"),
954
+ __("look", "google-analytics-dashboard-for-wp"),
955
+ __("people", "google-analytics-dashboard-for-wp"),
956
+ __("way", "google-analytics-dashboard-for-wp"),
957
+ __("dog", "google-analytics-dashboard-for-wp"),
958
+ __("love", "google-analytics-dashboard-for-wp"),
959
+ __("photos", "google-analytics-dashboard-for-wp"),
960
+ __("ways", "google-analytics-dashboard-for-wp"),
961
+ __("down", "google-analytics-dashboard-for-wp"),
962
+ __("made", "google-analytics-dashboard-for-wp"),
963
+ __("really", "google-analytics-dashboard-for-wp"),
964
+ __("world", "google-analytics-dashboard-for-wp"),
965
+ __("facebook", "google-analytics-dashboard-for-wp"),
966
+ __("make", "google-analytics-dashboard-for-wp"),
967
+ __("reasons", "google-analytics-dashboard-for-wp"),
968
+ __("year", "google-analytics-dashboard-for-wp"),
969
+ __("first", "google-analytics-dashboard-for-wp"),
970
+ __("makes", "google-analytics-dashboard-for-wp"),
971
+ __("right", "google-analytics-dashboard-for-wp"),
972
+ __("years", "google-analytics-dashboard-for-wp"),
973
+ __("found", "google-analytics-dashboard-for-wp"),
974
+ __("man", "google-analytics-dashboard-for-wp"),
975
+ __("see", "google-analytics-dashboard-for-wp"),
976
+ __("you'll", "google-analytics-dashboard-for-wp"),
977
+ __("girl", "google-analytics-dashboard-for-wp"),
978
+ __("media", "google-analytics-dashboard-for-wp"),
979
+ __("seen", "google-analytics-dashboard-for-wp"),
980
+ __("good", "google-analytics-dashboard-for-wp"),
981
+ __("mind", "google-analytics-dashboard-for-wp"),
982
+ __("social", "google-analytics-dashboard-for-wp"),
983
+ __("guy", "google-analytics-dashboard-for-wp"),
984
+ __("more", "google-analytics-dashboard-for-wp"),
985
+ __("something", "google-analytics-dashboard-for-wp"),
986
+ );
987
+
988
+ return $this->uncommon_words;
989
+ }
990
+ }
991
+
992
+ new ExactMetricsHeadlineToolPlugin();
includes/gutenberg/register-scripts.php CHANGED
@@ -14,6 +14,14 @@ function exactmetrics_gutenberg_editor_assets() {
14
  return;
15
  }
16
 
 
 
 
 
 
 
 
 
17
  $plugins_js_path = '/assets/gutenberg/js/editor.min.js';
18
  $plugins_style_path = '/assets/gutenberg/css/editor.css';
19
  $version_path = exactmetrics_is_pro_version() ? 'pro' : 'lite';
@@ -85,9 +93,13 @@ function exactmetrics_gutenberg_editor_assets() {
85
  'vue_assets_path' => plugins_url( $version_path . '/assets/vue/', EXACTMETRICS_PLUGIN_FILE ),
86
  'is_woocommerce_installed' => class_exists( 'WooCommerce' ),
87
  'license_type' => ExactMetrics()->license->get_license_type(),
88
- 'upgrade_url' => exactmetrics_get_upgrade_link( 'gutenberg', 'products' ),
89
  'install_woocommerce_url' => $install_woocommerce_url,
90
  'supports_custom_fields' => post_type_supports( $posttype, 'custom-fields' ),
 
 
 
 
91
  )
92
  );
93
  }
14
  return;
15
  }
16
 
17
+ if ( function_exists( 'get_current_screen' ) ) {
18
+ $current_screen = get_current_screen();
19
+
20
+ if ( is_object( $current_screen ) && 'widgets' === $current_screen->id ) {
21
+ return;
22
+ }
23
+ }
24
+
25
  $plugins_js_path = '/assets/gutenberg/js/editor.min.js';
26
  $plugins_style_path = '/assets/gutenberg/css/editor.css';
27
  $version_path = exactmetrics_is_pro_version() ? 'pro' : 'lite';
93
  'vue_assets_path' => plugins_url( $version_path . '/assets/vue/', EXACTMETRICS_PLUGIN_FILE ),
94
  'is_woocommerce_installed' => class_exists( 'WooCommerce' ),
95
  'license_type' => ExactMetrics()->license->get_license_type(),
96
+ 'upgrade_url' => exactmetrics_get_upgrade_link( 'pageinsights-meta', 'products' ),
97
  'install_woocommerce_url' => $install_woocommerce_url,
98
  'supports_custom_fields' => post_type_supports( $posttype, 'custom-fields' ),
99
+ 'public_post_type' => $posttype ? is_post_type_viewable( $posttype ) : 0,
100
+ 'page_insights_addon_active' => class_exists( 'ExactMetrics_Page_Insights' ),
101
+ 'page_insights_nonce' => wp_create_nonce( 'mi-admin-nonce' ),
102
+ 'isnetwork' => is_network_admin(),
103
  )
104
  );
105
  }
includes/helpers.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Helper functions.
4
  *
@@ -10,35 +11,37 @@
10
  */
11
 
12
  // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- function exactmetrics_is_page_reload() {
 
18
  // Can't be a refresh without having a referrer
19
- if ( ! isset( $_SERVER['HTTP_REFERER'] ) ) {
20
  return false;
21
  }
22
 
23
  // IF the referrer is identical to the current page request, then it's a refresh
24
- return ( parse_url( $_SERVER['HTTP_REFERER'], PHP_URL_PATH ) === parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ) );
25
  }
26
 
27
 
28
- function exactmetrics_track_user( $user_id = -1 ) {
29
- if ( $user_id === -1 ) {
 
30
  $user = wp_get_current_user();
31
  } else {
32
- $user = new WP_User( $user_id );
33
  }
34
 
35
  $track_user = true;
36
- $roles = exactmetrics_get_option( 'ignore_users', array() );
37
 
38
- if ( ! empty( $roles ) && is_array( $roles ) ) {
39
- foreach ( $roles as $role ) {
40
- if ( is_string( $role ) ) {
41
- if ( user_can( $user, $role ) ) {
42
  $track_user = false;
43
  break;
44
  }
@@ -46,18 +49,18 @@ function exactmetrics_track_user( $user_id = -1 ) {
46
  }
47
  }
48
 
49
- $track_super_admin = apply_filters( 'exactmetrics_track_super_admins', false );
50
- if ( $user_id === -1 && $track_super_admin === false && is_multisite() && is_super_admin() ) {
51
  $track_user = false;
52
  }
53
 
54
  // or if tracking code is not entered
55
  $tracking_ids = exactmetrics_get_tracking_ids();
56
- if ( empty( $tracking_ids ) ) {
57
  $track_user = false;
58
  }
59
 
60
- return apply_filters( 'exactmetrics_track_user', $track_user, $user );
61
  }
62
 
63
  /**
@@ -65,20 +68,22 @@ function exactmetrics_track_user( $user_id = -1 ) {
65
  *
66
  * @return bool
67
  */
68
- function exactmetrics_skip_tracking() {
69
- return (bool) apply_filters( 'exactmetrics_skip_tracking', false );
 
70
  }
71
 
72
- function exactmetrics_get_client_id( $payment_id = false ) {
73
- if ( is_object( $payment_id ) ) {
 
74
  $payment_id = $payment_id->ID;
75
  }
76
  $user_cid = exactmetrics_get_uuid();
77
- $saved_cid = ! empty( $payment_id ) ? get_post_meta( $payment_id, '_yoast_gau_uuid', true ) : false;
78
 
79
- if ( ! empty( $payment_id ) && ! empty( $saved_cid ) ) {
80
  return $saved_cid;
81
- } else if ( ! empty( $user_cid ) ) {
82
  return $user_cid;
83
  } else {
84
  return exactmetrics_generate_uuid();
@@ -94,8 +99,9 @@ function exactmetrics_get_client_id( $payment_id = false ) {
94
  *
95
  * @return bool|string False if cookie isn't set, GA UUID otherwise
96
  */
97
- function exactmetrics_get_uuid() {
98
- if ( empty( $_COOKIE['_ga'] ) ) {
 
99
  return false;
100
  }
101
 
@@ -111,16 +117,16 @@ function exactmetrics_get_uuid() {
111
  */
112
 
113
  $ga_cookie = $_COOKIE['_ga'];
114
- $cookie_parts = explode( '.', $ga_cookie );
115
- if ( is_array( $cookie_parts ) && ! empty( $cookie_parts[2] ) ) {
116
- $cookie_parts = array_slice( $cookie_parts, 2 );
117
- $uuid = implode( '.', $cookie_parts );
118
- if ( is_string( $uuid ) ) {
119
  return $uuid;
120
  } else {
121
  return false;
122
  }
123
- } elseif ( 0 === strpos( $ga_cookie, 'amp-' ) ) {
124
  return $ga_cookie;
125
  } else {
126
  return false;
@@ -136,27 +142,32 @@ function exactmetrics_get_uuid() {
136
  * @since 6.1.8
137
  * @return string
138
  */
139
- function exactmetrics_generate_uuid() {
 
140
 
141
- return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
 
142
 
143
  // 32 bits for "time_low"
144
- mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),
 
145
 
146
  // 16 bits for "time_mid"
147
- mt_rand( 0, 0xffff ),
148
 
149
  // 16 bits for "time_hi_and_version",
150
  // four most significant bits holds version number 4
151
- mt_rand( 0, 0x0fff ) | 0x4000,
152
 
153
  // 16 bits, 8 bits for "clk_seq_hi_res",
154
  // 8 bits for "clk_seq_low",
155
  // two most significant bits holds zero and one for variant DCE1.1
156
- mt_rand( 0, 0x3fff ) | 0x8000,
157
 
158
  // 48 bits for "node"
159
- mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff )
 
 
160
  );
161
  }
162
 
@@ -167,31 +178,33 @@ function exactmetrics_generate_uuid() {
167
  *
168
  * @return GA UUID or error code.
169
  */
170
- function exactmetrics_get_cookie( $debug = false ) {
171
- if ( empty( $_COOKIE['_ga'] ) ) {
172
- return ( $debug ) ? 'FCE' : false;
 
173
  }
174
 
175
  $ga_cookie = $_COOKIE['_ga'];
176
- $cookie_parts = explode( '.', $ga_cookie );
177
- if ( is_array( $cookie_parts ) && ! empty( $cookie_parts[2] ) ) {
178
- $cookie_parts = array_slice( $cookie_parts, 2 );
179
- $uuid = implode( '.', $cookie_parts );
180
- if ( is_string( $uuid ) ) {
181
  return $ga_cookie;
182
  } else {
183
- return ( $debug ) ? 'FA' : false;
184
  }
185
- } elseif ( 0 === strpos( $ga_cookie, 'amp-' ) ) {
186
  return $ga_cookie;
187
  } else {
188
- return ( $debug ) ? 'FAE' : false;
189
  }
190
  }
191
 
192
 
193
- function exactmetrics_generate_ga_client_id() {
194
- return rand(100000000,999999999) . '.' . time();
 
195
  }
196
 
197
 
@@ -206,13 +219,14 @@ function exactmetrics_generate_ga_client_id() {
206
  *
207
  * @return int Hours between the two timestamps, rounded.
208
  */
209
- function exactmetrics_hours_between( $start, $stop = false ) {
210
- if ( $stop === false ) {
 
211
  $stop = time();
212
  }
213
 
214
- $diff = (int) abs( $stop - $start );
215
- $hours = round( $diff / HOUR_IN_SECONDS );
216
  return $hours;
217
  }
218
 
@@ -241,8 +255,9 @@ function exactmetrics_hours_between( $start, $stop = false ) {
241
  *
242
  * @return bool True if pro version.
243
  */
244
- function exactmetrics_is_pro_version() {
245
- if ( class_exists( 'ExactMetrics' ) ) {
 
246
  return true;
247
  } else {
248
  return false;
@@ -255,7 +270,8 @@ function exactmetrics_is_pro_version() {
255
  *
256
  * @return array
257
  */
258
- function exactmetrics_get_roles() {
 
259
  global $wp_roles;
260
 
261
  $all_roles = $wp_roles->roles;
@@ -266,10 +282,10 @@ function exactmetrics_get_roles() {
266
  *
267
  * @api array $all_roles
268
  */
269
- $editable_roles = apply_filters( 'editable_roles', $all_roles );
270
 
271
- foreach ( $editable_roles as $id => $name ) {
272
- $roles[ $id ] = translate_user_role( $name['name'] );
273
  }
274
 
275
  return $roles;
@@ -280,7 +296,8 @@ function exactmetrics_get_roles() {
280
  *
281
  * @return array
282
  */
283
- function exactmetrics_get_manage_options_roles() {
 
284
  global $wp_roles;
285
 
286
  $all_roles = $wp_roles->roles;
@@ -291,11 +308,11 @@ function exactmetrics_get_manage_options_roles() {
291
  *
292
  * @api array $all_roles
293
  */
294
- $editable_roles = apply_filters( 'editable_roles', $all_roles );
295
 
296
- foreach ( $editable_roles as $id => $role ) {
297
- if ( isset( $role['capabilities']['manage_options'] ) && $role['capabilities']['manage_options'] ) {
298
- $roles[ $id ] = translate_user_role( $role['name'] );
299
  }
300
  }
301
 
@@ -303,49 +320,50 @@ function exactmetrics_get_manage_options_roles() {
303
  }
304
 
305
  /** Need to escape in advance of passing in $text. */
306
- function exactmetrics_get_message( $type = 'error', $text = '' ) {
 
307
  $div = '';
308
- if ( $type === 'error' || $type === 'alert' || $type === 'success' || $type === 'info' ) {
309
  $base = ExactMetrics();
310
- return $base->notices->display_inline_notice( 'exactmetrics_standard_notice', '', $text, $type, false, array( 'skip_message_escape' => true ) );
311
  } else {
312
  return '';
313
  }
314
  }
315
 
316
- function exactmetrics_is_dev_url( $url = '' ) {
 
317
  $is_local_url = false;
318
  // Trim it up
319
- $url = strtolower( trim( $url ) );
320
  // Need to get the host...so let's add the scheme so we can use parse_url
321
- if ( false === strpos( $url, 'http://' ) && false === strpos( $url, 'https://' ) ) {
322
  $url = 'http://' . $url;
323
  }
324
- $url_parts = parse_url( $url );
325
- $host = ! empty( $url_parts['host'] ) ? $url_parts['host'] : false;
326
- if ( ! empty( $url ) && ! empty( $host ) ) {
327
- if ( false !== ip2long( $host ) ) {
328
- if ( ! filter_var( $host, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) ) {
329
  $is_local_url = true;
330
  }
331
- } else if ( 'localhost' === $host ) {
332
  $is_local_url = true;
333
  }
334
 
335
- $tlds_to_check = array( '.local', ':8888', ':8080', ':8081', '.invalid', '.example', '.test' );
336
- foreach ( $tlds_to_check as $tld ) {
337
- if ( false !== strpos( $host, $tld ) ) {
338
  $is_local_url = true;
339
  break;
340
  }
341
-
342
  }
343
- if ( substr_count( $host, '.' ) > 1 ) {
344
- $subdomains_to_check = array( 'dev.', '*.staging.', 'beta.', 'test.' );
345
- foreach ( $subdomains_to_check as $subdomain ) {
346
- $subdomain = str_replace( '.', '(.)', $subdomain );
347
- $subdomain = str_replace( array( '*', '(.)' ), '(.*)', $subdomain );
348
- if ( preg_match( '/^(' . $subdomain . ')/', $host ) ) {
349
  $is_local_url = true;
350
  break;
351
  }
@@ -356,284 +374,288 @@ function exactmetrics_is_dev_url( $url = '' ) {
356
  }
357
 
358
  // Set cookie to expire in 2 years
359
- function exactmetrics_get_cookie_expiration_date( $time ) {
360
- return date('D, j F Y H:i:s', time() + $time );
 
361
  }
362
 
363
- function exactmetrics_string_ends_with( $string, $ending ) {
 
364
  $strlen = strlen($string);
365
  $endinglen = strlen($ending);
366
- if ( $endinglen > $strlen ) {
367
  return false;
368
  }
369
- return substr_compare( $string, $ending, $strlen - $endinglen, $endinglen) === 0;
370
  }
371
 
372
- function exactmetrics_string_starts_with( $string, $start ) {
373
- if ( ! is_string( $string ) || ! is_string( $start ) ) {
 
374
  return false;
375
  }
376
 
377
- return substr( $string, 0, strlen( $start ) ) === $start;
378
  }
379
 
380
- function exactmetrics_get_country_list( $translated = false ) {
381
- if ( $translated ) {
 
382
  $countries = array(
383
  '' => '',
384
- 'US' => __( 'United States', 'google-analytics-dashboard-for-wp' ),
385
- 'CA' => __( 'Canada', 'google-analytics-dashboard-for-wp' ),
386
- 'GB' => __( 'United Kingdom', 'google-analytics-dashboard-for-wp' ),
387
- 'AF' => __( 'Afghanistan', 'google-analytics-dashboard-for-wp' ),
388
- 'AX' => __( '&#197;land Islands', 'google-analytics-dashboard-for-wp' ),
389
- 'AL' => __( 'Albania', 'google-analytics-dashboard-for-wp' ),
390
- 'DZ' => __( 'Algeria', 'google-analytics-dashboard-for-wp' ),
391
- 'AS' => __( 'American Samoa', 'google-analytics-dashboard-for-wp' ),
392
- 'AD' => __( 'Andorra', 'google-analytics-dashboard-for-wp' ),
393
- 'AO' => __( 'Angola', 'google-analytics-dashboard-for-wp' ),
394
- 'AI' => __( 'Anguilla', 'google-analytics-dashboard-for-wp' ),
395
- 'AQ' => __( 'Antarctica', 'google-analytics-dashboard-for-wp' ),
396
- 'AG' => __( 'Antigua and Barbuda', 'google-analytics-dashboard-for-wp' ),
397
- 'AR' => __( 'Argentina', 'google-analytics-dashboard-for-wp' ),
398
- 'AM' => __( 'Armenia', 'google-analytics-dashboard-for-wp' ),
399
- 'AW' => __( 'Aruba', 'google-analytics-dashboard-for-wp' ),
400
- 'AU' => __( 'Australia', 'google-analytics-dashboard-for-wp' ),
401
- 'AT' => __( 'Austria', 'google-analytics-dashboard-for-wp' ),
402
- 'AZ' => __( 'Azerbaijan', 'google-analytics-dashboard-for-wp' ),
403
- 'BS' => __( 'Bahamas', 'google-analytics-dashboard-for-wp' ),
404
- 'BH' => __( 'Bahrain', 'google-analytics-dashboard-for-wp' ),
405
- 'BD' => __( 'Bangladesh', 'google-analytics-dashboard-for-wp' ),
406
- 'BB' => __( 'Barbados', 'google-analytics-dashboard-for-wp' ),
407
- 'BY' => __( 'Belarus', 'google-analytics-dashboard-for-wp' ),
408
- 'BE' => __( 'Belgium', 'google-analytics-dashboard-for-wp' ),
409
- 'BZ' => __( 'Belize', 'google-analytics-dashboard-for-wp' ),
410
- 'BJ' => __( 'Benin', 'google-analytics-dashboard-for-wp' ),
411
- 'BM' => __( 'Bermuda', 'google-analytics-dashboard-for-wp' ),
412
- 'BT' => __( 'Bhutan', 'google-analytics-dashboard-for-wp' ),
413
- 'BO' => __( 'Bolivia', 'google-analytics-dashboard-for-wp' ),
414
- 'BQ' => __( 'Bonaire, Saint Eustatius and Saba', 'google-analytics-dashboard-for-wp' ),
415
- 'BA' => __( 'Bosnia and Herzegovina', 'google-analytics-dashboard-for-wp' ),
416
- 'BW' => __( 'Botswana', 'google-analytics-dashboard-for-wp' ),
417
- 'BV' => __( 'Bouvet Island', 'google-analytics-dashboard-for-wp' ),
418
- 'BR' => __( 'Brazil', 'google-analytics-dashboard-for-wp' ),
419
- 'IO' => __( 'British Indian Ocean Territory', 'google-analytics-dashboard-for-wp' ),
420
- 'BN' => __( 'Brunei Darrussalam', 'google-analytics-dashboard-for-wp' ),
421
- 'BG' => __( 'Bulgaria', 'google-analytics-dashboard-for-wp' ),
422
- 'BF' => __( 'Burkina Faso', 'google-analytics-dashboard-for-wp' ),
423
- 'BI' => __( 'Burundi', 'google-analytics-dashboard-for-wp' ),
424
- 'KH' => __( 'Cambodia', 'google-analytics-dashboard-for-wp' ),
425
- 'CM' => __( 'Cameroon', 'google-analytics-dashboard-for-wp' ),
426
- 'CV' => __( 'Cape Verde', 'google-analytics-dashboard-for-wp' ),
427
- 'KY' => __( 'Cayman Islands', 'google-analytics-dashboard-for-wp' ),
428
- 'CF' => __( 'Central African Republic', 'google-analytics-dashboard-for-wp' ),
429
- 'TD' => __( 'Chad', 'google-analytics-dashboard-for-wp' ),
430
- 'CL' => __( 'Chile', 'google-analytics-dashboard-for-wp' ),
431
- 'CN' => __( 'China', 'google-analytics-dashboard-for-wp' ),
432
- 'CX' => __( 'Christmas Island', 'google-analytics-dashboard-for-wp' ),
433
- 'CC' => __( 'Cocos Islands', 'google-analytics-dashboard-for-wp' ),
434
- 'CO' => __( 'Colombia', 'google-analytics-dashboard-for-wp' ),
435
- 'KM' => __( 'Comoros', 'google-analytics-dashboard-for-wp' ),
436
- 'CD' => __( 'Congo, Democratic People\'s Republic', 'google-analytics-dashboard-for-wp' ),
437
- 'CG' => __( 'Congo, Republic of', 'google-analytics-dashboard-for-wp' ),
438
- 'CK' => __( 'Cook Islands', 'google-analytics-dashboard-for-wp' ),
439
- 'CR' => __( 'Costa Rica', 'google-analytics-dashboard-for-wp' ),
440
- 'CI' => __( 'Cote d\'Ivoire', 'google-analytics-dashboard-for-wp' ),
441
- 'HR' => __( 'Croatia/Hrvatska', 'google-analytics-dashboard-for-wp' ),
442
- 'CU' => __( 'Cuba', 'google-analytics-dashboard-for-wp' ),
443
- 'CW' => __( 'Cura&Ccedil;ao', 'google-analytics-dashboard-for-wp' ),
444
- 'CY' => __( 'Cyprus', 'google-analytics-dashboard-for-wp' ),
445
- 'CZ' => __( 'Czechia', 'google-analytics-dashboard-for-wp' ),
446
- 'DK' => __( 'Denmark', 'google-analytics-dashboard-for-wp' ),
447
- 'DJ' => __( 'Djibouti', 'google-analytics-dashboard-for-wp' ),
448
- 'DM' => __( 'Dominica', 'google-analytics-dashboard-for-wp' ),
449
- 'DO' => __( 'Dominican Republic', 'google-analytics-dashboard-for-wp' ),
450
- 'TP' => __( 'East Timor', 'google-analytics-dashboard-for-wp' ),
451
- 'EC' => __( 'Ecuador', 'google-analytics-dashboard-for-wp' ),
452
- 'EG' => __( 'Egypt', 'google-analytics-dashboard-for-wp' ),
453
- 'GQ' => __( 'Equatorial Guinea', 'google-analytics-dashboard-for-wp' ),
454
- 'SV' => __( 'El Salvador', 'google-analytics-dashboard-for-wp' ),
455
- 'ER' => __( 'Eritrea', 'google-analytics-dashboard-for-wp' ),
456
- 'EE' => __( 'Estonia', 'google-analytics-dashboard-for-wp' ),
457
- 'ET' => __( 'Ethiopia', 'google-analytics-dashboard-for-wp' ),
458
- 'FK' => __( 'Falkland Islands', 'google-analytics-dashboard-for-wp' ),
459
- 'FO' => __( 'Faroe Islands', 'google-analytics-dashboard-for-wp' ),
460
- 'FJ' => __( 'Fiji', 'google-analytics-dashboard-for-wp' ),
461
- 'FI' => __( 'Finland', 'google-analytics-dashboard-for-wp' ),
462
- 'FR' => __( 'France', 'google-analytics-dashboard-for-wp' ),
463
- 'GF' => __( 'French Guiana', 'google-analytics-dashboard-for-wp' ),
464
- 'PF' => __( 'French Polynesia', 'google-analytics-dashboard-for-wp' ),
465
- 'TF' => __( 'French Southern Territories', 'google-analytics-dashboard-for-wp' ),
466
- 'GA' => __( 'Gabon', 'google-analytics-dashboard-for-wp' ),
467
- 'GM' => __( 'Gambia', 'google-analytics-dashboard-for-wp' ),
468
- 'GE' => __( 'Georgia', 'google-analytics-dashboard-for-wp' ),
469
- 'DE' => __( 'Germany', 'google-analytics-dashboard-for-wp' ),
470
- 'GR' => __( 'Greece', 'google-analytics-dashboard-for-wp' ),
471
- 'GH' => __( 'Ghana', 'google-analytics-dashboard-for-wp' ),
472
- 'GI' => __( 'Gibraltar', 'google-analytics-dashboard-for-wp' ),
473
- 'GL' => __( 'Greenland', 'google-analytics-dashboard-for-wp' ),
474
- 'GD' => __( 'Grenada', 'google-analytics-dashboard-for-wp' ),
475
- 'GP' => __( 'Guadeloupe', 'google-analytics-dashboard-for-wp' ),
476
- 'GU' => __( 'Guam', 'google-analytics-dashboard-for-wp' ),
477
- 'GT' => __( 'Guatemala', 'google-analytics-dashboard-for-wp' ),
478
- 'GG' => __( 'Guernsey', 'google-analytics-dashboard-for-wp' ),
479
- 'GN' => __( 'Guinea', 'google-analytics-dashboard-for-wp' ),
480
- 'GW' => __( 'Guinea-Bissau', 'google-analytics-dashboard-for-wp' ),
481
- 'GY' => __( 'Guyana', 'google-analytics-dashboard-for-wp' ),
482
- 'HT' => __( 'Haiti', 'google-analytics-dashboard-for-wp' ),
483
- 'HM' => __( 'Heard and McDonald Islands', 'google-analytics-dashboard-for-wp' ),
484
- 'VA' => __( 'Holy See (City Vatican State)', 'google-analytics-dashboard-for-wp' ),
485
- 'HN' => __( 'Honduras', 'google-analytics-dashboard-for-wp' ),
486
- 'HK' => __( 'Hong Kong', 'google-analytics-dashboard-for-wp' ),
487
- 'HU' => __( 'Hungary', 'google-analytics-dashboard-for-wp' ),
488
- 'IS' => __( 'Iceland', 'google-analytics-dashboard-for-wp' ),
489
- 'IN' => __( 'India', 'google-analytics-dashboard-for-wp' ),
490
- 'ID' => __( 'Indonesia', 'google-analytics-dashboard-for-wp' ),
491
- 'IR' => __( 'Iran', 'google-analytics-dashboard-for-wp' ),
492
- 'IQ' => __( 'Iraq', 'google-analytics-dashboard-for-wp' ),
493
- 'IE' => __( 'Ireland', 'google-analytics-dashboard-for-wp' ),
494
- 'IM' => __( 'Isle of Man', 'google-analytics-dashboard-for-wp' ),
495
- 'IL' => __( 'Israel', 'google-analytics-dashboard-for-wp' ),
496
- 'IT' => __( 'Italy', 'google-analytics-dashboard-for-wp' ),
497
- 'JM' => __( 'Jamaica', 'google-analytics-dashboard-for-wp' ),
498
- 'JP' => __( 'Japan', 'google-analytics-dashboard-for-wp' ),
499
- 'JE' => __( 'Jersey', 'google-analytics-dashboard-for-wp' ),
500
- 'JO' => __( 'Jordan', 'google-analytics-dashboard-for-wp' ),
501
- 'KZ' => __( 'Kazakhstan', 'google-analytics-dashboard-for-wp' ),
502
- 'KE' => __( 'Kenya', 'google-analytics-dashboard-for-wp' ),
503
- 'KI' => __( 'Kiribati', 'google-analytics-dashboard-for-wp' ),
504
- 'KW' => __( 'Kuwait', 'google-analytics-dashboard-for-wp' ),
505
- 'KG' => __( 'Kyrgyzstan', 'google-analytics-dashboard-for-wp' ),
506
- 'LA' => __( 'Lao People\'s Democratic Republic', 'google-analytics-dashboard-for-wp' ),
507
- 'LV' => __( 'Latvia', 'google-analytics-dashboard-for-wp' ),
508
- 'LB' => __( 'Lebanon', 'google-analytics-dashboard-for-wp' ),
509
- 'LS' => __( 'Lesotho', 'google-analytics-dashboard-for-wp' ),
510
- 'LR' => __( 'Liberia', 'google-analytics-dashboard-for-wp' ),
511
- 'LY' => __( 'Libyan Arab Jamahiriya', 'google-analytics-dashboard-for-wp' ),
512
- 'LI' => __( 'Liechtenstein', 'google-analytics-dashboard-for-wp' ),
513
- 'LT' => __( 'Lithuania', 'google-analytics-dashboard-for-wp' ),
514
- 'LU' => __( 'Luxembourg', 'google-analytics-dashboard-for-wp' ),
515
- 'MO' => __( 'Macau', 'google-analytics-dashboard-for-wp' ),
516
- 'MK' => __( 'Macedonia (FYROM)', 'google-analytics-dashboard-for-wp' ),
517
- 'MG' => __( 'Madagascar', 'google-analytics-dashboard-for-wp' ),
518
- 'MW' => __( 'Malawi', 'google-analytics-dashboard-for-wp' ),
519
- 'MY' => __( 'Malaysia', 'google-analytics-dashboard-for-wp' ),
520
- 'MV' => __( 'Maldives', 'google-analytics-dashboard-for-wp' ),
521
- 'ML' => __( 'Mali', 'google-analytics-dashboard-for-wp' ),
522
- 'MT' => __( 'Malta', 'google-analytics-dashboard-for-wp' ),
523
- 'MH' => __( 'Marshall Islands', 'google-analytics-dashboard-for-wp' ),
524
- 'MQ' => __( 'Martinique', 'google-analytics-dashboard-for-wp' ),
525
- 'MR' => __( 'Mauritania', 'google-analytics-dashboard-for-wp' ),
526
- 'MU' => __( 'Mauritius', 'google-analytics-dashboard-for-wp' ),
527
- 'YT' => __( 'Mayotte', 'google-analytics-dashboard-for-wp' ),
528
- 'MX' => __( 'Mexico', 'google-analytics-dashboard-for-wp' ),
529
- 'FM' => __( 'Micronesia', 'google-analytics-dashboard-for-wp' ),
530
- 'MD' => __( 'Moldova, Republic of', 'google-analytics-dashboard-for-wp' ),
531
- 'MC' => __( 'Monaco', 'google-analytics-dashboard-for-wp' ),
532
- 'MN' => __( 'Mongolia', 'google-analytics-dashboard-for-wp' ),
533
- 'ME' => __( 'Montenegro', 'google-analytics-dashboard-for-wp' ),
534
- 'MS' => __( 'Montserrat', 'google-analytics-dashboard-for-wp' ),
535
- 'MA' => __( 'Morocco', 'google-analytics-dashboard-for-wp' ),
536
- 'MZ' => __( 'Mozambique', 'google-analytics-dashboard-for-wp' ),
537
- 'MM' => __( 'Myanmar', 'google-analytics-dashboard-for-wp' ),
538
- 'NA' => __( 'Namibia', 'google-analytics-dashboard-for-wp' ),
539
- 'NR' => __( 'Nauru', 'google-analytics-dashboard-for-wp' ),
540
- 'NP' => __( 'Nepal', 'google-analytics-dashboard-for-wp' ),
541
- 'NL' => __( 'Netherlands', 'google-analytics-dashboard-for-wp' ),
542
- 'AN' => __( 'Netherlands Antilles', 'google-analytics-dashboard-for-wp' ),
543
- 'NC' => __( 'New Caledonia', 'google-analytics-dashboard-for-wp' ),
544
- 'NZ' => __( 'New Zealand', 'google-analytics-dashboard-for-wp' ),
545
- 'NI' => __( 'Nicaragua', 'google-analytics-dashboard-for-wp' ),
546
- 'NE' => __( 'Niger', 'google-analytics-dashboard-for-wp' ),
547
- 'NG' => __( 'Nigeria', 'google-analytics-dashboard-for-wp' ),
548
- 'NU' => __( 'Niue', 'google-analytics-dashboard-for-wp' ),
549
- 'NF' => __( 'Norfolk Island', 'google-analytics-dashboard-for-wp' ),
550
- 'KP' => __( 'North Korea', 'google-analytics-dashboard-for-wp' ),
551
- 'MP' => __( 'Northern Mariana Islands', 'google-analytics-dashboard-for-wp' ),
552
- 'NO' => __( 'Norway', 'google-analytics-dashboard-for-wp' ),
553
- 'OM' => __( 'Oman', 'google-analytics-dashboard-for-wp' ),
554
- 'PK' => __( 'Pakistan', 'google-analytics-dashboard-for-wp' ),
555
- 'PW' => __( 'Palau', 'google-analytics-dashboard-for-wp' ),
556
- 'PS' => __( 'Palestinian Territories', 'google-analytics-dashboard-for-wp' ),
557
- 'PA' => __( 'Panama', 'google-analytics-dashboard-for-wp' ),
558
- 'PG' => __( 'Papua New Guinea', 'google-analytics-dashboard-for-wp' ),
559
- 'PY' => __( 'Paraguay', 'google-analytics-dashboard-for-wp' ),
560
- 'PE' => __( 'Peru', 'google-analytics-dashboard-for-wp' ),
561
- 'PH' => __( 'Philippines', 'google-analytics-dashboard-for-wp' ),
562
- 'PN' => __( 'Pitcairn Island', 'google-analytics-dashboard-for-wp' ),
563
- 'PL' => __( 'Poland', 'google-analytics-dashboard-for-wp' ),
564
- 'PT' => __( 'Portugal', 'google-analytics-dashboard-for-wp' ),
565
- 'PR' => __( 'Puerto Rico', 'google-analytics-dashboard-for-wp' ),
566
- 'QA' => __( 'Qatar', 'google-analytics-dashboard-for-wp' ),
567
- 'XK' => __( 'Republic of Kosovo', 'google-analytics-dashboard-for-wp' ),
568
- 'RE' => __( 'Reunion Island', 'google-analytics-dashboard-for-wp' ),
569
- 'RO' => __( 'Romania', 'google-analytics-dashboard-for-wp' ),
570
- 'RU' => __( 'Russian Federation', 'google-analytics-dashboard-for-wp' ),
571
- 'RW' => __( 'Rwanda', 'google-analytics-dashboard-for-wp' ),
572
- 'BL' => __( 'Saint Barth&eacute;lemy', 'google-analytics-dashboard-for-wp' ),
573
- 'SH' => __( 'Saint Helena', 'google-analytics-dashboard-for-wp' ),
574
- 'KN' => __( 'Saint Kitts and Nevis', 'google-analytics-dashboard-for-wp' ),
575
- 'LC' => __( 'Saint Lucia', 'google-analytics-dashboard-for-wp' ),
576
- 'MF' => __( 'Saint Martin (French)', 'google-analytics-dashboard-for-wp' ),
577
- 'SX' => __( 'Saint Martin (Dutch)', 'google-analytics-dashboard-for-wp' ),
578
- 'PM' => __( 'Saint Pierre and Miquelon', 'google-analytics-dashboard-for-wp' ),
579
- 'VC' => __( 'Saint Vincent and the Grenadines', 'google-analytics-dashboard-for-wp' ),
580
- 'SM' => __( 'San Marino', 'google-analytics-dashboard-for-wp' ),
581
- 'ST' => __( 'S&atilde;o Tom&eacute; and Pr&iacute;ncipe', 'google-analytics-dashboard-for-wp' ),
582
- 'SA' => __( 'Saudi Arabia', 'google-analytics-dashboard-for-wp' ),
583
- 'SN' => __( 'Senegal', 'google-analytics-dashboard-for-wp' ),
584
- 'RS' => __( 'Serbia', 'google-analytics-dashboard-for-wp' ),
585
- 'SC' => __( 'Seychelles', 'google-analytics-dashboard-for-wp' ),
586
- 'SL' => __( 'Sierra Leone', 'google-analytics-dashboard-for-wp' ),
587
- 'SG' => __( 'Singapore', 'google-analytics-dashboard-for-wp' ),
588
- 'SK' => __( 'Slovak Republic', 'google-analytics-dashboard-for-wp' ),
589
- 'SI' => __( 'Slovenia', 'google-analytics-dashboard-for-wp' ),
590
- 'SB' => __( 'Solomon Islands', 'google-analytics-dashboard-for-wp' ),
591
- 'SO' => __( 'Somalia', 'google-analytics-dashboard-for-wp' ),
592
- 'ZA' => __( 'South Africa', 'google-analytics-dashboard-for-wp' ),
593
- 'GS' => __( 'South Georgia', 'google-analytics-dashboard-for-wp' ),
594
- 'KR' => __( 'South Korea', 'google-analytics-dashboard-for-wp' ),
595
- 'SS' => __( 'South Sudan', 'google-analytics-dashboard-for-wp' ),
596
- 'ES' => __( 'Spain', 'google-analytics-dashboard-for-wp' ),
597
- 'LK' => __( 'Sri Lanka', 'google-analytics-dashboard-for-wp' ),
598
- 'SD' => __( 'Sudan', 'google-analytics-dashboard-for-wp' ),
599
- 'SR' => __( 'Suriname', 'google-analytics-dashboard-for-wp' ),
600
- 'SJ' => __( 'Svalbard and Jan Mayen Islands', 'google-analytics-dashboard-for-wp' ),
601
- 'SZ' => __( 'Swaziland', 'google-analytics-dashboard-for-wp' ),
602
- 'SE' => __( 'Sweden', 'google-analytics-dashboard-for-wp' ),
603
- 'CH' => __( 'Switzerland', 'google-analytics-dashboard-for-wp' ),
604
- 'SY' => __( 'Syrian Arab Republic', 'google-analytics-dashboard-for-wp' ),
605
- 'TW' => __( 'Taiwan', 'google-analytics-dashboard-for-wp' ),
606
- 'TJ' => __( 'Tajikistan', 'google-analytics-dashboard-for-wp' ),
607
- 'TZ' => __( 'Tanzania', 'google-analytics-dashboard-for-wp' ),
608
- 'TH' => __( 'Thailand', 'google-analytics-dashboard-for-wp' ),
609
- 'TL' => __( 'Timor-Leste', 'google-analytics-dashboard-for-wp' ),
610
- 'TG' => __( 'Togo', 'google-analytics-dashboard-for-wp' ),
611
- 'TK' => __( 'Tokelau', 'google-analytics-dashboard-for-wp' ),
612
- 'TO' => __( 'Tonga', 'google-analytics-dashboard-for-wp' ),
613
- 'TT' => __( 'Trinidad and Tobago', 'google-analytics-dashboard-for-wp' ),
614
- 'TN' => __( 'Tunisia', 'google-analytics-dashboard-for-wp' ),
615
- 'TR' => __( 'Turkey', 'google-analytics-dashboard-for-wp' ),
616
- 'TM' => __( 'Turkmenistan', 'google-analytics-dashboard-for-wp' ),
617
- 'TC' => __( 'Turks and Caicos Islands', 'google-analytics-dashboard-for-wp' ),
618
- 'TV' => __( 'Tuvalu', 'google-analytics-dashboard-for-wp' ),
619
- 'UG' => __( 'Uganda', 'google-analytics-dashboard-for-wp' ),
620
- 'UA' => __( 'Ukraine', 'google-analytics-dashboard-for-wp' ),
621
- 'AE' => __( 'United Arab Emirates', 'google-analytics-dashboard-for-wp' ),
622
- 'UY' => __( 'Uruguay', 'google-analytics-dashboard-for-wp' ),
623
- 'UM' => __( 'US Minor Outlying Islands', 'google-analytics-dashboard-for-wp' ),
624
- 'UZ' => __( 'Uzbekistan', 'google-analytics-dashboard-for-wp' ),
625
- 'VU' => __( 'Vanuatu', 'google-analytics-dashboard-for-wp' ),
626
- 'VE' => __( 'Venezuela', 'google-analytics-dashboard-for-wp' ),
627
- 'VN' => __( 'Vietnam', 'google-analytics-dashboard-for-wp' ),
628
- 'VG' => __( 'Virgin Islands (British)', 'google-analytics-dashboard-for-wp' ),
629
- 'VI' => __( 'Virgin Islands (USA)', 'google-analytics-dashboard-for-wp' ),
630
- 'WF' => __( 'Wallis and Futuna Islands', 'google-analytics-dashboard-for-wp' ),
631
- 'EH' => __( 'Western Sahara', 'google-analytics-dashboard-for-wp' ),
632
- 'WS' => __( 'Western Samoa', 'google-analytics-dashboard-for-wp' ),
633
- 'YE' => __( 'Yemen', 'google-analytics-dashboard-for-wp' ),
634
- 'ZM' => __( 'Zambia', 'google-analytics-dashboard-for-wp' ),
635
- 'ZW' => __( 'Zimbabwe', 'google-analytics-dashboard-for-wp' ),
636
- 'ZZ' => __( 'Unknown Country', 'google-analytics-dashboard-for-wp' ),
637
  );
638
  } else {
639
  $countries = array(
@@ -896,55 +918,61 @@ function exactmetrics_get_country_list( $translated = false ) {
896
  return $countries;
897
  }
898
 
899
- function exactmetrics_get_api_url(){
900
- return apply_filters( 'exactmetrics_get_api_url', 'api.exactmetrics.com/v2/' );
 
901
  }
902
 
903
- function exactmetrics_get_licensing_url(){
904
- return apply_filters( 'exactmetrics_get_licensing_url', 'https://www.exactmetrics.com' );
 
905
  }
906
 
907
- function exactmetrics_is_wp_seo_active( ) {
 
908
  $wp_seo_active = false; // @todo: improve this check. This is from old Yoast code.
909
 
910
  // Makes sure is_plugin_active is available when called from front end
911
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
912
- if ( is_plugin_active( 'wordpress-seo/wp-seo.php' ) || is_plugin_active( 'wordpress-seo-premium/wp-seo-premium.php' ) ) {
913
  $wp_seo_active = true;
914
  }
915
  return $wp_seo_active;
916
  }
917
 
918
- function exactmetrics_get_asset_version() {
919
- if ( exactmetrics_is_debug_mode() || ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ) {
 
920
  return time();
921
  } else {
922
  return EXACTMETRICS_VERSION;
923
  }
924
  }
925
 
926
- function exactmetrics_is_debug_mode() {
 
927
  $debug_mode = false;
928
- if ( defined( 'EXACTMETRICS_DEBUG_MODE' ) && EXACTMETRICS_DEBUG_MODE ) {
929
  $debug_mode = true;
930
  }
931
 
932
- return apply_filters( 'exactmetrics_is_debug_mode', $debug_mode );
933
  }
934
 
935
- function exactmetrics_is_network_active() {
936
- if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
937
- require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
 
938
  }
939
 
940
- if ( is_multisite() && is_plugin_active_for_network( plugin_basename( EXACTMETRICS_PLUGIN_FILE ) ) ) {
941
  return true;
942
  } else {
943
  return false;
944
  }
945
  }
946
 
947
- if ( ! function_exists ( 'remove_class_filter' ) ) {
948
  /**
949
  * Remove Class Filter Without Access to Class Object
950
  *
@@ -962,10 +990,11 @@ if ( ! function_exists ( 'remove_class_filter' ) ) {
962
  *
963
  * @return bool Whether the function is removed.
964
  */
965
- function remove_class_filter( $tag, $class_name = '', $method_name = '', $priority = 10 ) {
 
966
  global $wp_filter;
967
  // Check that filter actually exists first
968
- if ( ! isset( $wp_filter[ $tag ] ) ) return FALSE;
969
  /**
970
  * If filter config is an object, means we're using WordPress 4.7+ and the config is no longer
971
  * a simple array, rather it is an object that implements the ArrayAccess interface.
@@ -974,33 +1003,33 @@ if ( ! function_exists ( 'remove_class_filter' ) ) {
974
  *
975
  * @see https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/
976
  */
977
- if ( is_object( $wp_filter[ $tag ] ) && isset( $wp_filter[ $tag ]->callbacks ) ) {
978
- $callbacks = &$wp_filter[ $tag ]->callbacks;
979
  } else {
980
- $callbacks = &$wp_filter[ $tag ];
981
  }
982
  // Exit if there aren't any callbacks for specified priority
983
- if ( ! isset( $callbacks[ $priority ] ) || empty( $callbacks[ $priority ] ) ) return FALSE;
984
  // Loop through each filter for the specified priority, looking for our class & method
985
- foreach( (array) $callbacks[ $priority ] as $filter_id => $filter ) {
986
  // Filter should always be an array - array( $this, 'method' ), if not goto next
987
- if ( ! isset( $filter[ 'function' ] ) || ! is_array( $filter[ 'function' ] ) ) continue;
988
  // If first value in array is not an object, it can't be a class
989
- if ( ! is_object( $filter[ 'function' ][ 0 ] ) ) continue;
990
  // Method doesn't match the one we're looking for, goto next
991
- if ( $filter[ 'function' ][ 1 ] !== $method_name ) continue;
992
  // Method matched, now let's check the Class
993
- if ( get_class( $filter[ 'function' ][ 0 ] ) === $class_name ) {
994
  // Now let's remove it from the array
995
- unset( $callbacks[ $priority ][ $filter_id ] );
996
  // and if it was the only filter in that priority, unset that priority
997
- if ( empty( $callbacks[ $priority ] ) ) unset( $callbacks[ $priority ] );
998
  // and if the only filter for that tag, set the tag to an empty array
999
- if ( empty( $callbacks ) ) $callbacks = array();
1000
  // If using WordPress older than 4.7
1001
- if ( ! is_object( $wp_filter[ $tag ] ) ) {
1002
  // Remove this filter from merged_filters, which specifies if filters have been sorted
1003
- unset( $GLOBALS[ 'merged_filters' ][ $tag ] );
1004
  }
1005
  return TRUE;
1006
  }
@@ -1009,7 +1038,7 @@ if ( ! function_exists ( 'remove_class_filter' ) ) {
1009
  }
1010
  } // End function exists
1011
 
1012
- if ( ! function_exists ( 'remove_class_action' ) ) {
1013
  /**
1014
  * Remove Class Action Without Access to Class Object
1015
  *
@@ -1027,8 +1056,9 @@ if ( ! function_exists ( 'remove_class_action' ) ) {
1027
  *
1028
  * @return bool Whether the function is removed.
1029
  */
1030
- function remove_class_action( $tag, $class_name = '', $method_name = '', $priority = 10 ) {
1031
- remove_class_filter( $tag, $class_name, $method_name, $priority );
 
1032
  }
1033
  } // End function exists
1034
 
@@ -1040,23 +1070,24 @@ if ( ! function_exists ( 'remove_class_action' ) ) {
1040
  *
1041
  * @return string
1042
  */
1043
- function exactmetrics_round_number( $number, $precision = 2 ) {
 
1044
 
1045
- if ( $number < 1000000 ) {
1046
  // Anything less than a million
1047
- $number = number_format_i18n( $number );
1048
- } else if ( $number < 1000000000 ) {
1049
  // Anything less than a billion
1050
- $number = number_format_i18n( $number / 1000000, $precision ) . 'M';
1051
  } else {
1052
  // At least a billion
1053
- $number = number_format_i18n( $number / 1000000000, $precision ) . 'B';
1054
  }
1055
 
1056
  return $number;
1057
  }
1058
 
1059
- if ( ! function_exists( 'wp_get_jed_locale_data' ) ) {
1060
  /**
1061
  * Returns Jed-formatted localization data. Added for backwards-compatibility.
1062
  *
@@ -1064,138 +1095,144 @@ if ( ! function_exists( 'wp_get_jed_locale_data' ) ) {
1064
  *
1065
  * @return array
1066
  */
1067
- function wp_get_jed_locale_data( $domain ) {
1068
- $translations = get_translations_for_domain( $domain );
 
1069
 
1070
  $locale = array(
1071
  '' => array(
1072
  'domain' => $domain,
1073
- 'lang' => is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale(),
1074
  ),
1075
  );
1076
 
1077
- if ( ! empty( $translations->headers['Plural-Forms'] ) ) {
1078
  $locale['']['plural_forms'] = $translations->headers['Plural-Forms'];
1079
  }
1080
 
1081
- foreach ( $translations->entries as $msgid => $entry ) {
1082
- $locale[ $msgid ] = $entry->translations;
1083
  }
1084
 
1085
  return $locale;
1086
  }
1087
  }
1088
 
1089
- function exactmetrics_get_inline_menu_icon() {
1090
- $scheme = get_user_option( 'admin_color', get_current_user_id() );
 
1091
  $use_dark_scheme = $scheme === 'light';
1092
- if ( $use_dark_scheme ) {
1093
- return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAlCAMAAAAZd2syAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAapQTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3hTzAgAAAI50Uk5TACVrdjwKgvj/pCBP4Px5AzXA84Fg31oUl/6+HA6D97wiAWTq2kewmB8+yO8HWWFGbV46BnoeTHN7U72OyZqTuvucEWno20DYFm/X3BWU7QlWHdBXiKLlLWK7uFvsC4DdE9lBNGyMwagwEBsZPycMzYT2fUj0zFw5NhhV3ku/qhKzpcNO4+TxDQ+FlqHueGDblssAAAHSSURBVHicY2AYPICRiZmFoCJWNnYODg5OLvyquHk4wICXjx+3IgFBoAohYRFRICUqhkORuIQkUFpKmoFBRlYOyJJXwKJIUUkZKKWiCuFxqYGsVtdAV6WpBRTW5tOBC+iCbdZDVaUvDAQGrChihmCFRri9AgXGJtpAG0AsUy4MYGZuYSkNVchlxcEBpKw5MIGNrZ29g6MTRJ0zWJkLhiJXN5Cshq27B5IyTy9vFCDp6gO1ztceSRka4PIDxqU/d0AgkAwKRlGmiOSLkFBg3HtxcISFMzBERKIoi0J2GTA0o0G0FdB5McjKYiWRlVkyMMSB6HgGhgQHFNPYEkXhQJuJgSEJpAxoeTIPTi+kAC1jSOXgSAP6wTMdXZkizAsZ2qAYzMwCEtmiOejKpBCOc8mFCOXlF6CHmwyyJwqLxBkYdIq9rBnQlaH4QlRU0su9pLSMAVMZKpApr6iEObrKBacyhM/C5YGuqEYWqrGqra2tQ8md9akOHBySDdIoWrl8gTolG+EKneKAKVfSShPDDq4mUDZOBaczxeYWIKdVF6tjINm4jEFRoBbIaItrx+Hojk5QASLYBUwOkulZeHzH1Q1OMZLumI5CBUbVkpI9vToEVJENAOVRStPJFiL7AAAAAElFTkSuQmCC';
 
1094
  } else {
1095
- return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAlCAMAAAAZd2syAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAapQTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3hTzAgAAAI50Uk5TACVrdjwKgvj/pCBP4Px5AzXA84Fg31oUl/6+HA6D97wiAWTq2kewmB8+yO8HWWFGbV46BnoeTHN7U72OyZqTuvucEWno20DYFm/X3BWU7QlWHdBXiKLlLWK7uFvsC4DdE9lBNGyMwagwEBsZPycMzYT2fUj0zFw5NhhV3ku/qhKzpcNO4+TxDQ+FlqHueGDblssAAAHSSURBVHicY2AYPICRiZmFoCJWNnYODg5OLvyquHk4wICXjx+3IgFBoAohYRFRICUqhkORuIQkUFpKmoFBRlYOyJJXwKJIUUkZKKWiCuFxqYGsVtdAV6WpBRTW5tOBC+iCbdZDVaUvDAQGrChihmCFRri9AgXGJtpAG0AsUy4MYGZuYSkNVchlxcEBpKw5MIGNrZ29g6MTRJ0zWJkLhiJXN5Cshq27B5IyTy9vFCDp6gO1ztceSRka4PIDxqU/d0AgkAwKRlGmiOSLkFBg3HtxcISFMzBERKIoi0J2GTA0o0G0FdB5McjKYiWRlVkyMMSB6HgGhgQHFNPYEkXhQJuJgSEJpAxoeTIPTi+kAC1jSOXgSAP6wTMdXZkizAsZ2qAYzMwCEtmiOejKpBCOc8mFCOXlF6CHmwyyJwqLxBkYdIq9rBnQlaH4QlRU0su9pLSMAVMZKpApr6iEObrKBacyhM/C5YGuqEYWqrGqra2tQ8md9akOHBySDdIoWrl8gTolG+EKneKAKVfSShPDDq4mUDZOBaczxeYWIKdVF6tjINm4jEFRoBbIaItrx+Hojk5QASLYBUwOkulZeHzH1Q1OMZLumI5CBUbVkpI9vToEVJENAOVRStPJFiL7AAAAAElFTkSuQmCC';
 
1096
  }
1097
  }
1098
 
1099
 
1100
- function exactmetrics_get_shareasale_id() {
 
1101
  // Check if there's a constant.
1102
  $shareasale_id = '';
1103
- if ( defined( 'EXACTMETRICS_SHAREASALE_ID' ) ) {
1104
  $shareasale_id = EXACTMETRICS_SHAREASALE_ID;
1105
  }
1106
 
1107
  // If there's no constant, check if there's an option.
1108
- if ( empty( $shareasale_id ) ) {
1109
- $shareasale_id = get_option( 'exactmetrics_shareasale_id', '' );
1110
  }
1111
 
1112
  // Whether we have an ID or not, filter the ID.
1113
- $shareasale_id = apply_filters( 'exactmetrics_shareasale_id', $shareasale_id );
1114
 
1115
  // Ensure it's a number
1116
- $shareasale_id = absint( $shareasale_id );
1117
 
1118
  return $shareasale_id;
1119
  }
1120
 
1121
  // Passed in with mandatory default redirect and shareasaleid from exactmetrics_get_upgrade_link
1122
- function exactmetrics_get_shareasale_url( $shareasale_id, $shareasale_redirect ) {
 
1123
  // Check if there's a constant.
1124
  $custom = false;
1125
- if ( defined( 'EXACTMETRICS_SHAREASALE_REDIRECT_URL' ) ) {
1126
  $shareasale_redirect = EXACTMETRICS_SHAREASALE_REDIRECT_URL;
1127
  $custom = true;
1128
  }
1129
 
1130
  // If there's no constant, check if there's an option.
1131
- if ( empty( $custom ) ) {
1132
- $shareasale_redirect = get_option( 'exactmetrics_shareasale_redirect_url', '' );
1133
  $custom = true;
1134
  }
1135
 
1136
  // Whether we have an ID or not, filter the ID.
1137
- $shareasale_redirect = apply_filters( 'exactmetrics_shareasale_redirect_url', $shareasale_redirect, $custom );
1138
- $shareasale_url = sprintf( 'https://www.shareasale.com/r.cfm?B=1494714&U=%s&M=94980&urllink=%s', $shareasale_id, $shareasale_redirect );
1139
- $shareasale_url = apply_filters( 'exactmetrics_shareasale_redirect_entire_url', $shareasale_url, $shareasale_id, $shareasale_redirect );
1140
  return $shareasale_url;
1141
  }
1142
 
1143
  /**
1144
  * Get a clean page title for archives.
1145
  */
1146
- function exactmetrics_get_page_title() {
 
1147
 
1148
- $title = __( 'Archives' );
1149
 
1150
- if ( is_category() ) {
1151
  /* translators: Category archive title. %s: Category name */
1152
- $title = sprintf( __( 'Category: %s' ), single_cat_title( '', false ) );
1153
- } elseif ( is_tag() ) {
1154
  /* translators: Tag archive title. %s: Tag name */
1155
- $title = sprintf( __( 'Tag: %s' ), single_tag_title( '', false ) );
1156
- } elseif ( is_author() ) {
1157
  /* translators: Author archive title. %s: Author name */
1158
- $title = sprintf( __( 'Author: %s' ), '<span class="vcard">' . get_the_author() . '</span>' );
1159
- } elseif ( is_year() ) {
1160
  /* translators: Yearly archive title. %s: Year */
1161
- $title = sprintf( __( 'Year: %s' ), get_the_date( _x( 'Y', 'yearly archives date format' ) ) );
1162
- } elseif ( is_month() ) {
1163
  /* translators: Monthly archive title. %s: Month name and year */
1164
- $title = sprintf( __( 'Month: %s' ), get_the_date( _x( 'F Y', 'monthly archives date format' ) ) );
1165
- } elseif ( is_day() ) {
1166
  /* translators: Daily archive title. %s: Date */
1167
- $title = sprintf( __( 'Day: %s' ), get_the_date( _x( 'F j, Y', 'daily archives date format' ) ) );
1168
- } elseif ( is_tax( 'post_format' ) ) {
1169
- if ( is_tax( 'post_format', 'post-format-aside' ) ) {
1170
- $title = _x( 'Asides', 'post format archive title' );
1171
- } elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) {
1172
- $title = _x( 'Galleries', 'post format archive title' );
1173
- } elseif ( is_tax( 'post_format', 'post-format-image' ) ) {
1174
- $title = _x( 'Images', 'post format archive title' );
1175
- } elseif ( is_tax( 'post_format', 'post-format-video' ) ) {
1176
- $title = _x( 'Videos', 'post format archive title' );
1177
- } elseif ( is_tax( 'post_format', 'post-format-quote' ) ) {
1178
- $title = _x( 'Quotes', 'post format archive title' );
1179
- } elseif ( is_tax( 'post_format', 'post-format-link' ) ) {
1180
- $title = _x( 'Links', 'post format archive title' );
1181
- } elseif ( is_tax( 'post_format', 'post-format-status' ) ) {
1182
- $title = _x( 'Statuses', 'post format archive title' );
1183
- } elseif ( is_tax( 'post_format', 'post-format-audio' ) ) {
1184
- $title = _x( 'Audio', 'post format archive title' );
1185
- } elseif ( is_tax( 'post_format', 'post-format-chat' ) ) {
1186
- $title = _x( 'Chats', 'post format archive title' );
1187
  }
1188
- } elseif ( is_post_type_archive() ) {
1189
  /* translators: Post type archive title. %s: Post type name */
1190
- $title = sprintf( __( 'Archives: %s' ), post_type_archive_title( '', false ) );
1191
- } elseif ( is_tax() ) {
1192
- $tax = get_taxonomy( get_queried_object()->taxonomy );
1193
  /* translators: Taxonomy term archive title. 1: Taxonomy singular name, 2: Current taxonomy term */
1194
- $title = sprintf( __( '%1$s: %2$s' ), $tax->labels->singular_name, single_term_title( '', false ) );
1195
  }
1196
 
1197
  return $title;
1198
-
1199
  }
1200
 
1201
  /**
@@ -1209,11 +1246,6 @@ function exactmetrics_get_page_title() {
1209
  function exactmetrics_count_third_party_ua_codes( $body, $type = 'ua' ) {
1210
  $count = 0;
1211
 
1212
- // If the ads addon is installed another UA is added to the page.
1213
- if ( class_exists( 'ExactMetrics_Ads' ) ) {
1214
- $count++;
1215
- }
1216
-
1217
  // Count all potential google site verification tags
1218
  if ( $type === 'ua' ) {
1219
  $pattern = '/content="UA-[0-9-]+"/';
@@ -1248,6 +1280,38 @@ function exactmetrics_count_third_party_ua_codes( $body, $type = 'ua' ) {
1248
  return $count;
1249
  }
1250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1251
  /**
1252
  * Detect tracking code error depending on the type of tracking code
1253
  *
@@ -1270,6 +1334,7 @@ function exactmetrics_detect_tracking_code_error( $body, $type = 'ua' ) {
1270
  if ( $current_code && false === strpos( $body, $current_code ) ) {
1271
  // We have the tracking code but using another UA, so it's cached.
1272
  $errors[] = $cache_error;
 
1273
  return $errors;
1274
  }
1275
 
@@ -1279,11 +1344,14 @@ function exactmetrics_detect_tracking_code_error( $body, $type = 'ua' ) {
1279
 
1280
  if ( $type === 'v4' && false === strpos( $body, '__gtagTracker' ) ) {
1281
  $errors[] = $cache_error;
 
1282
  return $errors;
1283
  }
1284
 
1285
  $limit = 3;
1286
 
 
 
1287
  // TODO: Need to re-evaluate this regularly when third party plugins start supporting v4
1288
  $limit += exactmetrics_count_third_party_ua_codes( $body, $type );
1289
 
@@ -1296,7 +1364,7 @@ function exactmetrics_detect_tracking_code_error( $body, $type = 'ua' ) {
1296
  $total_count -= count( $matches[0] );
1297
  }
1298
 
1299
- // Main property always has a ?id=(UA|G)-XXXXXXXX script
1300
  $connected_type = ExactMetrics()->auth->get_connected_type();
1301
  if ( $type === $connected_type && strpos( $body, 'googletagmanager.com/gtag/js?id=' . $current_code ) !== false ) {
1302
  // In that case, we can safely deduct one from the total count
@@ -1327,11 +1395,12 @@ function exactmetrics_detect_tracking_code_error( $body, $type = 'ua' ) {
1327
  *
1328
  * @return array
1329
  */
1330
- function exactmetrics_is_code_installed_frontend() {
 
1331
  // Grab the front page html.
1332
- $request = wp_remote_request( home_url(), array(
1333
  'sslverify' => false,
1334
- ) );
1335
  $errors = array();
1336
 
1337
  $accepted_http_codes = array(
@@ -1339,14 +1408,14 @@ function exactmetrics_is_code_installed_frontend() {
1339
  503
1340
  );
1341
 
1342
- $response_code = wp_remote_retrieve_response_code( $request );
1343
 
1344
- if ( in_array( $response_code, $accepted_http_codes, true ) ) {
1345
- $body = wp_remote_retrieve_body( $request );
1346
 
1347
  $errors = array_merge(
1348
- exactmetrics_detect_tracking_code_error( $body ),
1349
- exactmetrics_detect_tracking_code_error( $body, 'v4' )
1350
  );
1351
  }
1352
 
@@ -1356,11 +1425,12 @@ function exactmetrics_is_code_installed_frontend() {
1356
  /**
1357
  * Returns a HEX color to highlight menu items based on the admin color scheme.
1358
  */
1359
- function exactmetrics_menu_highlight_color() {
 
1360
 
1361
- $color_scheme = get_user_option( 'admin_color' );
1362
  $color = '#1da867';
1363
- if ( 'light' === $color_scheme || 'blue' === $color_scheme ) {
1364
  $color = '#5f3ea7';
1365
  }
1366
 
@@ -1372,39 +1442,40 @@ function exactmetrics_menu_highlight_color() {
1372
  *
1373
  * @param string $url The url to which users get redirected.
1374
  */
1375
- function exactmetrics_custom_track_pretty_links_redirect( $url ) {
1376
- if ( ! function_exists( 'exactmetrics_mp_track_event_call' ) && ! function_exists( 'exactmetrics_mp_collect_v4') ) {
 
1377
  return;
1378
  }
1379
  // Try to determine if click originated on the same site.
1380
- $referer = ! empty( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : '';
1381
- if ( ! empty( $referer ) ) {
1382
- $current_site_url = get_bloginfo( 'url' );
1383
- $current_site_parsed = wp_parse_url( $current_site_url );
1384
- $parsed_referer = wp_parse_url( $referer );
1385
- if ( ! empty( $parsed_referer['host'] ) && ! empty( $current_site_parsed['host'] ) && $current_site_parsed['host'] === $parsed_referer['host'] ) {
1386
  // Don't track clicks originating from same site as those are tracked with JS.
1387
  return;
1388
  }
1389
  }
1390
  // Check if this is an affiliate link and use the appropriate category.
1391
  $ec = 'outbound-link';
1392
- $inbound_paths = exactmetrics_get_option( 'affiliate_links', array() );
1393
- $path = empty( $_SERVER['REQUEST_URI'] ) ? '' : $_SERVER['REQUEST_URI'];
1394
- if ( ! empty( $inbound_paths ) && is_array( $inbound_paths ) && ! empty( $path ) ) {
1395
  $found = false;
1396
- foreach ( $inbound_paths as $inbound_path ) {
1397
- if ( empty( $inbound_path['path'] ) ) {
1398
  continue;
1399
  }
1400
- if ( 0 === strpos( $path, trim( $inbound_path['path'] ) ) ) {
1401
- $label = ! empty( $inbound_path['label'] ) ? trim( $inbound_path['label'] ) : 'aff';
1402
  $ec .= '-' . $label;
1403
  $found = true;
1404
  break;
1405
  }
1406
  }
1407
- if ( ! $found ) {
1408
  return;
1409
  }
1410
  } else {
@@ -1412,18 +1483,18 @@ function exactmetrics_custom_track_pretty_links_redirect( $url ) {
1412
  return;
1413
  }
1414
 
1415
- if ( exactmetrics_get_ua_to_output() ) {
1416
  $track_args = array(
1417
  't' => 'event',
1418
  'ec' => $ec,
1419
  'ea' => $url,
1420
  'el' => 'external-redirect',
1421
  );
1422
- exactmetrics_mp_track_event_call( $track_args );
1423
  }
1424
 
1425
- if ( exactmetrics_get_v4_id_to_output() ) {
1426
- $url_components = parse_url( $url );
1427
  $args = array(
1428
  'events' => array(
1429
  array(
@@ -1435,31 +1506,32 @@ function exactmetrics_custom_track_pretty_links_redirect( $url ) {
1435
  )
1436
  );
1437
 
1438
- if ( ! empty( $label ) ) {
1439
  $args['events'][0]['affiliate_label'] = $label;
1440
  $args['events'][0]['is_affiliate_link'] = true;
1441
  }
1442
 
1443
- exactmetrics_mp_collect_v4( $args );
1444
  }
1445
  }
1446
- add_action( 'prli_before_redirect', 'exactmetrics_custom_track_pretty_links_redirect' );
1447
 
1448
  /**
1449
  * Get post type in admin side
1450
  *
1451
  */
1452
- function exactmetrics_get_current_post_type() {
 
1453
  global $post, $typenow, $current_screen;
1454
 
1455
- if ( $post && $post->post_type ) {
1456
  return $post->post_type;
1457
- } elseif ( $typenow ) {
1458
  return $typenow;
1459
- } elseif ( $current_screen && $current_screen->post_type ) {
1460
  return $current_screen->post_type;
1461
- } elseif ( isset( $_REQUEST['post_type'] ) ) {
1462
- return sanitize_key( $_REQUEST['post_type'] );
1463
  }
1464
 
1465
  return null;
@@ -1473,16 +1545,17 @@ function exactmetrics_get_current_post_type() {
1473
  *
1474
  * @return string
1475
  */
1476
- function exactmetrics_decode_string( $string ) {
 
1477
 
1478
- if ( ! is_string( $string ) ) {
1479
  return $string;
1480
  }
1481
 
1482
- return wp_kses_decode_entities( html_entity_decode( $string, ENT_QUOTES ) );
1483
  }
1484
 
1485
- add_filter( 'exactmetrics_email_message', 'exactmetrics_decode_string' );
1486
 
1487
  /**
1488
  * Sanitize a string, that can be a multiline.
@@ -1495,16 +1568,17 @@ add_filter( 'exactmetrics_email_message', 'exactmetrics_decode_string' );
1495
  *
1496
  * @return string If empty var is passed, or not a string - return unmodified. Otherwise - sanitize.
1497
  */
1498
- function exactmetrics_sanitize_textarea_field( $string ) {
 
1499
 
1500
- if ( empty( $string ) || ! is_string( $string ) ) {
1501
  return $string;
1502
  }
1503
 
1504
- if ( function_exists( 'sanitize_textarea_field' ) ) {
1505
- $string = sanitize_textarea_field( $string );
1506
  } else {
1507
- $string = implode( "\n", array_map( 'sanitize_text_field', explode( "\n", $string ) ) );
1508
  }
1509
 
1510
  return $string;
@@ -1520,15 +1594,16 @@ function exactmetrics_sanitize_textarea_field( $string ) {
1520
  *
1521
  * @return trimed sentence
1522
  */
1523
- function exactmetrics_trim_text( $text, $count ){
 
1524
  $text = str_replace(" ", " ", $text);
1525
  $string = explode(" ", $text);
1526
  $trimed = "";
1527
 
1528
- for ( $wordCounter = 0; $wordCounter <= $count; $wordCounter++ ) {
1529
- $trimed .= isset( $string[$wordCounter] ) ? $string[$wordCounter] : '';
1530
 
1531
- if ( $wordCounter < $count ){
1532
  $trimed .= " ";
1533
  } else {
1534
  $trimed .= "...";
@@ -1544,131 +1619,134 @@ function exactmetrics_trim_text( $text, $count ){
1544
  * Add newly generated builder URL to PrettyLinks &
1545
  * Clear localStorage key(ExactMetricsURL) after saving PrettyLink
1546
  */
1547
- function exactmetrics_tools_copy_url_to_prettylinks() {
 
1548
  global $pagenow;
1549
 
1550
- $post_type = isset( $_GET['post_type'] ) ? $_GET['post_type'] : '';
1551
- $exactmetrics_reference = isset( $_GET['exactmetrics_reference'] ) ? $_GET['exactmetrics_reference'] : '';
1552
-
1553
- if ( 'post-new.php' === $pagenow && 'pretty-link' === $post_type && 'url_builder' === $exactmetrics_reference ) { ?>
1554
- <script>
1555
- let targetTitleField = document.querySelector("input[name='post_title']");
1556
- let targetUrlField = document.querySelector("textarea[name='prli_url']");
1557
- let ExactMetricsUrl = JSON.parse(localStorage.getItem('ExactMetricsURL'));
1558
- if ( 'undefined' !== typeof targetUrlField && 'undefined' !== typeof ExactMetricsUrl ) {
1559
- let url = ExactMetricsUrl.value;
1560
- let postTitle = '';
1561
- let pathArray = url.split('?');
1562
- if ( pathArray.length <= 1 ) {
1563
- pathArray = url.split('#');
1564
- }
1565
- let urlParams = new URLSearchParams(pathArray[1]);
1566
- if (urlParams.has('utm_campaign')) {
1567
- let campaign_name = urlParams.get('utm_campaign');
1568
- postTitle += campaign_name;
1569
- }
1570
- if (urlParams.has('utm_medium')) {
1571
- let campaign_medium = urlParams.get('utm_medium');
1572
- postTitle += ` ${campaign_medium}`;
1573
- }
1574
- if (urlParams.has('utm_source')) {
1575
- let campaign_source = urlParams.get('utm_source');
1576
- postTitle += ` on ${campaign_source}`;
1577
- }
1578
- if (urlParams.has('utm_term')) {
1579
- let campaign_term = urlParams.get('utm_term');
1580
- postTitle += ` for ${campaign_term}`;
1581
- }
1582
- if (urlParams.has('utm_content')) {
1583
- let campaign_content = urlParams.get('utm_content');
1584
- postTitle += ` - ${campaign_content}`;
1585
- }
1586
- if ( 'undefined' !== typeof targetTitleField && postTitle ) {
1587
- targetTitleField.value = postTitle;
1588
- }
1589
- if( url ) {
1590
- targetUrlField.value = url;
1591
- }
1592
- }
1593
- let form = document.getElementById('post');
1594
- form.addEventListener('submit', function(){
1595
- localStorage.removeItem('ExactMetricsURL');
1596
- });
1597
- </script>
1598
- <?php }
1599
  }
1600
- add_action( 'admin_footer', 'exactmetrics_tools_copy_url_to_prettylinks' );
1601
 
1602
  /**
1603
  * When click on 'Create New Pretty Link" button(on tools/prettylinks-flow page) after installing & activating prettylinks plugin
1604
  * it redirects to PrettyLinks welcome scree page instead of prettylinks add new page.
1605
  * This function will skip that welcome screen
1606
  */
1607
- function exactmetrics_skip_prettylinks_welcome_screen() {
 
1608
  global $pagenow;
1609
 
1610
- $post_type = isset( $_GET['post_type'] ) ? $_GET['post_type'] : '';
1611
- $exactmetrics_reference = isset( $_GET['exactmetrics_reference'] ) ? $_GET['exactmetrics_reference'] : '';
1612
 
1613
- if ( 'post-new.php' === $pagenow && 'pretty-link' === $post_type && 'url_builder' === $exactmetrics_reference ) {
1614
- $onboard = get_option( 'prli_onboard' );
1615
 
1616
- if ( $onboard == 'welcome' || $onboard == 'update' ) {
1617
- update_option( 'exactmetrics_backup_prli_onboard_value', $onboard );
1618
- delete_option( 'prli_onboard' );
1619
  }
1620
  }
1621
  }
1622
- add_action( 'wp_loaded', 'exactmetrics_skip_prettylinks_welcome_screen', 9 );
1623
 
1624
  /**
1625
  * Restore the `prli_onboard` value after creating a prettylinks with exactmetrics prettylinks flow
1626
  * users will see the prettylinks welcome screen after fresh installation & creating prettylinks with exactmetrics prettylinks flow
1627
  */
1628
- function exactmetrics_restore_prettylinks_onboard_value() {
 
1629
  global $pagenow;
1630
 
1631
- $post_type = isset( $_GET['post_type'] ) ? $_GET['post_type'] : '';
1632
 
1633
- if ( 'edit.php' === $pagenow && 'pretty-link' === $post_type ) {
1634
- $onboard = get_option( 'exactmetrics_backup_prli_onboard_value' );
1635
 
1636
- if ( class_exists( 'PrliBaseController' ) && ( $onboard == 'welcome' || $onboard == 'update' ) ) {
1637
- update_option( 'prli_onboard', $onboard );
1638
- delete_option( 'exactmetrics_backup_prli_onboard_value' );
1639
  }
1640
  }
1641
  }
1642
- add_action( 'wp_loaded', 'exactmetrics_restore_prettylinks_onboard_value', 15 );
1643
 
1644
  /**
1645
  * Check WP version and include the compatible upgrader skin.
1646
  *
1647
  * @param bool $custom_upgrader If true it will include our custom upgrader, otherwise it will use the default WP one.
1648
  */
1649
- function exactmetrics_require_upgrader( $custom_upgrader = true ) {
 
1650
 
1651
  global $wp_version;
1652
 
1653
  $base = ExactMetrics();
1654
 
1655
- if ( ! $custom_upgrader ) {
1656
  require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
1657
  }
1658
 
1659
  // WP 5.3 changes the upgrader skin.
1660
- if ( version_compare( $wp_version, '5.3', '<' ) ) {
1661
- if ( $custom_upgrader ) {
1662
- require_once plugin_dir_path( $base->file ) . 'includes/admin/licensing/plugin-upgrader.php';
1663
  }
1664
- require_once plugin_dir_path( $base->file ) . '/includes/admin/licensing/skin-legacy.php';
1665
  } else {
1666
- if ( $custom_upgrader ) {
1667
- require_once plugin_dir_path( $base->file ) . 'includes/admin/licensing/plugin-upgrader.php';
1668
  }
1669
- require_once plugin_dir_path( $base->file ) . '/includes/admin/licensing/skin.php';
1670
  }
1671
-
1672
  }
1673
 
1674
  /**
@@ -1678,10 +1756,11 @@ function exactmetrics_require_upgrader( $custom_upgrader = true ) {
1678
  * @since 7.12.3
1679
  *
1680
  */
1681
- function exactmetrics_load_gutenberg_app() {
 
1682
  global $wp_version;
1683
 
1684
- if ( version_compare( $wp_version, '5.4', '<' ) ) {
1685
  return false;
1686
  }
1687
 
@@ -1696,25 +1775,26 @@ function exactmetrics_load_gutenberg_app() {
1696
  *
1697
  *
1698
  */
1699
- function exactmetrics_get_frontend_analytics_script_atts() {
 
1700
  $attr_string = '';
1701
 
1702
- $default_attributes = [
1703
  'data-cfasync' => 'false',
1704
  'data-wpfc-render' => 'false',
1705
- ];
1706
- if ( ! current_theme_supports( 'html5', 'script' ) ) {
1707
  $default_attributes['type'] = 'text/javascript';
1708
- }
1709
 
1710
- $attributes = apply_filters( 'exactmetrics_tracking_analytics_script_attributes', $default_attributes);
1711
 
1712
- if ( ! empty( $attributes ) ) {
1713
- foreach ( $attributes as $attr_name => $attr_value ) {
1714
- if ( ! empty( $attr_name ) ) {
1715
- $attr_string .= ' ' . sanitize_key( $attr_name ) . '="' . esc_attr( $attr_value ) . '"';
1716
  } else {
1717
- $attr_string .= ' ' . esc_attr( $attr_value );
1718
  }
1719
  }
1720
  }
@@ -1729,26 +1809,27 @@ function exactmetrics_get_frontend_analytics_script_atts() {
1729
  * @since 8.5.0
1730
  *
1731
  */
1732
- function exactmetrics_localize_script( $handle, $object_name, $data, $priority = 100 ) {
1733
- $theme_supports_html5 = current_theme_supports( 'html5', 'script' );
1734
- $script_js = ! $theme_supports_html5 ? "/* <![CDATA[ */\n" : '';
1735
- $script_js .= "var $object_name = " . wp_json_encode( $data ) . ';';
1736
- $script_js .= ! $theme_supports_html5 ? "/* ]]> */\n" : '';
 
1737
 
1738
  $script = sprintf(
1739
  "<script%s id='%s-js-extra'>%s</script>\n",
1740
  exactmetrics_get_frontend_analytics_script_atts(),
1741
- esc_attr( $handle ),
1742
  $script_js
1743
  );
1744
 
1745
- add_filter( 'script_loader_tag', function ( $tag, $current_handle ) use ($handle, $script){
1746
- if ( $current_handle !== $handle ) {
1747
  return $tag;
1748
  }
1749
 
1750
  return $tag . $script;
1751
- }, $priority, 2 );
1752
  }
1753
 
1754
  /**
@@ -1758,66 +1839,67 @@ function exactmetrics_localize_script( $handle, $object_name, $data, $priority =
1758
  *
1759
  * @since 7.12.3
1760
  */
1761
- function exactmetrics_get_english_speaking_countries() {
 
1762
  return array(
1763
- 'AG' => __( 'Antigua and Barbuda', 'google-analytics-dashboard-for-wp' ),
1764
- 'AU' => __( 'Australia', 'google-analytics-dashboard-for-wp' ),
1765
- 'BB' => __( 'Barbados', 'google-analytics-dashboard-for-wp' ),
1766
- 'BZ' => __( 'Belize', 'google-analytics-dashboard-for-wp' ),
1767
- 'BW' => __( 'Botswana', 'google-analytics-dashboard-for-wp' ),
1768
- 'BI' => __( 'Burundi', 'google-analytics-dashboard-for-wp' ),
1769
- 'CM' => __( 'Cameroon', 'google-analytics-dashboard-for-wp' ),
1770
- 'CA' => __( 'Canada', 'google-analytics-dashboard-for-wp' ),
1771
- 'DM' => __( 'Dominica', 'google-analytics-dashboard-for-wp' ),
1772
- 'FJ' => __( 'Fiji', 'google-analytics-dashboard-for-wp' ),
1773
- 'GD' => __( 'Grenada', 'google-analytics-dashboard-for-wp' ),
1774
- 'GY' => __( 'Guyana', 'google-analytics-dashboard-for-wp' ),
1775
- 'GM' => __( 'Gambia', 'google-analytics-dashboard-for-wp' ),
1776
- 'GH' => __( 'Ghana', 'google-analytics-dashboard-for-wp' ),
1777
- 'IE' => __( 'Ireland', 'google-analytics-dashboard-for-wp' ),
1778
- 'IN' => __( 'India', 'google-analytics-dashboard-for-wp' ),
1779
- 'JM' => __( 'Jamaica', 'google-analytics-dashboard-for-wp' ),
1780
- 'KE' => __( 'Kenya', 'google-analytics-dashboard-for-wp' ),
1781
- 'KI' => __( 'Kiribati', 'google-analytics-dashboard-for-wp' ),
1782
- 'LS' => __( 'Lesotho', 'google-analytics-dashboard-for-wp' ),
1783
- 'LR' => __( 'Liberia', 'google-analytics-dashboard-for-wp' ),
1784
- 'MW' => __( 'Malawi', 'google-analytics-dashboard-for-wp' ),
1785
- 'MT' => __( 'Malta', 'google-analytics-dashboard-for-wp' ),
1786
- 'MH' => __( 'Marshall Islands', 'google-analytics-dashboard-for-wp' ),
1787
- 'MU' => __( 'Mauritius', 'google-analytics-dashboard-for-wp' ),
1788
- 'FM' => __( 'Micronesia', 'google-analytics-dashboard-for-wp' ),
1789
- 'NZ' => __( 'New Zealand', 'google-analytics-dashboard-for-wp' ),
1790
- 'NA' => __( 'Namibia', 'google-analytics-dashboard-for-wp' ),
1791
- 'NR' => __( 'Nauru', 'google-analytics-dashboard-for-wp' ),
1792
- 'NG' => __( 'Nigeria', 'google-analytics-dashboard-for-wp' ),
1793
- 'PK' => __( 'Pakistan', 'google-analytics-dashboard-for-wp' ),
1794
- 'PW' => __( 'Palau', 'google-analytics-dashboard-for-wp' ),
1795
- 'PG' => __( 'Papua New Guinea', 'google-analytics-dashboard-for-wp' ),
1796
- 'PH' => __( 'Philippines', 'google-analytics-dashboard-for-wp' ),
1797
- 'RW' => __( 'Rwanda', 'google-analytics-dashboard-for-wp' ),
1798
- 'SG' => __( 'Singapore', 'google-analytics-dashboard-for-wp' ),
1799
- 'KN' => __( 'St Kitts and Nevis', 'google-analytics-dashboard-for-wp' ),
1800
- 'LC' => __( 'St Lucia', 'google-analytics-dashboard-for-wp' ),
1801
- 'VC' => __( 'St Vincent and the Grenadines', 'google-analytics-dashboard-for-wp' ),
1802
- 'SZ' => __( 'Swaziland', 'google-analytics-dashboard-for-wp' ),
1803
- 'WS' => __( 'Samoa', 'google-analytics-dashboard-for-wp' ),
1804
- 'SC' => __( 'Seychelles', 'google-analytics-dashboard-for-wp' ),
1805
- 'SL' => __( 'Sierra Leone', 'google-analytics-dashboard-for-wp' ),
1806
- 'SB' => __( 'Solomon Islands', 'google-analytics-dashboard-for-wp' ),
1807
- 'ZA' => __( 'South Africa', 'google-analytics-dashboard-for-wp' ),
1808
- 'SS' => __( 'South Sudan', 'google-analytics-dashboard-for-wp' ),
1809
- 'SD' => __( 'Sudan', 'google-analytics-dashboard-for-wp' ),
1810
- 'TT' => __( 'Trinidad and Tobago', 'google-analytics-dashboard-for-wp' ),
1811
- 'BS' => __( 'The Bahamas', 'google-analytics-dashboard-for-wp' ),
1812
- 'TZ' => __( 'Tanzania', 'google-analytics-dashboard-for-wp' ),
1813
- 'TO' => __( 'Tonga', 'google-analytics-dashboard-for-wp' ),
1814
- 'TV' => __( 'Tuvalu', 'google-analytics-dashboard-for-wp' ),
1815
- 'GB' => __( 'United Kingdom', 'google-analytics-dashboard-for-wp' ),
1816
- 'US' => __( 'United States of America', 'google-analytics-dashboard-for-wp' ),
1817
- 'UG' => __( 'Uganda', 'google-analytics-dashboard-for-wp' ),
1818
- 'VU' => __( 'Vanuatu', 'google-analytics-dashboard-for-wp' ),
1819
- 'ZM' => __( 'Zambia', 'google-analytics-dashboard-for-wp' ),
1820
- 'ZW' => __( 'Zimbabwe', 'google-analytics-dashboard-for-wp' ),
1821
  );
1822
  }
1823
 
@@ -1826,14 +1908,15 @@ function exactmetrics_get_english_speaking_countries() {
1826
  *
1827
  * @return bool
1828
  */
1829
- function exactmetrics_can_install_plugins() {
 
1830
 
1831
- if ( ! current_user_can( 'install_plugins' ) ) {
1832
  return false;
1833
  }
1834
 
1835
  // Determine whether file modifications are allowed.
1836
- if ( function_exists( 'wp_is_file_mod_allowed' ) && ! wp_is_file_mod_allowed( 'exactmetrics_can_install' ) ) {
1837
  return false;
1838
  }
1839
 
@@ -1850,14 +1933,15 @@ function exactmetrics_can_install_plugins() {
1850
  *
1851
  * @return bool
1852
  */
1853
- function exactmetrics_date_is_between( $start_date, $end_date ) {
 
1854
 
1855
- $current_date = current_time( 'Y-m-d' );
1856
 
1857
- $start_date = date( 'Y-m-d', strtotime( $start_date ) );
1858
- $end_date = date( 'Y-m-d', strtotime( $end_date ) );
1859
 
1860
- if ( ( $current_date >= $start_date ) && ( $current_date <= $end_date ) ) {
1861
  return true;
1862
  }
1863
 
@@ -1871,9 +1955,10 @@ function exactmetrics_date_is_between( $start_date, $end_date ) {
1871
  *
1872
  * @return bool
1873
  */
1874
- function exactmetrics_is_aioseo_active() {
 
1875
 
1876
- if ( function_exists( 'aioseo' ) ) {
1877
  return true;
1878
  }
1879
 
@@ -1887,11 +1972,12 @@ function exactmetrics_is_aioseo_active() {
1887
  *
1888
  * @return string
1889
  */
1890
- function exactmetrics_aioseo_dashboard_url() {
 
1891
  $url = '';
1892
 
1893
- if ( function_exists( 'aioseo' ) ) {
1894
- $url = is_multisite() ? network_admin_url( 'admin.php?page=aioseo' ) : admin_url( 'admin.php?page=aioseo' );
1895
  }
1896
 
1897
  return $url;
@@ -1904,10 +1990,11 @@ function exactmetrics_aioseo_dashboard_url() {
1904
  *
1905
  * @return bool
1906
  */
1907
- function exactmetrics_is_installed_aioseo_pro() {
 
1908
  $installed_plugins = get_plugins();
1909
 
1910
- if ( array_key_exists( 'all-in-one-seo-pack-pro/all_in_one_seo_pack.php', $installed_plugins ) ) {
1911
  return true;
1912
  }
1913
 
1
  <?php
2
+
3
  /**
4
  * Helper functions.
5
  *
11
  */
12
 
13
  // Exit if accessed directly
14
+ if (!defined('ABSPATH')) {
15
  exit;
16
  }
17
 
18
+ function exactmetrics_is_page_reload()
19
+ {
20
  // Can't be a refresh without having a referrer
21
+ if (!isset($_SERVER['HTTP_REFERER'])) {
22
  return false;
23
  }
24
 
25
  // IF the referrer is identical to the current page request, then it's a refresh
26
+ return (parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH) === parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
27
  }
28
 
29
 
30
+ function exactmetrics_track_user($user_id = -1)
31
+ {
32
+ if ($user_id === -1) {
33
  $user = wp_get_current_user();
34
  } else {
35
+ $user = new WP_User($user_id);
36
  }
37
 
38
  $track_user = true;
39
+ $roles = exactmetrics_get_option('ignore_users', array());
40
 
41
+ if (!empty($roles) && is_array($roles)) {
42
+ foreach ($roles as $role) {
43
+ if (is_string($role)) {
44
+ if (user_can($user, $role)) {
45
  $track_user = false;
46
  break;
47
  }
49
  }
50
  }
51
 
52
+ $track_super_admin = apply_filters('exactmetrics_track_super_admins', false);
53
+ if ($user_id === -1 && $track_super_admin === false && is_multisite() && is_super_admin()) {
54
  $track_user = false;
55
  }
56
 
57
  // or if tracking code is not entered
58
  $tracking_ids = exactmetrics_get_tracking_ids();
59
+ if (empty($tracking_ids)) {
60
  $track_user = false;
61
  }
62
 
63
+ return apply_filters('exactmetrics_track_user', $track_user, $user);
64
  }
65
 
66
  /**
68
  *
69
  * @return bool
70
  */
71
+ function exactmetrics_skip_tracking()
72
+ {
73
+ return (bool) apply_filters('exactmetrics_skip_tracking', false);
74
  }
75
 
76
+ function exactmetrics_get_client_id($payment_id = false)
77
+ {
78
+ if (is_object($payment_id)) {
79
  $payment_id = $payment_id->ID;
80
  }
81
  $user_cid = exactmetrics_get_uuid();
82
+ $saved_cid = !empty($payment_id) ? get_post_meta($payment_id, '_yoast_gau_uuid', true) : false;
83
 
84
+ if (!empty($payment_id) && !empty($saved_cid)) {
85
  return $saved_cid;
86
+ } else if (!empty($user_cid)) {
87
  return $user_cid;
88
  } else {
89
  return exactmetrics_generate_uuid();
99
  *
100
  * @return bool|string False if cookie isn't set, GA UUID otherwise
101
  */
102
+ function exactmetrics_get_uuid()
103
+ {
104
+ if (empty($_COOKIE['_ga'])) {
105
  return false;
106
  }
107
 
117
  */
118
 
119
  $ga_cookie = $_COOKIE['_ga'];
120
+ $cookie_parts = explode('.', $ga_cookie);
121
+ if (is_array($cookie_parts) && !empty($cookie_parts[2])) {
122
+ $cookie_parts = array_slice($cookie_parts, 2);
123
+ $uuid = implode('.', $cookie_parts);
124
+ if (is_string($uuid)) {
125
  return $uuid;
126
  } else {
127
  return false;
128
  }
129
+ } elseif (0 === strpos($ga_cookie, 'amp-')) {
130
  return $ga_cookie;
131
  } else {
132
  return false;
142
  * @since 6.1.8
143
  * @return string
144
  */
145
+ function exactmetrics_generate_uuid()
146
+ {
147
 
148
+ return sprintf(
149
+ '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
150
 
151
  // 32 bits for "time_low"
152
+ mt_rand(0, 0xffff),
153
+ mt_rand(0, 0xffff),
154
 
155
  // 16 bits for "time_mid"
156
+ mt_rand(0, 0xffff),
157
 
158
  // 16 bits for "time_hi_and_version",
159
  // four most significant bits holds version number 4
160
+ mt_rand(0, 0x0fff) | 0x4000,
161
 
162
  // 16 bits, 8 bits for "clk_seq_hi_res",
163
  // 8 bits for "clk_seq_low",
164
  // two most significant bits holds zero and one for variant DCE1.1
165
+ mt_rand(0, 0x3fff) | 0x8000,
166
 
167
  // 48 bits for "node"
168
+ mt_rand(0, 0xffff),
169
+ mt_rand(0, 0xffff),
170
+ mt_rand(0, 0xffff)
171
  );
172
  }
173
 
178
  *
179
  * @return GA UUID or error code.
180
  */
181
+ function exactmetrics_get_cookie($debug = false)
182
+ {
183
+ if (empty($_COOKIE['_ga'])) {
184
+ return ($debug) ? 'FCE' : false;
185
  }
186
 
187
  $ga_cookie = $_COOKIE['_ga'];
188
+ $cookie_parts = explode('.', $ga_cookie);
189
+ if (is_array($cookie_parts) && !empty($cookie_parts[2])) {
190
+ $cookie_parts = array_slice($cookie_parts, 2);
191
+ $uuid = implode('.', $cookie_parts);
192
+ if (is_string($uuid)) {
193
  return $ga_cookie;
194
  } else {
195
+ return ($debug) ? 'FA' : false;
196
  }
197
+ } elseif (0 === strpos($ga_cookie, 'amp-')) {
198
  return $ga_cookie;
199
  } else {
200
+ return ($debug) ? 'FAE' : false;
201
  }
202
  }
203
 
204
 
205
+ function exactmetrics_generate_ga_client_id()
206
+ {
207
+ return rand(100000000, 999999999) . '.' . time();
208
  }
209
 
210
 
219
  *
220
  * @return int Hours between the two timestamps, rounded.
221
  */
222
+ function exactmetrics_hours_between($start, $stop = false)
223
+ {
224
+ if ($stop === false) {
225
  $stop = time();
226
  }
227
 
228
+ $diff = (int) abs($stop - $start);
229
+ $hours = round($diff / HOUR_IN_SECONDS);
230
  return $hours;
231
  }
232
 
255
  *
256
  * @return bool True if pro version.
257
  */
258
+ function exactmetrics_is_pro_version()
259
+ {
260
+ if (class_exists('ExactMetrics')) {
261
  return true;
262
  } else {
263
  return false;
270
  *
271
  * @return array
272
  */
273
+ function exactmetrics_get_roles()
274
+ {
275
  global $wp_roles;
276
 
277
  $all_roles = $wp_roles->roles;
282
  *
283
  * @api array $all_roles
284
  */
285
+ $editable_roles = apply_filters('editable_roles', $all_roles);
286
 
287
+ foreach ($editable_roles as $id => $name) {
288
+ $roles[$id] = translate_user_role($name['name']);
289
  }
290
 
291
  return $roles;
296
  *
297
  * @return array
298
  */
299
+ function exactmetrics_get_manage_options_roles()
300
+ {
301
  global $wp_roles;
302
 
303
  $all_roles = $wp_roles->roles;
308
  *
309
  * @api array $all_roles
310
  */
311
+ $editable_roles = apply_filters('editable_roles', $all_roles);
312
 
313
+ foreach ($editable_roles as $id => $role) {
314
+ if (isset($role['capabilities']['manage_options']) && $role['capabilities']['manage_options']) {
315
+ $roles[$id] = translate_user_role($role['name']);
316
  }
317
  }
318
 
320
  }
321
 
322
  /** Need to escape in advance of passing in $text. */
323
+ function exactmetrics_get_message($type = 'error', $text = '')
324
+ {
325
  $div = '';
326
+ if ($type === 'error' || $type === 'alert' || $type === 'success' || $type === 'info') {
327
  $base = ExactMetrics();
328
+ return $base->notices->display_inline_notice('exactmetrics_standard_notice', '', $text, $type, false, array('skip_message_escape' => true));
329
  } else {
330
  return '';
331
  }
332
  }
333
 
334
+ function exactmetrics_is_dev_url($url = '')
335
+ {
336
  $is_local_url = false;
337
  // Trim it up
338
+ $url = strtolower(trim($url));
339
  // Need to get the host...so let's add the scheme so we can use parse_url
340
+ if (false === strpos($url, 'http://') && false === strpos($url, 'https://')) {
341
  $url = 'http://' . $url;
342
  }
343
+ $url_parts = parse_url($url);
344
+ $host = !empty($url_parts['host']) ? $url_parts['host'] : false;
345
+ if (!empty($url) && !empty($host)) {
346
+ if (false !== ip2long($host)) {
347
+ if (!filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
348
  $is_local_url = true;
349
  }
350
+ } else if ('localhost' === $host) {
351
  $is_local_url = true;
352
  }
353
 
354
+ $tlds_to_check = array('.local', ':8888', ':8080', ':8081', '.invalid', '.example', '.test');
355
+ foreach ($tlds_to_check as $tld) {
356
+ if (false !== strpos($host, $tld)) {
357
  $is_local_url = true;
358
  break;
359
  }
 
360
  }
361
+ if (substr_count($host, '.') > 1) {
362
+ $subdomains_to_check = array('dev.', '*.staging.', 'beta.', 'test.');
363
+ foreach ($subdomains_to_check as $subdomain) {
364
+ $subdomain = str_replace('.', '(.)', $subdomain);
365
+ $subdomain = str_replace(array('*', '(.)'), '(.*)', $subdomain);
366
+ if (preg_match('/^(' . $subdomain . ')/', $host)) {
367
  $is_local_url = true;
368
  break;
369
  }
374
  }
375
 
376
  // Set cookie to expire in 2 years
377
+ function exactmetrics_get_cookie_expiration_date($time)
378
+ {
379
+ return date('D, j F Y H:i:s', time() + $time);
380
  }
381
 
382
+ function exactmetrics_string_ends_with($string, $ending)
383
+ {
384
  $strlen = strlen($string);
385
  $endinglen = strlen($ending);
386
+ if ($endinglen > $strlen) {
387
  return false;
388
  }
389
+ return substr_compare($string, $ending, $strlen - $endinglen, $endinglen) === 0;
390
  }
391
 
392
+ function exactmetrics_string_starts_with($string, $start)
393
+ {
394
+ if (!is_string($string) || !is_string($start)) {
395
  return false;
396
  }
397
 
398
+ return substr($string, 0, strlen($start)) === $start;
399
  }
400
 
401
+ function exactmetrics_get_country_list($translated = false)
402
+ {
403
+ if ($translated) {
404
  $countries = array(
405
  '' => '',
406
+ 'US' => __('United States', 'google-analytics-dashboard-for-wp'),
407
+ 'CA' => __('Canada', 'google-analytics-dashboard-for-wp'),
408
+ 'GB' => __('United Kingdom', 'google-analytics-dashboard-for-wp'),
409
+ 'AF' => __('Afghanistan', 'google-analytics-dashboard-for-wp'),
410
+ 'AX' => __('&#197;land Islands', 'google-analytics-dashboard-for-wp'),
411
+ 'AL' => __('Albania', 'google-analytics-dashboard-for-wp'),
412
+ 'DZ' => __('Algeria', 'google-analytics-dashboard-for-wp'),
413
+ 'AS' => __('American Samoa', 'google-analytics-dashboard-for-wp'),
414
+ 'AD' => __('Andorra', 'google-analytics-dashboard-for-wp'),
415
+ 'AO' => __('Angola', 'google-analytics-dashboard-for-wp'),
416
+ 'AI' => __('Anguilla', 'google-analytics-dashboard-for-wp'),
417
+ 'AQ' => __('Antarctica', 'google-analytics-dashboard-for-wp'),
418
+ 'AG' => __('Antigua and Barbuda', 'google-analytics-dashboard-for-wp'),
419
+ 'AR' => __('Argentina', 'google-analytics-dashboard-for-wp'),
420
+ 'AM' => __('Armenia', 'google-analytics-dashboard-for-wp'),
421
+ 'AW' => __('Aruba', 'google-analytics-dashboard-for-wp'),
422
+ 'AU' => __('Australia', 'google-analytics-dashboard-for-wp'),
423
+ 'AT' => __('Austria', 'google-analytics-dashboard-for-wp'),
424
+ 'AZ' => __('Azerbaijan', 'google-analytics-dashboard-for-wp'),
425
+ 'BS' => __('Bahamas', 'google-analytics-dashboard-for-wp'),
426
+ 'BH' => __('Bahrain', 'google-analytics-dashboard-for-wp'),
427
+ 'BD' => __('Bangladesh', 'google-analytics-dashboard-for-wp'),
428
+ 'BB' => __('Barbados', 'google-analytics-dashboard-for-wp'),
429
+ 'BY' => __('Belarus', 'google-analytics-dashboard-for-wp'),
430
+ 'BE' => __('Belgium', 'google-analytics-dashboard-for-wp'),
431
+ 'BZ' => __('Belize', 'google-analytics-dashboard-for-wp'),
432
+ 'BJ' => __('Benin', 'google-analytics-dashboard-for-wp'),
433
+ 'BM' => __('Bermuda', 'google-analytics-dashboard-for-wp'),
434
+ 'BT' => __('Bhutan', 'google-analytics-dashboard-for-wp'),
435
+ 'BO' => __('Bolivia', 'google-analytics-dashboard-for-wp'),
436
+ 'BQ' => __('Bonaire, Saint Eustatius and Saba', 'google-analytics-dashboard-for-wp'),
437
+ 'BA' => __('Bosnia and Herzegovina', 'google-analytics-dashboard-for-wp'),
438
+ 'BW' => __('Botswana', 'google-analytics-dashboard-for-wp'),
439
+ 'BV' => __('Bouvet Island', 'google-analytics-dashboard-for-wp'),
440
+ 'BR' => __('Brazil', 'google-analytics-dashboard-for-wp'),
441
+ 'IO' => __('British Indian Ocean Territory', 'google-analytics-dashboard-for-wp'),
442
+ 'BN' => __('Brunei Darrussalam', 'google-analytics-dashboard-for-wp'),
443
+ 'BG' => __('Bulgaria', 'google-analytics-dashboard-for-wp'),
444
+ 'BF' => __('Burkina Faso', 'google-analytics-dashboard-for-wp'),
445
+ 'BI' => __('Burundi', 'google-analytics-dashboard-for-wp'),
446
+ 'KH' => __('Cambodia', 'google-analytics-dashboard-for-wp'),
447
+ 'CM' => __('Cameroon', 'google-analytics-dashboard-for-wp'),
448
+ 'CV' => __('Cape Verde', 'google-analytics-dashboard-for-wp'),
449
+ 'KY' => __('Cayman Islands', 'google-analytics-dashboard-for-wp'),
450
+ 'CF' => __('Central African Republic', 'google-analytics-dashboard-for-wp'),
451
+ 'TD' => __('Chad', 'google-analytics-dashboard-for-wp'),
452
+ 'CL' => __('Chile', 'google-analytics-dashboard-for-wp'),
453
+ 'CN' => __('China', 'google-analytics-dashboard-for-wp'),
454
+ 'CX' => __('Christmas Island', 'google-analytics-dashboard-for-wp'),
455
+ 'CC' => __('Cocos Islands', 'google-analytics-dashboard-for-wp'),
456
+ 'CO' => __('Colombia', 'google-analytics-dashboard-for-wp'),
457
+ 'KM' => __('Comoros', 'google-analytics-dashboard-for-wp'),
458
+ 'CD' => __('Congo, Democratic People\'s Republic', 'google-analytics-dashboard-for-wp'),
459
+ 'CG' => __('Congo, Republic of', 'google-analytics-dashboard-for-wp'),
460
+ 'CK' => __('Cook Islands', 'google-analytics-dashboard-for-wp'),
461
+ 'CR' => __('Costa Rica', 'google-analytics-dashboard-for-wp'),
462
+ 'CI' => __('Cote d\'Ivoire', 'google-analytics-dashboard-for-wp'),
463
+ 'HR' => __('Croatia/Hrvatska', 'google-analytics-dashboard-for-wp'),
464
+ 'CU' => __('Cuba', 'google-analytics-dashboard-for-wp'),
465
+ 'CW' => __('Cura&Ccedil;ao', 'google-analytics-dashboard-for-wp'),
466
+ 'CY' => __('Cyprus', 'google-analytics-dashboard-for-wp'),
467
+ 'CZ' => __('Czechia', 'google-analytics-dashboard-for-wp'),
468
+ 'DK' => __('Denmark', 'google-analytics-dashboard-for-wp'),
469
+ 'DJ' => __('Djibouti', 'google-analytics-dashboard-for-wp'),
470
+ 'DM' => __('Dominica', 'google-analytics-dashboard-for-wp'),
471
+ 'DO' => __('Dominican Republic', 'google-analytics-dashboard-for-wp'),
472
+ 'TP' => __('East Timor', 'google-analytics-dashboard-for-wp'),
473
+ 'EC' => __('Ecuador', 'google-analytics-dashboard-for-wp'),
474
+ 'EG' => __('Egypt', 'google-analytics-dashboard-for-wp'),
475
+ 'GQ' => __('Equatorial Guinea', 'google-analytics-dashboard-for-wp'),
476
+ 'SV' => __('El Salvador', 'google-analytics-dashboard-for-wp'),
477
+ 'ER' => __('Eritrea', 'google-analytics-dashboard-for-wp'),
478
+ 'EE' => __('Estonia', 'google-analytics-dashboard-for-wp'),
479
+ 'ET' => __('Ethiopia', 'google-analytics-dashboard-for-wp'),
480
+ 'FK' => __('Falkland Islands', 'google-analytics-dashboard-for-wp'),
481
+ 'FO' => __('Faroe Islands', 'google-analytics-dashboard-for-wp'),
482
+ 'FJ' => __('Fiji', 'google-analytics-dashboard-for-wp'),
483
+ 'FI' => __('Finland', 'google-analytics-dashboard-for-wp'),
484
+ 'FR' => __('France', 'google-analytics-dashboard-for-wp'),
485
+ 'GF' => __('French Guiana', 'google-analytics-dashboard-for-wp'),
486
+ 'PF' => __('French Polynesia', 'google-analytics-dashboard-for-wp'),
487
+ 'TF' => __('French Southern Territories', 'google-analytics-dashboard-for-wp'),
488
+ 'GA' => __('Gabon', 'google-analytics-dashboard-for-wp'),
489
+ 'GM' => __('Gambia', 'google-analytics-dashboard-for-wp'),
490
+ 'GE' => __('Georgia', 'google-analytics-dashboard-for-wp'),
491
+ 'DE' => __('Germany', 'google-analytics-dashboard-for-wp'),
492
+ 'GR' => __('Greece', 'google-analytics-dashboard-for-wp'),
493
+ 'GH' => __('Ghana', 'google-analytics-dashboard-for-wp'),
494
+ 'GI' => __('Gibraltar', 'google-analytics-dashboard-for-wp'),
495
+ 'GL' => __('Greenland', 'google-analytics-dashboard-for-wp'),
496
+ 'GD' => __('Grenada', 'google-analytics-dashboard-for-wp'),
497
+ 'GP' => __('Guadeloupe', 'google-analytics-dashboard-for-wp'),
498
+ 'GU' => __('Guam', 'google-analytics-dashboard-for-wp'),
499
+ 'GT' => __('Guatemala', 'google-analytics-dashboard-for-wp'),
500
+ 'GG' => __('Guernsey', 'google-analytics-dashboard-for-wp'),
501
+ 'GN' => __('Guinea', 'google-analytics-dashboard-for-wp'),
502
+ 'GW' => __('Guinea-Bissau', 'google-analytics-dashboard-for-wp'),
503
+ 'GY' => __('Guyana', 'google-analytics-dashboard-for-wp'),
504
+ 'HT' => __('Haiti', 'google-analytics-dashboard-for-wp'),
505
+ 'HM' => __('Heard and McDonald Islands', 'google-analytics-dashboard-for-wp'),
506
+ 'VA' => __('Holy See (City Vatican State)', 'google-analytics-dashboard-for-wp'),
507
+ 'HN' => __('Honduras', 'google-analytics-dashboard-for-wp'),
508
+ 'HK' => __('Hong Kong', 'google-analytics-dashboard-for-wp'),
509
+ 'HU' => __('Hungary', 'google-analytics-dashboard-for-wp'),
510
+ 'IS' => __('Iceland', 'google-analytics-dashboard-for-wp'),
511
+ 'IN' => __('India', 'google-analytics-dashboard-for-wp'),
512
+ 'ID' => __('Indonesia', 'google-analytics-dashboard-for-wp'),
513
+ 'IR' => __('Iran', 'google-analytics-dashboard-for-wp'),
514
+ 'IQ' => __('Iraq', 'google-analytics-dashboard-for-wp'),
515
+ 'IE' => __('Ireland', 'google-analytics-dashboard-for-wp'),
516
+ 'IM' => __('Isle of Man', 'google-analytics-dashboard-for-wp'),
517
+ 'IL' => __('Israel', 'google-analytics-dashboard-for-wp'),
518
+ 'IT' => __('Italy', 'google-analytics-dashboard-for-wp'),
519
+ 'JM' => __('Jamaica', 'google-analytics-dashboard-for-wp'),
520
+ 'JP' => __('Japan', 'google-analytics-dashboard-for-wp'),
521
+ 'JE' => __('Jersey', 'google-analytics-dashboard-for-wp'),
522
+ 'JO' => __('Jordan', 'google-analytics-dashboard-for-wp'),
523
+ 'KZ' => __('Kazakhstan', 'google-analytics-dashboard-for-wp'),
524
+ 'KE' => __('Kenya', 'google-analytics-dashboard-for-wp'),
525
+ 'KI' => __('Kiribati', 'google-analytics-dashboard-for-wp'),
526
+ 'KW' => __('Kuwait', 'google-analytics-dashboard-for-wp'),
527
+ 'KG' => __('Kyrgyzstan', 'google-analytics-dashboard-for-wp'),
528
+ 'LA' => __('Lao People\'s Democratic Republic', 'google-analytics-dashboard-for-wp'),
529
+ 'LV' => __('Latvia', 'google-analytics-dashboard-for-wp'),
530
+ 'LB' => __('Lebanon', 'google-analytics-dashboard-for-wp'),
531
+ 'LS' => __('Lesotho', 'google-analytics-dashboard-for-wp'),
532
+ 'LR' => __('Liberia', 'google-analytics-dashboard-for-wp'),
533
+ 'LY' => __('Libyan Arab Jamahiriya', 'google-analytics-dashboard-for-wp'),
534
+ 'LI' => __('Liechtenstein', 'google-analytics-dashboard-for-wp'),
535
+ 'LT' => __('Lithuania', 'google-analytics-dashboard-for-wp'),
536
+ 'LU' => __('Luxembourg', 'google-analytics-dashboard-for-wp'),
537
+ 'MO' => __('Macau', 'google-analytics-dashboard-for-wp'),
538
+ 'MK' => __('Macedonia (FYROM)', 'google-analytics-dashboard-for-wp'),
539
+ 'MG' => __('Madagascar', 'google-analytics-dashboard-for-wp'),
540
+ 'MW' => __('Malawi', 'google-analytics-dashboard-for-wp'),
541
+ 'MY' => __('Malaysia', 'google-analytics-dashboard-for-wp'),
542
+ 'MV' => __('Maldives', 'google-analytics-dashboard-for-wp'),
543
+ 'ML' => __('Mali', 'google-analytics-dashboard-for-wp'),
544
+ 'MT' => __('Malta', 'google-analytics-dashboard-for-wp'),
545
+ 'MH' => __('Marshall Islands', 'google-analytics-dashboard-for-wp'),
546
+ 'MQ' => __('Martinique', 'google-analytics-dashboard-for-wp'),
547
+ 'MR' => __('Mauritania', 'google-analytics-dashboard-for-wp'),
548
+ 'MU' => __('Mauritius', 'google-analytics-dashboard-for-wp'),
549
+ 'YT' => __('Mayotte', 'google-analytics-dashboard-for-wp'),
550
+ 'MX' => __('Mexico', 'google-analytics-dashboard-for-wp'),
551
+ 'FM' => __('Micronesia', 'google-analytics-dashboard-for-wp'),
552
+ 'MD' => __('Moldova, Republic of', 'google-analytics-dashboard-for-wp'),
553
+ 'MC' => __('Monaco', 'google-analytics-dashboard-for-wp'),
554
+ 'MN' => __('Mongolia', 'google-analytics-dashboard-for-wp'),
555
+ 'ME' => __('Montenegro', 'google-analytics-dashboard-for-wp'),
556
+ 'MS' => __('Montserrat', 'google-analytics-dashboard-for-wp'),
557
+ 'MA' => __('Morocco', 'google-analytics-dashboard-for-wp'),
558
+ 'MZ' => __('Mozambique', 'google-analytics-dashboard-for-wp'),
559
+ 'MM' => __('Myanmar', 'google-analytics-dashboard-for-wp'),
560
+ 'NA' => __('Namibia', 'google-analytics-dashboard-for-wp'),
561
+ 'NR' => __('Nauru', 'google-analytics-dashboard-for-wp'),
562
+ 'NP' => __('Nepal', 'google-analytics-dashboard-for-wp'),
563
+ 'NL' => __('Netherlands', 'google-analytics-dashboard-for-wp'),
564
+ 'AN' => __('Netherlands Antilles', 'google-analytics-dashboard-for-wp'),
565
+ 'NC' => __('New Caledonia', 'google-analytics-dashboard-for-wp'),
566
+ 'NZ' => __('New Zealand', 'google-analytics-dashboard-for-wp'),
567
+ 'NI' => __('Nicaragua', 'google-analytics-dashboard-for-wp'),
568
+ 'NE' => __('Niger', 'google-analytics-dashboard-for-wp'),
569
+ 'NG' => __('Nigeria', 'google-analytics-dashboard-for-wp'),
570
+ 'NU' => __('Niue', 'google-analytics-dashboard-for-wp'),
571
+ 'NF' => __('Norfolk Island', 'google-analytics-dashboard-for-wp'),
572
+ 'KP' => __('North Korea', 'google-analytics-dashboard-for-wp'),
573
+ 'MP' => __('Northern Mariana Islands', 'google-analytics-dashboard-for-wp'),
574
+ 'NO' => __('Norway', 'google-analytics-dashboard-for-wp'),
575
+ 'OM' => __('Oman', 'google-analytics-dashboard-for-wp'),
576
+ 'PK' => __('Pakistan', 'google-analytics-dashboard-for-wp'),
577
+ 'PW' => __('Palau', 'google-analytics-dashboard-for-wp'),
578
+ 'PS' => __('Palestinian Territories', 'google-analytics-dashboard-for-wp'),
579
+ 'PA' => __('Panama', 'google-analytics-dashboard-for-wp'),
580
+ 'PG' => __('Papua New Guinea', 'google-analytics-dashboard-for-wp'),
581
+ 'PY' => __('Paraguay', 'google-analytics-dashboard-for-wp'),
582
+ 'PE' => __('Peru', 'google-analytics-dashboard-for-wp'),
583
+ 'PH' => __('Philippines', 'google-analytics-dashboard-for-wp'),
584
+ 'PN' => __('Pitcairn Island', 'google-analytics-dashboard-for-wp'),
585
+ 'PL' => __('Poland', 'google-analytics-dashboard-for-wp'),
586
+ 'PT' => __('Portugal', 'google-analytics-dashboard-for-wp'),
587
+ 'PR' => __('Puerto Rico', 'google-analytics-dashboard-for-wp'),
588
+ 'QA' => __('Qatar', 'google-analytics-dashboard-for-wp'),
589
+ 'XK' => __('Republic of Kosovo', 'google-analytics-dashboard-for-wp'),
590
+ 'RE' => __('Reunion Island', 'google-analytics-dashboard-for-wp'),
591
+ 'RO' => __('Romania', 'google-analytics-dashboard-for-wp'),
592
+ 'RU' => __('Russian Federation', 'google-analytics-dashboard-for-wp'),
593
+ 'RW' => __('Rwanda', 'google-analytics-dashboard-for-wp'),
594
+ 'BL' => __('Saint Barth&eacute;lemy', 'google-analytics-dashboard-for-wp'),
595
+ 'SH' => __('Saint Helena', 'google-analytics-dashboard-for-wp'),
596
+ 'KN' => __('Saint Kitts and Nevis', 'google-analytics-dashboard-for-wp'),
597
+ 'LC' => __('Saint Lucia', 'google-analytics-dashboard-for-wp'),
598
+ 'MF' => __('Saint Martin (French)', 'google-analytics-dashboard-for-wp'),
599
+ 'SX' => __('Saint Martin (Dutch)', 'google-analytics-dashboard-for-wp'),
600
+ 'PM' => __('Saint Pierre and Miquelon', 'google-analytics-dashboard-for-wp'),
601
+ 'VC' => __('Saint Vincent and the Grenadines', 'google-analytics-dashboard-for-wp'),
602
+ 'SM' => __('San Marino', 'google-analytics-dashboard-for-wp'),
603
+ 'ST' => __('S&atilde;o Tom&eacute; and Pr&iacute;ncipe', 'google-analytics-dashboard-for-wp'),
604
+ 'SA' => __('Saudi Arabia', 'google-analytics-dashboard-for-wp'),
605
+ 'SN' => __('Senegal', 'google-analytics-dashboard-for-wp'),
606
+ 'RS' => __('Serbia', 'google-analytics-dashboard-for-wp'),
607
+ 'SC' => __('Seychelles', 'google-analytics-dashboard-for-wp'),
608
+ 'SL' => __('Sierra Leone', 'google-analytics-dashboard-for-wp'),
609
+ 'SG' => __('Singapore', 'google-analytics-dashboard-for-wp'),
610
+ 'SK' => __('Slovak Republic', 'google-analytics-dashboard-for-wp'),
611
+ 'SI' => __('Slovenia', 'google-analytics-dashboard-for-wp'),
612
+ 'SB' => __('Solomon Islands', 'google-analytics-dashboard-for-wp'),
613
+ 'SO' => __('Somalia', 'google-analytics-dashboard-for-wp'),
614
+ 'ZA' => __('South Africa', 'google-analytics-dashboard-for-wp'),
615
+ 'GS' => __('South Georgia', 'google-analytics-dashboard-for-wp'),
616
+ 'KR' => __('South Korea', 'google-analytics-dashboard-for-wp'),
617
+ 'SS' => __('South Sudan', 'google-analytics-dashboard-for-wp'),
618
+ 'ES' => __('Spain', 'google-analytics-dashboard-for-wp'),
619
+ 'LK' => __('Sri Lanka', 'google-analytics-dashboard-for-wp'),
620
+ 'SD' => __('Sudan', 'google-analytics-dashboard-for-wp'),
621
+ 'SR' => __('Suriname', 'google-analytics-dashboard-for-wp'),
622
+ 'SJ' => __('Svalbard and Jan Mayen Islands', 'google-analytics-dashboard-for-wp'),
623
+ 'SZ' => __('Swaziland', 'google-analytics-dashboard-for-wp'),
624
+ 'SE' => __('Sweden', 'google-analytics-dashboard-for-wp'),
625
+ 'CH' => __('Switzerland', 'google-analytics-dashboard-for-wp'),
626
+ 'SY' => __('Syrian Arab Republic', 'google-analytics-dashboard-for-wp'),
627
+ 'TW' => __('Taiwan', 'google-analytics-dashboard-for-wp'),
628
+ 'TJ' => __('Tajikistan', 'google-analytics-dashboard-for-wp'),
629
+ 'TZ' => __('Tanzania', 'google-analytics-dashboard-for-wp'),
630
+ 'TH' => __('Thailand', 'google-analytics-dashboard-for-wp'),
631
+ 'TL' => __('Timor-Leste', 'google-analytics-dashboard-for-wp'),
632
+ 'TG' => __('Togo', 'google-analytics-dashboard-for-wp'),
633
+ 'TK' => __('Tokelau', 'google-analytics-dashboard-for-wp'),
634
+ 'TO' => __('Tonga', 'google-analytics-dashboard-for-wp'),
635
+ 'TT' => __('Trinidad and Tobago', 'google-analytics-dashboard-for-wp'),
636
+ 'TN' => __('Tunisia', 'google-analytics-dashboard-for-wp'),
637
+ 'TR' => __('Turkey', 'google-analytics-dashboard-for-wp'),
638
+ 'TM' => __('Turkmenistan', 'google-analytics-dashboard-for-wp'),
639
+ 'TC' => __('Turks and Caicos Islands', 'google-analytics-dashboard-for-wp'),
640
+ 'TV' => __('Tuvalu', 'google-analytics-dashboard-for-wp'),
641
+ 'UG' => __('Uganda', 'google-analytics-dashboard-for-wp'),
642
+ 'UA' => __('Ukraine', 'google-analytics-dashboard-for-wp'),
643
+ 'AE' => __('United Arab Emirates', 'google-analytics-dashboard-for-wp'),
644
+ 'UY' => __('Uruguay', 'google-analytics-dashboard-for-wp'),
645
+ 'UM' => __('US Minor Outlying Islands', 'google-analytics-dashboard-for-wp'),
646
+ 'UZ' => __('Uzbekistan', 'google-analytics-dashboard-for-wp'),
647
+ 'VU' => __('Vanuatu', 'google-analytics-dashboard-for-wp'),
648
+ 'VE' => __('Venezuela', 'google-analytics-dashboard-for-wp'),
649
+ 'VN' => __('Vietnam', 'google-analytics-dashboard-for-wp'),
650
+ 'VG' => __('Virgin Islands (British)', 'google-analytics-dashboard-for-wp'),
651
+ 'VI' => __('Virgin Islands (USA)', 'google-analytics-dashboard-for-wp'),
652
+ 'WF' => __('Wallis and Futuna Islands', 'google-analytics-dashboard-for-wp'),
653
+ 'EH' => __('Western Sahara', 'google-analytics-dashboard-for-wp'),
654
+ 'WS' => __('Western Samoa', 'google-analytics-dashboard-for-wp'),
655
+ 'YE' => __('Yemen', 'google-analytics-dashboard-for-wp'),
656
+ 'ZM' => __('Zambia', 'google-analytics-dashboard-for-wp'),
657
+ 'ZW' => __('Zimbabwe', 'google-analytics-dashboard-for-wp'),
658
+ 'ZZ' => __('Unknown Country', 'google-analytics-dashboard-for-wp'),
659
  );
660
  } else {
661
  $countries = array(
918
  return $countries;
919
  }
920
 
921
+ function exactmetrics_get_api_url()
922
+ {
923
+ return apply_filters('exactmetrics_get_api_url', 'api.exactmetrics.com/v2/');
924
  }
925
 
926
+ function exactmetrics_get_licensing_url()
927
+ {
928
+ return apply_filters('exactmetrics_get_licensing_url', 'https://www.exactmetrics.com');
929
  }
930
 
931
+ function exactmetrics_is_wp_seo_active()
932
+ {
933
  $wp_seo_active = false; // @todo: improve this check. This is from old Yoast code.
934
 
935
  // Makes sure is_plugin_active is available when called from front end
936
+ include_once(ABSPATH . 'wp-admin/includes/plugin.php');
937
+ if (is_plugin_active('wordpress-seo/wp-seo.php') || is_plugin_active('wordpress-seo-premium/wp-seo-premium.php')) {
938
  $wp_seo_active = true;
939
  }
940
  return $wp_seo_active;
941
  }
942
 
943
+ function exactmetrics_get_asset_version()
944
+ {
945
+ if (exactmetrics_is_debug_mode() || (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)) {
946
  return time();
947
  } else {
948
  return EXACTMETRICS_VERSION;
949
  }
950
  }
951
 
952
+ function exactmetrics_is_debug_mode()
953
+ {
954
  $debug_mode = false;
955
+ if (defined('EXACTMETRICS_DEBUG_MODE') && EXACTMETRICS_DEBUG_MODE) {
956
  $debug_mode = true;
957
  }
958
 
959
+ return apply_filters('exactmetrics_is_debug_mode', $debug_mode);
960
  }
961
 
962
+ function exactmetrics_is_network_active()
963
+ {
964
+ if (!function_exists('is_plugin_active_for_network')) {
965
+ require_once(ABSPATH . '/wp-admin/includes/plugin.php');
966
  }
967
 
968
+ if (is_multisite() && is_plugin_active_for_network(plugin_basename(EXACTMETRICS_PLUGIN_FILE))) {
969
  return true;
970
  } else {
971
  return false;
972
  }
973
  }
974
 
975
+ if (!function_exists('remove_class_filter')) {
976
  /**
977
  * Remove Class Filter Without Access to Class Object
978
  *
990
  *
991
  * @return bool Whether the function is removed.
992
  */
993
+ function remove_class_filter($tag, $class_name = '', $method_name = '', $priority = 10)
994
+ {
995
  global $wp_filter;
996
  // Check that filter actually exists first
997
+ if (!isset($wp_filter[$tag])) return FALSE;
998
  /**
999
  * If filter config is an object, means we're using WordPress 4.7+ and the config is no longer
1000
  * a simple array, rather it is an object that implements the ArrayAccess interface.
1003
  *
1004
  * @see https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/
1005
  */
1006
+ if (is_object($wp_filter[$tag]) && isset($wp_filter[$tag]->callbacks)) {
1007
+ $callbacks = &$wp_filter[$tag]->callbacks;
1008
  } else {
1009
+ $callbacks = &$wp_filter[$tag];
1010
  }
1011
  // Exit if there aren't any callbacks for specified priority
1012
+ if (!isset($callbacks[$priority]) || empty($callbacks[$priority])) return FALSE;
1013
  // Loop through each filter for the specified priority, looking for our class & method
1014
+ foreach ((array) $callbacks[$priority] as $filter_id => $filter) {
1015
  // Filter should always be an array - array( $this, 'method' ), if not goto next
1016
+ if (!isset($filter['function']) || !is_array($filter['function'])) continue;
1017
  // If first value in array is not an object, it can't be a class
1018
+ if (!is_object($filter['function'][0])) continue;
1019
  // Method doesn't match the one we're looking for, goto next
1020
+ if ($filter['function'][1] !== $method_name) continue;
1021
  // Method matched, now let's check the Class
1022
+ if (get_class($filter['function'][0]) === $class_name) {
1023
  // Now let's remove it from the array
1024
+ unset($callbacks[$priority][$filter_id]);
1025
  // and if it was the only filter in that priority, unset that priority
1026
+ if (empty($callbacks[$priority])) unset($callbacks[$priority]);
1027
  // and if the only filter for that tag, set the tag to an empty array
1028
+ if (empty($callbacks)) $callbacks = array();
1029
  // If using WordPress older than 4.7
1030
+ if (!is_object($wp_filter[$tag])) {
1031
  // Remove this filter from merged_filters, which specifies if filters have been sorted
1032
+ unset($GLOBALS['merged_filters'][$tag]);
1033
  }
1034
  return TRUE;
1035
  }
1038
  }
1039
  } // End function exists
1040
 
1041
+ if (!function_exists('remove_class_action')) {
1042
  /**
1043
  * Remove Class Action Without Access to Class Object
1044
  *
1056
  *
1057
  * @return bool Whether the function is removed.
1058
  */
1059
+ function remove_class_action($tag, $class_name = '', $method_name = '', $priority = 10)
1060
+ {
1061
+ remove_class_filter($tag, $class_name, $method_name, $priority);
1062
  }
1063
  } // End function exists
1064
 
1070
  *
1071
  * @return string
1072
  */
1073
+ function exactmetrics_round_number($number, $precision = 2)
1074
+ {
1075
 
1076
+ if ($number < 1000000) {
1077
  // Anything less than a million
1078
+ $number = number_format_i18n($number);
1079
+ } else if ($number < 1000000000) {
1080
  // Anything less than a billion
1081
+ $number = number_format_i18n($number / 1000000, $precision) . 'M';
1082
  } else {
1083
  // At least a billion
1084
+ $number = number_format_i18n($number / 1000000000, $precision) . 'B';
1085
  }
1086
 
1087
  return $number;
1088
  }
1089
 
1090
+ if (!function_exists('wp_get_jed_locale_data')) {
1091
  /**
1092
  * Returns Jed-formatted localization data. Added for backwards-compatibility.
1093
  *
1095
  *
1096
  * @return array
1097
  */
1098
+ function wp_get_jed_locale_data($domain)
1099
+ {
1100
+ $translations = get_translations_for_domain($domain);
1101
 
1102
  $locale = array(
1103
  '' => array(
1104
  'domain' => $domain,
1105
+ 'lang' => is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale(),
1106
  ),
1107
  );
1108
 
1109
+ if (!empty($translations->headers['Plural-Forms'])) {
1110
  $locale['']['plural_forms'] = $translations->headers['Plural-Forms'];
1111
  }
1112
 
1113
+ foreach ($translations->entries as $msgid => $entry) {
1114
+ $locale[$msgid] = $entry->translations;
1115
  }
1116
 
1117
  return $locale;
1118
  }
1119
  }
1120
 
1121
+ function exactmetrics_get_inline_menu_icon()
1122
+ {
1123
+ $scheme = get_user_option('admin_color', get_current_user_id());
1124
  $use_dark_scheme = $scheme === 'light';
1125
+ if ($use_dark_scheme) {
1126
+ return 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJub256ZXJvIj48cGF0aCBkPSJNMTQuNjI0IDguODY2YTIuOTM1IDIuOTM1IDAgMCAwLTMuMTQxLTIuOTI3QTIuOTM4IDIuOTM4IDAgMCAwIDguNzcgOC42NTNhMi45MzUgMi45MzUgMCAwIDAgMi45MjcgMy4xNCAyLjkyMyAyLjkyMyAwIDAgMCAyLjkyNy0yLjkyN1ptLTQuMjc2IDBjMC0uNTkyLjM3LTEuMTM0LjkzOC0xLjMwNy45MzctLjI4OCAxLjguNDAzIDEuOCAxLjMgMCAuNzU2LS42MDggMS4zNjQtMS4zNjUgMS4zNjRhMS4zNjEgMS4zNjEgMCAwIDEtMS4zNzMtMS4zNTdaTTguNCA4LjE0M2EzLjM1IDMuMzUgMCAwIDEgLjQyNy0xLjA3SDQuNTExVjUuNTk1SDEuMzA0YS43MzcuNzM3IDAgMSAwIDAgMS40NzJsLjAyNS4wMDhINC42djEuMDY5SDIuNzkyYS43MDcuNzA3IDAgMCAwLS43NC43MTVjMCAuNDExLjMzLjc0Ljc0Ljc2NWgxLjgxdi0xLjQ4SDguNFoiLz48cGF0aCBkPSJNOC44NjggMTAuNjkyYTMuNTUyIDMuNTUyIDAgMCAxLS40MjctMS4wN0g0LjU5M3YuOTg3aC0uMjhhLjc2Ljc2IDAgMCAwLS43NTYuNjM0LjczNy43MzcgMCAwIDAgLjczMi44NDZoLjMwNHYtMS4zOTdoNC4yNzVaIi8+PHBhdGggZD0ibTE4LjI1IDQuMzY5LTUuODQ2LTMuMzQ2YTEuMzI0IDEuMzI0IDAgMCAwLTEuMzA4IDBMNS4yNTEgNC4zNjljLS40MDMuMjMtLjY1LjY1OC0uNjUgMS4xMjZ2LjEwN2g2LjAzNWEzLjQ2MSAzLjQ2MSAwIDAgMSA0LjM5IDIuMTM4Yy42MTcgMS43OTItLjM0NSAzLjc0LTIuMTU0IDQuMzU4YTMuNDcyIDMuNDcyIDAgMCAxLTIuMjM2IDBINC41OTN2LjEwNmMwIC40Ni4yNDcuODg4LjY1IDEuMTI3bDUuODQ1IDMuMzQ2Yy40MDMuMjMuOTA1LjIzIDEuMzA4IDBsNS44NDUtMy4zNDZjLjQwMy0uMjMuNjUtLjY1OC42NS0xLjEyN1Y1LjQ5NWExLjI1MSAxLjI1MSAwIDAgMC0uNjQxLTEuMTI2WiIvPjwvZz48L3N2Zz4=';
1127
+ // return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAlCAMAAAAZd2syAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAapQTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3hTzAgAAAI50Uk5TACVrdjwKgvj/pCBP4Px5AzXA84Fg31oUl/6+HA6D97wiAWTq2kewmB8+yO8HWWFGbV46BnoeTHN7U72OyZqTuvucEWno20DYFm/X3BWU7QlWHdBXiKLlLWK7uFvsC4DdE9lBNGyMwagwEBsZPycMzYT2fUj0zFw5NhhV3ku/qhKzpcNO4+TxDQ+FlqHueGDblssAAAHSSURBVHicY2AYPICRiZmFoCJWNnYODg5OLvyquHk4wICXjx+3IgFBoAohYRFRICUqhkORuIQkUFpKmoFBRlYOyJJXwKJIUUkZKKWiCuFxqYGsVtdAV6WpBRTW5tOBC+iCbdZDVaUvDAQGrChihmCFRri9AgXGJtpAG0AsUy4MYGZuYSkNVchlxcEBpKw5MIGNrZ29g6MTRJ0zWJkLhiJXN5Cshq27B5IyTy9vFCDp6gO1ztceSRka4PIDxqU/d0AgkAwKRlGmiOSLkFBg3HtxcISFMzBERKIoi0J2GTA0o0G0FdB5McjKYiWRlVkyMMSB6HgGhgQHFNPYEkXhQJuJgSEJpAxoeTIPTi+kAC1jSOXgSAP6wTMdXZkizAsZ2qAYzMwCEtmiOejKpBCOc8mFCOXlF6CHmwyyJwqLxBkYdIq9rBnQlaH4QlRU0su9pLSMAVMZKpApr6iEObrKBacyhM/C5YGuqEYWqrGqra2tQ8md9akOHBySDdIoWrl8gTolG+EKneKAKVfSShPDDq4mUDZOBaczxeYWIKdVF6tjINm4jEFRoBbIaItrx+Hojk5QASLYBUwOkulZeHzH1Q1OMZLumI5CBUbVkpI9vToEVJENAOVRStPJFiL7AAAAAElFTkSuQmCC';
1128
  } else {
1129
+ return 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj48cGF0aCBkPSJNMTQuNjI0IDguMjE2YTIuOTM1IDIuOTM1IDAgMCAwLTMuMTQtMi45MjdBMi45MzggMi45MzggMCAwIDAgOC43NyA4LjAwM2EyLjkzNSAyLjkzNSAwIDAgMCAyLjkyNyAzLjE0IDIuOTIzIDIuOTIzIDAgMCAwIDIuOTI3LTIuOTI3Wm0tNC4yNzYgMGMwLS41OTIuMzctMS4xMzQuOTM4LTEuMzA3LjkzNy0uMjg4IDEuOC40MDMgMS44IDEuMyAwIC43NTYtLjYwOCAxLjM2NC0xLjM2NSAxLjM2NGExLjM2MSAxLjM2MSAwIDAgMS0xLjM3My0xLjM1N1pNOC40IDcuNDkzYTMuMzUgMy4zNSAwIDAgMSAuNDI3LTEuMDdINC41MTFWNC45NDVIMS4zMDRhLjczNy43MzcgMCAxIDAgMCAxLjQ3MmwuMDI1LjAwOEg0LjZ2MS4wNjlIMi43OTJhLjcwNy43MDcgMCAwIDAtLjc0LjcxNWMwIC40MTEuMzMuNzQuNzQuNzY1aDEuODF2LTEuNDhIOC40WiIvPjxwYXRoIGQ9Ik04Ljg2OCAxMC4wNDJhMy41NTIgMy41NTIgMCAwIDEtLjQyNy0xLjA3SDQuNTkzdi45ODdoLS4yOGEuNzYuNzYgMCAwIDAtLjc1Ni42MzQuNzM3LjczNyAwIDAgMCAuNzMyLjg0NmguMzA0di0xLjM5N2g0LjI3NVoiLz48cGF0aCBkPSJNMTguMjUgMy43MTkgMTIuNDA0LjM3M2ExLjMyNCAxLjMyNCAwIDAgMC0xLjMwNyAwTDUuMjUgMy43MTljLS40MDMuMjMtLjY1LjY1OC0uNjUgMS4xMjZ2LjEwN2g2LjAzNWEzLjQ2MSAzLjQ2MSAwIDAgMSA0LjM5IDIuMTM4Yy42MTcgMS43OTItLjM0NSAzLjc0LTIuMTU0IDQuMzU4YTMuNDcyIDMuNDcyIDAgMCAxLTIuMjM2IDBINC41OTN2LjEwNmMwIC40Ni4yNDcuODg4LjY1IDEuMTI3bDUuODQ1IDMuMzQ2Yy40MDMuMjMuOTA1LjIzIDEuMzA4IDBsNS44NDUtMy4zNDZjLjQwMy0uMjMuNjUtLjY1OC42NS0xLjEyN1Y0Ljg0NWExLjI1MSAxLjI1MSAwIDAgMC0uNjQxLTEuMTI2WiIvPjwvZz48L3N2Zz4=';
1130
+ //return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAlCAMAAAAZd2syAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAapQTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3hTzAgAAAI50Uk5TACVrdjwKgvj/pCBP4Px5AzXA84Fg31oUl/6+HA6D97wiAWTq2kewmB8+yO8HWWFGbV46BnoeTHN7U72OyZqTuvucEWno20DYFm/X3BWU7QlWHdBXiKLlLWK7uFvsC4DdE9lBNGyMwagwEBsZPycMzYT2fUj0zFw5NhhV3ku/qhKzpcNO4+TxDQ+FlqHueGDblssAAAHSSURBVHicY2AYPICRiZmFoCJWNnYODg5OLvyquHk4wICXjx+3IgFBoAohYRFRICUqhkORuIQkUFpKmoFBRlYOyJJXwKJIUUkZKKWiCuFxqYGsVtdAV6WpBRTW5tOBC+iCbdZDVaUvDAQGrChihmCFRri9AgXGJtpAG0AsUy4MYGZuYSkNVchlxcEBpKw5MIGNrZ29g6MTRJ0zWJkLhiJXN5Cshq27B5IyTy9vFCDp6gO1ztceSRka4PIDxqU/d0AgkAwKRlGmiOSLkFBg3HtxcISFMzBERKIoi0J2GTA0o0G0FdB5McjKYiWRlVkyMMSB6HgGhgQHFNPYEkXhQJuJgSEJpAxoeTIPTi+kAC1jSOXgSAP6wTMdXZkizAsZ2qAYzMwCEtmiOejKpBCOc8mFCOXlF6CHmwyyJwqLxBkYdIq9rBnQlaH4QlRU0su9pLSMAVMZKpApr6iEObrKBacyhM/C5YGuqEYWqrGqra2tQ8md9akOHBySDdIoWrl8gTolG+EKneKAKVfSShPDDq4mUDZOBaczxeYWIKdVF6tjINm4jEFRoBbIaItrx+Hojk5QASLYBUwOkulZeHzH1Q1OMZLumI5CBUbVkpI9vToEVJENAOVRStPJFiL7AAAAAElFTkSuQmCC';
1131
  }
1132
  }
1133
 
1134
 
1135
+ function exactmetrics_get_shareasale_id()
1136
+ {
1137
  // Check if there's a constant.
1138
  $shareasale_id = '';
1139
+ if (defined('EXACTMETRICS_SHAREASALE_ID')) {
1140
  $shareasale_id = EXACTMETRICS_SHAREASALE_ID;
1141
  }
1142
 
1143
  // If there's no constant, check if there's an option.
1144
+ if (empty($shareasale_id)) {
1145
+ $shareasale_id = get_option('exactmetrics_shareasale_id', '');
1146
  }
1147
 
1148
  // Whether we have an ID or not, filter the ID.
1149
+ $shareasale_id = apply_filters('exactmetrics_shareasale_id', $shareasale_id);
1150
 
1151
  // Ensure it's a number
1152
+ $shareasale_id = absint($shareasale_id);
1153
 
1154
  return $shareasale_id;
1155
  }
1156
 
1157
  // Passed in with mandatory default redirect and shareasaleid from exactmetrics_get_upgrade_link
1158
+ function exactmetrics_get_shareasale_url($shareasale_id, $shareasale_redirect)
1159
+ {
1160
  // Check if there's a constant.
1161
  $custom = false;
1162
+ if (defined('EXACTMETRICS_SHAREASALE_REDIRECT_URL')) {
1163
  $shareasale_redirect = EXACTMETRICS_SHAREASALE_REDIRECT_URL;
1164
  $custom = true;
1165
  }
1166
 
1167
  // If there's no constant, check if there's an option.
1168
+ if (empty($custom)) {
1169
+ $shareasale_redirect = get_option('exactmetrics_shareasale_redirect_url', '');
1170
  $custom = true;
1171
  }
1172
 
1173
  // Whether we have an ID or not, filter the ID.
1174
+ $shareasale_redirect = apply_filters('exactmetrics_shareasale_redirect_url', $shareasale_redirect, $custom);
1175
+ $shareasale_url = sprintf('https://www.shareasale.com/r.cfm?B=1494714&U=%s&M=94980&urllink=%s', $shareasale_id, $shareasale_redirect);
1176
+ $shareasale_url = apply_filters('exactmetrics_shareasale_redirect_entire_url', $shareasale_url, $shareasale_id, $shareasale_redirect);
1177
  return $shareasale_url;
1178
  }
1179
 
1180
  /**
1181
  * Get a clean page title for archives.
1182
  */
1183
+ function exactmetrics_get_page_title()
1184
+ {
1185
 
1186
+ $title = __('Archives');
1187
 
1188
+ if (is_category()) {
1189
  /* translators: Category archive title. %s: Category name */
1190
+ $title = sprintf(__('Category: %s'), single_cat_title('', false));
1191
+ } elseif (is_tag()) {
1192
  /* translators: Tag archive title. %s: Tag name */
1193
+ $title = sprintf(__('Tag: %s'), single_tag_title('', false));
1194
+ } elseif (is_author()) {
1195
  /* translators: Author archive title. %s: Author name */
1196
+ $title = sprintf(__('Author: %s'), '<span class="vcard">' . get_the_author() . '</span>');
1197
+ } elseif (is_year()) {
1198
  /* translators: Yearly archive title. %s: Year */
1199
+ $title = sprintf(__('Year: %s'), get_the_date(_x('Y', 'yearly archives date format')));
1200
+ } elseif (is_month()) {
1201
  /* translators: Monthly archive title. %s: Month name and year */
1202
+ $title = sprintf(__('Month: %s'), get_the_date(_x('F Y', 'monthly archives date format')));
1203
+ } elseif (is_day()) {
1204
  /* translators: Daily archive title. %s: Date */
1205
+ $title = sprintf(__('Day: %s'), get_the_date(_x('F j, Y', 'daily archives date format')));
1206
+ } elseif (is_tax('post_format')) {
1207
+ if (is_tax('post_format', 'post-format-aside')) {
1208
+ $title = _x('Asides', 'post format archive title');
1209
+ } elseif (is_tax('post_format', 'post-format-gallery')) {
1210
+ $title = _x('Galleries', 'post format archive title');
1211
+ } elseif (is_tax('post_format', 'post-format-image')) {
1212
+ $title = _x('Images', 'post format archive title');
1213
+ } elseif (is_tax('post_format', 'post-format-video')) {
1214
+ $title = _x('Videos', 'post format archive title');
1215
+ } elseif (is_tax('post_format', 'post-format-quote')) {
1216
+ $title = _x('Quotes', 'post format archive title');
1217
+ } elseif (is_tax('post_format', 'post-format-link')) {
1218
+ $title = _x('Links', 'post format archive title');
1219
+ } elseif (is_tax('post_format', 'post-format-status')) {
1220
+ $title = _x('Statuses', 'post format archive title');
1221
+ } elseif (is_tax('post_format', 'post-format-audio')) {
1222
+ $title = _x('Audio', 'post format archive title');
1223
+ } elseif (is_tax('post_format', 'post-format-chat')) {
1224
+ $title = _x('Chats', 'post format archive title');
1225
  }
1226
+ } elseif (is_post_type_archive()) {
1227
  /* translators: Post type archive title. %s: Post type name */
1228
+ $title = sprintf(__('Archives: %s'), post_type_archive_title('', false));
1229
+ } elseif (is_tax()) {
1230
+ $tax = get_taxonomy(get_queried_object()->taxonomy);
1231
  /* translators: Taxonomy term archive title. 1: Taxonomy singular name, 2: Current taxonomy term */
1232
+ $title = sprintf(__('%1$s: %2$s'), $tax->labels->singular_name, single_term_title('', false));
1233
  }
1234
 
1235
  return $title;
 
1236
  }
1237
 
1238
  /**
1246
  function exactmetrics_count_third_party_ua_codes( $body, $type = 'ua' ) {
1247
  $count = 0;
1248
 
 
 
 
 
 
1249
  // Count all potential google site verification tags
1250
  if ( $type === 'ua' ) {
1251
  $pattern = '/content="UA-[0-9-]+"/';
1280
  return $count;
1281
  }
1282
 
1283
+ /**
1284
+ * Count the number of times the same tracking ID is used for Ads and Performance
1285
+ *
1286
+ * @param $current_code
1287
+ *
1288
+ * @return int
1289
+ */
1290
+ function exactmetrics_count_addon_codes( $current_code ) {
1291
+ $count = 0;
1292
+
1293
+
1294
+ // If the ads addon is installed and its conversion ID is the same as the current code, then increase the count
1295
+ if ( class_exists( 'ExactMetrics_Ads' ) ) {
1296
+ $ads_id = esc_attr( exactmetrics_get_option( 'gtag_ads_conversion_id' ) );
1297
+
1298
+ if ( $ads_id === $current_code ) {
1299
+ $count ++;
1300
+ }
1301
+ }
1302
+
1303
+ // If the performance addon is installed and its Google Optimize ID is the same as the current code, then increase the count
1304
+ if ( class_exists( 'ExactMetrics_Performance' ) ) {
1305
+ $container_id = exactmetrics_get_option( 'goptimize_container', '' );
1306
+
1307
+ if ( $container_id === $current_code ) {
1308
+ $count ++;
1309
+ }
1310
+ }
1311
+
1312
+ return $count;
1313
+ }
1314
+
1315
  /**
1316
  * Detect tracking code error depending on the type of tracking code
1317
  *
1334
  if ( $current_code && false === strpos( $body, $current_code ) ) {
1335
  // We have the tracking code but using another UA, so it's cached.
1336
  $errors[] = $cache_error;
1337
+
1338
  return $errors;
1339
  }
1340
 
1344
 
1345
  if ( $type === 'v4' && false === strpos( $body, '__gtagTracker' ) ) {
1346
  $errors[] = $cache_error;
1347
+
1348
  return $errors;
1349
  }
1350
 
1351
  $limit = 3;
1352
 
1353
+ $limit += exactmetrics_count_addon_codes( $current_code );
1354
+
1355
  // TODO: Need to re-evaluate this regularly when third party plugins start supporting v4
1356
  $limit += exactmetrics_count_third_party_ua_codes( $body, $type );
1357
 
1364
  $total_count -= count( $matches[0] );
1365
  }
1366
 
1367
+ // Main property always has a ?id=(UA|G|GT)-XXXXXXXX script
1368
  $connected_type = ExactMetrics()->auth->get_connected_type();
1369
  if ( $type === $connected_type && strpos( $body, 'googletagmanager.com/gtag/js?id=' . $current_code ) !== false ) {
1370
  // In that case, we can safely deduct one from the total count
1395
  *
1396
  * @return array
1397
  */
1398
+ function exactmetrics_is_code_installed_frontend()
1399
+ {
1400
  // Grab the front page html.
1401
+ $request = wp_remote_request(home_url(), array(
1402
  'sslverify' => false,
1403
+ ));
1404
  $errors = array();
1405
 
1406
  $accepted_http_codes = array(
1408
  503
1409
  );
1410
 
1411
+ $response_code = wp_remote_retrieve_response_code($request);
1412
 
1413
+ if (in_array($response_code, $accepted_http_codes, true)) {
1414
+ $body = wp_remote_retrieve_body($request);
1415
 
1416
  $errors = array_merge(
1417
+ exactmetrics_detect_tracking_code_error($body),
1418
+ exactmetrics_detect_tracking_code_error($body, 'v4')
1419
  );
1420
  }
1421
 
1425
  /**
1426
  * Returns a HEX color to highlight menu items based on the admin color scheme.
1427
  */
1428
+ function exactmetrics_menu_highlight_color()
1429
+ {
1430
 
1431
+ $color_scheme = get_user_option('admin_color');
1432
  $color = '#1da867';
1433
+ if ('light' === $color_scheme || 'blue' === $color_scheme) {
1434
  $color = '#5f3ea7';
1435
  }
1436
 
1442
  *
1443
  * @param string $url The url to which users get redirected.
1444
  */
1445
+ function exactmetrics_custom_track_pretty_links_redirect($url)
1446
+ {
1447
+ if (!function_exists('exactmetrics_mp_track_event_call') && !function_exists('exactmetrics_mp_collect_v4')) {
1448
  return;
1449
  }
1450
  // Try to determine if click originated on the same site.
1451
+ $referer = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
1452
+ if (!empty($referer)) {
1453
+ $current_site_url = get_bloginfo('url');
1454
+ $current_site_parsed = wp_parse_url($current_site_url);
1455
+ $parsed_referer = wp_parse_url($referer);
1456
+ if (!empty($parsed_referer['host']) && !empty($current_site_parsed['host']) && $current_site_parsed['host'] === $parsed_referer['host']) {
1457
  // Don't track clicks originating from same site as those are tracked with JS.
1458
  return;
1459
  }
1460
  }
1461
  // Check if this is an affiliate link and use the appropriate category.
1462
  $ec = 'outbound-link';
1463
+ $inbound_paths = exactmetrics_get_option('affiliate_links', array());
1464
+ $path = empty($_SERVER['REQUEST_URI']) ? '' : $_SERVER['REQUEST_URI'];
1465
+ if (!empty($inbound_paths) && is_array($inbound_paths) && !empty($path)) {
1466
  $found = false;
1467
+ foreach ($inbound_paths as $inbound_path) {
1468
+ if (empty($inbound_path['path'])) {
1469
  continue;
1470
  }
1471
+ if (0 === strpos($path, trim($inbound_path['path']))) {
1472
+ $label = !empty($inbound_path['label']) ? trim($inbound_path['label']) : 'aff';
1473
  $ec .= '-' . $label;
1474
  $found = true;
1475
  break;
1476
  }
1477
  }
1478
+ if (!$found) {
1479
  return;
1480
  }
1481
  } else {
1483
  return;
1484
  }
1485
 
1486
+ if (exactmetrics_get_ua_to_output()) {
1487
  $track_args = array(
1488
  't' => 'event',
1489
  'ec' => $ec,
1490
  'ea' => $url,
1491
  'el' => 'external-redirect',
1492
  );
1493
+ exactmetrics_mp_track_event_call($track_args);
1494
  }
1495
 
1496
+ if (exactmetrics_get_v4_id_to_output()) {
1497
+ $url_components = parse_url($url);
1498
  $args = array(
1499
  'events' => array(
1500
  array(
1506
  )
1507
  );
1508
 
1509
+ if (!empty($label)) {
1510
  $args['events'][0]['affiliate_label'] = $label;
1511
  $args['events'][0]['is_affiliate_link'] = true;
1512
  }
1513
 
1514
+ exactmetrics_mp_collect_v4($args);
1515
  }
1516
  }
1517
+ add_action('prli_before_redirect', 'exactmetrics_custom_track_pretty_links_redirect');
1518
 
1519
  /**
1520
  * Get post type in admin side
1521
  *
1522
  */
1523
+ function exactmetrics_get_current_post_type()
1524
+ {
1525
  global $post, $typenow, $current_screen;
1526
 
1527
+ if ($post && $post->post_type) {
1528
  return $post->post_type;
1529
+ } elseif ($typenow) {
1530
  return $typenow;
1531
+ } elseif ($current_screen && $current_screen->post_type) {
1532
  return $current_screen->post_type;
1533
+ } elseif (isset($_REQUEST['post_type'])) {
1534
+ return sanitize_key($_REQUEST['post_type']);
1535
  }
1536
 
1537
  return null;
1545
  *
1546
  * @return string
1547
  */
1548
+ function exactmetrics_decode_string($string)
1549
+ {
1550
 
1551
+ if (!is_string($string)) {
1552
  return $string;
1553
  }
1554
 
1555
+ return wp_kses_decode_entities(html_entity_decode($string, ENT_QUOTES));
1556
  }
1557
 
1558
+ add_filter('exactmetrics_email_message', 'exactmetrics_decode_string');
1559
 
1560
  /**
1561
  * Sanitize a string, that can be a multiline.
1568
  *
1569
  * @return string If empty var is passed, or not a string - return unmodified. Otherwise - sanitize.
1570
  */
1571
+ function exactmetrics_sanitize_textarea_field($string)
1572
+ {
1573
 
1574
+ if (empty($string) || !is_string($string)) {
1575
  return $string;
1576
  }
1577
 
1578
+ if (function_exists('sanitize_textarea_field')) {
1579
+ $string = sanitize_textarea_field($string);
1580
  } else {
1581
+ $string = implode("\n", array_map('sanitize_text_field', explode("\n", $string)));
1582
  }
1583
 
1584
  return $string;
1594
  *
1595
  * @return trimed sentence
1596
  */
1597
+ function exactmetrics_trim_text($text, $count)
1598
+ {
1599
  $text = str_replace(" ", " ", $text);
1600
  $string = explode(" ", $text);
1601
  $trimed = "";
1602
 
1603
+ for ($wordCounter = 0; $wordCounter <= $count; $wordCounter++) {
1604
+ $trimed .= isset($string[$wordCounter]) ? $string[$wordCounter] : '';
1605
 
1606
+ if ($wordCounter < $count) {
1607
  $trimed .= " ";
1608
  } else {
1609
  $trimed .= "...";
1619
  * Add newly generated builder URL to PrettyLinks &
1620
  * Clear localStorage key(ExactMetricsURL) after saving PrettyLink
1621
  */
1622
+ function exactmetrics_tools_copy_url_to_prettylinks()
1623
+ {
1624
  global $pagenow;
1625
 
1626
+ $post_type = isset($_GET['post_type']) ? $_GET['post_type'] : '';
1627
+ $exactmetrics_reference = isset($_GET['exactmetrics_reference']) ? $_GET['exactmetrics_reference'] : '';
1628
+
1629
+ if ('post-new.php' === $pagenow && 'pretty-link' === $post_type && 'url_builder' === $exactmetrics_reference) { ?>
1630
+ <script>
1631
+ let targetTitleField = document.querySelector("input[name='post_title']");
1632
+ let targetUrlField = document.querySelector("textarea[name='prli_url']");
1633
+ let ExactMetricsUrl = JSON.parse(localStorage.getItem('ExactMetricsURL'));
1634
+ if ('undefined' !== typeof targetUrlField && 'undefined' !== typeof ExactMetricsUrl) {
1635
+ let url = ExactMetricsUrl.value;
1636
+ let postTitle = '';
1637
+ let pathArray = url.split('?');
1638
+ if (pathArray.length <= 1) {
1639
+ pathArray = url.split('#');
1640
+ }
1641
+ let urlParams = new URLSearchParams(pathArray[1]);
1642
+ if (urlParams.has('utm_campaign')) {
1643
+ let campaign_name = urlParams.get('utm_campaign');
1644
+ postTitle += campaign_name;
1645
+ }
1646
+ if (urlParams.has('utm_medium')) {
1647
+ let campaign_medium = urlParams.get('utm_medium');
1648
+ postTitle += ` ${campaign_medium}`;
1649
+ }
1650
+ if (urlParams.has('utm_source')) {
1651
+ let campaign_source = urlParams.get('utm_source');
1652
+ postTitle += ` on ${campaign_source}`;
1653
+ }
1654
+ if (urlParams.has('utm_term')) {
1655
+ let campaign_term = urlParams.get('utm_term');
1656
+ postTitle += ` for ${campaign_term}`;
1657
+ }
1658
+ if (urlParams.has('utm_content')) {
1659
+ let campaign_content = urlParams.get('utm_content');
1660
+ postTitle += ` - ${campaign_content}`;
1661
+ }
1662
+ if ('undefined' !== typeof targetTitleField && postTitle) {
1663
+ targetTitleField.value = postTitle;
1664
+ }
1665
+ if (url) {
1666
+ targetUrlField.value = url;
1667
+ }
1668
+ }
1669
+ let form = document.getElementById('post');
1670
+ form.addEventListener('submit', function() {
1671
+ localStorage.removeItem('ExactMetricsURL');
1672
+ });
1673
+ </script>
1674
+ <?php }
1675
  }
1676
+ add_action('admin_footer', 'exactmetrics_tools_copy_url_to_prettylinks');
1677
 
1678
  /**
1679
  * When click on 'Create New Pretty Link" button(on tools/prettylinks-flow page) after installing & activating prettylinks plugin
1680
  * it redirects to PrettyLinks welcome scree page instead of prettylinks add new page.
1681
  * This function will skip that welcome screen
1682
  */
1683
+ function exactmetrics_skip_prettylinks_welcome_screen()
1684
+ {
1685
  global $pagenow;
1686
 
1687
+ $post_type = isset($_GET['post_type']) ? $_GET['post_type'] : '';
1688
+ $exactmetrics_reference = isset($_GET['exactmetrics_reference']) ? $_GET['exactmetrics_reference'] : '';
1689
 
1690
+ if ('post-new.php' === $pagenow && 'pretty-link' === $post_type && 'url_builder' === $exactmetrics_reference) {
1691
+ $onboard = get_option('prli_onboard');
1692
 
1693
+ if ($onboard == 'welcome' || $onboard == 'update') {
1694
+ update_option('exactmetrics_backup_prli_onboard_value', $onboard);
1695
+ delete_option('prli_onboard');
1696
  }
1697
  }
1698
  }
1699
+ add_action('wp_loaded', 'exactmetrics_skip_prettylinks_welcome_screen', 9);
1700
 
1701
  /**
1702
  * Restore the `prli_onboard` value after creating a prettylinks with exactmetrics prettylinks flow
1703
  * users will see the prettylinks welcome screen after fresh installation & creating prettylinks with exactmetrics prettylinks flow
1704
  */
1705
+ function exactmetrics_restore_prettylinks_onboard_value()
1706
+ {
1707
  global $pagenow;
1708
 
1709
+ $post_type = isset($_GET['post_type']) ? $_GET['post_type'] : '';
1710
 
1711
+ if ('edit.php' === $pagenow && 'pretty-link' === $post_type) {
1712
+ $onboard = get_option('exactmetrics_backup_prli_onboard_value');
1713
 
1714
+ if (class_exists('PrliBaseController') && ($onboard == 'welcome' || $onboard == 'update')) {
1715
+ update_option('prli_onboard', $onboard);
1716
+ delete_option('exactmetrics_backup_prli_onboard_value');
1717
  }
1718
  }
1719
  }
1720
+ add_action('wp_loaded', 'exactmetrics_restore_prettylinks_onboard_value', 15);
1721
 
1722
  /**
1723
  * Check WP version and include the compatible upgrader skin.
1724
  *
1725
  * @param bool $custom_upgrader If true it will include our custom upgrader, otherwise it will use the default WP one.
1726
  */
1727
+ function exactmetrics_require_upgrader($custom_upgrader = true)
1728
+ {
1729
 
1730
  global $wp_version;
1731
 
1732
  $base = ExactMetrics();
1733
 
1734
+ if (!$custom_upgrader) {
1735
  require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
1736
  }
1737
 
1738
  // WP 5.3 changes the upgrader skin.
1739
+ if (version_compare($wp_version, '5.3', '<')) {
1740
+ if ($custom_upgrader) {
1741
+ require_once plugin_dir_path($base->file) . 'includes/admin/licensing/plugin-upgrader.php';
1742
  }
1743
+ require_once plugin_dir_path($base->file) . '/includes/admin/licensing/skin-legacy.php';
1744
  } else {
1745
+ if ($custom_upgrader) {
1746
+ require_once plugin_dir_path($base->file) . 'includes/admin/licensing/plugin-upgrader.php';
1747
  }
1748
+ require_once plugin_dir_path($base->file) . '/includes/admin/licensing/skin.php';
1749
  }
 
1750
  }
1751
 
1752
  /**
1756
  * @since 7.12.3
1757
  *
1758
  */
1759
+ function exactmetrics_load_gutenberg_app()
1760
+ {
1761
  global $wp_version;
1762
 
1763
+ if (version_compare($wp_version, '5.4', '<')) {
1764
  return false;
1765
  }
1766
 
1775
  *
1776
  *
1777
  */
1778
+ function exactmetrics_get_frontend_analytics_script_atts()
1779
+ {
1780
  $attr_string = '';
1781
 
1782
+ $default_attributes = [
1783
  'data-cfasync' => 'false',
1784
  'data-wpfc-render' => 'false',
1785
+ ];
1786
+ if (!current_theme_supports('html5', 'script')) {
1787
  $default_attributes['type'] = 'text/javascript';
1788
+ }
1789
 
1790
+ $attributes = apply_filters('exactmetrics_tracking_analytics_script_attributes', $default_attributes);
1791
 
1792
+ if (!empty($attributes)) {
1793
+ foreach ($attributes as $attr_name => $attr_value) {
1794
+ if (!empty($attr_name)) {
1795
+ $attr_string .= ' ' . sanitize_key($attr_name) . '="' . esc_attr($attr_value) . '"';
1796
  } else {
1797
+ $attr_string .= ' ' . esc_attr($attr_value);
1798
  }
1799
  }
1800
  }
1809
  * @since 8.5.0
1810
  *
1811
  */
1812
+ function exactmetrics_localize_script($handle, $object_name, $data, $priority = 100)
1813
+ {
1814
+ $theme_supports_html5 = current_theme_supports('html5', 'script');
1815
+ $script_js = !$theme_supports_html5 ? "/* <![CDATA[ */\n" : '';
1816
+ $script_js .= "var $object_name = " . wp_json_encode($data) . ';';
1817
+ $script_js .= !$theme_supports_html5 ? "/* ]]> */\n" : '';
1818
 
1819
  $script = sprintf(
1820
  "<script%s id='%s-js-extra'>%s</script>\n",
1821
  exactmetrics_get_frontend_analytics_script_atts(),
1822
+ esc_attr($handle),
1823
  $script_js
1824
  );
1825
 
1826
+ add_filter('script_loader_tag', function ($tag, $current_handle) use ($handle, $script) {
1827
+ if ($current_handle !== $handle) {
1828
  return $tag;
1829
  }
1830
 
1831
  return $tag . $script;
1832
+ }, $priority, 2);
1833
  }
1834
 
1835
  /**
1839
  *
1840
  * @since 7.12.3
1841
  */
1842
+ function exactmetrics_get_english_speaking_countries()
1843
+ {
1844
  return array(
1845
+ 'AG' => __('Antigua and Barbuda', 'google-analytics-dashboard-for-wp'),
1846
+ 'AU' => __('Australia', 'google-analytics-dashboard-for-wp'),
1847
+ 'BB' => __('Barbados', 'google-analytics-dashboard-for-wp'),
1848
+ 'BZ' => __('Belize', 'google-analytics-dashboard-for-wp'),
1849
+ 'BW' => __('Botswana', 'google-analytics-dashboard-for-wp'),
1850
+ 'BI' => __('Burundi', 'google-analytics-dashboard-for-wp'),
1851
+ 'CM' => __('Cameroon', 'google-analytics-dashboard-for-wp'),
1852
+ 'CA' => __('Canada', 'google-analytics-dashboard-for-wp'),
1853
+ 'DM' => __('Dominica', 'google-analytics-dashboard-for-wp'),
1854
+ 'FJ' => __('Fiji', 'google-analytics-dashboard-for-wp'),
1855
+ 'GD' => __('Grenada', 'google-analytics-dashboard-for-wp'),
1856
+ 'GY' => __('Guyana', 'google-analytics-dashboard-for-wp'),
1857
+ 'GM' => __('Gambia', 'google-analytics-dashboard-for-wp'),
1858
+ 'GH' => __('Ghana', 'google-analytics-dashboard-for-wp'),
1859
+ 'IE' => __('Ireland', 'google-analytics-dashboard-for-wp'),
1860
+ 'IN' => __('India', 'google-analytics-dashboard-for-wp'),
1861
+ 'JM' => __('Jamaica', 'google-analytics-dashboard-for-wp'),
1862
+ 'KE' => __('Kenya', 'google-analytics-dashboard-for-wp'),
1863
+ 'KI' => __('Kiribati', 'google-analytics-dashboard-for-wp'),
1864
+ 'LS' => __('Lesotho', 'google-analytics-dashboard-for-wp'),
1865
+ 'LR' => __('Liberia', 'google-analytics-dashboard-for-wp'),
1866
+ 'MW' => __('Malawi', 'google-analytics-dashboard-for-wp'),
1867
+ 'MT' => __('Malta', 'google-analytics-dashboard-for-wp'),
1868
+ 'MH' => __('Marshall Islands', 'google-analytics-dashboard-for-wp'),
1869
+ 'MU' => __('Mauritius', 'google-analytics-dashboard-for-wp'),
1870
+ 'FM' => __('Micronesia', 'google-analytics-dashboard-for-wp'),
1871
+ 'NZ' => __('New Zealand', 'google-analytics-dashboard-for-wp'),
1872
+ 'NA' => __('Namibia', 'google-analytics-dashboard-for-wp'),
1873
+ 'NR' => __('Nauru', 'google-analytics-dashboard-for-wp'),
1874
+ 'NG' => __('Nigeria', 'google-analytics-dashboard-for-wp'),
1875
+ 'PK' => __('Pakistan', 'google-analytics-dashboard-for-wp'),
1876
+ 'PW' => __('Palau', 'google-analytics-dashboard-for-wp'),
1877
+ 'PG' => __('Papua New Guinea', 'google-analytics-dashboard-for-wp'),
1878
+ 'PH' => __('Philippines', 'google-analytics-dashboard-for-wp'),
1879
+ 'RW' => __('Rwanda', 'google-analytics-dashboard-for-wp'),
1880
+ 'SG' => __('Singapore', 'google-analytics-dashboard-for-wp'),
1881
+ 'KN' => __('St Kitts and Nevis', 'google-analytics-dashboard-for-wp'),
1882
+ 'LC' => __('St Lucia', 'google-analytics-dashboard-for-wp'),
1883
+ 'VC' => __('St Vincent and the Grenadines', 'google-analytics-dashboard-for-wp'),
1884
+ 'SZ' => __('Swaziland', 'google-analytics-dashboard-for-wp'),
1885
+ 'WS' => __('Samoa', 'google-analytics-dashboard-for-wp'),
1886
+ 'SC' => __('Seychelles', 'google-analytics-dashboard-for-wp'),
1887
+ 'SL' => __('Sierra Leone', 'google-analytics-dashboard-for-wp'),
1888
+ 'SB' => __('Solomon Islands', 'google-analytics-dashboard-for-wp'),
1889
+ 'ZA' => __('South Africa', 'google-analytics-dashboard-for-wp'),
1890
+ 'SS' => __('South Sudan', 'google-analytics-dashboard-for-wp'),
1891
+ 'SD' => __('Sudan', 'google-analytics-dashboard-for-wp'),
1892
+ 'TT' => __('Trinidad and Tobago', 'google-analytics-dashboard-for-wp'),
1893
+ 'BS' => __('The Bahamas', 'google-analytics-dashboard-for-wp'),
1894
+ 'TZ' => __('Tanzania', 'google-analytics-dashboard-for-wp'),
1895
+ 'TO' => __('Tonga', 'google-analytics-dashboard-for-wp'),
1896
+ 'TV' => __('Tuvalu', 'google-analytics-dashboard-for-wp'),
1897
+ 'GB' => __('United Kingdom', 'google-analytics-dashboard-for-wp'),
1898
+ 'US' => __('United States of America', 'google-analytics-dashboard-for-wp'),
1899
+ 'UG' => __('Uganda', 'google-analytics-dashboard-for-wp'),
1900
+ 'VU' => __('Vanuatu', 'google-analytics-dashboard-for-wp'),
1901
+ 'ZM' => __('Zambia', 'google-analytics-dashboard-for-wp'),
1902
+ 'ZW' => __('Zimbabwe', 'google-analytics-dashboard-for-wp'),
1903
  );
1904
  }
1905
 
1908
  *
1909
  * @return bool
1910
  */
1911
+ function exactmetrics_can_install_plugins()
1912
+ {
1913
 
1914
+ if (!current_user_can('install_plugins')) {
1915
  return false;
1916
  }
1917
 
1918
  // Determine whether file modifications are allowed.
1919
+ if (function_exists('wp_is_file_mod_allowed') && !wp_is_file_mod_allowed('exactmetrics_can_install')) {
1920
  return false;
1921
  }
1922
 
1933
  *
1934
  * @return bool
1935
  */
1936
+ function exactmetrics_date_is_between($start_date, $end_date)
1937
+ {
1938
 
1939
+ $current_date = current_time('Y-m-d');
1940
 
1941
+ $start_date = date('Y-m-d', strtotime($start_date));
1942
+ $end_date = date('Y-m-d', strtotime($end_date));
1943
 
1944
+ if (($current_date >= $start_date) && ($current_date <= $end_date)) {
1945
  return true;
1946
  }
1947
 
1955
  *
1956
  * @return bool
1957
  */
1958
+ function exactmetrics_is_aioseo_active()
1959
+ {
1960
 
1961
+ if (function_exists('aioseo')) {
1962
  return true;
1963
  }
1964
 
1972
  *
1973
  * @return string
1974
  */
1975
+ function exactmetrics_aioseo_dashboard_url()
1976
+ {
1977
  $url = '';
1978
 
1979
+ if (function_exists('aioseo')) {
1980
+ $url = is_multisite() ? network_admin_url('admin.php?page=aioseo') : admin_url('admin.php?page=aioseo');
1981
  }
1982
 
1983
  return $url;
1990
  *
1991
  * @return bool
1992
  */
1993
+ function exactmetrics_is_installed_aioseo_pro()
1994
+ {
1995
  $installed_plugins = get_plugins();
1996
 
1997
+ if (array_key_exists('all-in-one-seo-pack-pro/all_in_one_seo_pack.php', $installed_plugins)) {
1998
  return true;
1999
  }
2000
 
includes/options.php CHANGED
@@ -1,537 +1,554 @@
1
- <?php
2
- /**
3
- * Option functions.
4
- *
5
- * @since 6.0.0
6
- *
7
- * @package ExactMetrics
8
- * @subpackage Options
9
- * @author Chris Christoff
10
- */
11
-
12
- // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- function exactmetrics_get_options() {
18
- $settings = array();
19
- $option_name = exactmetrics_get_option_name();
20
- //$settings = get_site_option( $option_name );
21
- //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
22
- //$is_network = is_multisite();
23
-
24
- //if ( $is_network && $use_network_settings ) {
25
- // return $settings;
26
- //} else if ( $is_network ) {
27
- $settings = get_option( $option_name );
28
- //} else {
29
- // return $settings;
30
- //}
31
- if ( empty( $settings ) || ! is_array( $settings ) ) {
32
- $settings = array();
33
- }
34
- return $settings;
35
- }
36
-
37
- /**
38
- * Helper method for getting a setting's value. Falls back to the default
39
- * setting value if none exists in the options table.
40
- *
41
- * @since 6.0.0
42
- * @access public
43
- *
44
- * @param string $key The setting key to retrieve.
45
- * @param mixed $default The default value of the setting key to retrieve.
46
- * @return string The value of the setting.
47
- */
48
- function exactmetrics_get_option( $key = '', $default = false ) {
49
- global $exactmetrics_settings;
50
- $value = ! empty( $exactmetrics_settings[ $key ] ) ? $exactmetrics_settings[ $key ] : $default;
51
- $value = apply_filters( 'exactmetrics_get_option', $value, $key, $default );
52
- return apply_filters( 'exactmetrics_get_option_' . $key, $value, $key, $default );
53
- }
54
-
55
- /**
56
- * Helper method for getting the UA string.
57
- *
58
- * @since 6.0.0
59
- * @access public
60
- *
61
- * @return string The UA to use.
62
- */
63
- function exactmetrics_get_ua() {
64
- // Allow short circuiting (for staging sites)
65
- if ( defined( 'EXACTMETRICS_DISABLE_TRACKING' ) && EXACTMETRICS_DISABLE_TRACKING ) {
66
- return '';
67
- }
68
-
69
- // Try getting it from the auth UA
70
- $ua = ExactMetrics()->auth->get_ua();
71
-
72
- // If that didn't work, try the manual UA at the site level
73
- if ( empty( $ua ) ) {
74
- $ua = ExactMetrics()->auth->get_manual_ua();
75
- // If that didn't work try getting it from the network
76
- if ( empty( $ua ) ) {
77
- $ua = exactmetrics_get_network_ua();
78
- // If that didn't work, try getting it from the overall constant. If it's not there, leave it blank
79
- if ( empty( $ua ) ) {
80
- $ua = defined( 'EXACTMETRICS_GA_UA' ) && EXACTMETRICS_GA_UA ? exactmetrics_is_valid_ua( EXACTMETRICS_GA_UA ) : '';
81
- }
82
- }
83
- }
84
-
85
- // Feed through the filter
86
- $pre_filter = $ua;
87
- $ua = apply_filters( 'exactmetrics_get_ua', $ua );
88
-
89
- // Only run through exactmetrics_is_valid_ua if it's different than pre-filter
90
- return $pre_filter === $ua ? $ua : exactmetrics_is_valid_ua( $ua );
91
- }
92
-
93
- function exactmetrics_get_tracking_ids() {
94
- $ids = array();
95
-
96
- $ua = exactmetrics_get_ua_to_output();
97
- if ( $ua ) {
98
- $ids[] = $ua;
99
- }
100
-
101
- $v4 = exactmetrics_get_v4_id_to_output();
102
- if ( $v4 ) {
103
- $ids[] = $v4;
104
- }
105
-
106
- return $ids;
107
- }
108
-
109
- /**
110
- * Helper method for getting the network UA string.
111
- *
112
- * @since 6.0.0
113
- * @access public
114
- *
115
- * @return string The UA to use.
116
- */
117
- function exactmetrics_get_network_ua() {
118
- if ( ! is_multisite() ) {
119
- return '';
120
- }
121
-
122
- // First try network auth UA
123
- $ua = ExactMetrics()->auth->get_network_ua();
124
- if ( ! empty( $ua ) ) {
125
- return $ua;
126
- }
127
-
128
- // Then try manual network UA
129
- $ua = ExactMetrics()->auth->get_network_manual_ua();
130
- if ( ! empty( $ua ) ) {
131
- return $ua;
132
- }
133
-
134
- // See if the constant is defined
135
- if ( defined( 'EXACTMETRICS_MS_GA_UA' ) && exactmetrics_is_valid_ua( EXACTMETRICS_MS_GA_UA ) ) {
136
- return EXACTMETRICS_MS_GA_UA;
137
- }
138
-
139
- return '';
140
- }
141
-
142
- /**
143
- * Helper method for getting the UA string that's output on the frontend.
144
- *
145
- * @since 6.0.0
146
- * @access public
147
- *
148
- * @param array $args Allow calling functions to give args to use in future applications.
149
- * @return string The UA to use on frontend.
150
- */
151
- function exactmetrics_get_ua_to_output( $args = array() ) {
152
- $ua = exactmetrics_get_ua();
153
- $ua = apply_filters( 'exactmetrics_get_ua_to_output', $ua, $args );
154
- return exactmetrics_is_valid_ua( $ua );
155
- }
156
-
157
- /**
158
- * Helper method for getting the V4 string.
159
- *
160
- * @since 6.0.0
161
- * @access public
162
- *
163
- * @return string The V4 ID to use.
164
- */
165
- function exactmetrics_get_v4_id() {
166
- // Allow short circuiting (for staging sites)
167
- if ( defined( 'EXACTMETRICS_DISABLE_TRACKING' ) && EXACTMETRICS_DISABLE_TRACKING ) {
168
- return '';
169
- }
170
-
171
- // Try getting it from the auth V4
172
- $v4_id = ExactMetrics()->auth->get_v4_id();
173
-
174
- // If that didn't work, try the manual V4 at the site level
175
- if ( empty( $v4_id ) ) {
176
- $v4_id = ExactMetrics()->auth->get_manual_v4_id();
177
- // If that didn't work try getting it from the network
178
- if ( empty( $v4_id ) ) {
179
- $v4_id = exactmetrics_get_network_v4_id();
180
- // If that didn't work, try getting it from the overall constant. If it's not there, leave it blank
181
- if ( empty( $v4_id ) ) {
182
- $v4_id = defined( 'EXACTMETRICS_GA_V4_ID' ) && EXACTMETRICS_GA_V4_ID ? exactmetrics_is_valid_v4_id( EXACTMETRICS_GA_V4_ID ) : '';
183
- }
184
- }
185
- }
186
-
187
- // Feed through the filter
188
- $pre_filter = $v4_id;
189
- $v4_id = apply_filters( 'exactmetrics_get_v4_id', $v4_id );
190
-
191
- // Only run through exactmetrics_is_valid_v4 if it's different than pre-filter
192
- return $pre_filter === $v4_id ? $v4_id : exactmetrics_is_valid_v4_id( $v4_id );
193
- }
194
-
195
- /**
196
- * Helper method for getting the network V4 string.
197
- *
198
- * @since 6.0.0
199
- * @access public
200
- *
201
- * @return string The V4 ID to use.
202
- */
203
- function exactmetrics_get_network_v4_id() {
204
- if ( ! is_multisite() ) {
205
- return '';
206
- }
207
-
208
- // First try network auth UA
209
- $v4_id = ExactMetrics()->auth->get_network_v4_id();
210
- if ( ! empty( $v4_id ) ) {
211
- return $v4_id;
212
- }
213
-
214
- // Then try manual network UA
215
- $v4_id = ExactMetrics()->auth->get_network_manual_v4_id();
216
- if ( ! empty( $v4_id ) ) {
217
- return $v4_id;
218
- }
219
-
220
- // See if the constant is defined
221
- if ( defined( 'EXACTMETRICS_MS_GA_V4_ID' ) && exactmetrics_is_valid_v4_id( EXACTMETRICS_MS_GA_V4_ID ) ) {
222
- return EXACTMETRICS_MS_GA_V4_ID;
223
- }
224
-
225
- return '';
226
- }
227
-
228
- /**
229
- * Helper method for getting the UA string that's output on the frontend.
230
- *
231
- * @since 6.0.0
232
- * @access public
233
- *
234
- * @param array $args Allow calling functions to give args to use in future applications.
235
- * @return string The UA to use on frontend.
236
- */
237
- function exactmetrics_get_v4_id_to_output( $args = array() ) {
238
- $v4_id = exactmetrics_get_v4_id();
239
- $v4_id = apply_filters( 'exactmetrics_get_v4_id_to_output', $v4_id, $args );
240
- return exactmetrics_is_valid_v4_id( $v4_id );
241
- }
242
-
243
- /**
244
- * Helper method for updating a setting's value.
245
- *
246
- * @since 6.0.0
247
- * @access public
248
- *
249
- * @param string $key The setting key.
250
- * @param string $value The value to set for the key.
251
- * @return boolean True if updated, false if not.
252
- */
253
- function exactmetrics_update_option( $key = '', $value = false ) {
254
-
255
- // If no key, exit
256
- if ( empty( $key ) ){
257
- return false;
258
- }
259
-
260
- if ( empty( $value ) ) {
261
- $remove_option = exactmetrics_delete_option( $key );
262
- return $remove_option;
263
- }
264
-
265
- $option_name = exactmetrics_get_option_name();
266
-
267
- // First let's grab the current settings
268
-
269
- // if on network panel or if on single site using network settings
270
- //$settings = get_site_option( $option_name );
271
- //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
272
- //$is_network = is_multisite();
273
- //$update_network_option = true;
274
- //if ( ! is_network_admin() && ! ( $is_network && $use_network_settings ) ) {
275
- $settings = get_option( $option_name );
276
- // $update_network_option = false;
277
- //}
278
-
279
- if ( ! is_array( $settings ) ) {
280
- $settings = array();
281
- }
282
-
283
- // Let's let devs alter that value coming in
284
- $value = apply_filters( 'exactmetrics_update_option', $value, $key );
285
-
286
- // Next let's try to update the value
287
- $settings[ $key ] = $value;
288
- $did_update = false;
289
- //if ( $update_network_option ) {
290
- // $did_update = update_site_option( $option_name, $settings );
291
- //} else {
292
- $did_update = update_option( $option_name, $settings );
293
- //}
294
-
295
- // If it updated, let's update the global variable
296
- if ( $did_update ){
297
- global $exactmetrics_settings;
298
- $exactmetrics_settings[ $key ] = $value;
299
- }
300
-
301
- return $did_update;
302
- }
303
-
304
- /**
305
- * Helper method for deleting a setting's value.
306
- *
307
- * @since 6.0.0
308
- * @access public
309
- *
310
- * @param string $key The setting key.
311
- * @return boolean True if removed, false if not.
312
- */
313
- function exactmetrics_delete_option( $key = '' ) {
314
- // If no key, exit
315
- if ( empty( $key ) ){
316
- return false;
317
- }
318
-
319
- $option_name = exactmetrics_get_option_name();
320
-
321
- // First let's grab the current settings
322
-
323
- // if on network panel or if on single site using network settings
324
- //$settings = get_site_option( $option_name );
325
- //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
326
- //$is_network = is_multisite();
327
- //$update_network_option = true;
328
- //if ( ! is_network_admin() && ! ( $is_network && $use_network_settings ) ) {
329
- $settings = get_option( $option_name );
330
- // $update_network_option = false;
331
- //}
332
-
333
- // Next let's try to remove the key
334
- if( isset( $settings[ $key ] ) ) {
335
- unset( $settings[ $key ] );
336
- }
337
-
338
- $did_update = false;
339
- //if ( $update_network_option ) {
340
- // $did_update = update_site_option( 'exactmetrics_settings', $settings );
341
- //} else {
342
- $did_update = update_option( $option_name, $settings );
343
- //}
344
-
345
- // If it updated, let's update the global variable
346
- if ( $did_update ){
347
- global $exactmetrics_settings;
348
- $exactmetrics_settings = $settings;
349
- }
350
-
351
- return $did_update;
352
- }
353
-
354
- /**
355
- * Helper method for deleting multiple settings value.
356
- *
357
- * @since 6.0.0
358
- * @access public
359
- *
360
- * @param string $key The setting key.
361
- * @return boolean True if removed, false if not.
362
- */
363
- function exactmetrics_delete_options( $keys = array() ) {
364
- // If no keys, exit
365
- if ( empty( $keys ) || ! is_array( $keys ) ){
366
- return false;
367
- }
368
-
369
- $option_name = exactmetrics_get_option_name();
370
-
371
- // First let's grab the current settings
372
-
373
- // if on network panel or if on single site using network settings
374
- //$settings = get_site_option( $option_name );
375
- //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
376
- //$is_network = is_multisite();
377
- //$update_network_option = true;
378
- //if ( ! is_network_admin() && ! ( $is_network && $use_network_settings ) ) {
379
- $settings = get_option( $option_name );
380
- // $update_network_option = false;
381
- //}
382
-
383
- // Next let's try to remove the keys
384
- foreach ( $keys as $key ) {
385
- if( isset( $settings[ $key ] ) ) {
386
- unset( $settings[ $key ] );
387
- }
388
- }
389
-
390
- $did_update = false;
391
- //if ( $update_network_option ) {
392
- // $did_update = update_site_option( 'exactmetrics_settings', $settings );
393
- //} else {
394
- $did_update = update_option( $option_name, $settings );
395
- //}
396
-
397
- // If it updated, let's update the global variable
398
- if ( $did_update ){
399
- global $exactmetrics_settings;
400
- $exactmetrics_settings = $settings;
401
- }
402
-
403
- return $did_update;
404
- }
405
-
406
- function exactmetrics_sanitize_tracking_id( $id ) {
407
- $id = (string) $id; // Rare case, but let's make sure it never happens.
408
- $id = trim( $id );
409
-
410
- if ( empty( $id ) ) {
411
- return '';
412
- }
413
-
414
- // Replace all type of dashes (n-dash, m-dash, minus) with normal dashes.
415
- $id = str_replace( array( '–', '—', '−' ), '-', $id );
416
-
417
- return $id;
418
- }
419
-
420
- /**
421
- * Is valid ua code.
422
- *
423
- * @access public
424
- * @since 6.0.0
425
- *
426
- * @param string $ua_code UA code to check validity for.
427
- *
428
- * @return string|false Return cleaned ua string if valid, else returns false.
429
- */
430
- function exactmetrics_is_valid_ua( $ua_code = '' ) {
431
- $ua_code = exactmetrics_sanitize_tracking_id( $ua_code );
432
-
433
- if ( preg_match( "/^(UA|YT|MO)-\d{4,}-\d+$/", $ua_code ) ) {
434
- return $ua_code;
435
- }
436
-
437
- return '';
438
- }
439
-
440
- function exactmetrics_is_valid_v4_id( $v4_code = '' ) {
441
- $v4_code = exactmetrics_sanitize_tracking_id( $v4_code );
442
-
443
- if ( preg_match( '/G-[A-Za-z\d]+/', $v4_code ) ) {
444
- return strtoupper( $v4_code );
445
- }
446
-
447
- return '';
448
- }
449
-
450
- /**
451
- * Helper method for getting the license information.
452
- *
453
- * @since 6.0.0
454
- * @access public
455
- *
456
- * @param string $key The setting key to retrieve.
457
- * @param mixed $default_value The default value of the setting key to retrieve.
458
- * @return string The value of the setting.
459
- */
460
- function exactmetrics_get_license() {
461
- $license = ExactMetrics()->license->get_site_license();
462
- $license = $license ? $license : ExactMetrics()->license->get_network_license();
463
- $default = ExactMetrics()->license->get_default_license_key();
464
- if ( empty( $license ) && ! empty( $default ) ) {
465
- $license = array();
466
- $license['key'] = ExactMetrics()->license->get_default_license_key();
467
- }
468
- return $license;
469
- }
470
-
471
- /**
472
- * Helper method for getting the license key.
473
- *
474
- * @since 6.0.0
475
- * @access public
476
- *
477
- * @param string $key The setting key to retrieve.
478
- * @param mixed $default_value The default value of the setting key to retrieve.
479
- * @return string The value of the setting.
480
- */
481
- function exactmetrics_get_license_key() {
482
- if ( exactmetrics_is_pro_version() ) {
483
- return ExactMetrics()->license->get_license_key();
484
- }
485
- return '';
486
- }
487
-
488
- function exactmetrics_get_option_name() {
489
- //if ( exactmetrics_is_pro_version() ) {
490
- return 'exactmetrics_settings';
491
- //} else {
492
- // return 'exactmetrics_settings';
493
- //}
494
- }
495
-
496
- function exactmetrics_export_settings() {
497
- $settings = exactmetrics_get_options();
498
- $exclude = array(
499
- 'analytics_profile',
500
- 'analytics_profile_code',
501
- 'analytics_profile_name',
502
- 'oauth_version',
503
- 'cron_last_run',
504
- 'exactmetrics_oauth_status',
505
- );
506
-
507
- foreach ( $exclude as $e ) {
508
- if ( ! empty( $settings[ $e ] ) ) {
509
- unset( $settings[ $e ] );
510
- }
511
- }
512
- return wp_json_encode( $settings );
513
- }
514
-
515
- /**
516
- * Always return 'gtag' when grabbing the tracking mode.
517
- *
518
- * @param string $value The value to override.
519
- *
520
- * @return string
521
- */
522
- function exactmetrics_force_tracking_mode( $value ) {
523
- return 'gtag';
524
- }
525
- add_filter( 'exactmetrics_get_option_tracking_mode', 'exactmetrics_force_tracking_mode' );
526
-
527
- /**
528
- * Always return 'js' when grabbing the events mode.
529
- *
530
- * @param string $value The value to override.
531
- *
532
- * @return string
533
- */
534
- function exactmetrics_force_events_mode( $value ) {
535
- return 'js';
536
- }
537
- add_filter( 'exactmetrics_get_option_events_mode', 'exactmetrics_force_events_mode' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Option functions.
4
+ *
5
+ * @since 6.0.0
6
+ *
7
+ * @package ExactMetrics
8
+ * @subpackage Options
9
+ * @author Chris Christoff
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ function exactmetrics_get_options() {
18
+ $settings = array();
19
+ $option_name = exactmetrics_get_option_name();
20
+ //$settings = get_site_option( $option_name );
21
+ //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
22
+ //$is_network = is_multisite();
23
+
24
+ //if ( $is_network && $use_network_settings ) {
25
+ // return $settings;
26
+ //} else if ( $is_network ) {
27
+ $settings = get_option( $option_name );
28
+ //} else {
29
+ // return $settings;
30
+ //}
31
+ if ( empty( $settings ) || ! is_array( $settings ) ) {
32
+ $settings = array();
33
+ }
34
+ return $settings;
35
+ }
36
+
37
+ /**
38
+ * Helper method for getting a setting's value. Falls back to the default
39
+ * setting value if none exists in the options table.
40
+ *
41
+ * @since 6.0.0
42
+ * @access public
43
+ *
44
+ * @param string $key The setting key to retrieve.
45
+ * @param mixed $default The default value of the setting key to retrieve.
46
+ * @return string The value of the setting.
47
+ */
48
+ function exactmetrics_get_option( $key = '', $default = false ) {
49
+ global $exactmetrics_settings;
50
+ $value = ! empty( $exactmetrics_settings[ $key ] ) ? $exactmetrics_settings[ $key ] : $default;
51
+ $value = apply_filters( 'exactmetrics_get_option', $value, $key, $default );
52
+ return apply_filters( 'exactmetrics_get_option_' . $key, $value, $key, $default );
53
+ }
54
+
55
+ /**
56
+ * Helper method for getting the UA string.
57
+ *
58
+ * @since 6.0.0
59
+ * @access public
60
+ *
61
+ * @return string The UA to use.
62
+ */
63
+ function exactmetrics_get_ua() {
64
+ // Allow short circuiting (for staging sites)
65
+ if ( defined( 'EXACTMETRICS_DISABLE_TRACKING' ) && EXACTMETRICS_DISABLE_TRACKING ) {
66
+ return '';
67
+ }
68
+
69
+ // Try getting it from the auth UA
70
+ $ua = ExactMetrics()->auth->get_ua();
71
+
72
+ // If that didn't work, try the manual UA at the site level
73
+ if ( empty( $ua ) ) {
74
+ $ua = ExactMetrics()->auth->get_manual_ua();
75
+ // If that didn't work try getting it from the network
76
+ if ( empty( $ua ) ) {
77
+ $ua = exactmetrics_get_network_ua();
78
+ // If that didn't work, try getting it from the overall constant. If it's not there, leave it blank
79
+ if ( empty( $ua ) ) {
80
+ $ua = defined( 'EXACTMETRICS_GA_UA' ) && EXACTMETRICS_GA_UA ? exactmetrics_is_valid_ua( EXACTMETRICS_GA_UA ) : '';
81
+ }
82
+ }
83
+ }
84
+
85
+ // Feed through the filter
86
+ $pre_filter = $ua;
87
+ $ua = apply_filters( 'exactmetrics_get_ua', $ua );
88
+
89
+ // Only run through exactmetrics_is_valid_ua if it's different than pre-filter
90
+ return $pre_filter === $ua ? $ua : exactmetrics_is_valid_ua( $ua );
91
+ }
92
+
93
+ function exactmetrics_get_tracking_ids() {
94
+ $ids = array();
95
+
96
+ $ua = exactmetrics_get_ua_to_output();
97
+ if ( $ua ) {
98
+ $ids[] = $ua;
99
+ }
100
+
101
+ $v4 = exactmetrics_get_v4_id_to_output();
102
+ if ( $v4 ) {
103
+ $ids[] = $v4;
104
+ }
105
+
106
+ return $ids;
107
+ }
108
+
109
+ /**
110
+ * Helper method for getting the network UA string.
111
+ *
112
+ * @since 6.0.0
113
+ * @access public
114
+ *
115
+ * @return string The UA to use.
116
+ */
117
+ function exactmetrics_get_network_ua() {
118
+ if ( ! is_multisite() ) {
119
+ return '';
120
+ }
121
+
122
+ // First try network auth UA
123
+ $ua = ExactMetrics()->auth->get_network_ua();
124
+ if ( ! empty( $ua ) ) {
125
+ return $ua;
126
+ }
127
+
128
+ // Then try manual network UA
129
+ $ua = ExactMetrics()->auth->get_network_manual_ua();
130
+ if ( ! empty( $ua ) ) {
131
+ return $ua;
132
+ }
133
+
134
+ // See if the constant is defined
135
+ if ( defined( 'EXACTMETRICS_MS_GA_UA' ) && exactmetrics_is_valid_ua( EXACTMETRICS_MS_GA_UA ) ) {
136
+ return EXACTMETRICS_MS_GA_UA;
137
+ }
138
+
139
+ return '';
140
+ }
141
+
142
+ /**
143
+ * Helper method for getting the UA string that's output on the frontend.
144
+ *
145
+ * @since 6.0.0
146
+ * @access public
147
+ *
148
+ * @param array $args Allow calling functions to give args to use in future applications.
149
+ * @return string The UA to use on frontend.
150
+ */
151
+ function exactmetrics_get_ua_to_output( $args = array() ) {
152
+ $ua = exactmetrics_get_ua();
153
+ $ua = apply_filters( 'exactmetrics_get_ua_to_output', $ua, $args );
154
+ return exactmetrics_is_valid_ua( $ua );
155
+ }
156
+
157
+ /**
158
+ * Helper method for getting the V4 string.
159
+ *
160
+ * @since 6.0.0
161
+ * @access public
162
+ *
163
+ * @return string The V4 ID to use.
164
+ */
165
+ function exactmetrics_get_v4_id() {
166
+ // Allow short circuiting (for staging sites)
167
+ if ( defined( 'EXACTMETRICS_DISABLE_TRACKING' ) && EXACTMETRICS_DISABLE_TRACKING ) {
168
+ return '';
169
+ }
170
+
171
+ // Try getting it from the auth V4
172
+ $v4_id = ExactMetrics()->auth->get_v4_id();
173
+
174
+ // If that didn't work, try the manual V4 at the site level
175
+ if ( empty( $v4_id ) ) {
176
+ $v4_id = ExactMetrics()->auth->get_manual_v4_id();
177
+ // If that didn't work try getting it from the network
178
+ if ( empty( $v4_id ) ) {
179
+ $v4_id = exactmetrics_get_network_v4_id();
180
+ // If that didn't work, try getting it from the overall constant. If it's not there, leave it blank
181
+ if ( empty( $v4_id ) ) {
182
+ $v4_id = defined( 'EXACTMETRICS_GA_V4_ID' ) && EXACTMETRICS_GA_V4_ID ? exactmetrics_is_valid_v4_id( EXACTMETRICS_GA_V4_ID ) : '';
183
+ }
184
+ }
185
+ }
186
+
187
+ // Feed through the filter
188
+ $pre_filter = $v4_id;
189
+ $v4_id = apply_filters( 'exactmetrics_get_v4_id', $v4_id );
190
+
191
+ // Only run through exactmetrics_is_valid_v4 if it's different than pre-filter
192
+ return $pre_filter === $v4_id ? $v4_id : exactmetrics_is_valid_v4_id( $v4_id );
193
+ }
194
+
195
+ /**
196
+ * Helper method for getting the network V4 string.
197
+ *
198
+ * @since 6.0.0
199
+ * @access public
200
+ *
201
+ * @return string The V4 ID to use.
202
+ */
203
+ function exactmetrics_get_network_v4_id() {
204
+ if ( ! is_multisite() ) {
205
+ return '';
206
+ }
207
+
208
+ // First try network auth UA
209
+ $v4_id = ExactMetrics()->auth->get_network_v4_id();
210
+ if ( ! empty( $v4_id ) ) {
211
+ return $v4_id;
212
+ }
213
+
214
+ // Then try manual network UA
215
+ $v4_id = ExactMetrics()->auth->get_network_manual_v4_id();
216
+ if ( ! empty( $v4_id ) ) {
217
+ return $v4_id;
218
+ }
219
+
220
+ // See if the constant is defined
221
+ if ( defined( 'EXACTMETRICS_MS_GA_V4_ID' ) && exactmetrics_is_valid_v4_id( EXACTMETRICS_MS_GA_V4_ID ) ) {
222
+ return EXACTMETRICS_MS_GA_V4_ID;
223
+ }
224
+
225
+ return '';
226
+ }
227
+
228
+ /**
229
+ * Helper method for getting the UA string that's output on the frontend.
230
+ *
231
+ * @since 6.0.0
232
+ * @access public
233
+ *
234
+ * @param array $args Allow calling functions to give args to use in future applications.
235
+ * @return string The UA to use on frontend.
236
+ */
237
+ function exactmetrics_get_v4_id_to_output( $args = array() ) {
238
+ $v4_id = exactmetrics_get_v4_id();
239
+ $v4_id = apply_filters( 'exactmetrics_get_v4_id_to_output', $v4_id, $args );
240
+ return exactmetrics_is_valid_v4_id( $v4_id );
241
+ }
242
+
243
+ /**
244
+ * Helper method for updating a setting's value.
245
+ *
246
+ * @since 6.0.0
247
+ * @access public
248
+ *
249
+ * @param string $key The setting key.
250
+ * @param string $value The value to set for the key.
251
+ * @return boolean True if updated, false if not.
252
+ */
253
+ function exactmetrics_update_option( $key = '', $value = false ) {
254
+
255
+ // If no key, exit
256
+ if ( empty( $key ) ){
257
+ return false;
258
+ }
259
+
260
+ if ( empty( $value ) ) {
261
+ $remove_option = exactmetrics_delete_option( $key );
262
+ return $remove_option;
263
+ }
264
+
265
+ $option_name = exactmetrics_get_option_name();
266
+
267
+ // First let's grab the current settings
268
+
269
+ // if on network panel or if on single site using network settings
270
+ //$settings = get_site_option( $option_name );
271
+ //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
272
+ //$is_network = is_multisite();
273
+ //$update_network_option = true;
274
+ //if ( ! is_network_admin() && ! ( $is_network && $use_network_settings ) ) {
275
+ $settings = get_option( $option_name );
276
+ // $update_network_option = false;
277
+ //}
278
+
279
+ if ( ! is_array( $settings ) ) {
280
+ $settings = array();
281
+ }
282
+
283
+ // Let's let devs alter that value coming in
284
+ $value = apply_filters( 'exactmetrics_update_option', $value, $key );
285
+
286
+ // Next let's try to update the value
287
+ $settings[ $key ] = $value;
288
+ $did_update = false;
289
+ //if ( $update_network_option ) {
290
+ // $did_update = update_site_option( $option_name, $settings );
291
+ //} else {
292
+ $did_update = update_option( $option_name, $settings );
293
+ //}
294
+
295
+ // If it updated, let's update the global variable
296
+ if ( $did_update ){
297
+ global $exactmetrics_settings;
298
+ $exactmetrics_settings[ $key ] = $value;
299
+ }
300
+
301
+ return $did_update;
302
+ }
303
+
304
+ /**
305
+ * Helper method for deleting a setting's value.
306
+ *
307
+ * @since 6.0.0
308
+ * @access public
309
+ *
310
+ * @param string $key The setting key.
311
+ * @return boolean True if removed, false if not.
312
+ */
313
+ function exactmetrics_delete_option( $key = '' ) {
314
+ // If no key, exit
315
+ if ( empty( $key ) ){
316
+ return false;
317
+ }
318
+
319
+ $option_name = exactmetrics_get_option_name();
320
+
321
+ // First let's grab the current settings
322
+
323
+ // if on network panel or if on single site using network settings
324
+ //$settings = get_site_option( $option_name );
325
+ //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
326
+ //$is_network = is_multisite();
327
+ //$update_network_option = true;
328
+ //if ( ! is_network_admin() && ! ( $is_network && $use_network_settings ) ) {
329
+ $settings = get_option( $option_name );
330
+ // $update_network_option = false;
331
+ //}
332
+
333
+ // Next let's try to remove the key
334
+ if( isset( $settings[ $key ] ) ) {
335
+ unset( $settings[ $key ] );
336
+ }
337
+
338
+ $did_update = false;
339
+ //if ( $update_network_option ) {
340
+ // $did_update = update_site_option( 'exactmetrics_settings', $settings );
341
+ //} else {
342
+ $did_update = update_option( $option_name, $settings );
343
+ //}
344
+
345
+ // If it updated, let's update the global variable
346
+ if ( $did_update ){
347
+ global $exactmetrics_settings;
348
+ $exactmetrics_settings = $settings;
349
+ }
350
+
351
+ return $did_update;
352
+ }
353
+
354
+ /**
355
+ * Helper method for deleting multiple settings value.
356
+ *
357
+ * @since 6.0.0
358
+ * @access public
359
+ *
360
+ * @param string $key The setting key.
361
+ * @return boolean True if removed, false if not.
362
+ */
363
+ function exactmetrics_delete_options( $keys = array() ) {
364
+ // If no keys, exit
365
+ if ( empty( $keys ) || ! is_array( $keys ) ){
366
+ return false;
367
+ }
368
+
369
+ $option_name = exactmetrics_get_option_name();
370
+
371
+ // First let's grab the current settings
372
+
373
+ // if on network panel or if on single site using network settings
374
+ //$settings = get_site_option( $option_name );
375
+ //$use_network_settings = ! empty( $use_network_settings['use_network_settings'] ) ? true : false;
376
+ //$is_network = is_multisite();
377
+ //$update_network_option = true;
378
+ //if ( ! is_network_admin() && ! ( $is_network && $use_network_settings ) ) {
379
+ $settings = get_option( $option_name );
380
+ // $update_network_option = false;
381
+ //}
382
+
383
+ // Next let's try to remove the keys
384
+ foreach ( $keys as $key ) {
385
+ if( isset( $settings[ $key ] ) ) {
386
+ unset( $settings[ $key ] );
387
+ }
388
+ }
389
+
390
+ $did_update = false;
391
+ //if ( $update_network_option ) {
392
+ // $did_update = update_site_option( 'exactmetrics_settings', $settings );
393
+ //} else {
394
+ $did_update = update_option( $option_name, $settings );
395
+ //}
396
+
397
+ // If it updated, let's update the global variable
398
+ if ( $did_update ){
399
+ global $exactmetrics_settings;
400
+ $exactmetrics_settings = $settings;
401
+ }
402
+
403
+ return $did_update;
404
+ }
405
+
406
+ function exactmetrics_sanitize_tracking_id( $id ) {
407
+ $id = (string) $id; // Rare case, but let's make sure it never happens.
408
+ $id = trim( $id );
409
+
410
+ if ( empty( $id ) ) {
411
+ return '';
412
+ }
413
+
414
+ // Replace all type of dashes (n-dash, m-dash, minus) with normal dashes.
415
+ $id = str_replace( array( '–', '—', '−' ), '-', $id );
416
+
417
+ return $id;
418
+ }
419
+
420
+ /**
421
+ * Is this a valid GT code
422
+ *
423
+ * @param string $gt_code
424
+ *
425
+ * @return bool
426
+ */
427
+ function exactmetrics_is_valid_gt( $gt_code = '' ) {
428
+ return (bool) preg_match( '/^GT-[a-zA-Z0-9]{5,}$/', $gt_code );
429
+ }
430
+
431
+ /**
432
+ * Is valid ua code.
433
+ *
434
+ * @access public
435
+ * @since 6.0.0
436
+ *
437
+ * @param string $ua_code UA code to check validity for.
438
+ *
439
+ * @return string|false Return cleaned ua string if valid, else returns false.
440
+ */
441
+ function exactmetrics_is_valid_ua( $ua_code = '' ) {
442
+ $ua_code = exactmetrics_sanitize_tracking_id( $ua_code );
443
+
444
+ if (
445
+ preg_match( "/^(UA|YT|MO)-\d{4,}-\d+$/", $ua_code ) ||
446
+ exactmetrics_is_valid_gt( $ua_code )
447
+ ) {
448
+ return $ua_code;
449
+ }
450
+
451
+ return '';
452
+ }
453
+
454
+ function exactmetrics_is_valid_v4_id( $v4_code = '' ) {
455
+ $v4_code = exactmetrics_sanitize_tracking_id( $v4_code );
456
+
457
+ if (
458
+ preg_match( '/G-[A-Za-z\d]+/', $v4_code ) ||
459
+ exactmetrics_is_valid_gt( $v4_code )
460
+ ) {
461
+ return strtoupper( $v4_code );
462
+ }
463
+
464
+ return '';
465
+ }
466
+
467
+ /**
468
+ * Helper method for getting the license information.
469
+ *
470
+ * @since 6.0.0
471
+ * @access public
472
+ *
473
+ * @param string $key The setting key to retrieve.
474
+ * @param mixed $default_value The default value of the setting key to retrieve.
475
+ * @return string The value of the setting.
476
+ */
477
+ function exactmetrics_get_license() {
478
+ $license = ExactMetrics()->license->get_site_license();
479
+ $license = $license ? $license : ExactMetrics()->license->get_network_license();
480
+ $default = ExactMetrics()->license->get_default_license_key();
481
+ if ( empty( $license ) && ! empty( $default ) ) {
482
+ $license = array();
483
+ $license['key'] = ExactMetrics()->license->get_default_license_key();
484
+ }
485
+ return $license;
486
+ }
487
+
488
+ /**
489
+ * Helper method for getting the license key.
490
+ *
491
+ * @since 6.0.0
492
+ * @access public
493
+ *
494
+ * @param string $key The setting key to retrieve.
495
+ * @param mixed $default_value The default value of the setting key to retrieve.
496
+ * @return string The value of the setting.
497
+ */
498
+ function exactmetrics_get_license_key() {
499
+ if ( exactmetrics_is_pro_version() ) {
500
+ return ExactMetrics()->license->get_license_key();
501
+ }
502
+ return '';
503
+ }
504
+
505
+ function exactmetrics_get_option_name() {
506
+ //if ( exactmetrics_is_pro_version() ) {
507
+ return 'exactmetrics_settings';
508
+ //} else {
509
+ // return 'exactmetrics_settings';
510
+ //}
511
+ }
512
+
513
+ function exactmetrics_export_settings() {
514
+ $settings = exactmetrics_get_options();
515
+ $exclude = array(
516
+ 'analytics_profile',
517
+ 'analytics_profile_code',
518
+ 'analytics_profile_name',
519
+ 'oauth_version',
520
+ 'cron_last_run',
521
+ 'exactmetrics_oauth_status',
522
+ );
523
+
524
+ foreach ( $exclude as $e ) {
525
+ if ( ! empty( $settings[ $e ] ) ) {
526
+ unset( $settings[ $e ] );
527
+ }
528
+ }
529
+ return wp_json_encode( $settings );
530
+ }
531
+
532
+ /**
533
+ * Always return 'gtag' when grabbing the tracking mode.
534
+ *
535
+ * @param string $value The value to override.
536
+ *
537
+ * @return string
538
+ */
539
+ function exactmetrics_force_tracking_mode( $value ) {
540
+ return 'gtag';
541
+ }
542
+ add_filter( 'exactmetrics_get_option_tracking_mode', 'exactmetrics_force_tracking_mode' );
543
+
544
+ /**
545
+ * Always return 'js' when grabbing the events mode.
546
+ *
547
+ * @param string $value The value to override.
548
+ *
549
+ * @return string
550
+ */
551
+ function exactmetrics_force_events_mode( $value ) {
552
+ return 'js';
553
+ }
554
+ add_filter( 'exactmetrics_get_option_events_mode', 'exactmetrics_force_events_mode' );
languages/google-analytics-dashboard-for-wp.pot CHANGED
@@ -2,20 +2,20 @@
2
  # This file is distributed under the same license as the ExactMetrics Pro plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: ExactMetrics Pro 7.5.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/monsterinsights-temp\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-03-31T10:50:16+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.6.0\n"
15
  "X-Domain: google-analytics-dashboard-for-wp\n"
16
 
17
  #. Plugin Name of the plugin
18
- #: languages/vue.php:3481
19
  msgid "ExactMetrics Pro"
20
  msgstr ""
21
 
@@ -32,6 +32,7 @@ msgstr ""
32
  #: includes/admin/admin.php:31
33
  #: includes/admin/admin.php:34
34
  #: includes/admin/admin.php:42
 
35
  #: includes/emails/class-emails.php:254
36
  #: lite/includes/admin/dashboard-widget.php:99
37
  #: lite/includes/admin/wp-site-health.php:246
@@ -112,7 +113,7 @@ msgstr ""
112
  #: includes/admin/admin.php:34
113
  #: includes/admin/admin.php:42
114
  #: includes/admin/admin.php:222
115
- #: languages/vue.php:538
116
  msgid "Settings"
117
  msgstr ""
118
 
@@ -128,7 +129,7 @@ msgstr ""
128
 
129
  #: includes/admin/admin.php:39
130
  #: includes/admin/admin.php:130
131
- #: languages/vue.php:2299
132
  msgid "Reports"
133
  msgstr ""
134
 
@@ -138,7 +139,7 @@ msgstr ""
138
 
139
  #: includes/admin/admin.php:51
140
  #: languages/gutenberg.php:83
141
- #: languages/vue.php:998
142
  msgid "Popular Posts"
143
  msgstr ""
144
 
@@ -172,7 +173,7 @@ msgstr ""
172
 
173
  #: includes/admin/admin.php:71
174
  #: includes/admin/admin.php:146
175
- #: languages/vue.php:159
176
  msgid "About Us"
177
  msgstr ""
178
 
@@ -191,7 +192,7 @@ msgstr ""
191
  #: includes/admin/admin.php:76
192
  #: includes/admin/notifications/notification-upgrade-to-pro-high-traffic.php:41
193
  #: includes/admin/notifications/notification-upgrade-to-pro.php:33
194
- #: languages/vue.php:1046
195
  msgid "Upgrade to Pro"
196
  msgstr ""
197
 
@@ -219,7 +220,7 @@ msgstr ""
219
 
220
  #: includes/admin/admin.php:212
221
  #: includes/admin/admin.php:215
222
- #: languages/vue.php:1022
223
  msgid "Support"
224
  msgstr ""
225
 
@@ -231,7 +232,7 @@ msgstr ""
231
  #: includes/admin/notifications/notification-upgrade-for-google-optimize.php:32
232
  #: includes/admin/notifications/notification-upgrade-for-post-templates.php:32
233
  #: includes/admin/reports/abstract-report.php:418
234
- #: languages/vue.php:1154
235
  msgid "Get ExactMetrics Pro"
236
  msgstr ""
237
 
@@ -241,12 +242,12 @@ msgid "Please rate %1$sExactMetrics%2$s on %3$s %4$sWordPress.org%5$s to help us
241
  msgstr ""
242
 
243
  #: includes/admin/admin.php:324
244
- #: languages/vue.php:1145
245
  msgid "Please Setup Website Analytics to See Audience Insights"
246
  msgstr ""
247
 
248
  #: includes/admin/admin.php:325
249
- #: languages/vue.php:1151
250
  msgid "Connect ExactMetrics and Setup Website Analytics"
251
  msgstr ""
252
 
@@ -256,17 +257,16 @@ msgstr ""
256
  #: includes/admin/common.php:955
257
  #: includes/admin/notifications/notification-audience.php:45
258
  #: includes/admin/notifications/notification-bounce-rate.php:47
259
- #: includes/admin/notifications/notification-dual-tracking.php:39
260
  #: includes/admin/notifications/notification-headline-analyzer.php:39
261
  #: includes/admin/notifications/notification-mobile-device-low-traffic.php:41
262
  #: includes/admin/notifications/notification-returning-visitors.php:43
263
  #: includes/admin/notifications/notification-traffic-dropping.php:43
264
- #: languages/vue.php:334
265
  msgid "Learn More"
266
  msgstr ""
267
 
268
  #: includes/admin/admin.php:329
269
- #: languages/vue.php:1148
270
  msgid "ExactMetrics, WordPress analytics plugin, helps you connect your website with Google Analytics, so you can see how people find and use your website. Over 3 million website owners use ExactMetrics to see the stats that matter and grow their business."
271
  msgstr ""
272
 
@@ -277,17 +277,17 @@ msgstr ""
277
 
278
  #. Translators: Adds a link to the license renewal.
279
  #: includes/admin/admin.php:350
280
- #: languages/vue.php:477
281
  msgid "Your license key for ExactMetrics has expired. %1$sPlease click here to renew your license key.%2$s"
282
  msgstr ""
283
 
284
  #: includes/admin/admin.php:352
285
- #: languages/vue.php:480
286
  msgid "Your license key for ExactMetrics has been disabled. Please use a different key."
287
  msgstr ""
288
 
289
  #: includes/admin/admin.php:354
290
- #: languages/vue.php:483
291
  msgid "Your license key for ExactMetrics is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key."
292
  msgstr ""
293
 
@@ -491,28 +491,28 @@ msgid "View 2021 Year in Review report!"
491
  msgstr ""
492
 
493
  #: includes/admin/common.php:951
494
- #: languages/vue.php:3326
495
  msgid "See how your website performed this year and find tips along the way to help grow even more in 2022!"
496
  msgstr ""
497
 
498
- #: includes/admin/exclude-page-metabox.php:86
499
- #: languages/gutenberg.php:330
500
  msgid "Exclude page from Google Analytics Tracking"
501
  msgstr ""
502
 
503
- #: includes/admin/exclude-page-metabox.php:90
504
- #: languages/gutenberg.php:327
505
  msgid "Toggle to prevent Google Analytics from tracking this page."
506
  msgstr ""
507
 
508
- #: includes/admin/exclude-page-metabox.php:98
509
- #: languages/gutenberg.php:321
510
  msgid "This is a PRO feature."
511
  msgstr ""
512
 
513
- #: includes/admin/exclude-page-metabox.php:102
514
- #: languages/gutenberg.php:324
515
- #: languages/vue.php:3112
516
  msgid "Upgrade"
517
  msgstr ""
518
 
@@ -569,7 +569,7 @@ msgid "View Report"
569
  msgstr ""
570
 
571
  #: includes/admin/notifications/notification-bounce-rate.php:37
572
- msgid "Your Website Bounce Rate is Higher Than %s%%"
573
  msgstr ""
574
 
575
  #. Translators: Bounce rate notification content.
@@ -577,18 +577,22 @@ msgstr ""
577
  msgid "Your site's bounce rate is %1$s. Double check your site is working properly and be sure it loads quickly. %2$sHere%3$s are some points to remember and steps to follow to get your bounce rates back to manageable levels."
578
  msgstr ""
579
 
580
- #: includes/admin/notifications/notification-dual-tracking.php:30
581
- msgid "Prepare for Google Analytics 4"
582
  msgstr ""
583
 
584
- #: includes/admin/notifications/notification-dual-tracking.php:31
585
- msgid "Prepare for the future of analytics by setting up Google Analytics 4. Enable \"Dual Tracking\" today."
586
  msgstr ""
587
 
588
- #: includes/admin/notifications/notification-dual-tracking.php:35
589
  msgid "Setup now"
590
  msgstr ""
591
 
 
 
 
 
592
  #: includes/admin/notifications/notification-headline-analyzer.php:33
593
  msgid "Try the Headline Analyzer to Boost Your Clicks & Traffic"
594
  msgstr ""
@@ -706,8 +710,8 @@ msgstr ""
706
  #: includes/admin/notifications/notification-upgrade-for-custom-dimensions.php:26
707
  #: includes/admin/notifications/notification-upgrade-for-events-reporting.php:26
708
  #: includes/admin/notifications/notification-upgrade-for-post-templates.php:26
709
- #: languages/vue.php:1738
710
- #: lite/includes/admin/helpers.php:83
711
  msgid "Upgrade to ExactMetrics Pro"
712
  msgstr ""
713
 
@@ -919,7 +923,7 @@ msgid "Please ask your webmaster to enable this addon."
919
  msgstr ""
920
 
921
  #: includes/admin/reports/overview.php:34
922
- #: languages/vue.php:439
923
  msgid "Overview"
924
  msgstr ""
925
 
@@ -1097,6 +1101,22 @@ msgstr ""
1097
  msgid "Once Weekly"
1098
  msgstr ""
1099
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1100
  #. Translators: Placeholder gets replaced with the error message.
1101
  #: includes/api-request.php:192
1102
  msgid "The firewall of your server is blocking outbound calls. Please contact your hosting provider to fix this issue. %s"
@@ -1415,7 +1435,7 @@ msgid "Question"
1415
  msgstr ""
1416
 
1417
  #: includes/gutenberg/headline-tool/headline-tool.php:290
1418
- #: languages/vue.php:544
1419
  msgid "General"
1420
  msgstr ""
1421
 
@@ -1536,7 +1556,7 @@ msgid "double"
1536
  msgstr ""
1537
 
1538
  #: includes/gutenberg/headline-tool/headline-tool.php:388
1539
- msgid "fire"
1540
  msgstr ""
1541
 
1542
  #: includes/gutenberg/headline-tool/headline-tool.php:389
@@ -1544,7 +1564,7 @@ msgid "hack"
1544
  msgstr ""
1545
 
1546
  #: includes/gutenberg/headline-tool/headline-tool.php:390
1547
- msgid "fleece"
1548
  msgstr ""
1549
 
1550
  #: includes/gutenberg/headline-tool/headline-tool.php:391
@@ -1560,7 +1580,7 @@ msgid "drowning"
1560
  msgstr ""
1561
 
1562
  #: includes/gutenberg/headline-tool/headline-tool.php:394
1563
- msgid "floundering"
1564
  msgstr ""
1565
 
1566
  #: includes/gutenberg/headline-tool/headline-tool.php:395
@@ -1576,7 +1596,7 @@ msgid "dumb"
1576
  msgstr ""
1577
 
1578
  #: includes/gutenberg/headline-tool/headline-tool.php:398
1579
- msgid "flush"
1580
  msgstr ""
1581
 
1582
  #: includes/gutenberg/headline-tool/headline-tool.php:399
@@ -1620,7 +1640,7 @@ msgid "embarrass"
1620
  msgstr ""
1621
 
1622
  #: includes/gutenberg/headline-tool/headline-tool.php:409
1623
- msgid "for the first time"
1624
  msgstr ""
1625
 
1626
  #: includes/gutenberg/headline-tool/headline-tool.php:410
@@ -1696,7 +1716,7 @@ msgid "frantic"
1696
  msgstr ""
1697
 
1698
  #: includes/gutenberg/headline-tool/headline-tool.php:428
1699
- msgid "horrific"
1700
  msgstr ""
1701
 
1702
  #: includes/gutenberg/headline-tool/headline-tool.php:429
@@ -1756,7 +1776,7 @@ msgid "illegal"
1756
  msgstr ""
1757
 
1758
  #: includes/gutenberg/headline-tool/headline-tool.php:443
1759
- msgid "fulfill"
1760
  msgstr ""
1761
 
1762
  #: includes/gutenberg/headline-tool/headline-tool.php:444
@@ -1916,7 +1936,7 @@ msgid "on the"
1916
  msgstr ""
1917
 
1918
  #: includes/gutenberg/headline-tool/headline-tool.php:483
1919
- msgid "profit"
1920
  msgstr ""
1921
 
1922
  #: includes/gutenberg/headline-tool/headline-tool.php:484
@@ -2140,7 +2160,7 @@ msgid "remarkably"
2140
  msgstr ""
2141
 
2142
  #: includes/gutenberg/headline-tool/headline-tool.php:539
2143
- msgid "six-figure"
2144
  msgstr ""
2145
 
2146
  #: includes/gutenberg/headline-tool/headline-tool.php:540
@@ -2312,7 +2332,7 @@ msgid "spectacular"
2312
  msgstr ""
2313
 
2314
  #: includes/gutenberg/headline-tool/headline-tool.php:582
2315
- msgid "temporary fix"
2316
  msgstr ""
2317
 
2318
  #: includes/gutenberg/headline-tool/headline-tool.php:583
@@ -2556,7 +2576,7 @@ msgid "remarkable"
2556
  msgstr ""
2557
 
2558
  #: includes/gutenberg/headline-tool/headline-tool.php:660
2559
- msgid "confidential"
2560
  msgstr ""
2561
 
2562
  #: includes/gutenberg/headline-tool/headline-tool.php:661
@@ -2902,11 +2922,11 @@ msgid "it's here"
2902
  msgstr ""
2903
 
2904
  #: includes/gutenberg/headline-tool/headline-tool.php:747
2905
- msgid "terrific"
2906
  msgstr ""
2907
 
2908
  #: includes/gutenberg/headline-tool/headline-tool.php:748
2909
- msgid "simplified"
2910
  msgstr ""
2911
 
2912
  #: includes/gutenberg/headline-tool/headline-tool.php:749
@@ -2930,7 +2950,7 @@ msgid "launching"
2930
  msgstr ""
2931
 
2932
  #: includes/gutenberg/headline-tool/headline-tool.php:754
2933
- msgid "sure fire"
2934
  msgstr ""
2935
 
2936
  #: includes/gutenberg/headline-tool/headline-tool.php:755
@@ -2950,7 +2970,7 @@ msgid "soar"
2950
  msgstr ""
2951
 
2952
  #: includes/gutenberg/headline-tool/headline-tool.php:759
2953
- msgid "profitable"
2954
  msgstr ""
2955
 
2956
  #: includes/gutenberg/headline-tool/headline-tool.php:760
@@ -3573,7 +3593,7 @@ msgid "year"
3573
  msgstr ""
3574
 
3575
  #: includes/gutenberg/headline-tool/headline-tool.php:969
3576
- msgid "first"
3577
  msgstr ""
3578
 
3579
  #: includes/gutenberg/headline-tool/headline-tool.php:970
@@ -3601,7 +3621,7 @@ msgid "see"
3601
  msgstr ""
3602
 
3603
  #: includes/gutenberg/headline-tool/headline-tool.php:976
3604
- msgid "youll"
3605
  msgstr ""
3606
 
3607
  #: includes/gutenberg/headline-tool/headline-tool.php:977
@@ -3640,1101 +3660,1101 @@ msgstr ""
3640
  msgid "something"
3641
  msgstr ""
3642
 
3643
- #: includes/helpers.php:384
3644
  msgid "United States"
3645
  msgstr ""
3646
 
3647
- #: includes/helpers.php:385
3648
- #: includes/helpers.php:1770
3649
  msgid "Canada"
3650
  msgstr ""
3651
 
3652
- #: includes/helpers.php:386
3653
- #: includes/helpers.php:1815
3654
  msgid "United Kingdom"
3655
  msgstr ""
3656
 
3657
- #: includes/helpers.php:387
3658
  msgid "Afghanistan"
3659
  msgstr ""
3660
 
3661
- #: includes/helpers.php:388
3662
  msgid "&#197;land Islands"
3663
  msgstr ""
3664
 
3665
- #: includes/helpers.php:389
3666
  msgid "Albania"
3667
  msgstr ""
3668
 
3669
- #: includes/helpers.php:390
3670
  msgid "Algeria"
3671
  msgstr ""
3672
 
3673
- #: includes/helpers.php:391
3674
  msgid "American Samoa"
3675
  msgstr ""
3676
 
3677
- #: includes/helpers.php:392
3678
  msgid "Andorra"
3679
  msgstr ""
3680
 
3681
- #: includes/helpers.php:393
3682
  msgid "Angola"
3683
  msgstr ""
3684
 
3685
- #: includes/helpers.php:394
3686
  msgid "Anguilla"
3687
  msgstr ""
3688
 
3689
- #: includes/helpers.php:395
3690
  msgid "Antarctica"
3691
  msgstr ""
3692
 
3693
- #: includes/helpers.php:396
3694
- #: includes/helpers.php:1763
3695
  msgid "Antigua and Barbuda"
3696
  msgstr ""
3697
 
3698
- #: includes/helpers.php:397
3699
  msgid "Argentina"
3700
  msgstr ""
3701
 
3702
- #: includes/helpers.php:398
3703
  msgid "Armenia"
3704
  msgstr ""
3705
 
3706
- #: includes/helpers.php:399
3707
  msgid "Aruba"
3708
  msgstr ""
3709
 
3710
- #: includes/helpers.php:400
3711
- #: includes/helpers.php:1764
3712
  msgid "Australia"
3713
  msgstr ""
3714
 
3715
- #: includes/helpers.php:401
3716
  msgid "Austria"
3717
  msgstr ""
3718
 
3719
- #: includes/helpers.php:402
3720
  msgid "Azerbaijan"
3721
  msgstr ""
3722
 
3723
- #: includes/helpers.php:403
3724
  msgid "Bahamas"
3725
  msgstr ""
3726
 
3727
- #: includes/helpers.php:404
3728
  msgid "Bahrain"
3729
  msgstr ""
3730
 
3731
- #: includes/helpers.php:405
3732
  msgid "Bangladesh"
3733
  msgstr ""
3734
 
3735
- #: includes/helpers.php:406
3736
- #: includes/helpers.php:1765
3737
  msgid "Barbados"
3738
  msgstr ""
3739
 
3740
- #: includes/helpers.php:407
3741
  msgid "Belarus"
3742
  msgstr ""
3743
 
3744
- #: includes/helpers.php:408
3745
  msgid "Belgium"
3746
  msgstr ""
3747
 
3748
- #: includes/helpers.php:409
3749
- #: includes/helpers.php:1766
3750
  msgid "Belize"
3751
  msgstr ""
3752
 
3753
- #: includes/helpers.php:410
3754
  msgid "Benin"
3755
  msgstr ""
3756
 
3757
- #: includes/helpers.php:411
3758
  msgid "Bermuda"
3759
  msgstr ""
3760
 
3761
- #: includes/helpers.php:412
3762
  msgid "Bhutan"
3763
  msgstr ""
3764
 
3765
- #: includes/helpers.php:413
3766
  msgid "Bolivia"
3767
  msgstr ""
3768
 
3769
- #: includes/helpers.php:414
3770
  msgid "Bonaire, Saint Eustatius and Saba"
3771
  msgstr ""
3772
 
3773
- #: includes/helpers.php:415
3774
  msgid "Bosnia and Herzegovina"
3775
  msgstr ""
3776
 
3777
- #: includes/helpers.php:416
3778
- #: includes/helpers.php:1767
3779
  msgid "Botswana"
3780
  msgstr ""
3781
 
3782
- #: includes/helpers.php:417
3783
  msgid "Bouvet Island"
3784
  msgstr ""
3785
 
3786
- #: includes/helpers.php:418
3787
  msgid "Brazil"
3788
  msgstr ""
3789
 
3790
- #: includes/helpers.php:419
3791
  msgid "British Indian Ocean Territory"
3792
  msgstr ""
3793
 
3794
- #: includes/helpers.php:420
3795
  msgid "Brunei Darrussalam"
3796
  msgstr ""
3797
 
3798
- #: includes/helpers.php:421
3799
  msgid "Bulgaria"
3800
  msgstr ""
3801
 
3802
- #: includes/helpers.php:422
3803
  msgid "Burkina Faso"
3804
  msgstr ""
3805
 
3806
- #: includes/helpers.php:423
3807
- #: includes/helpers.php:1768
3808
  msgid "Burundi"
3809
  msgstr ""
3810
 
3811
- #: includes/helpers.php:424
3812
  msgid "Cambodia"
3813
  msgstr ""
3814
 
3815
- #: includes/helpers.php:425
3816
- #: includes/helpers.php:1769
3817
  msgid "Cameroon"
3818
  msgstr ""
3819
 
3820
- #: includes/helpers.php:426
3821
  msgid "Cape Verde"
3822
  msgstr ""
3823
 
3824
- #: includes/helpers.php:427
3825
  msgid "Cayman Islands"
3826
  msgstr ""
3827
 
3828
- #: includes/helpers.php:428
3829
  msgid "Central African Republic"
3830
  msgstr ""
3831
 
3832
- #: includes/helpers.php:429
3833
  msgid "Chad"
3834
  msgstr ""
3835
 
3836
- #: includes/helpers.php:430
3837
  msgid "Chile"
3838
  msgstr ""
3839
 
3840
- #: includes/helpers.php:431
3841
  msgid "China"
3842
  msgstr ""
3843
 
3844
- #: includes/helpers.php:432
3845
  msgid "Christmas Island"
3846
  msgstr ""
3847
 
3848
- #: includes/helpers.php:433
3849
  msgid "Cocos Islands"
3850
  msgstr ""
3851
 
3852
- #: includes/helpers.php:434
3853
  msgid "Colombia"
3854
  msgstr ""
3855
 
3856
- #: includes/helpers.php:435
3857
  msgid "Comoros"
3858
  msgstr ""
3859
 
3860
- #: includes/helpers.php:436
3861
  msgid "Congo, Democratic People's Republic"
3862
  msgstr ""
3863
 
3864
- #: includes/helpers.php:437
3865
  msgid "Congo, Republic of"
3866
  msgstr ""
3867
 
3868
- #: includes/helpers.php:438
3869
  msgid "Cook Islands"
3870
  msgstr ""
3871
 
3872
- #: includes/helpers.php:439
3873
  msgid "Costa Rica"
3874
  msgstr ""
3875
 
3876
- #: includes/helpers.php:440
3877
  msgid "Cote d'Ivoire"
3878
  msgstr ""
3879
 
3880
- #: includes/helpers.php:441
3881
  msgid "Croatia/Hrvatska"
3882
  msgstr ""
3883
 
3884
- #: includes/helpers.php:442
3885
  msgid "Cuba"
3886
  msgstr ""
3887
 
3888
- #: includes/helpers.php:443
3889
  msgid "Cura&Ccedil;ao"
3890
  msgstr ""
3891
 
3892
- #: includes/helpers.php:444
3893
  msgid "Cyprus"
3894
  msgstr ""
3895
 
3896
- #: includes/helpers.php:445
3897
  msgid "Czechia"
3898
  msgstr ""
3899
 
3900
- #: includes/helpers.php:446
3901
  msgid "Denmark"
3902
  msgstr ""
3903
 
3904
- #: includes/helpers.php:447
3905
  msgid "Djibouti"
3906
  msgstr ""
3907
 
3908
- #: includes/helpers.php:448
3909
- #: includes/helpers.php:1771
3910
  msgid "Dominica"
3911
  msgstr ""
3912
 
3913
- #: includes/helpers.php:449
3914
  msgid "Dominican Republic"
3915
  msgstr ""
3916
 
3917
- #: includes/helpers.php:450
3918
  msgid "East Timor"
3919
  msgstr ""
3920
 
3921
- #: includes/helpers.php:451
3922
  msgid "Ecuador"
3923
  msgstr ""
3924
 
3925
- #: includes/helpers.php:452
3926
  msgid "Egypt"
3927
  msgstr ""
3928
 
3929
- #: includes/helpers.php:453
3930
  msgid "Equatorial Guinea"
3931
  msgstr ""
3932
 
3933
- #: includes/helpers.php:454
3934
  msgid "El Salvador"
3935
  msgstr ""
3936
 
3937
- #: includes/helpers.php:455
3938
  msgid "Eritrea"
3939
  msgstr ""
3940
 
3941
- #: includes/helpers.php:456
3942
  msgid "Estonia"
3943
  msgstr ""
3944
 
3945
- #: includes/helpers.php:457
3946
  msgid "Ethiopia"
3947
  msgstr ""
3948
 
3949
- #: includes/helpers.php:458
3950
  msgid "Falkland Islands"
3951
  msgstr ""
3952
 
3953
- #: includes/helpers.php:459
3954
  msgid "Faroe Islands"
3955
  msgstr ""
3956
 
3957
- #: includes/helpers.php:460
3958
- #: includes/helpers.php:1772
3959
  msgid "Fiji"
3960
  msgstr ""
3961
 
3962
- #: includes/helpers.php:461
3963
  msgid "Finland"
3964
  msgstr ""
3965
 
3966
- #: includes/helpers.php:462
3967
  msgid "France"
3968
  msgstr ""
3969
 
3970
- #: includes/helpers.php:463
3971
  msgid "French Guiana"
3972
  msgstr ""
3973
 
3974
- #: includes/helpers.php:464
3975
  msgid "French Polynesia"
3976
  msgstr ""
3977
 
3978
- #: includes/helpers.php:465
3979
  msgid "French Southern Territories"
3980
  msgstr ""
3981
 
3982
- #: includes/helpers.php:466
3983
  msgid "Gabon"
3984
  msgstr ""
3985
 
3986
- #: includes/helpers.php:467
3987
- #: includes/helpers.php:1775
3988
  msgid "Gambia"
3989
  msgstr ""
3990
 
3991
- #: includes/helpers.php:468
3992
  msgid "Georgia"
3993
  msgstr ""
3994
 
3995
- #: includes/helpers.php:469
3996
  msgid "Germany"
3997
  msgstr ""
3998
 
3999
- #: includes/helpers.php:470
4000
  msgid "Greece"
4001
  msgstr ""
4002
 
4003
- #: includes/helpers.php:471
4004
- #: includes/helpers.php:1776
4005
  msgid "Ghana"
4006
  msgstr ""
4007
 
4008
- #: includes/helpers.php:472
4009
  msgid "Gibraltar"
4010
  msgstr ""
4011
 
4012
- #: includes/helpers.php:473
4013
  msgid "Greenland"
4014
  msgstr ""
4015
 
4016
- #: includes/helpers.php:474
4017
- #: includes/helpers.php:1773
4018
  msgid "Grenada"
4019
  msgstr ""
4020
 
4021
- #: includes/helpers.php:475
4022
  msgid "Guadeloupe"
4023
  msgstr ""
4024
 
4025
- #: includes/helpers.php:476
4026
  msgid "Guam"
4027
  msgstr ""
4028
 
4029
- #: includes/helpers.php:477
4030
  msgid "Guatemala"
4031
  msgstr ""
4032
 
4033
- #: includes/helpers.php:478
4034
  msgid "Guernsey"
4035
  msgstr ""
4036
 
4037
- #: includes/helpers.php:479
4038
  msgid "Guinea"
4039
  msgstr ""
4040
 
4041
- #: includes/helpers.php:480
4042
  msgid "Guinea-Bissau"
4043
  msgstr ""
4044
 
4045
- #: includes/helpers.php:481
4046
- #: includes/helpers.php:1774
4047
  msgid "Guyana"
4048
  msgstr ""
4049
 
4050
- #: includes/helpers.php:482
4051
  msgid "Haiti"
4052
  msgstr ""
4053
 
4054
- #: includes/helpers.php:483
4055
  msgid "Heard and McDonald Islands"
4056
  msgstr ""
4057
 
4058
- #: includes/helpers.php:484
4059
  msgid "Holy See (City Vatican State)"
4060
  msgstr ""
4061
 
4062
- #: includes/helpers.php:485
4063
  msgid "Honduras"
4064
  msgstr ""
4065
 
4066
- #: includes/helpers.php:486
4067
  msgid "Hong Kong"
4068
  msgstr ""
4069
 
4070
- #: includes/helpers.php:487
4071
  msgid "Hungary"
4072
  msgstr ""
4073
 
4074
- #: includes/helpers.php:488
4075
  msgid "Iceland"
4076
  msgstr ""
4077
 
4078
- #: includes/helpers.php:489
4079
- #: includes/helpers.php:1778
4080
  msgid "India"
4081
  msgstr ""
4082
 
4083
- #: includes/helpers.php:490
4084
  msgid "Indonesia"
4085
  msgstr ""
4086
 
4087
- #: includes/helpers.php:491
4088
  msgid "Iran"
4089
  msgstr ""
4090
 
4091
- #: includes/helpers.php:492
4092
  msgid "Iraq"
4093
  msgstr ""
4094
 
4095
- #: includes/helpers.php:493
4096
- #: includes/helpers.php:1777
4097
  msgid "Ireland"
4098
  msgstr ""
4099
 
4100
- #: includes/helpers.php:494
4101
  msgid "Isle of Man"
4102
  msgstr ""
4103
 
4104
- #: includes/helpers.php:495
4105
  msgid "Israel"
4106
  msgstr ""
4107
 
4108
- #: includes/helpers.php:496
4109
  msgid "Italy"
4110
  msgstr ""
4111
 
4112
- #: includes/helpers.php:497
4113
- #: includes/helpers.php:1779
4114
  msgid "Jamaica"
4115
  msgstr ""
4116
 
4117
- #: includes/helpers.php:498
4118
  msgid "Japan"
4119
  msgstr ""
4120
 
4121
- #: includes/helpers.php:499
4122
  msgid "Jersey"
4123
  msgstr ""
4124
 
4125
- #: includes/helpers.php:500
4126
  msgid "Jordan"
4127
  msgstr ""
4128
 
4129
- #: includes/helpers.php:501
4130
  msgid "Kazakhstan"
4131
  msgstr ""
4132
 
4133
- #: includes/helpers.php:502
4134
- #: includes/helpers.php:1780
4135
  msgid "Kenya"
4136
  msgstr ""
4137
 
4138
- #: includes/helpers.php:503
4139
- #: includes/helpers.php:1781
4140
  msgid "Kiribati"
4141
  msgstr ""
4142
 
4143
- #: includes/helpers.php:504
4144
  msgid "Kuwait"
4145
  msgstr ""
4146
 
4147
- #: includes/helpers.php:505
4148
  msgid "Kyrgyzstan"
4149
  msgstr ""
4150
 
4151
- #: includes/helpers.php:506
4152
  msgid "Lao People's Democratic Republic"
4153
  msgstr ""
4154
 
4155
- #: includes/helpers.php:507
4156
  msgid "Latvia"
4157
  msgstr ""
4158
 
4159
- #: includes/helpers.php:508
4160
  msgid "Lebanon"
4161
  msgstr ""
4162
 
4163
- #: includes/helpers.php:509
4164
- #: includes/helpers.php:1782
4165
  msgid "Lesotho"
4166
  msgstr ""
4167
 
4168
- #: includes/helpers.php:510
4169
- #: includes/helpers.php:1783
4170
  msgid "Liberia"
4171
  msgstr ""
4172
 
4173
- #: includes/helpers.php:511
4174
  msgid "Libyan Arab Jamahiriya"
4175
  msgstr ""
4176
 
4177
- #: includes/helpers.php:512
4178
  msgid "Liechtenstein"
4179
  msgstr ""
4180
 
4181
- #: includes/helpers.php:513
4182
  msgid "Lithuania"
4183
  msgstr ""
4184
 
4185
- #: includes/helpers.php:514
4186
  msgid "Luxembourg"
4187
  msgstr ""
4188
 
4189
- #: includes/helpers.php:515
4190
  msgid "Macau"
4191
  msgstr ""
4192
 
4193
- #: includes/helpers.php:516
4194
  msgid "Macedonia (FYROM)"
4195
  msgstr ""
4196
 
4197
- #: includes/helpers.php:517
4198
  msgid "Madagascar"
4199
  msgstr ""
4200
 
4201
- #: includes/helpers.php:518
4202
- #: includes/helpers.php:1784
4203
  msgid "Malawi"
4204
  msgstr ""
4205
 
4206
- #: includes/helpers.php:519
4207
  msgid "Malaysia"
4208
  msgstr ""
4209
 
4210
- #: includes/helpers.php:520
4211
  msgid "Maldives"
4212
  msgstr ""
4213
 
4214
- #: includes/helpers.php:521
4215
  msgid "Mali"
4216
  msgstr ""
4217
 
4218
- #: includes/helpers.php:522
4219
- #: includes/helpers.php:1785
4220
  msgid "Malta"
4221
  msgstr ""
4222
 
4223
- #: includes/helpers.php:523
4224
- #: includes/helpers.php:1786
4225
  msgid "Marshall Islands"
4226
  msgstr ""
4227
 
4228
- #: includes/helpers.php:524
4229
  msgid "Martinique"
4230
  msgstr ""
4231
 
4232
- #: includes/helpers.php:525
4233
  msgid "Mauritania"
4234
  msgstr ""
4235
 
4236
- #: includes/helpers.php:526
4237
- #: includes/helpers.php:1787
4238
  msgid "Mauritius"
4239
  msgstr ""
4240
 
4241
- #: includes/helpers.php:527
4242
  msgid "Mayotte"
4243
  msgstr ""
4244
 
4245
- #: includes/helpers.php:528
4246
  msgid "Mexico"
4247
  msgstr ""
4248
 
4249
- #: includes/helpers.php:529
4250
- #: includes/helpers.php:1788
4251
  msgid "Micronesia"
4252
  msgstr ""
4253
 
4254
- #: includes/helpers.php:530
4255
  msgid "Moldova, Republic of"
4256
  msgstr ""
4257
 
4258
- #: includes/helpers.php:531
4259
  msgid "Monaco"
4260
  msgstr ""
4261
 
4262
- #: includes/helpers.php:532
4263
  msgid "Mongolia"
4264
  msgstr ""
4265
 
4266
- #: includes/helpers.php:533
4267
  msgid "Montenegro"
4268
  msgstr ""
4269
 
4270
- #: includes/helpers.php:534
4271
  msgid "Montserrat"
4272
  msgstr ""
4273
 
4274
- #: includes/helpers.php:535
4275
  msgid "Morocco"
4276
  msgstr ""
4277
 
4278
- #: includes/helpers.php:536
4279
  msgid "Mozambique"
4280
  msgstr ""
4281
 
4282
- #: includes/helpers.php:537
4283
  msgid "Myanmar"
4284
  msgstr ""
4285
 
4286
- #: includes/helpers.php:538
4287
- #: includes/helpers.php:1790
4288
  msgid "Namibia"
4289
  msgstr ""
4290
 
4291
- #: includes/helpers.php:539
4292
- #: includes/helpers.php:1791
4293
  msgid "Nauru"
4294
  msgstr ""
4295
 
4296
- #: includes/helpers.php:540
4297
  msgid "Nepal"
4298
  msgstr ""
4299
 
4300
- #: includes/helpers.php:541
4301
  msgid "Netherlands"
4302
  msgstr ""
4303
 
4304
- #: includes/helpers.php:542
4305
  msgid "Netherlands Antilles"
4306
  msgstr ""
4307
 
4308
- #: includes/helpers.php:543
4309
  msgid "New Caledonia"
4310
  msgstr ""
4311
 
4312
- #: includes/helpers.php:544
4313
- #: includes/helpers.php:1789
4314
  msgid "New Zealand"
4315
  msgstr ""
4316
 
4317
- #: includes/helpers.php:545
4318
  msgid "Nicaragua"
4319
  msgstr ""
4320
 
4321
- #: includes/helpers.php:546
4322
  msgid "Niger"
4323
  msgstr ""
4324
 
4325
- #: includes/helpers.php:547
4326
- #: includes/helpers.php:1792
4327
  msgid "Nigeria"
4328
  msgstr ""
4329
 
4330
- #: includes/helpers.php:548
4331
  msgid "Niue"
4332
  msgstr ""
4333
 
4334
- #: includes/helpers.php:549
4335
  msgid "Norfolk Island"
4336
  msgstr ""
4337
 
4338
- #: includes/helpers.php:550
4339
  msgid "North Korea"
4340
  msgstr ""
4341
 
4342
- #: includes/helpers.php:551
4343
  msgid "Northern Mariana Islands"
4344
  msgstr ""
4345
 
4346
- #: includes/helpers.php:552
4347
  msgid "Norway"
4348
  msgstr ""
4349
 
4350
- #: includes/helpers.php:553
4351
  msgid "Oman"
4352
  msgstr ""
4353
 
4354
- #: includes/helpers.php:554
4355
- #: includes/helpers.php:1793
4356
  msgid "Pakistan"
4357
  msgstr ""
4358
 
4359
- #: includes/helpers.php:555
4360
- #: includes/helpers.php:1794
4361
  msgid "Palau"
4362
  msgstr ""
4363
 
4364
- #: includes/helpers.php:556
4365
  msgid "Palestinian Territories"
4366
  msgstr ""
4367
 
4368
- #: includes/helpers.php:557
4369
  msgid "Panama"
4370
  msgstr ""
4371
 
4372
- #: includes/helpers.php:558
4373
- #: includes/helpers.php:1795
4374
  msgid "Papua New Guinea"
4375
  msgstr ""
4376
 
4377
- #: includes/helpers.php:559
4378
  msgid "Paraguay"
4379
  msgstr ""
4380
 
4381
- #: includes/helpers.php:560
4382
  msgid "Peru"
4383
  msgstr ""
4384
 
4385
- #: includes/helpers.php:561
4386
- #: includes/helpers.php:1796
4387
  msgid "Philippines"
4388
  msgstr ""
4389
 
4390
- #: includes/helpers.php:562
4391
  msgid "Pitcairn Island"
4392
  msgstr ""
4393
 
4394
- #: includes/helpers.php:563
4395
  msgid "Poland"
4396
  msgstr ""
4397
 
4398
- #: includes/helpers.php:564
4399
  msgid "Portugal"
4400
  msgstr ""
4401
 
4402
- #: includes/helpers.php:565
4403
  msgid "Puerto Rico"
4404
  msgstr ""
4405
 
4406
- #: includes/helpers.php:566
4407
  msgid "Qatar"
4408
  msgstr ""
4409
 
4410
- #: includes/helpers.php:567
4411
  msgid "Republic of Kosovo"
4412
  msgstr ""
4413
 
4414
- #: includes/helpers.php:568
4415
  msgid "Reunion Island"
4416
  msgstr ""
4417
 
4418
- #: includes/helpers.php:569
4419
  msgid "Romania"
4420
  msgstr ""
4421
 
4422
- #: includes/helpers.php:570
4423
  msgid "Russian Federation"
4424
  msgstr ""
4425
 
4426
- #: includes/helpers.php:571
4427
- #: includes/helpers.php:1797
4428
  msgid "Rwanda"
4429
  msgstr ""
4430
 
4431
- #: includes/helpers.php:572
4432
  msgid "Saint Barth&eacute;lemy"
4433
  msgstr ""
4434
 
4435
- #: includes/helpers.php:573
4436
  msgid "Saint Helena"
4437
  msgstr ""
4438
 
4439
- #: includes/helpers.php:574
4440
  msgid "Saint Kitts and Nevis"
4441
  msgstr ""
4442
 
4443
- #: includes/helpers.php:575
4444
  msgid "Saint Lucia"
4445
  msgstr ""
4446
 
4447
- #: includes/helpers.php:576
4448
  msgid "Saint Martin (French)"
4449
  msgstr ""
4450
 
4451
- #: includes/helpers.php:577
4452
  msgid "Saint Martin (Dutch)"
4453
  msgstr ""
4454
 
4455
- #: includes/helpers.php:578
4456
  msgid "Saint Pierre and Miquelon"
4457
  msgstr ""
4458
 
4459
- #: includes/helpers.php:579
4460
  msgid "Saint Vincent and the Grenadines"
4461
  msgstr ""
4462
 
4463
- #: includes/helpers.php:580
4464
  msgid "San Marino"
4465
  msgstr ""
4466
 
4467
- #: includes/helpers.php:581
4468
  msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe"
4469
  msgstr ""
4470
 
4471
- #: includes/helpers.php:582
4472
  msgid "Saudi Arabia"
4473
  msgstr ""
4474
 
4475
- #: includes/helpers.php:583
4476
  msgid "Senegal"
4477
  msgstr ""
4478
 
4479
- #: includes/helpers.php:584
4480
  msgid "Serbia"
4481
  msgstr ""
4482
 
4483
- #: includes/helpers.php:585
4484
- #: includes/helpers.php:1804
4485
  msgid "Seychelles"
4486
  msgstr ""
4487
 
4488
- #: includes/helpers.php:586
4489
- #: includes/helpers.php:1805
4490
  msgid "Sierra Leone"
4491
  msgstr ""
4492
 
4493
- #: includes/helpers.php:587
4494
- #: includes/helpers.php:1798
4495
  msgid "Singapore"
4496
  msgstr ""
4497
 
4498
- #: includes/helpers.php:588
4499
  msgid "Slovak Republic"
4500
  msgstr ""
4501
 
4502
- #: includes/helpers.php:589
4503
  msgid "Slovenia"
4504
  msgstr ""
4505
 
4506
- #: includes/helpers.php:590
4507
- #: includes/helpers.php:1806
4508
  msgid "Solomon Islands"
4509
  msgstr ""
4510
 
4511
- #: includes/helpers.php:591
4512
  msgid "Somalia"
4513
  msgstr ""
4514
 
4515
- #: includes/helpers.php:592
4516
- #: includes/helpers.php:1807
4517
  msgid "South Africa"
4518
  msgstr ""
4519
 
4520
- #: includes/helpers.php:593
4521
  msgid "South Georgia"
4522
  msgstr ""
4523
 
4524
- #: includes/helpers.php:594
4525
  msgid "South Korea"
4526
  msgstr ""
4527
 
4528
- #: includes/helpers.php:595
4529
- #: includes/helpers.php:1808
4530
  msgid "South Sudan"
4531
  msgstr ""
4532
 
4533
- #: includes/helpers.php:596
4534
  msgid "Spain"
4535
  msgstr ""
4536
 
4537
- #: includes/helpers.php:597
4538
  msgid "Sri Lanka"
4539
  msgstr ""
4540
 
4541
- #: includes/helpers.php:598
4542
- #: includes/helpers.php:1809
4543
  msgid "Sudan"
4544
  msgstr ""
4545
 
4546
- #: includes/helpers.php:599
4547
  msgid "Suriname"
4548
  msgstr ""
4549
 
4550
- #: includes/helpers.php:600
4551
  msgid "Svalbard and Jan Mayen Islands"
4552
  msgstr ""
4553
 
4554
- #: includes/helpers.php:601
4555
- #: includes/helpers.php:1802
4556
  msgid "Swaziland"
4557
  msgstr ""
4558
 
4559
- #: includes/helpers.php:602
4560
  msgid "Sweden"
4561
  msgstr ""
4562
 
4563
- #: includes/helpers.php:603
4564
  msgid "Switzerland"
4565
  msgstr ""
4566
 
4567
- #: includes/helpers.php:604
4568
  msgid "Syrian Arab Republic"
4569
  msgstr ""
4570
 
4571
- #: includes/helpers.php:605
4572
  msgid "Taiwan"
4573
  msgstr ""
4574
 
4575
- #: includes/helpers.php:606
4576
  msgid "Tajikistan"
4577
  msgstr ""
4578
 
4579
- #: includes/helpers.php:607
4580
- #: includes/helpers.php:1812
4581
  msgid "Tanzania"
4582
  msgstr ""
4583
 
4584
- #: includes/helpers.php:608
4585
  msgid "Thailand"
4586
  msgstr ""
4587
 
4588
- #: includes/helpers.php:609
4589
  msgid "Timor-Leste"
4590
  msgstr ""
4591
 
4592
- #: includes/helpers.php:610
4593
  msgid "Togo"
4594
  msgstr ""
4595
 
4596
- #: includes/helpers.php:611
4597
  msgid "Tokelau"
4598
  msgstr ""
4599
 
4600
- #: includes/helpers.php:612
4601
- #: includes/helpers.php:1813
4602
  msgid "Tonga"
4603
  msgstr ""
4604
 
4605
- #: includes/helpers.php:613
4606
- #: includes/helpers.php:1810
4607
  msgid "Trinidad and Tobago"
4608
  msgstr ""
4609
 
4610
- #: includes/helpers.php:614
4611
  msgid "Tunisia"
4612
  msgstr ""
4613
 
4614
- #: includes/helpers.php:615
4615
  msgid "Turkey"
4616
  msgstr ""
4617
 
4618
- #: includes/helpers.php:616
4619
  msgid "Turkmenistan"
4620
  msgstr ""
4621
 
4622
- #: includes/helpers.php:617
4623
  msgid "Turks and Caicos Islands"
4624
  msgstr ""
4625
 
4626
- #: includes/helpers.php:618
4627
- #: includes/helpers.php:1814
4628
  msgid "Tuvalu"
4629
  msgstr ""
4630
 
4631
- #: includes/helpers.php:619
4632
- #: includes/helpers.php:1817
4633
  msgid "Uganda"
4634
  msgstr ""
4635
 
4636
- #: includes/helpers.php:620
4637
  msgid "Ukraine"
4638
  msgstr ""
4639
 
4640
- #: includes/helpers.php:621
4641
  msgid "United Arab Emirates"
4642
  msgstr ""
4643
 
4644
- #: includes/helpers.php:622
4645
  msgid "Uruguay"
4646
  msgstr ""
4647
 
4648
- #: includes/helpers.php:623
4649
  msgid "US Minor Outlying Islands"
4650
  msgstr ""
4651
 
4652
- #: includes/helpers.php:624
4653
  msgid "Uzbekistan"
4654
  msgstr ""
4655
 
4656
- #: includes/helpers.php:625
4657
- #: includes/helpers.php:1818
4658
  msgid "Vanuatu"
4659
  msgstr ""
4660
 
4661
- #: includes/helpers.php:626
4662
  msgid "Venezuela"
4663
  msgstr ""
4664
 
4665
- #: includes/helpers.php:627
4666
  msgid "Vietnam"
4667
  msgstr ""
4668
 
4669
- #: includes/helpers.php:628
4670
  msgid "Virgin Islands (British)"
4671
  msgstr ""
4672
 
4673
- #: includes/helpers.php:629
4674
  msgid "Virgin Islands (USA)"
4675
  msgstr ""
4676
 
4677
- #: includes/helpers.php:630
4678
  msgid "Wallis and Futuna Islands"
4679
  msgstr ""
4680
 
4681
- #: includes/helpers.php:631
4682
  msgid "Western Sahara"
4683
  msgstr ""
4684
 
4685
- #: includes/helpers.php:632
4686
  msgid "Western Samoa"
4687
  msgstr ""
4688
 
4689
- #: includes/helpers.php:633
4690
  msgid "Yemen"
4691
  msgstr ""
4692
 
4693
- #: includes/helpers.php:634
4694
- #: includes/helpers.php:1819
4695
  msgid "Zambia"
4696
  msgstr ""
4697
 
4698
- #: includes/helpers.php:635
4699
- #: includes/helpers.php:1820
4700
  msgid "Zimbabwe"
4701
  msgstr ""
4702
 
4703
- #: includes/helpers.php:636
4704
  msgid "Unknown Country"
4705
  msgstr ""
4706
 
4707
  #. Translators: The placeholders are for making the "We noticed you're using a caching plugin" text bold.
4708
- #: includes/helpers.php:1267
4709
  msgid "%1$sWe noticed you're using a caching plugin or caching from your hosting provider.%2$s Be sure to clear the cache to ensure the tracking appears on all pages and posts. %3$s(See this guide on how to clear cache)%4$s."
4710
  msgstr ""
4711
 
4712
  #. Translators: The placeholders are for making the "We have detected multiple tracking codes" text bold & adding a link to support.
4713
- #: includes/helpers.php:1308
4714
  msgid "%1$sWe have detected multiple tracking codes%2$s! You should remove non-ExactMetrics ones. If you need help finding them please %3$sread this article%4$s."
4715
  msgstr ""
4716
 
4717
- #: includes/helpers.php:1799
4718
  msgid "St Kitts and Nevis"
4719
  msgstr ""
4720
 
4721
- #: includes/helpers.php:1800
4722
  msgid "St Lucia"
4723
  msgstr ""
4724
 
4725
- #: includes/helpers.php:1801
4726
  msgid "St Vincent and the Grenadines"
4727
  msgstr ""
4728
 
4729
- #: includes/helpers.php:1803
4730
  msgid "Samoa"
4731
  msgstr ""
4732
 
4733
- #: includes/helpers.php:1811
4734
  msgid "The Bahamas"
4735
  msgstr ""
4736
 
4737
- #: includes/helpers.php:1816
4738
  msgid "United States of America"
4739
  msgstr ""
4740
 
@@ -4815,7 +4835,7 @@ msgid "Theme"
4815
  msgstr ""
4816
 
4817
  #: languages/gutenberg.php:77
4818
- #: languages/vue.php:529
4819
  msgid "Inline Popular Posts"
4820
  msgstr ""
4821
 
@@ -4852,7 +4872,7 @@ msgid "Comment Color"
4852
  msgstr ""
4853
 
4854
  #: languages/gutenberg.php:107
4855
- #: languages/vue.php:3068
4856
  msgid "Wide-Layout Options"
4857
  msgstr ""
4858
 
@@ -4861,12 +4881,12 @@ msgid "Choose Layout"
4861
  msgstr ""
4862
 
4863
  #: languages/gutenberg.php:113
4864
- #: languages/vue.php:3071
4865
  msgid "Adjust the number of columns displayed when the widget is placed in a wide container."
4866
  msgstr ""
4867
 
4868
  #: languages/gutenberg.php:116
4869
- #: languages/vue.php:3092
4870
  msgid "Post Count"
4871
  msgstr ""
4872
 
@@ -4875,7 +4895,7 @@ msgid "Number of posts displayed."
4875
  msgstr ""
4876
 
4877
  #: languages/gutenberg.php:122
4878
- #: languages/vue.php:3074
4879
  msgid "Display Options"
4880
  msgstr ""
4881
 
@@ -4888,7 +4908,7 @@ msgid "Display Widget Title"
4888
  msgstr ""
4889
 
4890
  #: languages/gutenberg.php:131
4891
- #: languages/vue.php:1954
4892
  msgid "Widget Title"
4893
  msgstr ""
4894
 
@@ -4897,17 +4917,17 @@ msgid "Only Show Posts From These Categories"
4897
  msgstr ""
4898
 
4899
  #: languages/gutenberg.php:137
4900
- #: languages/vue.php:3080
4901
  msgid "Display Author"
4902
  msgstr ""
4903
 
4904
  #: languages/gutenberg.php:140
4905
- #: languages/vue.php:3083
4906
  msgid "Display Date"
4907
  msgstr ""
4908
 
4909
  #: languages/gutenberg.php:143
4910
- #: languages/vue.php:3086
4911
  msgid "Display Comments"
4912
  msgstr ""
4913
 
@@ -5128,7 +5148,7 @@ msgid "Goal: "
5128
  msgstr ""
5129
 
5130
  #: languages/gutenberg.php:312
5131
- #: languages/vue.php:986
5132
  msgid "Headline Analyzer"
5133
  msgstr ""
5134
 
@@ -5140,6 +5160,63 @@ msgstr ""
5140
  msgid "This headline analyzer is part of ExactMetrics to help you increase your traffic. See your %1swebsite traffic reports%2s."
5141
  msgstr ""
5142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5143
  #: languages/vue.php:5
5144
  msgid "1"
5145
  msgstr ""
@@ -5152,270 +5229,262 @@ msgstr ""
5152
  msgid "Loading Settings"
5153
  msgstr ""
5154
 
5155
- #: languages/vue.php:15
5156
  msgid "Please wait..."
5157
  msgstr ""
5158
 
5159
- #: languages/vue.php:18
5160
  msgid "Saving Changes..."
5161
  msgstr ""
5162
 
5163
- #: languages/vue.php:21
5164
  msgid "Settings Updated"
5165
  msgstr ""
5166
 
5167
  #. Translators: Add a link to the onboarding wizard.
5168
- #: languages/vue.php:25
5169
  msgid "You need to %1$sconnect ExactMetrics%2$s first"
5170
  msgstr ""
5171
 
5172
- #: languages/vue.php:28
5173
  msgid "Could Not Save Changes"
5174
  msgstr ""
5175
 
5176
- #: languages/vue.php:31
5177
  msgid "Loading new report data"
5178
  msgstr ""
5179
 
5180
  #. Translators: Adds an arrow icon.
5181
- #: languages/vue.php:35
5182
  msgid "Continue %s"
5183
  msgstr ""
5184
 
5185
- #: languages/vue.php:41
5186
  msgid "Error"
5187
  msgstr ""
5188
 
5189
- #: languages/vue.php:44
5190
  msgid "Please try again."
5191
  msgstr ""
5192
 
5193
- #: languages/vue.php:47
5194
  msgid "Unlock the Publishers Report and Focus on the Content that Matters"
5195
  msgstr ""
5196
 
5197
- #: languages/vue.php:50
5198
  msgid "Stop guessing about what content your visitors are interested in. ExactMetrics Publisher Report shows you exactly which content gets the most visits, so you can analyze and optimize it for higher conversions."
5199
  msgstr ""
5200
 
5201
- #: languages/vue.php:53
5202
  msgid "Unlock the Publishers Report and Focus on the Content That Matters"
5203
  msgstr ""
5204
 
5205
- #: languages/vue.php:56
5206
  msgid "Stop guessing about what content your visitors are interested in. The Publisher Report shows you exactly which content gets the most traffic, so you can analyze and optimize it for higher conversions."
5207
  msgstr ""
5208
 
5209
- #: languages/vue.php:59
5210
  msgid "Unlock the eCommerce Report and See Your Important Store Metrics"
5211
  msgstr ""
5212
 
5213
- #: languages/vue.php:62
5214
  msgid "Increase your sales & revenue with insights. ExactMetrics answers all your top eCommerce questions using metrics like total revenue, conversion rate, average order value, top products, top referral sources and more."
5215
  msgstr ""
5216
 
5217
- #: languages/vue.php:65
5218
  msgid "Unlock the Dimensions Report and Track Your Own Custom Data"
5219
  msgstr ""
5220
 
5221
- #: languages/vue.php:68
5222
  msgid "Decide what data is important using your own custom tracking parameters. The Dimensions report allows you to easily see what's working right inside your WordPress dashboard."
5223
  msgstr ""
5224
 
5225
- #: languages/vue.php:71
5226
  msgid "Unlock the Forms Report and Improve Conversions"
5227
  msgstr ""
5228
 
5229
- #: languages/vue.php:74
5230
  msgid "Easily track your form views and conversions. The Forms Report allows you to see which forms are performing better and which forms have lower conversion rates so you can optimize using real data."
5231
  msgstr ""
5232
 
5233
- #: languages/vue.php:78
5234
  msgid "Unlock the Search Console Report and See How People Find Your Website"
5235
  msgstr ""
5236
 
5237
- #: languages/vue.php:81
5238
  msgid "See exactly how people find your website, which keywords they searched for, how many times the results were viewed, and more."
5239
  msgstr ""
5240
 
5241
- #: languages/vue.php:84
5242
  msgid "Unlock the Real-Time Report and Track the Visitors on Your Site in Real-Time"
5243
  msgstr ""
5244
 
5245
- #: languages/vue.php:87
5246
  msgid "Track the results of your marketing efforts and product launches as-it-happens right from your WordPress site. The Real-Time report allows you to view your traffic sources and visitors activity when you need it."
5247
  msgstr ""
5248
 
5249
- #: languages/vue.php:90
5250
  msgid "Unlock the Site Speed Report and Improve the Performance of Your Site"
5251
  msgstr ""
5252
 
5253
- #: languages/vue.php:93
5254
  msgid "See How Your Homepage Performs According to Google’s Own Criteria and See How You Can Improve to Increase Your Ranking"
5255
  msgstr ""
5256
 
5257
- #: languages/vue.php:96
5258
  msgid "Today"
5259
  msgstr ""
5260
 
5261
- #: languages/vue.php:99
5262
- msgid "Yesterday"
5263
- msgstr ""
5264
-
5265
- #: languages/vue.php:102
5266
  msgid "Last Week"
5267
  msgstr ""
5268
 
5269
- #: languages/vue.php:105
5270
  msgid "Last Month"
5271
  msgstr ""
5272
 
5273
- #: languages/vue.php:108
5274
  msgid "Last 7 days"
5275
  msgstr ""
5276
 
5277
- #: languages/vue.php:111
5278
- msgid "Last 30 days"
5279
- msgstr ""
5280
-
5281
- #: languages/vue.php:114
5282
  msgid "Loading settings"
5283
  msgstr ""
5284
 
5285
  #. Translators: Number of visitors.
5286
- #: languages/vue.php:118
5287
  msgid "See how %s visitors found your site!"
5288
  msgstr ""
5289
 
5290
  #. Translators: Number of visitors.
5291
- #: languages/vue.php:122
5292
  msgid "Your website was visited by %s users in the last 30 days."
5293
  msgstr ""
5294
 
5295
- #: languages/vue.php:125
5296
  msgid "See the full analytics report!"
5297
  msgstr ""
5298
 
5299
- #: languages/vue.php:128
5300
  msgid "Overview Report"
5301
  msgstr ""
5302
 
5303
  #. Translators: Current PHP version and recommended PHP version.
5304
- #: languages/vue.php:132
5305
  msgid "ExactMetrics has detected that your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked. WordPress stopped supporting your PHP version in April, 2019. Updating to the recommended version (PHP %2$s) only takes a few minutes and will make your website significantly faster and more secure."
5306
  msgstr ""
5307
 
5308
  #. Translators: Current WordPress version.
5309
- #: languages/vue.php:136
5310
  msgid "ExactMetrics has detected that your site is running an outdated version of WordPress (%s). ExactMetrics will stop supporting WordPress versions lower than 4.9 in 2020. Updating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install."
5311
  msgstr ""
5312
 
5313
- #: languages/vue.php:139
5314
  msgid "Yikes! PHP Update Required"
5315
  msgstr ""
5316
 
5317
  #. Translators: Current PHP version and recommended PHP version.
5318
- #: languages/vue.php:143
5319
  msgid "ExactMetrics has detected that your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked. Updating to the recommended version (PHP %2$s) only takes a few minutes and will make your website significantly faster and more secure."
5320
  msgstr ""
5321
 
5322
- #: languages/vue.php:146
5323
  msgid "Learn more about updating PHP"
5324
  msgstr ""
5325
 
5326
- #: languages/vue.php:149
5327
  msgid "Yikes! WordPress Update Required"
5328
  msgstr ""
5329
 
5330
  #. Translators: Current WordPress version.
5331
- #: languages/vue.php:153
5332
  msgid "ExactMetrics has detected that your site is running an outdated version of WordPress (%s). Updating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install."
5333
  msgstr ""
5334
 
5335
- #: languages/vue.php:156
5336
  msgid "Learn more about updating WordPress"
5337
  msgstr ""
5338
 
5339
- #: languages/vue.php:162
5340
  msgid "Getting Started"
5341
  msgstr ""
5342
 
5343
- #: languages/vue.php:165
5344
  msgid "Lite vs Pro"
5345
  msgstr ""
5346
 
5347
- #: languages/vue.php:168
5348
  msgid "Success! "
5349
  msgstr ""
5350
 
5351
- #: languages/vue.php:171
5352
  msgid "You're now using ExactMetrics Pro with all the features."
5353
  msgstr ""
5354
 
5355
  #. Translators: Placeholder gets replaced with an arrow icon.
5356
- #: languages/vue.php:175
5357
  msgid "Get Started %s"
5358
  msgstr ""
5359
 
5360
  #. Translators: Error status and error text.
5361
- #: languages/vue.php:179
5362
  msgid "Can't load report data. Error: %1$s, %2$s"
5363
  msgstr ""
5364
 
5365
- #: languages/vue.php:182
5366
  msgid "Error loading report data"
5367
  msgstr ""
5368
 
5369
- #. Translators: Makes text bold.
5370
- #: languages/vue.php:186
5371
  msgid "%1$sUniversal Tracking%2$s – Setup universal website tracking across devices and campaigns with just a few clicks (without any code)."
5372
  msgstr ""
5373
 
5374
- #. Translators: Makes text bold.
5375
- #: languages/vue.php:190
5376
  msgid "%1$sGoogle Analytics Dashboard%2$s - See your website analytics report right inside your WordPress dashboard with actionable insights."
5377
  msgstr ""
5378
 
5379
- #. Translators: Makes text bold.
5380
- #: languages/vue.php:194
5381
  msgid "%1$sReal-time Stats%2$s - Get real-time stats inside WordPress to see who is online, what are they doing and more."
5382
  msgstr ""
5383
 
5384
  #. Translators: Makes text bold.
5385
- #: languages/vue.php:198
5386
  msgid "%1$sEnhanced Ecommerce Tracking%2$s - 1-click Google Analytics Enhanced eCommerce tracking for WooCommerce, Easy Digital Download & MemberPress."
5387
  msgstr ""
5388
 
5389
- #. Translators: Makes text bold.
5390
- #: languages/vue.php:202
5391
  msgid "%1$sPage Level Analytics%2$s - Get detailed stats for each post and page, so you can see the most popular posts, pages, and sections of your site."
5392
  msgstr ""
5393
 
5394
- #. Translators: Makes text bold.
5395
- #: languages/vue.php:206
5396
  msgid "%1$sAffiliate Link & Ads Tracking%2$s - Automatically track clicks on your affiliate links, banner ads, and other outbound links with our link tracking."
5397
  msgstr ""
5398
 
5399
- #. Translators: Makes text bold.
5400
- #: languages/vue.php:210
5401
  msgid "%1$sEU Compilance (GDPR Friendly)%2$s - Make Google Analytics compliant with GDPR and other privacy regulations automatically."
5402
  msgstr ""
5403
 
5404
  #. Translators: Makes text bold.
5405
- #: languages/vue.php:214
5406
  msgid "%1$sCustom Dimensions%2$s - Setup tracking for authors, tags, searches, custom post types, users, and other events with 1-click."
5407
  msgstr ""
5408
 
5409
- #. Translators: Adds link to the features page.
5410
- #: languages/vue.php:218
5411
  msgid "%1$sSee All Features%2$s"
5412
  msgstr ""
5413
 
5414
- #: languages/vue.php:221
5415
  msgid "Pro Plan"
5416
  msgstr ""
5417
 
5418
- #: languages/vue.php:224
5419
  msgid "per year"
5420
  msgstr ""
5421
 
@@ -5451,4313 +5520,4325 @@ msgstr ""
5451
  msgid "Guides and Documentation:"
5452
  msgstr ""
5453
 
5454
- #: languages/vue.php:257
5455
  msgid "Upgrade to PRO"
5456
  msgstr ""
5457
 
5458
- #: languages/vue.php:261
5459
  msgid "eCommerce Tracking"
5460
  msgstr ""
5461
 
5462
- #: languages/vue.php:264
5463
  msgid "Custom Dimensions"
5464
  msgstr ""
5465
 
5466
- #: languages/vue.php:267
5467
  msgid "Form Tracking"
5468
  msgstr ""
5469
 
5470
- #: languages/vue.php:270
5471
  msgid "AMP Support"
5472
  msgstr ""
5473
 
5474
- #: languages/vue.php:273
5475
  msgid "Author Tracking"
5476
  msgstr ""
5477
 
5478
- #: languages/vue.php:276
5479
  msgid "EU Compliance Addon"
5480
  msgstr ""
5481
 
5482
- #: languages/vue.php:279
5483
  msgid "Real Time Report"
5484
  msgstr ""
5485
 
5486
- #: languages/vue.php:282
5487
  msgid "Google Optimize"
5488
  msgstr ""
5489
 
5490
- #: languages/vue.php:286
5491
  #: lite/includes/admin/reports/report-queries.php:22
5492
  msgid "Search Console"
5493
  msgstr ""
5494
 
5495
- #: languages/vue.php:289
5496
  msgid "Custom Date Ranges"
5497
  msgstr ""
5498
 
5499
- #: languages/vue.php:292
5500
- #: languages/vue.php:926
5501
  msgid "Getting Started with ExactMetrics"
5502
  msgstr ""
5503
 
5504
- #: languages/vue.php:295
5505
- #: languages/vue.php:929
5506
  msgid "ExactMetrics is the easiest analytics solution on the market to get started with, as we walk you through exactly what you need to do, in plain english, using our 3 minute setup wizard."
5507
  msgstr ""
5508
 
5509
- #: languages/vue.php:298
5510
  msgid "To begin with, we’ll get your site authorized with Google Analytics, so we can start tracking and generating reports for you right away."
5511
  msgstr ""
5512
 
5513
- #: languages/vue.php:301
5514
  msgid "In no time at all, and after just a few clicks, you'll have setup the most powerful Google Analytics tracking available for WordPress. It's easy to double your traffic and sales when you know exactly how people find and use your website. Let's get started!."
5515
  msgstr ""
5516
 
5517
- #: languages/vue.php:304
5518
  msgid "Launch the wizard!"
5519
  msgstr ""
5520
 
5521
- #: languages/vue.php:307
5522
  msgid "Welcome to"
5523
  msgstr ""
5524
 
5525
  #. Translators: Adds a line break.
5526
- #: languages/vue.php:311
5527
  msgid "Thank you for choosing ExactMetrics -%s The Most Powerful WordPress Analytics Plugin"
5528
  msgstr ""
5529
 
5530
- #. Translators: Makes text bold.
5531
- #: languages/vue.php:315
5532
  msgid "%1$sExactMetrics%2$s makes it “effortless” to setup Google Analytics in WordPress, the RIGHT Way. You can watch the video tutorial or use our 3 minute setup wizard."
5533
  msgstr ""
5534
 
5535
- #: languages/vue.php:318
5536
  msgid "ExactMetrics Features & Addons"
5537
  msgstr ""
5538
 
5539
- #: languages/vue.php:321
5540
  msgid "Here are the features that make ExactMetrics the most powerful and user-friendly WordPress analytics plugin in the market."
5541
  msgstr ""
5542
 
5543
  #. Translators: Placeholder is replaced with WPForms.
5544
- #: languages/vue.php:325
5545
  msgid "Recommended Plugin: %s"
5546
  msgstr ""
5547
 
5548
- #: languages/vue.php:328
5549
  msgid "Install"
5550
  msgstr ""
5551
 
5552
- #: languages/vue.php:331
5553
  msgid "Activate"
5554
  msgstr ""
5555
 
5556
- #: languages/vue.php:337
5557
  msgid "ExactMetrics encountered an error loading your report data"
5558
  msgstr ""
5559
 
5560
- #: languages/vue.php:340
5561
  msgid "There is an issue with your Google Account authentication. Please use the button below to fix it by re-authenticating."
5562
  msgstr ""
5563
 
5564
- #: languages/vue.php:343
5565
- #: languages/vue.php:1851
5566
  msgid "Reconnect ExactMetrics"
5567
  msgstr ""
5568
 
5569
- #: languages/vue.php:346
5570
  msgid "Re-Authenticating"
5571
  msgstr ""
5572
 
5573
- #: languages/vue.php:351
5574
  msgid "Ok"
5575
  msgstr ""
5576
 
5577
- #: languages/vue.php:354
5578
- #: languages/vue.php:865
5579
  msgid "ExactMetrics Addons"
5580
  msgstr ""
5581
 
5582
- #: languages/vue.php:357
5583
  msgid "Search Addons"
5584
  msgstr ""
5585
 
5586
- #: languages/vue.php:360
5587
  msgid "Save Changes"
5588
  msgstr ""
5589
 
5590
- #: languages/vue.php:363
5591
  msgid "Exit Setup"
5592
  msgstr ""
5593
 
5594
- #: languages/vue.php:366
5595
  msgid "Time to Purchase"
5596
  msgstr ""
5597
 
5598
- #: languages/vue.php:369
5599
  msgid "This list shows how many days from first visit it took users to purchase products from your site."
5600
  msgstr ""
5601
 
5602
- #: languages/vue.php:372
5603
  msgid "Sessions to Purchase"
5604
  msgstr ""
5605
 
5606
- #: languages/vue.php:375
5607
  msgid "This list shows the number of sessions it took users before they purchased a product from your website."
5608
  msgstr ""
5609
 
5610
- #: languages/vue.php:378
5611
  msgid "New Customers"
5612
  msgstr ""
5613
 
5614
- #: languages/vue.php:381
5615
  msgid "This list shows the percentage of new customers who purchased a product from your website."
5616
  msgstr ""
5617
 
5618
- #: languages/vue.php:384
5619
  msgid "Abandoned Checkouts"
5620
  msgstr ""
5621
 
5622
- #: languages/vue.php:387
5623
  msgid "This list shows the percentage of carts that never went through the checkout process."
5624
  msgstr ""
5625
 
5626
- #: languages/vue.php:390
5627
  msgid "Top Posts/Pages"
5628
  msgstr ""
5629
 
5630
- #: languages/vue.php:393
5631
  msgid "This list shows the most viewed posts and pages on your website."
5632
  msgstr ""
5633
 
5634
- #: languages/vue.php:396
5635
  msgid "New vs. Returning Visitors"
5636
  msgstr ""
5637
 
5638
- #: languages/vue.php:399
5639
  msgid "This graph shows what percent of your user sessions come from new versus repeat visitors."
5640
  msgstr ""
5641
 
5642
- #: languages/vue.php:402
5643
  msgid "Device Breakdown"
5644
  msgstr ""
5645
 
5646
- #: languages/vue.php:405
5647
  msgid "This graph shows what percent of your visitor sessions are done using a traditional computer or laptop, tablet or mobile device to view your site."
5648
  msgstr ""
5649
 
5650
- #: languages/vue.php:408
5651
  msgid "Top Landing Pages"
5652
  msgstr ""
5653
 
5654
- #: languages/vue.php:411
5655
  msgid "This list shows the top pages users first land on when visiting your website."
5656
  msgstr ""
5657
 
5658
- #: languages/vue.php:414
5659
  msgid "Top Exit Pages"
5660
  msgstr ""
5661
 
5662
- #: languages/vue.php:417
5663
  msgid "This list shows the top pages users exit your website from."
5664
  msgstr ""
5665
 
5666
- #: languages/vue.php:420
5667
  msgid "Top Outbound Links"
5668
  msgstr ""
5669
 
5670
- #: languages/vue.php:423
5671
  msgid "This list shows the top links clicked on your website that go to another website."
5672
  msgstr ""
5673
 
5674
- #: languages/vue.php:426
5675
  msgid "Top Affiliate Links"
5676
  msgstr ""
5677
 
5678
- #: languages/vue.php:429
5679
  msgid "This list shows the top affiliate links your visitors clicked on."
5680
  msgstr ""
5681
 
5682
- #: languages/vue.php:432
5683
  msgid "Top Download Links"
5684
  msgstr ""
5685
 
5686
- #: languages/vue.php:435
5687
  msgid "This list shows the download links your visitors clicked the most."
5688
  msgstr ""
5689
 
5690
- #: languages/vue.php:442
5691
  msgid "Top Products"
5692
  msgstr ""
5693
 
5694
- #: languages/vue.php:445
5695
  msgid "This list shows the top selling products on your website."
5696
  msgstr ""
5697
 
5698
- #: languages/vue.php:448
5699
  msgid "Top Conversion Sources"
5700
  msgstr ""
5701
 
5702
- #: languages/vue.php:451
5703
  msgid "This list shows the top referral websites in terms of product revenue."
5704
  msgstr ""
5705
 
5706
- #: languages/vue.php:454
5707
  msgid "Total Add/Remove"
5708
  msgstr ""
5709
 
5710
- #: languages/vue.php:457
5711
  msgid "Analytics"
5712
  msgstr ""
5713
 
5714
  #. Translators: Adds an arrow icon.
5715
- #: languages/vue.php:461
5716
  msgid "View All Reports %s"
5717
  msgstr ""
5718
 
5719
- #: languages/vue.php:464
5720
  msgid "You must connect with ExactMetrics before you can view reports."
5721
  msgstr ""
5722
 
5723
- #: languages/vue.php:467
5724
  msgid "ExactMetrics makes it \"effortless\" for you to connect your site with Google Analytics and see reports right here in the WordPress dashboard."
5725
  msgstr ""
5726
 
5727
- #: languages/vue.php:470
5728
  msgid "Launch Setup Wizard"
5729
  msgstr ""
5730
 
5731
- #: languages/vue.php:473
5732
  msgid "Please ask your webmaster to connect ExactMetrics to Google Analytics."
5733
  msgstr ""
5734
 
5735
- #: languages/vue.php:486
5736
  msgid "See Quick Links"
5737
  msgstr ""
5738
 
5739
- #: languages/vue.php:489
5740
  msgid "Suggest a Feature"
5741
  msgstr ""
5742
 
5743
- #: languages/vue.php:492
5744
  msgid "Join Our Community"
5745
  msgstr ""
5746
 
5747
- #: languages/vue.php:495
5748
  msgid "Support & Docs"
5749
  msgstr ""
5750
 
5751
- #: languages/vue.php:498
5752
  msgid "Upgrade to Pro &#187;"
5753
  msgstr ""
5754
 
5755
- #: languages/vue.php:501
5756
  #: lite/includes/admin/reports/report-publisher.php:22
5757
  msgid "Publishers"
5758
  msgstr ""
5759
 
5760
- #: languages/vue.php:504
5761
  #: lite/includes/admin/reports/report-ecommerce.php:22
5762
  msgid "eCommerce"
5763
  msgstr ""
5764
 
5765
- #: languages/vue.php:507
5766
  msgid "Dimensions Report"
5767
  msgstr ""
5768
 
5769
- #: languages/vue.php:510
5770
  #: lite/includes/admin/reports/report-forms.php:22
5771
  msgid "Forms"
5772
  msgstr ""
5773
 
5774
- #: languages/vue.php:513
5775
  msgid "Real-Time"
5776
  msgstr ""
5777
 
5778
- #: languages/vue.php:516
5779
  msgid "Site Speed Report"
5780
  msgstr ""
5781
 
5782
- #: languages/vue.php:520
5783
  msgid "2020 Year in Review"
5784
  msgstr ""
5785
 
5786
- #: languages/vue.php:523
5787
  msgid "Import Export"
5788
  msgstr ""
5789
 
5790
- #: languages/vue.php:526
5791
  msgid "PrettyLinks Integration"
5792
  msgstr ""
5793
 
5794
- #: languages/vue.php:532
5795
  msgid "Popular Posts Widget"
5796
  msgstr ""
5797
 
5798
- #: languages/vue.php:535
5799
  msgid "Popular Products"
5800
  msgstr ""
5801
 
5802
- #: languages/vue.php:541
5803
  msgid "Sub menu item for WooCommerce Analytics"
5804
  msgstr ""
5805
 
5806
- #: languages/vue.php:547
5807
  msgid "Engagement"
5808
  msgstr ""
5809
 
5810
- #: languages/vue.php:550
5811
  msgid "Publisher"
5812
  msgstr ""
5813
 
5814
- #: languages/vue.php:553
5815
  msgid "Conversions"
5816
  msgstr ""
5817
 
5818
- #: languages/vue.php:556
5819
  msgid "Advanced"
5820
  msgstr ""
5821
 
5822
- #: languages/vue.php:559
5823
  msgid "URL Builder"
5824
  msgstr ""
5825
 
5826
  #. Translators: Adds a link to documentation.
5827
- #: languages/vue.php:563
5828
  msgid "In order for the ExactMetrics Google AMP addon to work properly, please ask your webmaster to install the WordPress AMP plugin by Automattic. %1$sLearn More%2$s"
5829
  msgstr ""
5830
 
5831
  #. Translators: Adds link to activate/install plugin and documentation.
5832
- #: languages/vue.php:567
5833
  msgid "In order for the ExactMetrics Google AMP addon to work properly, you need to install the WordPress AMP plugin by Automattic. %1$s%2$s Plugin%3$s | %4$sLearn More%5$s"
5834
  msgstr ""
5835
 
5836
  #. Translators: Adds a link to documentation.
5837
- #: languages/vue.php:571
5838
  msgid "In order for the ExactMetrics Instant Articles addon to work properly, please ask your webmaster to install the Instant Articles for WP plugin by Automattic version 3.3.5 or newer. %1$sLearn More%2$s"
5839
  msgstr ""
5840
 
5841
  #. Translators: Adds link to activate/install plugin and documentation.
5842
- #: languages/vue.php:575
5843
  msgid "In order for the ExactMetrics Instant Articles addon to work properly, you need to install the Instant Articles for WP plugin by Automattic version 3.3.5 or newer. %1$s%2$s Plugin%3$s | %4$sLearn More%5$s"
5844
  msgstr ""
5845
 
5846
- #: languages/vue.php:578
5847
  msgid "Installing Addon"
5848
  msgstr ""
5849
 
5850
- #: languages/vue.php:581
5851
  msgid "Activating Addon"
5852
  msgstr ""
5853
 
5854
- #: languages/vue.php:584
5855
  msgid "Addon Activated"
5856
  msgstr ""
5857
 
5858
- #: languages/vue.php:587
5859
  msgid "Loading report data"
5860
  msgstr ""
5861
 
5862
- #: languages/vue.php:590
5863
  msgid "Please activate manually"
5864
  msgstr ""
5865
 
5866
  #. Translators: Adds the error status and status text.
5867
- #: languages/vue.php:594
5868
  msgid "Error: %1$s, %2$s"
5869
  msgstr ""
5870
 
5871
- #: languages/vue.php:597
5872
  msgid "Error Activating Addon"
5873
  msgstr ""
5874
 
5875
- #: languages/vue.php:600
5876
  #: lite/includes/admin/wp-site-health.php:372
5877
  #: lite/includes/admin/wp-site-health.php:398
5878
  #: lite/includes/admin/wp-site-health.php:425
5879
  msgid "View Addons"
5880
  msgstr ""
5881
 
5882
- #: languages/vue.php:604
5883
  msgid "Dismiss"
5884
  msgstr ""
5885
 
5886
- #: languages/vue.php:607
5887
  msgid "Redirecting"
5888
  msgstr ""
5889
 
5890
- #: languages/vue.php:610
5891
  msgid "Please wait"
5892
  msgstr ""
5893
 
5894
- #: languages/vue.php:614
5895
  msgid "activate"
5896
  msgstr ""
5897
 
5898
- #: languages/vue.php:618
5899
  msgid "install"
5900
  msgstr ""
5901
 
5902
- #: languages/vue.php:622
5903
  msgid "Visit addons page"
5904
  msgstr ""
5905
 
5906
- #: languages/vue.php:625
5907
  msgid "Report Unavailable"
5908
  msgstr ""
5909
 
5910
  #. Translators: Install/Activate the addon.
5911
- #: languages/vue.php:629
5912
  msgid "%s Addon"
5913
  msgstr ""
5914
 
5915
- #: languages/vue.php:632
5916
  msgid "Go Back To Reports"
5917
  msgstr ""
5918
 
5919
- #: languages/vue.php:635
5920
  msgid "Enable Enhanced eCommerce"
5921
  msgstr ""
5922
 
5923
  #. Translators: Placeholders are replaced with the current step number out of the total number of steps.
5924
- #: languages/vue.php:639
5925
  msgid "Step %1$s of %2$s"
5926
  msgstr ""
5927
 
5928
- #: languages/vue.php:642
5929
  msgid "Go back"
5930
  msgstr ""
5931
 
5932
- #: languages/vue.php:645
5933
  msgid "Welcome to ExactMetrics!"
5934
  msgstr ""
5935
 
5936
- #: languages/vue.php:648
5937
  msgid "Let's get you set up."
5938
  msgstr ""
5939
 
5940
- #: languages/vue.php:651
5941
  msgid "Save and Continue"
5942
  msgstr ""
5943
 
5944
- #: languages/vue.php:654
5945
  msgid "Which category best describes your website?"
5946
  msgstr ""
5947
 
5948
- #: languages/vue.php:657
5949
  msgid "We will recommend the optimal settings for ExactMetrics based on your choice."
5950
  msgstr ""
5951
 
5952
- #: languages/vue.php:660
5953
  msgid "Business Website"
5954
  msgstr ""
5955
 
5956
  #. Translators: Make text bold.
5957
- #: languages/vue.php:664
5958
  msgid "Publisher %1$s(Blog)%2$s"
5959
  msgstr ""
5960
 
5961
- #: languages/vue.php:667
5962
  msgid "Ecommerce"
5963
  msgstr ""
5964
 
5965
- #: languages/vue.php:670
5966
  msgid "Connect ExactMetrics to Your Website"
5967
  msgstr ""
5968
 
5969
- #: languages/vue.php:673
5970
  msgid "ExactMetrics connects Google Analytics to WordPress and shows you stats that matter."
5971
  msgstr ""
5972
 
5973
- #: languages/vue.php:676
5974
  msgid "Connect Google Analytics + WordPress"
5975
  msgstr ""
5976
 
5977
- #: languages/vue.php:679
5978
  msgid "You will be taken to the ExactMetrics website where you'll need to connect your Analytics account."
5979
  msgstr ""
5980
 
5981
- #: languages/vue.php:682
5982
  msgid "Whoops, something went wrong and we weren't able to connect to ExactMetrics. Please enter your Google UA code manually."
5983
  msgstr ""
5984
 
5985
- #: languages/vue.php:685
5986
  msgid "Manually enter your UA code"
5987
  msgstr ""
5988
 
5989
- #: languages/vue.php:688
5990
  msgid "Warning: If you use a manual UA code, you won't be able to use any of the reporting and some of the tracking features. Your UA code should look like UA-XXXXXX-XX where the X's are numbers."
5991
  msgstr ""
5992
 
5993
- #: languages/vue.php:691
5994
  msgid "UA code can't be empty"
5995
  msgstr ""
5996
 
5997
- #: languages/vue.php:694
5998
  msgid "Saving UA code..."
5999
  msgstr ""
6000
 
6001
- #: languages/vue.php:697
6002
  msgid "ExactMetrics Recommends WPForms"
6003
  msgstr ""
6004
 
6005
- #: languages/vue.php:700
6006
  msgid "Built by the folks behind ExactMetrics, WPForms is the most beginner friendly form plugin in the market."
6007
  msgstr ""
6008
 
6009
- #: languages/vue.php:703
6010
  msgid "Used on over 4,000,000 websites!"
6011
  msgstr ""
6012
 
6013
- #: languages/vue.php:706
6014
  msgid "WPForms allow you to create beautiful contact forms, subscription forms, payment forms, and other types of forms for your site in minutes, not hours!"
6015
  msgstr ""
6016
 
6017
- #: languages/vue.php:709
6018
  msgid "Skip this Step"
6019
  msgstr ""
6020
 
6021
- #: languages/vue.php:712
6022
  msgid "Continue & Install WPForms"
6023
  msgstr ""
6024
 
6025
- #: languages/vue.php:715
6026
  msgid "Installing..."
6027
  msgstr ""
6028
 
6029
- #: languages/vue.php:718
6030
  msgid "Recommended Settings"
6031
  msgstr ""
6032
 
6033
- #: languages/vue.php:721
6034
  msgid "ExactMetrics recommends the following settings based on your configuration."
6035
  msgstr ""
6036
 
6037
- #: languages/vue.php:724
6038
  msgid "Events Tracking"
6039
  msgstr ""
6040
 
6041
- #: languages/vue.php:727
6042
  msgid "Must have for all click tracking on site."
6043
  msgstr ""
6044
 
6045
- #: languages/vue.php:730
6046
  msgid "ExactMetrics uses an advanced system to automatically detect all outbound links, download links, affiliate links, telephone links, mail links, and more automatically. We do all the work for you so you don't have to write any code."
6047
  msgstr ""
6048
 
6049
- #: languages/vue.php:734
6050
  msgid "Enhanced Link Attribution"
6051
  msgstr ""
6052
 
6053
- #: languages/vue.php:737
6054
  msgid "Improves the accuracy of your In-Page Analytics."
6055
  msgstr ""
6056
 
6057
- #: languages/vue.php:740
6058
  msgid "ExactMetrics will automatically help Google determine which links are unique and where they are on your site so that your In-Page Analytics reporting will be more accurate."
6059
  msgstr ""
6060
 
6061
- #: languages/vue.php:743
6062
  msgid "Install Updates Automatically"
6063
  msgstr ""
6064
 
6065
- #: languages/vue.php:746
6066
  msgid "Get the latest features, bug fixes, and security updates as they are released."
6067
  msgstr ""
6068
 
6069
- #: languages/vue.php:749
6070
  msgid "To ensure you get the latest bug fixes and security updates and avoid needing to spend time logging into your WordPress site to update ExactMetrics, we offer the ability to automatically have ExactMetrics update itself."
6071
  msgstr ""
6072
 
6073
- #: languages/vue.php:752
6074
  msgid "File Download Tracking"
6075
  msgstr ""
6076
 
6077
- #: languages/vue.php:755
6078
  msgid "Helps you see file downloads data."
6079
  msgstr ""
6080
 
6081
- #: languages/vue.php:758
6082
  msgid "ExactMetrics will automatically track downloads of common file types from links you have inserted onto your website. For example: want to know how many of your site's visitors have downloaded a PDF or other file you offer your visitors to download on your site? ExactMetrics makes this both easy, and code-free! You can customize the file types to track at any time from our settings panel."
6083
  msgstr ""
6084
 
6085
  #. Translators: Example path (/go/).
6086
- #: languages/vue.php:762
6087
  msgid "Path (example: %s)"
6088
  msgstr ""
6089
 
6090
- #: languages/vue.php:765
6091
  msgid "Path has to start with a / and have no spaces"
6092
  msgstr ""
6093
 
6094
  #. Translators: Example label (aff).
6095
- #: languages/vue.php:769
6096
  msgid "Label (example: %s)"
6097
  msgstr ""
6098
 
6099
- #: languages/vue.php:772
6100
  msgid "Label can't contain any spaces"
6101
  msgstr ""
6102
 
6103
- #: languages/vue.php:775
6104
  msgid "Helps you increase affiliate revenue."
6105
  msgstr ""
6106
 
6107
- #: languages/vue.php:778
6108
  msgid "ExactMetrics will automatically help you track affiliate links that use internal looking urls like example.com/go/ or example.com/refer/. You can add custom affiliate patterns on our settings panel when you finish the onboarding wizard."
6109
  msgstr ""
6110
 
6111
- #: languages/vue.php:781
6112
  msgid "Affiliate Link Tracking"
6113
  msgstr ""
6114
 
6115
- #: languages/vue.php:784
6116
  msgid "Who Can See Reports"
6117
  msgstr ""
6118
 
6119
- #: languages/vue.php:787
6120
  msgid "These user roles will be able to access ExactMetrics' reports in the WordPress admin area."
6121
  msgstr ""
6122
 
6123
- #: languages/vue.php:790
6124
  msgid "Users that have at least one of these roles will be able to view the reports, along with any user with the manage_options capability."
6125
  msgstr ""
6126
 
6127
- #: languages/vue.php:793
6128
  msgid "Save and continue"
6129
  msgstr ""
6130
 
6131
- #: languages/vue.php:796
6132
  msgid "Events Tracking is enabled the moment you set up ExactMetrics"
6133
  msgstr ""
6134
 
6135
- #: languages/vue.php:799
6136
  msgid "Enhanced Link Attribution is enabled the moment you set up ExactMetrics"
6137
  msgstr ""
6138
 
6139
- #: languages/vue.php:802
6140
  msgid "+ Add Role"
6141
  msgstr ""
6142
 
6143
  #. Translators: Placeholders are used for making text bold and adding a link.
6144
- #: languages/vue.php:806
6145
  msgid "You're using %1$s%2$s Lite%3$s. To unlock more features consider %4$supgrading to Pro%5$s."
6146
  msgstr ""
6147
 
6148
- #: languages/vue.php:809
6149
  #: lite/includes/admin/reports/report-dimensions.php:22
6150
  msgid "Dimensions"
6151
  msgstr ""
6152
 
6153
- #: languages/vue.php:812
6154
  msgid "Site Speed"
6155
  msgstr ""
6156
 
6157
- #: languages/vue.php:815
6158
  msgid "License Key"
6159
  msgstr ""
6160
 
6161
  #. Translators: Add link to retrieve license key from account.
6162
- #: languages/vue.php:819
6163
  msgid "Add your ExactMetrics license key from the email receipt or account area. %1$sRetrieve your license key%2$s."
6164
  msgstr ""
6165
 
6166
- #: languages/vue.php:822
6167
  msgid "Google Authentication"
6168
  msgstr ""
6169
 
6170
- #: languages/vue.php:825
6171
  msgid "Miscellaneous"
6172
  msgstr ""
6173
 
6174
- #: languages/vue.php:828
6175
  msgid "Hides plugin announcements and update details. This includes critical notices we use to inform about deprecations and important required configuration changes."
6176
  msgstr ""
6177
 
6178
- #: languages/vue.php:831
6179
  msgid "Hide Announcements"
6180
  msgstr ""
6181
 
6182
- #: languages/vue.php:834
6183
  msgid "You're using ExactMetrics Lite – no license needed. Enjoy!"
6184
  msgstr ""
6185
 
6186
- #. Translators: Add link to upgrade.
6187
- #: languages/vue.php:838
6188
  msgid "To unlock more features consider %1$supgrading to PRO%2$s."
6189
  msgstr ""
6190
 
6191
- #: languages/vue.php:841
6192
  msgid "Receive 50% off automatically applied at the checkout!"
6193
  msgstr ""
6194
 
6195
- #: languages/vue.php:844
6196
  msgid "See all features"
6197
  msgstr ""
6198
 
6199
- #: languages/vue.php:847
6200
  msgid "Setup Wizard"
6201
  msgstr ""
6202
 
6203
- #: languages/vue.php:850
6204
  msgid "Use our configuration wizard to properly setup Google Analytics with WordPress (with just a few clicks)."
6205
  msgstr ""
6206
 
6207
- #: languages/vue.php:853
6208
  msgid "Relaunch Setup Wizard"
6209
  msgstr ""
6210
 
6211
- #: languages/vue.php:856
6212
  msgid "There was an issue retrieving the addons for this site. Please click on the button below the refresh the addons data."
6213
  msgstr ""
6214
 
6215
- #: languages/vue.php:859
6216
  msgid "No addons found."
6217
  msgstr ""
6218
 
6219
- #: languages/vue.php:862
6220
  msgid "Refresh Addons"
6221
  msgstr ""
6222
 
6223
  #. Translators: Adds a line break.
6224
- #: languages/vue.php:869
6225
  msgid "Upgrade to Pro to unlock addons and other great features."
6226
  msgstr ""
6227
 
6228
- #: languages/vue.php:872
6229
  msgid "As a valued ExactMetrics Lite user you receive 50% off, automaticaly applied at checkout!"
6230
  msgstr ""
6231
 
6232
- #: languages/vue.php:875
6233
  msgid "Refreshing Addons"
6234
  msgstr ""
6235
 
6236
- #: languages/vue.php:878
6237
  msgid "Get ExactMetrics Pro Today and Unlock all the Powerful Features"
6238
  msgstr ""
6239
 
6240
  #. Translators: Placeholders make the text green.
6241
- #: languages/vue.php:882
6242
  msgid "Bonus: ExactMetrics Lite users get %1$s50%% off regular price%2$s, automatically applied at checkout."
6243
  msgstr ""
6244
 
6245
- #: languages/vue.php:885
6246
  msgid "How to Connect to Google Analytics"
6247
  msgstr ""
6248
 
6249
- #: languages/vue.php:888
6250
  msgid "After you install ExactMetrics, you’ll need to connect your WordPress site with your Google Analytics account. ExactMetrics makes the process easy, with no coding required."
6251
  msgstr ""
6252
 
6253
- #: languages/vue.php:891
6254
  msgid "Guide and Checklist for Advanced Insights"
6255
  msgstr ""
6256
 
6257
- #: languages/vue.php:894
6258
  msgid "Our goal is to make it as easy as possible for you to measure and track your stats so you can grow your business. This easy-to-follow guide and checklist will get you set up with ExactMetrics’ advanced tracking."
6259
  msgstr ""
6260
 
6261
- #: languages/vue.php:897
6262
  msgid "GDPR Guide"
6263
  msgstr ""
6264
 
6265
- #: languages/vue.php:900
6266
  msgid "Compliance with European data laws including GDPR can be confusing and time-consuming. In order to help ExactMetrics users comply with these laws, we’ve created an addon that automates a lot of the necessary configuration changes for you. "
6267
  msgstr ""
6268
 
6269
- #: languages/vue.php:903
6270
  msgid "How to Install and Activate ExactMetrics Addons"
6271
  msgstr ""
6272
 
6273
- #: languages/vue.php:906
6274
  msgid "The process for installing and activating addons is quick and easy after you install the ExactMetrics plugin. In this guide we’ll walk you through the process, step by step."
6275
  msgstr ""
6276
 
6277
- #: languages/vue.php:909
6278
  msgid "Enabling eCommerce Tracking and Reports"
6279
  msgstr ""
6280
 
6281
- #: languages/vue.php:912
6282
  msgid "Want to track your eCommerce sales data for your WooCommerce, MemberPress, or Easy Digital Downloads store with ExactMetrics? In this guide, we’ll show you how to enable eCommerce tracking in Google Analytics in just a few clicks."
6283
  msgstr ""
6284
 
6285
- #: languages/vue.php:915
6286
  msgid "Read Documentation"
6287
  msgstr ""
6288
 
6289
  #. Translators: Makes the text bold.
6290
- #: languages/vue.php:919
6291
  msgid "%1$sEnhanced eCommerce Tracking%2$s - 1-click Google Analyticks Enhanced Ecommerce trackin for WooCommerce, Easy Digital Download & MemberPress."
6292
  msgstr ""
6293
 
6294
  #. Translators: Makes the text bold.
6295
- #: languages/vue.php:923
6296
  msgid "%1$sCustom Dimensions%2$s - Setup tracking for authors, tags, searches, custom post type, users, and other events with 1-click."
6297
  msgstr ""
6298
 
6299
- #: languages/vue.php:932
6300
  msgid "One-click Complete eCommerce tracking"
6301
  msgstr ""
6302
 
6303
- #: languages/vue.php:935
6304
  msgid "Complete eCommerce tracking for WooCommerce, Easy Digital Downloads and MemberPress stores with no code or settings required"
6305
  msgstr ""
6306
 
6307
- #: languages/vue.php:938
6308
  msgid "Forms Tracking"
6309
  msgstr ""
6310
 
6311
- #: languages/vue.php:941
6312
  msgid "One-click Form Events Tracking"
6313
  msgstr ""
6314
 
6315
- #: languages/vue.php:944
6316
  msgid "WPForms, Ninja Forms, Contact Form 7, Gravity Forms and any other WordPress form plugin"
6317
  msgstr ""
6318
 
6319
- #: languages/vue.php:947
6320
  msgid "WordPress Admin Area Reports"
6321
  msgstr ""
6322
 
6323
- #: languages/vue.php:950
6324
  msgid "Standard Reports"
6325
  msgstr ""
6326
 
6327
- #: languages/vue.php:953
6328
  msgid "Overview Reports for the last 30 days."
6329
  msgstr ""
6330
 
6331
- #: languages/vue.php:956
6332
  msgid "Advanced Reports"
6333
  msgstr ""
6334
 
6335
- #: languages/vue.php:959
6336
  msgid "Publisher, eCommerce, Search Console, Custom Dimensions, Forms and Real-Time with custom date period selection"
6337
  msgstr ""
6338
 
6339
- #: languages/vue.php:962
6340
  msgid "Dashboard Widget"
6341
  msgstr ""
6342
 
6343
- #: languages/vue.php:965
6344
  msgid "Basic Widget"
6345
  msgstr ""
6346
 
6347
- #: languages/vue.php:968
6348
  msgid "Overview Report Synopsis"
6349
  msgstr ""
6350
 
6351
- #: languages/vue.php:971
6352
  msgid "Advanced Dashboard Widget"
6353
  msgstr ""
6354
 
6355
- #: languages/vue.php:974
6356
  msgid "Includes the complete Overview report, Publisher reports and 6 different eCommerce reports"
6357
  msgstr ""
6358
 
6359
- #: languages/vue.php:977
6360
  msgid "Publisher Reports"
6361
  msgstr ""
6362
 
6363
- #: languages/vue.php:980
6364
  msgid "Advanced Publisher Reports & Tracking"
6365
  msgstr ""
6366
 
6367
- #: languages/vue.php:983
6368
  msgid "View Top Landing/Exit Pages, Top Links, Demographics & Interests data and more"
6369
  msgstr ""
6370
 
6371
- #: languages/vue.php:989
6372
  msgid "Email Summaries"
6373
  msgstr ""
6374
 
6375
- #: languages/vue.php:992
6376
  msgid "Included"
6377
  msgstr ""
6378
 
6379
- #: languages/vue.php:995
6380
  msgid "Get weekly traffic reports directly in your inbox."
6381
  msgstr ""
6382
 
6383
- #: languages/vue.php:1001
6384
  msgid "Basic Options"
6385
  msgstr ""
6386
 
6387
- #: languages/vue.php:1004
6388
  msgid "Order Popular Posts by comments or shares with 3 simple theme choices."
6389
  msgstr ""
6390
 
6391
- #: languages/vue.php:1007
6392
  msgid "Dynamic Popular Posts & Popular Products"
6393
  msgstr ""
6394
 
6395
- #: languages/vue.php:1010
6396
  msgid "Display Popular Posts based on your actual traffic data from Google Analytics and choose from over 20 advanced themes. Display Popular WooCommerce products using widgets or Gutenberg blocks."
6397
  msgstr ""
6398
 
6399
- #: languages/vue.php:1013
6400
  msgid "Not Available"
6401
  msgstr ""
6402
 
6403
- #: languages/vue.php:1016
6404
  msgid "Complete Custom Dimensions Tracking"
6405
  msgstr ""
6406
 
6407
- #: languages/vue.php:1019
6408
  msgid "Track and measure by the Author, Post Type, Category, Tag, SEO Score, Focus Keyword, Logged-in User, User ID and Published Time of each post and page"
6409
  msgstr ""
6410
 
6411
- #: languages/vue.php:1025
6412
  msgid "Limited Support"
6413
  msgstr ""
6414
 
6415
- #: languages/vue.php:1028
6416
  msgid "Priority Support"
6417
  msgstr ""
6418
 
6419
- #: languages/vue.php:1031
6420
  msgid "Get the most out of ExactMetrics by upgrading to Pro and unlocking all of the powerful features."
6421
  msgstr ""
6422
 
6423
- #: languages/vue.php:1034
6424
  msgid "Feature"
6425
  msgstr ""
6426
 
6427
- #: languages/vue.php:1037
6428
  msgid "Lite"
6429
  msgstr ""
6430
 
6431
- #: languages/vue.php:1040
6432
  msgid "Pro"
6433
  msgstr ""
6434
 
6435
- #: languages/vue.php:1043
6436
  msgid "Bonus: ExactMetrics Lite users get 50% off regular price, automatically applied at checkout."
6437
  msgstr ""
6438
 
6439
- #: languages/vue.php:1049
6440
  msgid "Universal Tracking"
6441
  msgstr ""
6442
 
6443
- #: languages/vue.php:1052
6444
  msgid "Custom Google Analytics Link Tracking"
6445
  msgstr ""
6446
 
6447
- #: languages/vue.php:1055
6448
  msgid "Standard Tracking"
6449
  msgstr ""
6450
 
6451
- #: languages/vue.php:1058
6452
  msgid "Advanced Tracking"
6453
  msgstr ""
6454
 
6455
- #: languages/vue.php:1061
6456
  msgid "Automatic tracking of outbound/external, file download, affiliate, email and telephone links and our simple Custom Link Attribution markup for custom link tracking"
6457
  msgstr ""
6458
 
6459
- #: languages/vue.php:1064
6460
  msgid "Scroll tracking as well as tracking on Google Accelerated Mobile Pages (AMP) and Facebook Instant Articles for Publishers"
6461
  msgstr ""
6462
 
6463
- #: languages/vue.php:1067
6464
  msgid "No-Code-Needed Tracking Features"
6465
  msgstr ""
6466
 
6467
- #: languages/vue.php:1070
6468
  msgid "Basic Tracking Options"
6469
  msgstr ""
6470
 
6471
- #: languages/vue.php:1073
6472
  msgid "Cross-domain tracking, anonymization of IP addresses, and automatic exclusion of administrators from tracking"
6473
  msgstr ""
6474
 
6475
- #: languages/vue.php:1076
6476
  msgid "Advanced Tracking Options"
6477
  msgstr ""
6478
 
6479
- #: languages/vue.php:1079
6480
  msgid "Easily integrate Google Optimize as well as adjust recordings of site speed and the sample rate of visitors"
6481
  msgstr ""
6482
 
6483
- #: languages/vue.php:1082
6484
  msgid "Inbox"
6485
  msgstr ""
6486
 
6487
- #: languages/vue.php:1085
6488
  msgid "Back to Inbox"
6489
  msgstr ""
6490
 
6491
- #: languages/vue.php:1088
6492
  msgid "View Dismissed"
6493
  msgstr ""
6494
 
6495
- #: languages/vue.php:1091
6496
  msgid "Notifications"
6497
  msgstr ""
6498
 
6499
- #: languages/vue.php:1094
6500
  msgid "Dismiss All"
6501
  msgstr ""
6502
 
6503
- #: languages/vue.php:1097
6504
  msgid "Dismissed"
6505
  msgstr ""
6506
 
6507
- #: languages/vue.php:1100
6508
  msgid "No Notifications"
6509
  msgstr ""
6510
 
6511
  #. Translators: Error status and error text.
6512
- #: languages/vue.php:1104
6513
  msgid "Can't load settings. Error: %1$s, %2$s"
6514
  msgstr ""
6515
 
6516
- #: languages/vue.php:1108
6517
  msgid "You appear to be offline."
6518
  msgstr ""
6519
 
6520
  #. Translators: Error status and error text.
6521
- #: languages/vue.php:1112
6522
  msgid "Can't save settings. Error: %1$s, %2$s"
6523
  msgstr ""
6524
 
6525
- #: languages/vue.php:1115
6526
  msgid "Network error encountered. Settings not saved."
6527
  msgstr ""
6528
 
6529
- #: languages/vue.php:1118
6530
  msgid "Show in widget mode"
6531
  msgstr ""
6532
 
6533
- #: languages/vue.php:1121
6534
  msgid "Show in full-width mode"
6535
  msgstr ""
6536
 
6537
- #: languages/vue.php:1124
6538
  msgid "Show Overview Reports"
6539
  msgstr ""
6540
 
6541
- #: languages/vue.php:1127
6542
  msgid "Show Publishers Reports"
6543
  msgstr ""
6544
 
6545
- #: languages/vue.php:1130
6546
  msgid "Show eCommerce Reports"
6547
  msgstr ""
6548
 
6549
- #: languages/vue.php:1133
6550
  msgid "Settings Menu"
6551
  msgstr ""
6552
 
6553
- #: languages/vue.php:1136
6554
  msgid "Available in PRO version"
6555
  msgstr ""
6556
 
6557
- #: languages/vue.php:1139
6558
  msgid "See All Reports"
6559
  msgstr ""
6560
 
6561
- #: languages/vue.php:1142
6562
  msgid "Go to the Analytics Dashboard"
6563
  msgstr ""
6564
 
6565
- #: languages/vue.php:1157
6566
  msgid "Cart Funnel"
6567
  msgstr ""
6568
 
6569
- #: languages/vue.php:1160
6570
  msgid "Customer Insights"
6571
  msgstr ""
6572
 
6573
- #: languages/vue.php:1163
6574
  msgid "Campaign Measurement"
6575
  msgstr ""
6576
 
6577
- #: languages/vue.php:1166
6578
  msgid "Customer Profiles"
6579
  msgstr ""
6580
 
6581
- #: languages/vue.php:1169
6582
  msgid "See all the critical eCommerce data you need at a glance: your conversion rate, transactions, revenue, and average order value, and more."
6583
  msgstr ""
6584
 
6585
- #: languages/vue.php:1172
6586
  msgid "Truly Understand Your%1$s Customers With %2$sExactMetrics%3$s"
6587
  msgstr ""
6588
 
6589
- #: languages/vue.php:1175
6590
  msgid "You never truly understand your customers until you used Enhanced %1$s eCommerce from ExactMetrics!"
6591
  msgstr ""
6592
 
6593
- #: languages/vue.php:1178
6594
  msgid "Track all-new metrics!"
6595
  msgstr ""
6596
 
6597
- #: languages/vue.php:1181
6598
  msgid "Get stats WooCommerce doesn’t give you like: Conversion Sources, Avg. Order Value, Revenue per Source, Total Add to Carts & More!"
6599
  msgstr ""
6600
 
6601
- #: languages/vue.php:1184
6602
  msgid "FEATURES"
6603
  msgstr ""
6604
 
6605
- #: languages/vue.php:1187
6606
  msgid "Get The Unique Metrics Neccessary for Growth"
6607
  msgstr ""
6608
 
6609
- #: languages/vue.php:1190
6610
  msgid "See all the critical eCommerce data you need at a glance: your conversion rate, transactions, %1$srevenue, and average order value, and more."
6611
  msgstr ""
6612
 
6613
- #: languages/vue.php:1193
6614
  msgid "Get Answers to the important questions %1$syou should know."
6615
  msgstr ""
6616
 
6617
- #: languages/vue.php:1196
6618
  msgid "Did the login/registration step of the checkout put users off?"
6619
  msgstr ""
6620
 
6621
- #: languages/vue.php:1199
6622
  msgid "Which ad campaign is driving the most revenue?"
6623
  msgstr ""
6624
 
6625
- #: languages/vue.php:1202
6626
  msgid "Who is my typical customer?"
6627
  msgstr ""
6628
 
6629
- #: languages/vue.php:1205
6630
  msgid "Level-up Your eCommerce store with %1$sExactMetrics + WooCommerce!%1$s"
6631
  msgstr ""
6632
 
6633
  #. Translators: Error status and error text.
6634
- #: languages/vue.php:1209
6635
  msgid "Can't deactivate the license. Error: %1$s, %2$s"
6636
  msgstr ""
6637
 
6638
  #. Translators: Error status and error text.
6639
- #: languages/vue.php:1213
6640
  msgid "Can't upgrade to PRO please try again. Error: %1$s, %2$s"
6641
  msgstr ""
6642
 
6643
  #. Translators: Error status and error text.
6644
- #: languages/vue.php:1217
6645
  msgid "Can't load license details. Error: %1$s, %2$s"
6646
  msgstr ""
6647
 
6648
- #: languages/vue.php:1220
6649
  msgid "Error loading license details"
6650
  msgstr ""
6651
 
6652
  #. Translators: Error status and error text.
6653
- #: languages/vue.php:1224
6654
  msgid "Can't verify the license. Error: %1$s, %2$s"
6655
  msgstr ""
6656
 
6657
  #. Translators: Error status and error text.
6658
- #: languages/vue.php:1228
6659
  msgid "Can't validate the license. Error: %1$s, %2$s"
6660
  msgstr ""
6661
 
6662
- #: languages/vue.php:1232
6663
  msgid "Reset to default"
6664
  msgstr ""
6665
 
6666
- #: languages/vue.php:1235
6667
  msgid "The value entered does not match the required format"
6668
  msgstr ""
6669
 
6670
- #: languages/vue.php:1238
6671
  msgid "Check out the newly added classic mode"
6672
  msgstr ""
6673
 
6674
  #. Translators: Placeholder adds a line break.
6675
- #: languages/vue.php:1242
6676
  msgid "You can customize your %sdate range only in the PRO version."
6677
  msgstr ""
6678
 
6679
- #: languages/vue.php:1245
6680
  msgid "Help Us Improve"
6681
  msgstr ""
6682
 
6683
- #: languages/vue.php:1248
6684
  msgid "Help us better understand our users and their website needs."
6685
  msgstr ""
6686
 
6687
  #. Translators: Adds a link to the documentation.
6688
- #: languages/vue.php:1252
6689
  msgid "If enabled ExactMetrics will send some information about your WordPress site like what plugins and themes you use and which ExactMetrics settings you use to us so that we can improve our product. For a complete list of what we send and what we use it for, %1$svisit our website.%2$s"
6690
  msgstr ""
6691
 
6692
  #. Translators: The name of the field that is throwing a validation error.
6693
- #: languages/vue.php:1256
6694
  msgid "%s can't be empty."
6695
  msgstr ""
6696
 
6697
- #: languages/vue.php:1259
6698
  msgid "Duplicate values are not allowed."
6699
  msgstr ""
6700
 
6701
- #: languages/vue.php:1262
6702
  msgid "You can add maximum 5 items."
6703
  msgstr ""
6704
 
6705
- #: languages/vue.php:1265
6706
  msgid "At least 0 item required."
6707
  msgstr ""
6708
 
6709
- #: languages/vue.php:1268
6710
  msgid "Add Another Link Path"
6711
  msgstr ""
6712
 
6713
- #: languages/vue.php:1271
6714
  msgid "Remove row"
6715
  msgstr ""
6716
 
6717
- #: languages/vue.php:1275
6718
  msgid "Sessions"
6719
  msgstr ""
6720
 
6721
  #. Translators: Line break.
6722
- #: languages/vue.php:1279
6723
  msgid "Unique %s Sessions"
6724
  msgstr ""
6725
 
6726
- #: languages/vue.php:1282
6727
  msgid "Pageviews"
6728
  msgstr ""
6729
 
6730
  #. Translators: Line break.
6731
- #: languages/vue.php:1286
6732
  msgid "Unique %s Pageviews"
6733
  msgstr ""
6734
 
6735
- #: languages/vue.php:1289
6736
  msgid "A session is the browsing session of a single user to your site."
6737
  msgstr ""
6738
 
6739
- #: languages/vue.php:1292
6740
  msgid "A pageview is defined as a view of a page on your site that is being tracked by the Analytics tracking code. Each refresh of a page is also a new pageview."
6741
  msgstr ""
6742
 
6743
- #: languages/vue.php:1295
6744
  msgid "Total duration of all sessions (in seconds) / number of sessions."
6745
  msgstr ""
6746
 
6747
- #: languages/vue.php:1298
6748
  msgid "Percentage of single page visits (or web sessions). It is the number of visits in which a person leaves your website from the landing page without browsing any further."
6749
  msgstr ""
6750
 
6751
- #: languages/vue.php:1301
6752
  msgid "The number of distinct tracked users"
6753
  msgstr ""
6754
 
6755
- #: languages/vue.php:1304
6756
  msgid "Avg. Session Duration"
6757
  msgstr ""
6758
 
6759
- #: languages/vue.php:1308
6760
- msgid "Bounce Rate"
6761
- msgstr ""
6762
-
6763
- #: languages/vue.php:1312
6764
  msgid "Total Users"
6765
  msgstr ""
6766
 
6767
- #: languages/vue.php:1315
6768
  msgid "No options available"
6769
  msgstr ""
6770
 
6771
  #. Translators: Placeholders make the text highlighted.
6772
- #: languages/vue.php:1319
6773
  msgid "%1$sNeed%2$s to Grow FASTER??"
6774
  msgstr ""
6775
 
6776
- #: languages/vue.php:1322
6777
  msgid "Get additional, actionable insights by going Pro."
6778
  msgstr ""
6779
 
6780
- #: languages/vue.php:1325
6781
  msgid "Skip"
6782
  msgstr ""
6783
 
6784
- #: languages/vue.php:1328
6785
  msgid "See All Features"
6786
  msgstr ""
6787
 
6788
- #: languages/vue.php:1331
6789
  msgid "Upgrade to Pro to get the complete ExactMetrics experience including 1 click tracking integrations for your favorite WordPress plugins and insightful reports backed by our legendary support team."
6790
  msgstr ""
6791
 
6792
- #: languages/vue.php:1334
6793
  msgid "Our Pro plan includes:"
6794
  msgstr ""
6795
 
6796
  #. Translators: Error status and error text.
6797
- #: languages/vue.php:1338
6798
  msgid "Can't load errors. Error: %1$s, %2$s"
6799
  msgstr ""
6800
 
6801
- #: languages/vue.php:1341
6802
  msgid "Real-Time Report"
6803
  msgstr ""
6804
 
6805
- #: languages/vue.php:1344
6806
  msgid "Track the results of your marketing efforts and product launches as-it-happens right from your WordPress site. The Real-Time report allows you to view your traffic sources and visitor's activity when you need it."
6807
  msgstr ""
6808
 
6809
  #. Translators: add link to blog.
6810
- #: languages/vue.php:1348
6811
  msgid "To comply with Google's API policies we've had to remove the real time report from the lite version. You can read about this decision and why it was made in %1$sthis blog post%2$s. To access the real time report in the WordPress backend, you will need to upgrade to Pro."
6812
  msgstr ""
6813
 
6814
- #: languages/vue.php:1351
6815
  msgid "Here's what you get:"
6816
  msgstr ""
6817
 
6818
- #: languages/vue.php:1354
6819
  msgid "See Your Active Visitors and Track Their Behaviour to Optimize"
6820
  msgstr ""
6821
 
6822
- #: languages/vue.php:1357
6823
  msgid "See Your Top Pages Immediately After Making Changes"
6824
  msgstr ""
6825
 
6826
- #: languages/vue.php:1360
6827
  msgid "See Your Top Referral Sources and Adapt Faster"
6828
  msgstr ""
6829
 
6830
- #: languages/vue.php:1363
6831
  msgid "See Your Traffic Demographics"
6832
  msgstr ""
6833
 
6834
- #: languages/vue.php:1366
6835
  msgid "Get Fresh Report Data Every 60 Seconds"
6836
  msgstr ""
6837
 
6838
- #: languages/vue.php:1369
6839
  msgid "See Where Your Visitors are Connecting From (country & city)"
6840
  msgstr ""
6841
 
6842
- #: languages/vue.php:1372
6843
  msgid "Forms Report"
6844
  msgstr ""
6845
 
6846
- #: languages/vue.php:1375
6847
  msgid "See Reports for Any Contact Form Plugin or Sign-up Form"
6848
  msgstr ""
6849
 
6850
- #: languages/vue.php:1378
6851
  msgid "See Your Top Converting Forms and Optimize"
6852
  msgstr ""
6853
 
6854
- #: languages/vue.php:1381
6855
  msgid "See Your Forms Impressions Count to Find the Best Placement"
6856
  msgstr ""
6857
 
6858
- #: languages/vue.php:1384
6859
  msgid "Awesome, You're All Set!"
6860
  msgstr ""
6861
 
6862
- #: languages/vue.php:1387
6863
  msgid "ExactMetrics is all set up and ready to use. We've verified that the tracking code is deployed properly and collecting data."
6864
  msgstr ""
6865
 
6866
  #. Translators: Make text bold.
6867
- #: languages/vue.php:1391
6868
  msgid "%1$sPlease Note:%2$s While Google Analytics is properly setup and tracking everything, it does not send the data back to WordPress immediately. Depending on the size of your website, it can take between a few hours to 24 hours for reports to populate."
6869
  msgstr ""
6870
 
6871
  #. Translators: Add link to blog.
6872
  #. Translators: Link to our blog.
6873
- #: languages/vue.php:1395
6874
- #: languages/vue.php:3593
6875
  msgid "%1$sSubscribe to the ExactMetrics blog%2$s for tips on how to get more traffic and grow your business."
6876
  msgstr ""
6877
 
6878
- #: languages/vue.php:1398
6879
  msgid "Finish Setup & Exit Wizard"
6880
  msgstr ""
6881
 
6882
- #: languages/vue.php:1401
6883
  msgid "Google Analytics"
6884
  msgstr ""
6885
 
6886
- #: languages/vue.php:1404
6887
  msgid "Subscribe"
6888
  msgstr ""
6889
 
6890
- #: languages/vue.php:1407
6891
  msgid "Checking your website..."
6892
  msgstr ""
6893
 
6894
- #: languages/vue.php:1410
6895
  msgid "Recommended Addons"
6896
  msgstr ""
6897
 
6898
  #. Translators: Add a link to upgrade and make the text green.
6899
- #: languages/vue.php:1414
6900
  msgid "To unlock more features consider %1$supgrading to PRO%2$s.%3$s As a valued ExactMetrics Lite user you %4$sreceive 50%% off%5$s, automatically applied at checkout!"
6901
  msgstr ""
6902
 
6903
- #: languages/vue.php:1417
6904
  msgid "Upgrade to PRO Now"
6905
  msgstr ""
6906
 
6907
- #: languages/vue.php:1420
6908
  msgid "See who’s viewing and submitting your forms, so you can increase your conversion rate."
6909
  msgstr ""
6910
 
6911
- #: languages/vue.php:1423
6912
  msgid "See All Your Important Store Metrics in One Place."
6913
  msgstr ""
6914
 
6915
- #: languages/vue.php:1426
6916
  msgid "... and more:"
6917
  msgstr ""
6918
 
6919
- #: languages/vue.php:1429
6920
  msgid "Dimensions- Track authors, categories, trags, searches, users and more."
6921
  msgstr ""
6922
 
6923
- #: languages/vue.php:1432
6924
  msgid "EU Compliance- Improve compliance with GDPR and other privacy regulations."
6925
  msgstr ""
6926
 
6927
- #: languages/vue.php:1435
6928
  msgid "AMP- ExactMetrics Google AMP Addon enables accurate tracking of all mobile visitors to your AMP-enabled pages."
6929
  msgstr ""
6930
 
6931
- #: languages/vue.php:1438
6932
  msgid "Facebook Instant Articles- Integrate Google Analytics and Facebook Instant Articles with just one click."
6933
  msgstr ""
6934
 
6935
- #: languages/vue.php:1441
6936
  msgid "eCommerce- Sales tracking for your WooCommerce, Easy Digital Downloads, LifterLMS or MemberPress stores."
6937
  msgstr ""
6938
 
6939
- #: languages/vue.php:1444
6940
  msgid "Google Optimize- Easily enable Google Optimize on your WordPress site."
6941
  msgstr ""
6942
 
6943
- #: languages/vue.php:1447
6944
  msgid "Forms- Enable tracking of your form views, submissions and conversion rates."
6945
  msgstr ""
6946
 
6947
- #: languages/vue.php:1450
6948
  msgid "Ads- See who’s clicking on your Google Adsense banner ads."
6949
  msgstr ""
6950
 
6951
- #: languages/vue.php:1453
6952
  msgid "Hello and Welcome to ExactMetrics, the Best Google Analytics Plugin for WordPress."
6953
  msgstr ""
6954
 
6955
- #: languages/vue.php:1456
6956
  msgid "Ready to take your website to the next level? ExactMetrics gives you the accurate insights you need to make data-driven decisions to grow your traffic and conversions faster than ever before. Now you can easily enable advanced tracking on your website without having to know any code."
6957
  msgstr ""
6958
 
6959
- #: languages/vue.php:1459
6960
  msgid "The ExactMetrics Team"
6961
  msgstr ""
6962
 
6963
- #: languages/vue.php:1462
6964
  msgid "Custom Dimensions Report"
6965
  msgstr ""
6966
 
6967
- #: languages/vue.php:1465
6968
  msgid "Unlock the Dimensions Report and decide what data is important using your own custom tracking parameters"
6969
  msgstr ""
6970
 
6971
- #: languages/vue.php:1468
6972
  msgid "The Dimensions report allows you to easily see what's working right inside your WordPress dashboard."
6973
  msgstr ""
6974
 
6975
- #: languages/vue.php:1471
6976
  msgid "Author tracking to see which author’s posts generate the most traffic"
6977
  msgstr ""
6978
 
6979
- #: languages/vue.php:1474
6980
  msgid "Post Type tracking to see which WordPress post types perform better"
6981
  msgstr ""
6982
 
6983
- #: languages/vue.php:1477
6984
  msgid "Category tracking to see which sections of your sites are the most popular"
6985
  msgstr ""
6986
 
6987
- #: languages/vue.php:1480
6988
  msgid "SEO score tracking to see which blog SEO scores are the most popular"
6989
  msgstr ""
6990
 
6991
- #: languages/vue.php:1483
6992
  msgid "Focus Keyword tracking to see which of your content is doing well in search engines."
6993
  msgstr ""
6994
 
6995
- #: languages/vue.php:1486
6996
  msgid "Tag tracking to determine which topics are the most engaging to for your website visitors."
6997
  msgstr ""
6998
 
6999
  #. Translators: add link to blog.
7000
- #: languages/vue.php:1490
7001
  msgid "One of the factors that help deliver an outstanding user experience is having a website that loads quickly. With the Site Speed report you'll be able to check your site's performance directly from your ExactMetrics dashboard."
7002
  msgstr ""
7003
 
7004
- #: languages/vue.php:1493
7005
  msgid "See Your Homepage's Overall Performance Score"
7006
  msgstr ""
7007
 
7008
- #: languages/vue.php:1496
7009
  msgid "Run an Audit on Your Homepage and See Your Server Response Time"
7010
  msgstr ""
7011
 
7012
- #: languages/vue.php:1499
7013
  msgid "Learn How Long It Takes for Your Viewers to Interact With Your Site"
7014
  msgstr ""
7015
 
7016
- #: languages/vue.php:1502
7017
  msgid "Learn How to Improve the Core Metrics that Google Uses to Rank Your Site"
7018
  msgstr ""
7019
 
7020
- #: languages/vue.php:1505
7021
  msgid "Hide dashboard widget"
7022
  msgstr ""
7023
 
7024
- #: languages/vue.php:1508
7025
  msgid "Are you sure you want to hide the ExactMetrics Dashboard Widget? "
7026
  msgstr ""
7027
 
7028
- #: languages/vue.php:1511
7029
  msgid "Yes, hide it!"
7030
  msgstr ""
7031
 
7032
- #: languages/vue.php:1514
7033
  msgid "No, cancel!"
7034
  msgstr ""
7035
 
7036
- #: languages/vue.php:1517
7037
  msgid "ExactMetrics Widget Hidden"
7038
  msgstr ""
7039
 
7040
- #: languages/vue.php:1520
7041
  msgid "You can re-enable the ExactMetrics widget at any time using the \"Screen Options\" menu on the top right of this page"
7042
  msgstr ""
7043
 
7044
  #. Translators: Error status and error text.
7045
- #: languages/vue.php:1524
7046
  msgid "Can't deauthenticate. Error: %1$s, %2$s"
7047
  msgstr ""
7048
 
7049
  #. Translators: Error status and error text.
7050
- #: languages/vue.php:1528
7051
  msgid "Can't load authentication details. Error: %1$s, %2$s"
7052
  msgstr ""
7053
 
7054
- #: languages/vue.php:1531
7055
  msgid "You appear to be offline. Settings not saved."
7056
  msgstr ""
7057
 
7058
  #. Translators: Error status and error text.
7059
- #: languages/vue.php:1535
7060
  msgid "Can't authenticate. Error: %1$s, %2$s"
7061
  msgstr ""
7062
 
7063
  #. Translators: Error status and error text.
7064
- #: languages/vue.php:1539
7065
  msgid "Can't reauthenticate. Error: %1$s, %2$s"
7066
  msgstr ""
7067
 
7068
  #. Translators: Error status and error text.
7069
- #: languages/vue.php:1543
7070
  msgid "Can't verify credentials. Error: %1$s, %2$s"
7071
  msgstr ""
7072
 
7073
- #: languages/vue.php:1546
7074
  msgid "Still Calculating..."
7075
  msgstr ""
7076
 
7077
- #: languages/vue.php:1549
7078
  msgid "Your 2020 Year in Review is still calculating. Please check back later to see how your website performed last year."
7079
  msgstr ""
7080
 
7081
- #: languages/vue.php:1552
7082
  msgid "Back to Overview Report"
7083
  msgstr ""
7084
 
7085
- #: languages/vue.php:1555
7086
  msgid "Your 2020 Analytics Report"
7087
  msgstr ""
7088
 
7089
- #: languages/vue.php:1558
7090
  msgid "See how your website performed this year and find tips along the way to help grow even more in 2021!"
7091
  msgstr ""
7092
 
7093
- #: languages/vue.php:1561
7094
  msgid "Audience"
7095
  msgstr ""
7096
 
7097
- #: languages/vue.php:1564
7098
  msgid "Congrats"
7099
  msgstr ""
7100
 
7101
- #: languages/vue.php:1567
7102
  msgid "Your website was quite popular this year! "
7103
  msgstr ""
7104
 
7105
- #: languages/vue.php:1570
7106
  msgid "You had "
7107
  msgstr ""
7108
 
7109
- #: languages/vue.php:1573
7110
  msgid " visitors!"
7111
  msgstr ""
7112
 
7113
- #: languages/vue.php:1576
7114
  msgid " visitors"
7115
  msgstr ""
7116
 
7117
- #: languages/vue.php:1579
7118
  msgid "Total Visitors"
7119
  msgstr ""
7120
 
7121
- #: languages/vue.php:1582
7122
  msgid "Total Sessions"
7123
  msgstr ""
7124
 
7125
- #: languages/vue.php:1585
7126
  msgid "Visitors by Month"
7127
  msgstr ""
7128
 
7129
- #: languages/vue.php:1588
7130
  msgid "January 1, 2020 - December 31, 2020"
7131
  msgstr ""
7132
 
7133
- #: languages/vue.php:1591
7134
  msgid "A Tip for 2021"
7135
  msgstr ""
7136
 
7137
- #: languages/vue.php:1594
7138
  msgid "Demographics"
7139
  msgstr ""
7140
 
7141
- #: languages/vue.php:1597
7142
  msgid "#1"
7143
  msgstr ""
7144
 
7145
- #: languages/vue.php:1600
7146
  msgid "You Top 5 Countries"
7147
  msgstr ""
7148
 
7149
- #: languages/vue.php:1603
7150
  msgid "Let’s get to know your visitors a little better, shall we?"
7151
  msgstr ""
7152
 
7153
- #: languages/vue.php:1606
7154
  msgid "Gender"
7155
  msgstr ""
7156
 
7157
- #: languages/vue.php:1609
7158
  msgid "Female"
7159
  msgstr ""
7160
 
7161
- #: languages/vue.php:1612
7162
  msgid "Women"
7163
  msgstr ""
7164
 
7165
- #: languages/vue.php:1615
7166
  msgid "Male"
7167
  msgstr ""
7168
 
7169
- #: languages/vue.php:1618
7170
  msgid "Average Age"
7171
  msgstr ""
7172
 
7173
- #: languages/vue.php:1621
7174
  msgid "Behavior"
7175
  msgstr ""
7176
 
7177
- #: languages/vue.php:1624
7178
  msgid "Your Top 5 Pages"
7179
  msgstr ""
7180
 
7181
- #: languages/vue.php:1627
7182
  msgid "Time Spent on Site"
7183
  msgstr ""
7184
 
7185
- #: languages/vue.php:1630
7186
  msgid "minutes"
7187
  msgstr ""
7188
 
7189
- #: languages/vue.php:1633
7190
  msgid "Device Type"
7191
  msgstr ""
7192
 
7193
- #: languages/vue.php:1636
7194
  msgid "A Tip For 2021"
7195
  msgstr ""
7196
 
7197
- #: languages/vue.php:1639
7198
  msgid "Are you looking for a way to track your landing pages and see which one gets the most conversions on your website?"
7199
  msgstr ""
7200
 
7201
- #: languages/vue.php:1642
7202
  msgid "Read - How to Track Google Analytics Landing Page Conversions"
7203
  msgstr ""
7204
 
7205
- #: languages/vue.php:1645
7206
  msgid "So, where did all of these visitors come from?"
7207
  msgstr ""
7208
 
7209
- #: languages/vue.php:1648
7210
  msgid "Clicks"
7211
  msgstr ""
7212
 
7213
- #: languages/vue.php:1651
7214
  msgid "Your Top 5 Keywords"
7215
  msgstr ""
7216
 
7217
- #: languages/vue.php:1654
7218
  msgid "What keywords visitors searched for to find your site"
7219
  msgstr ""
7220
 
7221
- #: languages/vue.php:1657
7222
  msgid "Your Top 5 Referrals"
7223
  msgstr ""
7224
 
7225
- #: languages/vue.php:1660
7226
  msgid "The websites that link back to your website"
7227
  msgstr ""
7228
 
7229
- #: languages/vue.php:1663
7230
  msgid "Opportunity"
7231
  msgstr ""
7232
 
7233
- #: languages/vue.php:1666
7234
  msgid "Learn how to boost your SEO rankings using ExactMetrics so more visitors reach your articles and increase engagement."
7235
  msgstr ""
7236
 
7237
- #: languages/vue.php:1669
7238
  msgid "Read - 5 Ways to Skyrocket Your SEO Rankings with Google Analytics"
7239
  msgstr ""
7240
 
7241
- #: languages/vue.php:1672
7242
  msgid "Thank you for using ExactMetrics!"
7243
  msgstr ""
7244
 
7245
- #: languages/vue.php:1675
7246
  msgid "We’re grateful for your continued support. If there’s anything we can do to help you grow your business, please don’t hesitate to contact our team."
7247
  msgstr ""
7248
 
7249
- #: languages/vue.php:1678
7250
  msgid "Here's to an amazing 2021!"
7251
  msgstr ""
7252
 
7253
- #: languages/vue.php:1681
7254
  msgid "Enjoying ExactMetrics"
7255
  msgstr ""
7256
 
7257
- #: languages/vue.php:1684
7258
  msgid "Leave a five star review!"
7259
  msgstr ""
7260
 
7261
- #: languages/vue.php:1687
7262
  msgid "Syed Balkhi"
7263
  msgstr ""
7264
 
7265
- #: languages/vue.php:1690
7266
  msgid "Chris Christoff"
7267
  msgstr ""
7268
 
7269
- #: languages/vue.php:1693
7270
  msgid "Write Review"
7271
  msgstr ""
7272
 
7273
- #: languages/vue.php:1696
7274
  msgid "Did you know over 10 million websites use our plugins?"
7275
  msgstr ""
7276
 
7277
- #: languages/vue.php:1699
7278
  msgid "Try our other popular WordPress plugins to grow your website in 2021."
7279
  msgstr ""
7280
 
7281
- #: languages/vue.php:1702
7282
  msgid "Join our Communities!"
7283
  msgstr ""
7284
 
7285
- #: languages/vue.php:1705
7286
  msgid "Become a WordPress expert in 2021. Join our amazing communities and take your website to the next level."
7287
  msgstr ""
7288
 
7289
- #: languages/vue.php:1708
7290
  msgid "Facebook Group"
7291
  msgstr ""
7292
 
7293
- #: languages/vue.php:1711
7294
  msgid "Join our team of WordPress experts and other motivated website owners in the WPBeginner Engage Facebook Group."
7295
  msgstr ""
7296
 
7297
- #: languages/vue.php:1714
7298
  msgid "Join Now...It’s Free!"
7299
  msgstr ""
7300
 
7301
- #: languages/vue.php:1717
7302
  msgid "WordPress Tutorials by WPBeginner"
7303
  msgstr ""
7304
 
7305
- #: languages/vue.php:1720
7306
  msgid "WPBeginner is the largest free WordPress resource site for beginners and non-techy users."
7307
  msgstr ""
7308
 
7309
- #: languages/vue.php:1723
7310
  msgid "Visit WPBeginner"
7311
  msgstr ""
7312
 
7313
- #: languages/vue.php:1726
7314
  msgid "Follow Us!"
7315
  msgstr ""
7316
 
7317
- #: languages/vue.php:1729
7318
  msgid "Follow ExactMetrics on social media to stay up to date with latest updates, trends, and tutorials on how to make the most out of analytics."
7319
  msgstr ""
7320
 
7321
- #: languages/vue.php:1732
7322
  msgid "Copyright ExactMetrics, 2021"
7323
  msgstr ""
7324
 
7325
- #: languages/vue.php:1735
7326
  msgid "Upgrade to ExactMetrics Pro to Unlock Additional Actionable Insights"
7327
  msgstr ""
7328
 
7329
- #: languages/vue.php:1741
7330
  msgid "January"
7331
  msgstr ""
7332
 
7333
- #: languages/vue.php:1744
7334
  msgid "February"
7335
  msgstr ""
7336
 
7337
- #: languages/vue.php:1747
7338
  msgid "March"
7339
  msgstr ""
7340
 
7341
- #: languages/vue.php:1750
7342
  msgid "April"
7343
  msgstr ""
7344
 
7345
- #: languages/vue.php:1753
7346
  msgid "May"
7347
  msgstr ""
7348
 
7349
- #: languages/vue.php:1756
7350
  msgid "June"
7351
  msgstr ""
7352
 
7353
- #: languages/vue.php:1759
7354
  msgid "July"
7355
  msgstr ""
7356
 
7357
- #: languages/vue.php:1762
7358
  msgid "August"
7359
  msgstr ""
7360
 
7361
- #: languages/vue.php:1765
7362
  msgid "September"
7363
  msgstr ""
7364
 
7365
- #: languages/vue.php:1768
7366
  msgid "October"
7367
  msgstr ""
7368
 
7369
- #: languages/vue.php:1771
7370
  msgid "November"
7371
  msgstr ""
7372
 
7373
- #: languages/vue.php:1774
7374
  msgid "December"
7375
  msgstr ""
7376
 
7377
  #. Translators: Number of visitors.
7378
- #: languages/vue.php:1778
7379
  msgid "Your best month was <strong>%1$s</strong> with <strong>%2$s visitors!</strong>"
7380
  msgstr ""
7381
 
7382
- #: languages/vue.php:1781
7383
  msgid "See the top Traffic Sources and Top Pages for the Month of %s in the Overview Report to replicate your success."
7384
  msgstr ""
7385
 
7386
  #. Translators: Number of visitors.
7387
- #: languages/vue.php:1785
7388
  msgid "Your <strong>%1$s</strong> visitors came from <strong>%2$s</strong> different countries."
7389
  msgstr ""
7390
 
7391
  #. Translators: Number of visitors.
7392
- #: languages/vue.php:1789
7393
  msgid "%s Visitors"
7394
  msgstr ""
7395
 
7396
  #. Translators: Percent and Number of visitors.
7397
- #: languages/vue.php:1793
7398
  msgid "%1$s&#37 of your visitors were %2$s"
7399
  msgstr ""
7400
 
7401
  #. Translators: Number of visitors and their age.
7402
- #: languages/vue.php:1797
7403
  msgid "%1$s&#37 of your visitors were between the ages of %2$s"
7404
  msgstr ""
7405
 
7406
- #: languages/vue.php:1800
7407
  msgid "Your <strong>%1$s</strong> visitors viewed a total of <strong>%2$s</strong> pages. <span class='average-page-per-user' style='font-size: 20px;margin-top:25px;display:block;font-family:Lato'>That's an average of %3$s pages for each visitor!</span>"
7408
  msgstr ""
7409
 
7410
  #. Translators: Number of minutes spent on site.
7411
- #: languages/vue.php:1804
7412
  msgid "Each visitor spent an average of %s minutes on your website in 2020."
7413
  msgstr ""
7414
 
7415
  #. Translators: Name of device type.
7416
- #: languages/vue.php:1808
7417
  msgid "Most of your visitors viewed your website from their <strong>%s</strong> device."
7418
  msgstr ""
7419
 
7420
  #. Translators: Number of visitors and device percentage.
7421
- #: languages/vue.php:1812
7422
  msgid "%1$s&#37 of your visitors were on a %2$s device."
7423
  msgstr ""
7424
 
7425
- #: languages/vue.php:1815
7426
  msgid "Desktop"
7427
  msgstr ""
7428
 
7429
- #: languages/vue.php:1818
7430
  msgid "Tablet"
7431
  msgstr ""
7432
 
7433
- #: languages/vue.php:1821
7434
  msgid "Mobile"
7435
  msgstr ""
7436
 
7437
- #: languages/vue.php:1824
7438
  msgid "Force Deauthenticate"
7439
  msgstr ""
7440
 
7441
- #: languages/vue.php:1827
7442
  msgid "Disconnect ExactMetrics"
7443
  msgstr ""
7444
 
7445
- #: languages/vue.php:1830
7446
  msgid "Authenticating"
7447
  msgstr ""
7448
 
7449
- #: languages/vue.php:1833
7450
  msgid "Verifying Credentials"
7451
  msgstr ""
7452
 
7453
- #: languages/vue.php:1836
7454
  msgid "Your site is connected to ExactMetrics!"
7455
  msgstr ""
7456
 
7457
- #: languages/vue.php:1839
7458
  msgid "Deauthenticating"
7459
  msgstr ""
7460
 
7461
- #: languages/vue.php:1842
7462
  msgid "You've disconnected your site from ExactMetrics. Your site is no longer being tracked by Google Analytics and you won't see reports anymore."
7463
  msgstr ""
7464
 
7465
- #: languages/vue.php:1845
7466
- #: languages/vue.php:1917
7467
  msgid "Connect ExactMetrics"
7468
  msgstr ""
7469
 
7470
- #: languages/vue.php:1848
7471
  msgid "Verify Credentials"
7472
  msgstr ""
7473
 
7474
- #: languages/vue.php:1854
7475
  msgid "Website Profile"
7476
  msgstr ""
7477
 
7478
- #: languages/vue.php:1857
7479
  msgid "Active Profile"
7480
  msgstr ""
7481
 
7482
- #: languages/vue.php:1860
7483
  msgid "Your website profile has been set at the network level of your WordPress Multisite."
7484
  msgstr ""
7485
 
7486
- #: languages/vue.php:1863
7487
  msgid "If you would like to use a different profile for this subsite, you can authenticate below."
7488
  msgstr ""
7489
 
7490
- #: languages/vue.php:1866
7491
  msgid "Dual Tracking Profile"
7492
  msgstr ""
7493
 
7494
- #: languages/vue.php:1869
7495
  msgid "The dual tracking feature allows you to continue tracking this site into an existing GAv3 property so you can continue to use the GA reports you are used to already. Learn more about this feature %1$shere%2$s."
7496
  msgstr ""
7497
 
7498
- #: languages/vue.php:1872
7499
  msgid "Your Universal Analytics code should look like UA-XXXXXXXXXX where the X's are numbers."
7500
  msgstr ""
7501
 
7502
- #: languages/vue.php:1875
7503
  msgid "The dual tracking feature allows you to begin tracking this site into a GAv4 property to take advantage of the new GAv4 analysis tools. Learn more about this feature %1$shere%2$s."
7504
  msgstr ""
7505
 
7506
- #: languages/vue.php:1878
7507
  msgid "Your Measurement ID should look like G-XXXXXXXXXX where the X's are numbers."
7508
  msgstr ""
7509
 
7510
- #: languages/vue.php:1881
7511
  msgid "Measurement Protocol API Secret"
7512
  msgstr ""
7513
 
7514
- #: languages/vue.php:1884
7515
  msgid "The Measurement Protocol API secret allows your site to send tracking data to Google Analytics. To retrieve your Measurement Protocol API Secret, follow %1$sthis guide%2$s."
7516
  msgstr ""
7517
 
7518
- #: languages/vue.php:1887
7519
  msgid "Classic mode"
7520
  msgstr ""
7521
 
7522
- #: languages/vue.php:1890
7523
  msgid "Proceed"
7524
  msgstr ""
7525
 
7526
- #: languages/vue.php:1893
7527
  msgid "Connection Information"
7528
  msgstr ""
7529
 
7530
- #: languages/vue.php:1896
7531
  msgid "To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host."
7532
  msgstr ""
7533
 
7534
- #: languages/vue.php:1899
7535
  msgid "Hostname"
7536
  msgstr ""
7537
 
7538
- #: languages/vue.php:1902
7539
  msgid "FTP Username"
7540
  msgstr ""
7541
 
7542
- #: languages/vue.php:1905
7543
  msgid "FTP Password"
7544
  msgstr ""
7545
 
7546
- #: languages/vue.php:1908
7547
  msgid "This password will not be stored on the server."
7548
  msgstr ""
7549
 
7550
- #: languages/vue.php:1911
7551
  msgid "Connection Type"
7552
  msgstr ""
7553
 
7554
- #: languages/vue.php:1914
7555
  msgid "Cancel"
7556
  msgstr ""
7557
 
7558
- #: languages/vue.php:1920
7559
  msgid "Website profile"
7560
  msgstr ""
7561
 
7562
- #: languages/vue.php:1923
7563
  msgid "Active profile"
7564
  msgstr ""
7565
 
7566
- #: languages/vue.php:1926
7567
  msgid "Skip and Keep Connection"
7568
  msgstr ""
7569
 
7570
  #. Translators: Replaced with the number of days
7571
- #: languages/vue.php:1930
7572
  msgid "vs. Previous Day"
7573
  msgstr ""
7574
 
7575
- #: languages/vue.php:1933
7576
  msgid "No change"
7577
  msgstr ""
7578
 
7579
- #: languages/vue.php:1936
7580
  msgid "Choose Theme"
7581
  msgstr ""
7582
 
7583
- #: languages/vue.php:1939
7584
  msgid "Widget Styling"
7585
  msgstr ""
7586
 
7587
- #: languages/vue.php:1942
7588
  msgid "Choose how you want to determine the colors, font sizes and spacing of the widget."
7589
  msgstr ""
7590
 
7591
- #: languages/vue.php:1945
7592
  msgid "Sort By"
7593
  msgstr ""
7594
 
7595
- #: languages/vue.php:1948
7596
  msgid "Choose how you'd like the widget to determine your popular posts."
7597
  msgstr ""
7598
 
7599
- #: languages/vue.php:1951
7600
  msgid "Display Title"
7601
  msgstr ""
7602
 
7603
- #: languages/vue.php:1957
7604
  msgid "Title your widget and set its display preferences."
7605
  msgstr ""
7606
 
7607
- #: languages/vue.php:1960
7608
  msgid "Include in Post Types"
7609
  msgstr ""
7610
 
7611
- #: languages/vue.php:1963
7612
  msgid "Exclude from specific posts"
7613
  msgstr ""
7614
 
7615
  #. Translators: Placeholders make the text bold.
7616
- #: languages/vue.php:1967
7617
  msgid "Choose which Post Types the widget %1$sWILL%2$s be placed."
7618
  msgstr ""
7619
 
7620
  #. Translators: Placeholders make the text bold.
7621
- #: languages/vue.php:1971
7622
  msgid "Choose from which Posts the widget %1$sWILL NOT%2$s be placed."
7623
  msgstr ""
7624
 
7625
- #: languages/vue.php:1974
7626
  msgid "Loading Themes"
7627
  msgstr ""
7628
 
7629
  #. Translators: placeholders make text small.
7630
- #: languages/vue.php:1978
7631
  msgid "Default Styles %1$s- As seen above.%2$s"
7632
  msgstr ""
7633
 
7634
  #. Translators: placeholders make text small.
7635
- #: languages/vue.php:1982
7636
  msgid "No Styles %1$s- Use your own CSS.%2$s"
7637
  msgstr ""
7638
 
7639
  #. Translators: placeholders make text small.
7640
- #: languages/vue.php:1986
7641
  msgid "Comments %1$s- Randomly rotate your most commented on posts from the past 30 days.%2$s"
7642
  msgstr ""
7643
 
7644
  #. Translators: placeholders make text small.
7645
- #: languages/vue.php:1990
7646
  msgid "SharedCount %1$s- Connect with your SharedCount account to determine popular posts by share count.%2$s"
7647
  msgstr ""
7648
 
7649
  #. Translators: placeholders make text small.
7650
- #: languages/vue.php:1994
7651
  msgid "Curated %1$s- Choose the posts which will randomly rotate in the widget.%2$s"
7652
  msgstr ""
7653
 
7654
- #: languages/vue.php:1997
7655
  msgid "Placement"
7656
  msgstr ""
7657
 
7658
- #: languages/vue.php:2000
7659
  msgid "Choose how you'd like to place the widget."
7660
  msgstr ""
7661
 
7662
- #: languages/vue.php:2003
7663
  msgid "Insert After"
7664
  msgstr ""
7665
 
7666
- #: languages/vue.php:2006
7667
  msgid "Choose where in the post body the widget will be placed."
7668
  msgstr ""
7669
 
7670
- #: languages/vue.php:2009
7671
  msgid "Customize Design"
7672
  msgstr ""
7673
 
7674
- #: languages/vue.php:2012
7675
  msgid "words"
7676
  msgstr ""
7677
 
7678
- #: languages/vue.php:2015
7679
  msgid "Please select at least one post to display."
7680
  msgstr ""
7681
 
7682
  #. Translators: placeholders make text small.
7683
- #: languages/vue.php:2019
7684
  msgid "Automatic %1$s- The widget is automatically placed inside the post body.%2$s"
7685
  msgstr ""
7686
 
7687
  #. Translators: placeholders make text small.
7688
- #: languages/vue.php:2023
7689
  msgid "Manual %1$s- Manually place the widget using Gutenberg blocks or using our shortcode.%2$s"
7690
  msgstr ""
7691
 
7692
- #: languages/vue.php:2026
7693
  msgid "Caching"
7694
  msgstr ""
7695
 
7696
- #: languages/vue.php:2029
7697
  msgid "Enable Data Caching"
7698
  msgstr ""
7699
 
7700
- #: languages/vue.php:2032
7701
  msgid "Refresh Cache Every"
7702
  msgstr ""
7703
 
7704
- #: languages/vue.php:2035
7705
  msgid "Choose how often to refresh the cache."
7706
  msgstr ""
7707
 
7708
- #: languages/vue.php:2038
7709
  msgid "Enable Ajaxify"
7710
  msgstr ""
7711
 
7712
- #: languages/vue.php:2041
7713
  msgid "Ajaxify Widget"
7714
  msgstr ""
7715
 
7716
- #: languages/vue.php:2044
7717
  msgid "Use to bypass page caching."
7718
  msgstr ""
7719
 
7720
- #: languages/vue.php:2047
7721
  msgid "Empty Cache"
7722
  msgstr ""
7723
 
7724
- #: languages/vue.php:2050
7725
  msgid "Click to manually wipe the cache right now."
7726
  msgstr ""
7727
 
7728
- #: languages/vue.php:2053
7729
  msgid "Popular posts cache emptied"
7730
  msgstr ""
7731
 
7732
- #: languages/vue.php:2056
7733
  msgid "Error emptying the popular posts cache. Please try again."
7734
  msgstr ""
7735
 
7736
- #: languages/vue.php:2059
7737
  msgid "Last 30 Days Analytics for "
7738
  msgstr ""
7739
 
7740
- #: languages/vue.php:2062
7741
  msgid "Your Website"
7742
  msgstr ""
7743
 
7744
- #: languages/vue.php:2065
7745
  msgid "Avg. Duration"
7746
  msgstr ""
7747
 
7748
- #: languages/vue.php:2068
7749
  msgid "More data is available"
7750
  msgstr ""
7751
 
7752
- #: languages/vue.php:2071
7753
  msgid "Want to see page-specific stats?"
7754
  msgstr ""
7755
 
7756
- #: languages/vue.php:2074
7757
  msgid "You appear to be offline. WPForms not installed."
7758
  msgstr ""
7759
 
7760
  #. Translators: Error status and error text.
7761
- #: languages/vue.php:2078
7762
  msgid "Can't activate addon. Error: %1$s, %2$s"
7763
  msgstr ""
7764
 
7765
- #: languages/vue.php:2081
7766
  msgid "You appear to be offline. Addon not activated."
7767
  msgstr ""
7768
 
7769
  #. Translators: Error status and error text.
7770
- #: languages/vue.php:2085
7771
  msgid "Can't deactivate addon. Error: %1$s, %2$s"
7772
  msgstr ""
7773
 
7774
- #: languages/vue.php:2088
7775
  msgid "You appear to be offline. Addon not deactivated."
7776
  msgstr ""
7777
 
7778
  #. Translators: Error status and error text.
7779
- #: languages/vue.php:2092
7780
  msgid "Can't install plugin. Error: %1$s, %2$s"
7781
  msgstr ""
7782
 
7783
- #: languages/vue.php:2095
7784
  msgid "You appear to be offline. Plugin not installed."
7785
  msgstr ""
7786
 
7787
  #. Translators: Error status and error text.
7788
- #: languages/vue.php:2099
7789
  msgid "Can't install addon. Error: %1$s, %2$s"
7790
  msgstr ""
7791
 
7792
- #: languages/vue.php:2102
7793
  msgid "You appear to be offline. Addon not installed."
7794
  msgstr ""
7795
 
7796
  #. Translators: Error status and error text.
7797
- #: languages/vue.php:2106
7798
  msgid "Can't install WPForms. Error: %1$s, %2$s"
7799
  msgstr ""
7800
 
7801
- #: languages/vue.php:2109
7802
  msgid "Network Active"
7803
  msgstr ""
7804
 
7805
- #: languages/vue.php:2112
7806
  msgid "Active"
7807
  msgstr ""
7808
 
7809
- #: languages/vue.php:2115
7810
  msgid "Inactive"
7811
  msgstr ""
7812
 
7813
  #. Translators: Placeholder for the addon status (installed, active, etc).
7814
- #: languages/vue.php:2119
7815
  msgid "Status: %s"
7816
  msgstr ""
7817
 
7818
- #: languages/vue.php:2122
7819
  msgid "Not Installed"
7820
  msgstr ""
7821
 
7822
  #. Translators: Makes text bold and adds smiley.
7823
- #: languages/vue.php:2126
7824
  msgid "You’re using %1$sExactMetrics Lite%2$s - no license needed. Enjoy! %3$s"
7825
  msgstr ""
7826
 
7827
  #. Translators: Makes text green.
7828
- #: languages/vue.php:2130
7829
  msgid "As a valued ExactMetrics Lite user you %1$sreceive 50%% off%2$s, automatically applied at checkout."
7830
  msgstr ""
7831
 
7832
- #: languages/vue.php:2133
7833
  msgid "Unlock All Features and Upgrade to Pro"
7834
  msgstr ""
7835
 
7836
  #. Translators: Make text green and add smiley face.
7837
- #: languages/vue.php:2137
7838
  msgid "You're using %1$sExactMetrics Lite%2$s - no license needed. Enjoy! %3$s"
7839
  msgstr ""
7840
 
7841
  #. Translators: Make text green.
7842
- #: languages/vue.php:2141
7843
  msgid "As a valued ExactMetrics Lite user you %1$sreceive 50%% off%2$s, automatically applied at checkout!"
7844
  msgstr ""
7845
 
7846
- #: languages/vue.php:2144
7847
  msgid "Unlock PRO Features Now"
7848
  msgstr ""
7849
 
7850
- #: languages/vue.php:2147
7851
  msgid "Paste your license key here"
7852
  msgstr ""
7853
 
7854
- #: languages/vue.php:2150
7855
  msgid "Verify"
7856
  msgstr ""
7857
 
7858
  #. Translators: Add link to retrieve license from account area.
7859
- #: languages/vue.php:2154
7860
  msgid "Already purchased? Simply enter your license key below to connect with ExactMetrics PRO! %1$sRetrieve your license key%2$s."
7861
  msgstr ""
7862
 
7863
- #: languages/vue.php:2157
7864
- #: languages/vue.php:3630
7865
  msgid "There was an error unlocking ExactMetrics PRO please try again or install manually."
7866
  msgstr ""
7867
 
7868
- #: languages/vue.php:2160
7869
  msgid "%1$sAll-in-One SEO%2$s Makes SEO Simple. Gain Valuable Organic Traffic."
7870
  msgstr ""
7871
 
7872
- #: languages/vue.php:2163
7873
  msgid "Automatically migrate all of your SEO settings with just 1 click!"
7874
  msgstr ""
7875
 
7876
- #: languages/vue.php:2166
7877
  msgid "1,938"
7878
  msgstr ""
7879
 
7880
- #: languages/vue.php:2169
7881
  msgid "2+ Million Active Installs"
7882
  msgstr ""
7883
 
7884
- #: languages/vue.php:2172
7885
  msgid "AIOSEO is the DIY Solution for Managing your SEO"
7886
  msgstr ""
7887
 
7888
- #: languages/vue.php:2175
7889
  msgid "Set up the proper SEO foundations in less than 10 minutes."
7890
  msgstr ""
7891
 
7892
- #: languages/vue.php:2178
7893
  msgid "SEO Audit Checklist"
7894
  msgstr ""
7895
 
7896
- #: languages/vue.php:2181
7897
  msgid "Analyze your entire WordPress site to detect critical errors and get actionable insights to boost your SEO and get more traffic."
7898
  msgstr ""
7899
 
7900
- #: languages/vue.php:2184
7901
  msgid "Optimize Your Pages For Higher Rankings With TruSEO Score."
7902
  msgstr ""
7903
 
7904
- #: languages/vue.php:2187
7905
  msgid "TruSEO Score gives you a more in-depth analysis into your optimization efforts than just a pass or fail. Our actionable checklist helps you to unlock maximum traffic with each page."
7906
  msgstr ""
7907
 
7908
- #: languages/vue.php:2190
7909
  msgid "Get AIOSEO for WordPress"
7910
  msgstr ""
7911
 
7912
- #: languages/vue.php:2193
7913
  msgid "Get the #1 Most Powerful WordPress SEO Plugin Today"
7914
  msgstr ""
7915
 
7916
- #: languages/vue.php:2196
7917
  msgid "Try it out today, for free."
7918
  msgstr ""
7919
 
7920
- #: languages/vue.php:2199
7921
  msgid "Join 2,000,000+ Professionals who use AIOSEO to Improve Their Website Search Rankings."
7922
  msgstr ""
7923
 
7924
- #: languages/vue.php:2202
7925
  msgid "Activate and Install the Plugin with just one click!"
7926
  msgstr ""
7927
 
7928
- #: languages/vue.php:2205
7929
  msgid "Installing AIOSEO..."
7930
  msgstr ""
7931
 
7932
- #: languages/vue.php:2208
7933
  msgid "Congrats! All-in-One SEO Installed."
7934
  msgstr ""
7935
 
7936
- #: languages/vue.php:2211
7937
  msgid "Switch to AIOSEO"
7938
  msgstr ""
7939
 
7940
- #: languages/vue.php:2214
7941
  msgid "Installation Failed. Please refresh and try again."
7942
  msgstr ""
7943
 
7944
- #: languages/vue.php:2217
7945
  msgid "Activating AIOSEO..."
7946
  msgstr ""
7947
 
7948
- #: languages/vue.php:2220
7949
  msgid "Activate AIOSEO"
7950
  msgstr ""
7951
 
7952
- #: languages/vue.php:2223
7953
  msgid "Activation Failed. Please refresh and try again."
7954
  msgstr ""
7955
 
7956
- #: languages/vue.php:2226
7957
  msgid "Unlock Form Tracking"
7958
  msgstr ""
7959
 
7960
- #: languages/vue.php:2229
7961
  msgid "See who's viewing and submitting your forms, so you can increase your conversion rate."
7962
  msgstr ""
7963
 
7964
- #: languages/vue.php:2232
7965
  msgid "Use Google Optimize to retarget your website visitors and perform A/B split tests with ease."
7966
  msgstr ""
7967
 
7968
- #: languages/vue.php:2235
7969
  msgid "Add Custom Dimensions and track who's the most popular author on your site, which post types get the most traffic, and more"
7970
  msgstr ""
7971
 
7972
- #: languages/vue.php:2238
7973
  msgid "Show"
7974
  msgstr ""
7975
 
7976
- #: languages/vue.php:2241
7977
  msgid "File imported"
7978
  msgstr ""
7979
 
7980
- #: languages/vue.php:2244
7981
  msgid "Settings successfully updated!"
7982
  msgstr ""
7983
 
7984
- #: languages/vue.php:2247
7985
  msgid "Error importing settings"
7986
  msgstr ""
7987
 
7988
- #: languages/vue.php:2250
7989
  msgid "Please choose a .json file generated by a ExactMetrics settings export."
7990
  msgstr ""
7991
 
7992
- #: languages/vue.php:2253
7993
  msgid "Import/Export"
7994
  msgstr ""
7995
 
7996
- #: languages/vue.php:2256
7997
  msgid "Import"
7998
  msgstr ""
7999
 
8000
- #: languages/vue.php:2259
8001
  msgid "Import settings from another ExactMetrics website."
8002
  msgstr ""
8003
 
8004
- #: languages/vue.php:2262
8005
  msgid "Export"
8006
  msgstr ""
8007
 
8008
- #: languages/vue.php:2265
8009
  msgid "Export settings to import into another ExactMetrics install."
8010
  msgstr ""
8011
 
8012
- #: languages/vue.php:2268
8013
  msgid "Import Settings"
8014
  msgstr ""
8015
 
8016
- #: languages/vue.php:2271
8017
  msgid "Export Settings"
8018
  msgstr ""
8019
 
8020
- #: languages/vue.php:2274
8021
  msgid "Please choose a file to import"
8022
  msgstr ""
8023
 
8024
- #: languages/vue.php:2277
8025
  msgid "Click Choose file below to select the settings export file from another site."
8026
  msgstr ""
8027
 
8028
- #: languages/vue.php:2280
8029
  msgid "Use the button below to export a file with your ExactMetrics settings."
8030
  msgstr ""
8031
 
8032
- #: languages/vue.php:2283
8033
  msgid "Choose file"
8034
  msgstr ""
8035
 
8036
- #: languages/vue.php:2286
8037
  msgid "No file chosen"
8038
  msgstr ""
8039
 
8040
- #: languages/vue.php:2289
8041
  msgid "Uploading file..."
8042
  msgstr ""
8043
 
8044
- #: languages/vue.php:2292
8045
  msgid "Custom code"
8046
  msgstr ""
8047
 
8048
  #. Translators: Adds a link to the Google reference.
8049
- #: languages/vue.php:2296
8050
  msgid "Not for the average user: this allows you to add a line of code, to be added before the %1$spageview is sent%2$s."
8051
  msgstr ""
8052
 
8053
- #: languages/vue.php:2302
8054
  msgid "Automatic Updates"
8055
  msgstr ""
8056
 
8057
- #: languages/vue.php:2305
8058
  msgid "You must have the \"unfiltered_html\" capability to view/edit this setting."
8059
  msgstr ""
8060
 
8061
- #: languages/vue.php:2308
8062
  msgid "Hide Admin Bar Reports"
8063
  msgstr ""
8064
 
8065
  #. Translators: placeholders make text small.
8066
- #: languages/vue.php:2312
8067
  msgid "Enabled %1$s- Show reports and dashboard widget.%2$s"
8068
  msgstr ""
8069
 
8070
  #. Translators: placeholders make text small.
8071
- #: languages/vue.php:2316
8072
  msgid "Dashboard Widget Only %1$s- Disable reports, but show dashboard widget.%2$s"
8073
  msgstr ""
8074
 
8075
  #. Translators: placeholders make text small.
8076
- #: languages/vue.php:2320
8077
  msgid "Disabled %1$s- Hide reports and dashboard widget.%2$s"
8078
  msgstr ""
8079
 
8080
  #. Translators: placeholders make text small.
8081
- #: languages/vue.php:2324
8082
  msgid "Yes (recommended) %1$s- Get the latest features, bugfixes, and security updates as they are released.%2$s"
8083
  msgstr ""
8084
 
8085
  #. Translators: placeholders make text small.
8086
- #: languages/vue.php:2328
8087
  msgid "Minor only %1$s- Get bugfixes and security updates, but not major features.%2$s"
8088
  msgstr ""
8089
 
8090
  #. Translators: placeholders make text small.
8091
- #: languages/vue.php:2332
8092
  msgid "None %1$s- Manually update everything.%2$s"
8093
  msgstr ""
8094
 
8095
  #. Translators: Adds a link to the general settings tab.
8096
- #: languages/vue.php:2336
8097
  msgid "It looks like you added a Google Analytics tracking code in the custom code area, this can potentially prevent proper tracking. If you want to use a manual UA please use the setting in the %1$sGeneral%2$s tab."
8098
  msgstr ""
8099
 
8100
- #: languages/vue.php:2339
8101
  msgid "Permissions"
8102
  msgstr ""
8103
 
8104
- #: languages/vue.php:2342
8105
  msgid "Export PDF Reports"
8106
  msgstr ""
8107
 
8108
- #: languages/vue.php:2345
8109
  msgid "Allow These User Roles to See Reports"
8110
  msgstr ""
8111
 
8112
- #: languages/vue.php:2348
8113
  msgid "Users that have at least one of these roles will be able to view the reports."
8114
  msgstr ""
8115
 
8116
- #: languages/vue.php:2351
8117
  msgid "Allow These User Roles to Save Settings"
8118
  msgstr ""
8119
 
8120
- #: languages/vue.php:2354
8121
  msgid "Users that have at least one of these roles will be able to view and save the settings panel."
8122
  msgstr ""
8123
 
8124
- #: languages/vue.php:2357
8125
  msgid "Users that have at least one of these roles will be able to view and save the settings panel, along with any user with the manage_options capability."
8126
  msgstr ""
8127
 
8128
- #: languages/vue.php:2360
8129
  msgid "Exclude These User Roles From Tracking"
8130
  msgstr ""
8131
 
8132
- #: languages/vue.php:2363
8133
  msgid "Users that have at least one of these roles will not be tracked into Google Analytics."
8134
  msgstr ""
8135
 
8136
- #: languages/vue.php:2366
8137
  msgid "Make your ExactMetrics campaign links prettier with Pretty Links!"
8138
  msgstr ""
8139
 
8140
- #: languages/vue.php:2369
8141
  msgid "Pretty Links turns those ugly, long campaign links into clean, memorable, speakable, totally shareable links."
8142
  msgstr ""
8143
 
8144
- #: languages/vue.php:2372
8145
  msgid "Take your ExactMetrics campaign links from our URL Builder and shorten them with Pretty Links!"
8146
  msgstr ""
8147
 
8148
- #: languages/vue.php:2375
8149
  msgid "Over 200,000 websites use Pretty Links!"
8150
  msgstr ""
8151
 
8152
- #: languages/vue.php:2378
8153
  msgid "Install Pretty Links"
8154
  msgstr ""
8155
 
8156
- #: languages/vue.php:2381
8157
  msgid "Pretty Links Installed & Activated"
8158
  msgstr ""
8159
 
8160
- #: languages/vue.php:2384
8161
  msgid "Download Pretty Links"
8162
  msgstr ""
8163
 
8164
- #: languages/vue.php:2387
8165
  msgid "Install Pretty Links from the WordPress.org plugin repository."
8166
  msgstr ""
8167
 
8168
- #: languages/vue.php:2390
8169
  msgid "Activate Pretty Links"
8170
  msgstr ""
8171
 
8172
- #: languages/vue.php:2393
8173
  msgid "Activating Pretty Links..."
8174
  msgstr ""
8175
 
8176
- #: languages/vue.php:2396
8177
  msgid "Create New Pretty Link"
8178
  msgstr ""
8179
 
8180
- #: languages/vue.php:2399
8181
  msgid "Create a New Pretty Link"
8182
  msgstr ""
8183
 
8184
- #: languages/vue.php:2402
8185
  msgid "Grab your campaign link and paste it into the Target URL field."
8186
  msgstr ""
8187
 
8188
- #: languages/vue.php:2405
8189
  msgid "Custom Campaign Parameters"
8190
  msgstr ""
8191
 
8192
- #: languages/vue.php:2408
8193
  msgid "The URL builder helps you add parameters to your URLs you use in custom web or email ad campaigns."
8194
  msgstr ""
8195
 
8196
- #: languages/vue.php:2411
8197
  msgid "A custom campaign is any ad campaign not using the AdWords auto-tagging feature. When users click one of the custom links, the unique parameters are sent to your Analytics account, so you can identify the URLs that are the most effective in attracting users to your content."
8198
  msgstr ""
8199
 
8200
  #. Translators: Marks the field as required.
8201
- #: languages/vue.php:2415
8202
  msgid "Website URL %s"
8203
  msgstr ""
8204
 
8205
  #. Translators: Display the current website url in italic.
8206
- #: languages/vue.php:2419
8207
  msgid "The full website URL (e.g. %1$s %2$s%3$s)"
8208
  msgstr ""
8209
 
8210
  #. Translators: Marks the field as required.
8211
- #: languages/vue.php:2423
8212
  msgid "Campaign Source %s"
8213
  msgstr ""
8214
 
8215
  #. Translators: Make the text italic.
8216
- #: languages/vue.php:2427
8217
  msgid "Enter a referrer (e.g. %1$sfacebook, newsletter, google%2$s)"
8218
  msgstr ""
8219
 
8220
  #. Translators: Make the text italic.
8221
- #: languages/vue.php:2431
8222
  msgid "Enter a marketing medium (e.g. %1$scpc, banner, email%2$s)"
8223
  msgstr ""
8224
 
8225
  #. Translators: Make the text italic.
8226
- #: languages/vue.php:2435
8227
  msgid "Enter a name to easily identify (e.g. %1$sspring_sale%2$s)"
8228
  msgstr ""
8229
 
8230
- #: languages/vue.php:2438
8231
  msgid "Enter the paid keyword"
8232
  msgstr ""
8233
 
8234
- #: languages/vue.php:2441
8235
  msgid "Enter something to differentiate ads"
8236
  msgstr ""
8237
 
8238
- #: languages/vue.php:2444
8239
  msgid "Use Fragment"
8240
  msgstr ""
8241
 
8242
  #. Translators: Make the text bold.
8243
- #: languages/vue.php:2448
8244
  msgid "Set the parameters in the fragment portion of the URL %1$s(not recommended)%2$s"
8245
  msgstr ""
8246
 
8247
- #: languages/vue.php:2451
8248
  msgid "URL to use"
8249
  msgstr ""
8250
 
8251
- #: languages/vue.php:2454
8252
  msgid "(Updates automatically)"
8253
  msgstr ""
8254
 
8255
- #: languages/vue.php:2457
8256
  msgid "Copy to Clipboard"
8257
  msgstr ""
8258
 
8259
- #: languages/vue.php:2460
8260
  msgid "Copy to Pretty Links"
8261
  msgstr ""
8262
 
8263
- #: languages/vue.php:2463
8264
  msgid "Make your campaign links prettier!"
8265
  msgstr ""
8266
 
8267
- #: languages/vue.php:2466
8268
  msgid "Pretty Links turns those ugly, long campaign links into clean, memorable, speakable and totally shareable links."
8269
  msgstr ""
8270
 
8271
- #: languages/vue.php:2469
8272
  msgid "More Information & Examples"
8273
  msgstr ""
8274
 
8275
- #: languages/vue.php:2472
8276
  msgid "The following table gives a detailed explanation and example of each of the campaign parameters."
8277
  msgstr ""
8278
 
8279
- #: languages/vue.php:2475
8280
  msgid "Campaign Source"
8281
  msgstr ""
8282
 
8283
- #: languages/vue.php:2478
8284
  msgid "Required. Use utm_source to identify a search engine, newsletter name, or other source."
8285
  msgstr ""
8286
 
8287
- #: languages/vue.php:2481
8288
  msgid "Campaign Medium"
8289
  msgstr ""
8290
 
8291
- #: languages/vue.php:2484
8292
  msgid "Use utm_medium to identify a medium such as email or cost-per-click."
8293
  msgstr ""
8294
 
8295
- #: languages/vue.php:2487
8296
  msgid "Campaign Name"
8297
  msgstr ""
8298
 
8299
- #: languages/vue.php:2490
8300
  msgid "Used for keyword analysis. Use utm_campaign to identify a specific product promotion or strategic campaign."
8301
  msgstr ""
8302
 
8303
- #: languages/vue.php:2493
8304
  msgid "Campaign Term"
8305
  msgstr ""
8306
 
8307
- #: languages/vue.php:2496
8308
  msgid "Used for paid search. Use utm_term to note the keywords for this ad."
8309
  msgstr ""
8310
 
8311
- #: languages/vue.php:2499
8312
  msgid "Campaign Content"
8313
  msgstr ""
8314
 
8315
- #: languages/vue.php:2502
8316
  msgid "Used for A/B testing and content-targeted ads. Use utm_content to differentiate ads or links that point to the same URL."
8317
  msgstr ""
8318
 
8319
  #. Translators: Example.
8320
- #: languages/vue.php:2506
8321
  msgid "Example: %s"
8322
  msgstr ""
8323
 
8324
  #. Translators: Examples.
8325
- #: languages/vue.php:2510
8326
  msgid "Examples: %s"
8327
  msgstr ""
8328
 
8329
- #: languages/vue.php:2513
8330
  msgid "About Campaigns"
8331
  msgstr ""
8332
 
8333
- #: languages/vue.php:2516
8334
  msgid "About Custom Campaigns"
8335
  msgstr ""
8336
 
8337
- #: languages/vue.php:2519
8338
  msgid "Best Practices for Creating Custom Campaigns"
8339
  msgstr ""
8340
 
8341
- #: languages/vue.php:2522
8342
  msgid "About the Referral Traffic Report"
8343
  msgstr ""
8344
 
8345
- #: languages/vue.php:2525
8346
  msgid "About Traffic Source Dimensions"
8347
  msgstr ""
8348
 
8349
- #: languages/vue.php:2528
8350
  msgid "AdWords Auto-Tagging"
8351
  msgstr ""
8352
 
8353
- #: languages/vue.php:2531
8354
  msgid "Additional Information"
8355
  msgstr ""
8356
 
8357
- #: languages/vue.php:2534
8358
  msgid "Affiliate Links"
8359
  msgstr ""
8360
 
8361
  #. Translators: Add links to documentation.
8362
- #: languages/vue.php:2538
8363
  msgid "This allows you to track custom affiliate links. A path of /go/ would match urls that start with that. The label is appended onto the end of the string \"outbound-link-\", to provide unique labels for these links in Google Analytics. Complete documentation on affiliate links is available %1$shere%2$s."
8364
  msgstr ""
8365
 
8366
- #: languages/vue.php:2541
8367
  msgid "Our affiliate link tracking works by setting path for internal links to track as outbound links."
8368
  msgstr ""
8369
 
8370
- #: languages/vue.php:2544
8371
  msgid "The ExactMetrics Headline Analyzer tool in the Gutenberg editor enables you to write irresistible SEO-friendly headlines that drive traffic, social media shares, and rank better in search results."
8372
  msgstr ""
8373
 
8374
- #: languages/vue.php:2547
8375
  msgid "Disable the Headline Analyzer"
8376
  msgstr ""
8377
 
8378
  #. Translators: Add line break.
8379
- #: languages/vue.php:2551
8380
  msgid "See All Your Important Store%s Metrics in One Place"
8381
  msgstr ""
8382
 
8383
- #: languages/vue.php:2554
8384
  msgid "Get an Answer to All Your Top Ecommerce Questions From a Single Report"
8385
  msgstr ""
8386
 
8387
- #: languages/vue.php:2557
8388
  msgid "See Your Conversion Rate to Improve Funnel"
8389
  msgstr ""
8390
 
8391
- #: languages/vue.php:2560
8392
  msgid "See The Number of Transactions and Make Data-Driven Decisions"
8393
  msgstr ""
8394
 
8395
- #: languages/vue.php:2563
8396
  msgid "See The Total Revenue to Track Growth"
8397
  msgstr ""
8398
 
8399
- #: languages/vue.php:2566
8400
  msgid "See Average Order Value to Find Offer Opportunities"
8401
  msgstr ""
8402
 
8403
- #: languages/vue.php:2569
8404
  msgid "See Your Top Products to See Individual Performance"
8405
  msgstr ""
8406
 
8407
- #: languages/vue.php:2572
8408
  msgid "See your Top Conversion Sources and Focus on what's Working"
8409
  msgstr ""
8410
 
8411
- #: languages/vue.php:2575
8412
  msgid "See The Time it Takes for Customers to Purchase"
8413
  msgstr ""
8414
 
8415
- #: languages/vue.php:2578
8416
  msgid "See How Many Sessions are Needed for a Purchase"
8417
  msgstr ""
8418
 
8419
- #: languages/vue.php:2581
8420
  msgid "Automatically Track Affiliate Sales"
8421
  msgstr ""
8422
 
8423
- #: languages/vue.php:2584
8424
  msgid "The ExactMetrics eCommerce addon works with EasyAffiliate, so that you can instantly track all affiliate referrals and sales inside WordPress and Google Analytics, with no coding needed."
8425
  msgstr ""
8426
 
8427
- #: languages/vue.php:2587
8428
  msgid "Works with WooCommerce, MemberPress, and EasyDigitalDownloads."
8429
  msgstr ""
8430
 
8431
- #: languages/vue.php:2590
8432
  msgid "Cross Domain Tracking"
8433
  msgstr ""
8434
 
8435
  #. Translators: Add links to documentation.
8436
- #: languages/vue.php:2594
8437
  msgid "Cross domain tracking makes it possible for Analytics to see sessions on two related sites as a single session. More info on specific setup steps can be found in our %1$sknowledge base%2$s."
8438
  msgstr ""
8439
 
8440
- #: languages/vue.php:2597
8441
  msgid "Enable Demographics and Interests Reports for Remarketing and Advertising"
8442
  msgstr ""
8443
 
8444
- #: languages/vue.php:2600
8445
  msgid "Anonymize IP Addresses"
8446
  msgstr ""
8447
 
8448
- #: languages/vue.php:2603
8449
  msgid "Link Attribution"
8450
  msgstr ""
8451
 
8452
- #: languages/vue.php:2606
8453
  msgid "Enable Enhanced Link Attribution"
8454
  msgstr ""
8455
 
8456
- #: languages/vue.php:2609
8457
  msgid "Enable Anchor Tracking"
8458
  msgstr ""
8459
 
8460
- #: languages/vue.php:2612
8461
  msgid "Enable allowAnchor"
8462
  msgstr ""
8463
 
8464
- #: languages/vue.php:2615
8465
  msgid "Enable allowLinker"
8466
  msgstr ""
8467
 
8468
- #: languages/vue.php:2618
8469
  msgid "Enable Tag Links in RSS"
8470
  msgstr ""
8471
 
8472
- #: languages/vue.php:2621
8473
  msgid "File Downloads"
8474
  msgstr ""
8475
 
8476
- #: languages/vue.php:2624
8477
  msgid "Extensions of Files to Track as Downloads"
8478
  msgstr ""
8479
 
8480
- #: languages/vue.php:2627
8481
  msgid "ExactMetrics will send an event to Google Analytics if a link to a file has one of the above extensions."
8482
  msgstr ""
8483
 
8484
  #. Translators: Add links to documentation.
8485
- #: languages/vue.php:2631
8486
  msgid "Enable this setting to add the Demographics and Remarketing features to your Google Analytics tracking code. Make sure to enable Demographics and Remarketing in your Google Analytics account. We have a guide for how to do that in our %1$sknowledge base%2$s. For more information about Remarketing, we refer you to %3$sGoogle's documentation%4$s. Note that usage of this function is affected by privacy and cookie laws around the world. Be sure to follow the laws that affect your target audience."
8487
  msgstr ""
8488
 
8489
  #. Translators: Add links to documentation.
8490
- #: languages/vue.php:2635
8491
  msgid "This adds %1$sanonymizeIp%2$s, telling Google Analytics to anonymize the information sent by the tracker objects by removing the last octet of the IP address prior to its storage."
8492
  msgstr ""
8493
 
8494
  #. Translators: Add links to documentation.
8495
- #: languages/vue.php:2639
8496
  msgid "Adds the Enhanced Link Attribution (retain link) code to improve the accuracy of your In-Page Analytics report by automatically differentiating between multiple links to the same URL on a single page by using link element IDs."
8497
  msgstr ""
8498
 
8499
- #: languages/vue.php:2642
8500
  msgid "Many WordPress \"1-page\" style themes rely on anchor tags for navigation to show virtual pages. The problem is that to Google Analytics, these are all just a single page, and it makes it hard to get meaningful statistics about pages viewed. This feature allows proper tracking in those themes."
8501
  msgstr ""
8502
 
8503
  #. Translators: Add links to documentation.
8504
- #: languages/vue.php:2646
8505
  msgid "This adds %1$sallowAnchor%2$s to the create command of the pageview hit tracking code, and makes RSS link tagging use a # as well."
8506
  msgstr ""
8507
 
8508
  #. Translators: Add links to documentation.
8509
- #: languages/vue.php:2650
8510
  msgid "Enabling %1$scross-domain tracking (additional setup required)%2$s allows you to track users across multiple properties you own (such as example-1.com and example-2.com as a single session. It also allows you fix an issue so that when a user has to go to an off-site hosted payment gateway to finish a purchase it doesn't count it as referral traffic from that gateway but maintains the visit as part of the same session.) It is required that the other site includes a Google Analytics tracker with the same UA Code."
8511
  msgstr ""
8512
 
8513
  #. Translators: Add links to documentation.
8514
- #: languages/vue.php:2654
8515
  msgid "Do not use this feature if you use FeedBurner, as FeedBurner can do this automatically and better than this plugin can. Check this %1$shelp page%2$s for info on how to enable this feature in FeedBurner."
8516
  msgstr ""
8517
 
8518
- #: languages/vue.php:2657
8519
  msgid "Add domain"
8520
  msgstr ""
8521
 
8522
  #. Translators: Domain name example.
8523
- #: languages/vue.php:2661
8524
  msgid "Domain (example: %s)"
8525
  msgstr ""
8526
 
8527
  #. Translators: Current domain name that should not be used.
8528
- #: languages/vue.php:2665
8529
  msgid "Please enter domain names only ( example: example.com not http://example.com ) and not current site domain ( %s )."
8530
  msgstr ""
8531
 
8532
  #. Translators: Adds link to the account area to retreive license key.
8533
- #: languages/vue.php:2669
8534
  msgid "Already have a license key? Add it below to unlock ExactMetrics PRO. %1$sRetrieve your license key%2$s."
8535
  msgstr ""
8536
 
8537
- #: languages/vue.php:2672
8538
  msgid "Connect ExactMetrics to Start Tracking Your Data"
8539
  msgstr ""
8540
 
8541
- #: languages/vue.php:2675
8542
  msgid "Complete Upgrade"
8543
  msgstr ""
8544
 
8545
- #: languages/vue.php:2678
8546
  msgid "Upgrade to Pro Version!"
8547
  msgstr ""
8548
 
8549
  #. Translators: Make text bold.
8550
- #: languages/vue.php:2682
8551
  msgid "%1$sExactMetrics%2$s can automatically upgrade the installed version to the Pro and walk you through the process."
8552
  msgstr ""
8553
 
8554
- #: languages/vue.php:2685
8555
  msgid "Install All-in-One SEO"
8556
  msgstr ""
8557
 
8558
- #: languages/vue.php:2688
8559
  msgid "Improve Your Website Search Rankings With All-In-One SEO"
8560
  msgstr ""
8561
 
8562
- #: languages/vue.php:2691
8563
  msgid "If you’re not using a plugin to optimize your website’s SEO you’re missing out on valuable organic traffic!"
8564
  msgstr ""
8565
 
8566
- #: languages/vue.php:2694
8567
  msgid "Finally, a WordPress SEO Plugin that’s Easy and Powerful!"
8568
  msgstr ""
8569
 
8570
- #: languages/vue.php:2697
8571
  msgid "AIOSEO makes it easy to set up the proper SEO foundations in less than 10 minutes."
8572
  msgstr ""
8573
 
8574
- #: languages/vue.php:2700
8575
  msgid "Local SEO"
8576
  msgstr ""
8577
 
8578
- #: languages/vue.php:2703
8579
  msgid "All in One SEO gives you all the tools you need to improve your local SEO and rank higher on Google Maps."
8580
  msgstr ""
8581
 
8582
- #: languages/vue.php:2706
8583
  msgid "WooCommerce SEO"
8584
  msgstr ""
8585
 
8586
- #: languages/vue.php:2709
8587
  msgid "Advanced eCommerce SEO support for WooCommerce to optimize product pages, product categories, and more."
8588
  msgstr ""
8589
 
8590
- #: languages/vue.php:2712
8591
  msgid "SEO Custom User Roles"
8592
  msgstr ""
8593
 
8594
- #: languages/vue.php:2715
8595
  msgid "SEO user roles allow you to manage access to important SEO features without handing over control of your website."
8596
  msgstr ""
8597
 
8598
- #: languages/vue.php:2718
8599
  msgid "Google News Sitemap"
8600
  msgstr ""
8601
 
8602
- #: languages/vue.php:2721
8603
  msgid "Get higher rankings and unlock more traffic by submitting your latest news articles to Google News."
8604
  msgstr ""
8605
 
8606
- #: languages/vue.php:2724
8607
  msgid "Smart XML Sitemaps"
8608
  msgstr ""
8609
 
8610
- #: languages/vue.php:2727
8611
  msgid "Automatically generate a WordPress XML sitemap and notify all search engines of any updates."
8612
  msgstr ""
8613
 
8614
- #: languages/vue.php:2730
8615
  msgid "Social Media Integration"
8616
  msgstr ""
8617
 
8618
- #: languages/vue.php:2733
8619
  msgid "Easily control how your content and thumbnails look on Facebook, Twitter, and other social media networks."
8620
  msgstr ""
8621
 
8622
- #: languages/vue.php:2736
8623
  msgid "TruSEO On-Page Analysis"
8624
  msgstr ""
8625
 
8626
- #: languages/vue.php:2739
8627
  msgid "Easily add title tags, meta descriptions, keywords, and everything else you need for proper on-page SEO optimization."
8628
  msgstr ""
8629
 
8630
- #: languages/vue.php:2742
8631
  msgid "& Many More!"
8632
  msgstr ""
8633
 
8634
- #: languages/vue.php:2745
8635
  msgid "Installing. Please wait.."
8636
  msgstr ""
8637
 
8638
- #: languages/vue.php:2748
8639
  msgid "Install All-in-One-SEO"
8640
  msgstr ""
8641
 
8642
- #: languages/vue.php:2751
8643
  msgid "Unlock the Publisher Report and Focus on the Content That Matters"
8644
  msgstr ""
8645
 
8646
- #: languages/vue.php:2754
8647
  msgid "See Your Top Landing Pages to Improve Engagement"
8648
  msgstr ""
8649
 
8650
- #: languages/vue.php:2757
8651
  msgid "See Your Top Exit Pages to Reduce Abandonment"
8652
  msgstr ""
8653
 
8654
- #: languages/vue.php:2760
8655
  msgid "See Your Top Outbound Links to Find New Revenue Opportunities"
8656
  msgstr ""
8657
 
8658
- #: languages/vue.php:2763
8659
  msgid "See Your Top Affiliate Links and Focus on What’s Working"
8660
  msgstr ""
8661
 
8662
- #: languages/vue.php:2766
8663
  msgid "See Your Top Downloads and Improve Conversions"
8664
  msgstr ""
8665
 
8666
- #: languages/vue.php:2769
8667
  msgid "See Audience Demographic Report (Age / Gender / Interests)"
8668
  msgstr ""
8669
 
8670
- #: languages/vue.php:2772
8671
  msgid "Welcome to the all-new ExactMetrics"
8672
  msgstr ""
8673
 
8674
- #: languages/vue.php:2775
8675
  msgid "Redesigned from the ground up, ExactMetrics is built to bring a world-class analytics and reporting experience to WordPress."
8676
  msgstr ""
8677
 
8678
- #: languages/vue.php:2778
8679
  msgid "The New & Improved ExactMetrics includes:"
8680
  msgstr ""
8681
 
8682
- #: languages/vue.php:2781
8683
  msgid "All-New Design"
8684
  msgstr ""
8685
 
8686
- #: languages/vue.php:2784
8687
  msgid "Better Reporting"
8688
  msgstr ""
8689
 
8690
- #: languages/vue.php:2787
8691
  msgid "Better Tracking"
8692
  msgstr ""
8693
 
8694
- #: languages/vue.php:2790
8695
  msgid "Better Support"
8696
  msgstr ""
8697
 
8698
- #: languages/vue.php:2793
8699
  msgid "Continue"
8700
  msgstr ""
8701
 
8702
- #: languages/vue.php:2796
8703
  msgid "Your settings have been automatically transferred."
8704
  msgstr ""
8705
 
8706
- #: languages/vue.php:2799
8707
  msgid "On the next step, you will be asked to re-authenticate with Google Analytics. Please %1$ssee our detailed post%2$s to learn why we need your help. Don't worry, your tracking will continue to work as-is even if you don't do this, but re-auth is required to see analytics reports inside WordPress dashboard."
8708
  msgstr ""
8709
 
8710
- #: languages/vue.php:2802
8711
  msgid "New"
8712
  msgstr ""
8713
 
8714
- #: languages/vue.php:2805
8715
  msgid "Returning"
8716
  msgstr ""
8717
 
8718
- #: languages/vue.php:2808
8719
  msgid "Top 10 Countries"
8720
  msgstr ""
8721
 
8722
- #: languages/vue.php:2811
8723
  msgid "View Countries Report"
8724
  msgstr ""
8725
 
8726
- #: languages/vue.php:2814
8727
  msgid "Top 10 Referrals"
8728
  msgstr ""
8729
 
8730
- #: languages/vue.php:2817
8731
  msgid "View All Referral Sources"
8732
  msgstr ""
8733
 
8734
- #: languages/vue.php:2820
8735
  msgid "View Full Posts/Pages Report"
8736
  msgstr ""
8737
 
8738
- #: languages/vue.php:2823
8739
  msgid "Percentage of single-page visits (or web sessions). It is the number of visits in which a person leaves your website from the landing page without browsing any further."
8740
  msgstr ""
8741
 
8742
- #: languages/vue.php:2826
8743
  msgid "This list shows the top countries your website visitors are from."
8744
  msgstr ""
8745
 
8746
- #: languages/vue.php:2829
8747
  msgid "This list shows the top websites that send your website traffic, known as referral traffic."
8748
  msgstr ""
8749
 
8750
- #: languages/vue.php:2832
8751
  msgid "This feature requires ExactMetrics Pro"
8752
  msgstr ""
8753
 
8754
- #: languages/vue.php:2835
8755
  msgid "By upgrading you will also get access to advanced eCommerce tracking, Custom Dimensions and more."
8756
  msgstr ""
8757
 
8758
- #: languages/vue.php:2838
8759
  msgid "Upgrade to Pro and Unlock Popular Products"
8760
  msgstr ""
8761
 
8762
- #: languages/vue.php:2841
8763
  msgid "View all Pro features"
8764
  msgstr ""
8765
 
8766
- #: languages/vue.php:2844
8767
  msgid "View notifications"
8768
  msgstr ""
8769
 
8770
- #: languages/vue.php:2847
8771
  msgid "Days"
8772
  msgstr ""
8773
 
8774
  #. Translators: placeholders make text small.
8775
- #: languages/vue.php:2851
8776
  msgid "7 days"
8777
  msgstr ""
8778
 
8779
- #: languages/vue.php:2854
8780
  msgid "30 days"
8781
  msgstr ""
8782
 
8783
- #: languages/vue.php:2857
8784
  msgid "Custom"
8785
  msgstr ""
8786
 
8787
- #: languages/vue.php:2860
8788
  msgid "2,000,000+ use AIOSEO to Improve Their Website Search Rankings"
8789
  msgstr ""
8790
 
8791
- #: languages/vue.php:2863
8792
  msgid "All-in-One SEO is a great product. I have been using it on all my WP sites for several years. I highly recommend it."
8793
  msgstr ""
8794
 
8795
- #: languages/vue.php:2866
8796
  msgid "Jack Brown"
8797
  msgstr ""
8798
 
8799
- #: languages/vue.php:2869
8800
  msgid "PJB Internet Marketing"
8801
  msgstr ""
8802
 
8803
- #: languages/vue.php:2872
8804
  msgid "I’m a professional SEO and used many tools and extensions. Regarding simplicity, individuality and configurability All in One SEO Pro is by far the best SEO plugin out there for WordPress."
8805
  msgstr ""
8806
 
8807
- #: languages/vue.php:2875
8808
  msgid "Joel Steinmann"
8809
  msgstr ""
8810
 
8811
- #: languages/vue.php:2878
8812
  msgid "CEO, Solergo"
8813
  msgstr ""
8814
 
8815
- #: languages/vue.php:2881
8816
  msgid "Only Show Posts from These Categories"
8817
  msgstr ""
8818
 
8819
- #: languages/vue.php:2884
8820
  msgid "Choose from which categories posts will be displayed in the widget. All categories will be used if left empty."
8821
  msgstr ""
8822
 
8823
- #: languages/vue.php:2887
8824
  msgid "Activating..."
8825
  msgstr ""
8826
 
8827
- #: languages/vue.php:2890
8828
  msgid "Deactivating..."
8829
  msgstr ""
8830
 
8831
- #: languages/vue.php:2893
8832
  msgid "Deactivate"
8833
  msgstr ""
8834
 
8835
- #: languages/vue.php:2896
8836
  msgid "Search Console Report"
8837
  msgstr ""
8838
 
8839
- #: languages/vue.php:2899
8840
  msgid "See exactly how people find tour website, which keywords they searched for, how many times the results were viewed, and more."
8841
  msgstr ""
8842
 
8843
- #: languages/vue.php:2902
8844
  msgid "See Your Top Google Search Terms and Optimize Content"
8845
  msgstr ""
8846
 
8847
- #: languages/vue.php:2905
8848
  msgid "See The Number of Clicks and Track Interests"
8849
  msgstr ""
8850
 
8851
- #: languages/vue.php:2908
8852
  msgid "See The Click-Through-Ratio and Improve SEO"
8853
  msgstr ""
8854
 
8855
- #: languages/vue.php:2911
8856
  msgid "See The Average Results Position and Focus on what works."
8857
  msgstr ""
8858
 
8859
- #: languages/vue.php:2914
8860
  msgid "Ecommerce Report"
8861
  msgstr ""
8862
 
8863
- #: languages/vue.php:2917
8864
  msgid "Increase your sales & revenue with insights. ExactMetrics answers all your top eCommerce questions using metrics like total revenue, conversion rate, average order value top products, top referral sources and more."
8865
  msgstr ""
8866
 
8867
- #: languages/vue.php:2920
8868
  msgid "See Your Conversion Rate to Improve Your Funnel"
8869
  msgstr ""
8870
 
8871
- #: languages/vue.php:2923
8872
  msgid "See Your Top Conversion Sources and Focus on What's Working"
8873
  msgstr ""
8874
 
8875
- #: languages/vue.php:2926
8876
  msgid "Popular Posts data can be fetched correctly"
8877
  msgstr ""
8878
 
8879
- #: languages/vue.php:2929
8880
  msgid "Please note: depending on when you set up the Custom Dimensions settings, it may take up to 7 days to see relevant Popular Posts data loading from Google Analytics."
8881
  msgstr ""
8882
 
8883
- #: languages/vue.php:2932
8884
  msgid "Close"
8885
  msgstr ""
8886
 
8887
- #: languages/vue.php:2935
8888
  msgid "Add Top 5 Posts from Google Analytics"
8889
  msgstr ""
8890
 
8891
- #: languages/vue.php:2938
8892
  msgid "In order to load the top posts from Google Analytics you will need to enable the Custom Dimensions addon and set up the Post Type custom dimension in both ExactMetrics and Google Analytics settings."
8893
  msgstr ""
8894
 
8895
- #: languages/vue.php:2941
8896
  msgid "Test Automated Posts"
8897
  msgstr ""
8898
 
8899
  #. Translators: Placeholder adds a link to the Popular Posts GA setup instructions doc.
8900
- #: languages/vue.php:2945
8901
  msgid "Click this button to run a series of checks that will confirm your setup is completed to load Popular Posts from Google Analytics."
8902
  msgstr ""
8903
 
8904
- #: languages/vue.php:2948
8905
  msgid "Automated + Curated"
8906
  msgstr ""
8907
 
8908
  #. Translators: Placeholder adds a link to the Custom Dimensions settings.
8909
- #: languages/vue.php:2952
8910
  msgid "Automatically add the top 5 Posts from the past 30 days to your Curated list of Posts using %1$sCustom Dimensions%2$s. Also requires Sort By - Curated to be selected. Setup steps can be found in our %3$sknowledge base%4$s."
8911
  msgstr ""
8912
 
8913
  #. Translators: Placeholder gets replaced with current license version.
8914
- #: languages/vue.php:2956
8915
  msgid "Pro version is required."
8916
  msgstr ""
8917
 
8918
- #: languages/vue.php:2959
8919
  msgid "Verifying Popular Posts data"
8920
  msgstr ""
8921
 
8922
- #: languages/vue.php:2962
8923
  msgid "Multiple Entries"
8924
  msgstr ""
8925
 
8926
- #: languages/vue.php:2965
8927
  msgid "Total Number of Widgets to Show"
8928
  msgstr ""
8929
 
8930
- #: languages/vue.php:2968
8931
  msgid "Choose how many widgets will be placed in a single Post."
8932
  msgstr ""
8933
 
8934
- #: languages/vue.php:2971
8935
  msgid "Minimum Distance Between Widgets"
8936
  msgstr ""
8937
 
8938
- #: languages/vue.php:2974
8939
  msgid "Choose the distance between widgets."
8940
  msgstr ""
8941
 
8942
- #: languages/vue.php:2977
8943
  msgid "Minimum Word Count to Display Multiple Widgets"
8944
  msgstr ""
8945
 
8946
- #: languages/vue.php:2980
8947
  msgid "Choose the minimum word count for a Post to have multiple entries."
8948
  msgstr ""
8949
 
8950
- #: languages/vue.php:2983
8951
  msgid "Pro version is required"
8952
  msgstr ""
8953
 
8954
  #. Translators: Placeholder adds a link to the Custom Dimensions settings.
8955
- #: languages/vue.php:2987
8956
  msgid "Automatically add the top 5 Posts from the past 30 days to your Curated list of Posts using Custom Dimensions (Pro version required. %1$sUpgrade now%2$s)."
8957
  msgstr ""
8958
 
8959
- #: languages/vue.php:2990
8960
  msgid "Select posts/search"
8961
  msgstr ""
8962
 
8963
- #: languages/vue.php:2993
8964
  msgid "Oops! No posts found."
8965
  msgstr ""
8966
 
8967
- #: languages/vue.php:2996
8968
  msgid "Search by post title"
8969
  msgstr ""
8970
 
8971
- #: languages/vue.php:2999
8972
  msgid "Can't load posts."
8973
  msgstr ""
8974
 
8975
- #: languages/vue.php:3002
8976
  msgid "Sartorial taxidermy venmo you probably haven't heard of them, tofu fingerstache ethical pickled hella ramps vice snackwave seitan typewriter tofu."
8977
  msgstr ""
8978
 
8979
- #: languages/vue.php:3005
8980
  msgid "Austin typewriter heirloom distillery twee migas wayfarers. Fingerstache master cleanse quinoa humblebrag, iPhone taxidermy snackwave seitan typewriter tofu organic affogato kitsch. Artisan"
8981
  msgstr ""
8982
 
8983
- #: languages/vue.php:3008
8984
  msgid "Color"
8985
  msgstr ""
8986
 
8987
- #: languages/vue.php:3011
8988
  msgid "Size"
8989
  msgstr ""
8990
 
8991
- #: languages/vue.php:3014
8992
  msgid "Title"
8993
  msgstr ""
8994
 
8995
- #: languages/vue.php:3017
8996
  msgid "Label"
8997
  msgstr ""
8998
 
8999
- #: languages/vue.php:3020
9000
  msgid "Background"
9001
  msgstr ""
9002
 
9003
- #: languages/vue.php:3023
9004
  msgid "Border"
9005
  msgstr ""
9006
 
9007
- #: languages/vue.php:3026
9008
  msgid "Icon"
9009
  msgstr ""
9010
 
9011
- #: languages/vue.php:3029
9012
  #: lite/includes/popular-posts/class-popular-posts-widget-sidebar.php:257
9013
  msgid "Theme Preview"
9014
  msgstr ""
9015
 
9016
- #: languages/vue.php:3032
9017
  msgid "SharedCount API Key"
9018
  msgstr ""
9019
 
9020
- #: languages/vue.php:3035
9021
  msgid "Insert your sharedcount API key found in your %1$sSettings%2$s panel. After, click Start Indexing."
9022
  msgstr ""
9023
 
9024
- #: languages/vue.php:3038
9025
  msgid "Start Indexing"
9026
  msgstr ""
9027
 
9028
- #: languages/vue.php:3041
9029
  msgid "%1$sIndex Progress: %2$s%%.%3$s You may leave this page during indexing."
9030
  msgstr ""
9031
 
9032
- #: languages/vue.php:3044
9033
  msgid "Indexing completed, counts will update automatically every day."
9034
  msgstr ""
9035
 
9036
  #. Translators: Minimum and maximum number that can be used.
9037
- #: languages/vue.php:3048
9038
  msgid "Please enter a value between %1$s and %2$s"
9039
  msgstr ""
9040
 
9041
  #. Translators: The minimum set value.
9042
- #: languages/vue.php:3052
9043
  msgid "Please enter a value higher than %s"
9044
  msgstr ""
9045
 
9046
  #. Translators: The maximum set value.
9047
- #: languages/vue.php:3056
9048
  msgid "Please enter a value lower than %s"
9049
  msgstr ""
9050
 
9051
- #: languages/vue.php:3059
9052
  msgid "Please enter a number"
9053
  msgstr ""
9054
 
9055
- #: languages/vue.php:3062
9056
  msgid "Value has to be a round number"
9057
  msgstr ""
9058
 
9059
- #: languages/vue.php:3065
9060
  msgid "Author/Date"
9061
  msgstr ""
9062
 
9063
- #: languages/vue.php:3077
9064
  msgid "Choose which content you would like displayed in the widget."
9065
  msgstr ""
9066
 
9067
- #: languages/vue.php:3089
9068
  msgid "Comments"
9069
  msgstr ""
9070
 
9071
- #: languages/vue.php:3095
9072
  msgid "Choose how many posts you’d like displayed in the widget."
9073
  msgstr ""
9074
 
9075
  #. Translators: Page number of total pages. 1 & 2 make the first part of the text bold.
9076
- #: languages/vue.php:3099
9077
  msgid "%1$sPage %3$s%2$s of %4$s"
9078
  msgstr ""
9079
 
9080
- #: languages/vue.php:3102
9081
  msgid "Wide"
9082
  msgstr ""
9083
 
9084
- #: languages/vue.php:3105
9085
  msgid "Narrow"
9086
  msgstr ""
9087
 
9088
  #. Translators: Make text green.
9089
- #: languages/vue.php:3109
9090
  msgid "Upgrade to Pro and unlock addons and other great features. %1$sSave 50%% automatically!%2$s"
9091
  msgstr ""
9092
 
9093
- #: languages/vue.php:3115
9094
  msgid "Download the analytics reports instantly from the WordPress dashboard as PDF files and share them with anyone."
9095
  msgstr ""
9096
 
9097
- #: languages/vue.php:3118
9098
  msgid "Our email summaries feature sends a weekly summary of the most important site analytics information."
9099
  msgstr ""
9100
 
9101
- #: languages/vue.php:3121
9102
  msgid "Usage Tracking"
9103
  msgstr ""
9104
 
9105
- #: languages/vue.php:3124
9106
  msgid "By allowing us to track usage data we can better help you because we know with which WordPress configurations, themes and plugins we should test."
9107
  msgstr ""
9108
 
9109
- #: languages/vue.php:3127
9110
  msgid "Allow usage tracking"
9111
  msgstr ""
9112
 
9113
  #. Translators: Adds a link to the documentation.
9114
- #: languages/vue.php:3131
9115
  msgid "Complete documentation on usage tracking is available %1$shere%2$s."
9116
  msgstr ""
9117
 
9118
- #: languages/vue.php:3134
9119
  msgid "Facebook Instant Articles"
9120
  msgstr ""
9121
 
9122
- #: languages/vue.php:3137
9123
  msgid "Want to expand your website audience beyond your website with Facebook Instant Articles? Upgrade to ExactMetrics Pro."
9124
  msgstr ""
9125
 
9126
- #: languages/vue.php:3140
9127
  msgid "Performance"
9128
  msgstr ""
9129
 
9130
- #: languages/vue.php:3143
9131
  msgid "Adjust the sample rate so you don't exceed Google Analytics' processing limit. Can also be used to enable Google Optimize for A/B testing and personalization."
9132
  msgstr ""
9133
 
9134
- #: languages/vue.php:3146
9135
  msgid "Google AMP"
9136
  msgstr ""
9137
 
9138
- #: languages/vue.php:3149
9139
  msgid "Want to use track users visiting your AMP pages? By upgrading to ExactMetrics Pro, you can enable AMP page tracking."
9140
  msgstr ""
9141
 
9142
- #: languages/vue.php:3152
9143
  msgid "Ads Tracking"
9144
  msgstr ""
9145
 
9146
- #: languages/vue.php:3155
9147
  msgid "Add Ads tracking to see who's clicking on your Google Ads, so you can increase your revenue."
9148
  msgstr ""
9149
 
9150
- #: languages/vue.php:3158
9151
  msgid "Unlock with %s"
9152
  msgstr ""
9153
 
9154
- #: languages/vue.php:3161
9155
  msgid "Scroll Tracking"
9156
  msgstr ""
9157
 
9158
- #: languages/vue.php:3164
9159
  msgid "Scroll depth tracking in web analytics is one of those things you simply must do, especially if you have a content-heavy site."
9160
  msgstr ""
9161
 
9162
- #: languages/vue.php:3167
9163
  msgid ""
9164
  "The EU Compliance addon allows you to improve compliance with GDPR\n"
9165
  " and other privacy regulations."
9166
  msgstr ""
9167
 
9168
- #: languages/vue.php:3171
9169
  msgid "EU Compliance"
9170
  msgstr ""
9171
 
9172
- #: languages/vue.php:3174
9173
  msgid "Compatibility mode"
9174
  msgstr ""
9175
 
9176
- #: languages/vue.php:3177
9177
  msgid "Enable _gtagTracker Compatibility"
9178
  msgstr ""
9179
 
9180
  #. Translators: Placeholder gets replaced with default GA js function.
9181
- #: languages/vue.php:3181
9182
  msgid "This enables ExactMetrics to work with plugins that use %1$s and don't support %2$s"
9183
  msgstr ""
9184
 
9185
- #: languages/vue.php:3184
9186
  msgid "It's easy to double your traffic and sales when you know exactly how people find and use your website. ExactMetrics Pro shows you the stats that matter!"
9187
  msgstr ""
9188
 
9189
- #: languages/vue.php:3187
9190
  msgid "To unlock more features consider upgrading to PRO."
9191
  msgstr ""
9192
 
9193
- #: languages/vue.php:3190
9194
  msgid "Upgrade to"
9195
  msgstr ""
9196
 
9197
- #: languages/vue.php:3193
9198
  msgid "Export PDF Report"
9199
  msgstr ""
9200
 
9201
- #: languages/vue.php:3196
9202
  msgid "You can export PDF reports only in the PRO version."
9203
  msgstr ""
9204
 
9205
- #: languages/vue.php:3199
9206
  msgid "Display Method"
9207
  msgstr ""
9208
 
9209
- #: languages/vue.php:3202
9210
  msgid "There are two ways to manual include the widget in your posts."
9211
  msgstr ""
9212
 
9213
- #: languages/vue.php:3206
9214
  msgid "Using the Gutenberg Block"
9215
  msgstr ""
9216
 
9217
- #: languages/vue.php:3209
9218
  msgid "Using the Shortcode"
9219
  msgstr ""
9220
 
9221
- #: languages/vue.php:3212
9222
  msgid "Learn how to insert the widget using Gutenberg blocks."
9223
  msgstr ""
9224
 
9225
- #: languages/vue.php:3215
9226
  msgid "Learn how to insert the widget using out Shortcode."
9227
  msgstr ""
9228
 
9229
- #: languages/vue.php:3218
9230
  msgid "%1$sWatch Video%2$s - How to Add the Inline Popular Post widget using Gutenberg"
9231
  msgstr ""
9232
 
9233
- #: languages/vue.php:3222
9234
  msgid "%1$sStep 1%2$s - Click the “Add Block” icon while editing a Post or Page."
9235
  msgstr ""
9236
 
9237
- #: languages/vue.php:3225
9238
  msgid "%1$sStep 2%2$s - Search for “Inline Popular Posts by ExactMetrics”."
9239
  msgstr ""
9240
 
9241
- #: languages/vue.php:3229
9242
  msgid "%1$sStep 3%2$s - Style the widget using the Block Settings sidebar."
9243
  msgstr ""
9244
 
9245
- #: languages/vue.php:3232
9246
  msgid "Shortcode"
9247
  msgstr ""
9248
 
9249
- #: languages/vue.php:3236
9250
  msgid "Copy the shortcode and paste it into your Page and/or Post templates or using a shortcode plugin."
9251
  msgstr ""
9252
 
9253
- #: languages/vue.php:3240
9254
  msgid "Copy Shortcode"
9255
  msgstr ""
9256
 
9257
- #: languages/vue.php:3243
9258
  msgid "%1$sWatch Video%2$s - How to Add the Inline Popular Post widget using our Shortcode"
9259
  msgstr ""
9260
 
9261
- #: languages/vue.php:3246
9262
  msgid "Automatic Placement"
9263
  msgstr ""
9264
 
9265
- #: languages/vue.php:3249
9266
  msgid "Display using Gutenberg Blocks"
9267
  msgstr ""
9268
 
9269
- #: languages/vue.php:3252
9270
  msgid "Embed Options"
9271
  msgstr ""
9272
 
9273
- #: languages/vue.php:3255
9274
  msgid "All Embed Options can be used in conjunction with one another."
9275
  msgstr ""
9276
 
9277
- #: languages/vue.php:3258
9278
  msgid "Using Automatic Embed"
9279
  msgstr ""
9280
 
9281
- #: languages/vue.php:3261
9282
  msgid "Learn how to insert the Popular Posts Widget into your posts and pages using Gutenberg Blocks. To style this widget, use the Gutenberg Block settings."
9283
  msgstr ""
9284
 
9285
- #: languages/vue.php:3264
9286
  msgid "Enabling Automatic Placement will include the Popular Posts Widget after the last paragraph of any and all posts that match your Behavior settings. To style this widget use the Customize Design panel above."
9287
  msgstr ""
9288
 
9289
- #: languages/vue.php:3267
9290
  msgid "Learn how to insert the Popular Posts Widget using a shortcode. To style this widget use the Customize Design panel above."
9291
  msgstr ""
9292
 
9293
- #: languages/vue.php:3270
9294
  msgid "%1$sWatch Video%2$s - How to Add the Popular Posts widget using Gutenberg"
9295
  msgstr ""
9296
 
9297
- #: languages/vue.php:3273
9298
  msgid "%1$sStep 2%2$s - Search for “Popular Posts”."
9299
  msgstr ""
9300
 
9301
- #: languages/vue.php:3276
9302
  msgid "%1$sStep 1%2$s - Navigate to your Appearance > Widgets page using the menu on the left side your screen. Must be logged in as Admin."
9303
  msgstr ""
9304
 
9305
- #: languages/vue.php:3279
9306
  msgid "%1$sStep 2%2$s - On the left, under Available Widgets, look for the Popular Posts - ExactMetrics widget and drag it into the desired Sidebar on the right."
9307
  msgstr ""
9308
 
9309
- #: languages/vue.php:3282
9310
  msgid "%1$sStep 3%2$s - The widget options should automatically expand allowing you to customize the design."
9311
  msgstr ""
9312
 
9313
- #: languages/vue.php:3285
9314
  msgid "Display using a Shortcode"
9315
  msgstr ""
9316
 
9317
- #: languages/vue.php:3288
9318
  msgid "%1$sWatch Video%2$s - How to Add the Popular Posts widget using our Shortcode"
9319
  msgstr ""
9320
 
9321
- #: languages/vue.php:3291
9322
  msgid "Enable Automatic Placement"
9323
  msgstr ""
9324
 
9325
- #: languages/vue.php:3294
9326
  msgid "Display in a Sidebar"
9327
  msgstr ""
9328
 
9329
- #: languages/vue.php:3297
9330
  msgid "Learn how to insert the Popular Posts Widget into a Sidebar. To style this widget use the Customize Design panel above."
9331
  msgstr ""
9332
 
9333
- #: languages/vue.php:3300
9334
  msgid "Watch Video - How to Add the Popular Posts widget using Widgets"
9335
  msgstr ""
9336
 
9337
  #. Translators: The number of results.
9338
- #: languages/vue.php:3304
9339
  msgid "%s results"
9340
  msgstr ""
9341
 
9342
- #: languages/vue.php:3307
9343
  msgid "Media"
9344
  msgstr ""
9345
 
9346
- #: languages/vue.php:3310
9347
  msgid "Track how your users interact with videos on your website. Upgrade to ExactMetrics Pro."
9348
  msgstr ""
9349
 
9350
- #: languages/vue.php:3314
9351
  msgid "2021 Year in Review"
9352
  msgstr ""
9353
 
9354
- #: languages/vue.php:3317
9355
  msgid "Media- Track how your users interact with videos on your website."
9356
  msgstr ""
9357
 
9358
- #: languages/vue.php:3320
9359
  msgid "Your 2021 Year in Review is still calculating. Please check back later to see how your website performed last year."
9360
  msgstr ""
9361
 
9362
- #: languages/vue.php:3323
9363
  msgid "Your 2021 Analytics Report"
9364
  msgstr ""
9365
 
9366
- #: languages/vue.php:3329
9367
  msgid "January 1, 2021 - December 31, 2021"
9368
  msgstr ""
9369
 
9370
- #: languages/vue.php:3332
9371
  msgid "A Tip for 2022"
9372
  msgstr ""
9373
 
9374
- #: languages/vue.php:3335
9375
  msgid "A Tip For 2022"
9376
  msgstr ""
9377
 
9378
- #: languages/vue.php:3338
9379
  msgid "Here's to an amazing 2022!"
9380
  msgstr ""
9381
 
9382
- #: languages/vue.php:3341
9383
  msgid "Try our other popular WordPress plugins to grow your website in 2022."
9384
  msgstr ""
9385
 
9386
- #: languages/vue.php:3344
9387
  msgid "Become a WordPress expert in 2022. Join our amazing communities and take your website to the next level."
9388
  msgstr ""
9389
 
9390
- #: languages/vue.php:3347
9391
  msgid "Copyright ExactMetrics, 2022"
9392
  msgstr ""
9393
 
9394
  #. Translators: Number of minutes spent on site.
9395
- #: languages/vue.php:3351
9396
  msgid "Each visitor spent an average of %s minutes on your website in 2021."
9397
  msgstr ""
9398
 
9399
  #. Translators: Placeholders are used for making text bold and adding a link.
9400
- #: languages/vue.php:3355
9401
  msgid "%1$sYou're using %2$s Lite%3$s. To unlock all reports, consider %4$supgrading to Pro%5$s."
9402
  msgstr ""
9403
 
9404
- #: languages/vue.php:3358
9405
  msgid "With ExactMetrics Pro, you can easily measure individual affiliate performance inside Google Analytics, no coding needed. Track clicks, revenue, and more."
9406
  msgstr ""
9407
 
9408
- #: languages/vue.php:3361
9409
  msgid "RafflePress"
9410
  msgstr ""
9411
 
9412
- #: languages/vue.php:3364
9413
  msgid "Launch giveaways and raffle campaigns to grow your email lists, increase traffic, and get more social media followers."
9414
  msgstr ""
9415
 
9416
- #: languages/vue.php:3367
9417
  msgid "Constant Contact"
9418
  msgstr ""
9419
 
9420
- #: languages/vue.php:3370
9421
  msgid "Create amazing email marketing campaigns with drag and drop simplicity. Exclusive Offer: Save 20%."
9422
  msgstr ""
9423
 
9424
- #: languages/vue.php:3373
9425
  msgid "SEMRUSH"
9426
  msgstr ""
9427
 
9428
- #: languages/vue.php:3376
9429
  msgid "Perform SEO and content marketing research, track keywords, and much more. Special Offer: First 30 Days Free."
9430
  msgstr ""
9431
 
9432
- #: languages/vue.php:3379
9433
  msgid "Engagement Tools"
9434
  msgstr ""
9435
 
9436
- #: languages/vue.php:3382
9437
  msgid "WPForms"
9438
  msgstr ""
9439
 
9440
- #: languages/vue.php:3385
9441
  msgid "The world’s most popular WordPress form builder, trusted by over 5 million websites. Easily build contact forms, payment forms, and more."
9442
  msgstr ""
9443
 
9444
- #: languages/vue.php:3388
9445
  msgid "OptinMonster"
9446
  msgstr ""
9447
 
9448
- #: languages/vue.php:3391
9449
  msgid "Convert and monetize more of your website traffic with engaging pop-up and gamified tools. Great for all types of websites."
9450
  msgstr ""
9451
 
9452
- #: languages/vue.php:3394
9453
  msgid "Smash Balloon - Facebook"
9454
  msgstr ""
9455
 
9456
- #: languages/vue.php:3397
9457
  msgid "Smash Balloon - Instagram"
9458
  msgstr ""
9459
 
9460
- #: languages/vue.php:3400
9461
  msgid "Quickly add social media feeds from Facebook, Instagram, Twitter, and others to your website, with no coding needed."
9462
  msgstr ""
9463
 
9464
- #: languages/vue.php:3403
9465
  msgid "Popular Posts by ExactMetrics"
9466
  msgstr ""
9467
 
9468
- #: languages/vue.php:3406
9469
  msgid "Increase your visitor engagement by automatically embedding popular and related content from your website."
9470
  msgstr ""
9471
 
9472
- #: languages/vue.php:3409
9473
  msgid "Popular Products by ExactMetrics"
9474
  msgstr ""
9475
 
9476
- #: languages/vue.php:3412
9477
  msgid "Automatically show related products to increase conversion rates and increase cart sizes on your eCommerce website."
9478
  msgstr ""
9479
 
9480
- #: languages/vue.php:3415
9481
  msgid "Revenue Tools"
9482
  msgstr ""
9483
 
9484
- #: languages/vue.php:3418
9485
  msgid "SeedProd"
9486
  msgstr ""
9487
 
9488
- #: languages/vue.php:3421
9489
  msgid "Use the best drag-and-drop landing page builder for WordPress to instantly build coming soon pages, sales pages, opt-in pages, webinar pages, maintenance pages, and more. Includes 100+ free templates."
9490
  msgstr ""
9491
 
9492
- #: languages/vue.php:3424
9493
  msgid "Featured Tools"
9494
  msgstr ""
9495
 
9496
- #: languages/vue.php:3427
9497
  msgid "Easy Affiliate"
9498
  msgstr ""
9499
 
9500
- #: languages/vue.php:3430
9501
  msgid "Launch, grow, and manage an affiliate program, all right from your WordPress dashboard. Works automatically with ExactMetrics."
9502
  msgstr ""
9503
 
9504
- #: languages/vue.php:3433
9505
  msgid "SearchWP"
9506
  msgstr ""
9507
 
9508
- #: languages/vue.php:3436
9509
  msgid "Unlock better search results for your website. Perfect for any information or eCommerce store to help users find exactly what content and products they’re looking for."
9510
  msgstr ""
9511
 
9512
- #: languages/vue.php:3439
9513
  msgid "Easy Digital Downloads"
9514
  msgstr ""
9515
 
9516
- #: languages/vue.php:3442
9517
  msgid "Easily sell digital products like ebooks, plugins, and courses with WordPress. Built-in payment processing, coupons, shopping cart, detailed reporting, and more."
9518
  msgstr ""
9519
 
9520
- #: languages/vue.php:3445
9521
  msgid "MemberPress"
9522
  msgstr ""
9523
 
9524
- #: languages/vue.php:3448
9525
  msgid "Create a membership website. Works automatically with ExactMetrics, no coding needed."
9526
  msgstr ""
9527
 
9528
- #: languages/vue.php:3451
9529
  msgid "Thirsty Affiliates"
9530
  msgstr ""
9531
 
9532
- #: languages/vue.php:3454
9533
  msgid "Manage all your affiliate links with features designed to help make bloggers more money."
9534
  msgstr ""
9535
 
9536
- #: languages/vue.php:3457
9537
  msgid "Upgrade to unlock advanced reporting and features designed to help you get more traffic and make more money from your website. Special Offer: Save 50% today."
9538
  msgstr ""
9539
 
9540
- #: languages/vue.php:3460
9541
  msgid "Advanced Coupons"
9542
  msgstr ""
9543
 
9544
- #: languages/vue.php:3463
9545
  msgid "Create coupons, reward loyal customers, and schedule promotions for your eCommerce store."
9546
  msgstr ""
9547
 
9548
- #: languages/vue.php:3466
9549
  msgid "PrettyLinks"
9550
  msgstr ""
9551
 
9552
- #: languages/vue.php:3469
9553
  msgid "Automatically monetize your website content with affiliate links added automatically to your content."
9554
  msgstr ""
9555
 
9556
- #: languages/vue.php:3472
9557
  msgid "Install Now"
9558
  msgstr ""
9559
 
9560
- #: languages/vue.php:3475
9561
  msgid "Online Marketing Guides & Resources"
9562
  msgstr ""
9563
 
9564
- #: languages/vue.php:3478
9565
  msgid "Read This Guide"
9566
  msgstr ""
9567
 
9568
- #: languages/vue.php:3484
9569
  msgid "Upgrade to unlock eCommerce tracking, Custom Dimensions, Form Tracking, and much more. Special Offer: Save 50% today."
9570
  msgstr ""
9571
 
9572
- #: languages/vue.php:3487
9573
  msgid "Traffic Tools"
9574
  msgstr ""
9575
 
9576
- #: languages/vue.php:3490
9577
  msgid "All in One SEO (AIOSEO)"
9578
  msgstr ""
9579
 
9580
- #: languages/vue.php:3493
9581
  msgid "The best WordPress SEO plugin that works automatically with ExactMetrics."
9582
  msgstr ""
9583
 
9584
- #: languages/vue.php:3496
9585
  msgid "PushEngage"
9586
  msgstr ""
9587
 
9588
- #: languages/vue.php:3499
9589
  msgid "Send push notifications to your visitors to drive more traffic and boost sales."
9590
  msgstr ""
9591
 
9592
- #: languages/vue.php:3502
9593
  msgid "Featured"
9594
  msgstr ""
9595
 
9596
- #: languages/vue.php:3505
9597
  msgid "Traffic"
9598
  msgstr ""
9599
 
9600
- #: languages/vue.php:3508
9601
  msgid "Revenue"
9602
  msgstr ""
9603
 
9604
- #: languages/vue.php:3511
9605
  msgid "Guides & Resources"
9606
  msgstr ""
9607
 
9608
- #: languages/vue.php:3514
9609
  msgid "Media Tracking"
9610
  msgstr ""
9611
 
9612
- #: languages/vue.php:3517
9613
  msgid "Get Started"
9614
  msgstr ""
9615
 
9616
- #: languages/vue.php:3520
9617
  msgid "Privacy Compliance Addon"
9618
  msgstr ""
9619
 
9620
- #: languages/vue.php:3523
9621
  msgid "Help Google Analytics become compliant with internet privacy laws like GDPR, PECR, and CCPA."
9622
  msgstr ""
9623
 
9624
- #: languages/vue.php:3526
9625
  msgid "Get access to advanced reports inside WordPress including search keywords report, real-time analytics dashboard, publishers / eCommerce report, custom dimensions, and more."
9626
  msgstr ""
9627
 
9628
- #: languages/vue.php:3529
9629
  msgid "Instantly enable enhanced eCommerce tracking, so you can measure conversions, sales, and revenue stats. Works with WooCommerce, Easy Digital Downloads, MemberPress, and more."
9630
  msgstr ""
9631
 
9632
- #: languages/vue.php:3532
9633
  msgid "20+ Advanced Tracking"
9634
  ms
2
  # This file is distributed under the same license as the ExactMetrics Pro plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: ExactMetrics Pro 7.5.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/monsterinsights-temp\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-05-03T18:33:38+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.6.0\n"
15
  "X-Domain: google-analytics-dashboard-for-wp\n"
16
 
17
  #. Plugin Name of the plugin
18
+ #: languages/vue.php:3508
19
  msgid "ExactMetrics Pro"
20
  msgstr ""
21
 
32
  #: includes/admin/admin.php:31
33
  #: includes/admin/admin.php:34
34
  #: includes/admin/admin.php:42
35
+ #: includes/admin/wp-site-health.php:37
36
  #: includes/emails/class-emails.php:254
37
  #: lite/includes/admin/dashboard-widget.php:99
38
  #: lite/includes/admin/wp-site-health.php:246
113
  #: includes/admin/admin.php:34
114
  #: includes/admin/admin.php:42
115
  #: includes/admin/admin.php:222
116
+ #: languages/vue.php:545
117
  msgid "Settings"
118
  msgstr ""
119
 
129
 
130
  #: includes/admin/admin.php:39
131
  #: includes/admin/admin.php:130
132
+ #: languages/vue.php:2324
133
  msgid "Reports"
134
  msgstr ""
135
 
139
 
140
  #: includes/admin/admin.php:51
141
  #: languages/gutenberg.php:83
142
+ #: languages/vue.php:1024
143
  msgid "Popular Posts"
144
  msgstr ""
145
 
173
 
174
  #: includes/admin/admin.php:71
175
  #: includes/admin/admin.php:146
176
+ #: languages/vue.php:156
177
  msgid "About Us"
178
  msgstr ""
179
 
192
  #: includes/admin/admin.php:76
193
  #: includes/admin/notifications/notification-upgrade-to-pro-high-traffic.php:41
194
  #: includes/admin/notifications/notification-upgrade-to-pro.php:33
195
+ #: languages/vue.php:1072
196
  msgid "Upgrade to Pro"
197
  msgstr ""
198
 
220
 
221
  #: includes/admin/admin.php:212
222
  #: includes/admin/admin.php:215
223
+ #: languages/vue.php:1048
224
  msgid "Support"
225
  msgstr ""
226
 
232
  #: includes/admin/notifications/notification-upgrade-for-google-optimize.php:32
233
  #: includes/admin/notifications/notification-upgrade-for-post-templates.php:32
234
  #: includes/admin/reports/abstract-report.php:418
235
+ #: languages/vue.php:1180
236
  msgid "Get ExactMetrics Pro"
237
  msgstr ""
238
 
242
  msgstr ""
243
 
244
  #: includes/admin/admin.php:324
245
+ #: languages/vue.php:1171
246
  msgid "Please Setup Website Analytics to See Audience Insights"
247
  msgstr ""
248
 
249
  #: includes/admin/admin.php:325
250
+ #: languages/vue.php:1177
251
  msgid "Connect ExactMetrics and Setup Website Analytics"
252
  msgstr ""
253
 
257
  #: includes/admin/common.php:955
258
  #: includes/admin/notifications/notification-audience.php:45
259
  #: includes/admin/notifications/notification-bounce-rate.php:47
 
260
  #: includes/admin/notifications/notification-headline-analyzer.php:39
261
  #: includes/admin/notifications/notification-mobile-device-low-traffic.php:41
262
  #: includes/admin/notifications/notification-returning-visitors.php:43
263
  #: includes/admin/notifications/notification-traffic-dropping.php:43
264
+ #: languages/vue.php:340
265
  msgid "Learn More"
266
  msgstr ""
267
 
268
  #: includes/admin/admin.php:329
269
+ #: languages/vue.php:1174
270
  msgid "ExactMetrics, WordPress analytics plugin, helps you connect your website with Google Analytics, so you can see how people find and use your website. Over 3 million website owners use ExactMetrics to see the stats that matter and grow their business."
271
  msgstr ""
272
 
277
 
278
  #. Translators: Adds a link to the license renewal.
279
  #: includes/admin/admin.php:350
280
+ #: languages/vue.php:482
281
  msgid "Your license key for ExactMetrics has expired. %1$sPlease click here to renew your license key.%2$s"
282
  msgstr ""
283
 
284
  #: includes/admin/admin.php:352
285
+ #: languages/vue.php:485
286
  msgid "Your license key for ExactMetrics has been disabled. Please use a different key."
287
  msgstr ""
288
 
289
  #: includes/admin/admin.php:354
290
+ #: languages/vue.php:488
291
  msgid "Your license key for ExactMetrics is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key."
292
  msgstr ""
293
 
491
  msgstr ""
492
 
493
  #: includes/admin/common.php:951
494
+ #: languages/vue.php:3353
495
  msgid "See how your website performed this year and find tips along the way to help grow even more in 2022!"
496
  msgstr ""
497
 
498
+ #: includes/admin/exclude-page-metabox.php:127
499
+ #: languages/gutenberg.php:360
500
  msgid "Exclude page from Google Analytics Tracking"
501
  msgstr ""
502
 
503
+ #: includes/admin/exclude-page-metabox.php:131
504
+ #: languages/gutenberg.php:357
505
  msgid "Toggle to prevent Google Analytics from tracking this page."
506
  msgstr ""
507
 
508
+ #: includes/admin/exclude-page-metabox.php:143
509
+ #: languages/gutenberg.php:351
510
  msgid "This is a PRO feature."
511
  msgstr ""
512
 
513
+ #: includes/admin/exclude-page-metabox.php:147
514
+ #: languages/gutenberg.php:354
515
+ #: languages/vue.php:3139
516
  msgid "Upgrade"
517
  msgstr ""
518
 
569
  msgstr ""
570
 
571
  #: includes/admin/notifications/notification-bounce-rate.php:37
572
+ msgid "Your Website Bounce Rate is Higher Than %s"
573
  msgstr ""
574
 
575
  #. Translators: Bounce rate notification content.
577
  msgid "Your site's bounce rate is %1$s. Double check your site is working properly and be sure it loads quickly. %2$sHere%3$s are some points to remember and steps to follow to get your bounce rates back to manageable levels."
578
  msgstr ""
579
 
580
+ #: includes/admin/notifications/notification-dual-tracking.php:32
581
+ msgid "Enable Dual Tracking and Start Using Google Analytics 4 Today"
582
  msgstr ""
583
 
584
+ #: includes/admin/notifications/notification-dual-tracking.php:34
585
+ msgid "On July 1, 2023, Google Analytics will not track any website data for Universal Analytics (GA3). Be prepared for the future by enabling Dual Tracking inside %s to future-proof your website. We've made it easy to upgrade."
586
  msgstr ""
587
 
588
+ #: includes/admin/notifications/notification-dual-tracking.php:40
589
  msgid "Setup now"
590
  msgstr ""
591
 
592
+ #: includes/admin/notifications/notification-dual-tracking.php:44
593
+ msgid "How To Enable Dual Tracking"
594
+ msgstr ""
595
+
596
  #: includes/admin/notifications/notification-headline-analyzer.php:33
597
  msgid "Try the Headline Analyzer to Boost Your Clicks & Traffic"
598
  msgstr ""
710
  #: includes/admin/notifications/notification-upgrade-for-custom-dimensions.php:26
711
  #: includes/admin/notifications/notification-upgrade-for-events-reporting.php:26
712
  #: includes/admin/notifications/notification-upgrade-for-post-templates.php:26
713
+ #: languages/vue.php:1763
714
+ #: lite/includes/admin/helpers.php:85
715
  msgid "Upgrade to ExactMetrics Pro"
716
  msgstr ""
717
 
923
  msgstr ""
924
 
925
  #: includes/admin/reports/overview.php:34
926
+ #: languages/vue.php:443
927
  msgid "Overview"
928
  msgstr ""
929
 
1101
  msgid "Once Weekly"
1102
  msgstr ""
1103
 
1104
+ #: includes/admin/wp-site-health.php:12
1105
+ msgid "ExactMetrics Dual Tracking"
1106
+ msgstr ""
1107
+
1108
+ #: includes/admin/wp-site-health.php:34
1109
+ msgid "Enable Google Analytics 4"
1110
+ msgstr ""
1111
+
1112
+ #: includes/admin/wp-site-health.php:40
1113
+ msgid "Starting July 1, 2023, Google's Universal Analytics (GA3) will not accept any new traffic or event data. Upgrade to Google Analytics 4 today to be prepared for the sunset."
1114
+ msgstr ""
1115
+
1116
+ #: includes/admin/wp-site-health.php:44
1117
+ msgid "Set Up Dual Tracking"
1118
+ msgstr ""
1119
+
1120
  #. Translators: Placeholder gets replaced with the error message.
1121
  #: includes/api-request.php:192
1122
  msgid "The firewall of your server is blocking outbound calls. Please contact your hosting provider to fix this issue. %s"
1435
  msgstr ""
1436
 
1437
  #: includes/gutenberg/headline-tool/headline-tool.php:290
1438
+ #: languages/vue.php:552
1439
  msgid "General"
1440
  msgstr ""
1441
 
1556
  msgstr ""
1557
 
1558
  #: includes/gutenberg/headline-tool/headline-tool.php:388
1559
+ msgid "fire"
1560
  msgstr ""
1561
 
1562
  #: includes/gutenberg/headline-tool/headline-tool.php:389
1564
  msgstr ""
1565
 
1566
  #: includes/gutenberg/headline-tool/headline-tool.php:390
1567
+ msgid "fleece"
1568
  msgstr ""
1569
 
1570
  #: includes/gutenberg/headline-tool/headline-tool.php:391
1580
  msgstr ""
1581
 
1582
  #: includes/gutenberg/headline-tool/headline-tool.php:394
1583
+ msgid "floundering"
1584
  msgstr ""
1585
 
1586
  #: includes/gutenberg/headline-tool/headline-tool.php:395
1596
  msgstr ""
1597
 
1598
  #: includes/gutenberg/headline-tool/headline-tool.php:398
1599
+ msgid "flush"
1600
  msgstr ""
1601
 
1602
  #: includes/gutenberg/headline-tool/headline-tool.php:399
1640
  msgstr ""
1641
 
1642
  #: includes/gutenberg/headline-tool/headline-tool.php:409
1643
+ msgid "for the first time"
1644
  msgstr ""
1645
 
1646
  #: includes/gutenberg/headline-tool/headline-tool.php:410
1716
  msgstr ""
1717
 
1718
  #: includes/gutenberg/headline-tool/headline-tool.php:428
1719
+ msgid "horrific"
1720
  msgstr ""
1721
 
1722
  #: includes/gutenberg/headline-tool/headline-tool.php:429
1776
  msgstr ""
1777
 
1778
  #: includes/gutenberg/headline-tool/headline-tool.php:443
1779
+ msgid "fulfill"
1780
  msgstr ""
1781
 
1782
  #: includes/gutenberg/headline-tool/headline-tool.php:444
1936
  msgstr ""
1937
 
1938
  #: includes/gutenberg/headline-tool/headline-tool.php:483
1939
+ msgid "profit"
1940
  msgstr ""
1941
 
1942
  #: includes/gutenberg/headline-tool/headline-tool.php:484
2160
  msgstr ""
2161
 
2162
  #: includes/gutenberg/headline-tool/headline-tool.php:539
2163
+ msgid "six-figure"
2164
  msgstr ""
2165
 
2166
  #: includes/gutenberg/headline-tool/headline-tool.php:540
2332
  msgstr ""
2333
 
2334
  #: includes/gutenberg/headline-tool/headline-tool.php:582
2335
+ msgid "temporary fix"
2336
  msgstr ""
2337
 
2338
  #: includes/gutenberg/headline-tool/headline-tool.php:583
2576
  msgstr ""
2577
 
2578
  #: includes/gutenberg/headline-tool/headline-tool.php:660
2579
+ msgid "confidential"
2580
  msgstr ""
2581
 
2582
  #: includes/gutenberg/headline-tool/headline-tool.php:661
2922
  msgstr ""
2923
 
2924
  #: includes/gutenberg/headline-tool/headline-tool.php:747
2925
+ msgid "terrific"
2926
  msgstr ""
2927
 
2928
  #: includes/gutenberg/headline-tool/headline-tool.php:748
2929
+ msgid "simplified"
2930
  msgstr ""
2931
 
2932
  #: includes/gutenberg/headline-tool/headline-tool.php:749
2950
  msgstr ""
2951
 
2952
  #: includes/gutenberg/headline-tool/headline-tool.php:754
2953
+ msgid "sure fire"
2954
  msgstr ""
2955
 
2956
  #: includes/gutenberg/headline-tool/headline-tool.php:755
2970
  msgstr ""
2971
 
2972
  #: includes/gutenberg/headline-tool/headline-tool.php:759
2973
+ msgid "profitable"
2974
  msgstr ""
2975
 
2976
  #: includes/gutenberg/headline-tool/headline-tool.php:760
3593
  msgstr ""
3594
 
3595
  #: includes/gutenberg/headline-tool/headline-tool.php:969
3596
+ msgid "first"
3597
  msgstr ""
3598
 
3599
  #: includes/gutenberg/headline-tool/headline-tool.php:970
3621
  msgstr ""
3622
 
3623
  #: includes/gutenberg/headline-tool/headline-tool.php:976
3624
+ msgid "you'll"
3625
  msgstr ""
3626
 
3627
  #: includes/gutenberg/headline-tool/headline-tool.php:977
3660
  msgid "something"
3661
  msgstr ""
3662
 
3663
+ #: includes/helpers.php:406
3664
  msgid "United States"
3665
  msgstr ""
3666
 
3667
+ #: includes/helpers.php:407
3668
+ #: includes/helpers.php:1852
3669
  msgid "Canada"
3670
  msgstr ""
3671
 
3672
+ #: includes/helpers.php:408
3673
+ #: includes/helpers.php:1897
3674
  msgid "United Kingdom"
3675
  msgstr ""
3676
 
3677
+ #: includes/helpers.php:409
3678
  msgid "Afghanistan"
3679
  msgstr ""
3680
 
3681
+ #: includes/helpers.php:410
3682
  msgid "&#197;land Islands"
3683
  msgstr ""
3684
 
3685
+ #: includes/helpers.php:411
3686
  msgid "Albania"
3687
  msgstr ""
3688
 
3689
+ #: includes/helpers.php:412
3690
  msgid "Algeria"
3691
  msgstr ""
3692
 
3693
+ #: includes/helpers.php:413
3694
  msgid "American Samoa"
3695
  msgstr ""
3696
 
3697
+ #: includes/helpers.php:414
3698
  msgid "Andorra"
3699
  msgstr ""
3700
 
3701
+ #: includes/helpers.php:415
3702
  msgid "Angola"
3703
  msgstr ""
3704
 
3705
+ #: includes/helpers.php:416
3706
  msgid "Anguilla"
3707
  msgstr ""
3708
 
3709
+ #: includes/helpers.php:417
3710
  msgid "Antarctica"
3711
  msgstr ""
3712
 
3713
+ #: includes/helpers.php:418
3714
+ #: includes/helpers.php:1845
3715
  msgid "Antigua and Barbuda"
3716
  msgstr ""
3717
 
3718
+ #: includes/helpers.php:419
3719
  msgid "Argentina"
3720
  msgstr ""
3721
 
3722
+ #: includes/helpers.php:420
3723
  msgid "Armenia"
3724
  msgstr ""
3725
 
3726
+ #: includes/helpers.php:421
3727
  msgid "Aruba"
3728
  msgstr ""
3729
 
3730
+ #: includes/helpers.php:422
3731
+ #: includes/helpers.php:1846
3732
  msgid "Australia"
3733
  msgstr ""
3734
 
3735
+ #: includes/helpers.php:423
3736
  msgid "Austria"
3737
  msgstr ""
3738
 
3739
+ #: includes/helpers.php:424
3740
  msgid "Azerbaijan"
3741
  msgstr ""
3742
 
3743
+ #: includes/helpers.php:425
3744
  msgid "Bahamas"
3745
  msgstr ""
3746
 
3747
+ #: includes/helpers.php:426
3748
  msgid "Bahrain"
3749
  msgstr ""
3750
 
3751
+ #: includes/helpers.php:427
3752
  msgid "Bangladesh"
3753
  msgstr ""
3754
 
3755
+ #: includes/helpers.php:428
3756
+ #: includes/helpers.php:1847
3757
  msgid "Barbados"
3758
  msgstr ""
3759
 
3760
+ #: includes/helpers.php:429
3761
  msgid "Belarus"
3762
  msgstr ""
3763
 
3764
+ #: includes/helpers.php:430
3765
  msgid "Belgium"
3766
  msgstr ""
3767
 
3768
+ #: includes/helpers.php:431
3769
+ #: includes/helpers.php:1848
3770
  msgid "Belize"
3771
  msgstr ""
3772
 
3773
+ #: includes/helpers.php:432
3774
  msgid "Benin"
3775
  msgstr ""
3776
 
3777
+ #: includes/helpers.php:433
3778
  msgid "Bermuda"
3779
  msgstr ""
3780
 
3781
+ #: includes/helpers.php:434
3782
  msgid "Bhutan"
3783
  msgstr ""
3784
 
3785
+ #: includes/helpers.php:435
3786
  msgid "Bolivia"
3787
  msgstr ""
3788
 
3789
+ #: includes/helpers.php:436
3790
  msgid "Bonaire, Saint Eustatius and Saba"
3791
  msgstr ""
3792
 
3793
+ #: includes/helpers.php:437
3794
  msgid "Bosnia and Herzegovina"
3795
  msgstr ""
3796
 
3797
+ #: includes/helpers.php:438
3798
+ #: includes/helpers.php:1849
3799
  msgid "Botswana"
3800
  msgstr ""
3801
 
3802
+ #: includes/helpers.php:439
3803
  msgid "Bouvet Island"
3804
  msgstr ""
3805
 
3806
+ #: includes/helpers.php:440
3807
  msgid "Brazil"
3808
  msgstr ""
3809
 
3810
+ #: includes/helpers.php:441
3811
  msgid "British Indian Ocean Territory"
3812
  msgstr ""
3813
 
3814
+ #: includes/helpers.php:442
3815
  msgid "Brunei Darrussalam"
3816
  msgstr ""
3817
 
3818
+ #: includes/helpers.php:443
3819
  msgid "Bulgaria"
3820
  msgstr ""
3821
 
3822
+ #: includes/helpers.php:444
3823
  msgid "Burkina Faso"
3824
  msgstr ""
3825
 
3826
+ #: includes/helpers.php:445
3827
+ #: includes/helpers.php:1850
3828
  msgid "Burundi"
3829
  msgstr ""
3830
 
3831
+ #: includes/helpers.php:446
3832
  msgid "Cambodia"
3833
  msgstr ""
3834
 
3835
+ #: includes/helpers.php:447
3836
+ #: includes/helpers.php:1851
3837
  msgid "Cameroon"
3838
  msgstr ""
3839
 
3840
+ #: includes/helpers.php:448
3841
  msgid "Cape Verde"
3842
  msgstr ""
3843
 
3844
+ #: includes/helpers.php:449
3845
  msgid "Cayman Islands"
3846
  msgstr ""
3847
 
3848
+ #: includes/helpers.php:450
3849
  msgid "Central African Republic"
3850
  msgstr ""
3851
 
3852
+ #: includes/helpers.php:451
3853
  msgid "Chad"
3854
  msgstr ""
3855
 
3856
+ #: includes/helpers.php:452
3857
  msgid "Chile"
3858
  msgstr ""
3859
 
3860
+ #: includes/helpers.php:453
3861
  msgid "China"
3862
  msgstr ""
3863
 
3864
+ #: includes/helpers.php:454
3865
  msgid "Christmas Island"
3866
  msgstr ""
3867
 
3868
+ #: includes/helpers.php:455
3869
  msgid "Cocos Islands"
3870
  msgstr ""
3871
 
3872
+ #: includes/helpers.php:456
3873
  msgid "Colombia"
3874
  msgstr ""
3875
 
3876
+ #: includes/helpers.php:457
3877
  msgid "Comoros"
3878
  msgstr ""
3879
 
3880
+ #: includes/helpers.php:458
3881
  msgid "Congo, Democratic People's Republic"
3882
  msgstr ""
3883
 
3884
+ #: includes/helpers.php:459
3885
  msgid "Congo, Republic of"
3886
  msgstr ""
3887
 
3888
+ #: includes/helpers.php:460
3889
  msgid "Cook Islands"
3890
  msgstr ""
3891
 
3892
+ #: includes/helpers.php:461
3893
  msgid "Costa Rica"
3894
  msgstr ""
3895
 
3896
+ #: includes/helpers.php:462
3897
  msgid "Cote d'Ivoire"
3898
  msgstr ""
3899
 
3900
+ #: includes/helpers.php:463
3901
  msgid "Croatia/Hrvatska"
3902
  msgstr ""
3903
 
3904
+ #: includes/helpers.php:464
3905
  msgid "Cuba"
3906
  msgstr ""
3907
 
3908
+ #: includes/helpers.php:465
3909
  msgid "Cura&Ccedil;ao"
3910
  msgstr ""
3911
 
3912
+ #: includes/helpers.php:466
3913
  msgid "Cyprus"
3914
  msgstr ""
3915
 
3916
+ #: includes/helpers.php:467
3917
  msgid "Czechia"
3918
  msgstr ""
3919
 
3920
+ #: includes/helpers.php:468
3921
  msgid "Denmark"
3922
  msgstr ""
3923
 
3924
+ #: includes/helpers.php:469
3925
  msgid "Djibouti"
3926
  msgstr ""
3927
 
3928
+ #: includes/helpers.php:470
3929
+ #: includes/helpers.php:1853
3930
  msgid "Dominica"
3931
  msgstr ""
3932
 
3933
+ #: includes/helpers.php:471
3934
  msgid "Dominican Republic"
3935
  msgstr ""
3936
 
3937
+ #: includes/helpers.php:472
3938
  msgid "East Timor"
3939
  msgstr ""
3940
 
3941
+ #: includes/helpers.php:473
3942
  msgid "Ecuador"
3943
  msgstr ""
3944
 
3945
+ #: includes/helpers.php:474
3946
  msgid "Egypt"
3947
  msgstr ""
3948
 
3949
+ #: includes/helpers.php:475
3950
  msgid "Equatorial Guinea"
3951
  msgstr ""
3952
 
3953
+ #: includes/helpers.php:476
3954
  msgid "El Salvador"
3955
  msgstr ""
3956
 
3957
+ #: includes/helpers.php:477
3958
  msgid "Eritrea"
3959
  msgstr ""
3960
 
3961
+ #: includes/helpers.php:478
3962
  msgid "Estonia"
3963
  msgstr ""
3964
 
3965
+ #: includes/helpers.php:479
3966
  msgid "Ethiopia"
3967
  msgstr ""
3968
 
3969
+ #: includes/helpers.php:480
3970
  msgid "Falkland Islands"
3971
  msgstr ""
3972
 
3973
+ #: includes/helpers.php:481
3974
  msgid "Faroe Islands"
3975
  msgstr ""
3976
 
3977
+ #: includes/helpers.php:482
3978
+ #: includes/helpers.php:1854
3979
  msgid "Fiji"
3980
  msgstr ""
3981
 
3982
+ #: includes/helpers.php:483
3983
  msgid "Finland"
3984
  msgstr ""
3985
 
3986
+ #: includes/helpers.php:484
3987
  msgid "France"
3988
  msgstr ""
3989
 
3990
+ #: includes/helpers.php:485
3991
  msgid "French Guiana"
3992
  msgstr ""
3993
 
3994
+ #: includes/helpers.php:486
3995
  msgid "French Polynesia"
3996
  msgstr ""
3997
 
3998
+ #: includes/helpers.php:487
3999
  msgid "French Southern Territories"
4000
  msgstr ""
4001
 
4002
+ #: includes/helpers.php:488
4003
  msgid "Gabon"
4004
  msgstr ""
4005
 
4006
+ #: includes/helpers.php:489
4007
+ #: includes/helpers.php:1857
4008
  msgid "Gambia"
4009
  msgstr ""
4010
 
4011
+ #: includes/helpers.php:490
4012
  msgid "Georgia"
4013
  msgstr ""
4014
 
4015
+ #: includes/helpers.php:491
4016
  msgid "Germany"
4017
  msgstr ""
4018
 
4019
+ #: includes/helpers.php:492
4020
  msgid "Greece"
4021
  msgstr ""
4022
 
4023
+ #: includes/helpers.php:493
4024
+ #: includes/helpers.php:1858
4025
  msgid "Ghana"
4026
  msgstr ""
4027
 
4028
+ #: includes/helpers.php:494
4029
  msgid "Gibraltar"
4030
  msgstr ""
4031
 
4032
+ #: includes/helpers.php:495
4033
  msgid "Greenland"
4034
  msgstr ""
4035
 
4036
+ #: includes/helpers.php:496
4037
+ #: includes/helpers.php:1855
4038
  msgid "Grenada"
4039
  msgstr ""
4040
 
4041
+ #: includes/helpers.php:497
4042
  msgid "Guadeloupe"
4043
  msgstr ""
4044
 
4045
+ #: includes/helpers.php:498
4046
  msgid "Guam"
4047
  msgstr ""
4048
 
4049
+ #: includes/helpers.php:499
4050
  msgid "Guatemala"
4051
  msgstr ""
4052
 
4053
+ #: includes/helpers.php:500
4054
  msgid "Guernsey"
4055
  msgstr ""
4056
 
4057
+ #: includes/helpers.php:501
4058
  msgid "Guinea"
4059
  msgstr ""
4060
 
4061
+ #: includes/helpers.php:502
4062
  msgid "Guinea-Bissau"
4063
  msgstr ""
4064
 
4065
+ #: includes/helpers.php:503
4066
+ #: includes/helpers.php:1856
4067
  msgid "Guyana"
4068
  msgstr ""
4069
 
4070
+ #: includes/helpers.php:504
4071
  msgid "Haiti"
4072
  msgstr ""
4073
 
4074
+ #: includes/helpers.php:505
4075
  msgid "Heard and McDonald Islands"
4076
  msgstr ""
4077
 
4078
+ #: includes/helpers.php:506
4079
  msgid "Holy See (City Vatican State)"
4080
  msgstr ""
4081
 
4082
+ #: includes/helpers.php:507
4083
  msgid "Honduras"
4084
  msgstr ""
4085
 
4086
+ #: includes/helpers.php:508
4087
  msgid "Hong Kong"
4088
  msgstr ""
4089
 
4090
+ #: includes/helpers.php:509
4091
  msgid "Hungary"
4092
  msgstr ""
4093
 
4094
+ #: includes/helpers.php:510
4095
  msgid "Iceland"
4096
  msgstr ""
4097
 
4098
+ #: includes/helpers.php:511
4099
+ #: includes/helpers.php:1860
4100
  msgid "India"
4101
  msgstr ""
4102
 
4103
+ #: includes/helpers.php:512
4104
  msgid "Indonesia"
4105
  msgstr ""
4106
 
4107
+ #: includes/helpers.php:513
4108
  msgid "Iran"
4109
  msgstr ""
4110
 
4111
+ #: includes/helpers.php:514
4112
  msgid "Iraq"
4113
  msgstr ""
4114
 
4115
+ #: includes/helpers.php:515
4116
+ #: includes/helpers.php:1859
4117
  msgid "Ireland"
4118
  msgstr ""
4119
 
4120
+ #: includes/helpers.php:516
4121
  msgid "Isle of Man"
4122
  msgstr ""
4123
 
4124
+ #: includes/helpers.php:517
4125
  msgid "Israel"
4126
  msgstr ""
4127
 
4128
+ #: includes/helpers.php:518
4129
  msgid "Italy"
4130
  msgstr ""
4131
 
4132
+ #: includes/helpers.php:519
4133
+ #: includes/helpers.php:1861
4134
  msgid "Jamaica"
4135
  msgstr ""
4136
 
4137
+ #: includes/helpers.php:520
4138
  msgid "Japan"
4139
  msgstr ""
4140
 
4141
+ #: includes/helpers.php:521
4142
  msgid "Jersey"
4143
  msgstr ""
4144
 
4145
+ #: includes/helpers.php:522
4146
  msgid "Jordan"
4147
  msgstr ""
4148
 
4149
+ #: includes/helpers.php:523
4150
  msgid "Kazakhstan"
4151
  msgstr ""
4152
 
4153
+ #: includes/helpers.php:524
4154
+ #: includes/helpers.php:1862
4155
  msgid "Kenya"
4156
  msgstr ""
4157
 
4158
+ #: includes/helpers.php:525
4159
+ #: includes/helpers.php:1863
4160
  msgid "Kiribati"
4161
  msgstr ""
4162
 
4163
+ #: includes/helpers.php:526
4164
  msgid "Kuwait"
4165
  msgstr ""
4166
 
4167
+ #: includes/helpers.php:527
4168
  msgid "Kyrgyzstan"
4169
  msgstr ""
4170
 
4171
+ #: includes/helpers.php:528
4172
  msgid "Lao People's Democratic Republic"
4173
  msgstr ""
4174
 
4175
+ #: includes/helpers.php:529
4176
  msgid "Latvia"
4177
  msgstr ""
4178
 
4179
+ #: includes/helpers.php:530
4180
  msgid "Lebanon"
4181
  msgstr ""
4182
 
4183
+ #: includes/helpers.php:531
4184
+ #: includes/helpers.php:1864
4185
  msgid "Lesotho"
4186
  msgstr ""
4187
 
4188
+ #: includes/helpers.php:532
4189
+ #: includes/helpers.php:1865
4190
  msgid "Liberia"
4191
  msgstr ""
4192
 
4193
+ #: includes/helpers.php:533
4194
  msgid "Libyan Arab Jamahiriya"
4195
  msgstr ""
4196
 
4197
+ #: includes/helpers.php:534
4198
  msgid "Liechtenstein"
4199
  msgstr ""
4200
 
4201
+ #: includes/helpers.php:535
4202
  msgid "Lithuania"
4203
  msgstr ""
4204
 
4205
+ #: includes/helpers.php:536
4206
  msgid "Luxembourg"
4207
  msgstr ""
4208
 
4209
+ #: includes/helpers.php:537
4210
  msgid "Macau"
4211
  msgstr ""
4212
 
4213
+ #: includes/helpers.php:538
4214
  msgid "Macedonia (FYROM)"
4215
  msgstr ""
4216
 
4217
+ #: includes/helpers.php:539
4218
  msgid "Madagascar"
4219
  msgstr ""
4220
 
4221
+ #: includes/helpers.php:540
4222
+ #: includes/helpers.php:1866
4223
  msgid "Malawi"
4224
  msgstr ""
4225
 
4226
+ #: includes/helpers.php:541
4227
  msgid "Malaysia"
4228
  msgstr ""
4229
 
4230
+ #: includes/helpers.php:542
4231
  msgid "Maldives"
4232
  msgstr ""
4233
 
4234
+ #: includes/helpers.php:543
4235
  msgid "Mali"
4236
  msgstr ""
4237
 
4238
+ #: includes/helpers.php:544
4239
+ #: includes/helpers.php:1867
4240
  msgid "Malta"
4241
  msgstr ""
4242
 
4243
+ #: includes/helpers.php:545
4244
+ #: includes/helpers.php:1868
4245
  msgid "Marshall Islands"
4246
  msgstr ""
4247
 
4248
+ #: includes/helpers.php:546
4249
  msgid "Martinique"
4250
  msgstr ""
4251
 
4252
+ #: includes/helpers.php:547
4253
  msgid "Mauritania"
4254
  msgstr ""
4255
 
4256
+ #: includes/helpers.php:548
4257
+ #: includes/helpers.php:1869
4258
  msgid "Mauritius"
4259
  msgstr ""
4260
 
4261
+ #: includes/helpers.php:549
4262
  msgid "Mayotte"
4263
  msgstr ""
4264
 
4265
+ #: includes/helpers.php:550
4266
  msgid "Mexico"
4267
  msgstr ""
4268
 
4269
+ #: includes/helpers.php:551
4270
+ #: includes/helpers.php:1870
4271
  msgid "Micronesia"
4272
  msgstr ""
4273
 
4274
+ #: includes/helpers.php:552
4275
  msgid "Moldova, Republic of"
4276
  msgstr ""
4277
 
4278
+ #: includes/helpers.php:553
4279
  msgid "Monaco"
4280
  msgstr ""
4281
 
4282
+ #: includes/helpers.php:554
4283
  msgid "Mongolia"
4284
  msgstr ""
4285
 
4286
+ #: includes/helpers.php:555
4287
  msgid "Montenegro"
4288
  msgstr ""
4289
 
4290
+ #: includes/helpers.php:556
4291
  msgid "Montserrat"
4292
  msgstr ""
4293
 
4294
+ #: includes/helpers.php:557
4295
  msgid "Morocco"
4296
  msgstr ""
4297
 
4298
+ #: includes/helpers.php:558
4299
  msgid "Mozambique"
4300
  msgstr ""
4301
 
4302
+ #: includes/helpers.php:559
4303
  msgid "Myanmar"
4304
  msgstr ""
4305
 
4306
+ #: includes/helpers.php:560
4307
+ #: includes/helpers.php:1872
4308
  msgid "Namibia"
4309
  msgstr ""
4310
 
4311
+ #: includes/helpers.php:561
4312
+ #: includes/helpers.php:1873
4313
  msgid "Nauru"
4314
  msgstr ""
4315
 
4316
+ #: includes/helpers.php:562
4317
  msgid "Nepal"
4318
  msgstr ""
4319
 
4320
+ #: includes/helpers.php:563
4321
  msgid "Netherlands"
4322
  msgstr ""
4323
 
4324
+ #: includes/helpers.php:564
4325
  msgid "Netherlands Antilles"
4326
  msgstr ""
4327
 
4328
+ #: includes/helpers.php:565
4329
  msgid "New Caledonia"
4330
  msgstr ""
4331
 
4332
+ #: includes/helpers.php:566
4333
+ #: includes/helpers.php:1871
4334
  msgid "New Zealand"
4335
  msgstr ""
4336
 
4337
+ #: includes/helpers.php:567
4338
  msgid "Nicaragua"
4339
  msgstr ""
4340
 
4341
+ #: includes/helpers.php:568
4342
  msgid "Niger"
4343
  msgstr ""
4344
 
4345
+ #: includes/helpers.php:569
4346
+ #: includes/helpers.php:1874
4347
  msgid "Nigeria"
4348
  msgstr ""
4349
 
4350
+ #: includes/helpers.php:570
4351
  msgid "Niue"
4352
  msgstr ""
4353
 
4354
+ #: includes/helpers.php:571
4355
  msgid "Norfolk Island"
4356
  msgstr ""
4357
 
4358
+ #: includes/helpers.php:572
4359
  msgid "North Korea"
4360
  msgstr ""
4361
 
4362
+ #: includes/helpers.php:573
4363
  msgid "Northern Mariana Islands"
4364
  msgstr ""
4365
 
4366
+ #: includes/helpers.php:574
4367
  msgid "Norway"
4368
  msgstr ""
4369
 
4370
+ #: includes/helpers.php:575
4371
  msgid "Oman"
4372
  msgstr ""
4373
 
4374
+ #: includes/helpers.php:576
4375
+ #: includes/helpers.php:1875
4376
  msgid "Pakistan"
4377
  msgstr ""
4378
 
4379
+ #: includes/helpers.php:577
4380
+ #: includes/helpers.php:1876
4381
  msgid "Palau"
4382
  msgstr ""
4383
 
4384
+ #: includes/helpers.php:578
4385
  msgid "Palestinian Territories"
4386
  msgstr ""
4387
 
4388
+ #: includes/helpers.php:579
4389
  msgid "Panama"
4390
  msgstr ""
4391
 
4392
+ #: includes/helpers.php:580
4393
+ #: includes/helpers.php:1877
4394
  msgid "Papua New Guinea"
4395
  msgstr ""
4396
 
4397
+ #: includes/helpers.php:581
4398
  msgid "Paraguay"
4399
  msgstr ""
4400
 
4401
+ #: includes/helpers.php:582
4402
  msgid "Peru"
4403
  msgstr ""
4404
 
4405
+ #: includes/helpers.php:583
4406
+ #: includes/helpers.php:1878
4407
  msgid "Philippines"
4408
  msgstr ""
4409
 
4410
+ #: includes/helpers.php:584
4411
  msgid "Pitcairn Island"
4412
  msgstr ""
4413
 
4414
+ #: includes/helpers.php:585
4415
  msgid "Poland"
4416
  msgstr ""
4417
 
4418
+ #: includes/helpers.php:586
4419
  msgid "Portugal"
4420
  msgstr ""
4421
 
4422
+ #: includes/helpers.php:587
4423
  msgid "Puerto Rico"
4424
  msgstr ""
4425
 
4426
+ #: includes/helpers.php:588
4427
  msgid "Qatar"
4428
  msgstr ""
4429
 
4430
+ #: includes/helpers.php:589
4431
  msgid "Republic of Kosovo"
4432
  msgstr ""
4433
 
4434
+ #: includes/helpers.php:590
4435
  msgid "Reunion Island"
4436
  msgstr ""
4437
 
4438
+ #: includes/helpers.php:591
4439
  msgid "Romania"
4440
  msgstr ""
4441
 
4442
+ #: includes/helpers.php:592
4443
  msgid "Russian Federation"
4444
  msgstr ""
4445
 
4446
+ #: includes/helpers.php:593
4447
+ #: includes/helpers.php:1879
4448
  msgid "Rwanda"
4449
  msgstr ""
4450
 
4451
+ #: includes/helpers.php:594
4452
  msgid "Saint Barth&eacute;lemy"
4453
  msgstr ""
4454
 
4455
+ #: includes/helpers.php:595
4456
  msgid "Saint Helena"
4457
  msgstr ""
4458
 
4459
+ #: includes/helpers.php:596
4460
  msgid "Saint Kitts and Nevis"
4461
  msgstr ""
4462
 
4463
+ #: includes/helpers.php:597
4464
  msgid "Saint Lucia"
4465
  msgstr ""
4466
 
4467
+ #: includes/helpers.php:598
4468
  msgid "Saint Martin (French)"
4469
  msgstr ""
4470
 
4471
+ #: includes/helpers.php:599
4472
  msgid "Saint Martin (Dutch)"
4473
  msgstr ""
4474
 
4475
+ #: includes/helpers.php:600
4476
  msgid "Saint Pierre and Miquelon"
4477
  msgstr ""
4478
 
4479
+ #: includes/helpers.php:601
4480
  msgid "Saint Vincent and the Grenadines"
4481
  msgstr ""
4482
 
4483
+ #: includes/helpers.php:602
4484
  msgid "San Marino"
4485
  msgstr ""
4486
 
4487
+ #: includes/helpers.php:603
4488
  msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe"
4489
  msgstr ""
4490
 
4491
+ #: includes/helpers.php:604
4492
  msgid "Saudi Arabia"
4493
  msgstr ""
4494
 
4495
+ #: includes/helpers.php:605
4496
  msgid "Senegal"
4497
  msgstr ""
4498
 
4499
+ #: includes/helpers.php:606
4500
  msgid "Serbia"
4501
  msgstr ""
4502
 
4503
+ #: includes/helpers.php:607
4504
+ #: includes/helpers.php:1886
4505
  msgid "Seychelles"
4506
  msgstr ""
4507
 
4508
+ #: includes/helpers.php:608
4509
+ #: includes/helpers.php:1887
4510
  msgid "Sierra Leone"
4511
  msgstr ""
4512
 
4513
+ #: includes/helpers.php:609
4514
+ #: includes/helpers.php:1880
4515
  msgid "Singapore"
4516
  msgstr ""
4517
 
4518
+ #: includes/helpers.php:610
4519
  msgid "Slovak Republic"
4520
  msgstr ""
4521
 
4522
+ #: includes/helpers.php:611
4523
  msgid "Slovenia"
4524
  msgstr ""
4525
 
4526
+ #: includes/helpers.php:612
4527
+ #: includes/helpers.php:1888
4528
  msgid "Solomon Islands"
4529
  msgstr ""
4530
 
4531
+ #: includes/helpers.php:613
4532
  msgid "Somalia"
4533
  msgstr ""
4534
 
4535
+ #: includes/helpers.php:614
4536
+ #: includes/helpers.php:1889
4537
  msgid "South Africa"
4538
  msgstr ""
4539
 
4540
+ #: includes/helpers.php:615
4541
  msgid "South Georgia"
4542
  msgstr ""
4543
 
4544
+ #: includes/helpers.php:616
4545
  msgid "South Korea"
4546
  msgstr ""
4547
 
4548
+ #: includes/helpers.php:617
4549
+ #: includes/helpers.php:1890
4550
  msgid "South Sudan"
4551
  msgstr ""
4552
 
4553
+ #: includes/helpers.php:618
4554
  msgid "Spain"
4555
  msgstr ""
4556
 
4557
+ #: includes/helpers.php:619
4558
  msgid "Sri Lanka"
4559
  msgstr ""
4560
 
4561
+ #: includes/helpers.php:620
4562
+ #: includes/helpers.php:1891
4563
  msgid "Sudan"
4564
  msgstr ""
4565
 
4566
+ #: includes/helpers.php:621
4567
  msgid "Suriname"
4568
  msgstr ""
4569
 
4570
+ #: includes/helpers.php:622
4571
  msgid "Svalbard and Jan Mayen Islands"
4572
  msgstr ""
4573
 
4574
+ #: includes/helpers.php:623
4575
+ #: includes/helpers.php:1884
4576
  msgid "Swaziland"
4577
  msgstr ""
4578
 
4579
+ #: includes/helpers.php:624
4580
  msgid "Sweden"
4581
  msgstr ""
4582
 
4583
+ #: includes/helpers.php:625
4584
  msgid "Switzerland"
4585
  msgstr ""
4586
 
4587
+ #: includes/helpers.php:626
4588
  msgid "Syrian Arab Republic"
4589
  msgstr ""
4590
 
4591
+ #: includes/helpers.php:627
4592
  msgid "Taiwan"
4593
  msgstr ""
4594
 
4595
+ #: includes/helpers.php:628
4596
  msgid "Tajikistan"
4597
  msgstr ""
4598
 
4599
+ #: includes/helpers.php:629
4600
+ #: includes/helpers.php:1894
4601
  msgid "Tanzania"
4602
  msgstr ""
4603
 
4604
+ #: includes/helpers.php:630
4605
  msgid "Thailand"
4606
  msgstr ""
4607
 
4608
+ #: includes/helpers.php:631
4609
  msgid "Timor-Leste"
4610
  msgstr ""
4611
 
4612
+ #: includes/helpers.php:632
4613
  msgid "Togo"
4614
  msgstr ""
4615
 
4616
+ #: includes/helpers.php:633
4617
  msgid "Tokelau"
4618
  msgstr ""
4619
 
4620
+ #: includes/helpers.php:634
4621
+ #: includes/helpers.php:1895
4622
  msgid "Tonga"
4623
  msgstr ""
4624
 
4625
+ #: includes/helpers.php:635
4626
+ #: includes/helpers.php:1892
4627
  msgid "Trinidad and Tobago"
4628
  msgstr ""
4629
 
4630
+ #: includes/helpers.php:636
4631
  msgid "Tunisia"
4632
  msgstr ""
4633
 
4634
+ #: includes/helpers.php:637
4635
  msgid "Turkey"
4636
  msgstr ""
4637
 
4638
+ #: includes/helpers.php:638
4639
  msgid "Turkmenistan"
4640
  msgstr ""
4641
 
4642
+ #: includes/helpers.php:639
4643
  msgid "Turks and Caicos Islands"
4644
  msgstr ""
4645
 
4646
+ #: includes/helpers.php:640
4647
+ #: includes/helpers.php:1896
4648
  msgid "Tuvalu"
4649
  msgstr ""
4650
 
4651
+ #: includes/helpers.php:641
4652
+ #: includes/helpers.php:1899
4653
  msgid "Uganda"
4654
  msgstr ""
4655
 
4656
+ #: includes/helpers.php:642
4657
  msgid "Ukraine"
4658
  msgstr ""
4659
 
4660
+ #: includes/helpers.php:643
4661
  msgid "United Arab Emirates"
4662
  msgstr ""
4663
 
4664
+ #: includes/helpers.php:644
4665
  msgid "Uruguay"
4666
  msgstr ""
4667
 
4668
+ #: includes/helpers.php:645
4669
  msgid "US Minor Outlying Islands"
4670
  msgstr ""
4671
 
4672
+ #: includes/helpers.php:646
4673
  msgid "Uzbekistan"
4674
  msgstr ""
4675
 
4676
+ #: includes/helpers.php:647
4677
+ #: includes/helpers.php:1900
4678
  msgid "Vanuatu"
4679
  msgstr ""
4680
 
4681
+ #: includes/helpers.php:648
4682
  msgid "Venezuela"
4683
  msgstr ""
4684
 
4685
+ #: includes/helpers.php:649
4686
  msgid "Vietnam"
4687
  msgstr ""
4688
 
4689
+ #: includes/helpers.php:650
4690
  msgid "Virgin Islands (British)"
4691
  msgstr ""
4692
 
4693
+ #: includes/helpers.php:651
4694
  msgid "Virgin Islands (USA)"
4695
  msgstr ""
4696
 
4697
+ #: includes/helpers.php:652
4698
  msgid "Wallis and Futuna Islands"
4699
  msgstr ""
4700
 
4701
+ #: includes/helpers.php:653
4702
  msgid "Western Sahara"
4703
  msgstr ""
4704
 
4705
+ #: includes/helpers.php:654
4706
  msgid "Western Samoa"
4707
  msgstr ""
4708
 
4709
+ #: includes/helpers.php:655
4710
  msgid "Yemen"
4711
  msgstr ""
4712
 
4713
+ #: includes/helpers.php:656
4714
+ #: includes/helpers.php:1901
4715
  msgid "Zambia"
4716
  msgstr ""
4717
 
4718
+ #: includes/helpers.php:657
4719
+ #: includes/helpers.php:1902
4720
  msgid "Zimbabwe"
4721
  msgstr ""
4722
 
4723
+ #: includes/helpers.php:658
4724
  msgid "Unknown Country"
4725
  msgstr ""
4726
 
4727
  #. Translators: The placeholders are for making the "We noticed you're using a caching plugin" text bold.
4728
+ #: includes/helpers.php:1331
4729
  msgid "%1$sWe noticed you're using a caching plugin or caching from your hosting provider.%2$s Be sure to clear the cache to ensure the tracking appears on all pages and posts. %3$s(See this guide on how to clear cache)%4$s."
4730
  msgstr ""
4731
 
4732
  #. Translators: The placeholders are for making the "We have detected multiple tracking codes" text bold & adding a link to support.
4733
+ #: includes/helpers.php:1376
4734
  msgid "%1$sWe have detected multiple tracking codes%2$s! You should remove non-ExactMetrics ones. If you need help finding them please %3$sread this article%4$s."
4735
  msgstr ""
4736
 
4737
+ #: includes/helpers.php:1881
4738
  msgid "St Kitts and Nevis"
4739
  msgstr ""
4740
 
4741
+ #: includes/helpers.php:1882
4742
  msgid "St Lucia"
4743
  msgstr ""
4744
 
4745
+ #: includes/helpers.php:1883
4746
  msgid "St Vincent and the Grenadines"
4747
  msgstr ""
4748
 
4749
+ #: includes/helpers.php:1885
4750
  msgid "Samoa"
4751
  msgstr ""
4752
 
4753
+ #: includes/helpers.php:1893
4754
  msgid "The Bahamas"
4755
  msgstr ""
4756
 
4757
+ #: includes/helpers.php:1898
4758
  msgid "United States of America"
4759
  msgstr ""
4760
 
4835
  msgstr ""
4836
 
4837
  #: languages/gutenberg.php:77
4838
+ #: languages/vue.php:536
4839
  msgid "Inline Popular Posts"
4840
  msgstr ""
4841
 
4872
  msgstr ""
4873
 
4874
  #: languages/gutenberg.php:107
4875
+ #: languages/vue.php:3095
4876
  msgid "Wide-Layout Options"
4877
  msgstr ""
4878
 
4881
  msgstr ""
4882
 
4883
  #: languages/gutenberg.php:113
4884
+ #: languages/vue.php:3098
4885
  msgid "Adjust the number of columns displayed when the widget is placed in a wide container."
4886
  msgstr ""
4887
 
4888
  #: languages/gutenberg.php:116
4889
+ #: languages/vue.php:3119
4890
  msgid "Post Count"
4891
  msgstr ""
4892
 
4895
  msgstr ""
4896
 
4897
  #: languages/gutenberg.php:122
4898
+ #: languages/vue.php:3101
4899
  msgid "Display Options"
4900
  msgstr ""
4901
 
4908
  msgstr ""
4909
 
4910
  #: languages/gutenberg.php:131
4911
+ #: languages/vue.php:1979
4912
  msgid "Widget Title"
4913
  msgstr ""
4914
 
4917
  msgstr ""
4918
 
4919
  #: languages/gutenberg.php:137
4920
+ #: languages/vue.php:3107
4921
  msgid "Display Author"
4922
  msgstr ""
4923
 
4924
  #: languages/gutenberg.php:140
4925
+ #: languages/vue.php:3110
4926
  msgid "Display Date"
4927
  msgstr ""
4928
 
4929
  #: languages/gutenberg.php:143
4930
+ #: languages/vue.php:3113
4931
  msgid "Display Comments"
4932
  msgstr ""
4933
 
5148
  msgstr ""
5149
 
5150
  #: languages/gutenberg.php:312
5151
+ #: languages/vue.php:1012
5152
  msgid "Headline Analyzer"
5153
  msgstr ""
5154
 
5160
  msgid "This headline analyzer is part of ExactMetrics to help you increase your traffic. See your %1swebsite traffic reports%2s."
5161
  msgstr ""
5162
 
5163
+ #: languages/gutenberg.php:321
5164
+ #: languages/vue.php:107
5165
+ #: lite/includes/admin/metaboxes.php:42
5166
+ msgid "Last 30 days"
5167
+ msgstr ""
5168
+
5169
+ #: languages/gutenberg.php:324
5170
+ #: languages/vue.php:95
5171
+ #: lite/includes/admin/metaboxes.php:45
5172
+ msgid "Yesterday"
5173
+ msgstr ""
5174
+
5175
+ #: languages/gutenberg.php:327
5176
+ #: languages/vue.php:1332
5177
+ #: lite/includes/admin/metaboxes.php:57
5178
+ #: lite/includes/admin/metaboxes.php:111
5179
+ msgid "Bounce Rate"
5180
+ msgstr ""
5181
+
5182
+ #: languages/gutenberg.php:330
5183
+ msgid "Time On Page"
5184
+ msgstr ""
5185
+
5186
+ #: languages/gutenberg.php:333
5187
+ #: lite/includes/admin/metaboxes.php:73
5188
+ #: lite/includes/admin/metaboxes.php:127
5189
+ msgid "Load Time"
5190
+ msgstr ""
5191
+
5192
+ #: languages/gutenberg.php:336
5193
+ #: lite/includes/admin/metaboxes.php:81
5194
+ #: lite/includes/admin/metaboxes.php:135
5195
+ msgid "Entrances"
5196
+ msgstr ""
5197
+
5198
+ #: languages/gutenberg.php:339
5199
+ #: lite/includes/admin/metaboxes.php:89
5200
+ #: lite/includes/admin/metaboxes.php:143
5201
+ msgid "Page Views"
5202
+ msgstr ""
5203
+
5204
+ #: languages/gutenberg.php:342
5205
+ #: lite/includes/admin/metaboxes.php:97
5206
+ #: lite/includes/admin/metaboxes.php:151
5207
+ msgid "Exits"
5208
+ msgstr ""
5209
+
5210
+ #: languages/gutenberg.php:345
5211
+ #: lite/includes/admin/metaboxes.php:160
5212
+ msgid "Hide Page Insights"
5213
+ msgstr ""
5214
+
5215
+ #: languages/gutenberg.php:348
5216
+ #: lite/includes/admin/metaboxes.php:36
5217
+ msgid "Show Page Insights"
5218
+ msgstr ""
5219
+
5220
  #: languages/vue.php:5
5221
  msgid "1"
5222
  msgstr ""
5229
  msgid "Loading Settings"
5230
  msgstr ""
5231
 
5232
+ #: languages/vue.php:14
5233
  msgid "Please wait..."
5234
  msgstr ""
5235
 
5236
+ #: languages/vue.php:17
5237
  msgid "Saving Changes..."
5238
  msgstr ""
5239
 
5240
+ #: languages/vue.php:20
5241
  msgid "Settings Updated"
5242
  msgstr ""
5243
 
5244
  #. Translators: Add a link to the onboarding wizard.
5245
+ #: languages/vue.php:24
5246
  msgid "You need to %1$sconnect ExactMetrics%2$s first"
5247
  msgstr ""
5248
 
5249
+ #: languages/vue.php:27
5250
  msgid "Could Not Save Changes"
5251
  msgstr ""
5252
 
5253
+ #: languages/vue.php:30
5254
  msgid "Loading new report data"
5255
  msgstr ""
5256
 
5257
  #. Translators: Adds an arrow icon.
5258
+ #: languages/vue.php:34
5259
  msgid "Continue %s"
5260
  msgstr ""
5261
 
5262
+ #: languages/vue.php:38
5263
  msgid "Error"
5264
  msgstr ""
5265
 
5266
+ #: languages/vue.php:41
5267
  msgid "Please try again."
5268
  msgstr ""
5269
 
5270
+ #: languages/vue.php:44
5271
  msgid "Unlock the Publishers Report and Focus on the Content that Matters"
5272
  msgstr ""
5273
 
5274
+ #: languages/vue.php:47
5275
  msgid "Stop guessing about what content your visitors are interested in. ExactMetrics Publisher Report shows you exactly which content gets the most visits, so you can analyze and optimize it for higher conversions."
5276
  msgstr ""
5277
 
5278
+ #: languages/vue.php:50
5279
  msgid "Unlock the Publishers Report and Focus on the Content That Matters"
5280
  msgstr ""
5281
 
5282
+ #: languages/vue.php:53
5283
  msgid "Stop guessing about what content your visitors are interested in. The Publisher Report shows you exactly which content gets the most traffic, so you can analyze and optimize it for higher conversions."
5284
  msgstr ""
5285
 
5286
+ #: languages/vue.php:56
5287
  msgid "Unlock the eCommerce Report and See Your Important Store Metrics"
5288
  msgstr ""
5289
 
5290
+ #: languages/vue.php:59
5291
  msgid "Increase your sales & revenue with insights. ExactMetrics answers all your top eCommerce questions using metrics like total revenue, conversion rate, average order value, top products, top referral sources and more."
5292
  msgstr ""
5293
 
5294
+ #: languages/vue.php:62
5295
  msgid "Unlock the Dimensions Report and Track Your Own Custom Data"
5296
  msgstr ""
5297
 
5298
+ #: languages/vue.php:65
5299
  msgid "Decide what data is important using your own custom tracking parameters. The Dimensions report allows you to easily see what's working right inside your WordPress dashboard."
5300
  msgstr ""
5301
 
5302
+ #: languages/vue.php:68
5303
  msgid "Unlock the Forms Report and Improve Conversions"
5304
  msgstr ""
5305
 
5306
+ #: languages/vue.php:71
5307
  msgid "Easily track your form views and conversions. The Forms Report allows you to see which forms are performing better and which forms have lower conversion rates so you can optimize using real data."
5308
  msgstr ""
5309
 
5310
+ #: languages/vue.php:74
5311
  msgid "Unlock the Search Console Report and See How People Find Your Website"
5312
  msgstr ""
5313
 
5314
+ #: languages/vue.php:77
5315
  msgid "See exactly how people find your website, which keywords they searched for, how many times the results were viewed, and more."
5316
  msgstr ""
5317
 
5318
+ #: languages/vue.php:80
5319
  msgid "Unlock the Real-Time Report and Track the Visitors on Your Site in Real-Time"
5320
  msgstr ""
5321
 
5322
+ #: languages/vue.php:83
5323
  msgid "Track the results of your marketing efforts and product launches as-it-happens right from your WordPress site. The Real-Time report allows you to view your traffic sources and visitors activity when you need it."
5324
  msgstr ""
5325
 
5326
+ #: languages/vue.php:86
5327
  msgid "Unlock the Site Speed Report and Improve the Performance of Your Site"
5328
  msgstr ""
5329
 
5330
+ #: languages/vue.php:89
5331
  msgid "See How Your Homepage Performs According to Google’s Own Criteria and See How You Can Improve to Increase Your Ranking"
5332
  msgstr ""
5333
 
5334
+ #: languages/vue.php:92
5335
  msgid "Today"
5336
  msgstr ""
5337
 
5338
+ #: languages/vue.php:98
 
 
 
 
5339
  msgid "Last Week"
5340
  msgstr ""
5341
 
5342
+ #: languages/vue.php:101
5343
  msgid "Last Month"
5344
  msgstr ""
5345
 
5346
+ #: languages/vue.php:104
5347
  msgid "Last 7 days"
5348
  msgstr ""
5349
 
5350
+ #: languages/vue.php:110
 
 
 
 
5351
  msgid "Loading settings"
5352
  msgstr ""
5353
 
5354
  #. Translators: Number of visitors.
5355
+ #: languages/vue.php:114
5356
  msgid "See how %s visitors found your site!"
5357
  msgstr ""
5358
 
5359
  #. Translators: Number of visitors.
5360
+ #: languages/vue.php:118
5361
  msgid "Your website was visited by %s users in the last 30 days."
5362
  msgstr ""
5363
 
5364
+ #: languages/vue.php:121
5365
  msgid "See the full analytics report!"
5366
  msgstr ""
5367
 
5368
+ #: languages/vue.php:124
5369
  msgid "Overview Report"
5370
  msgstr ""
5371
 
5372
  #. Translators: Current PHP version and recommended PHP version.
5373
+ #: languages/vue.php:128
5374
  msgid "ExactMetrics has detected that your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked. WordPress stopped supporting your PHP version in April, 2019. Updating to the recommended version (PHP %2$s) only takes a few minutes and will make your website significantly faster and more secure."
5375
  msgstr ""
5376
 
5377
  #. Translators: Current WordPress version.
5378
+ #: languages/vue.php:132
5379
  msgid "ExactMetrics has detected that your site is running an outdated version of WordPress (%s). ExactMetrics will stop supporting WordPress versions lower than 4.9 in 2020. Updating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install."
5380
  msgstr ""
5381
 
5382
+ #: languages/vue.php:135
5383
  msgid "Yikes! PHP Update Required"
5384
  msgstr ""
5385
 
5386
  #. Translators: Current PHP version and recommended PHP version.
5387
+ #: languages/vue.php:139
5388
  msgid "ExactMetrics has detected that your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked. Updating to the recommended version (PHP %2$s) only takes a few minutes and will make your website significantly faster and more secure."
5389
  msgstr ""
5390
 
5391
+ #: languages/vue.php:142
5392
  msgid "Learn more about updating PHP"
5393
  msgstr ""
5394
 
5395
+ #: languages/vue.php:145
5396
  msgid "Yikes! WordPress Update Required"
5397
  msgstr ""
5398
 
5399
  #. Translators: Current WordPress version.
5400
+ #: languages/vue.php:149
5401
  msgid "ExactMetrics has detected that your site is running an outdated version of WordPress (%s). Updating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install."
5402
  msgstr ""
5403
 
5404
+ #: languages/vue.php:152
5405
  msgid "Learn more about updating WordPress"
5406
  msgstr ""
5407
 
5408
+ #: languages/vue.php:160
5409
  msgid "Getting Started"
5410
  msgstr ""
5411
 
5412
+ #: languages/vue.php:164
5413
  msgid "Lite vs Pro"
5414
  msgstr ""
5415
 
5416
+ #: languages/vue.php:167
5417
  msgid "Success! "
5418
  msgstr ""
5419
 
5420
+ #: languages/vue.php:170
5421
  msgid "You're now using ExactMetrics Pro with all the features."
5422
  msgstr ""
5423
 
5424
  #. Translators: Placeholder gets replaced with an arrow icon.
5425
+ #: languages/vue.php:174
5426
  msgid "Get Started %s"
5427
  msgstr ""
5428
 
5429
  #. Translators: Error status and error text.
5430
+ #: languages/vue.php:178
5431
  msgid "Can't load report data. Error: %1$s, %2$s"
5432
  msgstr ""
5433
 
5434
+ #: languages/vue.php:181
5435
  msgid "Error loading report data"
5436
  msgstr ""
5437
 
5438
+ #. Translators: Makes the text bold.
5439
+ #: languages/vue.php:185
5440
  msgid "%1$sUniversal Tracking%2$s – Setup universal website tracking across devices and campaigns with just a few clicks (without any code)."
5441
  msgstr ""
5442
 
5443
+ #. Translators: Makes the text bold.
5444
+ #: languages/vue.php:189
5445
  msgid "%1$sGoogle Analytics Dashboard%2$s - See your website analytics report right inside your WordPress dashboard with actionable insights."
5446
  msgstr ""
5447
 
5448
+ #. Translators: Makes the text bold.
5449
+ #: languages/vue.php:193
5450
  msgid "%1$sReal-time Stats%2$s - Get real-time stats inside WordPress to see who is online, what are they doing and more."
5451
  msgstr ""
5452
 
5453
  #. Translators: Makes text bold.
5454
+ #: languages/vue.php:197
5455
  msgid "%1$sEnhanced Ecommerce Tracking%2$s - 1-click Google Analytics Enhanced eCommerce tracking for WooCommerce, Easy Digital Download & MemberPress."
5456
  msgstr ""
5457
 
5458
+ #. Translators: Makes the text bold.
5459
+ #: languages/vue.php:201
5460
  msgid "%1$sPage Level Analytics%2$s - Get detailed stats for each post and page, so you can see the most popular posts, pages, and sections of your site."
5461
  msgstr ""
5462
 
5463
+ #. Translators: Makes the text bold.
5464
+ #: languages/vue.php:205
5465
  msgid "%1$sAffiliate Link & Ads Tracking%2$s - Automatically track clicks on your affiliate links, banner ads, and other outbound links with our link tracking."
5466
  msgstr ""
5467
 
5468
+ #. Translators: Makes the text bold.
5469
+ #: languages/vue.php:209
5470
  msgid "%1$sEU Compilance (GDPR Friendly)%2$s - Make Google Analytics compliant with GDPR and other privacy regulations automatically."
5471
  msgstr ""
5472
 
5473
  #. Translators: Makes text bold.
5474
+ #: languages/vue.php:213
5475
  msgid "%1$sCustom Dimensions%2$s - Setup tracking for authors, tags, searches, custom post types, users, and other events with 1-click."
5476
  msgstr ""
5477
 
5478
+ #. Translators: Adds a link and an arrow icon.
5479
+ #: languages/vue.php:217
5480
  msgid "%1$sSee All Features%2$s"
5481
  msgstr ""
5482
 
5483
+ #: languages/vue.php:220
5484
  msgid "Pro Plan"
5485
  msgstr ""
5486
 
5487
+ #: languages/vue.php:223
5488
  msgid "per year"
5489
  msgstr ""
5490
 
5520
  msgid "Guides and Documentation:"
5521
  msgstr ""
5522
 
5523
+ #: languages/vue.php:263
5524
  msgid "Upgrade to PRO"
5525
  msgstr ""
5526
 
5527
+ #: languages/vue.php:266
5528
  msgid "eCommerce Tracking"
5529
  msgstr ""
5530
 
5531
+ #: languages/vue.php:269
5532
  msgid "Custom Dimensions"
5533
  msgstr ""
5534
 
5535
+ #: languages/vue.php:272
5536
  msgid "Form Tracking"
5537
  msgstr ""
5538
 
5539
+ #: languages/vue.php:275
5540
  msgid "AMP Support"
5541
  msgstr ""
5542
 
5543
+ #: languages/vue.php:278
5544
  msgid "Author Tracking"
5545
  msgstr ""
5546
 
5547
+ #: languages/vue.php:281
5548
  msgid "EU Compliance Addon"
5549
  msgstr ""
5550
 
5551
+ #: languages/vue.php:284
5552
  msgid "Real Time Report"
5553
  msgstr ""
5554
 
5555
+ #: languages/vue.php:287
5556
  msgid "Google Optimize"
5557
  msgstr ""
5558
 
5559
+ #: languages/vue.php:290
5560
  #: lite/includes/admin/reports/report-queries.php:22
5561
  msgid "Search Console"
5562
  msgstr ""
5563
 
5564
+ #: languages/vue.php:293
5565
  msgid "Custom Date Ranges"
5566
  msgstr ""
5567
 
5568
+ #: languages/vue.php:296
5569
+ #: languages/vue.php:951
5570
  msgid "Getting Started with ExactMetrics"
5571
  msgstr ""
5572
 
5573
+ #: languages/vue.php:299
5574
+ #: languages/vue.php:954
5575
  msgid "ExactMetrics is the easiest analytics solution on the market to get started with, as we walk you through exactly what you need to do, in plain english, using our 3 minute setup wizard."
5576
  msgstr ""
5577
 
5578
+ #: languages/vue.php:302
5579
  msgid "To begin with, we’ll get your site authorized with Google Analytics, so we can start tracking and generating reports for you right away."
5580
  msgstr ""
5581
 
5582
+ #: languages/vue.php:305
5583
  msgid "In no time at all, and after just a few clicks, you'll have setup the most powerful Google Analytics tracking available for WordPress. It's easy to double your traffic and sales when you know exactly how people find and use your website. Let's get started!."
5584
  msgstr ""
5585
 
5586
+ #: languages/vue.php:308
5587
  msgid "Launch the wizard!"
5588
  msgstr ""
5589
 
5590
+ #: languages/vue.php:311
5591
  msgid "Welcome to"
5592
  msgstr ""
5593
 
5594
  #. Translators: Adds a line break.
5595
+ #: languages/vue.php:315
5596
  msgid "Thank you for choosing ExactMetrics -%s The Most Powerful WordPress Analytics Plugin"
5597
  msgstr ""
5598
 
5599
+ #. Translators: Makes the product name bold.
5600
+ #: languages/vue.php:319
5601
  msgid "%1$sExactMetrics%2$s makes it “effortless” to setup Google Analytics in WordPress, the RIGHT Way. You can watch the video tutorial or use our 3 minute setup wizard."
5602
  msgstr ""
5603
 
5604
+ #: languages/vue.php:322
5605
  msgid "ExactMetrics Features & Addons"
5606
  msgstr ""
5607
 
5608
+ #: languages/vue.php:325
5609
  msgid "Here are the features that make ExactMetrics the most powerful and user-friendly WordPress analytics plugin in the market."
5610
  msgstr ""
5611
 
5612
  #. Translators: Placeholder is replaced with WPForms.
5613
+ #: languages/vue.php:329
5614
  msgid "Recommended Plugin: %s"
5615
  msgstr ""
5616
 
5617
+ #: languages/vue.php:333
5618
  msgid "Install"
5619
  msgstr ""
5620
 
5621
+ #: languages/vue.php:337
5622
  msgid "Activate"
5623
  msgstr ""
5624
 
5625
+ #: languages/vue.php:343
5626
  msgid "ExactMetrics encountered an error loading your report data"
5627
  msgstr ""
5628
 
5629
+ #: languages/vue.php:346
5630
  msgid "There is an issue with your Google Account authentication. Please use the button below to fix it by re-authenticating."
5631
  msgstr ""
5632
 
5633
+ #: languages/vue.php:349
5634
+ #: languages/vue.php:1876
5635
  msgid "Reconnect ExactMetrics"
5636
  msgstr ""
5637
 
5638
+ #: languages/vue.php:352
5639
  msgid "Re-Authenticating"
5640
  msgstr ""
5641
 
5642
+ #: languages/vue.php:356
5643
  msgid "Ok"
5644
  msgstr ""
5645
 
5646
+ #: languages/vue.php:359
5647
+ #: languages/vue.php:890
5648
  msgid "ExactMetrics Addons"
5649
  msgstr ""
5650
 
5651
+ #: languages/vue.php:362
5652
  msgid "Search Addons"
5653
  msgstr ""
5654
 
5655
+ #: languages/vue.php:365
5656
  msgid "Save Changes"
5657
  msgstr ""
5658
 
5659
+ #: languages/vue.php:368
5660
  msgid "Exit Setup"
5661
  msgstr ""
5662
 
5663
+ #: languages/vue.php:371
5664
  msgid "Time to Purchase"
5665
  msgstr ""
5666
 
5667
+ #: languages/vue.php:374
5668
  msgid "This list shows how many days from first visit it took users to purchase products from your site."
5669
  msgstr ""
5670
 
5671
+ #: languages/vue.php:377
5672
  msgid "Sessions to Purchase"
5673
  msgstr ""
5674
 
5675
+ #: languages/vue.php:380
5676
  msgid "This list shows the number of sessions it took users before they purchased a product from your website."
5677
  msgstr ""
5678
 
5679
+ #: languages/vue.php:383
5680
  msgid "New Customers"
5681
  msgstr ""
5682
 
5683
+ #: languages/vue.php:386
5684
  msgid "This list shows the percentage of new customers who purchased a product from your website."
5685
  msgstr ""
5686
 
5687
+ #: languages/vue.php:389
5688
  msgid "Abandoned Checkouts"
5689
  msgstr ""
5690
 
5691
+ #: languages/vue.php:392
5692
  msgid "This list shows the percentage of carts that never went through the checkout process."
5693
  msgstr ""
5694
 
5695
+ #: languages/vue.php:395
5696
  msgid "Top Posts/Pages"
5697
  msgstr ""
5698
 
5699
+ #: languages/vue.php:398
5700
  msgid "This list shows the most viewed posts and pages on your website."
5701
  msgstr ""
5702
 
5703
+ #: languages/vue.php:401
5704
  msgid "New vs. Returning Visitors"
5705
  msgstr ""
5706
 
5707
+ #: languages/vue.php:404
5708
  msgid "This graph shows what percent of your user sessions come from new versus repeat visitors."
5709
  msgstr ""
5710
 
5711
+ #: languages/vue.php:407
5712
  msgid "Device Breakdown"
5713
  msgstr ""
5714
 
5715
+ #: languages/vue.php:410
5716
  msgid "This graph shows what percent of your visitor sessions are done using a traditional computer or laptop, tablet or mobile device to view your site."
5717
  msgstr ""
5718
 
5719
+ #: languages/vue.php:413
5720
  msgid "Top Landing Pages"
5721
  msgstr ""
5722
 
5723
+ #: languages/vue.php:416
5724
  msgid "This list shows the top pages users first land on when visiting your website."
5725
  msgstr ""
5726
 
5727
+ #: languages/vue.php:419
5728
  msgid "Top Exit Pages"
5729
  msgstr ""
5730
 
5731
+ #: languages/vue.php:422
5732
  msgid "This list shows the top pages users exit your website from."
5733
  msgstr ""
5734
 
5735
+ #: languages/vue.php:425
5736
  msgid "Top Outbound Links"
5737
  msgstr ""
5738
 
5739
+ #: languages/vue.php:428
5740
  msgid "This list shows the top links clicked on your website that go to another website."
5741
  msgstr ""
5742
 
5743
+ #: languages/vue.php:431
5744
  msgid "Top Affiliate Links"
5745
  msgstr ""
5746
 
5747
+ #: languages/vue.php:434
5748
  msgid "This list shows the top affiliate links your visitors clicked on."
5749
  msgstr ""
5750
 
5751
+ #: languages/vue.php:437
5752
  msgid "Top Download Links"
5753
  msgstr ""
5754
 
5755
+ #: languages/vue.php:440
5756
  msgid "This list shows the download links your visitors clicked the most."
5757
  msgstr ""
5758
 
5759
+ #: languages/vue.php:446
5760
  msgid "Top Products"
5761
  msgstr ""
5762
 
5763
+ #: languages/vue.php:449
5764
  msgid "This list shows the top selling products on your website."
5765
  msgstr ""
5766
 
5767
+ #: languages/vue.php:452
5768
  msgid "Top Conversion Sources"
5769
  msgstr ""
5770
 
5771
+ #: languages/vue.php:455
5772
  msgid "This list shows the top referral websites in terms of product revenue."
5773
  msgstr ""
5774
 
5775
+ #: languages/vue.php:458
5776
  msgid "Total Add/Remove"
5777
  msgstr ""
5778
 
5779
+ #: languages/vue.php:461
5780
  msgid "Analytics"
5781
  msgstr ""
5782
 
5783
  #. Translators: Adds an arrow icon.
5784
+ #: languages/vue.php:465
5785
  msgid "View All Reports %s"
5786
  msgstr ""
5787
 
5788
+ #: languages/vue.php:468
5789
  msgid "You must connect with ExactMetrics before you can view reports."
5790
  msgstr ""
5791
 
5792
+ #: languages/vue.php:471
5793
  msgid "ExactMetrics makes it \"effortless\" for you to connect your site with Google Analytics and see reports right here in the WordPress dashboard."
5794
  msgstr ""
5795
 
5796
+ #: languages/vue.php:475
5797
  msgid "Launch Setup Wizard"
5798
  msgstr ""
5799
 
5800
+ #: languages/vue.php:478
5801
  msgid "Please ask your webmaster to connect ExactMetrics to Google Analytics."
5802
  msgstr ""
5803
 
5804
+ #: languages/vue.php:491
5805
  msgid "See Quick Links"
5806
  msgstr ""
5807
 
5808
+ #: languages/vue.php:494
5809
  msgid "Suggest a Feature"
5810
  msgstr ""
5811
 
5812
+ #: languages/vue.php:497
5813
  msgid "Join Our Community"
5814
  msgstr ""
5815
 
5816
+ #: languages/vue.php:500
5817
  msgid "Support & Docs"
5818
  msgstr ""
5819
 
5820
+ #: languages/vue.php:503
5821
  msgid "Upgrade to Pro &#187;"
5822
  msgstr ""
5823
 
5824
+ #: languages/vue.php:506
5825
  #: lite/includes/admin/reports/report-publisher.php:22
5826
  msgid "Publishers"
5827
  msgstr ""
5828
 
5829
+ #: languages/vue.php:510
5830
  #: lite/includes/admin/reports/report-ecommerce.php:22
5831
  msgid "eCommerce"
5832
  msgstr ""
5833
 
5834
+ #: languages/vue.php:513
5835
  msgid "Dimensions Report"
5836
  msgstr ""
5837
 
5838
+ #: languages/vue.php:516
5839
  #: lite/includes/admin/reports/report-forms.php:22
5840
  msgid "Forms"
5841
  msgstr ""
5842
 
5843
+ #: languages/vue.php:519
5844
  msgid "Real-Time"
5845
  msgstr ""
5846
 
5847
+ #: languages/vue.php:522
5848
  msgid "Site Speed Report"
5849
  msgstr ""
5850
 
5851
+ #: languages/vue.php:526
5852
  msgid "2020 Year in Review"
5853
  msgstr ""
5854
 
5855
+ #: languages/vue.php:530
5856
  msgid "Import Export"
5857
  msgstr ""
5858
 
5859
+ #: languages/vue.php:533
5860
  msgid "PrettyLinks Integration"
5861
  msgstr ""
5862
 
5863
+ #: languages/vue.php:539
5864
  msgid "Popular Posts Widget"
5865
  msgstr ""
5866
 
5867
+ #: languages/vue.php:542
5868
  msgid "Popular Products"
5869
  msgstr ""
5870
 
5871
+ #: languages/vue.php:548
5872
  msgid "Sub menu item for WooCommerce Analytics"
5873
  msgstr ""
5874
 
5875
+ #: languages/vue.php:556
5876
  msgid "Engagement"
5877
  msgstr ""
5878
 
5879
+ #: languages/vue.php:560
5880
  msgid "Publisher"
5881
  msgstr ""
5882
 
5883
+ #: languages/vue.php:564
5884
  msgid "Conversions"
5885
  msgstr ""
5886
 
5887
+ #: languages/vue.php:568
5888
  msgid "Advanced"
5889
  msgstr ""
5890
 
5891
+ #: languages/vue.php:572
5892
  msgid "URL Builder"
5893
  msgstr ""
5894
 
5895
  #. Translators: Adds a link to documentation.
5896
+ #: languages/vue.php:576
5897
  msgid "In order for the ExactMetrics Google AMP addon to work properly, please ask your webmaster to install the WordPress AMP plugin by Automattic. %1$sLearn More%2$s"
5898
  msgstr ""
5899
 
5900
  #. Translators: Adds link to activate/install plugin and documentation.
5901
+ #: languages/vue.php:580
5902
  msgid "In order for the ExactMetrics Google AMP addon to work properly, you need to install the WordPress AMP plugin by Automattic. %1$s%2$s Plugin%3$s | %4$sLearn More%5$s"
5903
  msgstr ""
5904
 
5905
  #. Translators: Adds a link to documentation.
5906
+ #: languages/vue.php:584
5907
  msgid "In order for the ExactMetrics Instant Articles addon to work properly, please ask your webmaster to install the Instant Articles for WP plugin by Automattic version 3.3.5 or newer. %1$sLearn More%2$s"
5908
  msgstr ""
5909
 
5910
  #. Translators: Adds link to activate/install plugin and documentation.
5911
+ #: languages/vue.php:588
5912
  msgid "In order for the ExactMetrics Instant Articles addon to work properly, you need to install the Instant Articles for WP plugin by Automattic version 3.3.5 or newer. %1$s%2$s Plugin%3$s | %4$sLearn More%5$s"
5913
  msgstr ""
5914
 
5915
+ #: languages/vue.php:591
5916
  msgid "Installing Addon"
5917
  msgstr ""
5918
 
5919
+ #: languages/vue.php:594
5920
  msgid "Activating Addon"
5921
  msgstr ""
5922
 
5923
+ #: languages/vue.php:597
5924
  msgid "Addon Activated"
5925
  msgstr ""
5926
 
5927
+ #: languages/vue.php:600
5928
  msgid "Loading report data"
5929
  msgstr ""
5930
 
5931
+ #: languages/vue.php:603
5932
  msgid "Please activate manually"
5933
  msgstr ""
5934
 
5935
  #. Translators: Adds the error status and status text.
5936
+ #: languages/vue.php:607
5937
  msgid "Error: %1$s, %2$s"
5938
  msgstr ""
5939
 
5940
+ #: languages/vue.php:610
5941
  msgid "Error Activating Addon"
5942
  msgstr ""
5943
 
5944
+ #: languages/vue.php:613
5945
  #: lite/includes/admin/wp-site-health.php:372
5946
  #: lite/includes/admin/wp-site-health.php:398
5947
  #: lite/includes/admin/wp-site-health.php:425
5948
  msgid "View Addons"
5949
  msgstr ""
5950
 
5951
+ #: languages/vue.php:616
5952
  msgid "Dismiss"
5953
  msgstr ""
5954
 
5955
+ #: languages/vue.php:619
5956
  msgid "Redirecting"
5957
  msgstr ""
5958
 
5959
+ #: languages/vue.php:622
5960
  msgid "Please wait"
5961
  msgstr ""
5962
 
5963
+ #: languages/vue.php:625
5964
  msgid "activate"
5965
  msgstr ""
5966
 
5967
+ #: languages/vue.php:628
5968
  msgid "install"
5969
  msgstr ""
5970
 
5971
+ #: languages/vue.php:631
5972
  msgid "Visit addons page"
5973
  msgstr ""
5974
 
5975
+ #: languages/vue.php:634
5976
  msgid "Report Unavailable"
5977
  msgstr ""
5978
 
5979
  #. Translators: Install/Activate the addon.
5980
+ #: languages/vue.php:638
5981
  msgid "%s Addon"
5982
  msgstr ""
5983
 
5984
+ #: languages/vue.php:641
5985
  msgid "Go Back To Reports"
5986
  msgstr ""
5987
 
5988
+ #: languages/vue.php:644
5989
  msgid "Enable Enhanced eCommerce"
5990
  msgstr ""
5991
 
5992
  #. Translators: Placeholders are replaced with the current step number out of the total number of steps.
5993
+ #: languages/vue.php:648
5994
  msgid "Step %1$s of %2$s"
5995
  msgstr ""
5996
 
5997
+ #: languages/vue.php:651
5998
  msgid "Go back"
5999
  msgstr ""
6000
 
6001
+ #: languages/vue.php:654
6002
  msgid "Welcome to ExactMetrics!"
6003
  msgstr ""
6004
 
6005
+ #: languages/vue.php:657
6006
  msgid "Let's get you set up."
6007
  msgstr ""
6008
 
6009
+ #: languages/vue.php:661
6010
  msgid "Save and Continue"
6011
  msgstr ""
6012
 
6013
+ #: languages/vue.php:664
6014
  msgid "Which category best describes your website?"
6015
  msgstr ""
6016
 
6017
+ #: languages/vue.php:667
6018
  msgid "We will recommend the optimal settings for ExactMetrics based on your choice."
6019
  msgstr ""
6020
 
6021
+ #: languages/vue.php:670
6022
  msgid "Business Website"
6023
  msgstr ""
6024
 
6025
  #. Translators: Make text bold.
6026
+ #: languages/vue.php:674
6027
  msgid "Publisher %1$s(Blog)%2$s"
6028
  msgstr ""
6029
 
6030
+ #: languages/vue.php:677
6031
  msgid "Ecommerce"
6032
  msgstr ""
6033
 
6034
+ #: languages/vue.php:680
6035
  msgid "Connect ExactMetrics to Your Website"
6036
  msgstr ""
6037
 
6038
+ #: languages/vue.php:683
6039
  msgid "ExactMetrics connects Google Analytics to WordPress and shows you stats that matter."
6040
  msgstr ""
6041
 
6042
+ #: languages/vue.php:688
6043
  msgid "Connect Google Analytics + WordPress"
6044
  msgstr ""
6045
 
6046
+ #: languages/vue.php:693
6047
  msgid "You will be taken to the ExactMetrics website where you'll need to connect your Analytics account."
6048
  msgstr ""
6049
 
6050
+ #: languages/vue.php:696
6051
  msgid "Whoops, something went wrong and we weren't able to connect to ExactMetrics. Please enter your Google UA code manually."
6052
  msgstr ""
6053
 
6054
+ #: languages/vue.php:699
6055
  msgid "Manually enter your UA code"
6056
  msgstr ""
6057
 
6058
+ #: languages/vue.php:702
6059
  msgid "Warning: If you use a manual UA code, you won't be able to use any of the reporting and some of the tracking features. Your UA code should look like UA-XXXXXX-XX where the X's are numbers."
6060
  msgstr ""
6061
 
6062
+ #: languages/vue.php:705
6063
  msgid "UA code can't be empty"
6064
  msgstr ""
6065
 
6066
+ #: languages/vue.php:708
6067
  msgid "Saving UA code..."
6068
  msgstr ""
6069
 
6070
+ #: languages/vue.php:711
6071
  msgid "ExactMetrics Recommends WPForms"
6072
  msgstr ""
6073
 
6074
+ #: languages/vue.php:714
6075
  msgid "Built by the folks behind ExactMetrics, WPForms is the most beginner friendly form plugin in the market."
6076
  msgstr ""
6077
 
6078
+ #: languages/vue.php:717
6079
  msgid "Used on over 4,000,000 websites!"
6080
  msgstr ""
6081
 
6082
+ #: languages/vue.php:720
6083
  msgid "WPForms allow you to create beautiful contact forms, subscription forms, payment forms, and other types of forms for your site in minutes, not hours!"
6084
  msgstr ""
6085
 
6086
+ #: languages/vue.php:723
6087
  msgid "Skip this Step"
6088
  msgstr ""
6089
 
6090
+ #: languages/vue.php:726
6091
  msgid "Continue & Install WPForms"
6092
  msgstr ""
6093
 
6094
+ #: languages/vue.php:729
6095
  msgid "Installing..."
6096
  msgstr ""
6097
 
6098
+ #: languages/vue.php:732
6099
  msgid "Recommended Settings"
6100
  msgstr ""
6101
 
6102
+ #: languages/vue.php:735
6103
  msgid "ExactMetrics recommends the following settings based on your configuration."
6104
  msgstr ""
6105
 
6106
+ #: languages/vue.php:738
6107
  msgid "Events Tracking"
6108
  msgstr ""
6109
 
6110
+ #: languages/vue.php:741
6111
  msgid "Must have for all click tracking on site."
6112
  msgstr ""
6113
 
6114
+ #: languages/vue.php:744
6115
  msgid "ExactMetrics uses an advanced system to automatically detect all outbound links, download links, affiliate links, telephone links, mail links, and more automatically. We do all the work for you so you don't have to write any code."
6116
  msgstr ""
6117
 
6118
+ #: languages/vue.php:748
6119
  msgid "Enhanced Link Attribution"
6120
  msgstr ""
6121
 
6122
+ #: languages/vue.php:751
6123
  msgid "Improves the accuracy of your In-Page Analytics."
6124
  msgstr ""
6125
 
6126
+ #: languages/vue.php:754
6127
  msgid "ExactMetrics will automatically help Google determine which links are unique and where they are on your site so that your In-Page Analytics reporting will be more accurate."
6128
  msgstr ""
6129
 
6130
+ #: languages/vue.php:757
6131
  msgid "Install Updates Automatically"
6132
  msgstr ""
6133
 
6134
+ #: languages/vue.php:760
6135
  msgid "Get the latest features, bug fixes, and security updates as they are released."
6136
  msgstr ""
6137
 
6138
+ #: languages/vue.php:763
6139
  msgid "To ensure you get the latest bug fixes and security updates and avoid needing to spend time logging into your WordPress site to update ExactMetrics, we offer the ability to automatically have ExactMetrics update itself."
6140
  msgstr ""
6141
 
6142
+ #: languages/vue.php:766
6143
  msgid "File Download Tracking"
6144
  msgstr ""
6145
 
6146
+ #: languages/vue.php:769
6147
  msgid "Helps you see file downloads data."
6148
  msgstr ""
6149
 
6150
+ #: languages/vue.php:772
6151
  msgid "ExactMetrics will automatically track downloads of common file types from links you have inserted onto your website. For example: want to know how many of your site's visitors have downloaded a PDF or other file you offer your visitors to download on your site? ExactMetrics makes this both easy, and code-free! You can customize the file types to track at any time from our settings panel."
6152
  msgstr ""
6153
 
6154
  #. Translators: Example path (/go/).
6155
+ #: languages/vue.php:776
6156
  msgid "Path (example: %s)"
6157
  msgstr ""
6158
 
6159
+ #: languages/vue.php:779
6160
  msgid "Path has to start with a / and have no spaces"
6161
  msgstr ""
6162
 
6163
  #. Translators: Example label (aff).
6164
+ #: languages/vue.php:783
6165
  msgid "Label (example: %s)"
6166
  msgstr ""
6167
 
6168
+ #: languages/vue.php:786
6169
  msgid "Label can't contain any spaces"
6170
  msgstr ""
6171
 
6172
+ #: languages/vue.php:789
6173
  msgid "Helps you increase affiliate revenue."
6174
  msgstr ""
6175
 
6176
+ #: languages/vue.php:792
6177
  msgid "ExactMetrics will automatically help you track affiliate links that use internal looking urls like example.com/go/ or example.com/refer/. You can add custom affiliate patterns on our settings panel when you finish the onboarding wizard."
6178
  msgstr ""
6179
 
6180
+ #: languages/vue.php:795
6181
  msgid "Affiliate Link Tracking"
6182
  msgstr ""
6183
 
6184
+ #: languages/vue.php:798
6185
  msgid "Who Can See Reports"
6186
  msgstr ""
6187
 
6188
+ #: languages/vue.php:801
6189
  msgid "These user roles will be able to access ExactMetrics' reports in the WordPress admin area."
6190
  msgstr ""
6191
 
6192
+ #: languages/vue.php:804
6193
  msgid "Users that have at least one of these roles will be able to view the reports, along with any user with the manage_options capability."
6194
  msgstr ""
6195
 
6196
+ #: languages/vue.php:807
6197
  msgid "Save and continue"
6198
  msgstr ""
6199
 
6200
+ #: languages/vue.php:810
6201
  msgid "Events Tracking is enabled the moment you set up ExactMetrics"
6202
  msgstr ""
6203
 
6204
+ #: languages/vue.php:813
6205
  msgid "Enhanced Link Attribution is enabled the moment you set up ExactMetrics"
6206
  msgstr ""
6207
 
6208
+ #: languages/vue.php:816
6209
  msgid "+ Add Role"
6210
  msgstr ""
6211
 
6212
  #. Translators: Placeholders are used for making text bold and adding a link.
6213
+ #: languages/vue.php:820
6214
  msgid "You're using %1$s%2$s Lite%3$s. To unlock more features consider %4$supgrading to Pro%5$s."
6215
  msgstr ""
6216
 
6217
+ #: languages/vue.php:823
6218
  #: lite/includes/admin/reports/report-dimensions.php:22
6219
  msgid "Dimensions"
6220
  msgstr ""
6221
 
6222
+ #: languages/vue.php:826
6223
  msgid "Site Speed"
6224
  msgstr ""
6225
 
6226
+ #: languages/vue.php:830
6227
  msgid "License Key"
6228
  msgstr ""
6229
 
6230
  #. Translators: Add link to retrieve license key from account.
6231
+ #: languages/vue.php:834
6232
  msgid "Add your ExactMetrics license key from the email receipt or account area. %1$sRetrieve your license key%2$s."
6233
  msgstr ""
6234
 
6235
+ #: languages/vue.php:838
6236
  msgid "Google Authentication"
6237
  msgstr ""
6238
 
6239
+ #: languages/vue.php:841
6240
  msgid "Miscellaneous"
6241
  msgstr ""
6242
 
6243
+ #: languages/vue.php:844
6244
  msgid "Hides plugin announcements and update details. This includes critical notices we use to inform about deprecations and important required configuration changes."
6245
  msgstr ""
6246
 
6247
+ #: languages/vue.php:847
6248
  msgid "Hide Announcements"
6249
  msgstr ""
6250
 
6251
+ #: languages/vue.php:851
6252
  msgid "You're using ExactMetrics Lite – no license needed. Enjoy!"
6253
  msgstr ""
6254
 
6255
+ #. Translators: Adds link to upgrade.
6256
+ #: languages/vue.php:856
6257
  msgid "To unlock more features consider %1$supgrading to PRO%2$s."
6258
  msgstr ""
6259
 
6260
+ #: languages/vue.php:861
6261
  msgid "Receive 50% off automatically applied at the checkout!"
6262
  msgstr ""
6263
 
6264
+ #: languages/vue.php:866
6265
  msgid "See all features"
6266
  msgstr ""
6267
 
6268
+ #: languages/vue.php:870
6269
  msgid "Setup Wizard"
6270
  msgstr ""
6271
 
6272
+ #: languages/vue.php:874
6273
  msgid "Use our configuration wizard to properly setup Google Analytics with WordPress (with just a few clicks)."
6274
  msgstr ""
6275
 
6276
+ #: languages/vue.php:878
6277
  msgid "Relaunch Setup Wizard"
6278
  msgstr ""
6279
 
6280
+ #: languages/vue.php:881
6281
  msgid "There was an issue retrieving the addons for this site. Please click on the button below the refresh the addons data."
6282
  msgstr ""
6283
 
6284
+ #: languages/vue.php:884
6285
  msgid "No addons found."
6286
  msgstr ""
6287
 
6288
+ #: languages/vue.php:887
6289
  msgid "Refresh Addons"
6290
  msgstr ""
6291
 
6292
  #. Translators: Adds a line break.
6293
+ #: languages/vue.php:894
6294
  msgid "Upgrade to Pro to unlock addons and other great features."
6295
  msgstr ""
6296
 
6297
+ #: languages/vue.php:897
6298
  msgid "As a valued ExactMetrics Lite user you receive 50% off, automaticaly applied at checkout!"
6299
  msgstr ""
6300
 
6301
+ #: languages/vue.php:900
6302
  msgid "Refreshing Addons"
6303
  msgstr ""
6304
 
6305
+ #: languages/vue.php:903
6306
  msgid "Get ExactMetrics Pro Today and Unlock all the Powerful Features"
6307
  msgstr ""
6308
 
6309
  #. Translators: Placeholders make the text green.
6310
+ #: languages/vue.php:907
6311
  msgid "Bonus: ExactMetrics Lite users get %1$s50%% off regular price%2$s, automatically applied at checkout."
6312
  msgstr ""
6313
 
6314
+ #: languages/vue.php:910
6315
  msgid "How to Connect to Google Analytics"
6316
  msgstr ""
6317
 
6318
+ #: languages/vue.php:913
6319
  msgid "After you install ExactMetrics, you’ll need to connect your WordPress site with your Google Analytics account. ExactMetrics makes the process easy, with no coding required."
6320
  msgstr ""
6321
 
6322
+ #: languages/vue.php:916
6323
  msgid "Guide and Checklist for Advanced Insights"
6324
  msgstr ""
6325
 
6326
+ #: languages/vue.php:919
6327
  msgid "Our goal is to make it as easy as possible for you to measure and track your stats so you can grow your business. This easy-to-follow guide and checklist will get you set up with ExactMetrics’ advanced tracking."
6328
  msgstr ""
6329
 
6330
+ #: languages/vue.php:922
6331
  msgid "GDPR Guide"
6332
  msgstr ""
6333
 
6334
+ #: languages/vue.php:925
6335
  msgid "Compliance with European data laws including GDPR can be confusing and time-consuming. In order to help ExactMetrics users comply with these laws, we’ve created an addon that automates a lot of the necessary configuration changes for you. "
6336
  msgstr ""
6337
 
6338
+ #: languages/vue.php:928
6339
  msgid "How to Install and Activate ExactMetrics Addons"
6340
  msgstr ""
6341
 
6342
+ #: languages/vue.php:931
6343
  msgid "The process for installing and activating addons is quick and easy after you install the ExactMetrics plugin. In this guide we’ll walk you through the process, step by step."
6344
  msgstr ""
6345
 
6346
+ #: languages/vue.php:934
6347
  msgid "Enabling eCommerce Tracking and Reports"
6348
  msgstr ""
6349
 
6350
+ #: languages/vue.php:937
6351
  msgid "Want to track your eCommerce sales data for your WooCommerce, MemberPress, or Easy Digital Downloads store with ExactMetrics? In this guide, we’ll show you how to enable eCommerce tracking in Google Analytics in just a few clicks."
6352
  msgstr ""
6353
 
6354
+ #: languages/vue.php:940
6355
  msgid "Read Documentation"
6356
  msgstr ""
6357
 
6358
  #. Translators: Makes the text bold.
6359
+ #: languages/vue.php:944
6360
  msgid "%1$sEnhanced eCommerce Tracking%2$s - 1-click Google Analyticks Enhanced Ecommerce trackin for WooCommerce, Easy Digital Download & MemberPress."
6361
  msgstr ""
6362
 
6363
  #. Translators: Makes the text bold.
6364
+ #: languages/vue.php:948
6365
  msgid "%1$sCustom Dimensions%2$s - Setup tracking for authors, tags, searches, custom post type, users, and other events with 1-click."
6366
  msgstr ""
6367
 
6368
+ #: languages/vue.php:957
6369
  msgid "One-click Complete eCommerce tracking"
6370
  msgstr ""
6371
 
6372
+ #: languages/vue.php:960
6373
  msgid "Complete eCommerce tracking for WooCommerce, Easy Digital Downloads and MemberPress stores with no code or settings required"
6374
  msgstr ""
6375
 
6376
+ #: languages/vue.php:963
6377
  msgid "Forms Tracking"
6378
  msgstr ""
6379
 
6380
+ #: languages/vue.php:966
6381
  msgid "One-click Form Events Tracking"
6382
  msgstr ""
6383
 
6384
+ #: languages/vue.php:969
6385
  msgid "WPForms, Ninja Forms, Contact Form 7, Gravity Forms and any other WordPress form plugin"
6386
  msgstr ""
6387
 
6388
+ #: languages/vue.php:972
6389
  msgid "WordPress Admin Area Reports"
6390
  msgstr ""
6391
 
6392
+ #: languages/vue.php:975
6393
  msgid "Standard Reports"
6394
  msgstr ""
6395
 
6396
+ #: languages/vue.php:978
6397
  msgid "Overview Reports for the last 30 days."
6398
  msgstr ""
6399
 
6400
+ #: languages/vue.php:982
6401
  msgid "Advanced Reports"
6402
  msgstr ""
6403
 
6404
+ #: languages/vue.php:985
6405
  msgid "Publisher, eCommerce, Search Console, Custom Dimensions, Forms and Real-Time with custom date period selection"
6406
  msgstr ""
6407
 
6408
+ #: languages/vue.php:988
6409
  msgid "Dashboard Widget"
6410
  msgstr ""
6411
 
6412
+ #: languages/vue.php:991
6413
  msgid "Basic Widget"
6414
  msgstr ""
6415
 
6416
+ #: languages/vue.php:994
6417
  msgid "Overview Report Synopsis"
6418
  msgstr ""
6419
 
6420
+ #: languages/vue.php:997
6421
  msgid "Advanced Dashboard Widget"
6422
  msgstr ""
6423
 
6424
+ #: languages/vue.php:1000
6425
  msgid "Includes the complete Overview report, Publisher reports and 6 different eCommerce reports"
6426
  msgstr ""
6427
 
6428
+ #: languages/vue.php:1003
6429
  msgid "Publisher Reports"
6430
  msgstr ""
6431
 
6432
+ #: languages/vue.php:1006
6433
  msgid "Advanced Publisher Reports & Tracking"
6434
  msgstr ""
6435
 
6436
+ #: languages/vue.php:1009
6437
  msgid "View Top Landing/Exit Pages, Top Links, Demographics & Interests data and more"
6438
  msgstr ""
6439
 
6440
+ #: languages/vue.php:1015
6441
  msgid "Email Summaries"
6442
  msgstr ""
6443
 
6444
+ #: languages/vue.php:1018
6445
  msgid "Included"
6446
  msgstr ""
6447
 
6448
+ #: languages/vue.php:1021
6449
  msgid "Get weekly traffic reports directly in your inbox."
6450
  msgstr ""
6451
 
6452
+ #: languages/vue.php:1027
6453
  msgid "Basic Options"
6454
  msgstr ""
6455
 
6456
+ #: languages/vue.php:1030
6457
  msgid "Order Popular Posts by comments or shares with 3 simple theme choices."
6458
  msgstr ""
6459
 
6460
+ #: languages/vue.php:1033
6461
  msgid "Dynamic Popular Posts & Popular Products"
6462
  msgstr ""
6463
 
6464
+ #: languages/vue.php:1036
6465
  msgid "Display Popular Posts based on your actual traffic data from Google Analytics and choose from over 20 advanced themes. Display Popular WooCommerce products using widgets or Gutenberg blocks."
6466
  msgstr ""
6467
 
6468
+ #: languages/vue.php:1039
6469
  msgid "Not Available"
6470
  msgstr ""
6471
 
6472
+ #: languages/vue.php:1042
6473
  msgid "Complete Custom Dimensions Tracking"
6474
  msgstr ""
6475
 
6476
+ #: languages/vue.php:1045
6477
  msgid "Track and measure by the Author, Post Type, Category, Tag, SEO Score, Focus Keyword, Logged-in User, User ID and Published Time of each post and page"
6478
  msgstr ""
6479
 
6480
+ #: languages/vue.php:1051
6481
  msgid "Limited Support"
6482
  msgstr ""
6483
 
6484
+ #: languages/vue.php:1054
6485
  msgid "Priority Support"
6486
  msgstr ""
6487
 
6488
+ #: languages/vue.php:1057
6489
  msgid "Get the most out of ExactMetrics by upgrading to Pro and unlocking all of the powerful features."
6490
  msgstr ""
6491
 
6492
+ #: languages/vue.php:1060
6493
  msgid "Feature"
6494
  msgstr ""
6495
 
6496
+ #: languages/vue.php:1063
6497
  msgid "Lite"
6498
  msgstr ""
6499
 
6500
+ #: languages/vue.php:1066
6501
  msgid "Pro"
6502
  msgstr ""
6503
 
6504
+ #: languages/vue.php:1069
6505
  msgid "Bonus: ExactMetrics Lite users get 50% off regular price, automatically applied at checkout."
6506
  msgstr ""
6507
 
6508
+ #: languages/vue.php:1075
6509
  msgid "Universal Tracking"
6510
  msgstr ""
6511
 
6512
+ #: languages/vue.php:1078
6513
  msgid "Custom Google Analytics Link Tracking"
6514
  msgstr ""
6515
 
6516
+ #: languages/vue.php:1081
6517
  msgid "Standard Tracking"
6518
  msgstr ""
6519
 
6520
+ #: languages/vue.php:1084
6521
  msgid "Advanced Tracking"
6522
  msgstr ""
6523
 
6524
+ #: languages/vue.php:1087
6525
  msgid "Automatic tracking of outbound/external, file download, affiliate, email and telephone links and our simple Custom Link Attribution markup for custom link tracking"
6526
  msgstr ""
6527
 
6528
+ #: languages/vue.php:1090
6529
  msgid "Scroll tracking as well as tracking on Google Accelerated Mobile Pages (AMP) and Facebook Instant Articles for Publishers"
6530
  msgstr ""
6531
 
6532
+ #: languages/vue.php:1093
6533
  msgid "No-Code-Needed Tracking Features"
6534
  msgstr ""
6535
 
6536
+ #: languages/vue.php:1096
6537
  msgid "Basic Tracking Options"
6538
  msgstr ""
6539
 
6540
+ #: languages/vue.php:1099
6541
  msgid "Cross-domain tracking, anonymization of IP addresses, and automatic exclusion of administrators from tracking"
6542
  msgstr ""
6543
 
6544
+ #: languages/vue.php:1102
6545
  msgid "Advanced Tracking Options"
6546
  msgstr ""
6547
 
6548
+ #: languages/vue.php:1105
6549
  msgid "Easily integrate Google Optimize as well as adjust recordings of site speed and the sample rate of visitors"
6550
  msgstr ""
6551
 
6552
+ #: languages/vue.php:1108
6553
  msgid "Inbox"
6554
  msgstr ""
6555
 
6556
+ #: languages/vue.php:1111
6557
  msgid "Back to Inbox"
6558
  msgstr ""
6559
 
6560
+ #: languages/vue.php:1114
6561
  msgid "View Dismissed"
6562
  msgstr ""
6563
 
6564
+ #: languages/vue.php:1117
6565
  msgid "Notifications"
6566
  msgstr ""
6567
 
6568
+ #: languages/vue.php:1120
6569
  msgid "Dismiss All"
6570
  msgstr ""
6571
 
6572
+ #: languages/vue.php:1123
6573
  msgid "Dismissed"
6574
  msgstr ""
6575
 
6576
+ #: languages/vue.php:1126
6577
  msgid "No Notifications"
6578
  msgstr ""
6579
 
6580
  #. Translators: Error status and error text.
6581
+ #: languages/vue.php:1130
6582
  msgid "Can't load settings. Error: %1$s, %2$s"
6583
  msgstr ""
6584
 
6585
+ #: languages/vue.php:1134
6586
  msgid "You appear to be offline."
6587
  msgstr ""
6588
 
6589
  #. Translators: Error status and error text.
6590
+ #: languages/vue.php:1138
6591
  msgid "Can't save settings. Error: %1$s, %2$s"
6592
  msgstr ""
6593
 
6594
+ #: languages/vue.php:1141
6595
  msgid "Network error encountered. Settings not saved."
6596
  msgstr ""
6597
 
6598
+ #: languages/vue.php:1144
6599
  msgid "Show in widget mode"
6600
  msgstr ""
6601
 
6602
+ #: languages/vue.php:1147
6603
  msgid "Show in full-width mode"
6604
  msgstr ""
6605
 
6606
+ #: languages/vue.php:1150
6607
  msgid "Show Overview Reports"
6608
  msgstr ""
6609
 
6610
+ #: languages/vue.php:1153
6611
  msgid "Show Publishers Reports"
6612
  msgstr ""
6613
 
6614
+ #: languages/vue.php:1156
6615
  msgid "Show eCommerce Reports"
6616
  msgstr ""
6617
 
6618
+ #: languages/vue.php:1159
6619
  msgid "Settings Menu"
6620
  msgstr ""
6621
 
6622
+ #: languages/vue.php:1162
6623
  msgid "Available in PRO version"
6624
  msgstr ""
6625
 
6626
+ #: languages/vue.php:1165
6627
  msgid "See All Reports"
6628
  msgstr ""
6629
 
6630
+ #: languages/vue.php:1168
6631
  msgid "Go to the Analytics Dashboard"
6632
  msgstr ""
6633
 
6634
+ #: languages/vue.php:1183
6635
  msgid "Cart Funnel"
6636
  msgstr ""
6637
 
6638
+ #: languages/vue.php:1186
6639
  msgid "Customer Insights"
6640
  msgstr ""
6641
 
6642
+ #: languages/vue.php:1189
6643
  msgid "Campaign Measurement"
6644
  msgstr ""
6645
 
6646
+ #: languages/vue.php:1192
6647
  msgid "Customer Profiles"
6648
  msgstr ""
6649
 
6650
+ #: languages/vue.php:1195
6651
  msgid "See all the critical eCommerce data you need at a glance: your conversion rate, transactions, revenue, and average order value, and more."
6652
  msgstr ""
6653
 
6654
+ #: languages/vue.php:1198
6655
  msgid "Truly Understand Your%1$s Customers With %2$sExactMetrics%3$s"
6656
  msgstr ""
6657
 
6658
+ #: languages/vue.php:1201
6659
  msgid "You never truly understand your customers until you used Enhanced %1$s eCommerce from ExactMetrics!"
6660
  msgstr ""
6661
 
6662
+ #: languages/vue.php:1204
6663
  msgid "Track all-new metrics!"
6664
  msgstr ""
6665
 
6666
+ #: languages/vue.php:1207
6667
  msgid "Get stats WooCommerce doesn’t give you like: Conversion Sources, Avg. Order Value, Revenue per Source, Total Add to Carts & More!"
6668
  msgstr ""
6669
 
6670
+ #: languages/vue.php:1210
6671
  msgid "FEATURES"
6672
  msgstr ""
6673
 
6674
+ #: languages/vue.php:1213
6675
  msgid "Get The Unique Metrics Neccessary for Growth"
6676
  msgstr ""
6677
 
6678
+ #: languages/vue.php:1216
6679
  msgid "See all the critical eCommerce data you need at a glance: your conversion rate, transactions, %1$srevenue, and average order value, and more."
6680
  msgstr ""
6681
 
6682
+ #: languages/vue.php:1219
6683
  msgid "Get Answers to the important questions %1$syou should know."
6684
  msgstr ""
6685
 
6686
+ #: languages/vue.php:1222
6687
  msgid "Did the login/registration step of the checkout put users off?"
6688
  msgstr ""
6689
 
6690
+ #: languages/vue.php:1225
6691
  msgid "Which ad campaign is driving the most revenue?"
6692
  msgstr ""
6693
 
6694
+ #: languages/vue.php:1228
6695
  msgid "Who is my typical customer?"
6696
  msgstr ""
6697
 
6698
+ #: languages/vue.php:1231
6699
  msgid "Level-up Your eCommerce store with %1$sExactMetrics + WooCommerce!%1$s"
6700
  msgstr ""
6701
 
6702
  #. Translators: Error status and error text.
6703
+ #: languages/vue.php:1235
6704
  msgid "Can't deactivate the license. Error: %1$s, %2$s"
6705
  msgstr ""
6706
 
6707
  #. Translators: Error status and error text.
6708
+ #: languages/vue.php:1239
6709
  msgid "Can't upgrade to PRO please try again. Error: %1$s, %2$s"
6710
  msgstr ""
6711
 
6712
  #. Translators: Error status and error text.
6713
+ #: languages/vue.php:1243
6714
  msgid "Can't load license details. Error: %1$s, %2$s"
6715
  msgstr ""
6716
 
6717
+ #: languages/vue.php:1246
6718
  msgid "Error loading license details"
6719
  msgstr ""
6720
 
6721
  #. Translators: Error status and error text.
6722
+ #: languages/vue.php:1250
6723
  msgid "Can't verify the license. Error: %1$s, %2$s"
6724
  msgstr ""
6725
 
6726
  #. Translators: Error status and error text.
6727
+ #: languages/vue.php:1254
6728
  msgid "Can't validate the license. Error: %1$s, %2$s"
6729
  msgstr ""
6730
 
6731
+ #: languages/vue.php:1258
6732
  msgid "Reset to default"
6733
  msgstr ""
6734
 
6735
+ #: languages/vue.php:1261
6736
  msgid "The value entered does not match the required format"
6737
  msgstr ""
6738
 
6739
+ #: languages/vue.php:1264
6740
  msgid "Check out the newly added classic mode"
6741
  msgstr ""
6742
 
6743
  #. Translators: Placeholder adds a line break.
6744
+ #: languages/vue.php:1268
6745
  msgid "You can customize your %sdate range only in the PRO version."
6746
  msgstr ""
6747
 
6748
+ #: languages/vue.php:1271
6749
  msgid "Help Us Improve"
6750
  msgstr ""
6751
 
6752
+ #: languages/vue.php:1274
6753
  msgid "Help us better understand our users and their website needs."
6754
  msgstr ""
6755
 
6756
  #. Translators: Adds a link to the documentation.
6757
+ #: languages/vue.php:1278
6758
  msgid "If enabled ExactMetrics will send some information about your WordPress site like what plugins and themes you use and which ExactMetrics settings you use to us so that we can improve our product. For a complete list of what we send and what we use it for, %1$svisit our website.%2$s"
6759
  msgstr ""
6760
 
6761
  #. Translators: The name of the field that is throwing a validation error.
6762
+ #: languages/vue.php:1282
6763
  msgid "%s can't be empty."
6764
  msgstr ""
6765
 
6766
+ #: languages/vue.php:1285
6767
  msgid "Duplicate values are not allowed."
6768
  msgstr ""
6769
 
6770
+ #: languages/vue.php:1288
6771
  msgid "You can add maximum 5 items."
6772
  msgstr ""
6773
 
6774
+ #: languages/vue.php:1291
6775
  msgid "At least 0 item required."
6776
  msgstr ""
6777
 
6778
+ #: languages/vue.php:1294
6779
  msgid "Add Another Link Path"
6780
  msgstr ""
6781
 
6782
+ #: languages/vue.php:1297
6783
  msgid "Remove row"
6784
  msgstr ""
6785
 
6786
+ #: languages/vue.php:1300
6787
  msgid "Sessions"
6788
  msgstr ""
6789
 
6790
  #. Translators: Line break.
6791
+ #: languages/vue.php:1304
6792
  msgid "Unique %s Sessions"
6793
  msgstr ""
6794
 
6795
+ #: languages/vue.php:1307
6796
  msgid "Pageviews"
6797
  msgstr ""
6798
 
6799
  #. Translators: Line break.
6800
+ #: languages/vue.php:1311
6801
  msgid "Unique %s Pageviews"
6802
  msgstr ""
6803
 
6804
+ #: languages/vue.php:1314
6805
  msgid "A session is the browsing session of a single user to your site."
6806
  msgstr ""
6807
 
6808
+ #: languages/vue.php:1317
6809
  msgid "A pageview is defined as a view of a page on your site that is being tracked by the Analytics tracking code. Each refresh of a page is also a new pageview."
6810
  msgstr ""
6811
 
6812
+ #: languages/vue.php:1320
6813
  msgid "Total duration of all sessions (in seconds) / number of sessions."
6814
  msgstr ""
6815
 
6816
+ #: languages/vue.php:1323
6817
  msgid "Percentage of single page visits (or web sessions). It is the number of visits in which a person leaves your website from the landing page without browsing any further."
6818
  msgstr ""
6819
 
6820
+ #: languages/vue.php:1326
6821
  msgid "The number of distinct tracked users"
6822
  msgstr ""
6823
 
6824
+ #: languages/vue.php:1329
6825
  msgid "Avg. Session Duration"
6826
  msgstr ""
6827
 
6828
+ #: languages/vue.php:1335
 
 
 
 
6829
  msgid "Total Users"
6830
  msgstr ""
6831
 
6832
+ #: languages/vue.php:1338
6833
  msgid "No options available"
6834
  msgstr ""
6835
 
6836
  #. Translators: Placeholders make the text highlighted.
6837
+ #: languages/vue.php:1342
6838
  msgid "%1$sNeed%2$s to Grow FASTER??"
6839
  msgstr ""
6840
 
6841
+ #: languages/vue.php:1345
6842
  msgid "Get additional, actionable insights by going Pro."
6843
  msgstr ""
6844
 
6845
+ #: languages/vue.php:1348
6846
  msgid "Skip"
6847
  msgstr ""
6848
 
6849
+ #: languages/vue.php:1351
6850
  msgid "See All Features"
6851
  msgstr ""
6852
 
6853
+ #: languages/vue.php:1354
6854
  msgid "Upgrade to Pro to get the complete ExactMetrics experience including 1 click tracking integrations for your favorite WordPress plugins and insightful reports backed by our legendary support team."
6855
  msgstr ""
6856
 
6857
+ #: languages/vue.php:1357
6858
  msgid "Our Pro plan includes:"
6859
  msgstr ""
6860
 
6861
  #. Translators: Error status and error text.
6862
+ #: languages/vue.php:1361
6863
  msgid "Can't load errors. Error: %1$s, %2$s"
6864
  msgstr ""
6865
 
6866
+ #: languages/vue.php:1364
6867
  msgid "Real-Time Report"
6868
  msgstr ""
6869
 
6870
+ #: languages/vue.php:1367
6871
  msgid "Track the results of your marketing efforts and product launches as-it-happens right from your WordPress site. The Real-Time report allows you to view your traffic sources and visitor's activity when you need it."
6872
  msgstr ""
6873
 
6874
  #. Translators: add link to blog.
6875
+ #: languages/vue.php:1371
6876
  msgid "To comply with Google's API policies we've had to remove the real time report from the lite version. You can read about this decision and why it was made in %1$sthis blog post%2$s. To access the real time report in the WordPress backend, you will need to upgrade to Pro."
6877
  msgstr ""
6878
 
6879
+ #: languages/vue.php:1375
6880
  msgid "Here's what you get:"
6881
  msgstr ""
6882
 
6883
+ #: languages/vue.php:1378
6884
  msgid "See Your Active Visitors and Track Their Behaviour to Optimize"
6885
  msgstr ""
6886
 
6887
+ #: languages/vue.php:1381
6888
  msgid "See Your Top Pages Immediately After Making Changes"
6889
  msgstr ""
6890
 
6891
+ #: languages/vue.php:1384
6892
  msgid "See Your Top Referral Sources and Adapt Faster"
6893
  msgstr ""
6894
 
6895
+ #: languages/vue.php:1387
6896
  msgid "See Your Traffic Demographics"
6897
  msgstr ""
6898
 
6899
+ #: languages/vue.php:1390
6900
  msgid "Get Fresh Report Data Every 60 Seconds"
6901
  msgstr ""
6902
 
6903
+ #: languages/vue.php:1393
6904
  msgid "See Where Your Visitors are Connecting From (country & city)"
6905
  msgstr ""
6906
 
6907
+ #: languages/vue.php:1396
6908
  msgid "Forms Report"
6909
  msgstr ""
6910
 
6911
+ #: languages/vue.php:1399
6912
  msgid "See Reports for Any Contact Form Plugin or Sign-up Form"
6913
  msgstr ""
6914
 
6915
+ #: languages/vue.php:1402
6916
  msgid "See Your Top Converting Forms and Optimize"
6917
  msgstr ""
6918
 
6919
+ #: languages/vue.php:1405
6920
  msgid "See Your Forms Impressions Count to Find the Best Placement"
6921
  msgstr ""
6922
 
6923
+ #: languages/vue.php:1408
6924
  msgid "Awesome, You're All Set!"
6925
  msgstr ""
6926
 
6927
+ #: languages/vue.php:1411
6928
  msgid "ExactMetrics is all set up and ready to use. We've verified that the tracking code is deployed properly and collecting data."
6929
  msgstr ""
6930
 
6931
  #. Translators: Make text bold.
6932
+ #: languages/vue.php:1415
6933
  msgid "%1$sPlease Note:%2$s While Google Analytics is properly setup and tracking everything, it does not send the data back to WordPress immediately. Depending on the size of your website, it can take between a few hours to 24 hours for reports to populate."
6934
  msgstr ""
6935
 
6936
  #. Translators: Add link to blog.
6937
  #. Translators: Link to our blog.
6938
+ #: languages/vue.php:1419
6939
+ #: languages/vue.php:3620
6940
  msgid "%1$sSubscribe to the ExactMetrics blog%2$s for tips on how to get more traffic and grow your business."
6941
  msgstr ""
6942
 
6943
+ #: languages/vue.php:1422
6944
  msgid "Finish Setup & Exit Wizard"
6945
  msgstr ""
6946
 
6947
+ #: languages/vue.php:1425
6948
  msgid "Google Analytics"
6949
  msgstr ""
6950
 
6951
+ #: languages/vue.php:1428
6952
  msgid "Subscribe"
6953
  msgstr ""
6954
 
6955
+ #: languages/vue.php:1431
6956
  msgid "Checking your website..."
6957
  msgstr ""
6958
 
6959
+ #: languages/vue.php:1434
6960
  msgid "Recommended Addons"
6961
  msgstr ""
6962
 
6963
  #. Translators: Add a link to upgrade and make the text green.
6964
+ #: languages/vue.php:1438
6965
  msgid "To unlock more features consider %1$supgrading to PRO%2$s.%3$s As a valued ExactMetrics Lite user you %4$sreceive 50%% off%5$s, automatically applied at checkout!"
6966
  msgstr ""
6967
 
6968
+ #: languages/vue.php:1441
6969
  msgid "Upgrade to PRO Now"
6970
  msgstr ""
6971
 
6972
+ #: languages/vue.php:1444
6973
  msgid "See who’s viewing and submitting your forms, so you can increase your conversion rate."
6974
  msgstr ""
6975
 
6976
+ #: languages/vue.php:1447
6977
  msgid "See All Your Important Store Metrics in One Place."
6978
  msgstr ""
6979
 
6980
+ #: languages/vue.php:1450
6981
  msgid "... and more:"
6982
  msgstr ""
6983
 
6984
+ #: languages/vue.php:1453
6985
  msgid "Dimensions- Track authors, categories, trags, searches, users and more."
6986
  msgstr ""
6987
 
6988
+ #: languages/vue.php:1456
6989
  msgid "EU Compliance- Improve compliance with GDPR and other privacy regulations."
6990
  msgstr ""
6991
 
6992
+ #: languages/vue.php:1459
6993
  msgid "AMP- ExactMetrics Google AMP Addon enables accurate tracking of all mobile visitors to your AMP-enabled pages."
6994
  msgstr ""
6995
 
6996
+ #: languages/vue.php:1462
6997
  msgid "Facebook Instant Articles- Integrate Google Analytics and Facebook Instant Articles with just one click."
6998
  msgstr ""
6999
 
7000
+ #: languages/vue.php:1465
7001
  msgid "eCommerce- Sales tracking for your WooCommerce, Easy Digital Downloads, LifterLMS or MemberPress stores."
7002
  msgstr ""
7003
 
7004
+ #: languages/vue.php:1468
7005
  msgid "Google Optimize- Easily enable Google Optimize on your WordPress site."
7006
  msgstr ""
7007
 
7008
+ #: languages/vue.php:1471
7009
  msgid "Forms- Enable tracking of your form views, submissions and conversion rates."
7010
  msgstr ""
7011
 
7012
+ #: languages/vue.php:1474
7013
  msgid "Ads- See who’s clicking on your Google Adsense banner ads."
7014
  msgstr ""
7015
 
7016
+ #: languages/vue.php:1477
7017
  msgid "Hello and Welcome to ExactMetrics, the Best Google Analytics Plugin for WordPress."
7018
  msgstr ""
7019
 
7020
+ #: languages/vue.php:1480
7021
  msgid "Ready to take your website to the next level? ExactMetrics gives you the accurate insights you need to make data-driven decisions to grow your traffic and conversions faster than ever before. Now you can easily enable advanced tracking on your website without having to know any code."
7022
  msgstr ""
7023
 
7024
+ #: languages/vue.php:1483
7025
  msgid "The ExactMetrics Team"
7026
  msgstr ""
7027
 
7028
+ #: languages/vue.php:1486
7029
  msgid "Custom Dimensions Report"
7030
  msgstr ""
7031
 
7032
+ #: languages/vue.php:1489
7033
  msgid "Unlock the Dimensions Report and decide what data is important using your own custom tracking parameters"
7034
  msgstr ""
7035
 
7036
+ #: languages/vue.php:1492
7037
  msgid "The Dimensions report allows you to easily see what's working right inside your WordPress dashboard."
7038
  msgstr ""
7039
 
7040
+ #: languages/vue.php:1495
7041
  msgid "Author tracking to see which author’s posts generate the most traffic"
7042
  msgstr ""
7043
 
7044
+ #: languages/vue.php:1498
7045
  msgid "Post Type tracking to see which WordPress post types perform better"
7046
  msgstr ""
7047
 
7048
+ #: languages/vue.php:1501
7049
  msgid "Category tracking to see which sections of your sites are the most popular"
7050
  msgstr ""
7051
 
7052
+ #: languages/vue.php:1504
7053
  msgid "SEO score tracking to see which blog SEO scores are the most popular"
7054
  msgstr ""
7055
 
7056
+ #: languages/vue.php:1507
7057
  msgid "Focus Keyword tracking to see which of your content is doing well in search engines."
7058
  msgstr ""
7059
 
7060
+ #: languages/vue.php:1510
7061
  msgid "Tag tracking to determine which topics are the most engaging to for your website visitors."
7062
  msgstr ""
7063
 
7064
  #. Translators: add link to blog.
7065
+ #: languages/vue.php:1514
7066
  msgid "One of the factors that help deliver an outstanding user experience is having a website that loads quickly. With the Site Speed report you'll be able to check your site's performance directly from your ExactMetrics dashboard."
7067
  msgstr ""
7068
 
7069
+ #: languages/vue.php:1517
7070
  msgid "See Your Homepage's Overall Performance Score"
7071
  msgstr ""
7072
 
7073
+ #: languages/vue.php:1520
7074
  msgid "Run an Audit on Your Homepage and See Your Server Response Time"
7075
  msgstr ""
7076
 
7077
+ #: languages/vue.php:1523
7078
  msgid "Learn How Long It Takes for Your Viewers to Interact With Your Site"
7079
  msgstr ""
7080
 
7081
+ #: languages/vue.php:1526
7082
  msgid "Learn How to Improve the Core Metrics that Google Uses to Rank Your Site"
7083
  msgstr ""
7084
 
7085
+ #: languages/vue.php:1529
7086
  msgid "Hide dashboard widget"
7087
  msgstr ""
7088
 
7089
+ #: languages/vue.php:1532
7090
  msgid "Are you sure you want to hide the ExactMetrics Dashboard Widget? "
7091
  msgstr ""
7092
 
7093
+ #: languages/vue.php:1535
7094
  msgid "Yes, hide it!"
7095
  msgstr ""
7096
 
7097
+ #: languages/vue.php:1538
7098
  msgid "No, cancel!"
7099
  msgstr ""
7100
 
7101
+ #: languages/vue.php:1541
7102
  msgid "ExactMetrics Widget Hidden"
7103
  msgstr ""
7104
 
7105
+ #: languages/vue.php:1544
7106
  msgid "You can re-enable the ExactMetrics widget at any time using the \"Screen Options\" menu on the top right of this page"
7107
  msgstr ""
7108
 
7109
  #. Translators: Error status and error text.
7110
+ #: languages/vue.php:1548
7111
  msgid "Can't deauthenticate. Error: %1$s, %2$s"
7112
  msgstr ""
7113
 
7114
  #. Translators: Error status and error text.
7115
+ #: languages/vue.php:1552
7116
  msgid "Can't load authentication details. Error: %1$s, %2$s"
7117
  msgstr ""
7118
 
7119
+ #: languages/vue.php:1555
7120
  msgid "You appear to be offline. Settings not saved."
7121
  msgstr ""
7122
 
7123
  #. Translators: Error status and error text.
7124
+ #: languages/vue.php:1559
7125
  msgid "Can't authenticate. Error: %1$s, %2$s"
7126
  msgstr ""
7127
 
7128
  #. Translators: Error status and error text.
7129
+ #: languages/vue.php:1563
7130
  msgid "Can't reauthenticate. Error: %1$s, %2$s"
7131
  msgstr ""
7132
 
7133
  #. Translators: Error status and error text.
7134
+ #: languages/vue.php:1567
7135
  msgid "Can't verify credentials. Error: %1$s, %2$s"
7136
  msgstr ""
7137
 
7138
+ #: languages/vue.php:1570
7139
  msgid "Still Calculating..."
7140
  msgstr ""
7141
 
7142
+ #: languages/vue.php:1573
7143
  msgid "Your 2020 Year in Review is still calculating. Please check back later to see how your website performed last year."
7144
  msgstr ""
7145
 
7146
+ #: languages/vue.php:1576
7147
  msgid "Back to Overview Report"
7148
  msgstr ""
7149
 
7150
+ #: languages/vue.php:1579
7151
  msgid "Your 2020 Analytics Report"
7152
  msgstr ""
7153
 
7154
+ #: languages/vue.php:1582
7155
  msgid "See how your website performed this year and find tips along the way to help grow even more in 2021!"
7156
  msgstr ""
7157
 
7158
+ #: languages/vue.php:1585
7159
  msgid "Audience"
7160
  msgstr ""
7161
 
7162
+ #: languages/vue.php:1588
7163
  msgid "Congrats"
7164
  msgstr ""
7165
 
7166
+ #: languages/vue.php:1591
7167
  msgid "Your website was quite popular this year! "
7168
  msgstr ""
7169
 
7170
+ #: languages/vue.php:1594
7171
  msgid "You had "
7172
  msgstr ""
7173
 
7174
+ #: languages/vue.php:1597
7175
  msgid " visitors!"
7176
  msgstr ""
7177
 
7178
+ #: languages/vue.php:1600
7179
  msgid " visitors"
7180
  msgstr ""
7181
 
7182
+ #: languages/vue.php:1603
7183
  msgid "Total Visitors"
7184
  msgstr ""
7185
 
7186
+ #: languages/vue.php:1606
7187
  msgid "Total Sessions"
7188
  msgstr ""
7189
 
7190
+ #: languages/vue.php:1609
7191
  msgid "Visitors by Month"
7192
  msgstr ""
7193
 
7194
+ #: languages/vue.php:1612
7195
  msgid "January 1, 2020 - December 31, 2020"
7196
  msgstr ""
7197
 
7198
+ #: languages/vue.php:1615
7199
  msgid "A Tip for 2021"
7200
  msgstr ""
7201
 
7202
+ #: languages/vue.php:1619
7203
  msgid "Demographics"
7204
  msgstr ""
7205
 
7206
+ #: languages/vue.php:1622
7207
  msgid "#1"
7208
  msgstr ""
7209
 
7210
+ #: languages/vue.php:1625
7211
  msgid "You Top 5 Countries"
7212
  msgstr ""
7213
 
7214
+ #: languages/vue.php:1628
7215
  msgid "Let’s get to know your visitors a little better, shall we?"
7216
  msgstr ""
7217
 
7218
+ #: languages/vue.php:1631
7219
  msgid "Gender"
7220
  msgstr ""
7221
 
7222
+ #: languages/vue.php:1634
7223
  msgid "Female"
7224
  msgstr ""
7225
 
7226
+ #: languages/vue.php:1637
7227
  msgid "Women"
7228
  msgstr ""
7229
 
7230
+ #: languages/vue.php:1640
7231
  msgid "Male"
7232
  msgstr ""
7233
 
7234
+ #: languages/vue.php:1643
7235
  msgid "Average Age"
7236
  msgstr ""
7237
 
7238
+ #: languages/vue.php:1646
7239
  msgid "Behavior"
7240
  msgstr ""
7241
 
7242
+ #: languages/vue.php:1649
7243
  msgid "Your Top 5 Pages"
7244
  msgstr ""
7245
 
7246
+ #: languages/vue.php:1652
7247
  msgid "Time Spent on Site"
7248
  msgstr ""
7249
 
7250
+ #: languages/vue.php:1655
7251
  msgid "minutes"
7252
  msgstr ""
7253
 
7254
+ #: languages/vue.php:1658
7255
  msgid "Device Type"
7256
  msgstr ""
7257
 
7258
+ #: languages/vue.php:1661
7259
  msgid "A Tip For 2021"
7260
  msgstr ""
7261
 
7262
+ #: languages/vue.php:1664
7263
  msgid "Are you looking for a way to track your landing pages and see which one gets the most conversions on your website?"
7264
  msgstr ""
7265
 
7266
+ #: languages/vue.php:1667
7267
  msgid "Read - How to Track Google Analytics Landing Page Conversions"
7268
  msgstr ""
7269
 
7270
+ #: languages/vue.php:1670
7271
  msgid "So, where did all of these visitors come from?"
7272
  msgstr ""
7273
 
7274
+ #: languages/vue.php:1673
7275
  msgid "Clicks"
7276
  msgstr ""
7277
 
7278
+ #: languages/vue.php:1676
7279
  msgid "Your Top 5 Keywords"
7280
  msgstr ""
7281
 
7282
+ #: languages/vue.php:1679
7283
  msgid "What keywords visitors searched for to find your site"
7284
  msgstr ""
7285
 
7286
+ #: languages/vue.php:1682
7287
  msgid "Your Top 5 Referrals"
7288
  msgstr ""
7289
 
7290
+ #: languages/vue.php:1685
7291
  msgid "The websites that link back to your website"
7292
  msgstr ""
7293
 
7294
+ #: languages/vue.php:1688
7295
  msgid "Opportunity"
7296
  msgstr ""
7297
 
7298
+ #: languages/vue.php:1691
7299
  msgid "Learn how to boost your SEO rankings using ExactMetrics so more visitors reach your articles and increase engagement."
7300
  msgstr ""
7301
 
7302
+ #: languages/vue.php:1694
7303
  msgid "Read - 5 Ways to Skyrocket Your SEO Rankings with Google Analytics"
7304
  msgstr ""
7305
 
7306
+ #: languages/vue.php:1697
7307
  msgid "Thank you for using ExactMetrics!"
7308
  msgstr ""
7309
 
7310
+ #: languages/vue.php:1700
7311
  msgid "We’re grateful for your continued support. If there’s anything we can do to help you grow your business, please don’t hesitate to contact our team."
7312
  msgstr ""
7313
 
7314
+ #: languages/vue.php:1703
7315
  msgid "Here's to an amazing 2021!"
7316
  msgstr ""
7317
 
7318
+ #: languages/vue.php:1706
7319
  msgid "Enjoying ExactMetrics"
7320
  msgstr ""
7321
 
7322
+ #: languages/vue.php:1709
7323
  msgid "Leave a five star review!"
7324
  msgstr ""
7325
 
7326
+ #: languages/vue.php:1712
7327
  msgid "Syed Balkhi"
7328
  msgstr ""
7329
 
7330
+ #: languages/vue.php:1715
7331
  msgid "Chris Christoff"
7332
  msgstr ""
7333
 
7334
+ #: languages/vue.php:1718
7335
  msgid "Write Review"
7336
  msgstr ""
7337
 
7338
+ #: languages/vue.php:1721
7339
  msgid "Did you know over 10 million websites use our plugins?"
7340
  msgstr ""
7341
 
7342
+ #: languages/vue.php:1724
7343
  msgid "Try our other popular WordPress plugins to grow your website in 2021."
7344
  msgstr ""
7345
 
7346
+ #: languages/vue.php:1727
7347
  msgid "Join our Communities!"
7348
  msgstr ""
7349
 
7350
+ #: languages/vue.php:1730
7351
  msgid "Become a WordPress expert in 2021. Join our amazing communities and take your website to the next level."
7352
  msgstr ""
7353
 
7354
+ #: languages/vue.php:1733
7355
  msgid "Facebook Group"
7356
  msgstr ""
7357
 
7358
+ #: languages/vue.php:1736
7359
  msgid "Join our team of WordPress experts and other motivated website owners in the WPBeginner Engage Facebook Group."
7360
  msgstr ""
7361
 
7362
+ #: languages/vue.php:1739
7363
  msgid "Join Now...It’s Free!"
7364
  msgstr ""
7365
 
7366
+ #: languages/vue.php:1742
7367
  msgid "WordPress Tutorials by WPBeginner"
7368
  msgstr ""
7369
 
7370
+ #: languages/vue.php:1745
7371
  msgid "WPBeginner is the largest free WordPress resource site for beginners and non-techy users."
7372
  msgstr ""
7373
 
7374
+ #: languages/vue.php:1748
7375
  msgid "Visit WPBeginner"
7376
  msgstr ""
7377
 
7378
+ #: languages/vue.php:1751
7379
  msgid "Follow Us!"
7380
  msgstr ""
7381
 
7382
+ #: languages/vue.php:1754
7383
  msgid "Follow ExactMetrics on social media to stay up to date with latest updates, trends, and tutorials on how to make the most out of analytics."
7384
  msgstr ""
7385
 
7386
+ #: languages/vue.php:1757
7387
  msgid "Copyright ExactMetrics, 2021"
7388
  msgstr ""
7389
 
7390
+ #: languages/vue.php:1760
7391
  msgid "Upgrade to ExactMetrics Pro to Unlock Additional Actionable Insights"
7392
  msgstr ""
7393
 
7394
+ #: languages/vue.php:1766
7395
  msgid "January"
7396
  msgstr ""
7397
 
7398
+ #: languages/vue.php:1769
7399
  msgid "February"
7400
  msgstr ""
7401
 
7402
+ #: languages/vue.php:1772
7403
  msgid "March"
7404
  msgstr ""
7405
 
7406
+ #: languages/vue.php:1775
7407
  msgid "April"
7408
  msgstr ""
7409
 
7410
+ #: languages/vue.php:1778
7411
  msgid "May"
7412
  msgstr ""
7413
 
7414
+ #: languages/vue.php:1781
7415
  msgid "June"
7416
  msgstr ""
7417
 
7418
+ #: languages/vue.php:1784
7419
  msgid "July"
7420
  msgstr ""
7421
 
7422
+ #: languages/vue.php:1787
7423
  msgid "August"
7424
  msgstr ""
7425
 
7426
+ #: languages/vue.php:1790
7427
  msgid "September"
7428
  msgstr ""
7429
 
7430
+ #: languages/vue.php:1793
7431
  msgid "October"
7432
  msgstr ""
7433
 
7434
+ #: languages/vue.php:1796
7435
  msgid "November"
7436
  msgstr ""
7437
 
7438
+ #: languages/vue.php:1799
7439
  msgid "December"
7440
  msgstr ""
7441
 
7442
  #. Translators: Number of visitors.
7443
+ #: languages/vue.php:1803
7444
  msgid "Your best month was <strong>%1$s</strong> with <strong>%2$s visitors!</strong>"
7445
  msgstr ""
7446
 
7447
+ #: languages/vue.php:1806
7448
  msgid "See the top Traffic Sources and Top Pages for the Month of %s in the Overview Report to replicate your success."
7449
  msgstr ""
7450
 
7451
  #. Translators: Number of visitors.
7452
+ #: languages/vue.php:1810
7453
  msgid "Your <strong>%1$s</strong> visitors came from <strong>%2$s</strong> different countries."
7454
  msgstr ""
7455
 
7456
  #. Translators: Number of visitors.
7457
+ #: languages/vue.php:1814
7458
  msgid "%s Visitors"
7459
  msgstr ""
7460
 
7461
  #. Translators: Percent and Number of visitors.
7462
+ #: languages/vue.php:1818
7463
  msgid "%1$s&#37 of your visitors were %2$s"
7464
  msgstr ""
7465
 
7466
  #. Translators: Number of visitors and their age.
7467
+ #: languages/vue.php:1822
7468
  msgid "%1$s&#37 of your visitors were between the ages of %2$s"
7469
  msgstr ""
7470
 
7471
+ #: languages/vue.php:1825
7472
  msgid "Your <strong>%1$s</strong> visitors viewed a total of <strong>%2$s</strong> pages. <span class='average-page-per-user' style='font-size: 20px;margin-top:25px;display:block;font-family:Lato'>That's an average of %3$s pages for each visitor!</span>"
7473
  msgstr ""
7474
 
7475
  #. Translators: Number of minutes spent on site.
7476
+ #: languages/vue.php:1829
7477
  msgid "Each visitor spent an average of %s minutes on your website in 2020."
7478
  msgstr ""
7479
 
7480
  #. Translators: Name of device type.
7481
+ #: languages/vue.php:1833
7482
  msgid "Most of your visitors viewed your website from their <strong>%s</strong> device."
7483
  msgstr ""
7484
 
7485
  #. Translators: Number of visitors and device percentage.
7486
+ #: languages/vue.php:1837
7487
  msgid "%1$s&#37 of your visitors were on a %2$s device."
7488
  msgstr ""
7489
 
7490
+ #: languages/vue.php:1840
7491
  msgid "Desktop"
7492
  msgstr ""
7493
 
7494
+ #: languages/vue.php:1843
7495
  msgid "Tablet"
7496
  msgstr ""
7497
 
7498
+ #: languages/vue.php:1846
7499
  msgid "Mobile"
7500
  msgstr ""
7501
 
7502
+ #: languages/vue.php:1849
7503
  msgid "Force Deauthenticate"
7504
  msgstr ""
7505
 
7506
+ #: languages/vue.php:1852
7507
  msgid "Disconnect ExactMetrics"
7508
  msgstr ""
7509
 
7510
+ #: languages/vue.php:1855
7511
  msgid "Authenticating"
7512
  msgstr ""
7513
 
7514
+ #: languages/vue.php:1858
7515
  msgid "Verifying Credentials"
7516
  msgstr ""
7517
 
7518
+ #: languages/vue.php:1861
7519
  msgid "Your site is connected to ExactMetrics!"
7520
  msgstr ""
7521
 
7522
+ #: languages/vue.php:1864
7523
  msgid "Deauthenticating"
7524
  msgstr ""
7525
 
7526
+ #: languages/vue.php:1867
7527
  msgid "You've disconnected your site from ExactMetrics. Your site is no longer being tracked by Google Analytics and you won't see reports anymore."
7528
  msgstr ""
7529
 
7530
+ #: languages/vue.php:1870
7531
+ #: languages/vue.php:1942
7532
  msgid "Connect ExactMetrics"
7533
  msgstr ""
7534
 
7535
+ #: languages/vue.php:1873
7536
  msgid "Verify Credentials"
7537
  msgstr ""
7538
 
7539
+ #: languages/vue.php:1879
7540
  msgid "Website Profile"
7541
  msgstr ""
7542
 
7543
+ #: languages/vue.php:1882
7544
  msgid "Active Profile"
7545
  msgstr ""
7546
 
7547
+ #: languages/vue.php:1885
7548
  msgid "Your website profile has been set at the network level of your WordPress Multisite."
7549
  msgstr ""
7550
 
7551
+ #: languages/vue.php:1888
7552
  msgid "If you would like to use a different profile for this subsite, you can authenticate below."
7553
  msgstr ""
7554
 
7555
+ #: languages/vue.php:1891
7556
  msgid "Dual Tracking Profile"
7557
  msgstr ""
7558
 
7559
+ #: languages/vue.php:1894
7560
  msgid "The dual tracking feature allows you to continue tracking this site into an existing GAv3 property so you can continue to use the GA reports you are used to already. Learn more about this feature %1$shere%2$s."
7561
  msgstr ""
7562
 
7563
+ #: languages/vue.php:1897
7564
  msgid "Your Universal Analytics code should look like UA-XXXXXXXXXX where the X's are numbers."
7565
  msgstr ""
7566
 
7567
+ #: languages/vue.php:1900
7568
  msgid "The dual tracking feature allows you to begin tracking this site into a GAv4 property to take advantage of the new GAv4 analysis tools. Learn more about this feature %1$shere%2$s."
7569
  msgstr ""
7570
 
7571
+ #: languages/vue.php:1903
7572
  msgid "Your Measurement ID should look like G-XXXXXXXXXX where the X's are numbers."
7573
  msgstr ""
7574
 
7575
+ #: languages/vue.php:1906
7576
  msgid "Measurement Protocol API Secret"
7577
  msgstr ""
7578
 
7579
+ #: languages/vue.php:1909
7580
  msgid "The Measurement Protocol API secret allows your site to send tracking data to Google Analytics. To retrieve your Measurement Protocol API Secret, follow %1$sthis guide%2$s."
7581
  msgstr ""
7582
 
7583
+ #: languages/vue.php:1912
7584
  msgid "Classic mode"
7585
  msgstr ""
7586
 
7587
+ #: languages/vue.php:1915
7588
  msgid "Proceed"
7589
  msgstr ""
7590
 
7591
+ #: languages/vue.php:1918
7592
  msgid "Connection Information"
7593
  msgstr ""
7594
 
7595
+ #: languages/vue.php:1921
7596
  msgid "To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host."
7597
  msgstr ""
7598
 
7599
+ #: languages/vue.php:1924
7600
  msgid "Hostname"
7601
  msgstr ""
7602
 
7603
+ #: languages/vue.php:1927
7604
  msgid "FTP Username"
7605
  msgstr ""
7606
 
7607
+ #: languages/vue.php:1930
7608
  msgid "FTP Password"
7609
  msgstr ""
7610
 
7611
+ #: languages/vue.php:1933
7612
  msgid "This password will not be stored on the server."
7613
  msgstr ""
7614
 
7615
+ #: languages/vue.php:1936
7616
  msgid "Connection Type"
7617
  msgstr ""
7618
 
7619
+ #: languages/vue.php:1939
7620
  msgid "Cancel"
7621
  msgstr ""
7622
 
7623
+ #: languages/vue.php:1945
7624
  msgid "Website profile"
7625
  msgstr ""
7626
 
7627
+ #: languages/vue.php:1948
7628
  msgid "Active profile"
7629
  msgstr ""
7630
 
7631
+ #: languages/vue.php:1951
7632
  msgid "Skip and Keep Connection"
7633
  msgstr ""
7634
 
7635
  #. Translators: Replaced with the number of days
7636
+ #: languages/vue.php:1955
7637
  msgid "vs. Previous Day"
7638
  msgstr ""
7639
 
7640
+ #: languages/vue.php:1958
7641
  msgid "No change"
7642
  msgstr ""
7643
 
7644
+ #: languages/vue.php:1961
7645
  msgid "Choose Theme"
7646
  msgstr ""
7647
 
7648
+ #: languages/vue.php:1964
7649
  msgid "Widget Styling"
7650
  msgstr ""
7651
 
7652
+ #: languages/vue.php:1967
7653
  msgid "Choose how you want to determine the colors, font sizes and spacing of the widget."
7654
  msgstr ""
7655
 
7656
+ #: languages/vue.php:1970
7657
  msgid "Sort By"
7658
  msgstr ""
7659
 
7660
+ #: languages/vue.php:1973
7661
  msgid "Choose how you'd like the widget to determine your popular posts."
7662
  msgstr ""
7663
 
7664
+ #: languages/vue.php:1976
7665
  msgid "Display Title"
7666
  msgstr ""
7667
 
7668
+ #: languages/vue.php:1982
7669
  msgid "Title your widget and set its display preferences."
7670
  msgstr ""
7671
 
7672
+ #: languages/vue.php:1985
7673
  msgid "Include in Post Types"
7674
  msgstr ""
7675
 
7676
+ #: languages/vue.php:1988
7677
  msgid "Exclude from specific posts"
7678
  msgstr ""
7679
 
7680
  #. Translators: Placeholders make the text bold.
7681
+ #: languages/vue.php:1992
7682
  msgid "Choose which Post Types the widget %1$sWILL%2$s be placed."
7683
  msgstr ""
7684
 
7685
  #. Translators: Placeholders make the text bold.
7686
+ #: languages/vue.php:1996
7687
  msgid "Choose from which Posts the widget %1$sWILL NOT%2$s be placed."
7688
  msgstr ""
7689
 
7690
+ #: languages/vue.php:1999
7691
  msgid "Loading Themes"
7692
  msgstr ""
7693
 
7694
  #. Translators: placeholders make text small.
7695
+ #: languages/vue.php:2003
7696
  msgid "Default Styles %1$s- As seen above.%2$s"
7697
  msgstr ""
7698
 
7699
  #. Translators: placeholders make text small.
7700
+ #: languages/vue.php:2007
7701
  msgid "No Styles %1$s- Use your own CSS.%2$s"
7702
  msgstr ""
7703
 
7704
  #. Translators: placeholders make text small.
7705
+ #: languages/vue.php:2011
7706
  msgid "Comments %1$s- Randomly rotate your most commented on posts from the past 30 days.%2$s"
7707
  msgstr ""
7708
 
7709
  #. Translators: placeholders make text small.
7710
+ #: languages/vue.php:2015
7711
  msgid "SharedCount %1$s- Connect with your SharedCount account to determine popular posts by share count.%2$s"
7712
  msgstr ""
7713
 
7714
  #. Translators: placeholders make text small.
7715
+ #: languages/vue.php:2019
7716
  msgid "Curated %1$s- Choose the posts which will randomly rotate in the widget.%2$s"
7717
  msgstr ""
7718
 
7719
+ #: languages/vue.php:2022
7720
  msgid "Placement"
7721
  msgstr ""
7722
 
7723
+ #: languages/vue.php:2025
7724
  msgid "Choose how you'd like to place the widget."
7725
  msgstr ""
7726
 
7727
+ #: languages/vue.php:2028
7728
  msgid "Insert After"
7729
  msgstr ""
7730
 
7731
+ #: languages/vue.php:2031
7732
  msgid "Choose where in the post body the widget will be placed."
7733
  msgstr ""
7734
 
7735
+ #: languages/vue.php:2034
7736
  msgid "Customize Design"
7737
  msgstr ""
7738
 
7739
+ #: languages/vue.php:2037
7740
  msgid "words"
7741
  msgstr ""
7742
 
7743
+ #: languages/vue.php:2040
7744
  msgid "Please select at least one post to display."
7745
  msgstr ""
7746
 
7747
  #. Translators: placeholders make text small.
7748
+ #: languages/vue.php:2044
7749
  msgid "Automatic %1$s- The widget is automatically placed inside the post body.%2$s"
7750
  msgstr ""
7751
 
7752
  #. Translators: placeholders make text small.
7753
+ #: languages/vue.php:2048
7754
  msgid "Manual %1$s- Manually place the widget using Gutenberg blocks or using our shortcode.%2$s"
7755
  msgstr ""
7756
 
7757
+ #: languages/vue.php:2051
7758
  msgid "Caching"
7759
  msgstr ""
7760
 
7761
+ #: languages/vue.php:2054
7762
  msgid "Enable Data Caching"
7763
  msgstr ""
7764
 
7765
+ #: languages/vue.php:2057
7766
  msgid "Refresh Cache Every"
7767
  msgstr ""
7768
 
7769
+ #: languages/vue.php:2060
7770
  msgid "Choose how often to refresh the cache."
7771
  msgstr ""
7772
 
7773
+ #: languages/vue.php:2063
7774
  msgid "Enable Ajaxify"
7775
  msgstr ""
7776
 
7777
+ #: languages/vue.php:2066
7778
  msgid "Ajaxify Widget"
7779
  msgstr ""
7780
 
7781
+ #: languages/vue.php:2069
7782
  msgid "Use to bypass page caching."
7783
  msgstr ""
7784
 
7785
+ #: languages/vue.php:2072
7786
  msgid "Empty Cache"
7787
  msgstr ""
7788
 
7789
+ #: languages/vue.php:2075
7790
  msgid "Click to manually wipe the cache right now."
7791
  msgstr ""
7792
 
7793
+ #: languages/vue.php:2078
7794
  msgid "Popular posts cache emptied"
7795
  msgstr ""
7796
 
7797
+ #: languages/vue.php:2081
7798
  msgid "Error emptying the popular posts cache. Please try again."
7799
  msgstr ""
7800
 
7801
+ #: languages/vue.php:2084
7802
  msgid "Last 30 Days Analytics for "
7803
  msgstr ""
7804
 
7805
+ #: languages/vue.php:2087
7806
  msgid "Your Website"
7807
  msgstr ""
7808
 
7809
+ #: languages/vue.php:2090
7810
  msgid "Avg. Duration"
7811
  msgstr ""
7812
 
7813
+ #: languages/vue.php:2093
7814
  msgid "More data is available"
7815
  msgstr ""
7816
 
7817
+ #: languages/vue.php:2096
7818
  msgid "Want to see page-specific stats?"
7819
  msgstr ""
7820
 
7821
+ #: languages/vue.php:2099
7822
  msgid "You appear to be offline. WPForms not installed."
7823
  msgstr ""
7824
 
7825
  #. Translators: Error status and error text.
7826
+ #: languages/vue.php:2103
7827
  msgid "Can't activate addon. Error: %1$s, %2$s"
7828
  msgstr ""
7829
 
7830
+ #: languages/vue.php:2106
7831
  msgid "You appear to be offline. Addon not activated."
7832
  msgstr ""
7833
 
7834
  #. Translators: Error status and error text.
7835
+ #: languages/vue.php:2110
7836
  msgid "Can't deactivate addon. Error: %1$s, %2$s"
7837
  msgstr ""
7838
 
7839
+ #: languages/vue.php:2113
7840
  msgid "You appear to be offline. Addon not deactivated."
7841
  msgstr ""
7842
 
7843
  #. Translators: Error status and error text.
7844
+ #: languages/vue.php:2117
7845
  msgid "Can't install plugin. Error: %1$s, %2$s"
7846
  msgstr ""
7847
 
7848
+ #: languages/vue.php:2120
7849
  msgid "You appear to be offline. Plugin not installed."
7850
  msgstr ""
7851
 
7852
  #. Translators: Error status and error text.
7853
+ #: languages/vue.php:2124
7854
  msgid "Can't install addon. Error: %1$s, %2$s"
7855
  msgstr ""
7856
 
7857
+ #: languages/vue.php:2127
7858
  msgid "You appear to be offline. Addon not installed."
7859
  msgstr ""
7860
 
7861
  #. Translators: Error status and error text.
7862
+ #: languages/vue.php:2131
7863
  msgid "Can't install WPForms. Error: %1$s, %2$s"
7864
  msgstr ""
7865
 
7866
+ #: languages/vue.php:2134
7867
  msgid "Network Active"
7868
  msgstr ""
7869
 
7870
+ #: languages/vue.php:2137
7871
  msgid "Active"
7872
  msgstr ""
7873
 
7874
+ #: languages/vue.php:2140
7875
  msgid "Inactive"
7876
  msgstr ""
7877
 
7878
  #. Translators: Placeholder for the addon status (installed, active, etc).
7879
+ #: languages/vue.php:2144
7880
  msgid "Status: %s"
7881
  msgstr ""
7882
 
7883
+ #: languages/vue.php:2147
7884
  msgid "Not Installed"
7885
  msgstr ""
7886
 
7887
  #. Translators: Makes text bold and adds smiley.
7888
+ #: languages/vue.php:2151
7889
  msgid "You’re using %1$sExactMetrics Lite%2$s - no license needed. Enjoy! %3$s"
7890
  msgstr ""
7891
 
7892
  #. Translators: Makes text green.
7893
+ #: languages/vue.php:2155
7894
  msgid "As a valued ExactMetrics Lite user you %1$sreceive 50%% off%2$s, automatically applied at checkout."
7895
  msgstr ""
7896
 
7897
+ #: languages/vue.php:2158
7898
  msgid "Unlock All Features and Upgrade to Pro"
7899
  msgstr ""
7900
 
7901
  #. Translators: Make text green and add smiley face.
7902
+ #: languages/vue.php:2162
7903
  msgid "You're using %1$sExactMetrics Lite%2$s - no license needed. Enjoy! %3$s"
7904
  msgstr ""
7905
 
7906
  #. Translators: Make text green.
7907
+ #: languages/vue.php:2166
7908
  msgid "As a valued ExactMetrics Lite user you %1$sreceive 50%% off%2$s, automatically applied at checkout!"
7909
  msgstr ""
7910
 
7911
+ #: languages/vue.php:2169
7912
  msgid "Unlock PRO Features Now"
7913
  msgstr ""
7914
 
7915
+ #: languages/vue.php:2172
7916
  msgid "Paste your license key here"
7917
  msgstr ""
7918
 
7919
+ #: languages/vue.php:2175
7920
  msgid "Verify"
7921
  msgstr ""
7922
 
7923
  #. Translators: Add link to retrieve license from account area.
7924
+ #: languages/vue.php:2179
7925
  msgid "Already purchased? Simply enter your license key below to connect with ExactMetrics PRO! %1$sRetrieve your license key%2$s."
7926
  msgstr ""
7927
 
7928
+ #: languages/vue.php:2182
7929
+ #: languages/vue.php:3657
7930
  msgid "There was an error unlocking ExactMetrics PRO please try again or install manually."
7931
  msgstr ""
7932
 
7933
+ #: languages/vue.php:2185
7934
  msgid "%1$sAll-in-One SEO%2$s Makes SEO Simple. Gain Valuable Organic Traffic."
7935
  msgstr ""
7936
 
7937
+ #: languages/vue.php:2188
7938
  msgid "Automatically migrate all of your SEO settings with just 1 click!"
7939
  msgstr ""
7940
 
7941
+ #: languages/vue.php:2191
7942
  msgid "1,938"
7943
  msgstr ""
7944
 
7945
+ #: languages/vue.php:2194
7946
  msgid "2+ Million Active Installs"
7947
  msgstr ""
7948
 
7949
+ #: languages/vue.php:2197
7950
  msgid "AIOSEO is the DIY Solution for Managing your SEO"
7951
  msgstr ""
7952
 
7953
+ #: languages/vue.php:2200
7954
  msgid "Set up the proper SEO foundations in less than 10 minutes."
7955
  msgstr ""
7956
 
7957
+ #: languages/vue.php:2203
7958
  msgid "SEO Audit Checklist"
7959
  msgstr ""
7960
 
7961
+ #: languages/vue.php:2206
7962
  msgid "Analyze your entire WordPress site to detect critical errors and get actionable insights to boost your SEO and get more traffic."
7963
  msgstr ""
7964
 
7965
+ #: languages/vue.php:2209
7966
  msgid "Optimize Your Pages For Higher Rankings With TruSEO Score."
7967
  msgstr ""
7968
 
7969
+ #: languages/vue.php:2212
7970
  msgid "TruSEO Score gives you a more in-depth analysis into your optimization efforts than just a pass or fail. Our actionable checklist helps you to unlock maximum traffic with each page."
7971
  msgstr ""
7972
 
7973
+ #: languages/vue.php:2215
7974
  msgid "Get AIOSEO for WordPress"
7975
  msgstr ""
7976
 
7977
+ #: languages/vue.php:2218
7978
  msgid "Get the #1 Most Powerful WordPress SEO Plugin Today"
7979
  msgstr ""
7980
 
7981
+ #: languages/vue.php:2221
7982
  msgid "Try it out today, for free."
7983
  msgstr ""
7984
 
7985
+ #: languages/vue.php:2224
7986
  msgid "Join 2,000,000+ Professionals who use AIOSEO to Improve Their Website Search Rankings."
7987
  msgstr ""
7988
 
7989
+ #: languages/vue.php:2227
7990
  msgid "Activate and Install the Plugin with just one click!"
7991
  msgstr ""
7992
 
7993
+ #: languages/vue.php:2230
7994
  msgid "Installing AIOSEO..."
7995
  msgstr ""
7996
 
7997
+ #: languages/vue.php:2233
7998
  msgid "Congrats! All-in-One SEO Installed."
7999
  msgstr ""
8000
 
8001
+ #: languages/vue.php:2236
8002
  msgid "Switch to AIOSEO"
8003
  msgstr ""
8004
 
8005
+ #: languages/vue.php:2239
8006
  msgid "Installation Failed. Please refresh and try again."
8007
  msgstr ""
8008
 
8009
+ #: languages/vue.php:2242
8010
  msgid "Activating AIOSEO..."
8011
  msgstr ""
8012
 
8013
+ #: languages/vue.php:2245
8014
  msgid "Activate AIOSEO"
8015
  msgstr ""
8016
 
8017
+ #: languages/vue.php:2248
8018
  msgid "Activation Failed. Please refresh and try again."
8019
  msgstr ""
8020
 
8021
+ #: languages/vue.php:2251
8022
  msgid "Unlock Form Tracking"
8023
  msgstr ""
8024
 
8025
+ #: languages/vue.php:2254
8026
  msgid "See who's viewing and submitting your forms, so you can increase your conversion rate."
8027
  msgstr ""
8028
 
8029
+ #: languages/vue.php:2257
8030
  msgid "Use Google Optimize to retarget your website visitors and perform A/B split tests with ease."
8031
  msgstr ""
8032
 
8033
+ #: languages/vue.php:2260
8034
  msgid "Add Custom Dimensions and track who's the most popular author on your site, which post types get the most traffic, and more"
8035
  msgstr ""
8036
 
8037
+ #: languages/vue.php:2263
8038
  msgid "Show"
8039
  msgstr ""
8040
 
8041
+ #: languages/vue.php:2266
8042
  msgid "File imported"
8043
  msgstr ""
8044
 
8045
+ #: languages/vue.php:2269
8046
  msgid "Settings successfully updated!"
8047
  msgstr ""
8048
 
8049
+ #: languages/vue.php:2272
8050
  msgid "Error importing settings"
8051
  msgstr ""
8052
 
8053
+ #: languages/vue.php:2275
8054
  msgid "Please choose a .json file generated by a ExactMetrics settings export."
8055
  msgstr ""
8056
 
8057
+ #: languages/vue.php:2278
8058
  msgid "Import/Export"
8059
  msgstr ""
8060
 
8061
+ #: languages/vue.php:2281
8062
  msgid "Import"
8063
  msgstr ""
8064
 
8065
+ #: languages/vue.php:2284
8066
  msgid "Import settings from another ExactMetrics website."
8067
  msgstr ""
8068
 
8069
+ #: languages/vue.php:2287
8070
  msgid "Export"
8071
  msgstr ""
8072
 
8073
+ #: languages/vue.php:2290
8074
  msgid "Export settings to import into another ExactMetrics install."
8075
  msgstr ""
8076
 
8077
+ #: languages/vue.php:2293
8078
  msgid "Import Settings"
8079
  msgstr ""
8080
 
8081
+ #: languages/vue.php:2296
8082
  msgid "Export Settings"
8083
  msgstr ""
8084
 
8085
+ #: languages/vue.php:2299
8086
  msgid "Please choose a file to import"
8087
  msgstr ""
8088
 
8089
+ #: languages/vue.php:2302
8090
  msgid "Click Choose file below to select the settings export file from another site."
8091
  msgstr ""
8092
 
8093
+ #: languages/vue.php:2305
8094
  msgid "Use the button below to export a file with your ExactMetrics settings."
8095
  msgstr ""
8096
 
8097
+ #: languages/vue.php:2308
8098
  msgid "Choose file"
8099
  msgstr ""
8100
 
8101
+ #: languages/vue.php:2311
8102
  msgid "No file chosen"
8103
  msgstr ""
8104
 
8105
+ #: languages/vue.php:2314
8106
  msgid "Uploading file..."
8107
  msgstr ""
8108
 
8109
+ #: languages/vue.php:2317
8110
  msgid "Custom code"
8111
  msgstr ""
8112
 
8113
  #. Translators: Adds a link to the Google reference.
8114
+ #: languages/vue.php:2321
8115
  msgid "Not for the average user: this allows you to add a line of code, to be added before the %1$spageview is sent%2$s."
8116
  msgstr ""
8117
 
8118
+ #: languages/vue.php:2327
8119
  msgid "Automatic Updates"
8120
  msgstr ""
8121
 
8122
+ #: languages/vue.php:2330
8123
  msgid "You must have the \"unfiltered_html\" capability to view/edit this setting."
8124
  msgstr ""
8125
 
8126
+ #: languages/vue.php:2333
8127
  msgid "Hide Admin Bar Reports"
8128
  msgstr ""
8129
 
8130
  #. Translators: placeholders make text small.
8131
+ #: languages/vue.php:2337
8132
  msgid "Enabled %1$s- Show reports and dashboard widget.%2$s"
8133
  msgstr ""
8134
 
8135
  #. Translators: placeholders make text small.
8136
+ #: languages/vue.php:2341
8137
  msgid "Dashboard Widget Only %1$s- Disable reports, but show dashboard widget.%2$s"
8138
  msgstr ""
8139
 
8140
  #. Translators: placeholders make text small.
8141
+ #: languages/vue.php:2345
8142
  msgid "Disabled %1$s- Hide reports and dashboard widget.%2$s"
8143
  msgstr ""
8144
 
8145
  #. Translators: placeholders make text small.
8146
+ #: languages/vue.php:2349
8147
  msgid "Yes (recommended) %1$s- Get the latest features, bugfixes, and security updates as they are released.%2$s"
8148
  msgstr ""
8149
 
8150
  #. Translators: placeholders make text small.
8151
+ #: languages/vue.php:2353
8152
  msgid "Minor only %1$s- Get bugfixes and security updates, but not major features.%2$s"
8153
  msgstr ""
8154
 
8155
  #. Translators: placeholders make text small.
8156
+ #: languages/vue.php:2357
8157
  msgid "None %1$s- Manually update everything.%2$s"
8158
  msgstr ""
8159
 
8160
  #. Translators: Adds a link to the general settings tab.
8161
+ #: languages/vue.php:2361
8162
  msgid "It looks like you added a Google Analytics tracking code in the custom code area, this can potentially prevent proper tracking. If you want to use a manual UA please use the setting in the %1$sGeneral%2$s tab."
8163
  msgstr ""
8164
 
8165
+ #: languages/vue.php:2364
8166
  msgid "Permissions"
8167
  msgstr ""
8168
 
8169
+ #: languages/vue.php:2367
8170
  msgid "Export PDF Reports"
8171
  msgstr ""
8172
 
8173
+ #: languages/vue.php:2370
8174
  msgid "Allow These User Roles to See Reports"
8175
  msgstr ""
8176
 
8177
+ #: languages/vue.php:2373
8178
  msgid "Users that have at least one of these roles will be able to view the reports."
8179
  msgstr ""
8180
 
8181
+ #: languages/vue.php:2376
8182
  msgid "Allow These User Roles to Save Settings"
8183
  msgstr ""
8184
 
8185
+ #: languages/vue.php:2379
8186
  msgid "Users that have at least one of these roles will be able to view and save the settings panel."
8187
  msgstr ""
8188
 
8189
+ #: languages/vue.php:2382
8190
  msgid "Users that have at least one of these roles will be able to view and save the settings panel, along with any user with the manage_options capability."
8191
  msgstr ""
8192
 
8193
+ #: languages/vue.php:2385
8194
  msgid "Exclude These User Roles From Tracking"
8195
  msgstr ""
8196
 
8197
+ #: languages/vue.php:2388
8198
  msgid "Users that have at least one of these roles will not be tracked into Google Analytics."
8199
  msgstr ""
8200
 
8201
+ #: languages/vue.php:2391
8202
  msgid "Make your ExactMetrics campaign links prettier with Pretty Links!"
8203
  msgstr ""
8204
 
8205
+ #: languages/vue.php:2394
8206
  msgid "Pretty Links turns those ugly, long campaign links into clean, memorable, speakable, totally shareable links."
8207
  msgstr ""
8208
 
8209
+ #: languages/vue.php:2397
8210
  msgid "Take your ExactMetrics campaign links from our URL Builder and shorten them with Pretty Links!"
8211
  msgstr ""
8212
 
8213
+ #: languages/vue.php:2400
8214
  msgid "Over 200,000 websites use Pretty Links!"
8215
  msgstr ""
8216
 
8217
+ #: languages/vue.php:2403
8218
  msgid "Install Pretty Links"
8219
  msgstr ""
8220
 
8221
+ #: languages/vue.php:2406
8222
  msgid "Pretty Links Installed & Activated"
8223
  msgstr ""
8224
 
8225
+ #: languages/vue.php:2409
8226
  msgid "Download Pretty Links"
8227
  msgstr ""
8228
 
8229
+ #: languages/vue.php:2412
8230
  msgid "Install Pretty Links from the WordPress.org plugin repository."
8231
  msgstr ""
8232
 
8233
+ #: languages/vue.php:2415
8234
  msgid "Activate Pretty Links"
8235
  msgstr ""
8236
 
8237
+ #: languages/vue.php:2418
8238
  msgid "Activating Pretty Links..."
8239
  msgstr ""
8240
 
8241
+ #: languages/vue.php:2421
8242
  msgid "Create New Pretty Link"
8243
  msgstr ""
8244
 
8245
+ #: languages/vue.php:2424
8246
  msgid "Create a New Pretty Link"
8247
  msgstr ""
8248
 
8249
+ #: languages/vue.php:2427
8250
  msgid "Grab your campaign link and paste it into the Target URL field."
8251
  msgstr ""
8252
 
8253
+ #: languages/vue.php:2430
8254
  msgid "Custom Campaign Parameters"
8255
  msgstr ""
8256
 
8257
+ #: languages/vue.php:2433
8258
  msgid "The URL builder helps you add parameters to your URLs you use in custom web or email ad campaigns."
8259
  msgstr ""
8260
 
8261
+ #: languages/vue.php:2436
8262
  msgid "A custom campaign is any ad campaign not using the AdWords auto-tagging feature. When users click one of the custom links, the unique parameters are sent to your Analytics account, so you can identify the URLs that are the most effective in attracting users to your content."
8263
  msgstr ""
8264
 
8265
  #. Translators: Marks the field as required.
8266
+ #: languages/vue.php:2440
8267
  msgid "Website URL %s"
8268
  msgstr ""
8269
 
8270
  #. Translators: Display the current website url in italic.
8271
+ #: languages/vue.php:2444
8272
  msgid "The full website URL (e.g. %1$s %2$s%3$s)"
8273
  msgstr ""
8274
 
8275
  #. Translators: Marks the field as required.
8276
+ #: languages/vue.php:2448
8277
  msgid "Campaign Source %s"
8278
  msgstr ""
8279
 
8280
  #. Translators: Make the text italic.
8281
+ #: languages/vue.php:2452
8282
  msgid "Enter a referrer (e.g. %1$sfacebook, newsletter, google%2$s)"
8283
  msgstr ""
8284
 
8285
  #. Translators: Make the text italic.
8286
+ #: languages/vue.php:2456
8287
  msgid "Enter a marketing medium (e.g. %1$scpc, banner, email%2$s)"
8288
  msgstr ""
8289
 
8290
  #. Translators: Make the text italic.
8291
+ #: languages/vue.php:2460
8292
  msgid "Enter a name to easily identify (e.g. %1$sspring_sale%2$s)"
8293
  msgstr ""
8294
 
8295
+ #: languages/vue.php:2463
8296
  msgid "Enter the paid keyword"
8297
  msgstr ""
8298
 
8299
+ #: languages/vue.php:2466
8300
  msgid "Enter something to differentiate ads"
8301
  msgstr ""
8302
 
8303
+ #: languages/vue.php:2469
8304
  msgid "Use Fragment"
8305
  msgstr ""
8306
 
8307
  #. Translators: Make the text bold.
8308
+ #: languages/vue.php:2473
8309
  msgid "Set the parameters in the fragment portion of the URL %1$s(not recommended)%2$s"
8310
  msgstr ""
8311
 
8312
+ #: languages/vue.php:2476
8313
  msgid "URL to use"
8314
  msgstr ""
8315
 
8316
+ #: languages/vue.php:2479
8317
  msgid "(Updates automatically)"
8318
  msgstr ""
8319
 
8320
+ #: languages/vue.php:2482
8321
  msgid "Copy to Clipboard"
8322
  msgstr ""
8323
 
8324
+ #: languages/vue.php:2485
8325
  msgid "Copy to Pretty Links"
8326
  msgstr ""
8327
 
8328
+ #: languages/vue.php:2488
8329
  msgid "Make your campaign links prettier!"
8330
  msgstr ""
8331
 
8332
+ #: languages/vue.php:2491
8333
  msgid "Pretty Links turns those ugly, long campaign links into clean, memorable, speakable and totally shareable links."
8334
  msgstr ""
8335
 
8336
+ #: languages/vue.php:2494
8337
  msgid "More Information & Examples"
8338
  msgstr ""
8339
 
8340
+ #: languages/vue.php:2497
8341
  msgid "The following table gives a detailed explanation and example of each of the campaign parameters."
8342
  msgstr ""
8343
 
8344
+ #: languages/vue.php:2500
8345
  msgid "Campaign Source"
8346
  msgstr ""
8347
 
8348
+ #: languages/vue.php:2503
8349
  msgid "Required. Use utm_source to identify a search engine, newsletter name, or other source."
8350
  msgstr ""
8351
 
8352
+ #: languages/vue.php:2506
8353
  msgid "Campaign Medium"
8354
  msgstr ""
8355
 
8356
+ #: languages/vue.php:2509
8357
  msgid "Use utm_medium to identify a medium such as email or cost-per-click."
8358
  msgstr ""
8359
 
8360
+ #: languages/vue.php:2512
8361
  msgid "Campaign Name"
8362
  msgstr ""
8363
 
8364
+ #: languages/vue.php:2515
8365
  msgid "Used for keyword analysis. Use utm_campaign to identify a specific product promotion or strategic campaign."
8366
  msgstr ""
8367
 
8368
+ #: languages/vue.php:2518
8369
  msgid "Campaign Term"
8370
  msgstr ""
8371
 
8372
+ #: languages/vue.php:2521
8373
  msgid "Used for paid search. Use utm_term to note the keywords for this ad."
8374
  msgstr ""
8375
 
8376
+ #: languages/vue.php:2524
8377
  msgid "Campaign Content"
8378
  msgstr ""
8379
 
8380
+ #: languages/vue.php:2527
8381
  msgid "Used for A/B testing and content-targeted ads. Use utm_content to differentiate ads or links that point to the same URL."
8382
  msgstr ""
8383
 
8384
  #. Translators: Example.
8385
+ #: languages/vue.php:2531
8386
  msgid "Example: %s"
8387
  msgstr ""
8388
 
8389
  #. Translators: Examples.
8390
+ #: languages/vue.php:2535
8391
  msgid "Examples: %s"
8392
  msgstr ""
8393
 
8394
+ #: languages/vue.php:2538
8395
  msgid "About Campaigns"
8396
  msgstr ""
8397
 
8398
+ #: languages/vue.php:2541
8399
  msgid "About Custom Campaigns"
8400
  msgstr ""
8401
 
8402
+ #: languages/vue.php:2544
8403
  msgid "Best Practices for Creating Custom Campaigns"
8404
  msgstr ""
8405
 
8406
+ #: languages/vue.php:2547
8407
  msgid "About the Referral Traffic Report"
8408
  msgstr ""
8409
 
8410
+ #: languages/vue.php:2550
8411
  msgid "About Traffic Source Dimensions"
8412
  msgstr ""
8413
 
8414
+ #: languages/vue.php:2553
8415
  msgid "AdWords Auto-Tagging"
8416
  msgstr ""
8417
 
8418
+ #: languages/vue.php:2556
8419
  msgid "Additional Information"
8420
  msgstr ""
8421
 
8422
+ #: languages/vue.php:2559
8423
  msgid "Affiliate Links"
8424
  msgstr ""
8425
 
8426
  #. Translators: Add links to documentation.
8427
+ #: languages/vue.php:2563
8428
  msgid "This allows you to track custom affiliate links. A path of /go/ would match urls that start with that. The label is appended onto the end of the string \"outbound-link-\", to provide unique labels for these links in Google Analytics. Complete documentation on affiliate links is available %1$shere%2$s."
8429
  msgstr ""
8430
 
8431
+ #: languages/vue.php:2566
8432
  msgid "Our affiliate link tracking works by setting path for internal links to track as outbound links."
8433
  msgstr ""
8434
 
8435
+ #: languages/vue.php:2569
8436
  msgid "The ExactMetrics Headline Analyzer tool in the Gutenberg editor enables you to write irresistible SEO-friendly headlines that drive traffic, social media shares, and rank better in search results."
8437
  msgstr ""
8438
 
8439
+ #: languages/vue.php:2572
8440
  msgid "Disable the Headline Analyzer"
8441
  msgstr ""
8442
 
8443
  #. Translators: Add line break.
8444
+ #: languages/vue.php:2576
8445
  msgid "See All Your Important Store%s Metrics in One Place"
8446
  msgstr ""
8447
 
8448
+ #: languages/vue.php:2579
8449
  msgid "Get an Answer to All Your Top Ecommerce Questions From a Single Report"
8450
  msgstr ""
8451
 
8452
+ #: languages/vue.php:2582
8453
  msgid "See Your Conversion Rate to Improve Funnel"
8454
  msgstr ""
8455
 
8456
+ #: languages/vue.php:2585
8457
  msgid "See The Number of Transactions and Make Data-Driven Decisions"
8458
  msgstr ""
8459
 
8460
+ #: languages/vue.php:2588
8461
  msgid "See The Total Revenue to Track Growth"
8462
  msgstr ""
8463
 
8464
+ #: languages/vue.php:2591
8465
  msgid "See Average Order Value to Find Offer Opportunities"
8466
  msgstr ""
8467
 
8468
+ #: languages/vue.php:2594
8469
  msgid "See Your Top Products to See Individual Performance"
8470
  msgstr ""
8471
 
8472
+ #: languages/vue.php:2597
8473
  msgid "See your Top Conversion Sources and Focus on what's Working"
8474
  msgstr ""
8475
 
8476
+ #: languages/vue.php:2600
8477
  msgid "See The Time it Takes for Customers to Purchase"
8478
  msgstr ""
8479
 
8480
+ #: languages/vue.php:2603
8481
  msgid "See How Many Sessions are Needed for a Purchase"
8482
  msgstr ""
8483
 
8484
+ #: languages/vue.php:2606
8485
  msgid "Automatically Track Affiliate Sales"
8486
  msgstr ""
8487
 
8488
+ #: languages/vue.php:2609
8489
  msgid "The ExactMetrics eCommerce addon works with EasyAffiliate, so that you can instantly track all affiliate referrals and sales inside WordPress and Google Analytics, with no coding needed."
8490
  msgstr ""
8491
 
8492
+ #: languages/vue.php:2612
8493
  msgid "Works with WooCommerce, MemberPress, and EasyDigitalDownloads."
8494
  msgstr ""
8495
 
8496
+ #: languages/vue.php:2615
8497
  msgid "Cross Domain Tracking"
8498
  msgstr ""
8499
 
8500
  #. Translators: Add links to documentation.
8501
+ #: languages/vue.php:2619
8502
  msgid "Cross domain tracking makes it possible for Analytics to see sessions on two related sites as a single session. More info on specific setup steps can be found in our %1$sknowledge base%2$s."
8503
  msgstr ""
8504
 
8505
+ #: languages/vue.php:2622
8506
  msgid "Enable Demographics and Interests Reports for Remarketing and Advertising"
8507
  msgstr ""
8508
 
8509
+ #: languages/vue.php:2625
8510
  msgid "Anonymize IP Addresses"
8511
  msgstr ""
8512
 
8513
+ #: languages/vue.php:2628
8514
  msgid "Link Attribution"
8515
  msgstr ""
8516
 
8517
+ #: languages/vue.php:2631
8518
  msgid "Enable Enhanced Link Attribution"
8519
  msgstr ""
8520
 
8521
+ #: languages/vue.php:2634
8522
  msgid "Enable Anchor Tracking"
8523
  msgstr ""
8524
 
8525
+ #: languages/vue.php:2637
8526
  msgid "Enable allowAnchor"
8527
  msgstr ""
8528
 
8529
+ #: languages/vue.php:2640
8530
  msgid "Enable allowLinker"
8531
  msgstr ""
8532
 
8533
+ #: languages/vue.php:2643
8534
  msgid "Enable Tag Links in RSS"
8535
  msgstr ""
8536
 
8537
+ #: languages/vue.php:2646
8538
  msgid "File Downloads"
8539
  msgstr ""
8540
 
8541
+ #: languages/vue.php:2649
8542
  msgid "Extensions of Files to Track as Downloads"
8543
  msgstr ""
8544
 
8545
+ #: languages/vue.php:2652
8546
  msgid "ExactMetrics will send an event to Google Analytics if a link to a file has one of the above extensions."
8547
  msgstr ""
8548
 
8549
  #. Translators: Add links to documentation.
8550
+ #: languages/vue.php:2656
8551
  msgid "Enable this setting to add the Demographics and Remarketing features to your Google Analytics tracking code. Make sure to enable Demographics and Remarketing in your Google Analytics account. We have a guide for how to do that in our %1$sknowledge base%2$s. For more information about Remarketing, we refer you to %3$sGoogle's documentation%4$s. Note that usage of this function is affected by privacy and cookie laws around the world. Be sure to follow the laws that affect your target audience."
8552
  msgstr ""
8553
 
8554
  #. Translators: Add links to documentation.
8555
+ #: languages/vue.php:2660
8556
  msgid "This adds %1$sanonymizeIp%2$s, telling Google Analytics to anonymize the information sent by the tracker objects by removing the last octet of the IP address prior to its storage."
8557
  msgstr ""
8558
 
8559
  #. Translators: Add links to documentation.
8560
+ #: languages/vue.php:2664
8561
  msgid "Adds the Enhanced Link Attribution (retain link) code to improve the accuracy of your In-Page Analytics report by automatically differentiating between multiple links to the same URL on a single page by using link element IDs."
8562
  msgstr ""
8563
 
8564
+ #: languages/vue.php:2667
8565
  msgid "Many WordPress \"1-page\" style themes rely on anchor tags for navigation to show virtual pages. The problem is that to Google Analytics, these are all just a single page, and it makes it hard to get meaningful statistics about pages viewed. This feature allows proper tracking in those themes."
8566
  msgstr ""
8567
 
8568
  #. Translators: Add links to documentation.
8569
+ #: languages/vue.php:2671
8570
  msgid "This adds %1$sallowAnchor%2$s to the create command of the pageview hit tracking code, and makes RSS link tagging use a # as well."
8571
  msgstr ""
8572
 
8573
  #. Translators: Add links to documentation.
8574
+ #: languages/vue.php:2675
8575
  msgid "Enabling %1$scross-domain tracking (additional setup required)%2$s allows you to track users across multiple properties you own (such as example-1.com and example-2.com as a single session. It also allows you fix an issue so that when a user has to go to an off-site hosted payment gateway to finish a purchase it doesn't count it as referral traffic from that gateway but maintains the visit as part of the same session.) It is required that the other site includes a Google Analytics tracker with the same UA Code."
8576
  msgstr ""
8577
 
8578
  #. Translators: Add links to documentation.
8579
+ #: languages/vue.php:2679
8580
  msgid "Do not use this feature if you use FeedBurner, as FeedBurner can do this automatically and better than this plugin can. Check this %1$shelp page%2$s for info on how to enable this feature in FeedBurner."
8581
  msgstr ""
8582
 
8583
+ #: languages/vue.php:2682
8584
  msgid "Add domain"
8585
  msgstr ""
8586
 
8587
  #. Translators: Domain name example.
8588
+ #: languages/vue.php:2686
8589
  msgid "Domain (example: %s)"
8590
  msgstr ""
8591
 
8592
  #. Translators: Current domain name that should not be used.
8593
+ #: languages/vue.php:2690
8594
  msgid "Please enter domain names only ( example: example.com not http://example.com ) and not current site domain ( %s )."
8595
  msgstr ""
8596
 
8597
  #. Translators: Adds link to the account area to retreive license key.
8598
+ #: languages/vue.php:2694
8599
  msgid "Already have a license key? Add it below to unlock ExactMetrics PRO. %1$sRetrieve your license key%2$s."
8600
  msgstr ""
8601
 
8602
+ #: languages/vue.php:2697
8603
  msgid "Connect ExactMetrics to Start Tracking Your Data"
8604
  msgstr ""
8605
 
8606
+ #: languages/vue.php:2700
8607
  msgid "Complete Upgrade"
8608
  msgstr ""
8609
 
8610
+ #: languages/vue.php:2703
8611
  msgid "Upgrade to Pro Version!"
8612
  msgstr ""
8613
 
8614
  #. Translators: Make text bold.
8615
+ #: languages/vue.php:2707
8616
  msgid "%1$sExactMetrics%2$s can automatically upgrade the installed version to the Pro and walk you through the process."
8617
  msgstr ""
8618
 
8619
+ #: languages/vue.php:2710
8620
  msgid "Install All-in-One SEO"
8621
  msgstr ""
8622
 
8623
+ #: languages/vue.php:2713
8624
  msgid "Improve Your Website Search Rankings With All-In-One SEO"
8625
  msgstr ""
8626
 
8627
+ #: languages/vue.php:2716
8628
  msgid "If you’re not using a plugin to optimize your website’s SEO you’re missing out on valuable organic traffic!"
8629
  msgstr ""
8630
 
8631
+ #: languages/vue.php:2719
8632
  msgid "Finally, a WordPress SEO Plugin that’s Easy and Powerful!"
8633
  msgstr ""
8634
 
8635
+ #: languages/vue.php:2722
8636
  msgid "AIOSEO makes it easy to set up the proper SEO foundations in less than 10 minutes."
8637
  msgstr ""
8638
 
8639
+ #: languages/vue.php:2725
8640
  msgid "Local SEO"
8641
  msgstr ""
8642
 
8643
+ #: languages/vue.php:2728
8644
  msgid "All in One SEO gives you all the tools you need to improve your local SEO and rank higher on Google Maps."
8645
  msgstr ""
8646
 
8647
+ #: languages/vue.php:2731
8648
  msgid "WooCommerce SEO"
8649
  msgstr ""
8650
 
8651
+ #: languages/vue.php:2734
8652
  msgid "Advanced eCommerce SEO support for WooCommerce to optimize product pages, product categories, and more."
8653
  msgstr ""
8654
 
8655
+ #: languages/vue.php:2737
8656
  msgid "SEO Custom User Roles"
8657
  msgstr ""
8658
 
8659
+ #: languages/vue.php:2740
8660
  msgid "SEO user roles allow you to manage access to important SEO features without handing over control of your website."
8661
  msgstr ""
8662
 
8663
+ #: languages/vue.php:2743
8664
  msgid "Google News Sitemap"
8665
  msgstr ""
8666
 
8667
+ #: languages/vue.php:2746
8668
  msgid "Get higher rankings and unlock more traffic by submitting your latest news articles to Google News."
8669
  msgstr ""
8670
 
8671
+ #: languages/vue.php:2749
8672
  msgid "Smart XML Sitemaps"
8673
  msgstr ""
8674
 
8675
+ #: languages/vue.php:2752
8676
  msgid "Automatically generate a WordPress XML sitemap and notify all search engines of any updates."
8677
  msgstr ""
8678
 
8679
+ #: languages/vue.php:2755
8680
  msgid "Social Media Integration"
8681
  msgstr ""
8682
 
8683
+ #: languages/vue.php:2758
8684
  msgid "Easily control how your content and thumbnails look on Facebook, Twitter, and other social media networks."
8685
  msgstr ""
8686
 
8687
+ #: languages/vue.php:2761
8688
  msgid "TruSEO On-Page Analysis"
8689
  msgstr ""
8690
 
8691
+ #: languages/vue.php:2764
8692
  msgid "Easily add title tags, meta descriptions, keywords, and everything else you need for proper on-page SEO optimization."
8693
  msgstr ""
8694
 
8695
+ #: languages/vue.php:2767
8696
  msgid "& Many More!"
8697
  msgstr ""
8698
 
8699
+ #: languages/vue.php:2770
8700
  msgid "Installing. Please wait.."
8701
  msgstr ""
8702
 
8703
+ #: languages/vue.php:2773
8704
  msgid "Install All-in-One-SEO"
8705
  msgstr ""
8706
 
8707
+ #: languages/vue.php:2776
8708
  msgid "Unlock the Publisher Report and Focus on the Content That Matters"
8709
  msgstr ""
8710
 
8711
+ #: languages/vue.php:2779
8712
  msgid "See Your Top Landing Pages to Improve Engagement"
8713
  msgstr ""
8714
 
8715
+ #: languages/vue.php:2782
8716
  msgid "See Your Top Exit Pages to Reduce Abandonment"
8717
  msgstr ""
8718
 
8719
+ #: languages/vue.php:2785
8720
  msgid "See Your Top Outbound Links to Find New Revenue Opportunities"
8721
  msgstr ""
8722
 
8723
+ #: languages/vue.php:2788
8724
  msgid "See Your Top Affiliate Links and Focus on What’s Working"
8725
  msgstr ""
8726
 
8727
+ #: languages/vue.php:2791
8728
  msgid "See Your Top Downloads and Improve Conversions"
8729
  msgstr ""
8730
 
8731
+ #: languages/vue.php:2794
8732
  msgid "See Audience Demographic Report (Age / Gender / Interests)"
8733
  msgstr ""
8734
 
8735
+ #: languages/vue.php:2797
8736
  msgid "Welcome to the all-new ExactMetrics"
8737
  msgstr ""
8738
 
8739
+ #: languages/vue.php:2800
8740
  msgid "Redesigned from the ground up, ExactMetrics is built to bring a world-class analytics and reporting experience to WordPress."
8741
  msgstr ""
8742
 
8743
+ #: languages/vue.php:2803
8744
  msgid "The New & Improved ExactMetrics includes:"
8745
  msgstr ""
8746
 
8747
+ #: languages/vue.php:2806
8748
  msgid "All-New Design"
8749
  msgstr ""
8750
 
8751
+ #: languages/vue.php:2809
8752
  msgid "Better Reporting"
8753
  msgstr ""
8754
 
8755
+ #: languages/vue.php:2812
8756
  msgid "Better Tracking"
8757
  msgstr ""
8758
 
8759
+ #: languages/vue.php:2815
8760
  msgid "Better Support"
8761
  msgstr ""
8762
 
8763
+ #: languages/vue.php:2819
8764
  msgid "Continue"
8765
  msgstr ""
8766
 
8767
+ #: languages/vue.php:2822
8768
  msgid "Your settings have been automatically transferred."
8769
  msgstr ""
8770
 
8771
+ #: languages/vue.php:2825
8772
  msgid "On the next step, you will be asked to re-authenticate with Google Analytics. Please %1$ssee our detailed post%2$s to learn why we need your help. Don't worry, your tracking will continue to work as-is even if you don't do this, but re-auth is required to see analytics reports inside WordPress dashboard."
8773
  msgstr ""
8774
 
8775
+ #: languages/vue.php:2828
8776
  msgid "New"
8777
  msgstr ""
8778
 
8779
+ #: languages/vue.php:2831
8780
  msgid "Returning"
8781
  msgstr ""
8782
 
8783
+ #: languages/vue.php:2834
8784
  msgid "Top 10 Countries"
8785
  msgstr ""
8786
 
8787
+ #: languages/vue.php:2837
8788
  msgid "View Countries Report"
8789
  msgstr ""
8790
 
8791
+ #: languages/vue.php:2840
8792
  msgid "Top 10 Referrals"
8793
  msgstr ""
8794
 
8795
+ #: languages/vue.php:2843
8796
  msgid "View All Referral Sources"
8797
  msgstr ""
8798
 
8799
+ #: languages/vue.php:2846
8800
  msgid "View Full Posts/Pages Report"
8801
  msgstr ""
8802
 
8803
+ #: languages/vue.php:2849
8804
  msgid "Percentage of single-page visits (or web sessions). It is the number of visits in which a person leaves your website from the landing page without browsing any further."
8805
  msgstr ""
8806
 
8807
+ #: languages/vue.php:2852
8808
  msgid "This list shows the top countries your website visitors are from."
8809
  msgstr ""
8810
 
8811
+ #: languages/vue.php:2855
8812
  msgid "This list shows the top websites that send your website traffic, known as referral traffic."
8813
  msgstr ""
8814
 
8815
+ #: languages/vue.php:2858
8816
  msgid "This feature requires ExactMetrics Pro"
8817
  msgstr ""
8818
 
8819
+ #: languages/vue.php:2861
8820
  msgid "By upgrading you will also get access to advanced eCommerce tracking, Custom Dimensions and more."
8821
  msgstr ""
8822
 
8823
+ #: languages/vue.php:2864
8824
  msgid "Upgrade to Pro and Unlock Popular Products"
8825
  msgstr ""
8826
 
8827
+ #: languages/vue.php:2867
8828
  msgid "View all Pro features"
8829
  msgstr ""
8830
 
8831
+ #: languages/vue.php:2870
8832
  msgid "View notifications"
8833
  msgstr ""
8834
 
8835
+ #: languages/vue.php:2873
8836
  msgid "Days"
8837
  msgstr ""
8838
 
8839
  #. Translators: placeholders make text small.
8840
+ #: languages/vue.php:2877
8841
  msgid "7 days"
8842
  msgstr ""
8843
 
8844
+ #: languages/vue.php:2880
8845
  msgid "30 days"
8846
  msgstr ""
8847
 
8848
+ #: languages/vue.php:2883
8849
  msgid "Custom"
8850
  msgstr ""
8851
 
8852
+ #: languages/vue.php:2886
8853
  msgid "2,000,000+ use AIOSEO to Improve Their Website Search Rankings"
8854
  msgstr ""
8855
 
8856
+ #: languages/vue.php:2889
8857
  msgid "All-in-One SEO is a great product. I have been using it on all my WP sites for several years. I highly recommend it."
8858
  msgstr ""
8859
 
8860
+ #: languages/vue.php:2892
8861
  msgid "Jack Brown"
8862
  msgstr ""
8863
 
8864
+ #: languages/vue.php:2895
8865
  msgid "PJB Internet Marketing"
8866
  msgstr ""
8867
 
8868
+ #: languages/vue.php:2898
8869
  msgid "I’m a professional SEO and used many tools and extensions. Regarding simplicity, individuality and configurability All in One SEO Pro is by far the best SEO plugin out there for WordPress."
8870
  msgstr ""
8871
 
8872
+ #: languages/vue.php:2901
8873
  msgid "Joel Steinmann"
8874
  msgstr ""
8875
 
8876
+ #: languages/vue.php:2904
8877
  msgid "CEO, Solergo"
8878
  msgstr ""
8879
 
8880
+ #: languages/vue.php:2907
8881
  msgid "Only Show Posts from These Categories"
8882
  msgstr ""
8883
 
8884
+ #: languages/vue.php:2910
8885
  msgid "Choose from which categories posts will be displayed in the widget. All categories will be used if left empty."
8886
  msgstr ""
8887
 
8888
+ #: languages/vue.php:2913
8889
  msgid "Activating..."
8890
  msgstr ""
8891
 
8892
+ #: languages/vue.php:2916
8893
  msgid "Deactivating..."
8894
  msgstr ""
8895
 
8896
+ #: languages/vue.php:2919
8897
  msgid "Deactivate"
8898
  msgstr ""
8899
 
8900
+ #: languages/vue.php:2922
8901
  msgid "Search Console Report"
8902
  msgstr ""
8903
 
8904
+ #: languages/vue.php:2925
8905
  msgid "See exactly how people find tour website, which keywords they searched for, how many times the results were viewed, and more."
8906
  msgstr ""
8907
 
8908
+ #: languages/vue.php:2928
8909
  msgid "See Your Top Google Search Terms and Optimize Content"
8910
  msgstr ""
8911
 
8912
+ #: languages/vue.php:2931
8913
  msgid "See The Number of Clicks and Track Interests"
8914
  msgstr ""
8915
 
8916
+ #: languages/vue.php:2934
8917
  msgid "See The Click-Through-Ratio and Improve SEO"
8918
  msgstr ""
8919
 
8920
+ #: languages/vue.php:2937
8921
  msgid "See The Average Results Position and Focus on what works."
8922
  msgstr ""
8923
 
8924
+ #: languages/vue.php:2940
8925
  msgid "Ecommerce Report"
8926
  msgstr ""
8927
 
8928
+ #: languages/vue.php:2943
8929
  msgid "Increase your sales & revenue with insights. ExactMetrics answers all your top eCommerce questions using metrics like total revenue, conversion rate, average order value top products, top referral sources and more."
8930
  msgstr ""
8931
 
8932
+ #: languages/vue.php:2946
8933
  msgid "See Your Conversion Rate to Improve Your Funnel"
8934
  msgstr ""
8935
 
8936
+ #: languages/vue.php:2949
8937
  msgid "See Your Top Conversion Sources and Focus on What's Working"
8938
  msgstr ""
8939
 
8940
+ #: languages/vue.php:2952
8941
  msgid "Popular Posts data can be fetched correctly"
8942
  msgstr ""
8943
 
8944
+ #: languages/vue.php:2955
8945
  msgid "Please note: depending on when you set up the Custom Dimensions settings, it may take up to 7 days to see relevant Popular Posts data loading from Google Analytics."
8946
  msgstr ""
8947
 
8948
+ #: languages/vue.php:2958
8949
  msgid "Close"
8950
  msgstr ""
8951
 
8952
+ #: languages/vue.php:2961
8953
  msgid "Add Top 5 Posts from Google Analytics"
8954
  msgstr ""
8955
 
8956
+ #: languages/vue.php:2964
8957
  msgid "In order to load the top posts from Google Analytics you will need to enable the Custom Dimensions addon and set up the Post Type custom dimension in both ExactMetrics and Google Analytics settings."
8958
  msgstr ""
8959
 
8960
+ #: languages/vue.php:2967
8961
  msgid "Test Automated Posts"
8962
  msgstr ""
8963
 
8964
  #. Translators: Placeholder adds a link to the Popular Posts GA setup instructions doc.
8965
+ #: languages/vue.php:2971
8966
  msgid "Click this button to run a series of checks that will confirm your setup is completed to load Popular Posts from Google Analytics."
8967
  msgstr ""
8968
 
8969
+ #: languages/vue.php:2974
8970
  msgid "Automated + Curated"
8971
  msgstr ""
8972
 
8973
  #. Translators: Placeholder adds a link to the Custom Dimensions settings.
8974
+ #: languages/vue.php:2978
8975
  msgid "Automatically add the top 5 Posts from the past 30 days to your Curated list of Posts using %1$sCustom Dimensions%2$s. Also requires Sort By - Curated to be selected. Setup steps can be found in our %3$sknowledge base%4$s."
8976
  msgstr ""
8977
 
8978
  #. Translators: Placeholder gets replaced with current license version.
8979
+ #: languages/vue.php:2982
8980
  msgid "Pro version is required."
8981
  msgstr ""
8982
 
8983
+ #: languages/vue.php:2985
8984
  msgid "Verifying Popular Posts data"
8985
  msgstr ""
8986
 
8987
+ #: languages/vue.php:2988
8988
  msgid "Multiple Entries"
8989
  msgstr ""
8990
 
8991
+ #: languages/vue.php:2991
8992
  msgid "Total Number of Widgets to Show"
8993
  msgstr ""
8994
 
8995
+ #: languages/vue.php:2994
8996
  msgid "Choose how many widgets will be placed in a single Post."
8997
  msgstr ""
8998
 
8999
+ #: languages/vue.php:2997
9000
  msgid "Minimum Distance Between Widgets"
9001
  msgstr ""
9002
 
9003
+ #: languages/vue.php:3000
9004
  msgid "Choose the distance between widgets."
9005
  msgstr ""
9006
 
9007
+ #: languages/vue.php:3003
9008
  msgid "Minimum Word Count to Display Multiple Widgets"
9009
  msgstr ""
9010
 
9011
+ #: languages/vue.php:3006
9012
  msgid "Choose the minimum word count for a Post to have multiple entries."
9013
  msgstr ""
9014
 
9015
+ #: languages/vue.php:3009
9016
  msgid "Pro version is required"
9017
  msgstr ""
9018
 
9019
  #. Translators: Placeholder adds a link to the Custom Dimensions settings.
9020
+ #: languages/vue.php:3013
9021
  msgid "Automatically add the top 5 Posts from the past 30 days to your Curated list of Posts using Custom Dimensions (Pro version required. %1$sUpgrade now%2$s)."
9022
  msgstr ""
9023
 
9024
+ #: languages/vue.php:3016
9025
  msgid "Select posts/search"
9026
  msgstr ""
9027
 
9028
+ #: languages/vue.php:3019
9029
  msgid "Oops! No posts found."
9030
  msgstr ""
9031
 
9032
+ #: languages/vue.php:3022
9033
  msgid "Search by post title"
9034
  msgstr ""
9035
 
9036
+ #: languages/vue.php:3025
9037
  msgid "Can't load posts."
9038
  msgstr ""
9039
 
9040
+ #: languages/vue.php:3028
9041
  msgid "Sartorial taxidermy venmo you probably haven't heard of them, tofu fingerstache ethical pickled hella ramps vice snackwave seitan typewriter tofu."
9042
  msgstr ""
9043
 
9044
+ #: languages/vue.php:3031
9045
  msgid "Austin typewriter heirloom distillery twee migas wayfarers. Fingerstache master cleanse quinoa humblebrag, iPhone taxidermy snackwave seitan typewriter tofu organic affogato kitsch. Artisan"
9046
  msgstr ""
9047
 
9048
+ #: languages/vue.php:3034
9049
  msgid "Color"
9050
  msgstr ""
9051
 
9052
+ #: languages/vue.php:3037
9053
  msgid "Size"
9054
  msgstr ""
9055
 
9056
+ #: languages/vue.php:3040
9057
  msgid "Title"
9058
  msgstr ""
9059
 
9060
+ #: languages/vue.php:3043
9061
  msgid "Label"
9062
  msgstr ""
9063
 
9064
+ #: languages/vue.php:3046
9065
  msgid "Background"
9066
  msgstr ""
9067
 
9068
+ #: languages/vue.php:3049
9069
  msgid "Border"
9070
  msgstr ""
9071
 
9072
+ #: languages/vue.php:3052
9073
  msgid "Icon"
9074
  msgstr ""
9075
 
9076
+ #: languages/vue.php:3056
9077
  #: lite/includes/popular-posts/class-popular-posts-widget-sidebar.php:257
9078
  msgid "Theme Preview"
9079
  msgstr ""
9080
 
9081
+ #: languages/vue.php:3059
9082
  msgid "SharedCount API Key"
9083
  msgstr ""
9084
 
9085
+ #: languages/vue.php:3062
9086
  msgid "Insert your sharedcount API key found in your %1$sSettings%2$s panel. After, click Start Indexing."
9087
  msgstr ""
9088
 
9089
+ #: languages/vue.php:3065
9090
  msgid "Start Indexing"
9091
  msgstr ""
9092
 
9093
+ #: languages/vue.php:3068
9094
  msgid "%1$sIndex Progress: %2$s%%.%3$s You may leave this page during indexing."
9095
  msgstr ""
9096
 
9097
+ #: languages/vue.php:3071
9098
  msgid "Indexing completed, counts will update automatically every day."
9099
  msgstr ""
9100
 
9101
  #. Translators: Minimum and maximum number that can be used.
9102
+ #: languages/vue.php:3075
9103
  msgid "Please enter a value between %1$s and %2$s"
9104
  msgstr ""
9105
 
9106
  #. Translators: The minimum set value.
9107
+ #: languages/vue.php:3079
9108
  msgid "Please enter a value higher than %s"
9109
  msgstr ""
9110
 
9111
  #. Translators: The maximum set value.
9112
+ #: languages/vue.php:3083
9113
  msgid "Please enter a value lower than %s"
9114
  msgstr ""
9115
 
9116
+ #: languages/vue.php:3086
9117
  msgid "Please enter a number"
9118
  msgstr ""
9119
 
9120
+ #: languages/vue.php:3089
9121
  msgid "Value has to be a round number"
9122
  msgstr ""
9123
 
9124
+ #: languages/vue.php:3092
9125
  msgid "Author/Date"
9126
  msgstr ""
9127
 
9128
+ #: languages/vue.php:3104
9129
  msgid "Choose which content you would like displayed in the widget."
9130
  msgstr ""
9131
 
9132
+ #: languages/vue.php:3116
9133
  msgid "Comments"
9134
  msgstr ""
9135
 
9136
+ #: languages/vue.php:3122
9137
  msgid "Choose how many posts you’d like displayed in the widget."
9138
  msgstr ""
9139
 
9140
  #. Translators: Page number of total pages. 1 & 2 make the first part of the text bold.
9141
+ #: languages/vue.php:3126
9142
  msgid "%1$sPage %3$s%2$s of %4$s"
9143
  msgstr ""
9144
 
9145
+ #: languages/vue.php:3129
9146
  msgid "Wide"
9147
  msgstr ""
9148
 
9149
+ #: languages/vue.php:3132
9150
  msgid "Narrow"
9151
  msgstr ""
9152
 
9153
  #. Translators: Make text green.
9154
+ #: languages/vue.php:3136
9155
  msgid "Upgrade to Pro and unlock addons and other great features. %1$sSave 50%% automatically!%2$s"
9156
  msgstr ""
9157
 
9158
+ #: languages/vue.php:3142
9159
  msgid "Download the analytics reports instantly from the WordPress dashboard as PDF files and share them with anyone."
9160
  msgstr ""
9161
 
9162
+ #: languages/vue.php:3145
9163
  msgid "Our email summaries feature sends a weekly summary of the most important site analytics information."
9164
  msgstr ""
9165
 
9166
+ #: languages/vue.php:3148
9167
  msgid "Usage Tracking"
9168
  msgstr ""
9169
 
9170
+ #: languages/vue.php:3151
9171
  msgid "By allowing us to track usage data we can better help you because we know with which WordPress configurations, themes and plugins we should test."
9172
  msgstr ""
9173
 
9174
+ #: languages/vue.php:3154
9175
  msgid "Allow usage tracking"
9176
  msgstr ""
9177
 
9178
  #. Translators: Adds a link to the documentation.
9179
+ #: languages/vue.php:3158
9180
  msgid "Complete documentation on usage tracking is available %1$shere%2$s."
9181
  msgstr ""
9182
 
9183
+ #: languages/vue.php:3161
9184
  msgid "Facebook Instant Articles"
9185
  msgstr ""
9186
 
9187
+ #: languages/vue.php:3164
9188
  msgid "Want to expand your website audience beyond your website with Facebook Instant Articles? Upgrade to ExactMetrics Pro."
9189
  msgstr ""
9190
 
9191
+ #: languages/vue.php:3167
9192
  msgid "Performance"
9193
  msgstr ""
9194
 
9195
+ #: languages/vue.php:3170
9196
  msgid "Adjust the sample rate so you don't exceed Google Analytics' processing limit. Can also be used to enable Google Optimize for A/B testing and personalization."
9197
  msgstr ""
9198
 
9199
+ #: languages/vue.php:3173
9200
  msgid "Google AMP"
9201
  msgstr ""
9202
 
9203
+ #: languages/vue.php:3176
9204
  msgid "Want to use track users visiting your AMP pages? By upgrading to ExactMetrics Pro, you can enable AMP page tracking."
9205
  msgstr ""
9206
 
9207
+ #: languages/vue.php:3179
9208
  msgid "Ads Tracking"
9209
  msgstr ""
9210
 
9211
+ #: languages/vue.php:3182
9212
  msgid "Add Ads tracking to see who's clicking on your Google Ads, so you can increase your revenue."
9213
  msgstr ""
9214
 
9215
+ #: languages/vue.php:3185
9216
  msgid "Unlock with %s"
9217
  msgstr ""
9218
 
9219
+ #: languages/vue.php:3188
9220
  msgid "Scroll Tracking"
9221
  msgstr ""
9222
 
9223
+ #: languages/vue.php:3191
9224
  msgid "Scroll depth tracking in web analytics is one of those things you simply must do, especially if you have a content-heavy site."
9225
  msgstr ""
9226
 
9227
+ #: languages/vue.php:3194
9228
  msgid ""
9229
  "The EU Compliance addon allows you to improve compliance with GDPR\n"
9230
  " and other privacy regulations."
9231
  msgstr ""
9232
 
9233
+ #: languages/vue.php:3198
9234
  msgid "EU Compliance"
9235
  msgstr ""
9236
 
9237
+ #: languages/vue.php:3201
9238
  msgid "Compatibility mode"
9239
  msgstr ""
9240
 
9241
+ #: languages/vue.php:3204
9242
  msgid "Enable _gtagTracker Compatibility"
9243
  msgstr ""
9244
 
9245
  #. Translators: Placeholder gets replaced with default GA js function.
9246
+ #: languages/vue.php:3208
9247
  msgid "This enables ExactMetrics to work with plugins that use %1$s and don't support %2$s"
9248
  msgstr ""
9249
 
9250
+ #: languages/vue.php:3211
9251
  msgid "It's easy to double your traffic and sales when you know exactly how people find and use your website. ExactMetrics Pro shows you the stats that matter!"
9252
  msgstr ""
9253
 
9254
+ #: languages/vue.php:3214
9255
  msgid "To unlock more features consider upgrading to PRO."
9256
  msgstr ""
9257
 
9258
+ #: languages/vue.php:3217
9259
  msgid "Upgrade to"
9260
  msgstr ""
9261
 
9262
+ #: languages/vue.php:3220
9263
  msgid "Export PDF Report"
9264
  msgstr ""
9265
 
9266
+ #: languages/vue.php:3223
9267
  msgid "You can export PDF reports only in the PRO version."
9268
  msgstr ""
9269
 
9270
+ #: languages/vue.php:3226
9271
  msgid "Display Method"
9272
  msgstr ""
9273
 
9274
+ #: languages/vue.php:3229
9275
  msgid "There are two ways to manual include the widget in your posts."
9276
  msgstr ""
9277
 
9278
+ #: languages/vue.php:3233
9279
  msgid "Using the Gutenberg Block"
9280
  msgstr ""
9281
 
9282
+ #: languages/vue.php:3236
9283
  msgid "Using the Shortcode"
9284
  msgstr ""
9285
 
9286
+ #: languages/vue.php:3239
9287
  msgid "Learn how to insert the widget using Gutenberg blocks."
9288
  msgstr ""
9289
 
9290
+ #: languages/vue.php:3242
9291
  msgid "Learn how to insert the widget using out Shortcode."
9292
  msgstr ""
9293
 
9294
+ #: languages/vue.php:3245
9295
  msgid "%1$sWatch Video%2$s - How to Add the Inline Popular Post widget using Gutenberg"
9296
  msgstr ""
9297
 
9298
+ #: languages/vue.php:3249
9299
  msgid "%1$sStep 1%2$s - Click the “Add Block” icon while editing a Post or Page."
9300
  msgstr ""
9301
 
9302
+ #: languages/vue.php:3252
9303
  msgid "%1$sStep 2%2$s - Search for “Inline Popular Posts by ExactMetrics”."
9304
  msgstr ""
9305
 
9306
+ #: languages/vue.php:3256
9307
  msgid "%1$sStep 3%2$s - Style the widget using the Block Settings sidebar."
9308
  msgstr ""
9309
 
9310
+ #: languages/vue.php:3259
9311
  msgid "Shortcode"
9312
  msgstr ""
9313
 
9314
+ #: languages/vue.php:3263
9315
  msgid "Copy the shortcode and paste it into your Page and/or Post templates or using a shortcode plugin."
9316
  msgstr ""
9317
 
9318
+ #: languages/vue.php:3267
9319
  msgid "Copy Shortcode"
9320
  msgstr ""
9321
 
9322
+ #: languages/vue.php:3270
9323
  msgid "%1$sWatch Video%2$s - How to Add the Inline Popular Post widget using our Shortcode"
9324
  msgstr ""
9325
 
9326
+ #: languages/vue.php:3273
9327
  msgid "Automatic Placement"
9328
  msgstr ""
9329
 
9330
+ #: languages/vue.php:3276
9331
  msgid "Display using Gutenberg Blocks"
9332
  msgstr ""
9333
 
9334
+ #: languages/vue.php:3279
9335
  msgid "Embed Options"
9336
  msgstr ""
9337
 
9338
+ #: languages/vue.php:3282
9339
  msgid "All Embed Options can be used in conjunction with one another."
9340
  msgstr ""
9341
 
9342
+ #: languages/vue.php:3285
9343
  msgid "Using Automatic Embed"
9344
  msgstr ""
9345
 
9346
+ #: languages/vue.php:3288
9347
  msgid "Learn how to insert the Popular Posts Widget into your posts and pages using Gutenberg Blocks. To style this widget, use the Gutenberg Block settings."
9348
  msgstr ""
9349
 
9350
+ #: languages/vue.php:3291
9351
  msgid "Enabling Automatic Placement will include the Popular Posts Widget after the last paragraph of any and all posts that match your Behavior settings. To style this widget use the Customize Design panel above."
9352
  msgstr ""
9353
 
9354
+ #: languages/vue.php:3294
9355
  msgid "Learn how to insert the Popular Posts Widget using a shortcode. To style this widget use the Customize Design panel above."
9356
  msgstr ""
9357
 
9358
+ #: languages/vue.php:3297
9359
  msgid "%1$sWatch Video%2$s - How to Add the Popular Posts widget using Gutenberg"
9360
  msgstr ""
9361
 
9362
+ #: languages/vue.php:3300
9363
  msgid "%1$sStep 2%2$s - Search for “Popular Posts”."
9364
  msgstr ""
9365
 
9366
+ #: languages/vue.php:3303
9367
  msgid "%1$sStep 1%2$s - Navigate to your Appearance > Widgets page using the menu on the left side your screen. Must be logged in as Admin."
9368
  msgstr ""
9369
 
9370
+ #: languages/vue.php:3306
9371
  msgid "%1$sStep 2%2$s - On the left, under Available Widgets, look for the Popular Posts - ExactMetrics widget and drag it into the desired Sidebar on the right."
9372
  msgstr ""
9373
 
9374
+ #: languages/vue.php:3309
9375
  msgid "%1$sStep 3%2$s - The widget options should automatically expand allowing you to customize the design."
9376
  msgstr ""
9377
 
9378
+ #: languages/vue.php:3312
9379
  msgid "Display using a Shortcode"
9380
  msgstr ""
9381
 
9382
+ #: languages/vue.php:3315
9383
  msgid "%1$sWatch Video%2$s - How to Add the Popular Posts widget using our Shortcode"
9384
  msgstr ""
9385
 
9386
+ #: languages/vue.php:3318
9387
  msgid "Enable Automatic Placement"
9388
  msgstr ""
9389
 
9390
+ #: languages/vue.php:3321
9391
  msgid "Display in a Sidebar"
9392
  msgstr ""
9393
 
9394
+ #: languages/vue.php:3324
9395
  msgid "Learn how to insert the Popular Posts Widget into a Sidebar. To style this widget use the Customize Design panel above."
9396
  msgstr ""
9397
 
9398
+ #: languages/vue.php:3327
9399
  msgid "Watch Video - How to Add the Popular Posts widget using Widgets"
9400
  msgstr ""
9401
 
9402
  #. Translators: The number of results.
9403
+ #: languages/vue.php:3331
9404
  msgid "%s results"
9405
  msgstr ""
9406
 
9407
+ #: languages/vue.php:3334
9408
  msgid "Media"
9409
  msgstr ""
9410
 
9411
+ #: languages/vue.php:3337
9412
  msgid "Track how your users interact with videos on your website. Upgrade to ExactMetrics Pro."
9413
  msgstr ""
9414
 
9415
+ #: languages/vue.php:3341
9416
  msgid "2021 Year in Review"
9417
  msgstr ""
9418
 
9419
+ #: languages/vue.php:3344
9420
  msgid "Media- Track how your users interact with videos on your website."
9421
  msgstr ""
9422
 
9423
+ #: languages/vue.php:3347
9424
  msgid "Your 2021 Year in Review is still calculating. Please check back later to see how your website performed last year."
9425
  msgstr ""
9426
 
9427
+ #: languages/vue.php:3350
9428
  msgid "Your 2021 Analytics Report"
9429
  msgstr ""
9430
 
9431
+ #: languages/vue.php:3356
9432
  msgid "January 1, 2021 - December 31, 2021"
9433
  msgstr ""
9434
 
9435
+ #: languages/vue.php:3359
9436
  msgid "A Tip for 2022"
9437
  msgstr ""
9438
 
9439
+ #: languages/vue.php:3362
9440
  msgid "A Tip For 2022"
9441
  msgstr ""
9442
 
9443
+ #: languages/vue.php:3365
9444
  msgid "Here's to an amazing 2022!"
9445
  msgstr ""
9446
 
9447
+ #: languages/vue.php:3368
9448
  msgid "Try our other popular WordPress plugins to grow your website in 2022."
9449
  msgstr ""
9450
 
9451
+ #: languages/vue.php:3371
9452
  msgid "Become a WordPress expert in 2022. Join our amazing communities and take your website to the next level."
9453
  msgstr ""
9454
 
9455
+ #: languages/vue.php:3374
9456
  msgid "Copyright ExactMetrics, 2022"
9457
  msgstr ""
9458
 
9459
  #. Translators: Number of minutes spent on site.
9460
+ #: languages/vue.php:3378
9461
  msgid "Each visitor spent an average of %s minutes on your website in 2021."
9462
  msgstr ""
9463
 
9464
  #. Translators: Placeholders are used for making text bold and adding a link.
9465
+ #: languages/vue.php:3382
9466
  msgid "%1$sYou're using %2$s Lite%3$s. To unlock all reports, consider %4$supgrading to Pro%5$s."
9467
  msgstr ""
9468
 
9469
+ #: languages/vue.php:3385
9470
  msgid "With ExactMetrics Pro, you can easily measure individual affiliate performance inside Google Analytics, no coding needed. Track clicks, revenue, and more."
9471
  msgstr ""
9472
 
9473
+ #: languages/vue.php:3388
9474
  msgid "RafflePress"
9475
  msgstr ""
9476
 
9477
+ #: languages/vue.php:3391
9478
  msgid "Launch giveaways and raffle campaigns to grow your email lists, increase traffic, and get more social media followers."
9479
  msgstr ""
9480
 
9481
+ #: languages/vue.php:3394
9482
  msgid "Constant Contact"
9483
  msgstr ""
9484
 
9485
+ #: languages/vue.php:3397
9486
  msgid "Create amazing email marketing campaigns with drag and drop simplicity. Exclusive Offer: Save 20%."
9487
  msgstr ""
9488
 
9489
+ #: languages/vue.php:3400
9490
  msgid "SEMRUSH"
9491
  msgstr ""
9492
 
9493
+ #: languages/vue.php:3403
9494
  msgid "Perform SEO and content marketing research, track keywords, and much more. Special Offer: First 30 Days Free."
9495
  msgstr ""
9496
 
9497
+ #: languages/vue.php:3406
9498
  msgid "Engagement Tools"
9499
  msgstr ""
9500
 
9501
+ #: languages/vue.php:3409
9502
  msgid "WPForms"
9503
  msgstr ""
9504
 
9505
+ #: languages/vue.php:3412
9506
  msgid "The world’s most popular WordPress form builder, trusted by over 5 million websites. Easily build contact forms, payment forms, and more."
9507
  msgstr ""
9508
 
9509
+ #: languages/vue.php:3415
9510
  msgid "OptinMonster"
9511
  msgstr ""
9512
 
9513
+ #: languages/vue.php:3418
9514
  msgid "Convert and monetize more of your website traffic with engaging pop-up and gamified tools. Great for all types of websites."
9515
  msgstr ""
9516
 
9517
+ #: languages/vue.php:3421
9518
  msgid "Smash Balloon - Facebook"
9519
  msgstr ""
9520
 
9521
+ #: languages/vue.php:3424
9522
  msgid "Smash Balloon - Instagram"
9523
  msgstr ""
9524
 
9525
+ #: languages/vue.php:3427
9526
  msgid "Quickly add social media feeds from Facebook, Instagram, Twitter, and others to your website, with no coding needed."
9527
  msgstr ""
9528
 
9529
+ #: languages/vue.php:3430
9530
  msgid "Popular Posts by ExactMetrics"
9531
  msgstr ""
9532
 
9533
+ #: languages/vue.php:3433
9534
  msgid "Increase your visitor engagement by automatically embedding popular and related content from your website."
9535
  msgstr ""
9536
 
9537
+ #: languages/vue.php:3436
9538
  msgid "Popular Products by ExactMetrics"
9539
  msgstr ""
9540
 
9541
+ #: languages/vue.php:3439
9542
  msgid "Automatically show related products to increase conversion rates and increase cart sizes on your eCommerce website."
9543
  msgstr ""
9544
 
9545
+ #: languages/vue.php:3442
9546
  msgid "Revenue Tools"
9547
  msgstr ""
9548
 
9549
+ #: languages/vue.php:3445
9550
  msgid "SeedProd"
9551
  msgstr ""
9552
 
9553
+ #: languages/vue.php:3448
9554
  msgid "Use the best drag-and-drop landing page builder for WordPress to instantly build coming soon pages, sales pages, opt-in pages, webinar pages, maintenance pages, and more. Includes 100+ free templates."
9555
  msgstr ""
9556
 
9557
+ #: languages/vue.php:3451
9558
  msgid "Featured Tools"
9559
  msgstr ""
9560
 
9561
+ #: languages/vue.php:3454
9562
  msgid "Easy Affiliate"
9563
  msgstr ""
9564
 
9565
+ #: languages/vue.php:3457
9566
  msgid "Launch, grow, and manage an affiliate program, all right from your WordPress dashboard. Works automatically with ExactMetrics."
9567
  msgstr ""
9568
 
9569
+ #: languages/vue.php:3460
9570
  msgid "SearchWP"
9571
  msgstr ""
9572
 
9573
+ #: languages/vue.php:3463
9574
  msgid "Unlock better search results for your website. Perfect for any information or eCommerce store to help users find exactly what content and products they’re looking for."
9575
  msgstr ""
9576
 
9577
+ #: languages/vue.php:3466
9578
  msgid "Easy Digital Downloads"
9579
  msgstr ""
9580
 
9581
+ #: languages/vue.php:3469
9582
  msgid "Easily sell digital products like ebooks, plugins, and courses with WordPress. Built-in payment processing, coupons, shopping cart, detailed reporting, and more."
9583
  msgstr ""
9584
 
9585
+ #: languages/vue.php:3472
9586
  msgid "MemberPress"
9587
  msgstr ""
9588
 
9589
+ #: languages/vue.php:3475
9590
  msgid "Create a membership website. Works automatically with ExactMetrics, no coding needed."
9591
  msgstr ""
9592
 
9593
+ #: languages/vue.php:3478
9594
  msgid "Thirsty Affiliates"
9595
  msgstr ""
9596
 
9597
+ #: languages/vue.php:3481
9598
  msgid "Manage all your affiliate links with features designed to help make bloggers more money."
9599
  msgstr ""
9600
 
9601
+ #: languages/vue.php:3484
9602
  msgid "Upgrade to unlock advanced reporting and features designed to help you get more traffic and make more money from your website. Special Offer: Save 50% today."
9603
  msgstr ""
9604
 
9605
+ #: languages/vue.php:3487
9606
  msgid "Advanced Coupons"
9607
  msgstr ""
9608
 
9609
+ #: languages/vue.php:3490
9610
  msgid "Create coupons, reward loyal customers, and schedule promotions for your eCommerce store."
9611
  msgstr ""
9612
 
9613
+ #: languages/vue.php:3493
9614
  msgid "PrettyLinks"
9615
  msgstr ""
9616
 
9617
+ #: languages/vue.php:3496
9618
  msgid "Automatically monetize your website content with affiliate links added automatically to your content."
9619
  msgstr ""
9620
 
9621
+ #: languages/vue.php:3499
9622
  msgid "Install Now"
9623
  msgstr ""
9624
 
9625
+ #: languages/vue.php:3502
9626
  msgid "Online Marketing Guides & Resources"
9627
  msgstr ""
9628
 
9629
+ #: languages/vue.php:3505
9630
  msgid "Read This Guide"
9631
  msgstr ""
9632
 
9633
+ #: languages/vue.php:3511
9634
  msgid "Upgrade to unlock eCommerce tracking, Custom Dimensions, Form Tracking, and much more. Special Offer: Save 50% today."
9635
  msgstr ""
9636
 
9637
+ #: languages/vue.php:3514
9638
  msgid "Traffic Tools"
9639
  msgstr ""
9640
 
9641
+ #: languages/vue.php:3517
9642
  msgid "All in One SEO (AIOSEO)"
9643
  msgstr ""
9644
 
9645
+ #: languages/vue.php:3520
9646
  msgid "The best WordPress SEO plugin that works automatically with ExactMetrics."
9647
  msgstr ""
9648
 
9649
+ #: languages/vue.php:3523
9650
  msgid "PushEngage"
9651
  msgstr ""
9652
 
9653
+ #: languages/vue.php:3526
9654
  msgid "Send push notifications to your visitors to drive more traffic and boost sales."
9655
  msgstr ""
9656
 
9657
+ #: languages/vue.php:3529
9658
  msgid "Featured"
9659
  msgstr ""
9660
 
9661
+ #: languages/vue.php:3532
9662
  msgid "Traffic"
9663
  msgstr ""
9664
 
9665
+ #: languages/vue.php:3535
9666
  msgid "Revenue"
9667
  msgstr ""
9668
 
9669
+ #: languages/vue.php:3538
9670
  msgid "Guides & Resources"
9671
  msgstr ""
9672
 
9673
+ #: languages/vue.php:3541
9674
  msgid "Media Tracking"
9675
  msgstr ""
9676
 
9677
+ #: languages/vue.php:3544
9678
  msgid "Get Started"
9679
  msgstr ""
9680
 
9681
+ #: languages/vue.php:3547
9682
  msgid "Privacy Compliance Addon"
9683
  msgstr ""
9684
 
9685
+ #: languages/vue.php:3550
9686
  msgid "Help Google Analytics become compliant with internet privacy laws like GDPR, PECR, and CCPA."
9687
  msgstr ""
9688
 
9689
+ #: languages/vue.php:3553
9690
  msgid "Get access to advanced reports inside WordPress including search keywords report, real-time analytics dashboard, publishers / eCommerce report, custom dimensions, and more."
9691
  msgstr ""
9692
 
9693
+ #: languages/vue.php:3556
9694
  msgid "Instantly enable enhanced eCommerce tracking, so you can measure conversions, sales, and revenue stats. Works with WooCommerce, Easy Digital Downloads, MemberPress, and more."
9695
  msgstr ""
9696
 
9697
+ #: languages/vue.php:3559
9698
  msgid "20+ Advanced Tracking"
9699
  ms