MailChimp for WordPress - Version 4.8.6

Version Description

Download this release

Release Info

Developer DvanKooten
Plugin Icon 128x128 MailChimp for WordPress
Version 4.8.6
Comparing to
See all releases

Code changes from version 4.8.5 to 4.8.6

CHANGELOG.md CHANGED
@@ -1,12 +1,23 @@
1
  Changelog
2
  =========
3
 
 
 
 
 
 
 
 
 
 
 
 
4
  #### 4.8.5 - Jun 1, 2021
5
 
6
  Add nonce verification to all URL's using _mc4wp_action query parameter.
7
  This fixes a CSRF vulnerability where a malicious website could trick a logged-in admin user in performing unwanted actions.
8
 
9
- Thanks to Erwin from [WPScan](https://wpscan.com/) for bringing this issue to our attention.
10
 
11
 
12
  #### 4.8.4 - May 7, 2021
1
  Changelog
2
  =========
3
 
4
+ #### 4.8.6 - Jun 24, 2021
5
+
6
+ - Add nonce field to button for dismissing notice asking for plugin review.
7
+ - Add strings from config/ directory to POT file.
8
+ - Add nonce check to AJAX endpoint for refreshing cached Mailchimp lists.
9
+ - Add capability check to AJAX endpoint for retrieving list details.
10
+ - Schedule event to refresh cached Mailchimp list upon plugin activation.
11
+
12
+ Thanks to the team over at [pluginvulnerabilities.com](https://www.pluginvulnerabilities.com/) for bringing some of these changes to our attention.
13
+
14
+
15
  #### 4.8.5 - Jun 1, 2021
16
 
17
  Add nonce verification to all URL's using _mc4wp_action query parameter.
18
  This fixes a CSRF vulnerability where a malicious website could trick a logged-in admin user in performing unwanted actions.
19
 
20
+ A special thanks to Erwan from [WPScan](https://wpscan.com/) for bringing this issue to our attention.
21
 
22
 
23
  #### 4.8.4 - May 7, 2021
assets/js/admin.js CHANGED
@@ -1 +1 @@
1
- (()=>{var e,t,n,r={4644:()=>{var e=document.getElementById("mailchimp_api_key");e&&e.addEventListener("change",(function(t){var n=document.createElement("p");n.className="help red",n.innerText=window.mc4wp_vars.i18n.invalid_api_key,e.nextElementSibling.innerText===n.innerText&&e.nextElementSibling.parentElement.removeChild(e.nextElementSibling),e.value.match(/^[0-9a-zA-Z*]{32}-[a-z]{2}[0-9]{1,2}$/)||e.parentElement.insertBefore(n,e.nextElementSibling)}))},2458:e=>{e.exports={debounce:function(e,t,n){var r;return function(){var o=this,i=arguments,l=n&&!r;clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(o,i)}),t),l&&e.apply(o,i)}}}},534:(e,t,n)=>{var r=window.mc4wp_vars,o=window.mc4wp_vars.i18n,i=window.mc4wp_vars.ajaxurl,l=n(865),a={working:!1,done:!1,success:!1};function s(e){e&&e.preventDefault(),a.working=!0,a.done=!1,l.request({method:"POST",url:i+"?action=mc4wp_renew_mailchimp_lists",timeout:6e5}).then((function(e){a.success=!0,e&&window.setTimeout((function(){window.location.reload()}),3e3)})).catch((function(e){a.success=!1})).finally((function(e){a.working=!1,a.done=!0,l.redraw()}))}var c=document.getElementById("mc4wp-list-fetcher");c&&(r.mailchimp.api_connected&&0===r.mailchimp.lists.length&&s(),l.mount(c,{view:function(){return l("form",{method:"POST",onsubmit:s.bind(this)},[l("p",[l("input",{type:"submit",value:a.working?o.fetching_mailchimp_lists:o.renew_mailchimp_lists,className:"button",disabled:!!a.working}),l.trust(" &nbsp; "),a.working?[l("span.mc4wp-loader","Loading..."),l.trust(" &nbsp; ")]:"",a.done?[a.success?l("em.mc4wp-green",o.fetching_mailchimp_lists_done):l("em.mc4wp-red",o.fetching_mailchimp_lists_error)]:""])])}}))},7171:(e,t,n)=>{var r=window.mc4wp_vars.ajaxurl,o=n(865);Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var i=document.getElementById("mc4wp-mailchimp-lists-overview");i&&i.addEventListener("click",(function(e){e.target.matches(".mc4wp-mailchimp-list")&&function(e){e.preventDefault();var t=e.target,n=t.parentElement.parentElement.nextElementSibling,i=t.getAttribute("data-list-id"),l=n.querySelector("div");"none"===n.style.display?(o.request({method:"GET",url:r+"?action=mc4wp_get_list_details&ids="+i}).then((function(e){var t;o.render(l,(t=e.shift(),[o("h3","Merge fields"),o("table.widefat.striped",[o("thead",[o("tr",[o("th","Name"),o("th","Tag"),o("th","Type")])]),o("tbody",t.merge_fields.map((function(e){return o("tr",[o("td",[e.name,e.required&&o("span.mc4wp-red","*")]),o("td",[o("code",e.tag)]),o("td",[e.type," ",e.options&&e.options.date_format?"("+e.options.date_format+")":"",e.options&&e.options.choices?"("+e.options.choices.join(", ")+")":""])])})))]),t.interest_categories.length>0&&[o("h3","Interest Categories"),o("table.striped.widefat",[o("thead",[o("tr",[o("th","Name"),o("th","Type"),o("th","Interests")])]),o("tbody",t.interest_categories.map((function(e){return o("tr",[o("td",[o("strong",e.title),o("br"),o("br"),"ID: ",o("code",e.id)]),o("td",e.type),o("td",[o("div.mc4wp-row",{style:"margin-bottom: 4px;"},[o("div.mc4wp-col.mc4wp-col-3",[o("strong",{style:"display: block; border-bottom: 1px solid #eee;"},"Name")]),o("div.mc4wp-col.mc4wp-col-3",[o("strong",{style:"display: block; border-bottom: 1px solid #eee;"},"ID")])]),Object.keys(e.interests).map((function(t){return o("div.mc4wp-row.mc4wp-margin-s",[o("div.mc4wp-col.mc4wp-col-3",e.interests[t]),o("div.mc4wp-col.mc4wp-col-3",[o("code",{title:"Interest ID"},t)]),o("br.clearfix.clear.cf")])}))])])})))])]]))})),n.style.display=""):n.style.display="none"}(e)}))},907:e=>{function t(e){return(t="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)}var n=document.getElementById("mc4wp-admin").querySelectorAll(".mc4wp-list-input"),r=window.mc4wp_vars.mailchimp.lists,o=[],i={};function l(){var e,l,a;return o=[],[].forEach.call(n,(function(e){("boolean"!=typeof e.checked||e.checked)&&"object"===t(r[e.value])&&o.push(r[e.value])})),e=document.querySelectorAll(".lists--only-selected > *"),[].forEach.call(e,(function(e){var t,n=e.getAttribute("data-list-id"),r=("id",t=n,o.filter((function(e){return e.id===t}))).length>0;e.style.display=r?"":"none"})),a=[o],i[l="selectedLists.change"]=i[l]||[],i[l].forEach((function(e){return e.apply(null,a)})),o}[].forEach.call(n,(function(e){e.addEventListener("change",l)})),l(),e.exports={getSelectedLists:function(){return o},on:function(e,t){i[e]=i[e]||[],i[e].push(t)}}},1183:()=>{var e=document.querySelectorAll("[data-showif]");[].forEach.call(e,(function(e){var t=JSON.parse(e.getAttribute("data-showif")),n=document.querySelectorAll('[name="'+t.element+'"]'),r=e.querySelectorAll("input,select,textarea:not([readonly])"),o=void 0===t.hide||t.hide;function i(){if("radio"!==this.type||this.checked){var n="checkbox"===this.type?this.checked:this.value,i=String(n)===String(t.value);o?(e.style.display=i?"":"none",e.style.visibility=i?"":"hidden"):e.style.opacity=i?"":"0.4",[].forEach.call(r,(function(e){e.readOnly=!i}))}}[].forEach.call(n,(function(e){e.addEventListener("change",i),i.call(e)}))}))},1412:(e,t,n)=>{var r=n(6356),o=document.getElementById("mc4wp-admin"),i=o.querySelectorAll(".mc4wp-tab"),l=o.querySelectorAll(".nav-tab"),a=o.querySelector('input[name="_wp_http_referer"]'),s=[];function c(e){for(var t=0;t<s.length;t++)if(s[t].id===e)return s[t];return null}function u(e,t){if("string"==typeof e&&(e=c(e)),!e)return!1;void 0===t&&(t=!0),[].forEach.call(i,(function(e){e.className=e.className.replace("mc4wp-tab-active",""),e.style.display=" none"})),[].forEach.call(l,(function(e){e.className=e.className.replace("nav-tab-active","")})),[].forEach.call(e.nav,(function(e){e.className+=" nav-tab-active",e.blur()})),e.element.style.display="block",e.element.className+=" mc4wp-tab-active";var n=r.setParameter(window.location.href,"tab",e.id);return history.pushState&&t&&history.pushState(e.id,"",n),f(e),a.value=n,"function"==typeof window.tb_remove&&window.tb_remove(),window.mc4wp&&window.mc4wp.forms&&window.mc4wp.forms.editor&&window.mc4wp.forms.editor.refresh(),!0}function f(e){var t=document.title.split("-");document.title=document.title.replace(t[0],e.title+" ")}function d(e){var t=e.target,n=t.getAttribute("data-tab");if(!n){var o=t.className.match(/nav-tab-(\w+)?/);o&&(n=o[1])}if(!n){var i=r.parse(t.href);if(!i.tab)return;n=i.tab}return!u(n)||(e.preventDefault(),e.returnValue=!1,!1)}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),[].forEach.call(i,(function(e,t){var n=e.id.split("-").pop(),r=e.querySelector("h2:first-of-type").textContent;s.push({id:n,title:r,element:e,nav:o.querySelectorAll(".nav-tab-"+n),open:function(){return u(n)}})})),[].forEach.call(l,(function(e){return e.addEventListener("click",d)})),document.body.addEventListener("click",(function(e){e.target.matches(".tab-link")&&d(e)})),function(){var e=s.filter((function(e){return null!==e.element.offsetParent})).shift();if(e){var t=c(e.id.substring(4));t&&(history.replaceState&&null===history.state&&history.replaceState(t.id,""),f(t))}}(),window.addEventListener&&history.pushState&&window.addEventListener("popstate",(function(e){return!e.state||u(e.state,!1)})),e.exports={open:u,get:c}},6356:e=>{function t(e){var t={},n=e.split("&");for(var r in n)if(n.hasOwnProperty(r)){var o=n[r].split("=");t[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return t}function n(e){var t=[];for(var n in e)t.push(n+"="+encodeURIComponent(e[n]));return t.join("&")}e.exports={parse:t,build:n,setParameter:function(e,r,o){var i=t(e);return i[r]=o,n(i)}}},8018:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(e,t,n){var o=[],i=!1,l=!1;function a(){if(i)throw new Error("Nested m.redraw.sync() call");i=!0;for(var t=0;t<o.length;t+=2)try{e(o[t],r(o[t+1]),s)}catch(e){n.error(e)}i=!1}function s(){l||(l=!0,t((function(){l=!1,a()})))}return s.sync=a,{mount:function(t,n){if(null!=n&&null==n.view&&"function"!=typeof n)throw new TypeError("m.mount(element, component) expects a component, not a vnode");var i=o.indexOf(t);i>=0&&(o.splice(i,2),e(t,[],s)),null!=n&&(o.push(t,n),e(t,r(n),s))},redraw:s}}},3223:(e,t,n)=>{"use strict";var r=n(8178),o=n(373),i=n(5164),l=n(249),a=n(8561),s=n(7562),c=n(1127),u={};e.exports=function(e,t){var n;function f(t,r,o){if(t=l(t,r),null!=n){n();var i=o?o.state:null,a=o?o.title:null;o&&o.replace?e.history.replaceState(i,a,g.prefix+t):e.history.pushState(i,a,g.prefix+t)}else e.location.href=g.prefix+t}var d,p,m,h,v=u,y=g.SKIP={};function g(o,l,w){if(null==o)throw new Error("Ensure the DOM element that was passed to `m.route` is not undefined");var b,x=0,E=Object.keys(w).map((function(e){if("/"!==e[0])throw new SyntaxError("Routes must start with a `/`");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Route parameter names must be separated with either `/`, `.`, or `-`");return{route:e,component:w[e],check:s(e)}})),k="function"==typeof setImmediate?setImmediate:setTimeout,S=i.resolve(),_=!1;if(n=null,null!=l){var j=a(l);if(!E.some((function(e){return e.check(j)})))throw new ReferenceError("Default route doesn't match any known routes")}function A(){_=!1;var n=e.location.hash;"#"!==g.prefix[0]&&(n=e.location.search+n,"?"!==g.prefix[0]&&"/"!==(n=e.location.pathname+n)[0]&&(n="/"+n));var r=n.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent).slice(g.prefix.length),o=a(r);function i(){if(r===l)throw new Error("Could not resolve default route "+l);f(l,null,{replace:!0})}c(o.params,e.history.state),function e(n){for(;n<E.length;n++)if(E[n].check(o)){var l=E[n].component,a=E[n].route,s=l,c=h=function(i){if(c===h){if(i===y)return e(n+1);d=null==i||"function"!=typeof i.view&&"function"!=typeof i?"div":i,p=o.params,m=r,h=null,v=l.render?l:null,2===x?t.redraw():(x=2,t.redraw.sync())}};return void(l.view||"function"==typeof l?(l={},c(s)):l.onmatch?S.then((function(){return l.onmatch(o.params,r,a)})).then(c,i):c("div"))}i()}(0)}return n=function(){_||(_=!0,k(A))},"function"==typeof e.history.pushState?(b=function(){e.removeEventListener("popstate",n,!1)},e.addEventListener("popstate",n,!1)):"#"===g.prefix[0]&&(n=null,b=function(){e.removeEventListener("hashchange",A,!1)},e.addEventListener("hashchange",A,!1)),t.mount(o,{onbeforeupdate:function(){return!(!(x=x?2:1)||u===v)},oncreate:A,onremove:b,view:function(){if(x&&u!==v){var e=[r(d,p.key,p)];return v&&(e=v.render(e[0])),e}}})}return g.set=function(e,t,n){null!=h&&((n=n||{}).replace=!0),h=null,f(e,t,n)},g.get=function(){return m},g.prefix="#!",g.Link={view:function(e){var t,n,r=e.attrs.options,i={};c(i,e.attrs),i.selector=i.options=i.key=i.oninit=i.oncreate=i.onbeforeupdate=i.onupdate=i.onbeforeremove=i.onremove=null;var l=o(e.attrs.selector||"a",i,e.children);return(l.attrs.disabled=Boolean(l.attrs.disabled))?(l.attrs.href=null,l.attrs["aria-disabled"]="true",l.attrs.onclick=null):(t=l.attrs.onclick,n=l.attrs.href,l.attrs.href=g.prefix+n,l.attrs.onclick=function(e){var o;"function"==typeof t?o=t.call(e.currentTarget,e):null==t||"object"!=typeof t||"function"==typeof t.handleEvent&&t.handleEvent(e),!1===o||e.defaultPrevented||0!==e.button&&0!==e.which&&1!==e.which||e.currentTarget.target&&"_self"!==e.currentTarget.target||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),e.redraw=!1,g.set(n,null,r))}),l}},g.param=function(e){return p&&null!=e?p[e]:p},g}},1262:(e,t,n)=>{"use strict";var r=n(373);r.trust=n(4742),r.fragment=n(9621),e.exports=r},865:(e,t,n)=>{"use strict";var r=n(1262),o=n(9074),i=n(9165),l=function(){return r.apply(this,arguments)};l.m=r,l.trust=r.trust,l.fragment=r.fragment,l.mount=i.mount,l.route=n(843),l.render=n(5358),l.redraw=i.redraw,l.request=o.request,l.jsonp=o.jsonp,l.parseQueryString=n(9874),l.buildQueryString=n(478),l.parsePathname=n(8561),l.buildPathname=n(249),l.vnode=n(8178),l.PromisePolyfill=n(2803),e.exports=l},9165:(e,t,n)=>{"use strict";var r=n(5358);e.exports=n(8018)(r,requestAnimationFrame,console)},1127:e=>{"use strict";e.exports=Object.assign||function(e,t){t&&Object.keys(t).forEach((function(n){e[n]=t[n]}))}},249:(e,t,n)=>{"use strict";var r=n(478),o=n(1127);e.exports=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Template parameter names *must* be separated");if(null==t)return e;var n=e.indexOf("?"),i=e.indexOf("#"),l=i<0?e.length:i,a=n<0?l:n,s=e.slice(0,a),c={};o(c,t);var u=s.replace(/:([^\/\.-]+)(\.{3})?/g,(function(e,n,r){return delete c[n],null==t[n]?e:r?t[n]:encodeURIComponent(String(t[n]))})),f=u.indexOf("?"),d=u.indexOf("#"),p=d<0?u.length:d,m=f<0?p:f,h=u.slice(0,m);n>=0&&(h+=e.slice(n,l)),f>=0&&(h+=(n<0?"?":"&")+u.slice(f,p));var v=r(c);return v&&(h+=(n<0&&f<0?"?":"&")+v),i>=0&&(h+=e.slice(i)),d>=0&&(h+=(i<0?"":"&")+u.slice(d)),h}},7562:(e,t,n)=>{"use strict";var r=n(8561);e.exports=function(e){var t=r(e),n=Object.keys(t.params),o=[],i=new RegExp("^"+t.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,(function(e,t,n){return null==t?"\\"+e:(o.push({k:t,r:"..."===n}),"..."===n?"(.*)":"."===n?"([^/]+)\\.":"([^/]+)"+(n||""))}))+"$");return function(e){for(var r=0;r<n.length;r++)if(t.params[n[r]]!==e.params[n[r]])return!1;if(!o.length)return i.test(e.path);var l=i.exec(e.path);if(null==l)return!1;for(r=0;r<o.length;r++)e.params[o[r].k]=o[r].r?l[r+1]:decodeURIComponent(l[r+1]);return!0}}},8561:(e,t,n)=>{"use strict";var r=n(9874);e.exports=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),o=n<0?e.length:n,i=t<0?o:t,l=e.slice(0,i).replace(/\/{2,}/g,"/");return l?("/"!==l[0]&&(l="/"+l),l.length>1&&"/"===l[l.length-1]&&(l=l.slice(0,-1))):l="/",{path:l,params:t<0?{}:r(e.slice(t+1,o))}}},2803:e=>{"use strict";var t=function(e){if(!(this instanceof t))throw new Error("Promise must be called with `new`");if("function"!=typeof e)throw new TypeError("executor must be a function");var n=this,r=[],o=[],i=c(r,!0),l=c(o,!1),a=n._instance={resolvers:r,rejectors:o},s="function"==typeof setImmediate?setImmediate:setTimeout;function c(e,t){return function i(c){var f;try{if(!t||null==c||"object"!=typeof c&&"function"!=typeof c||"function"!=typeof(f=c.then))s((function(){t||0!==e.length||console.error("Possible unhandled promise rejection:",c);for(var n=0;n<e.length;n++)e[n](c);r.length=0,o.length=0,a.state=t,a.retry=function(){i(c)}}));else{if(c===n)throw new TypeError("Promise can't be resolved w/ itself");u(f.bind(c))}}catch(e){l(e)}}}function u(e){var t=0;function n(e){return function(n){t++>0||e(n)}}var r=n(l);try{e(n(i),r)}catch(e){r(e)}}u(e)};t.prototype.then=function(e,n){var r,o,i=this._instance;function l(e,t,n,l){t.push((function(t){if("function"!=typeof e)n(t);else try{r(e(t))}catch(e){o&&o(e)}})),"function"==typeof i.retry&&l===i.state&&i.retry()}var a=new t((function(e,t){r=e,o=t}));return l(e,i.resolvers,r,!0),l(n,i.rejectors,o,!1),a},t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(e){return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){return t.reject(n)}))}))},t.resolve=function(e){return e instanceof t?e:new t((function(t){t(e)}))},t.reject=function(e){return new t((function(t,n){n(e)}))},t.all=function(e){return new t((function(t,n){var r=e.length,o=0,i=[];if(0===e.length)t([]);else for(var l=0;l<e.length;l++)!function(l){function a(e){o++,i[l]=e,o===r&&t(i)}null==e[l]||"object"!=typeof e[l]&&"function"!=typeof e[l]||"function"!=typeof e[l].then?a(e[l]):e[l].then(a,n)}(l)}))},t.race=function(e){return new t((function(t,n){for(var r=0;r<e.length;r++)e[r].then(t,n)}))},e.exports=t},5164:(e,t,n)=>{"use strict";var r=n(2803);"undefined"!=typeof window?(void 0===window.Promise?window.Promise=r:window.Promise.prototype.finally||(window.Promise.prototype.finally=r.prototype.finally),e.exports=window.Promise):void 0!==n.g?(void 0===n.g.Promise?n.g.Promise=r:n.g.Promise.prototype.finally||(n.g.Promise.prototype.finally=r.prototype.finally),e.exports=n.g.Promise):e.exports=r},478:e=>{"use strict";e.exports=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)r(n,e[n]);return t.join("&");function r(e,n){if(Array.isArray(n))for(var o=0;o<n.length;o++)r(e+"["+o+"]",n[o]);else if("[object Object]"===Object.prototype.toString.call(n))for(var o in n)r(e+"["+o+"]",n[o]);else t.push(encodeURIComponent(e)+(null!=n&&""!==n?"="+encodeURIComponent(n):""))}}},9874:e=>{"use strict";e.exports=function(e){if(""===e||null==e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t=e.split("&"),n={},r={},o=0;o<t.length;o++){var i=t[o].split("="),l=decodeURIComponent(i[0]),a=2===i.length?decodeURIComponent(i[1]):"";"true"===a?a=!0:"false"===a&&(a=!1);var s=l.split(/\]\[?|\[/),c=r;l.indexOf("[")>-1&&s.pop();for(var u=0;u<s.length;u++){var f=s[u],d=s[u+1],p=""==d||!isNaN(parseInt(d,10));if(""===f)null==n[l=s.slice(0,u).join()]&&(n[l]=Array.isArray(c)?c.length:0),f=n[l]++;else if("__proto__"===f)break;if(u===s.length-1)c[f]=a;else{var m=Object.getOwnPropertyDescriptor(c,f);null!=m&&(m=m.value),null==m&&(c[f]=m=p?[]:{}),c=m}}}return r}},5358:(e,t,n)=>{"use strict";e.exports=n(5452)(window)},9621:(e,t,n)=>{"use strict";var r=n(8178),o=n(1359);e.exports=function(){var e=o.apply(0,arguments);return e.tag="[",e.children=r.normalizeChildren(e.children),e}},373:(e,t,n)=>{"use strict";var r=n(8178),o=n(1359),i=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,l={},a={}.hasOwnProperty;function s(e){for(var t in e)if(a.call(e,t))return!1;return!0}function c(e){for(var t,n="div",r=[],o={};t=i.exec(e);){var a=t[1],s=t[2];if(""===a&&""!==s)n=s;else if("#"===a)o.id=s;else if("."===a)r.push(s);else if("["===t[3][0]){var c=t[6];c&&(c=c.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?r.push(c):o[t[4]]=""===c?c:c||!0}}return r.length>0&&(o.className=r.join(" ")),l[e]={tag:n,attrs:o}}function u(e,t){var n=t.attrs,o=r.normalizeChildren(t.children),i=a.call(n,"class"),l=i?n.class:n.className;if(t.tag=e.tag,t.attrs=null,t.children=void 0,!s(e.attrs)&&!s(n)){var c={};for(var u in n)a.call(n,u)&&(c[u]=n[u]);n=c}for(var u in e.attrs)a.call(e.attrs,u)&&"className"!==u&&!a.call(n,u)&&(n[u]=e.attrs[u]);for(var u in null==l&&null==e.attrs.className||(n.className=null!=l?null!=e.attrs.className?String(e.attrs.className)+" "+String(l):l:null!=e.attrs.className?e.attrs.className:null),i&&(n.class=null),n)if(a.call(n,u)&&"key"!==u){t.attrs=n;break}return Array.isArray(o)&&1===o.length&&null!=o[0]&&"#"===o[0].tag?t.text=o[0].children:t.children=o,t}e.exports=function(e){if(null==e||"string"!=typeof e&&"function"!=typeof e&&"function"!=typeof e.view)throw Error("The selector must be either a string or a component.");var t=o.apply(1,arguments);return"string"==typeof e&&(t.children=r.normalizeChildren(t.children),"["!==e)?u(l[e]||c(e),t):(t.tag=e,t)}},1359:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(){var e,t=arguments[this],n=this+1;if(null==t?t={}:("object"!=typeof t||null!=t.tag||Array.isArray(t))&&(t={},n=this),arguments.length===n+1)e=arguments[n],Array.isArray(e)||(e=[e]);else for(e=[];n<arguments.length;)e.push(arguments[n++]);return r("",t.key,t,e)}},5452:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(e){var t,n=e&&e.document,o={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function i(e){return e.attrs&&e.attrs.xmlns||o[e.tag]}function l(e,t){if(e.state!==t)throw new Error("`vnode.state` must not be modified")}function a(e){var t=e.state;try{return this.apply(t,arguments)}finally{l(e,t)}}function s(){try{return n.activeElement}catch(e){return null}}function c(e,t,n,r,o,i,l){for(var a=n;a<r;a++){var s=t[a];null!=s&&u(e,s,o,l,i)}}function u(e,t,o,l,s){var f=t.tag;if("string"==typeof f)switch(t.state={},null!=t.attrs&&q(t.attrs,t,o),f){case"#":!function(e,t,r){t.dom=n.createTextNode(t.children),b(e,t.dom,r)}(e,t,s);break;case"<":d(e,t,l,s);break;case"[":!function(e,t,r,o,i){var l=n.createDocumentFragment();if(null!=t.children){var a=t.children;c(l,a,0,a.length,r,null,o)}t.dom=l.firstChild,t.domSize=l.childNodes.length,b(e,l,i)}(e,t,o,l,s);break;default:!function(e,t,o,l,a){var s=t.tag,u=t.attrs,f=u&&u.is,d=(l=i(t)||l)?f?n.createElementNS(l,s,{is:f}):n.createElementNS(l,s):f?n.createElement(s,{is:f}):n.createElement(s);if(t.dom=d,null!=u&&function(e,t,n){for(var r in t)A(e,r,null,t[r],n)}(t,u,l),b(e,d,a),!x(t)&&(null!=t.text&&(""!==t.text?d.textContent=t.text:t.children=[r("#",void 0,void 0,t.text,void 0,void 0)]),null!=t.children)){var p=t.children;c(d,p,0,p.length,o,null,l),"select"===t.tag&&null!=u&&function(e,t){if("value"in t)if(null===t.value)-1!==e.dom.selectedIndex&&(e.dom.value=null);else{var n=""+t.value;e.dom.value===n&&-1!==e.dom.selectedIndex||(e.dom.value=n)}"selectedIndex"in t&&A(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,u)}}(e,t,o,l,s)}else!function(e,t,n,o,i){(function(e,t){var n;if("function"==typeof e.tag.view){if(e.state=Object.create(e.tag),null!=(n=e.state.view).$$reentrantLock$$)return;n.$$reentrantLock$$=!0}else{if(e.state=void 0,null!=(n=e.tag).$$reentrantLock$$)return;n.$$reentrantLock$$=!0,e.state=null!=e.tag.prototype&&"function"==typeof e.tag.prototype.view?new e.tag(e):e.tag(e)}if(q(e.state,e,t),null!=e.attrs&&q(e.attrs,e,t),e.instance=r.normalize(a.call(e.state.view,e)),e.instance===e)throw Error("A view cannot return the vnode it received as argument");n.$$reentrantLock$$=null})(t,n),null!=t.instance?(u(e,t.instance,n,o,i),t.dom=t.instance.dom,t.domSize=null!=t.dom?t.instance.domSize:0):t.domSize=0}(e,t,o,l,s)}var f={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function d(e,t,r,o){var i=t.children.match(/^\s*?<(\w+)/im)||[],l=n.createElement(f[i[1]]||"div");"http://www.w3.org/2000/svg"===r?(l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",l=l.firstChild):l.innerHTML=t.children,t.dom=l.firstChild,t.domSize=l.childNodes.length,t.instance=[];for(var a,s=n.createDocumentFragment();a=l.firstChild;)t.instance.push(a),s.appendChild(a);b(e,s,o)}function p(e,t,n,r,o,i){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)c(e,n,0,n.length,r,o,i);else if(null==n||0===n.length)E(e,t,0,t.length);else{var l=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,s=0,f=0;if(!l)for(;f<t.length&&null==t[f];)f++;if(!a)for(;s<n.length&&null==n[s];)s++;if(null===a&&null==l)return;if(l!==a)E(e,t,f,t.length),c(e,n,s,n.length,r,o,i);else if(a){for(var d,p,w,b,x,S=t.length-1,_=n.length-1;S>=f&&_>=s&&(w=t[S],b=n[_],w.key===b.key);)w!==b&&m(e,w,b,r,o,i),null!=b.dom&&(o=b.dom),S--,_--;for(;S>=f&&_>=s&&(d=t[f],p=n[s],d.key===p.key);)f++,s++,d!==p&&m(e,d,p,r,y(t,f,o),i);for(;S>=f&&_>=s&&s!==_&&d.key===b.key&&w.key===p.key;)g(e,w,x=y(t,f,o)),w!==p&&m(e,w,p,r,x,i),++s<=--_&&g(e,d,o),d!==b&&m(e,d,b,r,o,i),null!=b.dom&&(o=b.dom),f++,w=t[--S],b=n[_],d=t[f],p=n[s];for(;S>=f&&_>=s&&w.key===b.key;)w!==b&&m(e,w,b,r,o,i),null!=b.dom&&(o=b.dom),_--,w=t[--S],b=n[_];if(s>_)E(e,t,f,S+1);else if(f>S)c(e,n,s,_+1,r,o,i);else{var j,A,C=o,N=_-s+1,T=new Array(N),O=0,z=0,I=2147483647,P=0;for(z=0;z<N;z++)T[z]=-1;for(z=_;z>=s;z--){null==j&&(j=h(t,f,S+1));var L=j[(b=n[z]).key];null!=L&&(I=L<I?L:-1,T[z-s]=L,w=t[L],t[L]=null,w!==b&&m(e,w,b,r,o,i),null!=b.dom&&(o=b.dom),P++)}if(o=C,P!==S-f+1&&E(e,t,f,S+1),0===P)c(e,n,s,_+1,r,o,i);else if(-1===I)for(O=(A=function(e){var t=[0],n=0,r=0,o=0,i=v.length=e.length;for(o=0;o<i;o++)v[o]=e[o];for(o=0;o<i;++o)if(-1!==e[o]){var l=t[t.length-1];if(e[l]<e[o])v[o]=l,t.push(o);else{for(n=0,r=t.length-1;n<r;){var a=(n>>>1)+(r>>>1)+(n&r&1);e[t[a]]<e[o]?n=a+1:r=a}e[o]<e[t[n]]&&(n>0&&(v[o]=t[n-1]),t[n]=o)}}for(r=t[(n=t.length)-1];n-- >0;)t[n]=r,r=v[r];return v.length=0,t}(T)).length-1,z=_;z>=s;z--)p=n[z],-1===T[z-s]?u(e,p,r,i,o):A[O]===z-s?O--:g(e,p,o),null!=p.dom&&(o=n[z].dom);else for(z=_;z>=s;z--)p=n[z],-1===T[z-s]&&u(e,p,r,i,o),null!=p.dom&&(o=n[z].dom)}}else{var $=t.length<n.length?t.length:n.length;for(s=s<f?s:f;s<$;s++)(d=t[s])===(p=n[s])||null==d&&null==p||(null==d?u(e,p,r,i,y(t,s+1,o)):null==p?k(e,d):m(e,d,p,r,y(t,s+1,o),i));t.length>$&&E(e,t,s,t.length),n.length>$&&c(e,n,s,n.length,r,o,i)}}}function m(e,t,n,o,l,s){var c=t.tag;if(c===n.tag){if(n.state=t.state,n.events=t.events,function(e,t){do{var n;if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate&&void 0!==(n=a.call(e.attrs.onbeforeupdate,e,t))&&!n)break;if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate&&void 0!==(n=a.call(e.state.onbeforeupdate,e,t))&&!n)break;return!1}while(0);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}(n,t))return;if("string"==typeof c)switch(null!=n.attrs&&R(n.attrs,n,o),c){case"#":!function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom}(t,n);break;case"<":!function(e,t,n,r,o){t.children!==n.children?(S(e,t),d(e,n,r,o)):(n.dom=t.dom,n.domSize=t.domSize,n.instance=t.instance)}(e,t,n,s,l);break;case"[":!function(e,t,n,r,o,i){p(e,t.children,n.children,r,o,i);var l=0,a=n.children;if(n.dom=null,null!=a){for(var s=0;s<a.length;s++){var c=a[s];null!=c&&null!=c.dom&&(null==n.dom&&(n.dom=c.dom),l+=c.domSize||1)}1!==l&&(n.domSize=l)}}(e,t,n,o,l,s);break;default:!function(e,t,n,o){var l=t.dom=e.dom;o=i(t)||o,"textarea"===t.tag&&(null==t.attrs&&(t.attrs={}),null!=t.text&&(t.attrs.value=t.text,t.text=void 0)),function(e,t,n,r){if(null!=n)for(var o in n)A(e,o,t&&t[o],n[o],r);var i;if(null!=t)for(var o in t)null==(i=t[o])||null!=n&&null!=n[o]||C(e,o,i,r)}(t,e.attrs,t.attrs,o),x(t)||(null!=e.text&&null!=t.text&&""!==t.text?e.text.toString()!==t.text.toString()&&(e.dom.firstChild.nodeValue=t.text):(null!=e.text&&(e.children=[r("#",void 0,void 0,e.text,void 0,e.dom.firstChild)]),null!=t.text&&(t.children=[r("#",void 0,void 0,t.text,void 0,void 0)]),p(l,e.children,t.children,n,null,o)))}(t,n,o,s)}else!function(e,t,n,o,i,l){if(n.instance=r.normalize(a.call(n.state.view,n)),n.instance===n)throw Error("A view cannot return the vnode it received as argument");R(n.state,n,o),null!=n.attrs&&R(n.attrs,n,o),null!=n.instance?(null==t.instance?u(e,n.instance,o,l,i):m(e,t.instance,n.instance,o,i,l),n.dom=n.instance.dom,n.domSize=n.instance.domSize):null!=t.instance?(k(e,t.instance),n.dom=void 0,n.domSize=0):(n.dom=t.dom,n.domSize=t.domSize)}(e,t,n,o,l,s)}else k(e,t),u(e,n,o,s,l)}function h(e,t,n){for(var r=Object.create(null);t<n;t++){var o=e[t];if(null!=o){var i=o.key;null!=i&&(r[i]=t)}}return r}var v=[];function y(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function g(e,t,r){var o=n.createDocumentFragment();w(e,o,t),b(e,o,r)}function w(e,t,n){for(;null!=n.dom&&n.dom.parentNode===e;){if("string"!=typeof n.tag){if(null!=(n=n.instance))continue}else if("<"===n.tag)for(var r=0;r<n.instance.length;r++)t.appendChild(n.instance[r]);else if("["!==n.tag)t.appendChild(n.dom);else if(1===n.children.length){if(null!=(n=n.children[0]))continue}else for(r=0;r<n.children.length;r++){var o=n.children[r];null!=o&&w(e,t,o)}break}}function b(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function x(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(null!=e.text||null!=t&&0!==t.length)throw new Error("Child node of a contenteditable must be trusted");return!0}function E(e,t,n,r){for(var o=n;o<r;o++){var i=t[o];null!=i&&k(e,i)}}function k(e,t){var n,r,o,i=0,s=t.state;if("string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove&&null!=(o=a.call(t.state.onbeforeremove,t))&&"function"==typeof o.then&&(i=1,n=o),t.attrs&&"function"==typeof t.attrs.onbeforeremove&&null!=(o=a.call(t.attrs.onbeforeremove,t))&&"function"==typeof o.then&&(i|=2,r=o),l(t,s),i){if(null!=n){var c=function(){1&i&&((i&=2)||u())};n.then(c,c)}null!=r&&(c=function(){2&i&&((i&=1)||u())},r.then(c,c))}else j(t),_(e,t);function u(){l(t,s),j(t),_(e,t)}}function S(e,t){for(var n=0;n<t.instance.length;n++)e.removeChild(t.instance[n])}function _(e,t){for(;null!=t.dom&&t.dom.parentNode===e;){if("string"!=typeof t.tag){if(null!=(t=t.instance))continue}else if("<"===t.tag)S(e,t);else{if("["!==t.tag&&(e.removeChild(t.dom),!Array.isArray(t.children)))break;if(1===t.children.length){if(null!=(t=t.children[0]))continue}else for(var n=0;n<t.children.length;n++){var r=t.children[n];null!=r&&_(e,r)}}break}}function j(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&a.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&a.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&j(e.instance);else{var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];null!=r&&j(r)}}}function A(e,t,r,o,i){if("key"!==t&&"is"!==t&&null!=o&&!N(t)&&(r!==o||function(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&e.dom===s()||"option"===e.tag&&e.dom.parentNode===n.activeElement}(e,t)||"object"==typeof o)){if("o"===t[0]&&"n"===t[1])return $(e,t,o);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),o);else if("style"===t)P(e.dom,r,o);else if(T(e,t,i)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+o&&e.dom===s())return;if("select"===e.tag&&null!==r&&e.dom.value===""+o)return;if("option"===e.tag&&null!==r&&e.dom.value===""+o)return}"input"===e.tag&&"type"===t?e.dom.setAttribute(t,o):e.dom[t]=o}else"boolean"==typeof o?o?e.dom.setAttribute(t,""):e.dom.removeAttribute(t):e.dom.setAttribute("className"===t?"class":t,o)}}function C(e,t,n,r){if("key"!==t&&"is"!==t&&null!=n&&!N(t))if("o"!==t[0]||"n"!==t[1]||N(t))if("style"===t)P(e.dom,n,null);else if(!T(e,t,r)||"className"===t||"value"===t&&("option"===e.tag||"select"===e.tag&&-1===e.dom.selectedIndex&&e.dom===s())||"input"===e.tag&&"type"===t){var o=t.indexOf(":");-1!==o&&(t=t.slice(o+1)),!1!==n&&e.dom.removeAttribute("className"===t?"class":t)}else e.dom[t]=null;else $(e,t,void 0)}function N(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function T(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||null!=e.attrs&&e.attrs.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}var O=/[A-Z]/g;function z(e){return"-"+e.toLowerCase()}function I(e){return"-"===e[0]&&"-"===e[1]?e:"cssFloat"===e?"float":e.replace(O,z)}function P(e,t,n){if(t===n);else if(null==n)e.style.cssText="";else if("object"!=typeof n)e.style.cssText=n;else if(null==t||"object"!=typeof t)for(var r in e.style.cssText="",n)null!=(o=n[r])&&e.style.setProperty(I(r),String(o));else{for(var r in n){var o;null!=(o=n[r])&&(o=String(o))!==String(t[r])&&e.style.setProperty(I(r),o)}for(var r in t)null!=t[r]&&null==n[r]&&e.style.removeProperty(I(r))}}function L(){this._=t}function $(e,t,n){if(null!=e.events){if(e.events[t]===n)return;null==n||"function"!=typeof n&&"object"!=typeof n?(null!=e.events[t]&&e.dom.removeEventListener(t.slice(2),e.events,!1),e.events[t]=void 0):(null==e.events[t]&&e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}else null==n||"function"!=typeof n&&"object"!=typeof n||(e.events=new L,e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}function q(e,t,n){"function"==typeof e.oninit&&a.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(a.bind(e.oncreate,t))}function R(e,t,n){"function"==typeof e.onupdate&&n.push(a.bind(e.onupdate,t))}return L.prototype=Object.create(null),L.prototype.handleEvent=function(e){var t,n=this["on"+e.type];"function"==typeof n?t=n.call(e.currentTarget,e):"function"==typeof n.handleEvent&&n.handleEvent(e),this._&&!1!==e.redraw&&(0,this._)(),!1===t&&(e.preventDefault(),e.stopPropagation())},function(e,n,o){if(!e)throw new TypeError("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var i=[],l=s(),a=e.namespaceURI;null==e.vnodes&&(e.textContent=""),n=r.normalizeChildren(Array.isArray(n)?n:[n]);var c=t;try{t="function"==typeof o?o:void 0,p(e,e.vnodes,n,i,null,"http://www.w3.org/1999/xhtml"===a?void 0:a)}finally{t=c}e.vnodes=n,null!=l&&s()!==l&&"function"==typeof l.focus&&l.focus();for(var u=0;u<i.length;u++)i[u]()}}},4742:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(e){return null==e&&(e=""),r("<",void 0,void 0,e,void 0,void 0)}},8178:e=>{"use strict";function t(e,t,n,r,o,i){return{tag:e,key:t,attrs:n,children:r,text:o,dom:i,domSize:void 0,state:void 0,events:void 0,instance:void 0}}t.normalize=function(e){return Array.isArray(e)?t("[",void 0,void 0,t.normalizeChildren(e),void 0,void 0):null==e||"boolean"==typeof e?null:"object"==typeof e?e:t("#",void 0,void 0,String(e),void 0,void 0)},t.normalizeChildren=function(e){var n=[];if(e.length){for(var r=null!=e[0]&&null!=e[0].key,o=1;o<e.length;o++)if((null!=e[o]&&null!=e[o].key)!==r)throw new TypeError("Vnodes must either always have keys or never have keys!");for(o=0;o<e.length;o++)n[o]=t.normalize(e[o])}return n},e.exports=t},9074:(e,t,n)=>{"use strict";var r=n(5164),o=n(9165);e.exports=n(2775)(window,r,o.redraw)},2775:(e,t,n)=>{"use strict";var r=n(249);e.exports=function(e,t,n){var o=0;function i(e){return new t(e)}function l(e){return function(o,l){"string"!=typeof o?(l=o,o=o.url):null==l&&(l={});var a=new t((function(t,n){e(r(o,l.params),l,(function(e){if("function"==typeof l.type)if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=new l.type(e[n]);else e=new l.type(e);t(e)}),n)}));if(!0===l.background)return a;var s=0;function c(){0==--s&&"function"==typeof n&&n()}return function e(t){var n=t.then;return t.constructor=i,t.then=function(){s++;var r=n.apply(t,arguments);return r.then(c,(function(e){if(c(),0===s)throw e})),e(r)},t}(a)}}function a(e,t){for(var n in e.headers)if({}.hasOwnProperty.call(e.headers,n)&&t.test(n))return!0;return!1}return i.prototype=t.prototype,i.__proto__=t,{request:l((function(t,n,r,o){var i,l=null!=n.method?n.method.toUpperCase():"GET",s=n.body,c=!(null!=n.serialize&&n.serialize!==JSON.serialize||s instanceof e.FormData),u=n.responseType||("function"==typeof n.extract?"":"json"),f=new e.XMLHttpRequest,d=!1,p=f,m=f.abort;for(var h in f.abort=function(){d=!0,m.call(this)},f.open(l,t,!1!==n.async,"string"==typeof n.user?n.user:void 0,"string"==typeof n.password?n.password:void 0),c&&null!=s&&!a(n,/^content-type$/i)&&f.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"==typeof n.deserialize||a(n,/^accept$/i)||f.setRequestHeader("Accept","application/json, text/*"),n.withCredentials&&(f.withCredentials=n.withCredentials),n.timeout&&(f.timeout=n.timeout),f.responseType=u,n.headers)({}).hasOwnProperty.call(n.headers,h)&&f.setRequestHeader(h,n.headers[h]);f.onreadystatechange=function(e){if(!d&&4===e.target.readyState)try{var i,l=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),a=e.target.response;if("json"===u?e.target.responseType||"function"==typeof n.extract||(a=JSON.parse(e.target.responseText)):u&&"text"!==u||null==a&&(a=e.target.responseText),"function"==typeof n.extract?(a=n.extract(e.target,n),l=!0):"function"==typeof n.deserialize&&(a=n.deserialize(a)),l)r(a);else{try{i=e.target.responseText}catch(e){i=a}var s=new Error(i);s.code=e.target.status,s.response=a,o(s)}}catch(e){o(e)}},"function"==typeof n.config&&(f=n.config(f,n,t)||f)!==p&&(i=f.abort,f.abort=function(){d=!0,i.call(this)}),null==s?f.send():"function"==typeof n.serialize?f.send(n.serialize(s)):s instanceof e.FormData?f.send(s):f.send(JSON.stringify(s))})),jsonp:l((function(t,n,r,i){var l=n.callbackName||"_mithril_"+Math.round(1e16*Math.random())+"_"+o++,a=e.document.createElement("script");e[l]=function(t){delete e[l],a.parentNode.removeChild(a),r(t)},a.onerror=function(){delete e[l],a.parentNode.removeChild(a),i(new Error("JSONP request failed"))},a.src=t+(t.indexOf("?")<0?"?":"&")+encodeURIComponent(n.callbackKey||"callback")+"="+encodeURIComponent(l),e.document.documentElement.appendChild(a)}))}}},843:(e,t,n)=>{"use strict";var r=n(9165);e.exports=n(3223)(window,r)}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,i),n.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),e=i(1412),t=i(907),n=i(2458),i(534),i(4644),i(7171),i(1183),window.mc4wp=window.mc4wp||{},window.mc4wp.helpers=n,window.mc4wp.settings=t,window.mc4wp.tabs=e})();
1
+ (()=>{var e,t,n,r={4644:()=>{var e=document.getElementById("mailchimp_api_key");e&&e.addEventListener("change",(function(t){var n=document.createElement("p");n.className="help red",n.innerText=window.mc4wp_vars.i18n.invalid_api_key,e.nextElementSibling.innerText===n.innerText&&e.nextElementSibling.parentElement.removeChild(e.nextElementSibling),e.value.match(/^[0-9a-zA-Z*]{32}-[a-z]{2}[0-9]{1,2}$/)||e.parentElement.insertBefore(n,e.nextElementSibling)}))},2458:e=>{e.exports={debounce:function(e,t,n){var r;return function(){var o=this,i=arguments,l=n&&!r;clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(o,i)}),t),l&&e.apply(o,i)}}}},534:(e,t,n)=>{var r=window.mc4wp_vars,o=r.mailchimp,i=r.i18n,l=r.ajaxurl,a=r.nonce,s=n(865),c={working:!1,done:!1,success:!1};function u(e){e&&e.preventDefault(),c.working=!0,c.done=!1,s.request({method:"POST",url:"".concat(l,"?action=mc4wp_renew_mailchimp_lists&_wpnonce=").concat(a),timeout:6e5}).then((function(e){c.success=!0,e&&window.setTimeout((function(){window.location.reload()}),3e3)})).catch((function(e){c.success=!1})).finally((function(e){c.working=!1,c.done=!0,s.redraw()}))}var f=document.getElementById("mc4wp-list-fetcher");f&&(o.api_connected&&0===o.lists.length&&u(),s.mount(f,{view:function(){return s("form",{method:"POST",onsubmit:u.bind(this)},[s("p",[s("input",{type:"submit",value:c.working?i.fetching_mailchimp_lists:i.renew_mailchimp_lists,className:"button",disabled:!!c.working}),s.trust(" &nbsp; "),c.working?[s("span.mc4wp-loader","Loading..."),s.trust(" &nbsp; ")]:"",c.done?[c.success?s("em.mc4wp-green",i.fetching_mailchimp_lists_done):s("em.mc4wp-red",i.fetching_mailchimp_lists_error)]:""])])}}))},7171:(e,t,n)=>{var r=window.mc4wp_vars.ajaxurl,o=n(865);Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var i=document.getElementById("mc4wp-mailchimp-lists-overview");i&&i.addEventListener("click",(function(e){e.target.matches(".mc4wp-mailchimp-list")&&function(e){e.preventDefault();var t=e.target,n=t.parentElement.parentElement.nextElementSibling,i=t.getAttribute("data-list-id"),l=n.querySelector("div");"none"===n.style.display?(o.request({method:"GET",url:r+"?action=mc4wp_get_list_details&ids="+i}).then((function(e){var t;o.render(l,(t=e.shift(),[o("h3","Merge fields"),o("table.widefat.striped",[o("thead",[o("tr",[o("th","Name"),o("th","Tag"),o("th","Type")])]),o("tbody",t.merge_fields.map((function(e){return o("tr",[o("td",[e.name,e.required&&o("span.mc4wp-red","*")]),o("td",[o("code",e.tag)]),o("td",[e.type," ",e.options&&e.options.date_format?"("+e.options.date_format+")":"",e.options&&e.options.choices?"("+e.options.choices.join(", ")+")":""])])})))]),t.interest_categories.length>0&&[o("h3","Interest Categories"),o("table.striped.widefat",[o("thead",[o("tr",[o("th","Name"),o("th","Type"),o("th","Interests")])]),o("tbody",t.interest_categories.map((function(e){return o("tr",[o("td",[o("strong",e.title),o("br"),o("br"),"ID: ",o("code",e.id)]),o("td",e.type),o("td",[o("div.mc4wp-row",{style:"margin-bottom: 4px;"},[o("div.mc4wp-col.mc4wp-col-3",[o("strong",{style:"display: block; border-bottom: 1px solid #eee;"},"Name")]),o("div.mc4wp-col.mc4wp-col-3",[o("strong",{style:"display: block; border-bottom: 1px solid #eee;"},"ID")])]),Object.keys(e.interests).map((function(t){return o("div.mc4wp-row.mc4wp-margin-s",[o("div.mc4wp-col.mc4wp-col-3",e.interests[t]),o("div.mc4wp-col.mc4wp-col-3",[o("code",{title:"Interest ID"},t)]),o("br.clearfix.clear.cf")])}))])])})))])]]))})),n.style.display=""):n.style.display="none"}(e)}))},907:e=>{function t(e){return(t="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)}var n=document.getElementById("mc4wp-admin").querySelectorAll(".mc4wp-list-input"),r=window.mc4wp_vars.mailchimp.lists,o=[],i={};function l(){var e,l,a;return o=[],[].forEach.call(n,(function(e){("boolean"!=typeof e.checked||e.checked)&&"object"===t(r[e.value])&&o.push(r[e.value])})),e=document.querySelectorAll(".lists--only-selected > *"),[].forEach.call(e,(function(e){var t,n=e.getAttribute("data-list-id"),r=("id",t=n,o.filter((function(e){return e.id===t}))).length>0;e.style.display=r?"":"none"})),a=[o],i[l="selectedLists.change"]=i[l]||[],i[l].forEach((function(e){return e.apply(null,a)})),o}[].forEach.call(n,(function(e){e.addEventListener("change",l)})),l(),e.exports={getSelectedLists:function(){return o},on:function(e,t){i[e]=i[e]||[],i[e].push(t)}}},1183:()=>{var e=document.querySelectorAll("[data-showif]");[].forEach.call(e,(function(e){var t=JSON.parse(e.getAttribute("data-showif")),n=document.querySelectorAll('[name="'+t.element+'"]'),r=e.querySelectorAll("input,select,textarea:not([readonly])"),o=void 0===t.hide||t.hide;function i(){if("radio"!==this.type||this.checked){var n="checkbox"===this.type?this.checked:this.value,i=String(n)===String(t.value);o?(e.style.display=i?"":"none",e.style.visibility=i?"":"hidden"):e.style.opacity=i?"":"0.4",[].forEach.call(r,(function(e){e.readOnly=!i}))}}[].forEach.call(n,(function(e){e.addEventListener("change",i),i.call(e)}))}))},1412:(e,t,n)=>{var r=n(6356),o=document.getElementById("mc4wp-admin"),i=o.querySelectorAll(".mc4wp-tab"),l=o.querySelectorAll(".nav-tab"),a=o.querySelector('input[name="_wp_http_referer"]'),s=[];function c(e){for(var t=0;t<s.length;t++)if(s[t].id===e)return s[t];return null}function u(e,t){if("string"==typeof e&&(e=c(e)),!e)return!1;void 0===t&&(t=!0),[].forEach.call(i,(function(e){e.className=e.className.replace("mc4wp-tab-active",""),e.style.display=" none"})),[].forEach.call(l,(function(e){e.className=e.className.replace("nav-tab-active","")})),[].forEach.call(e.nav,(function(e){e.className+=" nav-tab-active",e.blur()})),e.element.style.display="block",e.element.className+=" mc4wp-tab-active";var n=r.setParameter(window.location.href,"tab",e.id);return history.pushState&&t&&history.pushState(e.id,"",n),f(e),a.value=n,"function"==typeof window.tb_remove&&window.tb_remove(),window.mc4wp&&window.mc4wp.forms&&window.mc4wp.forms.editor&&window.mc4wp.forms.editor.refresh(),!0}function f(e){var t=document.title.split("-");document.title=document.title.replace(t[0],e.title+" ")}function d(e){var t=e.target,n=t.getAttribute("data-tab");if(!n){var o=t.className.match(/nav-tab-(\w+)?/);o&&(n=o[1])}if(!n){var i=r.parse(t.href);if(!i.tab)return;n=i.tab}return!u(n)||(e.preventDefault(),e.returnValue=!1,!1)}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),[].forEach.call(i,(function(e,t){var n=e.id.split("-").pop(),r=e.querySelector("h2:first-of-type").textContent;s.push({id:n,title:r,element:e,nav:o.querySelectorAll(".nav-tab-"+n),open:function(){return u(n)}})})),[].forEach.call(l,(function(e){return e.addEventListener("click",d)})),document.body.addEventListener("click",(function(e){e.target.matches(".tab-link")&&d(e)})),function(){var e=s.filter((function(e){return null!==e.element.offsetParent})).shift();if(e){var t=c(e.id.substring(4));t&&(history.replaceState&&null===history.state&&history.replaceState(t.id,""),f(t))}}(),window.addEventListener&&history.pushState&&window.addEventListener("popstate",(function(e){return!e.state||u(e.state,!1)})),e.exports={open:u,get:c}},6356:e=>{function t(e){var t={},n=e.split("&");for(var r in n)if(n.hasOwnProperty(r)){var o=n[r].split("=");t[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return t}function n(e){var t=[];for(var n in e)t.push(n+"="+encodeURIComponent(e[n]));return t.join("&")}e.exports={parse:t,build:n,setParameter:function(e,r,o){var i=t(e);return i[r]=o,n(i)}}},8018:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(e,t,n){var o=[],i=!1,l=!1;function a(){if(i)throw new Error("Nested m.redraw.sync() call");i=!0;for(var t=0;t<o.length;t+=2)try{e(o[t],r(o[t+1]),s)}catch(e){n.error(e)}i=!1}function s(){l||(l=!0,t((function(){l=!1,a()})))}return s.sync=a,{mount:function(t,n){if(null!=n&&null==n.view&&"function"!=typeof n)throw new TypeError("m.mount(element, component) expects a component, not a vnode");var i=o.indexOf(t);i>=0&&(o.splice(i,2),e(t,[],s)),null!=n&&(o.push(t,n),e(t,r(n),s))},redraw:s}}},3223:(e,t,n)=>{"use strict";var r=n(8178),o=n(373),i=n(5164),l=n(249),a=n(8561),s=n(7562),c=n(1127),u={};e.exports=function(e,t){var n;function f(t,r,o){if(t=l(t,r),null!=n){n();var i=o?o.state:null,a=o?o.title:null;o&&o.replace?e.history.replaceState(i,a,g.prefix+t):e.history.pushState(i,a,g.prefix+t)}else e.location.href=g.prefix+t}var d,p,m,h,v=u,y=g.SKIP={};function g(o,l,w){if(null==o)throw new Error("Ensure the DOM element that was passed to `m.route` is not undefined");var b,x=0,E=Object.keys(w).map((function(e){if("/"!==e[0])throw new SyntaxError("Routes must start with a `/`");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Route parameter names must be separated with either `/`, `.`, or `-`");return{route:e,component:w[e],check:s(e)}})),k="function"==typeof setImmediate?setImmediate:setTimeout,S=i.resolve(),_=!1;if(n=null,null!=l){var j=a(l);if(!E.some((function(e){return e.check(j)})))throw new ReferenceError("Default route doesn't match any known routes")}function A(){_=!1;var n=e.location.hash;"#"!==g.prefix[0]&&(n=e.location.search+n,"?"!==g.prefix[0]&&"/"!==(n=e.location.pathname+n)[0]&&(n="/"+n));var r=n.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent).slice(g.prefix.length),o=a(r);function i(){if(r===l)throw new Error("Could not resolve default route "+l);f(l,null,{replace:!0})}c(o.params,e.history.state),function e(n){for(;n<E.length;n++)if(E[n].check(o)){var l=E[n].component,a=E[n].route,s=l,c=h=function(i){if(c===h){if(i===y)return e(n+1);d=null==i||"function"!=typeof i.view&&"function"!=typeof i?"div":i,p=o.params,m=r,h=null,v=l.render?l:null,2===x?t.redraw():(x=2,t.redraw.sync())}};return void(l.view||"function"==typeof l?(l={},c(s)):l.onmatch?S.then((function(){return l.onmatch(o.params,r,a)})).then(c,i):c("div"))}i()}(0)}return n=function(){_||(_=!0,k(A))},"function"==typeof e.history.pushState?(b=function(){e.removeEventListener("popstate",n,!1)},e.addEventListener("popstate",n,!1)):"#"===g.prefix[0]&&(n=null,b=function(){e.removeEventListener("hashchange",A,!1)},e.addEventListener("hashchange",A,!1)),t.mount(o,{onbeforeupdate:function(){return!(!(x=x?2:1)||u===v)},oncreate:A,onremove:b,view:function(){if(x&&u!==v){var e=[r(d,p.key,p)];return v&&(e=v.render(e[0])),e}}})}return g.set=function(e,t,n){null!=h&&((n=n||{}).replace=!0),h=null,f(e,t,n)},g.get=function(){return m},g.prefix="#!",g.Link={view:function(e){var t,n,r=e.attrs.options,i={};c(i,e.attrs),i.selector=i.options=i.key=i.oninit=i.oncreate=i.onbeforeupdate=i.onupdate=i.onbeforeremove=i.onremove=null;var l=o(e.attrs.selector||"a",i,e.children);return(l.attrs.disabled=Boolean(l.attrs.disabled))?(l.attrs.href=null,l.attrs["aria-disabled"]="true",l.attrs.onclick=null):(t=l.attrs.onclick,n=l.attrs.href,l.attrs.href=g.prefix+n,l.attrs.onclick=function(e){var o;"function"==typeof t?o=t.call(e.currentTarget,e):null==t||"object"!=typeof t||"function"==typeof t.handleEvent&&t.handleEvent(e),!1===o||e.defaultPrevented||0!==e.button&&0!==e.which&&1!==e.which||e.currentTarget.target&&"_self"!==e.currentTarget.target||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),e.redraw=!1,g.set(n,null,r))}),l}},g.param=function(e){return p&&null!=e?p[e]:p},g}},1262:(e,t,n)=>{"use strict";var r=n(373);r.trust=n(4742),r.fragment=n(9621),e.exports=r},865:(e,t,n)=>{"use strict";var r=n(1262),o=n(9074),i=n(9165),l=function(){return r.apply(this,arguments)};l.m=r,l.trust=r.trust,l.fragment=r.fragment,l.mount=i.mount,l.route=n(843),l.render=n(5358),l.redraw=i.redraw,l.request=o.request,l.jsonp=o.jsonp,l.parseQueryString=n(9874),l.buildQueryString=n(478),l.parsePathname=n(8561),l.buildPathname=n(249),l.vnode=n(8178),l.PromisePolyfill=n(2803),e.exports=l},9165:(e,t,n)=>{"use strict";var r=n(5358);e.exports=n(8018)(r,requestAnimationFrame,console)},1127:e=>{"use strict";e.exports=Object.assign||function(e,t){t&&Object.keys(t).forEach((function(n){e[n]=t[n]}))}},249:(e,t,n)=>{"use strict";var r=n(478),o=n(1127);e.exports=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Template parameter names *must* be separated");if(null==t)return e;var n=e.indexOf("?"),i=e.indexOf("#"),l=i<0?e.length:i,a=n<0?l:n,s=e.slice(0,a),c={};o(c,t);var u=s.replace(/:([^\/\.-]+)(\.{3})?/g,(function(e,n,r){return delete c[n],null==t[n]?e:r?t[n]:encodeURIComponent(String(t[n]))})),f=u.indexOf("?"),d=u.indexOf("#"),p=d<0?u.length:d,m=f<0?p:f,h=u.slice(0,m);n>=0&&(h+=e.slice(n,l)),f>=0&&(h+=(n<0?"?":"&")+u.slice(f,p));var v=r(c);return v&&(h+=(n<0&&f<0?"?":"&")+v),i>=0&&(h+=e.slice(i)),d>=0&&(h+=(i<0?"":"&")+u.slice(d)),h}},7562:(e,t,n)=>{"use strict";var r=n(8561);e.exports=function(e){var t=r(e),n=Object.keys(t.params),o=[],i=new RegExp("^"+t.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,(function(e,t,n){return null==t?"\\"+e:(o.push({k:t,r:"..."===n}),"..."===n?"(.*)":"."===n?"([^/]+)\\.":"([^/]+)"+(n||""))}))+"$");return function(e){for(var r=0;r<n.length;r++)if(t.params[n[r]]!==e.params[n[r]])return!1;if(!o.length)return i.test(e.path);var l=i.exec(e.path);if(null==l)return!1;for(r=0;r<o.length;r++)e.params[o[r].k]=o[r].r?l[r+1]:decodeURIComponent(l[r+1]);return!0}}},8561:(e,t,n)=>{"use strict";var r=n(9874);e.exports=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),o=n<0?e.length:n,i=t<0?o:t,l=e.slice(0,i).replace(/\/{2,}/g,"/");return l?("/"!==l[0]&&(l="/"+l),l.length>1&&"/"===l[l.length-1]&&(l=l.slice(0,-1))):l="/",{path:l,params:t<0?{}:r(e.slice(t+1,o))}}},2803:e=>{"use strict";var t=function(e){if(!(this instanceof t))throw new Error("Promise must be called with `new`");if("function"!=typeof e)throw new TypeError("executor must be a function");var n=this,r=[],o=[],i=c(r,!0),l=c(o,!1),a=n._instance={resolvers:r,rejectors:o},s="function"==typeof setImmediate?setImmediate:setTimeout;function c(e,t){return function i(c){var f;try{if(!t||null==c||"object"!=typeof c&&"function"!=typeof c||"function"!=typeof(f=c.then))s((function(){t||0!==e.length||console.error("Possible unhandled promise rejection:",c);for(var n=0;n<e.length;n++)e[n](c);r.length=0,o.length=0,a.state=t,a.retry=function(){i(c)}}));else{if(c===n)throw new TypeError("Promise can't be resolved w/ itself");u(f.bind(c))}}catch(e){l(e)}}}function u(e){var t=0;function n(e){return function(n){t++>0||e(n)}}var r=n(l);try{e(n(i),r)}catch(e){r(e)}}u(e)};t.prototype.then=function(e,n){var r,o,i=this._instance;function l(e,t,n,l){t.push((function(t){if("function"!=typeof e)n(t);else try{r(e(t))}catch(e){o&&o(e)}})),"function"==typeof i.retry&&l===i.state&&i.retry()}var a=new t((function(e,t){r=e,o=t}));return l(e,i.resolvers,r,!0),l(n,i.rejectors,o,!1),a},t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(e){return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){return t.reject(n)}))}))},t.resolve=function(e){return e instanceof t?e:new t((function(t){t(e)}))},t.reject=function(e){return new t((function(t,n){n(e)}))},t.all=function(e){return new t((function(t,n){var r=e.length,o=0,i=[];if(0===e.length)t([]);else for(var l=0;l<e.length;l++)!function(l){function a(e){o++,i[l]=e,o===r&&t(i)}null==e[l]||"object"!=typeof e[l]&&"function"!=typeof e[l]||"function"!=typeof e[l].then?a(e[l]):e[l].then(a,n)}(l)}))},t.race=function(e){return new t((function(t,n){for(var r=0;r<e.length;r++)e[r].then(t,n)}))},e.exports=t},5164:(e,t,n)=>{"use strict";var r=n(2803);"undefined"!=typeof window?(void 0===window.Promise?window.Promise=r:window.Promise.prototype.finally||(window.Promise.prototype.finally=r.prototype.finally),e.exports=window.Promise):void 0!==n.g?(void 0===n.g.Promise?n.g.Promise=r:n.g.Promise.prototype.finally||(n.g.Promise.prototype.finally=r.prototype.finally),e.exports=n.g.Promise):e.exports=r},478:e=>{"use strict";e.exports=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)r(n,e[n]);return t.join("&");function r(e,n){if(Array.isArray(n))for(var o=0;o<n.length;o++)r(e+"["+o+"]",n[o]);else if("[object Object]"===Object.prototype.toString.call(n))for(var o in n)r(e+"["+o+"]",n[o]);else t.push(encodeURIComponent(e)+(null!=n&&""!==n?"="+encodeURIComponent(n):""))}}},9874:e=>{"use strict";e.exports=function(e){if(""===e||null==e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t=e.split("&"),n={},r={},o=0;o<t.length;o++){var i=t[o].split("="),l=decodeURIComponent(i[0]),a=2===i.length?decodeURIComponent(i[1]):"";"true"===a?a=!0:"false"===a&&(a=!1);var s=l.split(/\]\[?|\[/),c=r;l.indexOf("[")>-1&&s.pop();for(var u=0;u<s.length;u++){var f=s[u],d=s[u+1],p=""==d||!isNaN(parseInt(d,10));if(""===f)null==n[l=s.slice(0,u).join()]&&(n[l]=Array.isArray(c)?c.length:0),f=n[l]++;else if("__proto__"===f)break;if(u===s.length-1)c[f]=a;else{var m=Object.getOwnPropertyDescriptor(c,f);null!=m&&(m=m.value),null==m&&(c[f]=m=p?[]:{}),c=m}}}return r}},5358:(e,t,n)=>{"use strict";e.exports=n(5452)(window)},9621:(e,t,n)=>{"use strict";var r=n(8178),o=n(1359);e.exports=function(){var e=o.apply(0,arguments);return e.tag="[",e.children=r.normalizeChildren(e.children),e}},373:(e,t,n)=>{"use strict";var r=n(8178),o=n(1359),i=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,l={},a={}.hasOwnProperty;function s(e){for(var t in e)if(a.call(e,t))return!1;return!0}function c(e){for(var t,n="div",r=[],o={};t=i.exec(e);){var a=t[1],s=t[2];if(""===a&&""!==s)n=s;else if("#"===a)o.id=s;else if("."===a)r.push(s);else if("["===t[3][0]){var c=t[6];c&&(c=c.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?r.push(c):o[t[4]]=""===c?c:c||!0}}return r.length>0&&(o.className=r.join(" ")),l[e]={tag:n,attrs:o}}function u(e,t){var n=t.attrs,o=r.normalizeChildren(t.children),i=a.call(n,"class"),l=i?n.class:n.className;if(t.tag=e.tag,t.attrs=null,t.children=void 0,!s(e.attrs)&&!s(n)){var c={};for(var u in n)a.call(n,u)&&(c[u]=n[u]);n=c}for(var u in e.attrs)a.call(e.attrs,u)&&"className"!==u&&!a.call(n,u)&&(n[u]=e.attrs[u]);for(var u in null==l&&null==e.attrs.className||(n.className=null!=l?null!=e.attrs.className?String(e.attrs.className)+" "+String(l):l:null!=e.attrs.className?e.attrs.className:null),i&&(n.class=null),n)if(a.call(n,u)&&"key"!==u){t.attrs=n;break}return Array.isArray(o)&&1===o.length&&null!=o[0]&&"#"===o[0].tag?t.text=o[0].children:t.children=o,t}e.exports=function(e){if(null==e||"string"!=typeof e&&"function"!=typeof e&&"function"!=typeof e.view)throw Error("The selector must be either a string or a component.");var t=o.apply(1,arguments);return"string"==typeof e&&(t.children=r.normalizeChildren(t.children),"["!==e)?u(l[e]||c(e),t):(t.tag=e,t)}},1359:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(){var e,t=arguments[this],n=this+1;if(null==t?t={}:("object"!=typeof t||null!=t.tag||Array.isArray(t))&&(t={},n=this),arguments.length===n+1)e=arguments[n],Array.isArray(e)||(e=[e]);else for(e=[];n<arguments.length;)e.push(arguments[n++]);return r("",t.key,t,e)}},5452:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(e){var t,n=e&&e.document,o={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function i(e){return e.attrs&&e.attrs.xmlns||o[e.tag]}function l(e,t){if(e.state!==t)throw new Error("`vnode.state` must not be modified")}function a(e){var t=e.state;try{return this.apply(t,arguments)}finally{l(e,t)}}function s(){try{return n.activeElement}catch(e){return null}}function c(e,t,n,r,o,i,l){for(var a=n;a<r;a++){var s=t[a];null!=s&&u(e,s,o,l,i)}}function u(e,t,o,l,s){var f=t.tag;if("string"==typeof f)switch(t.state={},null!=t.attrs&&q(t.attrs,t,o),f){case"#":!function(e,t,r){t.dom=n.createTextNode(t.children),b(e,t.dom,r)}(e,t,s);break;case"<":d(e,t,l,s);break;case"[":!function(e,t,r,o,i){var l=n.createDocumentFragment();if(null!=t.children){var a=t.children;c(l,a,0,a.length,r,null,o)}t.dom=l.firstChild,t.domSize=l.childNodes.length,b(e,l,i)}(e,t,o,l,s);break;default:!function(e,t,o,l,a){var s=t.tag,u=t.attrs,f=u&&u.is,d=(l=i(t)||l)?f?n.createElementNS(l,s,{is:f}):n.createElementNS(l,s):f?n.createElement(s,{is:f}):n.createElement(s);if(t.dom=d,null!=u&&function(e,t,n){for(var r in t)A(e,r,null,t[r],n)}(t,u,l),b(e,d,a),!x(t)&&(null!=t.text&&(""!==t.text?d.textContent=t.text:t.children=[r("#",void 0,void 0,t.text,void 0,void 0)]),null!=t.children)){var p=t.children;c(d,p,0,p.length,o,null,l),"select"===t.tag&&null!=u&&function(e,t){if("value"in t)if(null===t.value)-1!==e.dom.selectedIndex&&(e.dom.value=null);else{var n=""+t.value;e.dom.value===n&&-1!==e.dom.selectedIndex||(e.dom.value=n)}"selectedIndex"in t&&A(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,u)}}(e,t,o,l,s)}else!function(e,t,n,o,i){(function(e,t){var n;if("function"==typeof e.tag.view){if(e.state=Object.create(e.tag),null!=(n=e.state.view).$$reentrantLock$$)return;n.$$reentrantLock$$=!0}else{if(e.state=void 0,null!=(n=e.tag).$$reentrantLock$$)return;n.$$reentrantLock$$=!0,e.state=null!=e.tag.prototype&&"function"==typeof e.tag.prototype.view?new e.tag(e):e.tag(e)}if(q(e.state,e,t),null!=e.attrs&&q(e.attrs,e,t),e.instance=r.normalize(a.call(e.state.view,e)),e.instance===e)throw Error("A view cannot return the vnode it received as argument");n.$$reentrantLock$$=null})(t,n),null!=t.instance?(u(e,t.instance,n,o,i),t.dom=t.instance.dom,t.domSize=null!=t.dom?t.instance.domSize:0):t.domSize=0}(e,t,o,l,s)}var f={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function d(e,t,r,o){var i=t.children.match(/^\s*?<(\w+)/im)||[],l=n.createElement(f[i[1]]||"div");"http://www.w3.org/2000/svg"===r?(l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",l=l.firstChild):l.innerHTML=t.children,t.dom=l.firstChild,t.domSize=l.childNodes.length,t.instance=[];for(var a,s=n.createDocumentFragment();a=l.firstChild;)t.instance.push(a),s.appendChild(a);b(e,s,o)}function p(e,t,n,r,o,i){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)c(e,n,0,n.length,r,o,i);else if(null==n||0===n.length)E(e,t,0,t.length);else{var l=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,s=0,f=0;if(!l)for(;f<t.length&&null==t[f];)f++;if(!a)for(;s<n.length&&null==n[s];)s++;if(null===a&&null==l)return;if(l!==a)E(e,t,f,t.length),c(e,n,s,n.length,r,o,i);else if(a){for(var d,p,w,b,x,S=t.length-1,_=n.length-1;S>=f&&_>=s&&(w=t[S],b=n[_],w.key===b.key);)w!==b&&m(e,w,b,r,o,i),null!=b.dom&&(o=b.dom),S--,_--;for(;S>=f&&_>=s&&(d=t[f],p=n[s],d.key===p.key);)f++,s++,d!==p&&m(e,d,p,r,y(t,f,o),i);for(;S>=f&&_>=s&&s!==_&&d.key===b.key&&w.key===p.key;)g(e,w,x=y(t,f,o)),w!==p&&m(e,w,p,r,x,i),++s<=--_&&g(e,d,o),d!==b&&m(e,d,b,r,o,i),null!=b.dom&&(o=b.dom),f++,w=t[--S],b=n[_],d=t[f],p=n[s];for(;S>=f&&_>=s&&w.key===b.key;)w!==b&&m(e,w,b,r,o,i),null!=b.dom&&(o=b.dom),_--,w=t[--S],b=n[_];if(s>_)E(e,t,f,S+1);else if(f>S)c(e,n,s,_+1,r,o,i);else{var j,A,C=o,N=_-s+1,T=new Array(N),O=0,z=0,I=2147483647,P=0;for(z=0;z<N;z++)T[z]=-1;for(z=_;z>=s;z--){null==j&&(j=h(t,f,S+1));var L=j[(b=n[z]).key];null!=L&&(I=L<I?L:-1,T[z-s]=L,w=t[L],t[L]=null,w!==b&&m(e,w,b,r,o,i),null!=b.dom&&(o=b.dom),P++)}if(o=C,P!==S-f+1&&E(e,t,f,S+1),0===P)c(e,n,s,_+1,r,o,i);else if(-1===I)for(O=(A=function(e){var t=[0],n=0,r=0,o=0,i=v.length=e.length;for(o=0;o<i;o++)v[o]=e[o];for(o=0;o<i;++o)if(-1!==e[o]){var l=t[t.length-1];if(e[l]<e[o])v[o]=l,t.push(o);else{for(n=0,r=t.length-1;n<r;){var a=(n>>>1)+(r>>>1)+(n&r&1);e[t[a]]<e[o]?n=a+1:r=a}e[o]<e[t[n]]&&(n>0&&(v[o]=t[n-1]),t[n]=o)}}for(r=t[(n=t.length)-1];n-- >0;)t[n]=r,r=v[r];return v.length=0,t}(T)).length-1,z=_;z>=s;z--)p=n[z],-1===T[z-s]?u(e,p,r,i,o):A[O]===z-s?O--:g(e,p,o),null!=p.dom&&(o=n[z].dom);else for(z=_;z>=s;z--)p=n[z],-1===T[z-s]&&u(e,p,r,i,o),null!=p.dom&&(o=n[z].dom)}}else{var $=t.length<n.length?t.length:n.length;for(s=s<f?s:f;s<$;s++)(d=t[s])===(p=n[s])||null==d&&null==p||(null==d?u(e,p,r,i,y(t,s+1,o)):null==p?k(e,d):m(e,d,p,r,y(t,s+1,o),i));t.length>$&&E(e,t,s,t.length),n.length>$&&c(e,n,s,n.length,r,o,i)}}}function m(e,t,n,o,l,s){var c=t.tag;if(c===n.tag){if(n.state=t.state,n.events=t.events,function(e,t){do{var n;if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate&&void 0!==(n=a.call(e.attrs.onbeforeupdate,e,t))&&!n)break;if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate&&void 0!==(n=a.call(e.state.onbeforeupdate,e,t))&&!n)break;return!1}while(0);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}(n,t))return;if("string"==typeof c)switch(null!=n.attrs&&R(n.attrs,n,o),c){case"#":!function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom}(t,n);break;case"<":!function(e,t,n,r,o){t.children!==n.children?(S(e,t),d(e,n,r,o)):(n.dom=t.dom,n.domSize=t.domSize,n.instance=t.instance)}(e,t,n,s,l);break;case"[":!function(e,t,n,r,o,i){p(e,t.children,n.children,r,o,i);var l=0,a=n.children;if(n.dom=null,null!=a){for(var s=0;s<a.length;s++){var c=a[s];null!=c&&null!=c.dom&&(null==n.dom&&(n.dom=c.dom),l+=c.domSize||1)}1!==l&&(n.domSize=l)}}(e,t,n,o,l,s);break;default:!function(e,t,n,o){var l=t.dom=e.dom;o=i(t)||o,"textarea"===t.tag&&(null==t.attrs&&(t.attrs={}),null!=t.text&&(t.attrs.value=t.text,t.text=void 0)),function(e,t,n,r){if(null!=n)for(var o in n)A(e,o,t&&t[o],n[o],r);var i;if(null!=t)for(var o in t)null==(i=t[o])||null!=n&&null!=n[o]||C(e,o,i,r)}(t,e.attrs,t.attrs,o),x(t)||(null!=e.text&&null!=t.text&&""!==t.text?e.text.toString()!==t.text.toString()&&(e.dom.firstChild.nodeValue=t.text):(null!=e.text&&(e.children=[r("#",void 0,void 0,e.text,void 0,e.dom.firstChild)]),null!=t.text&&(t.children=[r("#",void 0,void 0,t.text,void 0,void 0)]),p(l,e.children,t.children,n,null,o)))}(t,n,o,s)}else!function(e,t,n,o,i,l){if(n.instance=r.normalize(a.call(n.state.view,n)),n.instance===n)throw Error("A view cannot return the vnode it received as argument");R(n.state,n,o),null!=n.attrs&&R(n.attrs,n,o),null!=n.instance?(null==t.instance?u(e,n.instance,o,l,i):m(e,t.instance,n.instance,o,i,l),n.dom=n.instance.dom,n.domSize=n.instance.domSize):null!=t.instance?(k(e,t.instance),n.dom=void 0,n.domSize=0):(n.dom=t.dom,n.domSize=t.domSize)}(e,t,n,o,l,s)}else k(e,t),u(e,n,o,s,l)}function h(e,t,n){for(var r=Object.create(null);t<n;t++){var o=e[t];if(null!=o){var i=o.key;null!=i&&(r[i]=t)}}return r}var v=[];function y(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function g(e,t,r){var o=n.createDocumentFragment();w(e,o,t),b(e,o,r)}function w(e,t,n){for(;null!=n.dom&&n.dom.parentNode===e;){if("string"!=typeof n.tag){if(null!=(n=n.instance))continue}else if("<"===n.tag)for(var r=0;r<n.instance.length;r++)t.appendChild(n.instance[r]);else if("["!==n.tag)t.appendChild(n.dom);else if(1===n.children.length){if(null!=(n=n.children[0]))continue}else for(r=0;r<n.children.length;r++){var o=n.children[r];null!=o&&w(e,t,o)}break}}function b(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function x(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(null!=e.text||null!=t&&0!==t.length)throw new Error("Child node of a contenteditable must be trusted");return!0}function E(e,t,n,r){for(var o=n;o<r;o++){var i=t[o];null!=i&&k(e,i)}}function k(e,t){var n,r,o,i=0,s=t.state;if("string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove&&null!=(o=a.call(t.state.onbeforeremove,t))&&"function"==typeof o.then&&(i=1,n=o),t.attrs&&"function"==typeof t.attrs.onbeforeremove&&null!=(o=a.call(t.attrs.onbeforeremove,t))&&"function"==typeof o.then&&(i|=2,r=o),l(t,s),i){if(null!=n){var c=function(){1&i&&((i&=2)||u())};n.then(c,c)}null!=r&&(c=function(){2&i&&((i&=1)||u())},r.then(c,c))}else j(t),_(e,t);function u(){l(t,s),j(t),_(e,t)}}function S(e,t){for(var n=0;n<t.instance.length;n++)e.removeChild(t.instance[n])}function _(e,t){for(;null!=t.dom&&t.dom.parentNode===e;){if("string"!=typeof t.tag){if(null!=(t=t.instance))continue}else if("<"===t.tag)S(e,t);else{if("["!==t.tag&&(e.removeChild(t.dom),!Array.isArray(t.children)))break;if(1===t.children.length){if(null!=(t=t.children[0]))continue}else for(var n=0;n<t.children.length;n++){var r=t.children[n];null!=r&&_(e,r)}}break}}function j(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&a.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&a.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&j(e.instance);else{var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];null!=r&&j(r)}}}function A(e,t,r,o,i){if("key"!==t&&"is"!==t&&null!=o&&!N(t)&&(r!==o||function(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&e.dom===s()||"option"===e.tag&&e.dom.parentNode===n.activeElement}(e,t)||"object"==typeof o)){if("o"===t[0]&&"n"===t[1])return $(e,t,o);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),o);else if("style"===t)P(e.dom,r,o);else if(T(e,t,i)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+o&&e.dom===s())return;if("select"===e.tag&&null!==r&&e.dom.value===""+o)return;if("option"===e.tag&&null!==r&&e.dom.value===""+o)return}"input"===e.tag&&"type"===t?e.dom.setAttribute(t,o):e.dom[t]=o}else"boolean"==typeof o?o?e.dom.setAttribute(t,""):e.dom.removeAttribute(t):e.dom.setAttribute("className"===t?"class":t,o)}}function C(e,t,n,r){if("key"!==t&&"is"!==t&&null!=n&&!N(t))if("o"!==t[0]||"n"!==t[1]||N(t))if("style"===t)P(e.dom,n,null);else if(!T(e,t,r)||"className"===t||"value"===t&&("option"===e.tag||"select"===e.tag&&-1===e.dom.selectedIndex&&e.dom===s())||"input"===e.tag&&"type"===t){var o=t.indexOf(":");-1!==o&&(t=t.slice(o+1)),!1!==n&&e.dom.removeAttribute("className"===t?"class":t)}else e.dom[t]=null;else $(e,t,void 0)}function N(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function T(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||null!=e.attrs&&e.attrs.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}var O=/[A-Z]/g;function z(e){return"-"+e.toLowerCase()}function I(e){return"-"===e[0]&&"-"===e[1]?e:"cssFloat"===e?"float":e.replace(O,z)}function P(e,t,n){if(t===n);else if(null==n)e.style.cssText="";else if("object"!=typeof n)e.style.cssText=n;else if(null==t||"object"!=typeof t)for(var r in e.style.cssText="",n)null!=(o=n[r])&&e.style.setProperty(I(r),String(o));else{for(var r in n){var o;null!=(o=n[r])&&(o=String(o))!==String(t[r])&&e.style.setProperty(I(r),o)}for(var r in t)null!=t[r]&&null==n[r]&&e.style.removeProperty(I(r))}}function L(){this._=t}function $(e,t,n){if(null!=e.events){if(e.events[t]===n)return;null==n||"function"!=typeof n&&"object"!=typeof n?(null!=e.events[t]&&e.dom.removeEventListener(t.slice(2),e.events,!1),e.events[t]=void 0):(null==e.events[t]&&e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}else null==n||"function"!=typeof n&&"object"!=typeof n||(e.events=new L,e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}function q(e,t,n){"function"==typeof e.oninit&&a.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(a.bind(e.oncreate,t))}function R(e,t,n){"function"==typeof e.onupdate&&n.push(a.bind(e.onupdate,t))}return L.prototype=Object.create(null),L.prototype.handleEvent=function(e){var t,n=this["on"+e.type];"function"==typeof n?t=n.call(e.currentTarget,e):"function"==typeof n.handleEvent&&n.handleEvent(e),this._&&!1!==e.redraw&&(0,this._)(),!1===t&&(e.preventDefault(),e.stopPropagation())},function(e,n,o){if(!e)throw new TypeError("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var i=[],l=s(),a=e.namespaceURI;null==e.vnodes&&(e.textContent=""),n=r.normalizeChildren(Array.isArray(n)?n:[n]);var c=t;try{t="function"==typeof o?o:void 0,p(e,e.vnodes,n,i,null,"http://www.w3.org/1999/xhtml"===a?void 0:a)}finally{t=c}e.vnodes=n,null!=l&&s()!==l&&"function"==typeof l.focus&&l.focus();for(var u=0;u<i.length;u++)i[u]()}}},4742:(e,t,n)=>{"use strict";var r=n(8178);e.exports=function(e){return null==e&&(e=""),r("<",void 0,void 0,e,void 0,void 0)}},8178:e=>{"use strict";function t(e,t,n,r,o,i){return{tag:e,key:t,attrs:n,children:r,text:o,dom:i,domSize:void 0,state:void 0,events:void 0,instance:void 0}}t.normalize=function(e){return Array.isArray(e)?t("[",void 0,void 0,t.normalizeChildren(e),void 0,void 0):null==e||"boolean"==typeof e?null:"object"==typeof e?e:t("#",void 0,void 0,String(e),void 0,void 0)},t.normalizeChildren=function(e){var n=[];if(e.length){for(var r=null!=e[0]&&null!=e[0].key,o=1;o<e.length;o++)if((null!=e[o]&&null!=e[o].key)!==r)throw new TypeError("Vnodes must either always have keys or never have keys!");for(o=0;o<e.length;o++)n[o]=t.normalize(e[o])}return n},e.exports=t},9074:(e,t,n)=>{"use strict";var r=n(5164),o=n(9165);e.exports=n(2775)(window,r,o.redraw)},2775:(e,t,n)=>{"use strict";var r=n(249);e.exports=function(e,t,n){var o=0;function i(e){return new t(e)}function l(e){return function(o,l){"string"!=typeof o?(l=o,o=o.url):null==l&&(l={});var a=new t((function(t,n){e(r(o,l.params),l,(function(e){if("function"==typeof l.type)if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=new l.type(e[n]);else e=new l.type(e);t(e)}),n)}));if(!0===l.background)return a;var s=0;function c(){0==--s&&"function"==typeof n&&n()}return function e(t){var n=t.then;return t.constructor=i,t.then=function(){s++;var r=n.apply(t,arguments);return r.then(c,(function(e){if(c(),0===s)throw e})),e(r)},t}(a)}}function a(e,t){for(var n in e.headers)if({}.hasOwnProperty.call(e.headers,n)&&t.test(n))return!0;return!1}return i.prototype=t.prototype,i.__proto__=t,{request:l((function(t,n,r,o){var i,l=null!=n.method?n.method.toUpperCase():"GET",s=n.body,c=!(null!=n.serialize&&n.serialize!==JSON.serialize||s instanceof e.FormData),u=n.responseType||("function"==typeof n.extract?"":"json"),f=new e.XMLHttpRequest,d=!1,p=f,m=f.abort;for(var h in f.abort=function(){d=!0,m.call(this)},f.open(l,t,!1!==n.async,"string"==typeof n.user?n.user:void 0,"string"==typeof n.password?n.password:void 0),c&&null!=s&&!a(n,/^content-type$/i)&&f.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"==typeof n.deserialize||a(n,/^accept$/i)||f.setRequestHeader("Accept","application/json, text/*"),n.withCredentials&&(f.withCredentials=n.withCredentials),n.timeout&&(f.timeout=n.timeout),f.responseType=u,n.headers)({}).hasOwnProperty.call(n.headers,h)&&f.setRequestHeader(h,n.headers[h]);f.onreadystatechange=function(e){if(!d&&4===e.target.readyState)try{var i,l=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),a=e.target.response;if("json"===u?e.target.responseType||"function"==typeof n.extract||(a=JSON.parse(e.target.responseText)):u&&"text"!==u||null==a&&(a=e.target.responseText),"function"==typeof n.extract?(a=n.extract(e.target,n),l=!0):"function"==typeof n.deserialize&&(a=n.deserialize(a)),l)r(a);else{try{i=e.target.responseText}catch(e){i=a}var s=new Error(i);s.code=e.target.status,s.response=a,o(s)}}catch(e){o(e)}},"function"==typeof n.config&&(f=n.config(f,n,t)||f)!==p&&(i=f.abort,f.abort=function(){d=!0,i.call(this)}),null==s?f.send():"function"==typeof n.serialize?f.send(n.serialize(s)):s instanceof e.FormData?f.send(s):f.send(JSON.stringify(s))})),jsonp:l((function(t,n,r,i){var l=n.callbackName||"_mithril_"+Math.round(1e16*Math.random())+"_"+o++,a=e.document.createElement("script");e[l]=function(t){delete e[l],a.parentNode.removeChild(a),r(t)},a.onerror=function(){delete e[l],a.parentNode.removeChild(a),i(new Error("JSONP request failed"))},a.src=t+(t.indexOf("?")<0?"?":"&")+encodeURIComponent(n.callbackKey||"callback")+"="+encodeURIComponent(l),e.document.documentElement.appendChild(a)}))}}},843:(e,t,n)=>{"use strict";var r=n(9165);e.exports=n(3223)(window,r)}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,i),n.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),e=i(1412),t=i(907),n=i(2458),i(534),i(4644),i(7171),i(1183),window.mc4wp=window.mc4wp||{},window.mc4wp.helpers=n,window.mc4wp.settings=t,window.mc4wp.tabs=e})();
assets/src/js/admin/list-fetcher.js CHANGED
@@ -1,6 +1,5 @@
1
- const config = window.mc4wp_vars
2
- const i18n = window.mc4wp_vars.i18n
3
- const ajaxurl = window.mc4wp_vars.ajaxurl
4
  const m = require('mithril')
5
  const state = {
6
  working: false,
@@ -16,7 +15,7 @@ function fetch (evt) {
16
 
17
  m.request({
18
  method: 'POST',
19
- url: ajaxurl + '?action=mc4wp_renew_mailchimp_lists',
20
  timeout: 600000 // 10 minutes, matching max_execution_time
21
  }).then(function (data) {
22
  state.success = true
@@ -66,7 +65,7 @@ function view () {
66
  const mount = document.getElementById('mc4wp-list-fetcher')
67
  if (mount) {
68
  // start fetching right away when no lists but api key given
69
- if (config.mailchimp.api_connected && config.mailchimp.lists.length === 0) {
70
  fetch()
71
  }
72
 
1
+ const { mailchimp, i18n, ajaxurl, nonce } = window.mc4wp_vars
2
+
 
3
  const m = require('mithril')
4
  const state = {
5
  working: false,
15
 
16
  m.request({
17
  method: 'POST',
18
+ url: `${ajaxurl}?action=mc4wp_renew_mailchimp_lists&_wpnonce=${nonce}`,
19
  timeout: 600000 // 10 minutes, matching max_execution_time
20
  }).then(function (data) {
21
  state.success = true
65
  const mount = document.getElementById('mc4wp-list-fetcher')
66
  if (mount) {
67
  // start fetching right away when no lists but api key given
68
+ if (mailchimp.api_connected && mailchimp.lists.length === 0) {
69
  fetch()
70
  }
71
 
includes/admin/class-admin-ajax.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  class MC4WP_Admin_Ajax {
4
 
5
-
6
  /**
7
  * @var MC4WP_Admin_Tools
8
  */
@@ -30,9 +29,12 @@ class MC4WP_Admin_Ajax {
30
  */
31
  public function refresh_mailchimp_lists() {
32
  if ( ! $this->tools->is_user_authorized() ) {
33
- wp_send_json( false );
 
34
  }
35
 
 
 
36
  $mailchimp = new MC4WP_MailChimp();
37
  $success = $mailchimp->refresh_lists();
38
  wp_send_json( $success );
@@ -43,6 +45,11 @@ class MC4WP_Admin_Ajax {
43
  * @throws MC4WP_API_Exception
44
  */
45
  public function get_list_details() {
 
 
 
 
 
46
  $list_ids = (array) explode( ',', $_GET['ids'] );
47
  $data = array();
48
  $mailchimp = new MC4WP_MailChimp();
2
 
3
  class MC4WP_Admin_Ajax {
4
 
 
5
  /**
6
  * @var MC4WP_Admin_Tools
7
  */
29
  */
30
  public function refresh_mailchimp_lists() {
31
  if ( ! $this->tools->is_user_authorized() ) {
32
+ wp_send_json_error();
33
+ return;
34
  }
35
 
36
+ check_ajax_referer( 'mc4wp-ajax' );
37
+
38
  $mailchimp = new MC4WP_MailChimp();
39
  $success = $mailchimp->refresh_lists();
40
  wp_send_json( $success );
45
  * @throws MC4WP_API_Exception
46
  */
47
  public function get_list_details() {
48
+ if ( ! $this->tools->is_user_authorized() ) {
49
+ wp_send_json_error();
50
+ return;
51
+ }
52
+
53
  $list_ids = (array) explode( ',', $_GET['ids'] );
54
  $data = array();
55
  $mailchimp = new MC4WP_MailChimp();
includes/admin/class-admin.php CHANGED
@@ -301,7 +301,8 @@ class MC4WP_Admin {
301
  'mc4wp-admin',
302
  'mc4wp_vars',
303
  array(
304
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
 
305
  'mailchimp' => array(
306
  'api_connected' => $connected,
307
  'lists' => $mailchimp_lists,
301
  'mc4wp-admin',
302
  'mc4wp_vars',
303
  array(
304
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
305
+ 'nonce' => wp_create_nonce( 'mc4wp-ajax' ),
306
  'mailchimp' => array(
307
  'api_connected' => $connected,
308
  'lists' => $mailchimp_lists,
includes/admin/class-review-notice.php CHANGED
@@ -69,7 +69,7 @@ class MC4WP_Admin_Review_Notice {
69
  echo esc_html__( 'You\'ve been using Mailchimp for WordPress for some time now; we hope you love it!', 'mailchimp-for-wp' ), ' <br />';
70
  echo sprintf( wp_kses( __( 'If you do, please <a href="%s">leave us a 5★ rating on WordPress.org</a>. It would be of great help to us.', 'mailchimp-for-wp' ), array( 'a' => array( 'href' => array() ) ) ), 'https://wordpress.org/support/view/plugin-reviews/mailchimp-for-wp?rate=5#new-post' );
71
  echo '</p>';
72
- echo '<form method="POST" id="mc4wp-dismiss-review-form"><button type="submit" class="notice-dismiss"><span class="screen-reader-text">', esc_html__( 'Dismiss this notice.', 'mailchimp-for-wp' ), '</span></button><input type="hidden" name="_mc4wp_action" value="dismiss_review_notice"/></form>';
73
  echo '</div>';
74
  return true;
75
  }
69
  echo esc_html__( 'You\'ve been using Mailchimp for WordPress for some time now; we hope you love it!', 'mailchimp-for-wp' ), ' <br />';
70
  echo sprintf( wp_kses( __( 'If you do, please <a href="%s">leave us a 5★ rating on WordPress.org</a>. It would be of great help to us.', 'mailchimp-for-wp' ), array( 'a' => array( 'href' => array() ) ) ), 'https://wordpress.org/support/view/plugin-reviews/mailchimp-for-wp?rate=5#new-post' );
71
  echo '</p>';
72
+ echo '<form method="POST" id="mc4wp-dismiss-review-form"><button type="submit" class="notice-dismiss"><span class="screen-reader-text">', esc_html__( 'Dismiss this notice.', 'mailchimp-for-wp' ), '</span></button><input type="hidden" name="_mc4wp_action" value="dismiss_review_notice" />', wp_nonce_field( '_mc4wp_action', '_wpnonce', true, false ), '</form>';
73
  echo '</div>';
74
  return true;
75
  }
includes/forms/class-form-previewer.php CHANGED
@@ -31,6 +31,7 @@ class MC4WP_Form_Previewer {
31
 
32
  $form_id = (int) $_GET['mc4wp_preview_form'];
33
  status_header( 200 );
 
34
  require __DIR__ . '/views/preview.php';
35
  exit;
36
  }
31
 
32
  $form_id = (int) $_GET['mc4wp_preview_form'];
33
  status_header( 200 );
34
+
35
  require __DIR__ . '/views/preview.php';
36
  exit;
37
  }
languages/mailchimp-for-wp.pot CHANGED
@@ -13,6 +13,54 @@ msgstr ""
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  #: includes/class-dynamic-content-tags.php:27
17
  msgid "Data from a cookie."
18
  msgstr ""
@@ -53,10 +101,6 @@ msgstr ""
53
  msgid "Property of the current page or post."
54
  msgstr ""
55
 
56
- #: includes/class-mailchimp.php:251, includes/forms/class-admin.php:82
57
- msgid "Email address"
58
- msgstr ""
59
-
60
  #: includes/admin/class-admin-texts.php:66, includes/forms/views/edit-form.php:6
61
  msgid "Settings"
62
  msgstr ""
@@ -69,63 +113,63 @@ msgstr ""
69
  msgid "Success! The cached configuration for your Mailchimp lists has been renewed."
70
  msgstr ""
71
 
72
- #: includes/admin/class-admin.php:311
73
  msgid "The given value does not look like a valid Mailchimp API key."
74
  msgstr ""
75
 
76
- #: includes/admin/class-admin.php:312
77
  msgid "This is a premium feature. Please upgrade to Mailchimp for WordPress Premium to be able to use it."
78
  msgstr ""
79
 
80
- #: includes/admin/class-admin.php:313, includes/views/parts/lists-overview.php:10, includes/forms/views/parts/add-fields-help.php:58
81
  msgid "Renew Mailchimp lists"
82
  msgstr ""
83
 
84
- #: includes/admin/class-admin.php:314
85
  msgid "Fetching Mailchimp lists"
86
  msgstr ""
87
 
88
- #: includes/admin/class-admin.php:315
89
  msgid "Done! Mailchimp lists renewed."
90
  msgstr ""
91
 
92
- #: includes/admin/class-admin.php:316
93
  msgid "Failed to renew your lists. An error occured."
94
  msgstr ""
95
 
96
- #: includes/admin/class-admin.php:344
97
  msgid "Mailchimp API Settings"
98
  msgstr ""
99
 
100
- #: includes/admin/class-admin.php:351, includes/views/other-settings.php:60, includes/views/other-settings.php:70
101
  msgid "Other Settings"
102
  msgstr ""
103
 
104
- #: includes/admin/class-admin.php:352
105
  msgid "Other"
106
  msgstr ""
107
 
108
- #: includes/admin/class-admin.php:430
109
  msgid "Error connecting to Mailchimp:"
110
  msgstr ""
111
 
112
- #: includes/admin/class-admin.php:433
113
  msgid "Looks like your server is blocked by Mailchimp's firewall. Please contact Mailchimp support and include the following reference number: %s"
114
  msgstr ""
115
 
116
- #: includes/admin/class-admin.php:436
117
  msgid "Here's some info on solving common connectivity issues."
118
  msgstr ""
119
 
120
- #: includes/admin/class-admin.php:441
121
  msgid "Mailchimp returned the following error:"
122
  msgstr ""
123
 
124
- #: includes/admin/class-admin.php:480
125
  msgid "Log successfully emptied."
126
  msgstr ""
127
 
128
- #: includes/admin/class-admin.php:510
129
  msgid "To get started with Mailchimp for WordPress, please <a href=\"%s\">enter your Mailchimp API key on the settings page of the plugin</a>."
130
  msgstr ""
131
 
@@ -413,11 +457,11 @@ msgstr ""
413
  msgid "Enable Google reCaptcha"
414
  msgstr ""
415
 
416
- #: includes/forms/class-google-recaptcha.php:169, includes/views/other-settings.php:21, includes/integrations/views/integration-settings.php:66, includes/integrations/views/integration-settings.php:90, includes/integrations/views/integration-settings.php:177, includes/integrations/views/integration-settings.php:201, includes/integrations/views/integration-settings.php:218, includes/integrations/views/integration-settings.php:241, includes/integrations/views/integration-settings.php:266, includes/forms/views/tabs/form-settings.php:51, includes/forms/views/tabs/form-settings.php:66, includes/forms/views/tabs/form-settings.php:87, includes/forms/views/tabs/form-settings.php:135
417
  msgid "Yes"
418
  msgstr ""
419
 
420
- #: includes/forms/class-google-recaptcha.php:171, includes/views/other-settings.php:25, includes/integrations/views/integration-settings.php:67, includes/integrations/views/integration-settings.php:91, includes/integrations/views/integration-settings.php:178, includes/integrations/views/integration-settings.php:202, includes/integrations/views/integration-settings.php:222, includes/integrations/views/integration-settings.php:245, includes/integrations/views/integration-settings.php:270, includes/forms/views/tabs/form-settings.php:55, includes/forms/views/tabs/form-settings.php:70, includes/forms/views/tabs/form-settings.php:91, includes/forms/views/tabs/form-settings.php:139
421
  msgid "No"
422
  msgstr ""
423
 
@@ -561,6 +605,147 @@ msgstr ""
561
  msgid "Right now, the plugin is configured to only log errors and warnings."
562
  msgstr ""
563
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
564
  #: includes/admin/migrations/3.0.0-form-1-post-type.php:35
565
  msgid "Default sign-up form"
566
  msgstr ""
@@ -645,10 +830,6 @@ msgstr ""
645
  msgid "Select \"yes\" if you want to subscribe people without asking them explicitly."
646
  msgstr ""
647
 
648
- #: includes/integrations/views/integration-settings.php:100, includes/integrations/views/integration-settings.php:183
649
- msgid "<strong>Warning: </strong> enabling this may affect your <a href=\"%s\">GDPR compliance</a>."
650
- msgstr ""
651
-
652
  #: includes/integrations/views/integration-settings.php:122
653
  msgid "Mailchimp Lists"
654
  msgstr ""
@@ -657,10 +838,6 @@ msgstr ""
657
  msgid "No lists found, <a href=\"%s\">are you connected to Mailchimp</a>?"
658
  msgstr ""
659
 
660
- #: includes/integrations/views/integration-settings.php:136
661
- msgid "Select the list(s) to which people who check the checkbox should be subscribed."
662
- msgstr ""
663
-
664
  #: includes/integrations/views/integration-settings.php:156
665
  msgid "Checkbox label text"
666
  msgstr ""
@@ -669,14 +846,6 @@ msgstr ""
669
  msgid "HTML tags like %s are allowed in the label text."
670
  msgstr ""
671
 
672
- #: includes/integrations/views/integration-settings.php:175
673
- msgid "Pre-check the checkbox?"
674
- msgstr ""
675
-
676
- #: includes/integrations/views/integration-settings.php:181
677
- msgid "Select \"yes\" if the checkbox should be pre-checked."
678
- msgstr ""
679
-
680
  #: includes/integrations/views/integration-settings.php:199
681
  msgid "Load some default CSS?"
682
  msgstr ""
@@ -685,18 +854,6 @@ msgstr ""
685
  msgid "Select \"yes\" if the checkbox appears in a weird place."
686
  msgstr ""
687
 
688
- #: includes/integrations/views/integration-settings.php:214
689
- msgid "Double opt-in?"
690
- msgstr ""
691
-
692
- #: includes/integrations/views/integration-settings.php:225
693
- msgid "Select \"yes\" if you want people to confirm their email address before being subscribed (recommended)"
694
- msgstr ""
695
-
696
- #: includes/integrations/views/integration-settings.php:237, includes/forms/views/tabs/form-settings.php:62
697
- msgid "Update existing subscribers?"
698
- msgstr ""
699
-
700
  #: includes/integrations/views/integration-settings.php:247, includes/forms/views/tabs/form-settings.php:72
701
  msgid "Select \"yes\" if you want to update existing subscribers with the data that is sent."
702
  msgstr ""
@@ -1042,10 +1199,6 @@ msgstr ""
1042
  msgid "Select the list(s) to which people who submit this form should be subscribed."
1043
  msgstr ""
1044
 
1045
- #: includes/forms/views/tabs/form-settings.php:47
1046
- msgid "Use double opt-in?"
1047
- msgstr ""
1048
-
1049
  #: includes/forms/views/tabs/form-settings.php:54
1050
  msgid "Are you sure you want to disable double opt-in?"
1051
  msgstr ""
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
16
+ #: config/default-form-content.php:3, includes/class-mailchimp.php:251, includes/forms/class-admin.php:82
17
+ msgid "Email address"
18
+ msgstr ""
19
+
20
+ #: config/default-form-content.php:4
21
+ msgid "Your email address"
22
+ msgstr ""
23
+
24
+ #: config/default-form-content.php:5
25
+ msgid "Sign up"
26
+ msgstr ""
27
+
28
+ #: config/default-form-messages.php:5
29
+ msgid "Thank you, your sign-up request was successful! Please check your email inbox to confirm."
30
+ msgstr ""
31
+
32
+ #: config/default-form-messages.php:9
33
+ msgid "Thank you, your records have been updated!"
34
+ msgstr ""
35
+
36
+ #: config/default-form-messages.php:13
37
+ msgid "You were successfully unsubscribed."
38
+ msgstr ""
39
+
40
+ #: config/default-form-messages.php:17
41
+ msgid "Given email address is not subscribed."
42
+ msgstr ""
43
+
44
+ #: config/default-form-messages.php:21
45
+ msgid "Oops. Something went wrong. Please try again later."
46
+ msgstr ""
47
+
48
+ #: config/default-form-messages.php:25
49
+ msgid "Please provide a valid email address."
50
+ msgstr ""
51
+
52
+ #: config/default-form-messages.php:29
53
+ msgid "Given email address is already subscribed, thank you!"
54
+ msgstr ""
55
+
56
+ #: config/default-form-messages.php:33
57
+ msgid "Please fill in the required fields."
58
+ msgstr ""
59
+
60
+ #: config/default-form-messages.php:37
61
+ msgid "Please select at least one list."
62
+ msgstr ""
63
+
64
  #: includes/class-dynamic-content-tags.php:27
65
  msgid "Data from a cookie."
66
  msgstr ""
101
  msgid "Property of the current page or post."
102
  msgstr ""
103
 
 
 
 
 
104
  #: includes/admin/class-admin-texts.php:66, includes/forms/views/edit-form.php:6
105
  msgid "Settings"
106
  msgstr ""
113
  msgid "Success! The cached configuration for your Mailchimp lists has been renewed."
114
  msgstr ""
115
 
116
+ #: includes/admin/class-admin.php:312
117
  msgid "The given value does not look like a valid Mailchimp API key."
118
  msgstr ""
119
 
120
+ #: includes/admin/class-admin.php:313
121
  msgid "This is a premium feature. Please upgrade to Mailchimp for WordPress Premium to be able to use it."
122
  msgstr ""
123
 
124
+ #: includes/admin/class-admin.php:314, includes/views/parts/lists-overview.php:10, includes/forms/views/parts/add-fields-help.php:58
125
  msgid "Renew Mailchimp lists"
126
  msgstr ""
127
 
128
+ #: includes/admin/class-admin.php:315
129
  msgid "Fetching Mailchimp lists"
130
  msgstr ""
131
 
132
+ #: includes/admin/class-admin.php:316
133
  msgid "Done! Mailchimp lists renewed."
134
  msgstr ""
135
 
136
+ #: includes/admin/class-admin.php:317
137
  msgid "Failed to renew your lists. An error occured."
138
  msgstr ""
139
 
140
+ #: includes/admin/class-admin.php:345
141
  msgid "Mailchimp API Settings"
142
  msgstr ""
143
 
144
+ #: includes/admin/class-admin.php:352, includes/views/other-settings.php:60, includes/views/other-settings.php:70
145
  msgid "Other Settings"
146
  msgstr ""
147
 
148
+ #: includes/admin/class-admin.php:353
149
  msgid "Other"
150
  msgstr ""
151
 
152
+ #: includes/admin/class-admin.php:431
153
  msgid "Error connecting to Mailchimp:"
154
  msgstr ""
155
 
156
+ #: includes/admin/class-admin.php:434
157
  msgid "Looks like your server is blocked by Mailchimp's firewall. Please contact Mailchimp support and include the following reference number: %s"
158
  msgstr ""
159
 
160
+ #: includes/admin/class-admin.php:437
161
  msgid "Here's some info on solving common connectivity issues."
162
  msgstr ""
163
 
164
+ #: includes/admin/class-admin.php:442
165
  msgid "Mailchimp returned the following error:"
166
  msgstr ""
167
 
168
+ #: includes/admin/class-admin.php:481
169
  msgid "Log successfully emptied."
170
  msgstr ""
171
 
172
+ #: includes/admin/class-admin.php:511
173
  msgid "To get started with Mailchimp for WordPress, please <a href=\"%s\">enter your Mailchimp API key on the settings page of the plugin</a>."
174
  msgstr ""
175
 
457
  msgid "Enable Google reCaptcha"
458
  msgstr ""
459
 
460
+ #: includes/forms/class-google-recaptcha.php:169, includes/views/other-settings.php:21, integrations/contact-form-7/class-contact-form-7.php:74, integrations/gravity-forms/class-gravity-forms.php:112, integrations/gravity-forms/class-gravity-forms.php:124, integrations/wpforms/class-field.php:253, includes/integrations/views/integration-settings.php:66, includes/integrations/views/integration-settings.php:90, includes/integrations/views/integration-settings.php:177, includes/integrations/views/integration-settings.php:201, includes/integrations/views/integration-settings.php:218, includes/integrations/views/integration-settings.php:241, includes/integrations/views/integration-settings.php:266, includes/forms/views/tabs/form-settings.php:51, includes/forms/views/tabs/form-settings.php:66, includes/forms/views/tabs/form-settings.php:87, includes/forms/views/tabs/form-settings.php:135
461
  msgid "Yes"
462
  msgstr ""
463
 
464
+ #: includes/forms/class-google-recaptcha.php:171, includes/views/other-settings.php:25, integrations/contact-form-7/class-contact-form-7.php:74, integrations/gravity-forms/class-gravity-forms.php:113, integrations/gravity-forms/class-gravity-forms.php:125, integrations/wpforms/class-field.php:253, includes/integrations/views/integration-settings.php:67, includes/integrations/views/integration-settings.php:91, includes/integrations/views/integration-settings.php:178, includes/integrations/views/integration-settings.php:202, includes/integrations/views/integration-settings.php:222, includes/integrations/views/integration-settings.php:245, includes/integrations/views/integration-settings.php:270, includes/forms/views/tabs/form-settings.php:55, includes/forms/views/tabs/form-settings.php:70, includes/forms/views/tabs/form-settings.php:91, includes/forms/views/tabs/form-settings.php:139
465
  msgid "No"
466
  msgstr ""
467
 
605
  msgid "Right now, the plugin is configured to only log errors and warnings."
606
  msgstr ""
607
 
608
+ #: integrations/contact-form-7/admin-before.php:2
609
+ msgid "To integrate with Contact Form 7, configure the settings below and then add %s to your CF7 form mark-up."
610
+ msgstr ""
611
+
612
+ #: integrations/custom/admin-before.php:2
613
+ msgid "To get a custom integration to work, include the following HTML in the form you are trying to integrate with."
614
+ msgstr ""
615
+
616
+ #: integrations/custom/admin-before.php:9
617
+ msgid "Subscribe to our newsletter."
618
+ msgstr ""
619
+
620
+ #. translators: %s links to the Gravity Forms overview page
621
+ #: integrations/gravity-forms/admin-before.php:4
622
+ msgid "To integrate with Gravity Forms, add the \"Mailchimp for WordPress\" field to <a href=\"%s\">one of your Gravity Forms forms</a>."
623
+ msgstr ""
624
+
625
+ #: integrations/gravity-forms/class-field.php:38
626
+ msgid "Mailchimp for WordPress"
627
+ msgstr ""
628
+
629
+ #: integrations/gravity-forms/class-gravity-forms.php:93, integrations/wpforms/class-field.php:90
630
+ msgid "Mailchimp list"
631
+ msgstr ""
632
+
633
+ #: integrations/gravity-forms/class-gravity-forms.php:96
634
+ msgid "Select a Mailchimp list"
635
+ msgstr ""
636
+
637
+ #: integrations/gravity-forms/class-gravity-forms.php:104, includes/integrations/views/integration-settings.php:136
638
+ msgid "Select the list(s) to which people who check the checkbox should be subscribed."
639
+ msgstr ""
640
+
641
+ #: integrations/gravity-forms/class-gravity-forms.php:109, includes/integrations/views/integration-settings.php:214
642
+ msgid "Double opt-in?"
643
+ msgstr ""
644
+
645
+ #: integrations/gravity-forms/class-gravity-forms.php:116, includes/integrations/views/integration-settings.php:225
646
+ msgid "Select \"yes\" if you want people to confirm their email address before being subscribed (recommended)"
647
+ msgstr ""
648
+
649
+ #: integrations/gravity-forms/class-gravity-forms.php:121, includes/integrations/views/integration-settings.php:175
650
+ msgid "Pre-check the checkbox?"
651
+ msgstr ""
652
+
653
+ #: integrations/gravity-forms/class-gravity-forms.php:129, includes/integrations/views/integration-settings.php:181
654
+ msgid "Select \"yes\" if the checkbox should be pre-checked."
655
+ msgstr ""
656
+
657
+ #: integrations/gravity-forms/class-gravity-forms.php:131, includes/integrations/views/integration-settings.php:100, includes/integrations/views/integration-settings.php:183
658
+ msgid "<strong>Warning: </strong> enabling this may affect your <a href=\"%s\">GDPR compliance</a>."
659
+ msgstr ""
660
+
661
+ #: integrations/ninja-forms/admin-before.php:2
662
+ msgid "To integrate with Ninja Forms, add the \"Mailchimp\" action to <a href=\"%s\">one of your Ninja Forms forms</a>."
663
+ msgstr ""
664
+
665
+ #: integrations/ninja-forms/class-action.php:21
666
+ msgid "Mailchimp"
667
+ msgstr ""
668
+
669
+ #: integrations/ninja-forms/class-action.php:29, includes/forms/views/tabs/form-settings.php:47
670
+ msgid "Use double opt-in?"
671
+ msgstr ""
672
+
673
+ #: integrations/ninja-forms/class-action.php:48, includes/integrations/views/integration-settings.php:237, includes/forms/views/tabs/form-settings.php:62
674
+ msgid "Update existing subscribers?"
675
+ msgstr ""
676
+
677
+ #: integrations/ninja-forms/class-field.php:35
678
+ msgid "Mailchimp opt-in"
679
+ msgstr ""
680
+
681
+ #: integrations/ninja-forms-2/admin-before.php:2
682
+ msgid "To integrate with Ninja Forms, add the \"Mailchimp\" field to your Ninja Forms forms."
683
+ msgstr ""
684
+
685
+ #: integrations/woocommerce/admin-after.php:4
686
+ msgid "After email field"
687
+ msgstr ""
688
+
689
+ #: integrations/woocommerce/admin-after.php:5
690
+ msgid "After billing details"
691
+ msgstr ""
692
+
693
+ #: integrations/woocommerce/admin-after.php:6
694
+ msgid "After shipping details"
695
+ msgstr ""
696
+
697
+ #: integrations/woocommerce/admin-after.php:7
698
+ msgid "After customer details"
699
+ msgstr ""
700
+
701
+ #: integrations/woocommerce/admin-after.php:8
702
+ msgid "Before submit button"
703
+ msgstr ""
704
+
705
+ #: integrations/woocommerce/admin-after.php:9
706
+ msgid "After order notes"
707
+ msgstr ""
708
+
709
+ #: integrations/woocommerce/admin-after.php:13
710
+ msgid "Checkout for WooCommerce: Before complete order button"
711
+ msgstr ""
712
+
713
+ #: integrations/woocommerce/admin-after.php:14
714
+ msgid "Checkout for WooCommerce: After account info"
715
+ msgstr ""
716
+
717
+ #: integrations/woocommerce/admin-after.php:15
718
+ msgid "Checkout for WooCommerce: After customer info"
719
+ msgstr ""
720
+
721
+ #: integrations/woocommerce/admin-after.php:30
722
+ msgid "Position"
723
+ msgstr ""
724
+
725
+ #: integrations/woocommerce/class-woocommerce.php:170
726
+ msgid "Order #%d"
727
+ msgstr ""
728
+
729
+ #: integrations/wpforms/admin-before.php:2
730
+ msgid "Use this integration by adding the \"Mailchimp\" field to <a href=\"%s\">your WPForms forms</a>."
731
+ msgstr ""
732
+
733
+ #: integrations/wpforms/class-field.php:29
734
+ msgid "Sign-up to our newsletter?"
735
+ msgstr ""
736
+
737
+ #: integrations/wpforms/class-field.php:84
738
+ msgid "Select the Mailchimp list to subscribe to."
739
+ msgstr ""
740
+
741
+ #: integrations/wpforms/class-field.php:115
742
+ msgid "Set your sign-up label text and whether it should be pre-checked."
743
+ msgstr ""
744
+
745
+ #: integrations/wpforms/class-field.php:126
746
+ msgid "Sign-up checkbox"
747
+ msgstr ""
748
+
749
  #: includes/admin/migrations/3.0.0-form-1-post-type.php:35
750
  msgid "Default sign-up form"
751
  msgstr ""
830
  msgid "Select \"yes\" if you want to subscribe people without asking them explicitly."
831
  msgstr ""
832
 
 
 
 
 
833
  #: includes/integrations/views/integration-settings.php:122
834
  msgid "Mailchimp Lists"
835
  msgstr ""
838
  msgid "No lists found, <a href=\"%s\">are you connected to Mailchimp</a>?"
839
  msgstr ""
840
 
 
 
 
 
841
  #: includes/integrations/views/integration-settings.php:156
842
  msgid "Checkbox label text"
843
  msgstr ""
846
  msgid "HTML tags like %s are allowed in the label text."
847
  msgstr ""
848
 
 
 
 
 
 
 
 
 
849
  #: includes/integrations/views/integration-settings.php:199
850
  msgid "Load some default CSS?"
851
  msgstr ""
854
  msgid "Select \"yes\" if the checkbox appears in a weird place."
855
  msgstr ""
856
 
 
 
 
 
 
 
 
 
 
 
 
 
857
  #: includes/integrations/views/integration-settings.php:247, includes/forms/views/tabs/form-settings.php:72
858
  msgid "Select \"yes\" if you want to update existing subscribers with the data that is sent."
859
  msgstr ""
1199
  msgid "Select the list(s) to which people who submit this form should be subscribed."
1200
  msgstr ""
1201
 
 
 
 
 
1202
  #: includes/forms/views/tabs/form-settings.php:54
1203
  msgid "Are you sure you want to disable double opt-in?"
1204
  msgstr ""
mailchimp-for-wp.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: MC4WP: Mailchimp for WordPress
4
  Plugin URI: https://www.mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page
5
  Description: Mailchimp for WordPress by ibericode. Adds various highly effective sign-up methods to your site.
6
- Version: 4.8.5
7
  Author: ibericode
8
  Author URI: https://ibericode.com/
9
  Text Domain: mailchimp-for-wp
@@ -45,7 +45,7 @@ function _mc4wp_load_plugin() {
45
  }
46
 
47
  // bootstrap the core plugin
48
- define( 'MC4WP_VERSION', '4.8.5' );
49
  define( 'MC4WP_PLUGIN_DIR', __DIR__ );
50
  define( 'MC4WP_PLUGIN_FILE', __FILE__ );
51
 
@@ -105,6 +105,12 @@ function _mc4wp_load_plugin() {
105
  }
106
  }
107
 
 
 
 
 
 
 
108
  // bootstrap custom integrations
109
  function _mc4wp_bootstrap_integrations() {
110
  require_once MC4WP_PLUGIN_DIR . '/integrations/bootstrap.php';
@@ -112,3 +118,4 @@ function _mc4wp_bootstrap_integrations() {
112
 
113
  add_action( 'plugins_loaded', '_mc4wp_load_plugin', 8 );
114
  add_action( 'plugins_loaded', '_mc4wp_bootstrap_integrations', 90 );
 
3
  Plugin Name: MC4WP: Mailchimp for WordPress
4
  Plugin URI: https://www.mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page
5
  Description: Mailchimp for WordPress by ibericode. Adds various highly effective sign-up methods to your site.
6
+ Version: 4.8.6
7
  Author: ibericode
8
  Author URI: https://ibericode.com/
9
  Text Domain: mailchimp-for-wp
45
  }
46
 
47
  // bootstrap the core plugin
48
+ define( 'MC4WP_VERSION', '4.8.6' );
49
  define( 'MC4WP_PLUGIN_DIR', __DIR__ );
50
  define( 'MC4WP_PLUGIN_FILE', __FILE__ );
51
 
105
  }
106
  }
107
 
108
+ function _mc4wp_on_plugin_activation() {
109
+ // schedule the action hook to refresh the stored Mailchimp lists on a daily basis
110
+ $time_string = sprintf( 'tomorrow %d:%d%d am', rand( 0, 7 ), rand( 0, 5 ), rand( 0, 9 ) );
111
+ wp_schedule_event( strtotime( $time_string ), 'daily', 'mc4wp_refresh_mailchimp_lists' );
112
+ }
113
+
114
  // bootstrap custom integrations
115
  function _mc4wp_bootstrap_integrations() {
116
  require_once MC4WP_PLUGIN_DIR . '/integrations/bootstrap.php';
118
 
119
  add_action( 'plugins_loaded', '_mc4wp_load_plugin', 8 );
120
  add_action( 'plugins_loaded', '_mc4wp_bootstrap_integrations', 90 );
121
+ register_activation_hook( __FILE__, '_mc4wp_on_plugin_activation' );
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: Ibericode, DvanKooten, hchouhan, lapzor
3
  Donate link: https://www.mc4wp.com/#utm_source=wp-plugin-repo&utm_medium=mailchimp-for-wp&utm_campaign=donate-link
4
  Tags: mailchimp, mc4wp, email, marketing, newsletter, subscribe, widget, mc4wp, contact form 7, woocommerce, buddypress, ibericode, mailchimp form
5
  Requires at least: 4.6
6
- Tested up to: 5.7
7
- Stable tag: 4.8.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Requires PHP: 5.3
@@ -197,12 +197,23 @@ The plugin provides various filter & action hooks that allow you to modify or ex
197
  == Changelog ==
198
 
199
 
 
 
 
 
 
 
 
 
 
 
 
200
  #### 4.8.5 - Jun 1, 2021
201
 
202
  Add nonce verification to all URL's using _mc4wp_action query parameter.
203
  This fixes a CSRF vulnerability where a malicious website could trick a logged-in admin user in performing unwanted actions.
204
 
205
- Thanks to Erwin from [WPScan](https://wpscan.com/) for bringing this issue to our attention.
206
 
207
 
208
  #### 4.8.4 - May 7, 2021
3
  Donate link: https://www.mc4wp.com/#utm_source=wp-plugin-repo&utm_medium=mailchimp-for-wp&utm_campaign=donate-link
4
  Tags: mailchimp, mc4wp, email, marketing, newsletter, subscribe, widget, mc4wp, contact form 7, woocommerce, buddypress, ibericode, mailchimp form
5
  Requires at least: 4.6
6
+ Tested up to: 5.8
7
+ Stable tag: 4.8.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Requires PHP: 5.3
197
  == Changelog ==
198
 
199
 
200
+ #### 4.8.6 - Jun 24, 2021
201
+
202
+ - Add nonce field to button for dismissing notice asking for plugin review.
203
+ - Add strings from config/ directory to POT file.
204
+ - Add nonce check to AJAX endpoint for refreshing cached Mailchimp lists.
205
+ - Add capability check to AJAX endpoint for retrieving list details.
206
+ - Schedule event to refresh cached Mailchimp list upon plugin activation.
207
+
208
+ Thanks to the team over at [pluginvulnerabilities.com](https://www.pluginvulnerabilities.com/) for bringing some of these changes to our attention.
209
+
210
+
211
  #### 4.8.5 - Jun 1, 2021
212
 
213
  Add nonce verification to all URL's using _mc4wp_action query parameter.
214
  This fixes a CSRF vulnerability where a malicious website could trick a logged-in admin user in performing unwanted actions.
215
 
216
+ A special thanks to Erwan from [WPScan](https://wpscan.com/) for bringing this issue to our attention.
217
 
218
 
219
  #### 4.8.4 - May 7, 2021
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitc332de99eac4a916873c53afd21c6a3f::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit7d7fbc3e69cedef6a7cf1727ea8778eb::getLoader();
vendor/composer/InstalledVersions.php CHANGED
@@ -29,7 +29,7 @@ private static $installed = array (
29
  'aliases' =>
30
  array (
31
  ),
32
- 'reference' => 'eae36973602ceac5f52cc70bbeddf7b36ae637df',
33
  'name' => 'ibericode/mailchimp-for-wordpress',
34
  ),
35
  'versions' =>
@@ -41,7 +41,7 @@ private static $installed = array (
41
  'aliases' =>
42
  array (
43
  ),
44
- 'reference' => 'eae36973602ceac5f52cc70bbeddf7b36ae637df',
45
  ),
46
  ),
47
  );
29
  'aliases' =>
30
  array (
31
  ),
32
+ 'reference' => '1324b22452155c771a4d1215704ef4c098772b0b',
33
  'name' => 'ibericode/mailchimp-for-wordpress',
34
  ),
35
  'versions' =>
41
  'aliases' =>
42
  array (
43
  ),
44
+ 'reference' => '1324b22452155c771a4d1215704ef4c098772b0b',
45
  ),
46
  ),
47
  );
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitc332de99eac4a916873c53afd21c6a3f
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInitc332de99eac4a916873c53afd21c6a3f
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInitc332de99eac4a916873c53afd21c6a3f', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
29
- spl_autoload_unregister(array('ComposerAutoloaderInitc332de99eac4a916873c53afd21c6a3f', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInitc332de99eac4a916873c53afd21c6a3f::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
@@ -53,19 +53,19 @@ class ComposerAutoloaderInitc332de99eac4a916873c53afd21c6a3f
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
- $includeFiles = Composer\Autoload\ComposerStaticInitc332de99eac4a916873c53afd21c6a3f::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
- composerRequirec332de99eac4a916873c53afd21c6a3f($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
65
  }
66
  }
67
 
68
- function composerRequirec332de99eac4a916873c53afd21c6a3f($fileIdentifier, $file)
69
  {
70
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
71
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit7d7fbc3e69cedef6a7cf1727ea8778eb
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInit7d7fbc3e69cedef6a7cf1727ea8778eb', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
29
+ spl_autoload_unregister(array('ComposerAutoloaderInit7d7fbc3e69cedef6a7cf1727ea8778eb', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInit7d7fbc3e69cedef6a7cf1727ea8778eb::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
+ $includeFiles = Composer\Autoload\ComposerStaticInit7d7fbc3e69cedef6a7cf1727ea8778eb::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
+ composerRequire7d7fbc3e69cedef6a7cf1727ea8778eb($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
65
  }
66
  }
67
 
68
+ function composerRequire7d7fbc3e69cedef6a7cf1727ea8778eb($fileIdentifier, $file)
69
  {
70
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
71
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInitc332de99eac4a916873c53afd21c6a3f
8
  {
9
  public static $files = array (
10
  'fca581ae5268210490253d58378748c5' => __DIR__ . '/../..' . '/includes/functions.php',
@@ -87,7 +87,7 @@ class ComposerStaticInitc332de99eac4a916873c53afd21c6a3f
87
  public static function getInitializer(ClassLoader $loader)
88
  {
89
  return \Closure::bind(function () use ($loader) {
90
- $loader->classMap = ComposerStaticInitc332de99eac4a916873c53afd21c6a3f::$classMap;
91
 
92
  }, null, ClassLoader::class);
93
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit7d7fbc3e69cedef6a7cf1727ea8778eb
8
  {
9
  public static $files = array (
10
  'fca581ae5268210490253d58378748c5' => __DIR__ . '/../..' . '/includes/functions.php',
87
  public static function getInitializer(ClassLoader $loader)
88
  {
89
  return \Closure::bind(function () use ($loader) {
90
+ $loader->classMap = ComposerStaticInit7d7fbc3e69cedef6a7cf1727ea8778eb::$classMap;
91
 
92
  }, null, ClassLoader::class);
93
  }
vendor/composer/installed.php CHANGED
@@ -6,7 +6,7 @@
6
  'aliases' =>
7
  array (
8
  ),
9
- 'reference' => 'eae36973602ceac5f52cc70bbeddf7b36ae637df',
10
  'name' => 'ibericode/mailchimp-for-wordpress',
11
  ),
12
  'versions' =>
@@ -18,7 +18,7 @@
18
  'aliases' =>
19
  array (
20
  ),
21
- 'reference' => 'eae36973602ceac5f52cc70bbeddf7b36ae637df',
22
  ),
23
  ),
24
  );
6
  'aliases' =>
7
  array (
8
  ),
9
+ 'reference' => '1324b22452155c771a4d1215704ef4c098772b0b',
10
  'name' => 'ibericode/mailchimp-for-wordpress',
11
  ),
12
  'versions' =>
18
  'aliases' =>
19
  array (
20
  ),
21
+ 'reference' => '1324b22452155c771a4d1215704ef4c098772b0b',
22
  ),
23
  ),
24
  );