Bundled output for commit 712be2bcc3 [skip ci]

This commit is contained in:
Gandalf-the-Bot 2017-05-31 06:58:00 +00:00
parent 712be2bcc3
commit 6c06d41f94
4 changed files with 1048 additions and 48 deletions

85
mithril.min.js vendored
View file

@ -1,43 +1,44 @@
(function(){function y(a,d,e,f,g,n){return{tag:a,key:d,attrs:e,children:f,text:g,dom:n,domSize:void 0,state:void 0,_state:void 0,events:void 0,instance:void 0,skip:!1}}function z(a){var d,e=arguments[1],f=2;if(null==a||"string"!==typeof a&&"function"!==typeof a&&"function"!==typeof a.view)throw Error("The selector must be either a string or a component.");if("string"===typeof a&&!(d=N[a])){var g="div";for(var n=[],l={};d=Q.exec(a);){var r=d[1],p=d[2];""===r&&""!==p?g=p:"#"===r?l.id=p:"."===r?n.push(p):
"["===d[3][0]&&((r=d[6])&&(r=r.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===d[4]?n.push(r):l[d[4]]=""===r?r:r||!0)}0<n.length&&(l.className=n.join(" "));d=N[a]={tag:g,attrs:l}}if(null==e)e={};else if("object"!==typeof e||null!=e.tag||Array.isArray(e))e={},f=1;if(arguments.length===f+1)g=arguments[f],Array.isArray(g)||(g=[g]);else for(g=[];f<arguments.length;)g.push(arguments[f++]);f=y.normalizeChildren(g);if("string"===typeof a){g=!1;var k,m,n=e.className||e["class"],b;for(b in d.attrs)O.call(d.attrs,
b)&&(e[b]=d.attrs[b]);void 0!==n&&(void 0!==e["class"]&&(e["class"]=void 0,e.className=n),null!=d.attrs.className&&(e.className=d.attrs.className+" "+n));for(b in e)if(O.call(e,b)&&"key"!==b){g=!0;break}Array.isArray(f)&&1===f.length&&null!=f[0]&&"#"===f[0].tag?m=f[0].children:k=f;return y(d.tag,e.key,g?e:void 0,k,m)}return y(a,e.key,e,f)}function R(a){var d=0,e=null,f="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(){var g=Date.now();0===d||16<=g-d?(d=g,
a()):null===e&&(e=f(function(){e=null;a();d=Date.now()},16-(g-d)))}}y.normalize=function(a){return Array.isArray(a)?y("[",void 0,void 0,y.normalizeChildren(a),void 0,void 0):null!=a&&"object"!==typeof a?y("#",void 0,void 0,!1===a?"":a,void 0,void 0):a};y.normalizeChildren=function(a){for(var d=0;d<a.length;d++)a[d]=y.normalize(a[d]);return a};var Q=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,N={},O={}.hasOwnProperty;z.trust=function(a){null==a&&(a="");return y("<",
void 0,void 0,a,void 0,void 0)};z.fragment=function(a,d){return y("[",a.key,a,y.normalizeChildren(d),void 0,void 0)};var x=function(a){function d(a,b){return function C(d){var l;try{if(!b||null==d||"object"!==typeof d&&"function"!==typeof d||"function"!==typeof(l=d.then))k(function(){b||0!==a.length||console.error("Possible unhandled promise rejection:",d);for(var e=0;e<a.length;e++)a[e](d);g.length=0;n.length=0;p.state=b;p.retry=function(){C(d)}});else{if(d===f)throw new TypeError("Promise can't be resolved w/ itself");
e(l.bind(d))}}catch(S){r(S)}}}function e(a){function b(b){return function(a){0<d++||b(a)}}var d=0,e=b(r);try{a(b(l),e)}catch(E){e(E)}}if(!(this instanceof x))throw Error("Promise must be called with `new`");if("function"!==typeof a)throw new TypeError("executor must be a function");var f=this,g=[],n=[],l=d(g,!0),r=d(n,!1),p=f._instance={resolvers:g,rejectors:n},k="function"===typeof setImmediate?setImmediate:setTimeout;e(a)};x.prototype.then=function(a,d){function e(a,d,e,l){d.push(function(b){if("function"!==
typeof a)e(b);else try{g(a(b))}catch(w){n&&n(w)}});"function"===typeof f.retry&&l===f.state&&f.retry()}var f=this._instance,g,n,l=new x(function(a,d){g=a;n=d});e(a,f.resolvers,g,!0);e(d,f.rejectors,n,!1);return l};x.prototype["catch"]=function(a){return this.then(null,a)};x.resolve=function(a){return a instanceof x?a:new x(function(d){d(a)})};x.reject=function(a){return new x(function(d,e){e(a)})};x.all=function(a){return new x(function(d,e){var f=a.length,g=0,n=[];if(0===a.length)d([]);else for(var l=
0;l<a.length;l++)(function(l){function p(a){g++;n[l]=a;g===f&&d(n)}null==a[l]||"object"!==typeof a[l]&&"function"!==typeof a[l]||"function"!==typeof a[l].then?p(a[l]):a[l].then(p,e)})(l)})};x.race=function(a){return new x(function(d,e){for(var f=0;f<a.length;f++)a[f].then(d,e)})};"undefined"!==typeof window?("undefined"===typeof window.Promise&&(window.Promise=x),x=window.Promise):"undefined"!==typeof global&&("undefined"===typeof global.Promise&&(global.Promise=x),x=global.Promise);var I=function(a){function d(a,
f){if(Array.isArray(f))for(var g=0;g<f.length;g++)d(a+"["+g+"]",f[g]);else if("[object Object]"===Object.prototype.toString.call(f))for(g in f)d(a+"["+g+"]",f[g]);else e.push(encodeURIComponent(a)+(null!=f&&""!==f?"="+encodeURIComponent(f):""))}if("[object Object]"!==Object.prototype.toString.call(a))return"";var e=[],f;for(f in a)d(f,a[f]);return e.join("&")},T=/^file:\/\//i,L=function(a,d){function e(){function b(){0===--a&&"function"===typeof m&&m()}var a=0;return function E(d){var e=d.then;d.then=
function(){a++;var g=e.apply(d,arguments);g.then(b,function(d){b();if(0===a)throw d;});return E(g)};return d}}function f(b,a){if("string"===typeof b){var d=b;b=a||{};null==b.url&&(b.url=d)}return b}function g(b,a){if(null==a)return b;for(var d=b.match(/:[^\/]+/gi)||[],e=0;e<d.length;e++){var g=d[e].slice(1);null!=a[g]&&(b=b.replace(d[e],a[g]))}return b}function n(b,a){var d=I(a);if(""!==d){var e=0>b.indexOf("?")?"?":"&";b+=e+d}return b}function l(b){try{return""!==b?JSON.parse(b):null}catch(w){throw Error(b);
}}function r(b){return b.responseText}function p(b,a){if("function"===typeof b)if(Array.isArray(a))for(var d=0;d<a.length;d++)a[d]=new b(a[d]);else return new b(a);return a}var k=0,m;return{request:function(b,k){var m=e();b=f(b,k);var w=new d(function(d,e){null==b.method&&(b.method="GET");b.method=b.method.toUpperCase();var f="GET"===b.method||"TRACE"===b.method?!1:"boolean"===typeof b.useBody?b.useBody:!0;"function"!==typeof b.serialize&&(b.serialize="undefined"!==typeof FormData&&b.data instanceof
FormData?function(b){return b}:JSON.stringify);"function"!==typeof b.deserialize&&(b.deserialize=l);"function"!==typeof b.extract&&(b.extract=r);b.url=g(b.url,b.data);f?b.data=b.serialize(b.data):b.url=n(b.url,b.data);var k=new a.XMLHttpRequest,m=!1,w=k.abort;k.abort=function(){m=!0;w.call(k)};k.open(b.method,b.url,"boolean"===typeof b.async?b.async:!0,"string"===typeof b.user?b.user:void 0,"string"===typeof b.password?b.password:void 0);b.serialize===JSON.stringify&&f&&k.setRequestHeader("Content-Type",
"application/json; charset=utf-8");b.deserialize===l&&k.setRequestHeader("Accept","application/json, text/*");b.withCredentials&&(k.withCredentials=b.withCredentials);for(var C in b.headers)({}).hasOwnProperty.call(b.headers,C)&&k.setRequestHeader(C,b.headers[C]);"function"===typeof b.config&&(k=b.config(k,b)||k);k.onreadystatechange=function(){if(!m&&4===k.readyState)try{var a=b.extract!==r?b.extract(k,b):b.deserialize(b.extract(k,b));if(200<=k.status&&300>k.status||304===k.status||T.test(b.url))d(p(b.type,
a));else{var h=Error(k.responseText),c;for(c in a)h[c]=a[c];e(h)}}catch(q){e(q)}};f&&null!=b.data?k.send(b.data):k.send()});return!0===b.background?w:m(w)},jsonp:function(b,l){var m=e();b=f(b,l);var r=new d(function(d,e){var f=b.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+k++,l=a.document.createElement("script");a[f]=function(e){l.parentNode.removeChild(l);d(p(b.type,e));delete a[f]};l.onerror=function(){l.parentNode.removeChild(l);e(Error("JSONP request failed"));delete a[f]};null==
b.data&&(b.data={});b.url=g(b.url,b.data);b.data[b.callbackKey||"callback"]=f;l.src=n(b.url,b.data);a.document.documentElement.appendChild(l)});return!0===b.background?r:m(r)},setCompletionCallback:function(b){m=b}}}(window,x),P=function(a){function d(h,c,q,b,a,d,f){for(;q<b;q++){var t=c[q];null!=t&&e(h,t,a,f,d)}}function e(h,c,q,b,a){var t=c.tag;if("string"===typeof t)switch(c.state={},null!=c.attrs&&z(c.attrs,c,q),t){case "#":return c.dom=D.createTextNode(c.children),k(h,c.dom,a),c.dom;case "<":return f(h,
c,a);case "[":var l=D.createDocumentFragment();null!=c.children&&(t=c.children,d(l,t,0,t.length,q,null,b));c.dom=l.firstChild;c.domSize=l.childNodes.length;k(h,l,a);return l;default:var p=c.tag,n=(t=c.attrs)&&t.is,p=(b=c.attrs&&c.attrs.xmlns||I[c.tag]||b)?n?D.createElementNS(b,p,{is:n}):D.createElementNS(b,p):n?D.createElement(p,{is:n}):D.createElement(p);c.dom=p;if(null!=t)for(l in n=b,t)E(c,l,null,t[l],n);k(h,p,a);null!=c.attrs&&null!=c.attrs.contenteditable?m(c):(null!=c.text&&(""!==c.text?p.textContent=
c.text:c.children=[y("#",void 0,void 0,c.text,void 0,void 0)]),null!=c.children&&(h=c.children,d(p,h,0,h.length,q,null,b),h=c.attrs,"select"===c.tag&&null!=h&&("value"in h&&E(c,"value",null,h.value,void 0),"selectedIndex"in h&&E(c,"selectedIndex",null,h.selectedIndex,void 0))));return p}else return g(c,q),null!=c.instance?(q=e(h,c.instance,q,b,a),c.dom=c.instance.dom,c.domSize=null!=c.dom?c.instance.domSize:0,k(h,q,a),c=q):(c.domSize=0,c=K),c}function f(h,c,q){var b={caption:"table",thead:"table",
tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"}[(c.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",b=D.createElement(b);b.innerHTML=c.children;c.dom=b.firstChild;c.domSize=b.childNodes.length;c=D.createDocumentFragment();for(var a;a=b.firstChild;)c.appendChild(a);k(h,c,q);return c}function g(h,c){if("function"===typeof h.tag.view){h.state=Object.create(h.tag);var b=h.state.view;if(null!=b.$$reentrantLock$$)return K;b.$$reentrantLock$$=!0}else{h.state=void 0;
b=h.tag;if(null!=b.$$reentrantLock$$)return K;b.$$reentrantLock$$=!0;h.state=null!=h.tag.prototype&&"function"===typeof h.tag.prototype.view?new h.tag(h):h.tag(h)}h._state=h.state;null!=h.attrs&&z(h.attrs,h,c);z(h._state,h,c);h.instance=y.normalize(h._state.view.call(h.state,h));if(h.instance===h)throw Error("A view cannot return the vnode it received as argument");b.$$reentrantLock$$=null}function n(h,c,q,a,f,g,n){if(c!==q&&(null!=c||null!=q))if(null==c)d(h,q,0,q.length,f,g,void 0);else if(null==
q)b(c,0,c.length,q);else{if(c.length===q.length){var t=!1;for(var m=0;m<q.length;m++)if(null!=q[m]&&null!=c[m]){t=null==q[m].key&&null==c[m].key;break}if(t){for(m=0;m<c.length;m++)c[m]!==q[m]&&(null==c[m]&&null!=q[m]?e(h,q[m],f,n,p(c,m+1,g)):null==q[m]?b(c,m,m+1,q):l(h,c[m],q[m],f,p(c,m+1,g),a,n));return}}if(!a)a:{if(null!=c.pool&&Math.abs(c.pool.length-q.length)<=Math.abs(c.length-q.length)&&(a=q[0]&&q[0].children&&q[0].children.length||0,Math.abs((c.pool[0]&&c.pool[0].children&&c.pool[0].children.length||
0)-a)<=Math.abs((c[0]&&c[0].children&&c[0].children.length||0)-a))){a=!0;break a}a=!1}if(a){var w=c.pool;c=c.concat(c.pool)}for(var B=m=0,u=c.length-1,A=q.length-1,C;u>=m&&A>=B;){var v=c[m];t=q[B];if(v!==t||a)if(null==v)m++;else if(null==t)B++;else if(v.key===t.key){var F=null!=w&&m>=c.length-w.length||null==w&&a;m++;B++;l(h,v,t,f,p(c,m,g),F,n);a&&v.tag===t.tag&&k(h,r(v),g)}else if(v=c[u],v!==t||a)if(null==v)u--;else if(null==t)B++;else if(v.key===t.key)F=null!=w&&u>=c.length-w.length||null==w&&a,
l(h,v,t,f,p(c,u+1,g),F,n),(a||B<A)&&k(h,r(v),p(c,m,g)),u--,B++;else break;else u--,B++;else m++,B++}for(;u>=m&&A>=B;){v=c[u];t=q[A];if(v!==t||a)if(null==v)u--;else{if(null!=t)if(v.key===t.key)F=null!=w&&u>=c.length-w.length||null==w&&a,l(h,v,t,f,p(c,u+1,g),F,n),a&&v.tag===t.tag&&k(h,r(v),g),null!=v.dom&&(g=v.dom),u--;else{if(!C){C=c;F=u;v={};var E;for(E=0;E<F;E++){var G=C[E];null!=G&&(G=G.key,null!=G&&(v[G]=E))}C=v}null!=t&&(F=C[t.key],null!=F?(v=c[F],l(h,v,t,f,p(c,u+1,g),a,n),k(h,r(v),g),c[F].skip=
!0,null!=v.dom&&(g=v.dom)):g=e(h,t,f,n,g))}A--}else u--,A--;if(A<B)break}d(h,q,B,A+1,f,g,n);b(c,m,u+1,q)}}function l(b,c,a,d,p,k,A){var h=c.tag;if(h===a.tag){a.state=c.state;a._state=c._state;a.events=c.events;var q;if(q=!k){var t,B;null!=a.attrs&&"function"===typeof a.attrs.onbeforeupdate&&(t=a.attrs.onbeforeupdate.call(a.state,a,c));"string"!==typeof a.tag&&"function"===typeof a._state.onbeforeupdate&&(B=a._state.onbeforeupdate.call(a.state,a,c));void 0===t&&void 0===B||t||B?q=!1:(a.dom=c.dom,a.domSize=
c.domSize,a.instance=c.instance,q=!0)}if(!q)if("string"===typeof h)switch(null!=a.attrs&&(k?(a.state={},z(a.attrs,a,d)):J(a.attrs,a,d)),h){case "#":c.children.toString()!==a.children.toString()&&(c.dom.nodeValue=a.children);a.dom=c.dom;break;case "<":c.children!==a.children?(r(c),f(b,a,p)):(a.dom=c.dom,a.domSize=c.domSize);break;case "[":n(b,c.children,a.children,k,d,p,A);c=0;d=a.children;a.dom=null;if(null!=d){for(k=0;k<d.length;k++){var u=d[k];null!=u&&null!=u.dom&&(null==a.dom&&(a.dom=u.dom),c+=
u.domSize||1)}1!==c&&(a.domSize=c)}break;default:b=a.dom=c.dom;A=a.attrs&&a.attrs.xmlns||I[a.tag]||A;"textarea"===a.tag&&(null==a.attrs&&(a.attrs={}),null!=a.text&&(a.attrs.value=a.text,a.text=void 0));p=c.attrs;h=a.attrs;q=A;if(null!=h)for(u in h)E(a,u,p&&p[u],h[u],q);if(null!=p)for(u in p)null!=h&&u in h||("className"===u&&(u="class"),"o"!==u[0]||"n"!==u[1]||G(u)?"key"!==u&&a.dom.removeAttribute(u):x(a,u,void 0));null!=a.attrs&&null!=a.attrs.contenteditable?m(a):null!=c.text&&null!=a.text&&""!==
a.text?c.text.toString()!==a.text.toString()&&(c.dom.firstChild.nodeValue=a.text):(null!=c.text&&(c.children=[y("#",void 0,void 0,c.text,void 0,c.dom.firstChild)]),null!=a.text&&(a.children=[y("#",void 0,void 0,a.text,void 0,void 0)]),n(b,c.children,a.children,k,d,null,A))}else{if(k)g(a,d);else{a.instance=y.normalize(a._state.view.call(a.state,a));if(a.instance===a)throw Error("A view cannot return the vnode it received as argument");null!=a.attrs&&J(a.attrs,a,d);J(a._state,a,d)}null!=a.instance?
(null==c.instance?e(b,a.instance,d,A,p):l(b,c.instance,a.instance,d,p,k,A),a.dom=a.instance.dom,a.domSize=a.instance.domSize):null!=c.instance?(w(c.instance,null),a.dom=void 0,a.domSize=0):(a.dom=c.dom,a.domSize=c.domSize)}}else w(c,null),e(b,a,d,A,p)}function r(a){var c=a.domSize;if(null!=c||null==a.dom){var b=D.createDocumentFragment();if(0<c){for(a=a.dom;--c;)b.appendChild(a.nextSibling);b.insertBefore(a,b.firstChild)}return b}return a.dom}function p(a,c,b){for(;c<a.length;c++)if(null!=a[c]&&null!=
a[c].dom)return a[c].dom;return b}function k(a,c,b){b&&b.parentNode?a.insertBefore(c,b):a.appendChild(c)}function m(a){var c=a.children;if(null!=c&&1===c.length&&"<"===c[0].tag)c=c[0].children,a.dom.innerHTML!==c&&(a.dom.innerHTML=c);else if(null!=a.text||null!=c&&0!==c.length)throw Error("Child node of a contenteditable must be trusted");}function b(a,c,b,d){for(;c<b;c++){var h=a[c];null!=h&&(h.skip?h.skip=!1:w(h,d))}}function w(a,c){function b(){if(++d===h&&(C(a),a.dom)){var b=a.domSize||1;if(1<
(function(){function z(b,d,e,f,g,n){return{tag:b,key:d,attrs:e,children:f,text:g,dom:n,domSize:void 0,state:void 0,_state:void 0,events:void 0,instance:void 0,skip:!1}}function A(b){var d,e=arguments[1],f=2;if(null==b||"string"!==typeof b&&"function"!==typeof b&&"function"!==typeof b.view)throw Error("The selector must be either a string or a component.");if("string"===typeof b&&!(d=M[b])){var g="div";for(var n=[],l={};d=Q.exec(b);){var r=d[1],p=d[2];""===r&&""!==p?g=p:"#"===r?l.id=p:"."===r?n.push(p):
"["===d[3][0]&&((r=d[6])&&(r=r.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===d[4]?n.push(r):l[d[4]]=""===r?r:r||!0)}0<n.length&&(l.className=n.join(" "));d=M[b]={tag:g,attrs:l}}if(null==e)e={};else if("object"!==typeof e||null!=e.tag||Array.isArray(e))e={},f=1;if(arguments.length===f+1)g=arguments[f],Array.isArray(g)||(g=[g]);else for(g=[];f<arguments.length;)g.push(arguments[f++]);f=z.normalizeChildren(g);if("string"===typeof b){g=!1;var k,m,n=e.className||e["class"],a;for(a in d.attrs)N.call(d.attrs,
a)&&(e[a]=d.attrs[a]);void 0!==n&&(void 0!==e["class"]&&(e["class"]=void 0,e.className=n),null!=d.attrs.className&&(e.className=d.attrs.className+" "+n));for(a in e)if(N.call(e,a)&&"key"!==a){g=!0;break}Array.isArray(f)&&1===f.length&&null!=f[0]&&"#"===f[0].tag?m=f[0].children:k=f;return z(d.tag,e.key,g?e:void 0,k,m)}return z(b,e.key,e,f)}function R(b){var d=0,e=null,f="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(){var g=Date.now();0===d||16<=g-d?(d=g,
b()):null===e&&(e=f(function(){e=null;b();d=Date.now()},16-(g-d)))}}z.normalize=function(b){return Array.isArray(b)?z("[",void 0,void 0,z.normalizeChildren(b),void 0,void 0):null!=b&&"object"!==typeof b?z("#",void 0,void 0,!1===b?"":b,void 0,void 0):b};z.normalizeChildren=function(b){for(var d=0;d<b.length;d++)b[d]=z.normalize(b[d]);return b};var Q=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,M={},N={}.hasOwnProperty;A.trust=function(b){null==b&&(b="");return z("<",
void 0,void 0,b,void 0,void 0)};A.fragment=function(b,d){return z("[",b.key,b,z.normalizeChildren(d),void 0,void 0)};var x=function(b){function d(b,a){return function B(d){var l;try{if(!a||null==d||"object"!==typeof d&&"function"!==typeof d||"function"!==typeof(l=d.then))k(function(){a||0!==b.length||console.error("Possible unhandled promise rejection:",d);for(var e=0;e<b.length;e++)b[e](d);g.length=0;n.length=0;p.state=a;p.retry=function(){B(d)}});else{if(d===f)throw new TypeError("Promise can't be resolved w/ itself");
e(l.bind(d))}}catch(S){r(S)}}}function e(b){function a(a){return function(b){0<d++||a(b)}}var d=0,e=a(r);try{b(a(l),e)}catch(D){e(D)}}if(!(this instanceof x))throw Error("Promise must be called with `new`");if("function"!==typeof b)throw new TypeError("executor must be a function");var f=this,g=[],n=[],l=d(g,!0),r=d(n,!1),p=f._instance={resolvers:g,rejectors:n},k="function"===typeof setImmediate?setImmediate:setTimeout;e(b)};x.prototype.then=function(b,d){function e(b,d,e,l){d.push(function(a){if("function"!==
typeof b)e(a);else try{g(b(a))}catch(w){n&&n(w)}});"function"===typeof f.retry&&l===f.state&&f.retry()}var f=this._instance,g,n,l=new x(function(b,d){g=b;n=d});e(b,f.resolvers,g,!0);e(d,f.rejectors,n,!1);return l};x.prototype["catch"]=function(b){return this.then(null,b)};x.resolve=function(b){return b instanceof x?b:new x(function(d){d(b)})};x.reject=function(b){return new x(function(d,e){e(b)})};x.all=function(b){return new x(function(d,e){var f=b.length,g=0,n=[];if(0===b.length)d([]);else for(var l=
0;l<b.length;l++)(function(l){function p(b){g++;n[l]=b;g===f&&d(n)}null==b[l]||"object"!==typeof b[l]&&"function"!==typeof b[l]||"function"!==typeof b[l].then?p(b[l]):b[l].then(p,e)})(l)})};x.race=function(b){return new x(function(d,e){for(var f=0;f<b.length;f++)b[f].then(d,e)})};"undefined"!==typeof window?("undefined"===typeof window.Promise&&(window.Promise=x),x=window.Promise):"undefined"!==typeof global&&("undefined"===typeof global.Promise&&(global.Promise=x),x=global.Promise);var H=function(b){function d(b,
f){if(Array.isArray(f))for(var g=0;g<f.length;g++)d(b+"["+g+"]",f[g]);else if("[object Object]"===Object.prototype.toString.call(f))for(g in f)d(b+"["+g+"]",f[g]);else e.push(encodeURIComponent(b)+(null!=f&&""!==f?"="+encodeURIComponent(f):""))}if("[object Object]"!==Object.prototype.toString.call(b))return"";var e=[],f;for(f in b)d(f,b[f]);return e.join("&")},T=/^file:\/\//i,K=function(b,d){function e(){function a(){0===--b&&"function"===typeof m&&m()}var b=0;return function D(d){var e=d.then;d.then=
function(){b++;var g=e.apply(d,arguments);g.then(a,function(d){a();if(0===b)throw d;});return D(g)};return d}}function f(a,b){if("string"===typeof a){var d=a;a=b||{};null==a.url&&(a.url=d)}return a}function g(a,b){if(null==b)return a;for(var d=a.match(/:[^\/]+/gi)||[],e=0;e<d.length;e++){var g=d[e].slice(1);null!=b[g]&&(a=a.replace(d[e],b[g]))}return a}function n(a,b){var d=H(b);if(""!==d){var e=0>a.indexOf("?")?"?":"&";a+=e+d}return a}function l(a){try{return""!==a?JSON.parse(a):null}catch(w){throw Error(a);
}}function r(a){return a.responseText}function p(a,b){if("function"===typeof a)if(Array.isArray(b))for(var d=0;d<b.length;d++)b[d]=new a(b[d]);else return new a(b);return b}var k=0,m;return{request:function(a,k){var m=e();a=f(a,k);var w=new d(function(d,e){null==a.method&&(a.method="GET");a.method=a.method.toUpperCase();var f="GET"===a.method||"TRACE"===a.method?!1:"boolean"===typeof a.useBody?a.useBody:!0;"function"!==typeof a.serialize&&(a.serialize="undefined"!==typeof FormData&&a.data instanceof
FormData?function(a){return a}:JSON.stringify);"function"!==typeof a.deserialize&&(a.deserialize=l);"function"!==typeof a.extract&&(a.extract=r);a.url=g(a.url,a.data);f?a.data=a.serialize(a.data):a.url=n(a.url,a.data);var k=new b.XMLHttpRequest,m=!1,w=k.abort;k.abort=function(){m=!0;w.call(k)};k.open(a.method,a.url,"boolean"===typeof a.async?a.async:!0,"string"===typeof a.user?a.user:void 0,"string"===typeof a.password?a.password:void 0);a.serialize===JSON.stringify&&f&&k.setRequestHeader("Content-Type",
"application/json; charset=utf-8");a.deserialize===l&&k.setRequestHeader("Accept","application/json, text/*");a.withCredentials&&(k.withCredentials=a.withCredentials);for(var B in a.headers)({}).hasOwnProperty.call(a.headers,B)&&k.setRequestHeader(B,a.headers[B]);"function"===typeof a.config&&(k=a.config(k,a)||k);k.onreadystatechange=function(){if(!m&&4===k.readyState)try{var b=a.extract!==r?a.extract(k,a):a.deserialize(a.extract(k,a));if(200<=k.status&&300>k.status||304===k.status||T.test(a.url))d(p(a.type,
b));else{var h=Error(k.responseText),c;for(c in b)h[c]=b[c];e(h)}}catch(q){e(q)}};f&&null!=a.data?k.send(a.data):k.send()});return!0===a.background?w:m(w)},jsonp:function(a,l){var m=e();a=f(a,l);var r=new d(function(d,e){var f=a.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+k++,l=b.document.createElement("script");b[f]=function(e){l.parentNode.removeChild(l);d(p(a.type,e));delete b[f]};l.onerror=function(){l.parentNode.removeChild(l);e(Error("JSONP request failed"));delete b[f]};null==
a.data&&(a.data={});a.url=g(a.url,a.data);a.data[a.callbackKey||"callback"]=f;l.src=n(a.url,a.data);b.document.documentElement.appendChild(l)});return!0===a.background?r:m(r)},setCompletionCallback:function(a){m=a}}}(window,x),P=function(b){function d(h,c,q,a,b,d,f){for(;q<a;q++){var t=c[q];null!=t&&e(h,t,b,f,d)}}function e(h,c,q,a,b){var t=c.tag;if("string"===typeof t)switch(c.state={},null!=c.attrs&&A(c.attrs,c,q),t){case "#":return c.dom=y.createTextNode(c.children),k(h,c.dom,b),c.dom;case "<":return f(h,
c,b);case "[":var l=y.createDocumentFragment();null!=c.children&&(t=c.children,d(l,t,0,t.length,q,null,a));c.dom=l.firstChild;c.domSize=l.childNodes.length;k(h,l,b);return l;default:var p=c.tag,n=(t=c.attrs)&&t.is,p=(a=c.attrs&&c.attrs.xmlns||H[c.tag]||a)?n?y.createElementNS(a,p,{is:n}):y.createElementNS(a,p):n?y.createElement(p,{is:n}):y.createElement(p);c.dom=p;if(null!=t)for(l in n=a,t)D(c,l,null,t[l],n);k(h,p,b);null!=c.attrs&&null!=c.attrs.contenteditable?m(c):(null!=c.text&&(""!==c.text?p.textContent=
c.text:c.children=[z("#",void 0,void 0,c.text,void 0,void 0)]),null!=c.children&&(h=c.children,d(p,h,0,h.length,q,null,a),h=c.attrs,"select"===c.tag&&null!=h&&("value"in h&&D(c,"value",null,h.value,void 0),"selectedIndex"in h&&D(c,"selectedIndex",null,h.selectedIndex,void 0))));return p}else return g(c,q),null!=c.instance?(q=e(h,c.instance,q,a,b),c.dom=c.instance.dom,c.domSize=null!=c.dom?c.instance.domSize:0,k(h,q,b),c=q):(c.domSize=0,c=J),c}function f(h,c,q){var a={caption:"table",thead:"table",
tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"}[(c.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",a=y.createElement(a);a.innerHTML=c.children;c.dom=a.firstChild;c.domSize=a.childNodes.length;c=y.createDocumentFragment();for(var b;b=a.firstChild;)c.appendChild(b);k(h,c,q);return c}function g(h,c){if("function"===typeof h.tag.view){h.state=Object.create(h.tag);var a=h.state.view;if(null!=a.$$reentrantLock$$)return J;a.$$reentrantLock$$=!0}else{h.state=void 0;
a=h.tag;if(null!=a.$$reentrantLock$$)return J;a.$$reentrantLock$$=!0;h.state=null!=h.tag.prototype&&"function"===typeof h.tag.prototype.view?new h.tag(h):h.tag(h)}h._state=h.state;null!=h.attrs&&A(h.attrs,h,c);A(h._state,h,c);h.instance=z.normalize(h._state.view.call(h.state,h));if(h.instance===h)throw Error("A view cannot return the vnode it received as argument");a.$$reentrantLock$$=null}function n(h,c,q,b,f,g,n){if(c!==q&&(null!=c||null!=q))if(null==c)d(h,q,0,q.length,f,g,void 0);else if(null==
q)a(c,0,c.length,q);else{if(c.length===q.length){var t=!1;for(var m=0;m<q.length;m++)if(null!=q[m]&&null!=c[m]){t=null==q[m].key&&null==c[m].key;break}if(t){for(m=0;m<c.length;m++)c[m]!==q[m]&&(null==c[m]&&null!=q[m]?e(h,q[m],f,n,p(c,m+1,g)):null==q[m]?a(c,m,m+1,q):l(h,c[m],q[m],f,p(c,m+1,g),b,n));return}}if(!b)a:{if(null!=c.pool&&Math.abs(c.pool.length-q.length)<=Math.abs(c.length-q.length)&&(b=q[0]&&q[0].children&&q[0].children.length||0,Math.abs((c.pool[0]&&c.pool[0].children&&c.pool[0].children.length||
0)-b)<=Math.abs((c[0]&&c[0].children&&c[0].children.length||0)-b))){b=!0;break a}b=!1}if(b){var w=c.pool;c=c.concat(c.pool)}for(var C=m=0,u=c.length-1,F=q.length-1,B;u>=m&&F>=C;){var v=c[m];t=q[C];if(v!==t||b)if(null==v)m++;else if(null==t)C++;else if(v.key===t.key){var E=null!=w&&m>=c.length-w.length||null==w&&b;m++;C++;l(h,v,t,f,p(c,m,g),E,n);b&&v.tag===t.tag&&k(h,r(v),g)}else if(v=c[u],v!==t||b)if(null==v)u--;else if(null==t)C++;else if(v.key===t.key)E=null!=w&&u>=c.length-w.length||null==w&&b,
l(h,v,t,f,p(c,u+1,g),E,n),(b||C<F)&&k(h,r(v),p(c,m,g)),u--,C++;else break;else u--,C++;else m++,C++}for(;u>=m&&F>=C;){v=c[u];t=q[F];if(v!==t||b)if(null==v)u--;else{if(null!=t)if(v.key===t.key)E=null!=w&&u>=c.length-w.length||null==w&&b,l(h,v,t,f,p(c,u+1,g),E,n),b&&v.tag===t.tag&&k(h,r(v),g),null!=v.dom&&(g=v.dom),u--;else{if(!B){B=c;E=u;v={};var y;for(y=0;y<E;y++){var D=B[y];null!=D&&(D=D.key,null!=D&&(v[D]=y))}B=v}null!=t&&(E=B[t.key],null!=E?(v=c[E],l(h,v,t,f,p(c,u+1,g),b,n),k(h,r(v),g),c[E].skip=
!0,null!=v.dom&&(g=v.dom)):g=e(h,t,f,n,g))}F--}else u--,F--;if(F<C)break}d(h,q,C,F+1,f,g,n);a(c,m,u+1,q)}}function l(h,c,a,b,d,p,k){var q=c.tag;if(q===a.tag){a.state=c.state;a._state=c._state;a.events=c.events;var t;if(t=!p){var C,B;null!=a.attrs&&"function"===typeof a.attrs.onbeforeupdate&&(C=a.attrs.onbeforeupdate.call(a.state,a,c));"string"!==typeof a.tag&&"function"===typeof a._state.onbeforeupdate&&(B=a._state.onbeforeupdate.call(a.state,a,c));void 0===C&&void 0===B||C||B?t=!1:(a.dom=c.dom,a.domSize=
c.domSize,a.instance=c.instance,t=!0)}if(!t)if("string"===typeof q)switch(null!=a.attrs&&(p?(a.state={},A(a.attrs,a,b)):I(a.attrs,a,b)),q){case "#":c.children.toString()!==a.children.toString()&&(c.dom.nodeValue=a.children);a.dom=c.dom;break;case "<":c.children!==a.children?(r(c),f(h,a,d)):(a.dom=c.dom,a.domSize=c.domSize);break;case "[":n(h,c.children,a.children,p,b,d,k);c=0;b=a.children;a.dom=null;if(null!=b){for(p=0;p<b.length;p++){var u=b[p];null!=u&&null!=u.dom&&(null==a.dom&&(a.dom=u.dom),c+=
u.domSize||1)}1!==c&&(a.domSize=c)}break;default:h=a.dom=c.dom;k=a.attrs&&a.attrs.xmlns||H[a.tag]||k;"textarea"===a.tag&&(null==a.attrs&&(a.attrs={}),null!=a.text&&(a.attrs.value=a.text,a.text=void 0));d=c.attrs;q=a.attrs;t=k;if(null!=q)for(u in q)D(a,u,d&&d[u],q[u],t);if(null!=d)for(u in d)null!=q&&u in q||("className"===u&&(u="class"),"o"!==u[0]||"n"!==u[1]||O(u)?"key"!==u&&a.dom.removeAttribute(u):x(a,u,void 0));null!=a.attrs&&null!=a.attrs.contenteditable?m(a):null!=c.text&&null!=a.text&&""!==
a.text?c.text.toString()!==a.text.toString()&&(c.dom.firstChild.nodeValue=a.text):(null!=c.text&&(c.children=[z("#",void 0,void 0,c.text,void 0,c.dom.firstChild)]),null!=a.text&&(a.children=[z("#",void 0,void 0,a.text,void 0,void 0)]),n(h,c.children,a.children,p,b,null,k))}else{if(p)g(a,b);else{a.instance=z.normalize(a._state.view.call(a.state,a));if(a.instance===a)throw Error("A view cannot return the vnode it received as argument");null!=a.attrs&&I(a.attrs,a,b);I(a._state,a,b)}null!=a.instance?
(null==c.instance?e(h,a.instance,b,k,d):l(h,c.instance,a.instance,b,d,p,k),a.dom=a.instance.dom,a.domSize=a.instance.domSize):null!=c.instance?(w(c.instance,null),a.dom=void 0,a.domSize=0):(a.dom=c.dom,a.domSize=c.domSize)}}else w(c,null),e(h,a,b,k,d)}function r(a){var c=a.domSize;if(null!=c||null==a.dom){var b=y.createDocumentFragment();if(0<c){for(a=a.dom;--c;)b.appendChild(a.nextSibling);b.insertBefore(a,b.firstChild)}return b}return a.dom}function p(a,c,b){for(;c<a.length;c++)if(null!=a[c]&&null!=
a[c].dom)return a[c].dom;return b}function k(a,c,b){b&&b.parentNode?a.insertBefore(c,b):a.appendChild(c)}function m(a){var c=a.children;if(null!=c&&1===c.length&&"<"===c[0].tag)c=c[0].children,a.dom.innerHTML!==c&&(a.dom.innerHTML=c);else if(null!=a.text||null!=c&&0!==c.length)throw Error("Child node of a contenteditable must be trusted");}function a(a,c,b,d){for(;c<b;c++){var h=a[c];null!=h&&(h.skip?h.skip=!1:w(h,d))}}function w(a,c){function b(){if(++d===h&&(B(a),a.dom)){var b=a.domSize||1;if(1<
b)for(var e=a.dom;--b;){var g=e.nextSibling,f=g.parentNode;null!=f&&f.removeChild(g)}b=a.dom;e=b.parentNode;null!=e&&e.removeChild(b);if(b=null!=c&&null==a.domSize)b=a.attrs,b=!(null!=b&&(b.oncreate||b.onupdate||b.onbeforeremove||b.onremove));b&&"string"===typeof a.tag&&(c.pool?c.pool.push(a):c.pool=[a])}}var h=1,d=0;if(a.attrs&&"function"===typeof a.attrs.onbeforeremove){var e=a.attrs.onbeforeremove.call(a.state,a);null!=e&&"function"===typeof e.then&&(h++,e.then(b,b))}"string"!==typeof a.tag&&"function"===
typeof a._state.onbeforeremove&&(e=a._state.onbeforeremove.call(a.state,a),null!=e&&"function"===typeof e.then&&(h++,e.then(b,b)));b()}function C(a){a.attrs&&"function"===typeof a.attrs.onremove&&a.attrs.onremove.call(a.state,a);"string"!==typeof a.tag&&"function"===typeof a._state.onremove&&a._state.onremove.call(a.state,a);if(null!=a.instance)C(a.instance);else if(a=a.children,Array.isArray(a))for(var c=0;c<a.length;c++){var b=a[c];null!=b&&C(b)}}function E(a,c,b,d,e){var h=a.dom;if("key"!==c&&
"is"!==c&&(b!==d||"value"===c||"checked"===c||"selectedIndex"===c||"selected"===c&&a.dom===D.activeElement||"object"===typeof d)&&"undefined"!==typeof d&&!G(c)){var g=c.indexOf(":");if(-1<g&&"xlink"===c.substr(0,g))h.setAttributeNS("http://www.w3.org/1999/xlink",c.slice(g+1),d);else if("o"===c[0]&&"n"===c[1]&&"function"===typeof d)x(a,c,d);else if("style"===c)if(a=b,a===d&&(h.style.cssText="",a=null),null==d)h.style.cssText="";else if("string"===typeof d)h.style.cssText=d;else{"string"===typeof a&&
(h.style.cssText="");for(var f in d)h.style[f]=d[f];if(null!=a&&"string"!==typeof a)for(f in a)f in d||(h.style[f]="")}else c in h&&"href"!==c&&"list"!==c&&"form"!==c&&"width"!==c&&"height"!==c&&void 0===e&&!(a.attrs.is||-1<a.tag.indexOf("-"))?"input"===a.tag&&"value"===c&&a.dom.value==d&&a.dom===D.activeElement||"select"===a.tag&&"value"===c&&a.dom.value==d&&a.dom===D.activeElement||"option"===a.tag&&"value"===c&&null!=b&&a.dom.value==d||("input"===a.tag&&"type"===c?h.setAttribute(c,d):h[c]=d):"boolean"===
typeof d?d?h.setAttribute(c,""):h.removeAttribute(c):h.setAttribute("className"===c?"class":c,d)}}function G(a){return"oninit"===a||"oncreate"===a||"onupdate"===a||"onremove"===a||"onbeforeremove"===a||"onbeforeupdate"===a}function x(a,c,b){var d=a.dom,e="function"!==typeof H?b:function(a){var c=b.call(d,a);H.call(d,a);return c};if(c in d)d[c]="function"===typeof b?e:null;else{var h=c.slice(2);void 0===a.events&&(a.events={});a.events[c]!==e&&(null!=a.events[c]&&d.removeEventListener(h,a.events[c],
!1),"function"===typeof b&&(a.events[c]=e,d.addEventListener(h,a.events[c],!1)))}}function z(a,b,d){"function"===typeof a.oninit&&a.oninit.call(b.state,b);"function"===typeof a.oncreate&&d.push(a.oncreate.bind(b.state,b))}function J(a,b,d){"function"===typeof a.onupdate&&d.push(a.onupdate.bind(b.state,b))}var D=a.document,K=D.createDocumentFragment(),I={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},H;return{render:function(a,b){if(!a)throw Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");
var c=[],d=D.activeElement;null==a.vnodes&&(a.textContent="");Array.isArray(b)||(b=[b]);n(a,a.vnodes,y.normalizeChildren(b),!1,c,null,void 0);a.vnodes=b;for(var e=0;e<c.length;e++)c[e]();D.activeElement!==d&&d.focus()},setEventCallback:function(a){return H=a}}},H=function(a){function d(a){a=f.indexOf(a);-1<a&&f.splice(a,2)}function e(){for(var a=1;a<f.length;a+=2)f[a]()}a=P(a);a.setEventCallback(function(a){!1!==a.redraw&&e()});var f=[];return{subscribe:function(a,e){d(a);f.push(a,R(e))},unsubscribe:d,
redraw:e,render:a.render}}(window);L.setCompletionCallback(H.redraw);z.mount=function(a){return function(d,e){if(null===e)a.render(d,[]),a.unsubscribe(d);else{if(null==e.view&&"function"!==typeof e)throw Error("m.mount(element, component) expects a component, not a vnode");a.subscribe(d,function(){a.render(d,y(e))});a.redraw()}}}(H);var U=x,M=function(a){if(""===a||null==a)return{};"?"===a.charAt(0)&&(a=a.slice(1));a=a.split("&");for(var d={},e={},f=0;f<a.length;f++){var g=a[f].split("=");var n=decodeURIComponent(g[0]);
g=2===g.length?decodeURIComponent(g[1]):"";"true"===g?g=!0:"false"===g&&(g=!1);var l=n.split(/\]\[?|\[/),r=d;-1<n.indexOf("[")&&l.pop();for(var p=0;p<l.length;p++){n=l[p];var k=l[p+1],k=""==k||!isNaN(parseInt(k,10)),m=p===l.length-1;""===n&&(n=l.slice(0,p).join(),null==e[n]&&(e[n]=0),n=e[n]++);null==r[n]&&(r[n]=m?g:k?[]:{});r=r[n]}}return d},V=function(a){function d(d){var e=a.location[d].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===d&&"/"!==e[0]&&(e="/"+e);return e}function e(a){return function(){null==
l&&(l=n(function(){l=null;a()}))}}function f(a,d,e){var b=a.indexOf("?"),f=a.indexOf("#"),g=-1<b?b:-1<f?f:a.length;if(-1<b){var b=M(a.slice(b+1,-1<f?f:a.length)),m;for(m in b)d[m]=b[m]}if(-1<f)for(m in d=M(a.slice(f+1)),d)e[m]=d[m];return a.slice(0,g)}var g="function"===typeof a.history.pushState,n="function"===typeof setImmediate?setImmediate:setTimeout,l,r={prefix:"#!",getPath:function(){switch(r.prefix.charAt(0)){case "#":return d("hash").slice(r.prefix.length);case "?":return d("search").slice(r.prefix.length)+
d("hash");default:return d("pathname").slice(r.prefix.length)+d("search")+d("hash")}},setPath:function(d,e,m){var b={},l={};d=f(d,b,l);if(null!=e){for(var k in e)b[k]=e[k];d=d.replace(/:([^\/]+)/g,function(a,d){delete b[d];return e[d]})}(k=I(b))&&(d+="?"+k);(l=I(l))&&(d+="#"+l);g?(l=m?m.state:null,k=m?m.title:null,a.onpopstate(),m&&m.replace?a.history.replaceState(l,k,r.prefix+d):a.history.pushState(l,k,r.prefix+d)):a.location.href=r.prefix+d},defineRoutes:function(d,l,m){function b(){var b=r.getPath(),
e={},g=f(b,e,e),k=a.history.state;if(null!=k)for(var n in k)e[n]=k[n];for(var p in d)if(k=new RegExp("^"+p.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$"),k.test(g)){g.replace(k,function(){for(var a=p.match(/:[^\/]+/g)||[],f=[].slice.call(arguments,1,-2),g=0;g<a.length;g++)e[a[g].replace(/:|\./g,"")]=decodeURIComponent(f[g]);l(d[p],e,b,p)});return}m(b,e)}g?a.onpopstate=e(b):"#"===r.prefix.charAt(0)&&(a.onhashchange=b);b()}};return r};z.route=function(a,d){var e=V(a),f=function(a){return a},
g,n,l,r,p,k=function(a,b,k){if(null==a)throw Error("Ensure the DOM element that was passed to `m.route` is not undefined");var m=function(){null!=g&&d.render(a,g(y(n,l.key,l)))},w=function(a){if(a!==b)e.setPath(b,null,{replace:!0});else throw Error("Could not resolve default route "+b);};e.defineRoutes(k,function(a,b,d){var e=p=function(a,k){e===p&&(n=null==k||"function"!==typeof k.view&&"function"!==typeof k?"div":k,l=b,r=d,p=null,g=(a.render||f).bind(a),m())};a.view||"function"===typeof a?e({},
a):a.onmatch?U.resolve(a.onmatch(b,d)).then(function(b){e(a,b)},w):e(a,"div")},w);d.subscribe(a,m)};k.set=function(a,b,d){null!=p&&(d={replace:!0});p=null;e.setPath(a,b,d)};k.get=function(){return r};k.prefix=function(a){e.prefix=a};k.link=function(a){a.dom.setAttribute("href",e.prefix+a.attrs.href);a.dom.onclick=function(a){a.ctrlKey||a.metaKey||a.shiftKey||2===a.which||(a.preventDefault(),a.redraw=!1,a=this.getAttribute("href"),0===a.indexOf(e.prefix)&&(a=a.slice(e.prefix.length)),k.set(a,void 0,
void 0))}};k.param=function(a){return"undefined"!==typeof l&&"undefined"!==typeof a?l[a]:l};return k}(window,H);z.withAttr=function(a,d,e){return function(f){d.call(e||this,a in f.currentTarget?f.currentTarget[a]:f.currentTarget.getAttribute(a))}};var W=P(window);z.render=W.render;z.redraw=H.redraw;z.request=L.request;z.jsonp=L.jsonp;z.parseQueryString=M;z.buildQueryString=I;z.version="1.1.1";z.vnode=y;"undefined"!==typeof module?module.exports=z:window.m=z})();
typeof a._state.onbeforeremove&&(e=a._state.onbeforeremove.call(a.state,a),null!=e&&"function"===typeof e.then&&(h++,e.then(b,b)));b()}function B(a){a.attrs&&"function"===typeof a.attrs.onremove&&a.attrs.onremove.call(a.state,a);"string"!==typeof a.tag&&"function"===typeof a._state.onremove&&a._state.onremove.call(a.state,a);if(null!=a.instance)B(a.instance);else if(a=a.children,Array.isArray(a))for(var c=0;c<a.length;c++){var b=a[c];null!=b&&B(b)}}function D(a,c,b,d,e){var h=a.dom;if("key"!==c&&
"is"!==c&&(b!==d||"value"===c||"checked"===c||"selectedIndex"===c||"selected"===c&&a.dom===y.activeElement||"object"===typeof d)&&"undefined"!==typeof d&&!O(c)){var g=c.indexOf(":");if(-1<g&&"xlink"===c.substr(0,g))h.setAttributeNS("http://www.w3.org/1999/xlink",c.slice(g+1),d);else if("o"===c[0]&&"n"===c[1]&&"function"===typeof d)x(a,c,d);else if("style"===c)if(a=b,a===d&&(h.style.cssText="",a=null),null==d)h.style.cssText="";else if("string"===typeof d)h.style.cssText=d;else{"string"===typeof a&&
(h.style.cssText="");for(var f in d)h.style[f]=d[f];if(null!=a&&"string"!==typeof a)for(f in a)f in d||(h.style[f]="")}else if(c in h&&"href"!==c&&"list"!==c&&"form"!==c&&"width"!==c&&"height"!==c&&void 0===e&&!(a.attrs.is||-1<a.tag.indexOf("-"))){if("value"===c){f=""+d;if("input"===a.tag&&a.dom.value===f&&a.dom===y.activeElement)return;if("select"===a.tag)if(null===d){if(-1===a.dom.selectedIndex&&a.dom===y.activeElement)return}else if(null!==b&&a.dom.value===f&&a.dom===y.activeElement)return;if("option"===
a.tag&&null!=b&&a.dom.value===f)return}"input"===a.tag&&"type"===c?h.setAttribute(c,d):h[c]=d}else"boolean"===typeof d?d?h.setAttribute(c,""):h.removeAttribute(c):h.setAttribute("className"===c?"class":c,d)}}function O(a){return"oninit"===a||"oncreate"===a||"onupdate"===a||"onremove"===a||"onbeforeremove"===a||"onbeforeupdate"===a}function x(a,b,d){var c=a.dom,e="function"!==typeof G?d:function(a){var b=d.call(c,a);G.call(c,a);return b};if(b in c)c[b]="function"===typeof d?e:null;else{var h=b.slice(2);
void 0===a.events&&(a.events={});a.events[b]!==e&&(null!=a.events[b]&&c.removeEventListener(h,a.events[b],!1),"function"===typeof d&&(a.events[b]=e,c.addEventListener(h,a.events[b],!1)))}}function A(a,b,d){"function"===typeof a.oninit&&a.oninit.call(b.state,b);"function"===typeof a.oncreate&&d.push(a.oncreate.bind(b.state,b))}function I(a,b,d){"function"===typeof a.onupdate&&d.push(a.onupdate.bind(b.state,b))}var y=b.document,J=y.createDocumentFragment(),H={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},
G;return{render:function(a,b){if(!a)throw Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var c=[],d=y.activeElement;null==a.vnodes&&(a.textContent="");Array.isArray(b)||(b=[b]);n(a,a.vnodes,z.normalizeChildren(b),!1,c,null,void 0);a.vnodes=b;for(var e=0;e<c.length;e++)c[e]();y.activeElement!==d&&d.focus()},setEventCallback:function(a){return G=a}}},G=function(b){function d(b){b=f.indexOf(b);-1<b&&f.splice(b,2)}function e(){for(var b=1;b<f.length;b+=2)f[b]()}
b=P(b);b.setEventCallback(function(b){!1!==b.redraw&&e()});var f=[];return{subscribe:function(b,e){d(b);f.push(b,R(e))},unsubscribe:d,redraw:e,render:b.render}}(window);K.setCompletionCallback(G.redraw);A.mount=function(b){return function(d,e){if(null===e)b.render(d,[]),b.unsubscribe(d);else{if(null==e.view&&"function"!==typeof e)throw Error("m.mount(element, component) expects a component, not a vnode");b.subscribe(d,function(){b.render(d,z(e))});b.redraw()}}}(G);var U=x,L=function(b){if(""===b||
null==b)return{};"?"===b.charAt(0)&&(b=b.slice(1));b=b.split("&");for(var d={},e={},f=0;f<b.length;f++){var g=b[f].split("=");var n=decodeURIComponent(g[0]);g=2===g.length?decodeURIComponent(g[1]):"";"true"===g?g=!0:"false"===g&&(g=!1);var l=n.split(/\]\[?|\[/),r=d;-1<n.indexOf("[")&&l.pop();for(var p=0;p<l.length;p++){n=l[p];var k=l[p+1],k=""==k||!isNaN(parseInt(k,10)),m=p===l.length-1;""===n&&(n=l.slice(0,p).join(),null==e[n]&&(e[n]=0),n=e[n]++);null==r[n]&&(r[n]=m?g:k?[]:{});r=r[n]}}return d},
V=function(b){function d(d){var e=b.location[d].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===d&&"/"!==e[0]&&(e="/"+e);return e}function e(b){return function(){null==l&&(l=n(function(){l=null;b()}))}}function f(b,d,e){var a=b.indexOf("?"),f=b.indexOf("#"),g=-1<a?a:-1<f?f:b.length;if(-1<a){var a=L(b.slice(a+1,-1<f?f:b.length)),m;for(m in a)d[m]=a[m]}if(-1<f)for(m in d=L(b.slice(f+1)),d)e[m]=d[m];return b.slice(0,g)}var g="function"===typeof b.history.pushState,n="function"===
typeof setImmediate?setImmediate:setTimeout,l,r={prefix:"#!",getPath:function(){switch(r.prefix.charAt(0)){case "#":return d("hash").slice(r.prefix.length);case "?":return d("search").slice(r.prefix.length)+d("hash");default:return d("pathname").slice(r.prefix.length)+d("search")+d("hash")}},setPath:function(d,e,m){var a={},l={};d=f(d,a,l);if(null!=e){for(var k in e)a[k]=e[k];d=d.replace(/:([^\/]+)/g,function(b,d){delete a[d];return e[d]})}(k=H(a))&&(d+="?"+k);(l=H(l))&&(d+="#"+l);g?(l=m?m.state:
null,k=m?m.title:null,b.onpopstate(),m&&m.replace?b.history.replaceState(l,k,r.prefix+d):b.history.pushState(l,k,r.prefix+d)):b.location.href=r.prefix+d},defineRoutes:function(d,l,m){function a(){var a=r.getPath(),e={},g=f(a,e,e),k=b.history.state;if(null!=k)for(var n in k)e[n]=k[n];for(var p in d)if(k=new RegExp("^"+p.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$"),k.test(g)){g.replace(k,function(){for(var b=p.match(/:[^\/]+/g)||[],f=[].slice.call(arguments,1,-2),g=0;g<b.length;g++)e[b[g].replace(/:|\./g,
"")]=decodeURIComponent(f[g]);l(d[p],e,a,p)});return}m(a,e)}g?b.onpopstate=e(a):"#"===r.prefix.charAt(0)&&(b.onhashchange=a);a()}};return r};A.route=function(b,d){var e=V(b),f=function(b){return b},g,n,l,r,p,k=function(b,a,k){if(null==b)throw Error("Ensure the DOM element that was passed to `m.route` is not undefined");var m=function(){null!=g&&d.render(b,g(z(n,l.key,l)))},w=function(b){if(b!==a)e.setPath(a,null,{replace:!0});else throw Error("Could not resolve default route "+a);};e.defineRoutes(k,
function(a,b,d){var e=p=function(a,k){e===p&&(n=null==k||"function"!==typeof k.view&&"function"!==typeof k?"div":k,l=b,r=d,p=null,g=(a.render||f).bind(a),m())};a.view||"function"===typeof a?e({},a):a.onmatch?U.resolve(a.onmatch(b,d)).then(function(b){e(a,b)},w):e(a,"div")},w);d.subscribe(b,m)};k.set=function(b,a,d){null!=p&&(d={replace:!0});p=null;e.setPath(b,a,d)};k.get=function(){return r};k.prefix=function(b){e.prefix=b};k.link=function(b){b.dom.setAttribute("href",e.prefix+b.attrs.href);b.dom.onclick=
function(a){a.ctrlKey||a.metaKey||a.shiftKey||2===a.which||(a.preventDefault(),a.redraw=!1,a=this.getAttribute("href"),0===a.indexOf(e.prefix)&&(a=a.slice(e.prefix.length)),k.set(a,void 0,void 0))}};k.param=function(b){return"undefined"!==typeof l&&"undefined"!==typeof b?l[b]:l};return k}(window,G);A.withAttr=function(b,d,e){return function(f){d.call(e||this,b in f.currentTarget?f.currentTarget[b]:f.currentTarget.getAttribute(b))}};var W=P(window);A.render=W.render;A.redraw=G.redraw;A.request=K.request;
A.jsonp=K.jsonp;A.parseQueryString=L;A.buildQueryString=H;A.version="1.1.1";A.vnode=z;"undefined"!==typeof module?module.exports=A:window.m=A})();