!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.InfernoDOM=n()}(this,function(){"use strict";function e(e){return e instanceof Array}function n(e){var n=e.component;return!d(n.prototype)&&!d(n.prototype.render)}function t(e){return u(e)||a(e)}function r(e){return d(e)||c(e)}function o(e){return c(e)||e===!1||f(e)||d(e)}function i(e){return"function"==typeof e}function l(e){return"o"===e[0]&&"n"===e[1]&&e.length>3}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return null===e}function f(e){return e===!0}function d(e){return void 0===e}function s(e){return"object"==typeof e}function p(e){throw e||(e=gn),new Error("Inferno Error: "+e)}function v(e){var n=e.bp,t=n.staticVElement,r=k(t.tag,null,null,e.key,null,null),o=n.v0,i=t.children,l=t.props;if(c(i)||(r.children=i),c(l)||(r.props=l),!c(o)){m(r,e,o,e.v0,n.d0);var u=n.v1;if(!c(u)){m(r,e,u,e.v1,n.d1);var a=n.v2;if(!c(a)){m(r,e,a,e.v2,n.d2);var f=n.v3;if(!c(f))for(var d=e.v3,s=n.d3,p=n.v3,v=0;v
0;)o[i]=arguments[i+2];o.length>0&&!c(o[0])?(t||(t={}),1===o.length&&(o=o[0]),d(t.children)?t.children=o:e(o)?e(t.children)?t.children=t.children.concat(o):t.children=[t.children].concat(o):e(t.children)?t.children.push(o):(t.children=[t.children],t.children.push(o))):o=null;var l;return e(n)?l=n.map(function(e){return h(e)}):r(t)&&r(o)?l=Object.assign({},n):N(n)?l=y(n.component,Object.assign({},n.props,t),n.key,n.hooks,n.ref):b(n)?l=k(n.tag,Object.assign({},n.props,t),t&&t.children||o||n.children,n.key,n.ref,On.UNKNOWN):O(n)&&(l=h(v(n),t,o)),l.dom=null,l}function y(e,n,t,r,o){return{component:e,dom:null,hooks:r||null,instance:null,key:t,props:n,ref:o||null,type:Pn.COMPONENT}}function g(e){return{dom:null,text:e,type:Pn.TEXT}}function k(e,n,t,r,o,i){return{children:t,childrenType:i||On.UNKNOWN,dom:null,key:r,props:n,ref:o||null,tag:e,type:Pn.ELEMENT}}function E(e,n){return{children:e,childrenType:n||On.UNKNOWN,dom:null,pointer:null,type:Pn.FRAGMENT}}function P(){return{dom:null,type:Pn.PLACEHOLDER}}function b(e){return e.type===Pn.ELEMENT}function O(e){return e.type===Pn.OPT_ELEMENT}function N(e){return e.type===Pn.COMPONENT}function _(e){return e.type===Pn.TEXT}function C(e){return e.type===Pn.FRAGMENT}function T(e){return e.type===Pn.PLACEHOLDER}function x(e){return!d(e.type)}function R(e){return e===On.UNKNOWN}function A(e){return e===On.KEYED}function L(e){return e===On.NON_KEYED}function w(e){return e===On.TEXT}function D(e){return e===On.NODE}function M(e,n,t,r,o){var i=e.bp,l=e.key,u=null===l?i.pools.nonKeyed:i.pools.keyed.get(l);if(!d(u)){var a=u.pop();if(!d(a))return Q(a,e,null,n,t,r,o),e.dom}return null}function S(e){var n=e.bp,t=e.key,r=n.pools;if(c(t))r.nonKeyed.push(e);else{var o=r.keyed.get(t);d(o)&&(o=[],r.keyed.set(t,o)),o.push(e)}}function I(e,n,t,r,o){var i=e.component,l=e.key,u=_n.get(i);if(!d(u)){var a=null===l?u.nonKeyed:u.keyed.get(l);if(!d(a)){var c=a.pop();if(!d(c)){var f=te(c,e,null,n,t,r,o);if(!f)return e.dom}}}return null}function U(e){var n=e.component,t=e.key,r=_n.get(n);if(d(r)&&(r={nonKeyed:[],keyed:new Map},_n.set(n,r)),c(t))r.nonKeyed.push(e);else{var o=r.keyed.get(t);d(o)&&(o=[],r.keyed.set(t,o)),o.push(e)}}function W(e,n,t,r,i){o(e)||(O(e)?H(e,n,t,r,i):N(e)?G(e,n,t,r,i):b(e)?Y(e,n,t,i):C(e)?F(e,n,!0,t,i):_(e)?K(e,n):T(e)&&V(e,n))}function V(e,n){n&&Te(n,e.dom)}function K(e,n){n&&Te(n,e.dom)}function H(e,n,t,r,o){var i=e.bp,l=i.v0;i.dom;if(!o&&!c(l)){j(e,l,e.v0,t);var u=i.v1;if(!c(u)){j(e,u,e.v1,t);var a=i.v2;c(a)||j(e,a,e.v2,t)}}c(n)||n.removeChild(e.dom),Nn&&(n||r)&&S(e)}function j(e,n,t,r){switch(n){case bn.CHILDREN:X(t,r);break;case bn.PROP_REF:z(t);break;case bn.PROP_SPREAD:B(t,r)}}function F(e,n,t,r,o){var i=e.children,l=i.length,u=e.pointer;if(!o&&l>0)for(var a=0;af?f:c,s=0;sf)for(s=d;sy||E>g)break e;P=e[k],b=n[E]}for(;O.key===N.key;){if($(O,N,t,r,o,i,u),y--,g--,k>y||E>g)break e;O=e[y],N=n[g]}if(O.key!==b.key){if(P.key!==N.key)break;if($(P,N,t,r,o,i,u),p=g+1,s=py||E>g)break;P=e[k],N=n[g]}else{if($(O,b,t,r,o,i,u),ke(t,b.dom,P.dom),y--,E++,k>y||E>g)break;O=e[y],b=n[E]}}if(k>y){if(E<=g)for(p=g+1,s=pg)for(;k<=y;)W(e[k++],t,r,!1,u);else{m=y-k+1,h=g-E+1;var T=e,x=new Array(h);for(a=0;af?R=!0:A=f,$(_,C,t,r,o,i,u),L++,T[a]=null;break}}else{var w=new Map;for(a=E;a<=g;a++)v=n[a],w.set(v.key,a);for(a=k;a<=y;a++)_=e[a],Lf?R=!0:A=f,$(_,C,t,r,o,i,u),L++,T[a]=null))}if(m===e.length&&0===L)for(Re(t,e,r);E0;)_=T[k++],c(_)||(W(_,t,r,!1,u),a--);if(R){var D=ae(x);for(f=D.length-1,a=h-1;a>=0;a--)x[a]===-1?(A=a+E,v=n[A],p=A+1,s=p=0;a--)x[a]===-1&&(A=a+E,v=n[A],p=A+1,s=p0&&(n[r]=t[i-1]),t[i]=r)}for(i=t.length,l=t[i-1];i-- >0;)t[i]=l,l=n[l];return t}function ce(e,n,t,o){if(Rn[e])o[e]=r(t)?"":t;else if(An[e])o[e]=!!t;else if(n!==t){if(r(t))return o.removeAttribute(e),!1;if("className"===e)return o.className=t,!1;if("style"===e)de(n,t,o);else{if("defaultChecked"===e)return c(n)&&o.addAttribute("checked"),!1;if("defaultValue"===e)return c(n)&&o.setAttribute("value",t),!1;if(l(e))o[e.toLowerCase()]=t;else if("dangerouslySetInnerHTML"===e){var i=n&&n.__html,u=t&&t.__html;r(u)&&p(),i!==u&&(o.innerHTML=u)}else if("childrenType"!==e&&"ref"!==e&&"key"!==e){var a=Ln[e];return a?o.setAttributeNS(a,e,t):o.setAttribute(e,t),!1}}}return!0}function fe(e,n,t,o){e=e||{},n=n||{};var i;for(var l in n){var u=n[l],a=e[l];"value"===l&&(i=u),r(u)?se(l,t):ce(l,a,u,t)}for(var c in e)r(n[c])&&se(c,t);return i}function de(e,n,t){if(u(n))t.style.cssText=n;else if(r(e)){if(!r(n))for(var o=Object.keys(n),i=0;i