!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.Hierarchy=n():t.Hierarchy=n()}("undefined"!=typeof self?self:this,function(){return function(t){function n(e){if(r[e])return r[e].exports;var i=r[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var r={};return n.m=t,n.c=r,n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:e})},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,"a",r),r},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=31)}([function(t,n,r){"use strict";var e=r(4);n.a=function(t){return Array.isArray?Array.isArray(t):Object(e.a)(t,"Array")}},function(t,n,r){"use strict";n.a=function(t){return null!==t&&"function"!=typeof t&&isFinite(t.length)}},function(t,n,r){"use strict";var e=r(0),i=r(13);n.a=function(t,n){if(t)if(Object(e.a)(t))for(var r=0,u=t.length;r-1}},function(t,n,r){"use strict";n.a=function(t){var n=typeof t;return null!==t&&"object"===n||"function"===n}},function(t,n,r){"use strict";var e=r(2),i=r(1);n.a=function(t,n){if(!Object(i.a)(t))return t;var r=[];return Object(e.a)(t,function(t,e){n(t,e)&&r.push(t)}),r}},function(t,n,r){"use strict";n.a=function(t){return"object"==typeof t&&null!==t}},function(t,n,r){"use strict";function e(t,n){for(var r in n)n.hasOwnProperty(r)&&"constructor"!==r&&void 0!==n[r]&&(t[r]=n[r])}n.a=function(t,n,r,i){return n&&e(t,n),r&&e(t,r),i&&e(t,i),t}},function(t,n,r){var e=r(30),i=["LR","RL","TB","BT","H","V"],u=["LR","RL","H"],a=i[0];t.exports=function(t,n,r){var o=n.direction||a;if(n.isHorizontal=function(t){return u.indexOf(t)>-1}(o),o&&-1===i.indexOf(o))throw new TypeError("Invalid direction: "+o);if(o===i[0])r(t,n);else if(o===i[1])r(t,n),t.right2left();else if(o===i[2])r(t,n);else if(o===i[3])r(t,n),t.bottom2top();else if(o===i[4]||o===i[5]){var c=e(t,n),f=c.left,s=c.right;r(f,n),r(s,n),n.isHorizontal?f.right2left():f.bottom2top(),s.translate(f.x-s.x,f.y-s.y),t.x=f.x,t.y=s.y;var v=t.getBoundingBox();n.isHorizontal?v.top<0&&t.translate(0,-v.top):v.left<0&&t.translate(-v.left,0)}var l=n.fixedRoot;return void 0===l&&(l=!0),l&&t.translate(-(t.x+t.width/2+t.hgap),-(t.y+t.height/2+t.vgap)),t}},function(t,n,r){function e(t,n){var r=this;if(r.vgap=r.hgap=0,t instanceof e)return t;r.data=t;var i=n.getHGap(t),u=n.getVGap(t);return r.preH=n.getPreH(t),r.preV=n.getPreV(t),r.width=n.getWidth(t),r.height=n.getHeight(t),r.width+=r.preH,r.height+=r.preV,r.id=n.getId(t),r.x=r.y=0,r.depth=0,r.children||(r.children=[]),r.addGap(i,u),r}var i=r(7),u={getId:function(t){return t.id||t.name},getPreH:function(t){return t.preH||0},getPreV:function(t){return t.preV||0},getHGap:function(t){return t.hgap||18},getVGap:function(t){return t.vgap||18},getChildren:function(t){return t.children},getHeight:function(t){return t.height||36},getWidth:function(t){var n=t.label||" ";return t.width||18*n.split("").length}};i.assign(e.prototype,{isRoot:function(){return 0===this.depth},isLeaf:function(){return 0===this.children.length},addGap:function(t,n){this.hgap+=t,this.vgap+=n,this.width+=2*t,this.height+=2*n},eachNode:function(t){for(var n,r=[this];n=r.shift();)t(n),r=n.children.concat(r)},DFTraverse:function(t){this.eachNode(t)},BFTraverse:function(t){for(var n,r=[this];n=r.shift();)t(n),r=r.concat(n.children)},getBoundingBox:function(){var t={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(n){t.left=Math.min(t.left,n.x),t.top=Math.min(t.top,n.y),t.width=Math.max(t.width,n.x+n.width),t.height=Math.max(t.height,n.y+n.height)}),t},translate:function(t,n){void 0===t&&(t=0),void 0===n&&(n=0),this.eachNode(function(r){r.x+=t,r.y+=n,r.x+=r.preH,r.y+=r.preV})},right2left:function(){var t=this.getBoundingBox();this.eachNode(function(n){n.x=n.x-2*(n.x-t.left)-n.width}),this.translate(t.width,0)},bottom2top:function(){var t=this.getBoundingBox();this.eachNode(function(n){n.y=n.y-2*(n.y-t.top)-n.height}),this.translate(0,t.height)}}),t.exports=function(t,n,r){void 0===n&&(n={});var a,o=new e(t,n=i.assign({},u,n)),c=[o];if(!r&&!t.collapsed)for(;a=c.shift();)if(!a.data.collapsed){var f=n.getChildren(a.data),s=f?f.length:0;if(a.children=new Array(s),f&&s)for(var v=0;v-1;)i.call(t,o,1);return t}},function(t,n,r){"use strict";var e=r(2),i=r(0),u=r(9);n.a=function(t,n,r){if(!Object(i.a)(t)&&!Object(u.a)(t))return t;var a=r;return Object(e.a)(t,function(t,r){a=n(a,t,r)}),a}},function(t,n,r){"use strict";var e=r(1),i=r(21);n.a=function(t,n){var r=[];if(!Object(e.a)(t))return r;for(var u=-1,a=[],o=t.length;++un[e])return 1;if(t[e]r?r:t}},function(t,n,r){"use strict";n.a=function(t,n){var r=n.toString(),e=r.indexOf(".");if(-1===e)return Math.round(t);var i=r.substr(e+1).length;return i>20&&(i=20),parseFloat(t.toFixed(i))}},function(t,n,r){"use strict";var e=r(5);n.a=function(t){return Object(e.a)(t)&&t%1!=0}},function(t,n,r){"use strict";var e=r(5);n.a=function(t){return Object(e.a)(t)&&t%2==0}},function(t,n,r){"use strict";var e=r(5),i=Number.isInteger?Number.isInteger:function(t){return Object(e.a)(t)&&t%1==0};n.a=i},function(t,n,r){"use strict";var e=r(5);n.a=function(t){return Object(e.a)(t)&&t<0}},function(t,n,r){"use strict";n.a=function(t,n,r){return void 0===r&&(r=e),Math.abs(t-n)0}},function(t,n,r){"use strict";var e=r(2),i=r(0),u=r(3);n.a=function(t,n){if(Object(i.a)(t)){var r,a=t[0];r=Object(u.a)(n)?n(t[0]):t[0][n];var o;return Object(e.a)(t,function(t){(o=Object(u.a)(n)?n(t):t[n])>r&&(a=t,r=o)}),a}}},function(t,n,r){"use strict";var e=r(2),i=r(0),u=r(3);n.a=function(t,n){if(Object(i.a)(t)){var r,a=t[0];r=Object(u.a)(n)?n(t[0]):t[0][n];var o;return Object(e.a)(t,function(t){(o=Object(u.a)(n)?n(t):t[n])n?(e&&(clearTimeout(e),e=null),o=f,a=t.apply(i,u),e||(i=u=null)):e||!1===r.trailing||(e=setTimeout(c,s)),a};return f.cancel=function(){clearTimeout(e),o=0,e=i=u=null},f}},function(t,n,r){"use strict";var e=r(1);n.a=function(t){return Object(e.a)(t)?Array.prototype.slice.call(t):[]}},function(t,n,r){"use strict";var e={};n.a=function(t){return t=t||"g",e[t]?e[t]+=1:e[t]=1,t+e[t]}},function(t,n,r){"use strict";n.a=function(){}},function(t,n,r){"use strict";n.a=function(t){return t}},function(t,n,r){"use strict";n.a=function(t){return Object(e.a)(t)?0:Object(i.a)(t)?t.length:Object.keys(t).length};var e=r(6),i=r(1)},function(t,n,r){"use strict";var e=function(){function t(){this.map={}}return t.prototype.has=function(t){return void 0!==this.map[t]},t.prototype.get=function(t,n){var r=this.map[t];return void 0===r?n:r},t.prototype.set=function(t,n){this.map[t]=n},t.prototype.clear=function(){this.map={}},t.prototype.delete=function(t){delete this.map[t]},t.prototype.size=function(){return Object.keys(this.map).length},t}();n.a=e},function(t,n){function r(t,n,r,e){void 0===e&&(e=[]);var i=this;i.w=t||0,i.h=n||0,i.y=r||0,i.x=0,i.c=e||[],i.cs=e.length,i.prelim=0,i.mod=0,i.shift=0,i.change=0,i.tl=null,i.tr=null,i.el=null,i.er=null,i.msel=0,i.mser=0}function e(t,n,r){r?t.y+=n:t.x+=n,t.children.forEach(function(t){e(t,n,r)})}function i(t,n){var r=n?t.y:t.x;return t.children.forEach(function(t){r=Math.min(i(t,n),r)}),r}function u(t,n,r){r?n.y=t.x:n.x=t.x,t.c.forEach(function(t,e){u(t,n.children[e],r)})}function a(t,n,r){void 0===r&&(r=0),n?(t.x=r,r+=t.width):(t.y=r,r+=t.height),t.children.forEach(function(t){a(t,n,r)})}r.fromNode=function(t,n){if(!t)return null;var e=[];return t.children.forEach(function(t){e.push(r.fromNode(t,n))}),n?new r(t.height,t.width,t.x,e):new r(t.width,t.height,t.y,e)},t.exports=function(t,n){function o(t){if(0!==t.cs){o(t.c[0]);for(var n=v(f(t.c[0].el),0,null),r=1;rr.low&&(r=r.nxt);var o=i+e.prelim+e.w-(a+u.prelim);o>0&&(a+=o,function(t,n,r,e){t.c[n].mod+=e,t.c[n].msel+=e,t.c[n].mser+=e,function(t,n,r,e){if(r!==n-1){var i=n-r;t.c[r+1].shift+=e/i,t.c[n].shift-=e/i,t.c[n].change-=e-e/i}}(t,n,r,e)}(t,n,r.index,o));var c=f(e),s=f(u);c<=s&&null!==(e=function(t){return 0===t.cs?t.tr:t.c[t.cs-1]}(e))&&(i+=e.mod),c>=s&&null!==(u=function(t){return 0===t.cs?t.tl:t.c[0]}(u))&&(a+=u.mod)}!e&&u?function(t,n,r,e){var i=t.c[0].el;i.tl=r;var u=e-r.mod-t.c[0].msel;i.mod+=u,i.prelim-=u,t.c[0].el=t.c[n].el,t.c[0].msel=t.c[n].msel}(t,n,u,a):e&&!u&&function(t,n,r,e){var i=t.c[n].er;i.tr=r;var u=e-r.mod-t.c[n].mser;i.mod+=u,i.prelim-=u,t.c[n].er=t.c[n-1].er,t.c[n].mser=t.c[n-1].mser}(t,n,e,i)}(t,r,n),n=v(e,r,n)}!function(t){t.prelim=(t.c[0].prelim+t.c[0].mod+t.c[t.cs-1].mod+t.c[t.cs-1].prelim+t.c[t.cs-1].w)/2-t.w/2}(t),c(t)}else c(t)}function c(t){0===t.cs?(t.el=t,t.er=t,t.msel=t.mser=0):(t.el=t.c[0].el,t.msel=t.c[0].msel,t.er=t.c[t.cs-1].er,t.mser=t.c[t.cs-1].mser)}function f(t){return t.y+t.h}function s(t,n){n+=t.mod,t.x=t.prelim+n,function(t){for(var n=0,r=0,e=0;e=r.low;)r=r.nxt;return{low:t,index:n,nxt:r}}void 0===n&&(n={});var l=n.isHorizontal;a(t,l);var h=r.fromNode(t,l);return o(h),s(h,0),u(h,t,l),function(t,n){e(t,-i(t,n),n)}(t,l),t}},function(t,n,r){var e=r(11),i=r(115),u=r(17),a=r(7),o=function(t){function n(){return t.apply(this,arguments)||this}!function(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}(n,t);return n.prototype.execute=function(){return this.rootNode.width=0,u(this.rootNode,this.options,i)},n}(e),c={};t.exports=function(t,n){return n=a.assign({},c,n),new o(t,n).execute()}},function(t,n,r){function e(t,n,r){r?(n.x=t.x,n.y=t.y):(n.x=t.y,n.y=t.x),t.children.forEach(function(t,i){e(t,n.children[i],r)})}var i=r(7),u={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};t.exports=function(t,n){function r(t){if(!t)return null;t.width=0,t.depth&&t.depth>f&&(f=t.depth);var n=t.children,e=n.length,i=new function(t,n){void 0===t&&(t=0),void 0===n&&(n=[]);var r=this;r.x=r.y=0,r.leftChild=r.rightChild=null,r.height=0,r.children=n}(t.height,[]);return n.forEach(function(t,n){var u=r(t);i.children.push(u),0===n&&(i.leftChild=u),n===e-1&&(i.rightChild=u)}),i.originNode=t,i.isLeaf=t.isLeaf(),i}function a(t){if(t.isLeaf||0===t.children.length)t.drawingDepth=f;else{var n=t.children.map(function(t){return a(t)}),r=Math.min.apply(null,n);t.drawingDepth=r-1}return t.drawingDepth}function o(t){t.x=t.drawingDepth*n.rankSep,t.isLeaf?(t.y=0,c&&(t.y=c.y+c.height+n.nodeSep,t.originNode.parent!==c.originNode.parent&&(t.y+=n.subTreeSep)),c=t):(t.children.forEach(function(t){o(t)}),t.y=(t.leftChild.y+t.rightChild.y)/2)}void 0===n&&(n={}),n=i.assign({},u,n);var c,f=0,s=r(t);return a(s),o(s),e(s,t,n.isHorizontal),t}},function(t,n,r){var e=r(11),i=r(117),u=r(30),a=r(7),o=["LR","RL","H"],c=o[0],f=function(t){function n(){return t.apply(this,arguments)||this}!function(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}(n,t);return n.prototype.execute=function(){var t=this.options,n=this.rootNode;t.isHorizontal=!0;var r=t.indent,e=void 0===r?20:r,a=t.dropCap,f=void 0===a||a,s=t.direction||c;if(s&&-1===o.indexOf(s))throw new TypeError("Invalid direction: "+s);if(s===o[0])i(n,e,f);else if(s===o[1])i(n,e,f),n.right2left();else if(s===o[2]){var v=u(n,t),l=v.left,h=v.right;i(l,e,f),l.right2left(),i(h,e,f);var d=l.getBoundingBox();h.translate(d.width,0),n.x=h.x-n.width/2}return n},n}(e),s={};t.exports=function(t,n){return n=a.assign({},s,n),new f(t,n).execute()}},function(t,n){t.exports=function(t,n,r){var e=null;t.eachNode(function(t){!function(t,n,r,e){var i="function"==typeof r?r(t):r*t.depth;if(!e)try{if(t.id===t.parent.children[0].id)return t.x+=i,void(t.y=n?n.y:0)}catch(t){}t.x+=i,t.y=n?n.y+n.height:0}(t,e,n,r),e=t})}},function(t,n,r){var e=r(11),i=r(119),u=r(17),a=r(7),o=function(t){function n(){return t.apply(this,arguments)||this}!function(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}(n,t);return n.prototype.execute=function(){return u(this.rootNode,this.options,i)},n}(e),c={};t.exports=function(t,n){return n=a.assign({},c,n),new o(t,n).execute()}},function(t,n,r){function e(t,n){var r=0;return t.children.length?t.children.forEach(function(t){r+=e(t,n)}):r=t.height,t._subTreeSep=n.getSubTreeSep(t.data),t.totalHeight=Math.max(t.height,r)+2*t._subTreeSep,t.totalHeight}function i(t){var n=t.children,r=n.length;if(r){n.forEach(function(t){i(t)});var e=n[0],u=n[r-1],a=u.y-e.y+u.height,o=0;if(n.forEach(function(t){o+=t.totalHeight}),a>t.height)t.y=e.y+a/2-t.height/2;else if(1!==n.length||t.height>o){var c=t.y+(t.height-a)/2-e.y;n.forEach(function(t){t.translate(0,c)})}else t.y=(e.y+e.height/2+u.y+u.height/2)/2-t.height/2}}var u=r(7),a={getSubTreeSep:function(){return 0}};t.exports=function(t,n){void 0===n&&(n={}),n=u.assign({},a,n),t.parent={x:0,width:0,height:0,y:0},t.BFTraverse(function(t){t.x=t.parent.x+t.parent.width}),t.parent=null,e(t,n),t.startY=0,t.y=t.totalHeight/2-t.height/2,t.eachNode(function(t){var n=t.children,r=n.length;if(r){var e=n[0];if(e.startY=t.startY+t._subTreeSep,1===r)e.y=t.y+t.height/2-e.height/2;else{e.y=e.startY+e.totalHeight/2-e.height/2;for(var i=1;i