var e; (e = "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; }), (function (t) { "object" == ("undefined" == typeof exports ? "undefined" : e(exports)) && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define([], t) : (("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this ).html2json = t()); })(function () { function e(e) { for (var t = {}, n = e.split(","), r = 0; r < n.length; r++) t[n[r]] = !0; return t; } var t = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/, n = /^<\/([-A-Za-z0-9_]+)[^>]*>/, r = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g, o = e( "area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr" ), a = e( "a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video" ), i = e( "abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var" ), s = e("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"), l = e( "checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected" ), d = e("script,style"), c = function (e, c) { function f(e, t) { if (t) for (n = m.length - 1; n >= 0 && m[n] != t; n--); else var n = 0; if (n >= 0) { for (var r = m.length - 1; r >= n; r--) c.end && c.end(m[r]); m.length = n; } } var u, h, p, m = [], b = e; for ( m.last = function () { return this[this.length - 1]; }; e; ) { if (((h = !0), m.last() && d[m.last()])) (e = e.replace( new RegExp("([\\s\\S]*?)]*>"), function (e, t) { return ( (t = t.replace( /|/g, "$1$2" )), c.chars && c.chars(t), "" ); } )), f(0, m.last()); else if ( (0 == e.indexOf("\x3c!--") ? (u = e.indexOf("--\x3e")) >= 0 && (c.comment && c.comment(e.substring(4, u)), (e = e.substring(u + 3)), (h = !1)) : 0 == e.indexOf("\n/, "") .replace(/\n/, "") .replace(/\n/, ""); })(e); var t = [], n = { node: "root", child: [] }; return ( c(e, { start: function (e, r, o) { var a = { node: "element", tag: e }; if ( (0 !== r.length && (a.attr = r.reduce(function (e, t) { var n = t.name, r = t.value; return ( e[n] ? Array.isArray(e[n]) ? e[n].push(r) : (e[n] = [e[n], r]) : (e[n] = r), e ); }, {})), o) ) { var i = t[0] || n; void 0 === i.child && (i.child = []), i.child.push(a); } else t.unshift(a); }, end: function (e) { var r = t.shift(); if ( (r.tag !== e && console.error("invalid state: mismatch end tag"), 0 === t.length) ) n.child.push(r); else { var o = t[0]; void 0 === o.child && (o.child = []), o.child.push(r); } }, chars: function (e) { var r = { node: "text", text: e }; if (0 === t.length) n.child.push(r); else { var o = t[0]; void 0 === o.child && (o.child = []), o.child.push(r); } }, comment: function (e) { var n = { node: "comment", text: e }, r = t[0]; void 0 === r.child && (r.child = []), r.child.push(n); }, }), n ); }; });