From 27f978aaa0732eea649b4e567dcab16a59b7af90 Mon Sep 17 00:00:00 2001 From: Abidit Shrestha Date: Wed, 11 Jun 2025 16:25:04 +0545 Subject: [PATCH 1/4] Add prop custom element to leaderline. --- src/leader-line.js | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/src/leader-line.js b/src/leader-line.js index 2236f75..e6fe942 100644 --- a/src/leader-line.js +++ b/src/leader-line.js @@ -1110,9 +1110,14 @@ svg.style.visibility = 'hidden'; } - baseDocument.body.appendChild(svg); + var elementFromParent = props.options.customElement; - // label (after appendChild(svg), bBox is used) + if(elementFromParent !== null) { + elementFromParent.appendChild(svg) + } else { + baseDocument.body.appendChild(svg); + } + [0, 1, 2].forEach(function(i) { var label = props.options.labelSEM[i], attachProps; if (label && isAttachment(label, 'label')) { @@ -2500,7 +2505,8 @@ plugOutlineEnabledSE startPlugOutline, endPlugOutline plugOutlineColorSE startPlugOutlineColor, endPlugOutlineColor plugOutlineSizeSE startPlugOutlineSize, endPlugOutlineSize - labelSEM startLabel, endLabel, middleLabel + labelSEM startLabel, endLabel, middleLabelanchorSE + 'customElement' string */ var options = props.options, newWindow, needsWindow, needs = {}; @@ -2680,6 +2686,18 @@ function(value) { return value >= 1; }) || needs.plugOutline; }); + // CustomElement (HTMLElement) + needs.custom = setValidType( + options, // target object where we store + newOptions, // input options + 'customElement', // property name in newOptions + 'string', // expected JS type + null, // internal option name (null means same as propName) + null, // index (not needed) + null, // default value (no default) + function(value) { return value instanceof HTMLElement; } // extra validation + ) || needs.custom; + // label ['startLabel', 'endLabel', 'middleLabel'].forEach(function(optionName, i) { var newOption = newOptions[optionName], @@ -3349,11 +3367,11 @@ * @param {Element} [end] - Alternative to `options.end`. * @param {Object} [options] - Initial options. */ - function LeaderLine(start, end, options) { + function LeaderLine(start, end, customElement, options) { var props = { // Initialize properties as array. options: {anchorSE: [], socketSE: [], socketGravitySE: [], plugSE: [], plugColorSE: [], plugSizeSE: [], - plugOutlineEnabledSE: [], plugOutlineColorSE: [], plugOutlineSizeSE: [], labelSEM: ['', '', '']}, + plugOutlineEnabledSE: [], plugOutlineColorSE: [], plugOutlineSizeSE: [], labelSEM: ['', '', ''], customElement: null}, optionIsAttach: {anchorSE: [false, false], labelSEM: [false, false, false]}, curStats: {}, aplStats: {}, attachments: [], events: {}, reflowTargets: [] }; @@ -3385,8 +3403,14 @@ if (start) { options.start = start; } if (end) { options.end = end; } } + + if(customElement !== null) { + options = copyTree(options); + options.customElement = customElement; + } props.isShown = props.aplStats.show_on = !options.hide; // isShown is applied in setOptions -> bindWindow this.setOptions(options); + } (function() { @@ -3432,7 +3456,7 @@ get: function() { var value = // Don't use closure. i != null ? insProps[this._id].options[optionName][i] : - optionName ? insProps[this._id].options[optionName] : + optionName ? insProps[this._id].options[optionName] : insProps[this._id].options[propName], key; return !value ? KEYWORD_AUTO : @@ -3773,7 +3797,9 @@ attachProps.path.style.fill = attachProps.fill || 'none'; attachProps.isShown = false; svg.style.visibility = 'hidden'; + baseDocument.body.appendChild(svg); + setupWindow((window = baseDocument.defaultView)); attachProps.bodyOffset = getBodyOffset(window); // Get `bodyOffset` From edc560ad2669f117b7b2ebacc20dc9025b313b45 Mon Sep 17 00:00:00 2001 From: Abidit Shrestha Date: Thu, 12 Jun 2025 11:10:13 +0545 Subject: [PATCH 2/4] Add prop customElement Id to draw leaderline in it. --- src/leader-line.js | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/src/leader-line.js b/src/leader-line.js index e6fe942..15644b3 100644 --- a/src/leader-line.js +++ b/src/leader-line.js @@ -1109,10 +1109,9 @@ } else if (!props.isShown) { svg.style.visibility = 'hidden'; } - - var elementFromParent = props.options.customElement; - - if(elementFromParent !== null) { + + if(props.options.customElement.length > 0) { + var elementFromParent = document.getElementById(props.options.customElement); elementFromParent.appendChild(svg) } else { baseDocument.body.appendChild(svg); @@ -2506,7 +2505,6 @@ plugOutlineColorSE startPlugOutlineColor, endPlugOutlineColor plugOutlineSizeSE startPlugOutlineSize, endPlugOutlineSize labelSEM startLabel, endLabel, middleLabelanchorSE - 'customElement' string */ var options = props.options, newWindow, needsWindow, needs = {}; @@ -2686,17 +2684,6 @@ function(value) { return value >= 1; }) || needs.plugOutline; }); - // CustomElement (HTMLElement) - needs.custom = setValidType( - options, // target object where we store - newOptions, // input options - 'customElement', // property name in newOptions - 'string', // expected JS type - null, // internal option name (null means same as propName) - null, // index (not needed) - null, // default value (no default) - function(value) { return value instanceof HTMLElement; } // extra validation - ) || needs.custom; // label ['startLabel', 'endLabel', 'middleLabel'].forEach(function(optionName, i) { @@ -3368,10 +3355,14 @@ * @param {Object} [options] - Initial options. */ function LeaderLine(start, end, customElement, options) { +let leaderLineParentDivId = ''; + if(customElement !== undefined) { + leaderLineParentDivId = customElement; + } var props = { // Initialize properties as array. options: {anchorSE: [], socketSE: [], socketGravitySE: [], plugSE: [], plugColorSE: [], plugSizeSE: [], - plugOutlineEnabledSE: [], plugOutlineColorSE: [], plugOutlineSizeSE: [], labelSEM: ['', '', ''], customElement: null}, + plugOutlineEnabledSE: [], plugOutlineColorSE: [], plugOutlineSizeSE: [], labelSEM: ['', '', ''], customElement: leaderLineParentDivId}, optionIsAttach: {anchorSE: [false, false], labelSEM: [false, false, false]}, curStats: {}, aplStats: {}, attachments: [], events: {}, reflowTargets: [] }; @@ -3404,10 +3395,6 @@ if (end) { options.end = end; } } - if(customElement !== null) { - options = copyTree(options); - options.customElement = customElement; - } props.isShown = props.aplStats.show_on = !options.hide; // isShown is applied in setOptions -> bindWindow this.setOptions(options); From 01a627e0dadf7e0dd98fbefcd99eadbc4637307a Mon Sep 17 00:00:00 2001 From: Abidit Shrestha Date: Thu, 12 Jun 2025 11:32:35 +0545 Subject: [PATCH 3/4] Add custom element id as prop for leaderline svg. --- .nvmrc | 1 + index.html | 23 + index.js | 5 + leader-line | 1 + leader-line.min.js | 4 +- package-lock.json | 1299 +++++++++++++++++++++++++++++--------------- package.json | 139 ++++- style.css | 38 ++ 8 files changed, 1054 insertions(+), 456 deletions(-) create mode 100644 .nvmrc create mode 100644 index.html create mode 100644 index.js create mode 160000 leader-line create mode 100644 style.css diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..aefc20c --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +20.* \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..f336a16 --- /dev/null +++ b/index.html @@ -0,0 +1,23 @@ + + + + + + Document + + + +
+

212

+

212

+
+
+
+
+
+
+ + + + + diff --git a/index.js b/index.js new file mode 100644 index 0000000..c8fd916 --- /dev/null +++ b/index.js @@ -0,0 +1,5 @@ +var line1 = new LeaderLine( + document.getElementById("terminal-1"), + document.getElementById("terminal-2"), + "line-wrapper" +); diff --git a/leader-line b/leader-line new file mode 160000 index 0000000..ac9a8db --- /dev/null +++ b/leader-line @@ -0,0 +1 @@ +Subproject commit ac9a8db947ae3edc644807e27e3a4266f9e7dc19 diff --git a/leader-line.min.js b/leader-line.min.js index b504625..70fad92 100644 --- a/leader-line.min.js +++ b/leader-line.min.js @@ -1,2 +1,2 @@ -/*! LeaderLine v1.0.8 (c) programiz https://github.com/programiz/leader-line/ */ -var LeaderLine=function(){"use strict";var Z,w,O,M,I,o,t,s,h,u,n,a,e,_,v,l,r,i,E,x,p,c,d,C="leader-line",b=1,k=2,L=3,A=4,V={top:b,right:k,bottom:L,left:A},P=1,N=2,T=3,W=4,B=5,R={straight:P,arc:N,fluid:T,magnet:W,grid:B},Y="behind",f=C+"-defs",y='',X={disc:{elmId:"leader-line-disc",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},square:{elmId:"leader-line-square",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},arrow1:{elmId:"leader-line-arrow1",bBox:{left:-8,top:-8,width:16,height:16,right:8,bottom:8},widthR:4,heightR:4,bCircle:8,sideLen:8,backLen:8,overhead:8,outlineBase:2,outlineMax:1.5},arrow2:{elmId:"leader-line-arrow2",bBox:{left:-7,top:-8,width:11,height:16,right:4,bottom:8},widthR:2.75,heightR:4,bCircle:8,sideLen:8,backLen:7,overhead:4,outlineBase:1,outlineMax:1.75},arrow3:{elmId:"leader-line-arrow3",bBox:{left:-4,top:-5,width:12,height:10,right:8,bottom:5},widthR:3,heightR:2.5,bCircle:8,sideLen:5,backLen:4,overhead:8,outlineBase:1,outlineMax:2.5},hand:{elmId:"leader-line-hand",bBox:{left:-3,top:-12,width:40,height:24,right:37,bottom:12},widthR:10,heightR:6,bCircle:37,sideLen:12,backLen:3,overhead:37},crosshair:{elmId:"leader-line-crosshair",noRotate:!0,bBox:{left:-96,top:-96,width:192,height:192,right:96,bottom:96},widthR:48,heightR:48,bCircle:96,sideLen:96,backLen:96,overhead:0}},F={behind:Y,disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},q={disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},G=[b,k,L,A],D="auto",Q={x:"left",y:"top",width:"width",height:"height"},z=80,j=4,H=5,U=120,K=8,J=3.75,$=10,ee=30,te=.5522847,ne=.25*Math.PI,m=/^\s*(\-?[\d\.]+)\s*(\%)?\s*$/,ae="http://www.w3.org/2000/svg",S="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style&&!window.navigator.msPointerEnabled,ie=!S&&!!document.uniqueID,oe="MozAppearance"in document.documentElement.style,le=!(S||oe||!window.chrome||!window.CSS),re=!S&&!ie&&!oe&&!le&&!window.chrome&&"WebkitAppearance"in document.documentElement.style,se=ie||S?.2:.1,ue={path:T,lineColor:"coral",lineSize:4,plugSE:[Y,"arrow1"],plugSizeSE:[1,1],lineOutlineEnabled:!1,lineOutlineColor:"indianred",lineOutlineSize:.25,plugOutlineEnabledSE:[!1,!1],plugOutlineSizeSE:[1,1]},he=(p={}.toString,c={}.hasOwnProperty.toString,d=c.call(Object),function(e){return e&&"[object Object]"===p.call(e)&&(!(e=Object.getPrototypeOf(e))||(e=e.hasOwnProperty("constructor")&&e.constructor)&&"function"==typeof e&&c.call(e)===d)}),pe=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},g=(_={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},v=1e3/60/2,l=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,v)},r=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)},i=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},E=[],x=0,{add:function(n,e,t,a,i,o,l){var r,s,u,h,p,c,d,f,y,m,S=++x;function g(e,t){return{value:n(t),timeRatio:e,outputRatio:t}}if("string"==typeof i&&(i=_[i]),n=n||function(){},t=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex)return null;var e=null,t=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===t)e=0;else{if("1"!==t)return null;e=1}return this._skipOptionalSpacesOrDelimiter(),e}};function n(e){if(!e||0===e.length)return[];var t=new i(e),n=[];if(t.initialCommandIsMoveTo())for(;t.hasMoreData();){var a=t.parseSegment();if(null===a)break;n.push(a)}return n}function l(e){return e.map(function(e){return{type:e.type,values:Array.prototype.slice.call(e.values)}})}function r(e){var u=[],h=null,p=null,c=null,d=null,f=null,y=null,m=null;return e.forEach(function(e){var t,n,a,i,o,l,r,s;"M"===e.type?(r=e.values[0],s=e.values[1],u.push({type:"M",values:[r,s]}),d=y=r,f=m=s):"C"===e.type?(o=e.values[0],l=e.values[1],t=e.values[2],n=e.values[3],r=e.values[4],s=e.values[5],u.push({type:"C",values:[o,l,t,n,r,s]}),p=t,c=n,d=r,f=s):"L"===e.type?(r=e.values[0],s=e.values[1],u.push({type:"L",values:[r,s]}),d=r,f=s):"H"===e.type?(r=e.values[0],u.push({type:"L",values:[r,f]}),d=r):"V"===e.type?(s=e.values[0],u.push({type:"L",values:[d,s]}),f=s):"S"===e.type?(t=e.values[0],n=e.values[1],r=e.values[2],s=e.values[3],i="C"===h||"S"===h?(a=d+(d-p),f+(f-c)):(a=d,f),u.push({type:"C",values:[a,i,t,n,r,s]}),p=t,c=n,d=r,f=s):"T"===e.type?(r=e.values[0],s=e.values[1],l="Q"===h||"T"===h?(o=d+(d-p),f+(f-c)):(o=d,f),u.push({type:"C",values:[a=d+2*(o-d)/3,i=f+2*(l-f)/3,r+2*(o-r)/3,s+2*(l-s)/3,r,s]}),p=o,c=l,d=r,f=s):"Q"===e.type?(o=e.values[0],l=e.values[1],r=e.values[2],s=e.values[3],u.push({type:"C",values:[a=d+2*(o-d)/3,i=f+2*(l-f)/3,r+2*(o-r)/3,s+2*(l-s)/3,r,s]}),p=o,c=l,d=r,f=s):"A"===e.type?(n=e.values[0],a=e.values[1],i=e.values[2],o=e.values[3],l=e.values[4],r=e.values[5],s=e.values[6],0===n||0===a?(u.push({type:"C",values:[d,f,r,s,r,s]}),d=r,f=s):d===r&&f===s||b(d,f,r,s,n,a,i,o,l).forEach(function(e){u.push({type:"C",values:e}),d=r,f=s})):"Z"===e.type&&(u.push(e),d=y,f=m),h=e.type}),u}var s=e.SVGPathElement.prototype.setAttribute,u=e.SVGPathElement.prototype.removeAttribute,d=e.Symbol?e.Symbol():"__cachedPathData",f=e.Symbol?e.Symbol():"__cachedNormalizedPathData",b=function(e,t,n,a,i,o,l,r,s,u){function h(e,t,n){return{x:e*Math.cos(n)-t*Math.sin(n),y:e*Math.sin(n)+t*Math.cos(n)}}var p=Math.PI*l/180,c=[];u?(_=u[0],v=u[1],S=u[2],g=u[3]):(e=(m=h(e,t,-p)).x,t=m.y,1<(m=(y=(e-(n=(f=h(n,a,-p)).x))/2)*y/(i*i)+(d=(t-(a=f.y))/2)*d/(o*o))&&(i*=m=Math.sqrt(m),o*=m),f=i*i,m=o*o,S=(f=(r===s?-1:1)*Math.sqrt(Math.abs((f*m-f*d*d-m*y*y)/(f*d*d+m*y*y))))*i*d/o+(e+n)/2,g=f*-o*y/i+(t+a)/2,_=Math.asin(parseFloat(((t-g)/o).toFixed(9))),v=Math.asin(parseFloat(((a-g)/o).toFixed(9))),e120*Math.PI/180&&(d=v,f=n,y=a,v=s&&_=e.duration&&e.count&&e.loopsLeft<=1)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);if(t>e.duration){if(n=Math.floor(t/e.duration),e.count){if(n>=e.loopsLeft)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);e.loopsLeft-=n}e.framesStart+=e.duration*n,t=i-e.framesStart}e.reverse&&(t=e.duration-t),a=e.frames[e.lastFrame=Math.round(t/v)],!1!==e.frameCallback(a.value,!1,a.timeRatio,a.outputRatio)?o=!0:e.framesStart=null}}),o&&(e=l.call(window,xe))}function be(e,t){e.framesStart=Date.now(),null!=t&&(e.framesStart-=e.duration*(e.reverse?1-t:t)),e.loopsLeft=e.count,e.lastFrame=null,xe()}function ke(t,n){var e,a;return typeof t!=typeof n||(e=he(t)?"obj":Array.isArray(t)?"array":"")!=(he(n)?"obj":Array.isArray(n)?"array":"")||("obj"===e?ke(a=Object.keys(t).sort(),Object.keys(n).sort())||a.some(function(e){return ke(t[e],n[e])}):"array"===e?t.length!==n.length||t.some(function(e,t){return ke(e,n[t])}):t!==n)}function we(n){return n&&(he(n)?Object.keys(n).reduce(function(e,t){return e[t]=we(n[t]),e},{}):Array.isArray(n)?n.map(we):n)}function Oe(e){var t,n,a,i=1,o=e=(e+"").trim();function l(e){var t=1,e=m.exec(e);return e&&(t=parseFloat(e[1]),e[2]?t=0<=t&&t<=100?t/100:1:(t<0||1=Math.abs(n)?0<=t?k:A:0<=n?L:b))})),f.position_path!==y.position_path||f.position_lineStrokeWidth!==y.position_lineStrokeWidth||[0,1].some(function(e){return f.position_plugOverheadSE[e]!==y.position_plugOverheadSE[e]||(t=v[e],n=y.position_socketXYSE[e],t.x!==n.x||t.y!==n.y||t.socketId!==n.socketId)||(t=g[e],n=y.position_socketGravitySE[e],(e=null==t?"auto":Array.isArray(t)?"array":"number")!=(null==n?"auto":Array.isArray(n)?"array":"number")||("array"==e?t[0]!==n[0]||t[1]!==n[1]:t!==n));var t,n})){switch(l.pathList.baseVal=_=[],l.pathList.animVal=null,f.position_path){case P:_.push([E(v[0]),E(v[1])]);break;case N:t="number"==typeof g[0]&&0j?(f.position_lineStrokeWidth-j)*H:0),e.socketId===b?{x:0,y:-(i=(i=(e.y-n.y)/2)=t.x:t.dirId===r?e.y>=t.y:e.x<=t.x}function f(e,t){return t.dirId===i||t.dirId===r?e.x===t.x:e.y===t.y}function y(e){return e[0]?{contain:0,notContain:1}:{contain:1,notContain:0}}function m(e,t,n){return Math.abs(t[n]-e[n])}function S(e,t,n){return"x"===n?e.x=ee?S(u[t.notContain],u[t.contain],o[t.contain]):u[t.contain].dirId)):(i=[{x:u[0].x,y:u[0].y},{x:u[1].x,y:u[1].y}],s.forEach(function(e,t){var n=0===t?1:0,a=m(i[t],i[n],o[t]);a$&&(d[a]-e<$&&(e=d[a]-$),s=Ve(n[0],n[1],(p?e:d[a]-e)/d[a]),_[a]=p?[s,n[1]]:[n[0],s],d[a]-=e)):(d[a]=d[a]||Te.apply(null,n),d[a]>$&&(d[a]-e<$&&(e=d[a]-$),s=Ne(n[0],n[1],n[2],n[3],We(n[0],n[1],n[2],n[3],p?e:d[a]-e)),o=p?(i=n[0],s.toP1):(i=n[3],s.fromP2),l=Math.atan2(i.y-s.y,s.x-i.x),r=Ae(s,o),s.x=i.x+Math.cos(l)*e,s.y=i.y+Math.sin(l)*e*-1,o.x=s.x+Math.cos(l)*r,o.y=s.y+Math.sin(l)*r*-1,_[a]=p?[s,s.toP1,s.toP2,n[3]]:[n[0],s.fromP1,s.fromP2,s],d[a]=null)):e<0&&(n=_[a=p?0:_.length-1],s=v[t].socketId,t=-c[t]["x"==(u=s===A||s===k?"x":"y")?"width":"height"],h=(e=en.outlineMax&&(t=n.outlineMax),t*=2*n.outlineBase,y=Xe(r,u.plugOutline_strokeWidthSE,e,t)||y,y=Xe(r,u.plugOutline_inStrokeWidthSE,e,u.plugOutline_colorTraSE[e]?t-se/(u.line_strokeWidth/ue.lineSize)/s.plugSizeSE[e]*2:t/2)||y)}),y)),(t.faces||U.line||U.plug||U.lineOutline||U.plugOutline)&&(U.faces=(g=(m=e).curStats,_=m.aplStats,v=m.events,E=!1,!g.line_altColor&&Xe(m,_,"line_color",S=g.line_color,v.apl_line_color)&&(m.lineFace.style.stroke=S,E=!0),Xe(m,_,"line_strokeWidth",S=g.line_strokeWidth,v.apl_line_strokeWidth)&&(m.lineShape.style.strokeWidth=S+"px",E=!0,(oe||ie)&&(je(m,m.lineShape),ie&&(je(m,m.lineFace),je(m,m.lineMaskCaps)))),Xe(m,_,"lineOutline_enabled",S=g.lineOutline_enabled,v.apl_lineOutline_enabled)&&(m.lineOutlineFace.style.display=S?"inline":"none",E=!0),g.lineOutline_enabled&&(Xe(m,_,"lineOutline_color",S=g.lineOutline_color,v.apl_lineOutline_color)&&(m.lineOutlineFace.style.stroke=S,E=!0),Xe(m,_,"lineOutline_strokeWidth",S=g.lineOutline_strokeWidth,v.apl_lineOutline_strokeWidth)&&(m.lineOutlineMaskShape.style.strokeWidth=S+"px",E=!0,ie&&(je(m,m.lineOutlineMaskCaps),je(m,m.lineOutlineFace))),Xe(m,_,"lineOutline_inStrokeWidth",S=g.lineOutline_inStrokeWidth,v.apl_lineOutline_inStrokeWidth)&&(m.lineMaskShape.style.strokeWidth=S+"px",E=!0,ie&&(je(m,m.lineOutlineMaskCaps),je(m,m.lineOutlineFace)))),Xe(m,_,"plug_enabled",S=g.plug_enabled,v.apl_plug_enabled)&&(m.plugsFace.style.display=S?"inline":"none",E=!0),g.plug_enabled&&[0,1].forEach(function(n){var e=g.plug_plugSE[n],t=e!==Y?X[q[e]]:null,a=Ze(n,t);Xe(m,_.plug_enabledSE,n,S=g.plug_enabledSE[n],v.apl_plug_enabledSE)&&(m.plugsFace.style[a.prop]=S?"url(#"+m.plugMarkerIdSE[n]+")":"none",E=!0),g.plug_enabledSE[n]&&(Xe(m,_.plug_plugSE,n,e,v.apl_plug_plugSE)&&(m.plugFaceSE[n].href.baseVal="#"+t.elmId,Ue(m,m.plugMarkerSE[n],a.orient,t.bBox,m.svg,m.plugMarkerShapeSE[n],m.plugsFace),E=!0,oe&&je(m,m.plugsFace)),Xe(m,_.plug_colorSE,n,S=g.plug_colorSE[n],v.apl_plug_colorSE)&&(m.plugFaceSE[n].style.fill=S,E=!0,(le||re||ie)&&!g.line_colorTra&&je(m,ie?m.lineMaskCaps:m.capsMaskLine)),["markerWidth","markerHeight"].forEach(function(e){var t="plug_"+e+"SE";Xe(m,_[t],n,S=g[t][n],v["apl_"+t])&&(m.plugMarkerSE[n][e].baseVal.value=S,E=!0)}),Xe(m,_.plugOutline_enabledSE,n,S=g.plugOutline_enabledSE[n],v.apl_plugOutline_enabledSE)&&(S?(m.plugFaceSE[n].style.mask="url(#"+m.plugMaskIdSE[n]+")",m.plugOutlineFaceSE[n].style.display="inline"):(m.plugFaceSE[n].style.mask="none",m.plugOutlineFaceSE[n].style.display="none"),E=!0),g.plugOutline_enabledSE[n]&&(Xe(m,_.plugOutline_plugSE,n,e,v.apl_plugOutline_plugSE)&&(m.plugOutlineFaceSE[n].href.baseVal=m.plugMaskShapeSE[n].href.baseVal=m.plugOutlineMaskShapeSE[n].href.baseVal="#"+t.elmId,[m.plugMaskSE[n],m.plugOutlineMaskSE[n]].forEach(function(e){e.x.baseVal.value=t.bBox.left,e.y.baseVal.value=t.bBox.top,e.width.baseVal.value=t.bBox.width,e.height.baseVal.value=t.bBox.height}),E=!0),Xe(m,_.plugOutline_colorSE,n,S=g.plugOutline_colorSE[n],v.apl_plugOutline_colorSE)&&(m.plugOutlineFaceSE[n].style.fill=S,E=!0,ie&&(je(m,m.lineMaskCaps),je(m,m.lineOutlineMaskCaps))),Xe(m,_.plugOutline_strokeWidthSE,n,S=g.plugOutline_strokeWidthSE[n],v.apl_plugOutline_strokeWidthSE)&&(m.plugOutlineMaskShapeSE[n].style.strokeWidth=S+"px",E=!0),Xe(m,_.plugOutline_inStrokeWidthSE,n,S=g.plugOutline_inStrokeWidthSE[n],v.apl_plugOutline_inStrokeWidthSE)&&(m.plugMaskShapeSE[n].style.strokeWidth=S+"px",E=!0)))}),E)),(t.position||U.line||U.plug)&&(U.position=Ke(e)),(t.path||U.position)&&(U.path=(k=(x=e).curStats,I=x.aplStats,M=x.pathList.animVal||x.pathList.baseVal,w=k.path_edge,C=!1,M&&(w.x1=w.x2=M[0][0].x,w.y1=w.y2=M[0][0].y,k.path_pathData=b=Be(M,function(e){e.xw.x2&&(w.x2=e.x),e.y>w.y2&&(w.y2=e.y)}),Fe(b,I.path_pathData)&&(x.linePath.setPathData(b),I.path_pathData=b,C=!0,ie?(je(x,x.plugsFace),je(x,x.lineMaskCaps)):oe&&je(x,x.linePath),x.events.apl_path&&x.events.apl_path.forEach(function(e){e(x,b)}))),C)),U.viewBox=(M=(O=e).curStats,I=O.aplStats,C=M.path_edge,L=M.viewBox_bBox,A=I.viewBox_bBox,V=O.svg.viewBox.baseVal,P=O.svg.style,N=!1,I=Math.max(M.line_strokeWidth/2,M.viewBox_plugBCircleSE[0]||0,M.viewBox_plugBCircleSE[1]||0),T={x1:C.x1-I,y1:C.y1-I,x2:C.x2+I,y2:C.y2+I},O.events.new_edge4viewBox&&O.events.new_edge4viewBox.forEach(function(e){e(O,T)}),L.x=M.lineMask_x=M.lineOutlineMask_x=M.maskBGRect_x=T.x1,L.y=M.lineMask_y=M.lineOutlineMask_y=M.maskBGRect_y=T.y1,L.width=T.x2-T.x1,L.height=T.y2-T.y1,["x","y","width","height"].forEach(function(e){var t;(t=L[e])!==A[e]&&(V[e]=A[e]=t,P[Q[e]]=t+("x"===e||"y"===e?O.bodyOffset[e]:0)+"px",N=!0)}),N),U.mask=(R=(W=e).curStats,F=W.aplStats,G=!1,R.plug_enabled?[0,1].forEach(function(e){R.capsMaskMarker_enabledSE[e]=R.plug_enabledSE[e]&&R.plug_colorTraSE[e]||R.plugOutline_enabledSE[e]&&R.plugOutline_colorTraSE[e]}):R.capsMaskMarker_enabledSE[0]=R.capsMaskMarker_enabledSE[1]=!1,R.capsMaskMarker_enabled=R.capsMaskMarker_enabledSE[0]||R.capsMaskMarker_enabledSE[1],R.lineMask_outlineMode=R.lineOutline_enabled,R.caps_enabled=R.capsMaskMarker_enabled||R.capsMaskAnchor_enabledSE[0]||R.capsMaskAnchor_enabledSE[1],R.lineMask_enabled=R.caps_enabled||R.lineMask_outlineMode,(R.lineMask_enabled&&!R.lineMask_outlineMode||R.lineOutline_enabled)&&["x","y"].forEach(function(e){var t="maskBGRect_"+e;Xe(W,F,t,B=R[t])&&(W.maskBGRect[e].baseVal.value=B,G=!0)}),Xe(W,F,"lineMask_enabled",B=R.lineMask_enabled)&&(W.lineFace.style.mask=B?"url(#"+W.lineMaskId+")":"none",G=!0,re&&je(W,W.lineMask)),R.lineMask_enabled&&(Xe(W,F,"lineMask_outlineMode",B=R.lineMask_outlineMode)&&(B?(W.lineMaskBG.style.display="none",W.lineMaskShape.style.display="inline"):(W.lineMaskBG.style.display="inline",W.lineMaskShape.style.display="none"),G=!0),["x","y"].forEach(function(e){var t="lineMask_"+e;Xe(W,F,t,B=R[t])&&(W.lineMask[e].baseVal.value=B,G=!0)}),Xe(W,F,"caps_enabled",B=R.caps_enabled)&&(W.lineMaskCaps.style.display=W.lineOutlineMaskCaps.style.display=B?"inline":"none",G=!0,re&&je(W,W.capsMaskLine)),R.caps_enabled&&([0,1].forEach(function(e){var t;Xe(W,F.capsMaskAnchor_enabledSE,e,B=R.capsMaskAnchor_enabledSE[e])&&(W.capsMaskAnchorSE[e].style.display=B?"inline":"none",G=!0,re&&je(W,W.lineMask)),R.capsMaskAnchor_enabledSE[e]&&(Fe(t=R.capsMaskAnchor_pathDataSE[e],F.capsMaskAnchor_pathDataSE[e])&&(W.capsMaskAnchorSE[e].setPathData(t),F.capsMaskAnchor_pathDataSE[e]=t,G=!0),Xe(W,F.capsMaskAnchor_strokeWidthSE,e,B=R.capsMaskAnchor_strokeWidthSE[e])&&(W.capsMaskAnchorSE[e].style.strokeWidth=B+"px",G=!0))}),Xe(W,F,"capsMaskMarker_enabled",B=R.capsMaskMarker_enabled)&&(W.capsMaskLine.style.display=B?"inline":"none",G=!0),R.capsMaskMarker_enabled&&[0,1].forEach(function(n){var e=R.capsMaskMarker_plugSE[n],t=e!==Y?X[q[e]]:null,a=Ze(n,t);Xe(W,F.capsMaskMarker_enabledSE,n,B=R.capsMaskMarker_enabledSE[n])&&(W.capsMaskLine.style[a.prop]=B?"url(#"+W.lineMaskMarkerIdSE[n]+")":"none",G=!0),R.capsMaskMarker_enabledSE[n]&&(Xe(W,F.capsMaskMarker_plugSE,n,e)&&(W.capsMaskMarkerShapeSE[n].href.baseVal="#"+t.elmId,Ue(W,W.capsMaskMarkerSE[n],a.orient,t.bBox,W.svg,W.capsMaskMarkerShapeSE[n],W.capsMaskLine),G=!0,oe&&(je(W,W.capsMaskLine),je(W,W.lineFace))),["markerWidth","markerHeight"].forEach(function(e){var t="capsMaskMarker_"+e+"SE";Xe(W,F[t],n,B=R[t][n])&&(W.capsMaskMarkerSE[n][e].baseVal.value=B,G=!0)}))}))),R.lineOutline_enabled&&["x","y"].forEach(function(e){var t="lineOutlineMask_"+e;Xe(W,F,t,B=R[t])&&(W.lineOutlineMask[e].baseVal.value=B,G=!0)}),G),t.effect&&(j=(D=e).curStats,H=D.aplStats,Object.keys(Z).forEach(function(e){var t=Z[e],n=e+"_enabled",a=e+"_options",e=j[a];Xe(D,H,n,z=j[n])?(z&&(H[a]=we(e)),t[z?"init":"remove"](D)):z&&ke(e,H[a])&&(t.remove(D),H[n]=!0,H[a]=we(e),t.init(D))})),(le||re)&&U.line&&!U.path&&je(e,e.lineShape),le&&U.plug&&!U.line&&je(e,e.plugsFace),He(e)}function et(e,t){return{duration:(pe(e.duration)&&0i.x2&&(i.x2=e.x2),e.y2>i.y2&&(i.y2=e.y2),["x","y"].forEach(function(e){var t,n="dropShadow_"+e;o[n]=t=i[e+"1"],Xe(a,l,n,t)&&(a.efc_dropShadow_elmFilter[e].baseVal.value=t)}))}}},Object.keys(Z).forEach(function(e){var t=Z[e],n=t.stats;n[e+"_enabled"]={iniValue:!1},n[e+"_options"]={hasProps:!0},t.anim&&(n[e+"_animOptions"]={},n[e+"_animId"]={})}),w={none:{defaultAnimOptions:{},init:function(e,t){var n=e.curStats;n.show_animId&&(g.remove(n.show_animId),n.show_animId=null),w.none.start(e,t)},start:function(e,t){w.none.stop(e,!0)},stop:function(e,t,n){var a=e.curStats;return n=null!=n?n:e.aplStats.show_on,a.show_inAnim=!1,t&&Je(e,n),n?1:0}},fade:{defaultAnimOptions:{duration:300,timing:"linear"},init:function(n,e){var t=n.curStats,a=n.aplStats;t.show_animId&&g.remove(t.show_animId),t.show_animId=g.add(function(e){return e},function(e,t){t?w.fade.stop(n,!0):(n.svg.style.opacity=e+"",ie&&(je(n,n.svg),He(n)))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.fade.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=g.stop(a.show_animId)),Je(e,1),a.show_inAnim=!0,g.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?g.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.svg.style.opacity=n?"":"0",Je(e,n)),a}},draw:{defaultAnimOptions:{duration:500,timing:[.58,0,.42,1]},init:function(n,e){var t=n.curStats,a=n.aplStats,o=n.pathList.baseVal,i=Re(o),l=i.segsLen,r=i.lenAll;t.show_animId&&g.remove(t.show_animId),t.show_animId=g.add(function(e){var t,n,a,i=-1;if(0===e)n=[[o[0][0],o[0][0]]];else if(1===e)n=o;else{for(t=r*e,n=[];t>=l[++i];)n.push(o[i]),t-=l[i];t&&(2===(a=o[i]).length?n.push([a[0],Ve(a[0],a[1],t/l[i])]):(e=Ne(a[0],a[1],a[2],a[3],We(a[0],a[1],a[2],a[3],t)),n.push([a[0],e.fromP1,e.fromP2,e])))}return n},function(e,t){t?w.draw.stop(n,!0):(n.pathList.animVal=e,$e(n,{path:!0}))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.draw.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=g.stop(a.show_animId)),Je(e,1),a.show_inAnim=!0,Ge(e,"apl_position",w.draw.update),g.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?g.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.pathList.animVal=n?null:[[e.pathList.baseVal[0][0],e.pathList.baseVal[0][0]]],$e(e,{path:!0}),Je(e,n)),a},update:function(e){De(e,"apl_position",w.draw.update),e.curStats.show_inAnim?w.draw.init(e,w.draw.stop(e)):e.aplStats.show_animOptions={}}}},[["start","anchorSE",0],["end","anchorSE",1],["color","lineColor"],["size","lineSize"],["startSocketGravity","socketGravitySE",0],["endSocketGravity","socketGravitySE",1],["startPlugColor","plugColorSE",0],["endPlugColor","plugColorSE",1],["startPlugSize","plugSizeSE",0],["endPlugSize","plugSizeSE",1],["outline","lineOutlineEnabled"],["outlineColor","lineOutlineColor"],["outlineSize","lineOutlineSize"],["startPlugOutline","plugOutlineEnabledSE",0],["endPlugOutline","plugOutlineEnabledSE",1],["startPlugOutlineColor","plugOutlineColorSE",0],["endPlugOutlineColor","plugOutlineColorSE",1],["startPlugOutlineSize","plugOutlineSizeSE",0],["endPlugOutlineSize","plugOutlineSizeSE",1]].forEach(function(e){var t=e[0],n=e[1],a=e[2];Object.defineProperty(ot.prototype,t,{get:function(){var e=null!=a?Se[this._id].options[n][a]:n?Se[this._id].options[n]:Se[this._id].options[t];return null==e?D:we(e)},set:lt(t),enumerable:!0})}),[["path",R],["startSocket",V,"socketSE",0],["endSocket",V,"socketSE",1],["startPlug",F,"plugSE",0],["endPlug",F,"plugSE",1]].forEach(function(e){var a=e[0],i=e[1],o=e[2],l=e[3];Object.defineProperty(ot.prototype,a,{get:function(){var t,n=null!=l?Se[this._id].options[o][l]:o?Se[this._id].options[o]:Se[this._id].options[a];return n?Object.keys(i).some(function(e){return i[e]===n&&(t=e,!0)})?t:new Error("It's broken"):D},set:lt(a),enumerable:!0})}),Object.keys(Z).forEach(function(n){var a=Z[n];Object.defineProperty(ot.prototype,n,{get:function(){var s,e,t=Se[this._id].options[n];return he(t)?(s=t,e=a.optionsConf.reduce(function(e,t){var n,a=t[0],i=t[1],o=t[2],l=t[3],t=t[4],r=null!=t?s[l][t]:l?s[l]:s[i];return e[i]="id"===a?r?Object.keys(o).some(function(e){return o[e]===r&&(n=e,!0)})?n:new Error("It's broken"):D:null==r?D:we(r),e},{}),a.anim&&(e.animation=we(s.animation)),e):t},set:lt(n),enumerable:!0})}),["startLabel","endLabel","middleLabel"].forEach(function(e,n){Object.defineProperty(ot.prototype,e,{get:function(){var e=Se[this._id],t=e.options;return t.labelSEM[n]&&!e.optionIsAttach.labelSEM[n]?_e[t.labelSEM[n]._id].text:t.labelSEM[n]||""},set:lt(e),enumerable:!0})}),ot.prototype.setOptions=function(e){return it(Se[this._id],e),this},ot.prototype.position=function(){return $e(Se[this._id],{position:!0}),this},ot.prototype.remove=function(){var t=Se[this._id],n=t.curStats;Object.keys(Z).forEach(function(e){e+="_animId";n[e]&&g.remove(n[e])}),n.show_animId&&g.remove(n.show_animId),t.attachments.slice().forEach(function(e){at(t,e)}),t.baseWindow&&t.svg&&t.baseWindow.document.body.removeChild(t.svg),delete Se[this._id]},ot.prototype.show=function(e,t){return tt(Se[this._id],!0,e,t),this},ot.prototype.hide=function(e,t){return tt(Se[this._id],!1,e,t),this},o=function(t){t&&_e[t._id]&&(t.boundTargets.slice().forEach(function(e){at(e.props,t,!0)}),t.conf.remove&&t.conf.remove(t),delete _e[t._id])},rt.prototype.remove=function(){var t=this,n=_e[t._id];n&&(n.boundTargets.slice().forEach(function(e){n.conf.removeOption(n,e)}),ze(function(){var e=_e[t._id];e&&(console.error("LeaderLineAttachment was not removed by removeOption"),o(e))}))},M=rt,window.LeaderLineAttachment=M,I=function(e,t){return e instanceof M&&(!(e.isRemoved||t&&_e[e._id].conf.type!==t)||null)},O={pointAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me}],init:function(e,t){return e.element=O.pointAnchor.checkElement(t.element),e.x=O.pointAnchor.parsePercent(t.x,!0)||[.5,!0],e.y=O.pointAnchor.parsePercent(t.y,!0)||[.5,!0],!0},removeOption:function(e,t){var n=t.props,a={},i=e.element,e=n.options.anchorSE["start"===t.optionName?1:0];i===e&&(i=e===document.body?new M(O.pointAnchor,[i]):document.body),a[t.optionName]=i,it(n,a)},getBBoxNest:function(e,t){var n=Le(e.element,t.baseWindow),a=n.width,t=n.height;return n.width=n.height=0,n.left=n.right=n.left+e.x[0]*(e.x[1]?a:1),n.top=n.bottom=n.top+e.y[0]*(e.y[1]?t:1),n},parsePercent:function(e,t){var n,a,i=!1;return pe(e)?a=e:"string"==typeof e&&(n=m.exec(e))&&n[2]&&(i=0!==(a=parseFloat(n[1])/100)),null!=a&&(t||0<=a)?[a,i]:null},checkElement:function(e){if(null==e)e=document.body;else if(!Me(e))throw new Error("`element` must be Element");return e}},areaAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me},{optionName:"shape",type:"string"}],stats:{color:{},strokeWidth:{},elementWidth:{},elementHeight:{},elementLeft:{},elementTop:{},pathListRel:{},bBoxRel:{},pathData:{},viewBoxBBox:{hasProps:!0},dashLen:{},dashGap:{}},init:function(a,e){var t,n=[];return a.element=O.pointAnchor.checkElement(e.element),"string"==typeof e.color&&(a.color=e.color.trim()),"string"==typeof e.fillColor&&(a.fill=e.fillColor.trim()),pe(e.size)&&0<=e.size&&(a.size=e.size),e.dash&&(a.dash=!0,pe(e.dash.len)&&0i.right&&(i.right=t),ei.bottom&&(i.bottom=e)):i={left:t,right:t,top:e,bottom:e},o?S.pathListRel.push([o,{x:t,y:e}]):S.pathListRel=[],o={x:t,y:e}}),S.pathListRel.push([]),e=S.strokeWidth/2,e=[{x:i.left-e,y:i.top-e},{x:i.right+e,y:i.bottom+e}],S.bBoxRel={left:e[0].x,top:e[0].y,right:e[1].x,bottom:e[1].y,width:e[1].x-e[0].x,height:e[1].y-e[0].y}}v.pathListRel=v.bBoxRel=!0}return(v.pathListRel||v.elementLeft||v.elementTop)&&(S.pathData=Be(S.pathListRel,function(e){e.x+=n.left,e.y+=n.top})),Xe(t,g,"strokeWidth",a=S.strokeWidth)&&(t.path.style.strokeWidth=a+"px"),Fe(a=S.pathData,g.pathData)&&(t.path.setPathData(a),g.pathData=a,v.pathData=!0),t.dash&&(!v.pathData&&(!v.strokeWidth||t.dashLen&&t.dashGap)||(S.dashLen=t.dashLen||2*S.strokeWidth,S.dashGap=t.dashGap||S.strokeWidth),v.dash=Xe(t,g,"dashLen",S.dashLen)||v.dash,v.dash=Xe(t,g,"dashGap",S.dashGap)||v.dash,v.dash&&(t.path.style.strokeDasharray=g.dashLen+","+g.dashGap)),d=S.viewBoxBBox,f=g.viewBoxBBox,y=t.svg.viewBox.baseVal,m=t.svg.style,d.x=S.bBoxRel.left+n.left,d.y=S.bBoxRel.top+n.top,d.width=S.bBoxRel.width,d.height=S.bBoxRel.height,["x","y","width","height"].forEach(function(e){(a=d[e])!==f[e]&&(y[e]=f[e]=a,m[Q[e]]=a+("x"===e||"y"===e?t.bodyOffset[e]:0)+"px")}),v.strokeWidth||v.pathListRel||v.bBoxRel}},mouseHoverAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me},{optionName:"showEffectName",type:"string"}],style:{backgroundImage:"url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cG9seWdvbiBwb2ludHM9IjI0LDAgMCw4IDgsMTEgMCwxOSA1LDI0IDEzLDE2IDE2LDI0IiBmaWxsPSJjb3JhbCIvPjwvc3ZnPg==')",backgroundSize:"",backgroundRepeat:"no-repeat",backgroundColor:"#f8f881",cursor:"default"},hoverStyle:{backgroundImage:"none",backgroundColor:"#fadf8f"},padding:{top:1,right:15,bottom:1,left:2},minHeight:15,backgroundPosition:{right:2,top:2},backgroundSize:{width:12,height:12},dirKeys:[["top","Top"],["right","Right"],["bottom","Bottom"],["left","Left"]],init:function(a,i){var n,t,e,o,l,r,s,u,h,p=O.mouseHoverAnchor,c={};if(a.element=O.pointAnchor.checkElement(i.element),s=a.element,!((u=s.ownerDocument)&&(h=u.defaultView)&&h.HTMLElement&&s instanceof h.HTMLElement))throw new Error("`element` must be HTML element");return p.style.backgroundSize=p.backgroundSize.width+"px "+p.backgroundSize.height+"px",["style","hoverStyle"].forEach(function(e){var n=p[e];a[e]=Object.keys(n).reduce(function(e,t){return e[t]=n[t],e},{})}),"inline"===(n=a.element.ownerDocument.defaultView.getComputedStyle(a.element,"")).display?a.style.display="inline-block":"none"===n.display&&(a.style.display="block"),O.mouseHoverAnchor.dirKeys.forEach(function(e){var t=e[0],e="padding"+e[1];parseFloat(n[e])e.x2&&(e.x2=n.x2),n.y2>e.y2&&(e.y2=n.y2)},newText:function(e,t,n,a,i){var o,l,r=t.createElementNS(ae,"text");return r.textContent=e,[r.x,r.y].forEach(function(e){var t=n.createSVGLength();t.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),e.baseVal.initialize(t)}),"boolean"!=typeof h&&(h="paintOrder"in r.style),i&&!h?(o=t.createElementNS(ae,"defs"),r.id=a,o.appendChild(r),(l=(e=t.createElementNS(ae,"g")).appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+a,(t=e.appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+a,(l=l.style).strokeLinejoin="round",{elmPosition:r,styleText:r.style,styleFill:t.style,styleStroke:l,styleShow:e.style,elmsAppend:[o,e]}):(l=r.style,i&&(l.strokeLinejoin="round",l.paintOrder="stroke"),{elmPosition:r,styleText:l,styleFill:l,styleStroke:i?l:null,styleShow:l,elmsAppend:[r]})},getMidPoint:function(e,t){var n,a,i=Re(e),o=i.segsLen,i=i.lenAll,l=-1,r=i/2+(t||0);if(r<=0)return 2===(n=e[0]).length?Ve(n[0],n[1],0):Ne(n[0],n[1],n[2],n[3],0);if(i<=r)return 2===(n=e[e.length-1]).length?Ve(n[0],n[1],1):Ne(n[0],n[1],n[2],n[3],1);for(a=[];r>o[++l];)a.push(e[l]),r-=o[l];return 2===(n=e[l]).length?Ve(n[0],n[1],r/o[l]):Ne(n[0],n[1],n[2],n[3],We(n[0],n[1],n[2],n[3],r))},initSvg:function(t,n){var e,a,i=O.captionLabel.newText(t.text,n.baseWindow.document,n.svg,C+"-captionLabel-"+t._id,t.outlineColor);["elmPosition","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=i[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(i.styleText[e]=t[e])}),i.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),e=i.elmPosition.getBBox(),t.width=e.width,t.height=e.height,t.outlineColor&&(a=e.height/9,i.styleStroke.strokeWidth=(a=10c?((t=d.points)[1]=Pe(t[0],t[1],-c),d.len=Ae(t[0],t[1])):(d.points=null,d.len=0),e.len>c+n?((t=e.points)[0]=Pe(t[1],t[0],-(c+n)),e.len=Ae(t[0],t[1])):(e.points=null,e.len=0)),e):null}),f.reduce(function(t,e){var n=e.points;return n&&(a&&y(n[0],a)||t.push({type:"M",values:[n[0].x,n[0].y]}),"line"===e.type?t.push({type:"L",values:[n[1].x,n[1].y]}):(n.shift(),n.forEach(function(e){t.push({type:"L",values:[e.x,e.y]})})),a=n[n.length-1]),t},[])},newText:function(e,t,n,a){var i,o,l,r,s=t.createElementNS(ae,"defs"),u=s.appendChild(t.createElementNS(ae,"path"));return u.id=i=n+"-path",(l=(o=t.createElementNS(ae,"text")).appendChild(t.createElementNS(ae,"textPath"))).href.baseVal="#"+i,l.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),l.textContent=e,"boolean"!=typeof h&&(h="paintOrder"in o.style),a&&!h?(o.id=e=n+"-text",s.appendChild(o),(r=(n=t.createElementNS(ae,"g")).appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+e,(t=n.appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+e,(r=r.style).strokeLinejoin="round",{elmPosition:o,elmPath:u,elmOffset:l,styleText:o.style,styleFill:t.style,styleStroke:r,styleShow:n.style,elmsAppend:[s,n]}):(r=o.style,a&&(r.strokeLinejoin="round",r.paintOrder="stroke"),{elmPosition:o,elmPath:u,elmOffset:l,styleText:r,styleFill:r,styleStroke:a?r:null,styleShow:r,elmsAppend:[s,o]})},initSvg:function(t,n){var e,a,i,o=O.pathLabel.newText(t.text,n.baseWindow.document,C+"-pathLabel-"+t._id,t.outlineColor);["elmPosition","elmPath","elmOffset","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=o[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(o.styleText[e]=t[e])}),o.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),o.elmPath.setPathData([{type:"M",values:[0,100]},{type:"h",values:[100]}]),le&&(i=o.elmOffset.href.baseVal,o.elmOffset.href.baseVal=""),e=o.elmPosition.getBBox(),le&&(o.elmOffset.href.baseVal=i),o.styleText.textAnchor=["start","end","middle"][t.semIndex],2!==t.semIndex||t.lineOffset||o.elmOffset.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE,50),t.height=e.height,t.outlineColor&&(a=e.height/9,o.styleStroke.strokeWidth=(a=10{function o(e,t){function n(e){if(!e||0===e.length)return[];var t=new o(e),n=[];if(t.initialCommandIsMoveTo())for(;t.hasMoreData();){var a=t.parseSegment();if(null===a)break;n.push(a)}return n}function a(e){return e.map(function(e){return{type:e.type,values:Array.prototype.slice.call(e.values)}})}function r(e){var p=[],c=null,d=null,f=null,y=null,m=null,S=null,g=null;return e.forEach(function(e){var t,n,a,i,o,l,r,s,u,h;"M"===e.type?(u=e.values[0],h=e.values[1],p.push({type:"M",values:[u,h]}),y=S=u,m=g=h):"C"===e.type?(t=e.values[0],n=e.values[1],i=e.values[2],o=e.values[3],u=e.values[4],h=e.values[5],p.push({type:"C",values:[t,n,i,o,u,h]}),d=i,f=o,y=u,m=h):"L"===e.type?(u=e.values[0],h=e.values[1],p.push({type:"L",values:[u,h]}),y=u,m=h):"H"===e.type?(u=e.values[0],p.push({type:"L",values:[u,m]}),y=u):"V"===e.type?(h=e.values[0],p.push({type:"L",values:[y,h]}),m=h):"S"===e.type?(i=e.values[0],o=e.values[1],u=e.values[2],h=e.values[3],r="C"===c||"S"===c?(l=y+(y-d),m+(m-f)):(l=y,m),p.push({type:"C",values:[l,r,i,o,u,h]}),d=i,f=o,y=u,m=h):"T"===e.type?(u=e.values[0],h=e.values[1],n="Q"===c||"T"===c?(t=y+(y-d),m+(m-f)):(t=y,m),l=y+2*(t-y)/3,r=m+2*(n-m)/3,s=u+2*(t-u)/3,a=h+2*(n-h)/3,p.push({type:"C",values:[l,r,s,a,u,h]}),d=t,f=n,y=u,m=h):"Q"===e.type?(t=e.values[0],n=e.values[1],u=e.values[2],h=e.values[3],l=y+2*(t-y)/3,r=m+2*(n-m)/3,s=u+2*(t-u)/3,a=h+2*(n-h)/3,p.push({type:"C",values:[l,r,s,a,u,h]}),d=t,f=n,y=u,m=h):"A"===e.type?(i=e.values[0],o=e.values[1],l=e.values[2],r=e.values[3],s=e.values[4],u=e.values[5],h=e.values[6],0===i||0===o?(p.push({type:"C",values:[y,m,u,h,u,h]}),y=u,m=h):y===u&&m===h||b(y,m,u,h,i,o,l,r,s).forEach(function(e){p.push({type:"C",values:e}),y=u,m=h})):"Z"===e.type&&(p.push(e),y=S,m=g),c=e.type}),p}var i,o,l,s,u,d,f,b;e.SVGPathElement.prototype.getPathData&&e.SVGPathElement.prototype.setPathData&&!t||(i={Z:"Z",M:"M",L:"L",C:"C",Q:"Q",A:"A",H:"H",V:"V",S:"S",T:"T",z:"Z",m:"m",l:"l",c:"c",q:"q",a:"a",h:"h",v:"v",s:"s",t:"t"},o=function(e){this._string=e,this._currentIndex=0,this._endIndex=this._string.length,this._prevCommand=null,this._skipOptionalSpaces()},l=-1!==e.navigator.userAgent.indexOf("MSIE "),o.prototype={parseSegment:function(){var e=this._string[this._currentIndex],t=i[e]||null;if(null===t){if(null===this._prevCommand)return null;if(null===(t=("+"===e||"-"===e||"."===e||"0"<=e&&e<="9")&&"Z"!==this._prevCommand?"M"===this._prevCommand?"L":"m"===this._prevCommand?"l":this._prevCommand:null))return null}else this._currentIndex+=1;var e=null,n=(this._prevCommand=t).toUpperCase();return"H"===n||"V"===n?e=[this._parseNumber()]:"M"===n||"L"===n||"T"===n?e=[this._parseNumber(),this._parseNumber()]:"S"===n||"Q"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber()]:"C"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber()]:"A"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseArcFlag(),this._parseArcFlag(),this._parseNumber(),this._parseNumber()]:"Z"===n&&(this._skipOptionalSpaces(),e=[]),null===e||0<=e.indexOf(null)?null:{type:t,values:e}},hasMoreData:function(){return this._currentIndex=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex)return null;var e=null,t=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===t)e=0;else{if("1"!==t)return null;e=1}return this._skipOptionalSpacesOrDelimiter(),e}},s=e.SVGPathElement.prototype.setAttribute,u=e.SVGPathElement.prototype.removeAttribute,d=e.Symbol?e.Symbol():"__cachedPathData",f=e.Symbol?e.Symbol():"__cachedNormalizedPathData",b=function(e,t,n,a,i,o,l,r,s,u){function h(e,t,n){return{x:e*Math.cos(n)-t*Math.sin(n),y:e*Math.sin(n)+t*Math.cos(n)}}var p,c,d=Math.PI*l/180,f=[],y=(u?(E=u[0],x=u[1],_=u[2],v=u[3]):(e=(S=h(e,t,-d)).x,t=S.y,1<(y=(m=(e-(n=(S=h(n,a,-d)).x))/2)*m/(i*i)+(S=(t-(a=S.y))/2)*S/(o*o))&&(i*=y=Math.sqrt(y),o*=y),y=i*i,g=o*o,_=(r=(r===s?-1:1)*Math.sqrt(Math.abs((y*g-y*S*S-g*m*m)/(y*S*S+g*m*m))))*i*S/o+(e+n)/2,v=r*-o*m/i+(t+a)/2,E=Math.asin(parseFloat(((t-v)/o).toFixed(9))),x=Math.asin(parseFloat(((a-v)/o).toFixed(9))),e<_&&(E=Math.PI-E),n<_&&(x=Math.PI-x),E<0&&(E=2*Math.PI+E),x<0&&(x=2*Math.PI+x),s&&x120*Math.PI/180&&(g=x,S=n,r=a,x=s&&E',ue={disc:{elmId:"leader-line-disc",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},square:{elmId:"leader-line-square",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},arrow1:{elmId:"leader-line-arrow1",bBox:{left:-8,top:-8,width:16,height:16,right:8,bottom:8},widthR:4,heightR:4,bCircle:8,sideLen:8,backLen:8,overhead:8,outlineBase:2,outlineMax:1.5},arrow2:{elmId:"leader-line-arrow2",bBox:{left:-7,top:-8,width:11,height:16,right:4,bottom:8},widthR:2.75,heightR:4,bCircle:8,sideLen:8,backLen:7,overhead:4,outlineBase:1,outlineMax:1.75},arrow3:{elmId:"leader-line-arrow3",bBox:{left:-4,top:-5,width:12,height:10,right:8,bottom:5},widthR:3,heightR:2.5,bCircle:8,sideLen:5,backLen:4,overhead:8,outlineBase:1,outlineMax:2.5},hand:{elmId:"leader-line-hand",bBox:{left:-3,top:-12,width:40,height:24,right:37,bottom:12},widthR:10,heightR:6,bCircle:37,sideLen:12,backLen:3,overhead:37},crosshair:{elmId:"leader-line-crosshair",noRotate:!0,bBox:{left:-96,top:-96,width:192,height:192,right:96,bottom:96},widthR:48,heightR:48,bCircle:96,sideLen:96,backLen:96,overhead:0}},he={behind:Z,disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},pe={disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},ce=[B,R,F,G],C="auto",de={x:"left",y:"top",width:"width",height:"height"},fe=80,ye=4,me=5,Se=120,ge=8,_e=3.75,D=10,z=30,ve=.5522847,Ee=.25*Math.PI,xe=/^\s*(\-?[\d\.]+)\s*(\%)?\s*$/,L="http://www.w3.org/2000/svg",Y=!(we="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style&&!window.navigator.msPointerEnabled)&&!!document.uniqueID,X="MozAppearance"in document.documentElement.style,be=!(we||X||!window.chrome||!window.CSS),q=!we&&!Y&&!X&&!be&&!window.chrome&&"WebkitAppearance"in document.documentElement.style,ke=Y||we?.2:.1,Q={path:ae,lineColor:"coral",lineSize:4,plugSE:[Z,"arrow1"],plugSizeSE:[1,1],lineOutlineEnabled:!1,lineOutlineColor:"indianred",lineOutlineSize:.25,plugOutlineEnabledSE:[!1,!1],plugOutlineSizeSE:[1,1]},A=(x={}.toString,b={}.hasOwnProperty.toString,k=b.call(Object),function(e){return e&&"[object Object]"===x.call(e)&&(!(e=Object.getPrototypeOf(e))||(e=e.hasOwnProperty("constructor")&&e.constructor)&&"function"==typeof e&&b.call(e)===k)}),V=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},s=(_={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},v=1e3/60/2,y=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,v)},m=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)},S=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},g=[],E=0,{add:function(n,e,t,a,i,o,l){var r,s,u,h,p,c,d,f,y,m=++E;function S(e,t){return{value:n(t),timeRatio:e,outputRatio:t}}if("string"==typeof i&&(i=_[i]),n=n||function(){},t=e.loopsLeft)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);e.loopsLeft-=n}e.framesStart+=e.duration*n,t=i-e.framesStart}e.reverse&&(t=e.duration-t),a=e.frames[e.lastFrame=Math.round(t/v)],!1!==e.frameCallback(a.value,!1,a.timeRatio,a.outputRatio)?o=!0:e.framesStart=null}}),o&&(e=y.call(window,Ve))}function Pe(e,t){e.framesStart=Date.now(),null!=t&&(e.framesStart-=e.duration*(e.reverse?1-t:t)),e.loopsLeft=e.count,e.lastFrame=null,Ve()}function K(t,n){var e,a;return typeof t!=typeof n||(e=A(t)?"obj":Array.isArray(t)?"array":"")!=(A(n)?"obj":Array.isArray(n)?"array":"")||("obj"===e?K(a=Object.keys(t).sort(),Object.keys(n).sort())||a.some(function(e){return K(t[e],n[e])}):"array"===e?t.length!==n.length||t.some(function(e,t){return K(e,n[t])}):t!==n)}function J(n){return n&&(A(n)?Object.keys(n).reduce(function(e,t){return e[t]=J(n[t]),e},{}):Array.isArray(n)?n.map(J):n)}function Ne(e){var t,n,a,i=1,o=e=(e+"").trim();function l(e){var t=1,e=xe.exec(e);return e&&(t=parseFloat(e[1]),e[2]?t=0<=t&&t<=100?t/100:1:(t<0||1=Math.abs(n)?0<=t?R:G:0<=n?F:B))})),m.position_path!==S.position_path||m.position_lineStrokeWidth!==S.position_lineStrokeWidth||[0,1].some(function(e){return m.position_plugOverheadSE[e]!==S.position_plugOverheadSE[e]||(t=g[e],n=S.position_socketXYSE[e],t.x!==n.x)||t.y!==n.y||t.socketId!==n.socketId||(t=i[e],n=S.position_socketGravitySE[e],(e=null==t?"auto":Array.isArray(t)?"array":"number")!=(null==n?"auto":Array.isArray(n)?"array":"number"))||("array"==e?t[0]!==n[0]||t[1]!==n[1]:t!==n);var t,n})){switch(l.pathList.baseVal=d=[],l.pathList.animVal=null,m.position_path){case te:d.push([E(g[0]),E(g[1])]);break;case ne:t="number"==typeof i[0]&&0ye?(m.position_lineStrokeWidth-ye)*me:0),e.socketId===B?{x:0,y:-(a=(a=(e.y-i.y)/2)=t.x:t.dirId===w?e.y>=t.y:e.x<=t.x}function P(e,t){return t.dirId===b||t.dirId===w?e.x===t.x:e.y===t.y}function W(e){return e[0]?{contain:0,notContain:1}:{contain:1,notContain:0}}function N(e,t,n){return Math.abs(t[n]-e[n])}function T(e,t,n){return"x"===n?e.x{var e,t,a,i,n=[V(I[1],I[0]),V(I[0],I[1])],o=[L(I[0].dirId),L(I[1].dirId)];if(o[0]===o[1]){if(n[0]&&n[1])return P(I[1],I[0])||(I[0][o[0]]===I[1][o[1]]?(M[0].push(I[0]),M[1].push(I[1])):(e=I[0][o[0]]+(I[1][o[1]]-I[0][o[0]])/2,M[0].push(A(I[0],Math.abs(e-I[0][o[0]]))),M[1].push(A(I[1],Math.abs(e-I[1][o[1]]))))),0;n[0]!==n[1]?(t=W(n),(a=N(I[t.notContain],I[t.contain],o[t.notContain]))=z?T(I[t.notContain],I[t.contain],o[t.contain]):I[t.contain].dirId)):(i=[{x:I[0].x,y:I[0].y},{x:I[1].x,y:I[1].y}],M.forEach(function(e,t){var n=0===t?1:0,a=N(i[t],i[n],o[t]);an.outlineMax&&(t=n.outlineMax),t*=2*n.outlineBase,s=ee(l,r.plugOutline_strokeWidthSE,e,t)||s,s=ee(l,r.plugOutline_inStrokeWidthSE,e,r.plugOutline_colorTraSE[e]?t-ke/(r.line_strokeWidth/Q.lineSize)/B.plugSizeSE[e]*2:t/2)||s)}),s)),(t.faces||T.line||T.plug||T.lineOutline||T.plugOutline)&&(T.faces=(y=(u=e).curStats,m=u.aplStats,S=u.events,g=!1,!y.line_altColor&&ee(u,m,"line_color",f=y.line_color,S.apl_line_color)&&(u.lineFace.style.stroke=f,g=!0),ee(u,m,"line_strokeWidth",f=y.line_strokeWidth,S.apl_line_strokeWidth)&&(u.lineShape.style.strokeWidth=f+"px",g=!0,X||Y)&&($(u,u.lineShape),Y)&&($(u,u.lineFace),$(u,u.lineMaskCaps)),ee(u,m,"lineOutline_enabled",f=y.lineOutline_enabled,S.apl_lineOutline_enabled)&&(u.lineOutlineFace.style.display=f?"inline":"none",g=!0),y.lineOutline_enabled&&(ee(u,m,"lineOutline_color",f=y.lineOutline_color,S.apl_lineOutline_color)&&(u.lineOutlineFace.style.stroke=f,g=!0),ee(u,m,"lineOutline_strokeWidth",f=y.lineOutline_strokeWidth,S.apl_lineOutline_strokeWidth)&&(u.lineOutlineMaskShape.style.strokeWidth=f+"px",g=!0,Y)&&($(u,u.lineOutlineMaskCaps),$(u,u.lineOutlineFace)),ee(u,m,"lineOutline_inStrokeWidth",f=y.lineOutline_inStrokeWidth,S.apl_lineOutline_inStrokeWidth))&&(u.lineMaskShape.style.strokeWidth=f+"px",g=!0,Y)&&($(u,u.lineOutlineMaskCaps),$(u,u.lineOutlineFace)),ee(u,m,"plug_enabled",f=y.plug_enabled,S.apl_plug_enabled)&&(u.plugsFace.style.display=f?"inline":"none",g=!0),y.plug_enabled&&[0,1].forEach(function(n){var e=y.plug_plugSE[n],t=e!==Z?ue[pe[e]]:null,a=Qe(n,t);ee(u,m.plug_enabledSE,n,f=y.plug_enabledSE[n],S.apl_plug_enabledSE)&&(u.plugsFace.style[a.prop]=f?"url(#"+u.plugMarkerIdSE[n]+")":"none",g=!0),y.plug_enabledSE[n]&&(ee(u,m.plug_plugSE,n,e,S.apl_plug_plugSE)&&(u.plugFaceSE[n].href.baseVal="#"+t.elmId,qe(u,u.plugMarkerSE[n],a.orient,t.bBox,u.svg,u.plugMarkerShapeSE[n],u.plugsFace),g=!0,X)&&$(u,u.plugsFace),ee(u,m.plug_colorSE,n,f=y.plug_colorSE[n],S.apl_plug_colorSE)&&(u.plugFaceSE[n].style.fill=f,g=!0,be||q||Y)&&!y.line_colorTra&&$(u,Y?u.lineMaskCaps:u.capsMaskLine),["markerWidth","markerHeight"].forEach(function(e){var t="plug_"+e+"SE";ee(u,m[t],n,f=y[t][n],S["apl_"+t])&&(u.plugMarkerSE[n][e].baseVal.value=f,g=!0)}),ee(u,m.plugOutline_enabledSE,n,f=y.plugOutline_enabledSE[n],S.apl_plugOutline_enabledSE)&&(f?(u.plugFaceSE[n].style.mask="url(#"+u.plugMaskIdSE[n]+")",u.plugOutlineFaceSE[n].style.display="inline"):(u.plugFaceSE[n].style.mask="none",u.plugOutlineFaceSE[n].style.display="none"),g=!0),y.plugOutline_enabledSE[n])&&(ee(u,m.plugOutline_plugSE,n,e,S.apl_plugOutline_plugSE)&&(u.plugOutlineFaceSE[n].href.baseVal=u.plugMaskShapeSE[n].href.baseVal=u.plugOutlineMaskShapeSE[n].href.baseVal="#"+t.elmId,[u.plugMaskSE[n],u.plugOutlineMaskSE[n]].forEach(function(e){e.x.baseVal.value=t.bBox.left,e.y.baseVal.value=t.bBox.top,e.width.baseVal.value=t.bBox.width,e.height.baseVal.value=t.bBox.height}),g=!0),ee(u,m.plugOutline_colorSE,n,f=y.plugOutline_colorSE[n],S.apl_plugOutline_colorSE)&&(u.plugOutlineFaceSE[n].style.fill=f,g=!0,Y)&&($(u,u.lineMaskCaps),$(u,u.lineOutlineMaskCaps)),ee(u,m.plugOutline_strokeWidthSE,n,f=y.plugOutline_strokeWidthSE[n],S.apl_plugOutline_strokeWidthSE)&&(u.plugOutlineMaskShapeSE[n].style.strokeWidth=f+"px",g=!0),ee(u,m.plugOutline_inStrokeWidthSE,n,f=y.plugOutline_inStrokeWidthSE[n],S.apl_plugOutline_inStrokeWidthSE))&&(u.plugMaskShapeSE[n].style.strokeWidth=f+"px",g=!0)}),g)),(t.position||T.line||T.plug)&&(T.position=$e(e)),(t.path||T.position)&&(T.path=(v=(_=e).curStats,k=_.aplStats,b=_.pathList.animVal||_.pathList.baseVal,E=v.path_edge,O=!1,b&&(E.x1=E.x2=b[0][0].x,E.y1=E.y2=b[0][0].y,v.path_pathData=R=He(b,function(e){e.xE.x2&&(E.x2=e.x),e.y>E.y2&&(E.y2=e.y)}),Ze(R,k.path_pathData))&&(_.linePath.setPathData(R),k.path_pathData=R,O=!0,Y?($(_,_.plugsFace),$(_,_.lineMaskCaps)):X&&$(_,_.linePath),_.events.apl_path)&&_.events.apl_path.forEach(function(e){e(_,R)}),O)),T.viewBox=(b=(x=e).curStats,k=b.path_edge,w=b.viewBox_bBox,F=x.aplStats.viewBox_bBox,G=x.svg.viewBox.baseVal,D=x.svg.style,z=!1,O=Math.max(b.line_strokeWidth/2,b.viewBox_plugBCircleSE[0]||0,b.viewBox_plugBCircleSE[1]||0),M={x1:k.x1-O,y1:k.y1-O,x2:k.x2+O,y2:k.y2+O},x.events.new_edge4viewBox&&x.events.new_edge4viewBox.forEach(function(e){e(x,M)}),w.x=b.lineMask_x=b.lineOutlineMask_x=b.maskBGRect_x=M.x1,w.y=b.lineMask_y=b.lineOutlineMask_y=b.maskBGRect_y=M.y1,w.width=M.x2-M.x1,w.height=M.y2-M.y1,["x","y","width","height"].forEach(function(e){var t;(t=w[e])!==F[e]&&(G[e]=F[e]=t,D[de[e]]=t+("x"===e||"y"===e?x.bodyOffset[e]:0)+"px",z=!0)}),z),T.mask=(L=(I=e).curStats,A=I.aplStats,V=!1,L.plug_enabled?[0,1].forEach(function(e){L.capsMaskMarker_enabledSE[e]=L.plug_enabledSE[e]&&L.plug_colorTraSE[e]||L.plugOutline_enabledSE[e]&&L.plugOutline_colorTraSE[e]}):L.capsMaskMarker_enabledSE[0]=L.capsMaskMarker_enabledSE[1]=!1,L.capsMaskMarker_enabled=L.capsMaskMarker_enabledSE[0]||L.capsMaskMarker_enabledSE[1],L.lineMask_outlineMode=L.lineOutline_enabled,L.caps_enabled=L.capsMaskMarker_enabled||L.capsMaskAnchor_enabledSE[0]||L.capsMaskAnchor_enabledSE[1],L.lineMask_enabled=L.caps_enabled||L.lineMask_outlineMode,(L.lineMask_enabled&&!L.lineMask_outlineMode||L.lineOutline_enabled)&&["x","y"].forEach(function(e){var t="maskBGRect_"+e;ee(I,A,t,C=L[t])&&(I.maskBGRect[e].baseVal.value=C,V=!0)}),ee(I,A,"lineMask_enabled",C=L.lineMask_enabled)&&(I.lineFace.style.mask=C?"url(#"+I.lineMaskId+")":"none",V=!0,q)&&$(I,I.lineMask),L.lineMask_enabled&&(ee(I,A,"lineMask_outlineMode",C=L.lineMask_outlineMode)&&(C?(I.lineMaskBG.style.display="none",I.lineMaskShape.style.display="inline"):(I.lineMaskBG.style.display="inline",I.lineMaskShape.style.display="none"),V=!0),["x","y"].forEach(function(e){var t="lineMask_"+e;ee(I,A,t,C=L[t])&&(I.lineMask[e].baseVal.value=C,V=!0)}),ee(I,A,"caps_enabled",C=L.caps_enabled)&&(I.lineMaskCaps.style.display=I.lineOutlineMaskCaps.style.display=C?"inline":"none",V=!0,q)&&$(I,I.capsMaskLine),L.caps_enabled)&&([0,1].forEach(function(e){var t;ee(I,A.capsMaskAnchor_enabledSE,e,C=L.capsMaskAnchor_enabledSE[e])&&(I.capsMaskAnchorSE[e].style.display=C?"inline":"none",V=!0,q)&&$(I,I.lineMask),L.capsMaskAnchor_enabledSE[e]&&(Ze(t=L.capsMaskAnchor_pathDataSE[e],A.capsMaskAnchor_pathDataSE[e])&&(I.capsMaskAnchorSE[e].setPathData(t),A.capsMaskAnchor_pathDataSE[e]=t,V=!0),ee(I,A.capsMaskAnchor_strokeWidthSE,e,C=L.capsMaskAnchor_strokeWidthSE[e]))&&(I.capsMaskAnchorSE[e].style.strokeWidth=C+"px",V=!0)}),ee(I,A,"capsMaskMarker_enabled",C=L.capsMaskMarker_enabled)&&(I.capsMaskLine.style.display=C?"inline":"none",V=!0),L.capsMaskMarker_enabled)&&[0,1].forEach(function(n){var e=L.capsMaskMarker_plugSE[n],t=e!==Z?ue[pe[e]]:null,a=Qe(n,t);ee(I,A.capsMaskMarker_enabledSE,n,C=L.capsMaskMarker_enabledSE[n])&&(I.capsMaskLine.style[a.prop]=C?"url(#"+I.lineMaskMarkerIdSE[n]+")":"none",V=!0),L.capsMaskMarker_enabledSE[n]&&(ee(I,A.capsMaskMarker_plugSE,n,e)&&(I.capsMaskMarkerShapeSE[n].href.baseVal="#"+t.elmId,qe(I,I.capsMaskMarkerSE[n],a.orient,t.bBox,I.svg,I.capsMaskMarkerShapeSE[n],I.capsMaskLine),V=!0,X)&&($(I,I.capsMaskLine),$(I,I.lineFace)),["markerWidth","markerHeight"].forEach(function(e){var t="capsMaskMarker_"+e+"SE";ee(I,A[t],n,C=L[t][n])&&(I.capsMaskMarkerSE[n][e].baseVal.value=C,V=!0)}))}),L.lineOutline_enabled&&["x","y"].forEach(function(e){var t="lineOutlineMask_"+e;ee(I,A,t,C=L[t])&&(I.lineOutlineMask[e].baseVal.value=C,V=!0)}),V),t.effect&&(H=(P=e).curStats,N=P.aplStats,Object.keys(U).forEach(function(e){var t=U[e],n=e+"_enabled",e=e+"_options",a=H[e];ee(P,N,n,j=H[n])?(j&&(N[e]=J(a)),t[j?"init":"remove"](P)):j&&K(a,N[e])&&(t.remove(P),N[n]=!0,N[e]=J(a),t.init(P))})),(be||q)&&T.line&&!T.path&&$(e,e.lineShape),be&&T.plug&&!T.line&&$(e,e.plugsFace),Xe(e)}function tt(e,t){return{duration:(V(e.duration)&&0{var n,a;if((e=Be(e))&&(n=Be(t)))return e.length&&n.length&&(e.reverse(),n.reverse(),e.some(function(t){return n.some(function(e){return e===t&&(a=e.contentWindow,!0)})})),a||window;throw new Error("Cannot get frames.")})(!1!==s.optionIsAttach.anchorSE[0]?j[S.anchorSE[0]._id].element:S.anchorSE[0],!1!==s.optionIsAttach.anchorSE[1]?j[S.anchorSE[1]._id].element:S.anchorSE[1]))!==s.baseWindow&&(e=e,f=(n=s).aplStats,y=e.document,m=I+"-"+n._id,n.pathList={},P(f,Oe),Object.keys(U).forEach(function(e){var t=e+"_enabled";f[t]&&(U[e].remove(n),f[t]=!1)}),n.baseWindow&&n.svg&&n.baseWindow.document.body.removeChild(n.svg),Je(n.baseWindow=e),n.bodyOffset=Ke(e),n.svg=e=y.createElementNS(L,"svg"),e.className.baseVal=I,e.viewBox.baseVal||e.setAttribute("viewBox","0 0 0 0"),n.defs=a=e.appendChild(y.createElementNS(L,"defs")),n.linePath=o=a.appendChild(y.createElementNS(L,"path")),o.id=l=m+"-line-path",o.className.baseVal=I+"-line-path",q&&(o.style.fill="none"),n.lineShape=o=a.appendChild(y.createElementNS(L,"use")),o.id=r=m+"-line-shape",o.href.baseVal="#"+l,(t=a.appendChild(y.createElementNS(L,"g"))).id=h=m+"-caps",n.capsMaskAnchorSE=[0,1].map(function(){var e=t.appendChild(y.createElementNS(L,"path"));return e.className.baseVal=I+"-caps-mask-anchor",e}),n.lineMaskMarkerIdSE=[m+"-caps-mask-marker-0",m+"-caps-mask-marker-1"],n.capsMaskMarkerSE=[0,1].map(function(e){return b(n.lineMaskMarkerIdSE[e])}),n.capsMaskMarkerShapeSE=[0,1].map(function(e){e=n.capsMaskMarkerSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-caps-mask-marker-shape",e}),n.capsMaskLine=o=t.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-caps-mask-line",o.href.baseVal="#"+r,n.maskBGRect=o=k(a.appendChild(y.createElementNS(L,"rect"))),o.id=p=m+"-mask-bg-rect",o.className.baseVal=I+"-mask-bg-rect",q&&(o.style.fill="white"),n.lineMask=k(x(n.lineMaskId=m+"-line-mask")),n.lineMaskBG=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+p,n.lineMaskShape=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-line-mask-shape",o.href.baseVal="#"+l,o.style.display="none",n.lineMaskCaps=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+h,n.lineOutlineMask=k(x(c=m+"-line-outline-mask")),(o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use"))).href.baseVal="#"+p,n.lineOutlineMaskShape=o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-line-outline-mask-shape",o.href.baseVal="#"+l,n.lineOutlineMaskCaps=o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+h,n.face=e.appendChild(y.createElementNS(L,"g")),n.lineFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+r,n.lineOutlineFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+r,o.style.mask="url(#"+c+")",o.style.display="none",n.plugMaskIdSE=[m+"-plug-mask-0",m+"-plug-mask-1"],n.plugMaskSE=[0,1].map(function(e){return x(n.plugMaskIdSE[e])}),n.plugMaskShapeSE=[0,1].map(function(e){e=n.plugMaskSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-plug-mask-shape",e}),d=[],n.plugOutlineMaskSE=[0,1].map(function(e){return x(d[e]=m+"-plug-outline-mask-"+e)}),n.plugOutlineMaskShapeSE=[0,1].map(function(e){e=n.plugOutlineMaskSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-plug-outline-mask-shape",e}),n.plugMarkerIdSE=[m+"-plug-marker-0",m+"-plug-marker-1"],n.plugMarkerSE=[0,1].map(function(e){e=b(n.plugMarkerIdSE[e]);return q&&(e.markerUnits.baseVal=SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE),e}),n.plugMarkerShapeSE=[0,1].map(function(e){return n.plugMarkerSE[e].appendChild(y.createElementNS(L,"g"))}),n.plugFaceSE=[0,1].map(function(e){return n.plugMarkerShapeSE[e].appendChild(y.createElementNS(L,"use"))}),n.plugOutlineFaceSE=[0,1].map(function(e){var t=n.plugMarkerShapeSE[e].appendChild(y.createElementNS(L,"use"));return t.style.mask="url(#"+d[e]+")",t.style.display="none",t}),n.plugsFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-plugs-face",o.href.baseVal="#"+r,o.style.display="none",n.curStats.show_inAnim?(n.isShown=1,w[f.show_effect].stop(n,!0)):n.isShown||(e.style.visibility="hidden"),(0=l[++i];)n.push(o[i]),t-=l[i];t&&(2===(e=o[i]).length?n.push([e[0],Fe(e[0],e[1],t/l[i])]):(a=De(e[0],e[1],e[2],e[3],je(e[0],e[1],e[2],e[3],t)),n.push([e[0],a.fromP1,a.fromP2,a])))}return n},function(e,t){t?w.draw.stop(n,!0):(n.pathList.animVal=e,N(n,{path:!0}))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.draw.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=s.stop(a.show_animId)),et(e,1),a.show_inAnim=!0,u(e,"apl_position",w.draw.update),s.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?s.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.pathList.animVal=n?null:[[e.pathList.baseVal[0][0],e.pathList.baseVal[0][0]]],N(e,{path:!0}),et(e,n)),a},update:function(e){a(e,"apl_position",w.draw.update),e.curStats.show_inAnim?w.draw.init(e,w.draw.stop(e)):e.aplStats.show_animOptions={}}}},[["start","anchorSE",0],["end","anchorSE",1],["color","lineColor"],["size","lineSize"],["startSocketGravity","socketGravitySE",0],["endSocketGravity","socketGravitySE",1],["startPlugColor","plugColorSE",0],["endPlugColor","plugColorSE",1],["startPlugSize","plugSizeSE",0],["endPlugSize","plugSizeSE",1],["outline","lineOutlineEnabled"],["outlineColor","lineOutlineColor"],["outlineSize","lineOutlineSize"],["startPlugOutline","plugOutlineEnabledSE",0],["endPlugOutline","plugOutlineEnabledSE",1],["startPlugOutlineColor","plugOutlineColorSE",0],["endPlugOutlineColor","plugOutlineColorSE",1],["startPlugOutlineSize","plugOutlineSizeSE",0],["endPlugOutlineSize","plugOutlineSizeSE",1]].forEach(function(e){var t=e[0],n=e[1],a=e[2];Object.defineProperty(p.prototype,t,{get:function(){var e=null!=a?r[this._id].options[n][a]:n?r[this._id].options[n]:r[this._id].options[t];return null==e?C:J(e)},set:lt(t),enumerable:!0})}),[["path",le],["startSocket",W,"socketSE",0],["endSocket",W,"socketSE",1],["startPlug",he,"plugSE",0],["endPlug",he,"plugSE",1]].forEach(function(e){var a=e[0],i=e[1],o=e[2],l=e[3];Object.defineProperty(p.prototype,a,{get:function(){var t,n=null!=l?r[this._id].options[o][l]:o?r[this._id].options[o]:r[this._id].options[a];return n?Object.keys(i).some(function(e){return i[e]===n&&(t=e,!0)})?t:new Error("It's broken"):C},set:lt(a),enumerable:!0})}),Object.keys(U).forEach(function(n){var a=U[n];Object.defineProperty(p.prototype,n,{get:function(){var s,e,t=r[this._id].options[n];return A(t)?(s=t,e=a.optionsConf.reduce(function(e,t){var n,a=t[0],i=t[1],o=t[2],l=t[3],t=t[4],r=null!=t?s[l][t]:l?s[l]:s[i];return e[i]="id"===a?r?Object.keys(o).some(function(e){return o[e]===r&&(n=e,!0)})?n:new Error("It's broken"):C:null==r?C:J(r),e},{}),a.anim&&(e.animation=J(s.animation)),e):t},set:lt(n),enumerable:!0})}),["startLabel","endLabel","middleLabel"].forEach(function(e,n){Object.defineProperty(p.prototype,e,{get:function(){var e=r[this._id],t=e.options;return t.labelSEM[n]&&!e.optionIsAttach.labelSEM[n]?j[t.labelSEM[n]._id].text:t.labelSEM[n]||""},set:lt(e),enumerable:!0})}),p.prototype.setOptions=function(e){return ot(r[this._id],e),this},p.prototype.position=function(){return N(r[this._id],{position:!0}),this},p.prototype.remove=function(){var t=r[this._id],n=t.curStats;Object.keys(U).forEach(function(e){e+="_animId";n[e]&&s.remove(n[e])}),n.show_animId&&s.remove(n.show_animId),t.attachments.slice().forEach(function(e){it(t,e)}),t.baseWindow&&t.svg&&t.baseWindow.document.body.removeChild(t.svg),delete r[this._id]},p.prototype.show=function(e,t){return nt(r[this._id],!0,e,t),this},p.prototype.hide=function(e,t){return nt(r[this._id],!1,e,t),this},l=function(t){t&&j[t._id]&&(t.boundTargets.slice().forEach(function(e){it(e.props,t,!0)}),t.conf.remove&&t.conf.remove(t),delete j[t._id])},rt.prototype.remove=function(){var t=this,n=j[t._id];n&&(n.boundTargets.slice().forEach(function(e){n.conf.removeOption(n,e)}),Ye(function(){var e=j[t._id];e&&(console.error("LeaderLineAttachment was not removed by removeOption"),l(e))}))},M=rt,window.LeaderLineAttachment=M,T=function(e,t){return e instanceof M&&(!(e.isRemoved||t&&j[e._id].conf.type!==t)||null)},O={pointAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Te}],init:function(e,t){return e.element=O.pointAnchor.checkElement(t.element),e.x=O.pointAnchor.parsePercent(t.x,!0)||[.5,!0],e.y=O.pointAnchor.parsePercent(t.y,!0)||[.5,!0],!0},removeOption:function(e,t){var n=t.props,a={},e=e.element,i=n.options.anchorSE["start"===t.optionName?1:0];e===i&&(e=i===document.body?new M(O.pointAnchor,[e]):document.body),a[t.optionName]=e,ot(n,a)},getBBoxNest:function(e,t){var t=Re(e.element,t.baseWindow),n=t.width,a=t.height;return t.width=t.height=0,t.left=t.right=t.left+e.x[0]*(e.x[1]?n:1),t.top=t.bottom=t.top+e.y[0]*(e.y[1]?a:1),t},parsePercent:function(e,t){var n,a=!1;return V(e)?n=e:"string"==typeof e&&(e=xe.exec(e))&&e[2]&&(a=0!==(n=parseFloat(e[1])/100)),null!=n&&(t||0<=n)?[n,a]:null},checkElement:function(e){if(null==e)e=document.body;else if(!Te(e))throw new Error("`element` must be Element");return e}},areaAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Te},{optionName:"shape",type:"string"}],stats:{color:{},strokeWidth:{},elementWidth:{},elementHeight:{},elementLeft:{},elementTop:{},pathListRel:{},bBoxRel:{},pathData:{},viewBoxBBox:{hasProps:!0},dashLen:{},dashGap:{}},init:function(a,e){var t,n=[];return a.element=O.pointAnchor.checkElement(e.element),"string"==typeof e.color&&(a.color=e.color.trim()),"string"==typeof e.fillColor&&(a.fill=e.fillColor.trim()),V(e.size)&&0<=e.size&&(a.size=e.size),e.dash&&(a.dash=!0,V(e.dash.len)&&0o[++l];)a.push(e[l]),r-=o[l];return 2===(n=e[l]).length?Fe(n[0],n[1],r/o[l]):De(n[0],n[1],n[2],n[3],je(n[0],n[1],n[2],n[3],r))},initSvg:function(t,n){var e,a,i=O.captionLabel.newText(t.text,n.baseWindow.document,n.svg,I+"-captionLabel-"+t._id,t.outlineColor);["elmPosition","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=i[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(i.styleText[e]=t[e])}),i.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),e=i.elmPosition.getBBox(),t.width=e.width,t.height=e.height,t.outlineColor&&(a=e.height/9,i.styleStroke.strokeWidth=(a=10{for(var l,r,s=ze(e,t,n,a)/o,u=1/(od?((t=f.points)[1]=Ge(t[0],t[1],-d),f.len=H(t[0],t[1])):(f.points=null,f.len=0),e.len>d+n?((t=e.points)[0]=Ge(t[1],t[0],-(d+n)),e.len=H(t[0],t[1])):(e.points=null,e.len=0)),e):null}),y.reduce(function(t,e){var n=e.points;return n&&(a&&m(n[0],a)||t.push({type:"M",values:[n[0].x,n[0].y]}),"line"===e.type?t.push({type:"L",values:[n[1].x,n[1].y]}):(n.shift(),n.forEach(function(e){t.push({type:"L",values:[e.x,e.y]})})),a=n[n.length-1]),t},[])},newText:function(e,t,n,a){var i,o,l,r,s=t.createElementNS(L,"defs"),u=s.appendChild(t.createElementNS(L,"path"));return u.id=i=n+"-path",(l=(o=t.createElementNS(L,"text")).appendChild(t.createElementNS(L,"textPath"))).href.baseVal="#"+i,l.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),l.textContent=e,"boolean"!=typeof h&&(h="paintOrder"in o.style),a&&!h?(o.id=i=n+"-text",s.appendChild(o),(n=(e=t.createElementNS(L,"g")).appendChild(t.createElementNS(L,"use"))).href.baseVal="#"+i,(t=e.appendChild(t.createElementNS(L,"use"))).href.baseVal="#"+i,(r=n.style).strokeLinejoin="round",{elmPosition:o,elmPath:u,elmOffset:l,styleText:o.style,styleFill:t.style,styleStroke:r,styleShow:e.style,elmsAppend:[s,e]}):(r=o.style,a&&(r.strokeLinejoin="round",r.paintOrder="stroke"),{elmPosition:o,elmPath:u,elmOffset:l,styleText:r,styleFill:r,styleStroke:a?r:null,styleShow:r,elmsAppend:[s,o]})},initSvg:function(t,n){var e,a,i,o=O.pathLabel.newText(t.text,n.baseWindow.document,I+"-pathLabel-"+t._id,t.outlineColor);["elmPosition","elmPath","elmOffset","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=o[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(o.styleText[e]=t[e])}),o.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),o.elmPath.setPathData([{type:"M",values:[0,100]},{type:"h",values:[100]}]),be&&(i=o.elmOffset.href.baseVal,o.elmOffset.href.baseVal=""),e=o.elmPosition.getBBox(),be&&(o.elmOffset.href.baseVal=i),o.styleText.textAnchor=["start","end","middle"][t.semIndex],2!==t.semIndex||t.lineOffset||o.elmOffset.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE,50),t.height=e.height,t.outlineColor&&(a=e.height/9,o.styleStroke.strokeWidth=(a=10=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "argparse": { + "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - }, "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - } + "sprintf-js": "~1.0.2" } }, - "array-each": { + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "array-slice": { + "node_modules/array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "async": { + "node_modules/async": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "boolbase": { + "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { + "dependencies": { "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "cheerio": { + "node_modules/cheerio": { "version": "1.0.0-rc.9", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.9.tgz", "integrity": "sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng==", "dev": true, - "requires": { + "dependencies": { "cheerio-select": "^1.4.0", "dom-serializer": "^1.3.1", "domhandler": "^4.2.0", @@ -114,339 +268,420 @@ "parse5": "^6.0.1", "parse5-htmlparser2-tree-adapter": "^6.0.1", "tslib": "^2.2.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "cheerio-select": { + "node_modules/cheerio-select": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.4.0.tgz", "integrity": "sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew==", - "dev": true, - "requires": { + "dependencies": { "css-select": "^4.1.2", "css-what": "^5.0.0", "domelementtype": "^2.2.0", "domhandler": "^4.2.0", "domutils": "^2.6.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "clean-css": { + "node_modules/clean-css": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.2.tgz", "integrity": "sha512-QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==", "dev": true, - "requires": { + "dependencies": { "source-map": "~0.6.0" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "colors": { + "node_modules/colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true + "engines": { + "node": ">=0.1.90" + } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "css-select": { + "node_modules/css-select": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.2.tgz", "integrity": "sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==", - "dev": true, - "requires": { + "dependencies": { "boolbase": "^1.0.0", "css-what": "^5.0.0", "domhandler": "^4.2.0", "domutils": "^2.6.0", "nth-check": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "css-what": { + "node_modules/css-what": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", - "dev": true + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } }, - "date-format": { + "node_modules/date-format": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz", "integrity": "sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==", - "dev": true + "engines": { + "node": ">=4.0" + } }, - "dateformat": { + "node_modules/dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true + "engines": { + "node": "*" + } }, - "debug": { + "node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { + "dependencies": { "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "detect-file": { + "node_modules/detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "dom-serializer": { + "node_modules/dom-serializer": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { + "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "domelementtype": { + "node_modules/domelementtype": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "domhandler": { + "node_modules/domhandler": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", - "dev": true, - "requires": { + "dependencies": { "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "domutils": { + "node_modules/domutils": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", - "dev": true, - "requires": { + "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "entities": { + "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "eventemitter2": { + "node_modules/eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=" }, - "exit": { + "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true + "engines": { + "node": ">= 0.8.0" + } }, - "expand-tilde": { + "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { + "dependencies": { "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "extend": { + "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "fill-range": { + "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "findup-sync": { + "node_modules/findup-sync": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", - "dev": true, - "requires": { + "dependencies": { "glob": "~5.0.0" }, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/findup-sync/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" } }, - "fined": { + "node_modules/fined": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "requires": { + "dependencies": { "expand-tilde": "^2.0.2", "is-plain-object": "^2.0.3", "object.defaults": "^1.1.0", "object.pick": "^1.2.0", "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" } }, - "flagged-respawn": { + "node_modules/flagged-respawn": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true + "engines": { + "node": ">= 0.10" + } }, - "flatted": { + "node_modules/flatted": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", - "dev": true + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" }, - "for-in": { + "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "for-own": { + "node_modules/for-own": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { + "dependencies": { "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "fs-extra": { + "node_modules/fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "getobject": { + "node_modules/getobject": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", - "dev": true + "engines": { + "node": ">=10" + } }, - "glob": { + "node_modules/glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "global-modules": { + "node_modules/global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { + "dependencies": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "global-prefix": { + "node_modules/global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { + "dependencies": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, - "grunt": { + "node_modules/grunt": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz", "integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==", "dev": true, - "requires": { + "dependencies": { "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", "exit": "~0.1.2", @@ -463,68 +698,52 @@ "nopt": "~3.0.6", "rimraf": "~3.0.2" }, - "dependencies": { - "grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", - "dev": true, - "requires": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "dependencies": { - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - } - } - } + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=8" } }, - "grunt-known-options": { + "node_modules/grunt-known-options": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "grunt-legacy-log": { + "node_modules/grunt-legacy-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", - "dev": true, - "requires": { + "dependencies": { "colors": "~1.1.2", "grunt-legacy-log-utils": "~2.1.0", "hooker": "~0.2.3", "lodash": "~4.17.19" + }, + "engines": { + "node": ">= 0.10.0" } }, - "grunt-legacy-log-utils": { + "node_modules/grunt-legacy-log-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", - "dev": true, - "requires": { + "dependencies": { "chalk": "~4.1.0", "lodash": "~4.17.19" + }, + "engines": { + "node": ">=10" } }, - "grunt-legacy-util": { + "node_modules/grunt-legacy-util": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", - "dev": true, - "requires": { + "dependencies": { "async": "~3.2.0", "exit": "~0.1.2", "getobject": "~1.0.0", @@ -533,232 +752,315 @@ "underscore.string": "~3.3.5", "which": "~2.0.2" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-legacy-util/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "grunt-task-helper": { + "node_modules/grunt-task-helper": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/grunt-task-helper/-/grunt-task-helper-0.3.10.tgz", "integrity": "sha1-3ttlnVGpTg9kuDd69HOFbMFw5JE=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + }, + "peerDependencies": { + "grunt": ">=0.4.0" + } }, - "has": { + "node_modules/grunt/node_modules/grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "dev": true, + "dependencies": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "engines": { + "node": ">=8" + } }, - "homedir-polyfill": { + "node_modules/homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { + "dependencies": { "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "hooker": { + "node_modules/hooker": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", - "dev": true + "engines": { + "node": "*" + } }, - "htmlclean": { + "node_modules/htmlclean": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/htmlclean/-/htmlclean-3.0.8.tgz", "integrity": "sha1-zqRRz1OZ1AGDhqVxKUifLWMOYrA=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "htmlparser2": { + "node_modules/htmlparser2": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", "domutils": "^2.5.2", "entities": "^2.0.0" } }, - "iconv-lite": { + "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { + "dependencies": { "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { + "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, - "interpret": { + "node_modules/interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" }, - "is-absolute": { + "node_modules/is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { + "dependencies": { "is-relative": "^1.0.0", "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "requires": { + "dependencies": { "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "engines": { + "node": ">=0.12.0" + } }, - "is-plain-object": { + "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-relative": { + "node_modules/is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "requires": { + "dependencies": { "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-unc-path": { + "node_modules/is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "requires": { + "dependencies": { "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-windows": { + "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "isobject": { + "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "jasmine-core": { + "node_modules/jasmine-core": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.7.1.tgz", "integrity": "sha512-DH3oYDS/AUvvr22+xUBW62m1Xoy7tUlY1tsxKEJvl5JeJ7q8zd1K5bUwiOxdH+erj6l2vAMM3hV25Xs9/WrmuQ==", "dev": true }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsonfile": { + "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", + "dependencies": { "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "kind-of": { + "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "liftup": { + "node_modules/liftup": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", - "dev": true, - "requires": { + "dependencies": { "extend": "^3.0.2", "findup-sync": "^4.0.0", "fined": "^1.2.0", @@ -768,454 +1070,553 @@ "rechoir": "^0.7.0", "resolve": "^1.19.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/liftup/node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", "dependencies": { - "findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" - } - } + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "log4js": { + "node_modules/log4js": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.0.tgz", "integrity": "sha512-ysc/XUecZJuN8NoKOssk3V0cQ29xY4fra6fnigZa5VwxFsCsvdqsdnEuAxNN89LlHpbE4KUD3zGcn+kFqonSVQ==", "dev": true, - "requires": { + "dependencies": { "date-format": "^4.0.3", "debug": "^4.3.3", "flatted": "^3.2.4", "rfdc": "^1.3.0", "streamroller": "^3.0.2" + }, + "engines": { + "node": ">=8.0" } }, - "make-iterator": { + "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { + "dependencies": { "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "map-cache": { + "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "micromatch": { + "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { + "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "mime": { + "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "mkdirp": { + "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } }, - "ms": { + "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node-static": { + "node_modules/node-static": { "version": "0.7.11", "resolved": "https://registry.npmjs.org/node-static/-/node-static-0.7.11.tgz", "integrity": "sha512-zfWC/gICcqb74D9ndyvxZWaI1jzcoHmf4UTHWQchBNuNMxdBLJMDiUgZ1tjGLEIe/BMhj2DxKD8HOuc2062pDQ==", - "dev": true, - "requires": { + "dependencies": { "colors": ">=0.6.0", "mime": "^1.2.9", "optimist": ">=0.3.4" + }, + "bin": { + "static": "bin/cli.js" + }, + "engines": { + "node": ">= 0.4.1" } }, - "node-static-alias": { + "node_modules/node-static-alias": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/node-static-alias/-/node-static-alias-1.1.2.tgz", "integrity": "sha512-7bf68LiGhBCYodZT+8ksClWnzjTH1ac0BhXdAJjK7DliktuPaNMbTUnePkwWklLEKDUuMPaL2nVQvhHuCMG0Og==", "dev": true, - "requires": { + "dependencies": { "node-static": "~0.7.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "nopt": { + "node_modules/nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { + "dependencies": { "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" } }, - "nth-check": { + "node_modules/nth-check": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { + "dependencies": { "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "object.defaults": { + "node_modules/object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { + "dependencies": { "array-each": "^1.0.1", "array-slice": "^1.0.0", "for-own": "^1.0.0", "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.map": { + "node_modules/object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "requires": { + "dependencies": { "for-own": "^1.0.0", "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.pick": { + "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "optimist": { + "node_modules/optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { + "dependencies": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } } }, - "os-homedir": { + "node_modules/optimist/node_modules/minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "node_modules/os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "os-tmpdir": { + "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "osenv": { + "node_modules/osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { + "deprecated": "This package is no longer supported.", + "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" } }, - "parse-filepath": { + "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { + "dependencies": { "is-absolute": "^1.0.0", "map-cache": "^0.2.0", "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" } }, - "parse-passwd": { + "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "parse5": { + "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, - "parse5-htmlparser2-tree-adapter": { + "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "requires": { + "dependencies": { "parse5": "^6.0.1" } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "path-root": { + "node_modules/path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { + "dependencies": { "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "path-root-regex": { + "node_modules/path-root-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "picomatch": { + "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "plain-draggable": { + "node_modules/plain-draggable": { "version": "2.5.12", "resolved": "https://registry.npmjs.org/plain-draggable/-/plain-draggable-2.5.12.tgz", "integrity": "sha512-NVt88QV/MffzEPPRYB77OQjHJ0jtKcyjQcHhBjPvHiMNE1qKSz6eSlJB8YYi5reRxMHVJeOq4jZXTMozHe1SCQ==", "dev": true }, - "pre-proc": { + "node_modules/pre-proc": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pre-proc/-/pre-proc-1.0.2.tgz", "integrity": "sha1-KxQ0BWLrEvxxTOsi29S/L9ct6OE=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "rechoir": { + "node_modules/react-leader-line": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/react-leader-line/-/react-leader-line-1.0.5.tgz", + "integrity": "sha512-oSFQ8M/ByqE7VSlV4Oetze9OdDR3iyPAToeCj940ON0o72m3MPuQ0fOgKHgoJ9ggk15PSzh8zHsZHMc9hV22uw==", + "license": "MIT" + }, + "node_modules/rechoir": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { + "dependencies": { "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { + "dependencies": { "is-core-module": "^2.8.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-dir": { + "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { + "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "rfdc": { + "node_modules/rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, - "streamroller": { + "node_modules/streamroller": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz", "integrity": "sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==", - "dev": true, - "requires": { + "dependencies": { "date-format": "^4.0.3", "debug": "^4.1.1", "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "supports-color": { + "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "test-page-loader": { + "node_modules/test-page-loader": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/test-page-loader/-/test-page-loader-1.0.8.tgz", "integrity": "sha512-oF0ZetET0IDaOvOPuZQ7dqLGK8qf9sE+Ne/cbzN7TsG3InbQ5vmR4mjIKtQRiL+Y47JvhtynzTV2Uq1LSLyH1w==", "dev": true }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "tslib": { + "node_modules/tslib": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", - "dev": true + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" }, - "uglify-js": { - "version": "3.13.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.7.tgz", - "integrity": "sha512-1Psi2MmnZJbnEsgJJIlfnd7tFlJfitusmR7zDI8lXlFI0ACD4/Rm/xdrU8bh6zF0i74aiVoBtkRiFulkrmh3AA==", - "dev": true + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } }, - "unc-path-regex": { + "node_modules/unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true + "engines": { + "node": ">=0.10.0" + } }, - "underscore.string": { + "node_modules/underscore.string": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", - "dev": true, - "requires": { + "dependencies": { "sprintf-js": "^1.1.1", "util-deprecate": "^1.0.2" + }, + "engines": { + "node": "*" } }, - "universalify": { + "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "engines": { + "node": ">= 10.0.0" + } }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "v8flags": { + "node_modules/v8flags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dev": true, - "requires": { + "dependencies": { "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" } }, - "which": { + "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "wordwrap": { + "node_modules/wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true + "engines": { + "node": ">=0.4.0" + } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } } diff --git a/package.json b/package.json index 87f83aa..6fee494 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "plain-draggable": "^2.5.12", "pre-proc": "^1.0.2", "test-page-loader": "^1.0.8", - "uglify-js": "^3.13.7" + "uglify-js": "^3.19.3" }, "scripts": { "test": "node ./test/httpd" @@ -42,10 +42,139 @@ "type": "git", "url": "git://github.com/anseki/leader-line.git" }, - "bugs": "https://github.com/anseki/leader-line/issues", + "bugs": { + "url": "https://github.com/anseki/leader-line/issues" + }, "license": "MIT", - "author": { - "name": "anseki", - "url": "https://github.com/anseki" + "author": "anseki (https://github.com/anseki)", + "directories": { + "test": "test" + }, + "dependencies": { + "abbrev": "^1.1.1", + "ansi-styles": "^4.3.0", + "argparse": "^1.0.10", + "array-each": "^1.0.1", + "array-slice": "^1.1.0", + "async": "^3.2.3", + "balanced-match": "^1.0.2", + "boolbase": "^1.0.0", + "brace-expansion": "^1.1.11", + "braces": "^3.0.2", + "chalk": "^4.1.2", + "cheerio-select": "^1.4.0", + "color-convert": "^2.0.1", + "color-name": "^1.1.4", + "colors": "^1.1.2", + "concat-map": "^0.0.1", + "css-select": "^4.1.2", + "css-what": "^5.0.1", + "date-format": "^4.0.3", + "dateformat": "^3.0.3", + "debug": "^4.3.3", + "detect-file": "^1.0.0", + "dom-serializer": "^1.3.2", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "entities": "^2.2.0", + "esprima": "^4.0.1", + "eventemitter2": "^0.4.14", + "exit": "^0.1.2", + "expand-tilde": "^2.0.2", + "extend": "^3.0.2", + "fill-range": "^7.0.1", + "findup-sync": "^0.3.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", + "flatted": "^3.2.4", + "for-in": "^1.0.2", + "for-own": "^1.0.0", + "fs-extra": "^10.0.0", + "fs.realpath": "^1.0.0", + "function-bind": "^1.1.1", + "getobject": "^1.0.2", + "glob": "^7.1.7", + "global-modules": "^1.0.0", + "global-prefix": "^1.0.2", + "graceful-fs": "^4.2.9", + "grunt-known-options": "^2.0.0", + "grunt-legacy-log": "^3.0.0", + "grunt-legacy-log-utils": "^2.1.0", + "grunt-legacy-util": "^2.0.1", + "has": "^1.0.3", + "has-flag": "^4.0.0", + "homedir-polyfill": "^1.0.3", + "hooker": "^0.2.3", + "htmlparser2": "^6.1.0", + "iconv-lite": "^0.4.24", + "inflight": "^1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.8", + "interpret": "^1.1.0", + "is-absolute": "^1.0.0", + "is-core-module": "^2.9.0", + "is-extglob": "^2.1.1", + "is-glob": "^4.0.3", + "is-number": "^7.0.0", + "is-plain-object": "^2.0.4", + "is-relative": "^1.0.0", + "is-unc-path": "^1.0.0", + "is-windows": "^1.0.2", + "isexe": "^2.0.0", + "isobject": "^3.0.1", + "js-yaml": "^3.14.1", + "jsonfile": "^6.1.0", + "kind-of": "^6.0.3", + "liftup": "^3.0.1", + "lodash": "^4.17.21", + "make-iterator": "^1.0.1", + "map-cache": "^0.2.2", + "micromatch": "^4.0.5", + "mime": "^1.6.0", + "minimatch": "^3.0.8", + "mkdirp": "^1.0.4", + "ms": "^2.1.2", + "node-static": "^0.7.11", + "nopt": "^3.0.6", + "nth-check": "^2.0.1", + "object.defaults": "^1.1.0", + "object.map": "^1.0.1", + "object.pick": "^1.3.0", + "once": "^1.4.0", + "optimist": "^0.6.1", + "os-homedir": "^1.0.2", + "os-tmpdir": "^1.0.2", + "osenv": "^0.1.5", + "parse-filepath": "^1.0.2", + "parse-passwd": "^1.0.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "path-is-absolute": "^1.0.1", + "path-parse": "^1.0.7", + "path-root": "^0.1.1", + "path-root-regex": "^0.1.2", + "picomatch": "^2.3.1", + "react-leader-line": "^1.0.5", + "rechoir": "^0.7.1", + "resolve": "^1.22.0", + "resolve-dir": "^1.0.1", + "rfdc": "^1.3.0", + "rimraf": "^3.0.2", + "safer-buffer": "^2.1.2", + "sprintf-js": "^1.1.2", + "streamroller": "^3.0.2", + "supports-color": "^7.2.0", + "supports-preserve-symlinks-flag": "^1.0.0", + "to-regex-range": "^5.0.1", + "tslib": "^2.2.0", + "unc-path-regex": "^0.1.2", + "underscore.string": "^3.3.6", + "universalify": "^2.0.0", + "util-deprecate": "^1.0.2", + "v8flags": "^3.2.0", + "which": "^1.3.1", + "wordwrap": "^0.0.3", + "wrappy": "^1.0.2" } } diff --git a/style.css b/style.css new file mode 100644 index 0000000..bc0972c --- /dev/null +++ b/style.css @@ -0,0 +1,38 @@ +#container { + width: 480px; + height: 480px; + position: relative; + background-color: beige; +} + +.terminal { + width: 32px; + height: 32px; + position: absolute; + background-color: blue; +} + +#terminal-1 { + left: 32px; + top: 32px; +} + +#terminal-2 { + left: 416px; + top: 320px; +} + +#terminal-3 { + left: 64px; + top: 180px; +} + + +.leader-line{ + z-index: 1; +} + + +#line-wrapper { + margin: 20px; +} \ No newline at end of file From 374c8db4a5941f0a6fb5d100f19678a9cbb2bda5 Mon Sep 17 00:00:00 2001 From: Abidit Shrestha Date: Thu, 12 Jun 2025 11:40:05 +0545 Subject: [PATCH 4/4] Update leader-line.min.js to support for react import --- leader-line.min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/leader-line.min.js b/leader-line.min.js index 70fad92..95bf2b0 100644 --- a/leader-line.min.js +++ b/leader-line.min.js @@ -1,2 +1,2 @@ -/*! LeaderLine v1.0.8 (c) undefined https://anseki.github.io/leader-line/ */ -var LeaderLine=(()=>{function o(e,t){function n(e){if(!e||0===e.length)return[];var t=new o(e),n=[];if(t.initialCommandIsMoveTo())for(;t.hasMoreData();){var a=t.parseSegment();if(null===a)break;n.push(a)}return n}function a(e){return e.map(function(e){return{type:e.type,values:Array.prototype.slice.call(e.values)}})}function r(e){var p=[],c=null,d=null,f=null,y=null,m=null,S=null,g=null;return e.forEach(function(e){var t,n,a,i,o,l,r,s,u,h;"M"===e.type?(u=e.values[0],h=e.values[1],p.push({type:"M",values:[u,h]}),y=S=u,m=g=h):"C"===e.type?(t=e.values[0],n=e.values[1],i=e.values[2],o=e.values[3],u=e.values[4],h=e.values[5],p.push({type:"C",values:[t,n,i,o,u,h]}),d=i,f=o,y=u,m=h):"L"===e.type?(u=e.values[0],h=e.values[1],p.push({type:"L",values:[u,h]}),y=u,m=h):"H"===e.type?(u=e.values[0],p.push({type:"L",values:[u,m]}),y=u):"V"===e.type?(h=e.values[0],p.push({type:"L",values:[y,h]}),m=h):"S"===e.type?(i=e.values[0],o=e.values[1],u=e.values[2],h=e.values[3],r="C"===c||"S"===c?(l=y+(y-d),m+(m-f)):(l=y,m),p.push({type:"C",values:[l,r,i,o,u,h]}),d=i,f=o,y=u,m=h):"T"===e.type?(u=e.values[0],h=e.values[1],n="Q"===c||"T"===c?(t=y+(y-d),m+(m-f)):(t=y,m),l=y+2*(t-y)/3,r=m+2*(n-m)/3,s=u+2*(t-u)/3,a=h+2*(n-h)/3,p.push({type:"C",values:[l,r,s,a,u,h]}),d=t,f=n,y=u,m=h):"Q"===e.type?(t=e.values[0],n=e.values[1],u=e.values[2],h=e.values[3],l=y+2*(t-y)/3,r=m+2*(n-m)/3,s=u+2*(t-u)/3,a=h+2*(n-h)/3,p.push({type:"C",values:[l,r,s,a,u,h]}),d=t,f=n,y=u,m=h):"A"===e.type?(i=e.values[0],o=e.values[1],l=e.values[2],r=e.values[3],s=e.values[4],u=e.values[5],h=e.values[6],0===i||0===o?(p.push({type:"C",values:[y,m,u,h,u,h]}),y=u,m=h):y===u&&m===h||b(y,m,u,h,i,o,l,r,s).forEach(function(e){p.push({type:"C",values:e}),y=u,m=h})):"Z"===e.type&&(p.push(e),y=S,m=g),c=e.type}),p}var i,o,l,s,u,d,f,b;e.SVGPathElement.prototype.getPathData&&e.SVGPathElement.prototype.setPathData&&!t||(i={Z:"Z",M:"M",L:"L",C:"C",Q:"Q",A:"A",H:"H",V:"V",S:"S",T:"T",z:"Z",m:"m",l:"l",c:"c",q:"q",a:"a",h:"h",v:"v",s:"s",t:"t"},o=function(e){this._string=e,this._currentIndex=0,this._endIndex=this._string.length,this._prevCommand=null,this._skipOptionalSpaces()},l=-1!==e.navigator.userAgent.indexOf("MSIE "),o.prototype={parseSegment:function(){var e=this._string[this._currentIndex],t=i[e]||null;if(null===t){if(null===this._prevCommand)return null;if(null===(t=("+"===e||"-"===e||"."===e||"0"<=e&&e<="9")&&"Z"!==this._prevCommand?"M"===this._prevCommand?"L":"m"===this._prevCommand?"l":this._prevCommand:null))return null}else this._currentIndex+=1;var e=null,n=(this._prevCommand=t).toUpperCase();return"H"===n||"V"===n?e=[this._parseNumber()]:"M"===n||"L"===n||"T"===n?e=[this._parseNumber(),this._parseNumber()]:"S"===n||"Q"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber()]:"C"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber()]:"A"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseArcFlag(),this._parseArcFlag(),this._parseNumber(),this._parseNumber()]:"Z"===n&&(this._skipOptionalSpaces(),e=[]),null===e||0<=e.indexOf(null)?null:{type:t,values:e}},hasMoreData:function(){return this._currentIndex=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex)return null;var e=null,t=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===t)e=0;else{if("1"!==t)return null;e=1}return this._skipOptionalSpacesOrDelimiter(),e}},s=e.SVGPathElement.prototype.setAttribute,u=e.SVGPathElement.prototype.removeAttribute,d=e.Symbol?e.Symbol():"__cachedPathData",f=e.Symbol?e.Symbol():"__cachedNormalizedPathData",b=function(e,t,n,a,i,o,l,r,s,u){function h(e,t,n){return{x:e*Math.cos(n)-t*Math.sin(n),y:e*Math.sin(n)+t*Math.cos(n)}}var p,c,d=Math.PI*l/180,f=[],y=(u?(E=u[0],x=u[1],_=u[2],v=u[3]):(e=(S=h(e,t,-d)).x,t=S.y,1<(y=(m=(e-(n=(S=h(n,a,-d)).x))/2)*m/(i*i)+(S=(t-(a=S.y))/2)*S/(o*o))&&(i*=y=Math.sqrt(y),o*=y),y=i*i,g=o*o,_=(r=(r===s?-1:1)*Math.sqrt(Math.abs((y*g-y*S*S-g*m*m)/(y*S*S+g*m*m))))*i*S/o+(e+n)/2,v=r*-o*m/i+(t+a)/2,E=Math.asin(parseFloat(((t-v)/o).toFixed(9))),x=Math.asin(parseFloat(((a-v)/o).toFixed(9))),e<_&&(E=Math.PI-E),n<_&&(x=Math.PI-x),E<0&&(E=2*Math.PI+E),x<0&&(x=2*Math.PI+x),s&&x120*Math.PI/180&&(g=x,S=n,r=a,x=s&&E',ue={disc:{elmId:"leader-line-disc",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},square:{elmId:"leader-line-square",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},arrow1:{elmId:"leader-line-arrow1",bBox:{left:-8,top:-8,width:16,height:16,right:8,bottom:8},widthR:4,heightR:4,bCircle:8,sideLen:8,backLen:8,overhead:8,outlineBase:2,outlineMax:1.5},arrow2:{elmId:"leader-line-arrow2",bBox:{left:-7,top:-8,width:11,height:16,right:4,bottom:8},widthR:2.75,heightR:4,bCircle:8,sideLen:8,backLen:7,overhead:4,outlineBase:1,outlineMax:1.75},arrow3:{elmId:"leader-line-arrow3",bBox:{left:-4,top:-5,width:12,height:10,right:8,bottom:5},widthR:3,heightR:2.5,bCircle:8,sideLen:5,backLen:4,overhead:8,outlineBase:1,outlineMax:2.5},hand:{elmId:"leader-line-hand",bBox:{left:-3,top:-12,width:40,height:24,right:37,bottom:12},widthR:10,heightR:6,bCircle:37,sideLen:12,backLen:3,overhead:37},crosshair:{elmId:"leader-line-crosshair",noRotate:!0,bBox:{left:-96,top:-96,width:192,height:192,right:96,bottom:96},widthR:48,heightR:48,bCircle:96,sideLen:96,backLen:96,overhead:0}},he={behind:Z,disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},pe={disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},ce=[B,R,F,G],C="auto",de={x:"left",y:"top",width:"width",height:"height"},fe=80,ye=4,me=5,Se=120,ge=8,_e=3.75,D=10,z=30,ve=.5522847,Ee=.25*Math.PI,xe=/^\s*(\-?[\d\.]+)\s*(\%)?\s*$/,L="http://www.w3.org/2000/svg",Y=!(we="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style&&!window.navigator.msPointerEnabled)&&!!document.uniqueID,X="MozAppearance"in document.documentElement.style,be=!(we||X||!window.chrome||!window.CSS),q=!we&&!Y&&!X&&!be&&!window.chrome&&"WebkitAppearance"in document.documentElement.style,ke=Y||we?.2:.1,Q={path:ae,lineColor:"coral",lineSize:4,plugSE:[Z,"arrow1"],plugSizeSE:[1,1],lineOutlineEnabled:!1,lineOutlineColor:"indianred",lineOutlineSize:.25,plugOutlineEnabledSE:[!1,!1],plugOutlineSizeSE:[1,1]},A=(x={}.toString,b={}.hasOwnProperty.toString,k=b.call(Object),function(e){return e&&"[object Object]"===x.call(e)&&(!(e=Object.getPrototypeOf(e))||(e=e.hasOwnProperty("constructor")&&e.constructor)&&"function"==typeof e&&b.call(e)===k)}),V=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},s=(_={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},v=1e3/60/2,y=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,v)},m=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)},S=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},g=[],E=0,{add:function(n,e,t,a,i,o,l){var r,s,u,h,p,c,d,f,y,m=++E;function S(e,t){return{value:n(t),timeRatio:e,outputRatio:t}}if("string"==typeof i&&(i=_[i]),n=n||function(){},t=e.loopsLeft)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);e.loopsLeft-=n}e.framesStart+=e.duration*n,t=i-e.framesStart}e.reverse&&(t=e.duration-t),a=e.frames[e.lastFrame=Math.round(t/v)],!1!==e.frameCallback(a.value,!1,a.timeRatio,a.outputRatio)?o=!0:e.framesStart=null}}),o&&(e=y.call(window,Ve))}function Pe(e,t){e.framesStart=Date.now(),null!=t&&(e.framesStart-=e.duration*(e.reverse?1-t:t)),e.loopsLeft=e.count,e.lastFrame=null,Ve()}function K(t,n){var e,a;return typeof t!=typeof n||(e=A(t)?"obj":Array.isArray(t)?"array":"")!=(A(n)?"obj":Array.isArray(n)?"array":"")||("obj"===e?K(a=Object.keys(t).sort(),Object.keys(n).sort())||a.some(function(e){return K(t[e],n[e])}):"array"===e?t.length!==n.length||t.some(function(e,t){return K(e,n[t])}):t!==n)}function J(n){return n&&(A(n)?Object.keys(n).reduce(function(e,t){return e[t]=J(n[t]),e},{}):Array.isArray(n)?n.map(J):n)}function Ne(e){var t,n,a,i=1,o=e=(e+"").trim();function l(e){var t=1,e=xe.exec(e);return e&&(t=parseFloat(e[1]),e[2]?t=0<=t&&t<=100?t/100:1:(t<0||1=Math.abs(n)?0<=t?R:G:0<=n?F:B))})),m.position_path!==S.position_path||m.position_lineStrokeWidth!==S.position_lineStrokeWidth||[0,1].some(function(e){return m.position_plugOverheadSE[e]!==S.position_plugOverheadSE[e]||(t=g[e],n=S.position_socketXYSE[e],t.x!==n.x)||t.y!==n.y||t.socketId!==n.socketId||(t=i[e],n=S.position_socketGravitySE[e],(e=null==t?"auto":Array.isArray(t)?"array":"number")!=(null==n?"auto":Array.isArray(n)?"array":"number"))||("array"==e?t[0]!==n[0]||t[1]!==n[1]:t!==n);var t,n})){switch(l.pathList.baseVal=d=[],l.pathList.animVal=null,m.position_path){case te:d.push([E(g[0]),E(g[1])]);break;case ne:t="number"==typeof i[0]&&0ye?(m.position_lineStrokeWidth-ye)*me:0),e.socketId===B?{x:0,y:-(a=(a=(e.y-i.y)/2)=t.x:t.dirId===w?e.y>=t.y:e.x<=t.x}function P(e,t){return t.dirId===b||t.dirId===w?e.x===t.x:e.y===t.y}function W(e){return e[0]?{contain:0,notContain:1}:{contain:1,notContain:0}}function N(e,t,n){return Math.abs(t[n]-e[n])}function T(e,t,n){return"x"===n?e.x{var e,t,a,i,n=[V(I[1],I[0]),V(I[0],I[1])],o=[L(I[0].dirId),L(I[1].dirId)];if(o[0]===o[1]){if(n[0]&&n[1])return P(I[1],I[0])||(I[0][o[0]]===I[1][o[1]]?(M[0].push(I[0]),M[1].push(I[1])):(e=I[0][o[0]]+(I[1][o[1]]-I[0][o[0]])/2,M[0].push(A(I[0],Math.abs(e-I[0][o[0]]))),M[1].push(A(I[1],Math.abs(e-I[1][o[1]]))))),0;n[0]!==n[1]?(t=W(n),(a=N(I[t.notContain],I[t.contain],o[t.notContain]))=z?T(I[t.notContain],I[t.contain],o[t.contain]):I[t.contain].dirId)):(i=[{x:I[0].x,y:I[0].y},{x:I[1].x,y:I[1].y}],M.forEach(function(e,t){var n=0===t?1:0,a=N(i[t],i[n],o[t]);an.outlineMax&&(t=n.outlineMax),t*=2*n.outlineBase,s=ee(l,r.plugOutline_strokeWidthSE,e,t)||s,s=ee(l,r.plugOutline_inStrokeWidthSE,e,r.plugOutline_colorTraSE[e]?t-ke/(r.line_strokeWidth/Q.lineSize)/B.plugSizeSE[e]*2:t/2)||s)}),s)),(t.faces||T.line||T.plug||T.lineOutline||T.plugOutline)&&(T.faces=(y=(u=e).curStats,m=u.aplStats,S=u.events,g=!1,!y.line_altColor&&ee(u,m,"line_color",f=y.line_color,S.apl_line_color)&&(u.lineFace.style.stroke=f,g=!0),ee(u,m,"line_strokeWidth",f=y.line_strokeWidth,S.apl_line_strokeWidth)&&(u.lineShape.style.strokeWidth=f+"px",g=!0,X||Y)&&($(u,u.lineShape),Y)&&($(u,u.lineFace),$(u,u.lineMaskCaps)),ee(u,m,"lineOutline_enabled",f=y.lineOutline_enabled,S.apl_lineOutline_enabled)&&(u.lineOutlineFace.style.display=f?"inline":"none",g=!0),y.lineOutline_enabled&&(ee(u,m,"lineOutline_color",f=y.lineOutline_color,S.apl_lineOutline_color)&&(u.lineOutlineFace.style.stroke=f,g=!0),ee(u,m,"lineOutline_strokeWidth",f=y.lineOutline_strokeWidth,S.apl_lineOutline_strokeWidth)&&(u.lineOutlineMaskShape.style.strokeWidth=f+"px",g=!0,Y)&&($(u,u.lineOutlineMaskCaps),$(u,u.lineOutlineFace)),ee(u,m,"lineOutline_inStrokeWidth",f=y.lineOutline_inStrokeWidth,S.apl_lineOutline_inStrokeWidth))&&(u.lineMaskShape.style.strokeWidth=f+"px",g=!0,Y)&&($(u,u.lineOutlineMaskCaps),$(u,u.lineOutlineFace)),ee(u,m,"plug_enabled",f=y.plug_enabled,S.apl_plug_enabled)&&(u.plugsFace.style.display=f?"inline":"none",g=!0),y.plug_enabled&&[0,1].forEach(function(n){var e=y.plug_plugSE[n],t=e!==Z?ue[pe[e]]:null,a=Qe(n,t);ee(u,m.plug_enabledSE,n,f=y.plug_enabledSE[n],S.apl_plug_enabledSE)&&(u.plugsFace.style[a.prop]=f?"url(#"+u.plugMarkerIdSE[n]+")":"none",g=!0),y.plug_enabledSE[n]&&(ee(u,m.plug_plugSE,n,e,S.apl_plug_plugSE)&&(u.plugFaceSE[n].href.baseVal="#"+t.elmId,qe(u,u.plugMarkerSE[n],a.orient,t.bBox,u.svg,u.plugMarkerShapeSE[n],u.plugsFace),g=!0,X)&&$(u,u.plugsFace),ee(u,m.plug_colorSE,n,f=y.plug_colorSE[n],S.apl_plug_colorSE)&&(u.plugFaceSE[n].style.fill=f,g=!0,be||q||Y)&&!y.line_colorTra&&$(u,Y?u.lineMaskCaps:u.capsMaskLine),["markerWidth","markerHeight"].forEach(function(e){var t="plug_"+e+"SE";ee(u,m[t],n,f=y[t][n],S["apl_"+t])&&(u.plugMarkerSE[n][e].baseVal.value=f,g=!0)}),ee(u,m.plugOutline_enabledSE,n,f=y.plugOutline_enabledSE[n],S.apl_plugOutline_enabledSE)&&(f?(u.plugFaceSE[n].style.mask="url(#"+u.plugMaskIdSE[n]+")",u.plugOutlineFaceSE[n].style.display="inline"):(u.plugFaceSE[n].style.mask="none",u.plugOutlineFaceSE[n].style.display="none"),g=!0),y.plugOutline_enabledSE[n])&&(ee(u,m.plugOutline_plugSE,n,e,S.apl_plugOutline_plugSE)&&(u.plugOutlineFaceSE[n].href.baseVal=u.plugMaskShapeSE[n].href.baseVal=u.plugOutlineMaskShapeSE[n].href.baseVal="#"+t.elmId,[u.plugMaskSE[n],u.plugOutlineMaskSE[n]].forEach(function(e){e.x.baseVal.value=t.bBox.left,e.y.baseVal.value=t.bBox.top,e.width.baseVal.value=t.bBox.width,e.height.baseVal.value=t.bBox.height}),g=!0),ee(u,m.plugOutline_colorSE,n,f=y.plugOutline_colorSE[n],S.apl_plugOutline_colorSE)&&(u.plugOutlineFaceSE[n].style.fill=f,g=!0,Y)&&($(u,u.lineMaskCaps),$(u,u.lineOutlineMaskCaps)),ee(u,m.plugOutline_strokeWidthSE,n,f=y.plugOutline_strokeWidthSE[n],S.apl_plugOutline_strokeWidthSE)&&(u.plugOutlineMaskShapeSE[n].style.strokeWidth=f+"px",g=!0),ee(u,m.plugOutline_inStrokeWidthSE,n,f=y.plugOutline_inStrokeWidthSE[n],S.apl_plugOutline_inStrokeWidthSE))&&(u.plugMaskShapeSE[n].style.strokeWidth=f+"px",g=!0)}),g)),(t.position||T.line||T.plug)&&(T.position=$e(e)),(t.path||T.position)&&(T.path=(v=(_=e).curStats,k=_.aplStats,b=_.pathList.animVal||_.pathList.baseVal,E=v.path_edge,O=!1,b&&(E.x1=E.x2=b[0][0].x,E.y1=E.y2=b[0][0].y,v.path_pathData=R=He(b,function(e){e.xE.x2&&(E.x2=e.x),e.y>E.y2&&(E.y2=e.y)}),Ze(R,k.path_pathData))&&(_.linePath.setPathData(R),k.path_pathData=R,O=!0,Y?($(_,_.plugsFace),$(_,_.lineMaskCaps)):X&&$(_,_.linePath),_.events.apl_path)&&_.events.apl_path.forEach(function(e){e(_,R)}),O)),T.viewBox=(b=(x=e).curStats,k=b.path_edge,w=b.viewBox_bBox,F=x.aplStats.viewBox_bBox,G=x.svg.viewBox.baseVal,D=x.svg.style,z=!1,O=Math.max(b.line_strokeWidth/2,b.viewBox_plugBCircleSE[0]||0,b.viewBox_plugBCircleSE[1]||0),M={x1:k.x1-O,y1:k.y1-O,x2:k.x2+O,y2:k.y2+O},x.events.new_edge4viewBox&&x.events.new_edge4viewBox.forEach(function(e){e(x,M)}),w.x=b.lineMask_x=b.lineOutlineMask_x=b.maskBGRect_x=M.x1,w.y=b.lineMask_y=b.lineOutlineMask_y=b.maskBGRect_y=M.y1,w.width=M.x2-M.x1,w.height=M.y2-M.y1,["x","y","width","height"].forEach(function(e){var t;(t=w[e])!==F[e]&&(G[e]=F[e]=t,D[de[e]]=t+("x"===e||"y"===e?x.bodyOffset[e]:0)+"px",z=!0)}),z),T.mask=(L=(I=e).curStats,A=I.aplStats,V=!1,L.plug_enabled?[0,1].forEach(function(e){L.capsMaskMarker_enabledSE[e]=L.plug_enabledSE[e]&&L.plug_colorTraSE[e]||L.plugOutline_enabledSE[e]&&L.plugOutline_colorTraSE[e]}):L.capsMaskMarker_enabledSE[0]=L.capsMaskMarker_enabledSE[1]=!1,L.capsMaskMarker_enabled=L.capsMaskMarker_enabledSE[0]||L.capsMaskMarker_enabledSE[1],L.lineMask_outlineMode=L.lineOutline_enabled,L.caps_enabled=L.capsMaskMarker_enabled||L.capsMaskAnchor_enabledSE[0]||L.capsMaskAnchor_enabledSE[1],L.lineMask_enabled=L.caps_enabled||L.lineMask_outlineMode,(L.lineMask_enabled&&!L.lineMask_outlineMode||L.lineOutline_enabled)&&["x","y"].forEach(function(e){var t="maskBGRect_"+e;ee(I,A,t,C=L[t])&&(I.maskBGRect[e].baseVal.value=C,V=!0)}),ee(I,A,"lineMask_enabled",C=L.lineMask_enabled)&&(I.lineFace.style.mask=C?"url(#"+I.lineMaskId+")":"none",V=!0,q)&&$(I,I.lineMask),L.lineMask_enabled&&(ee(I,A,"lineMask_outlineMode",C=L.lineMask_outlineMode)&&(C?(I.lineMaskBG.style.display="none",I.lineMaskShape.style.display="inline"):(I.lineMaskBG.style.display="inline",I.lineMaskShape.style.display="none"),V=!0),["x","y"].forEach(function(e){var t="lineMask_"+e;ee(I,A,t,C=L[t])&&(I.lineMask[e].baseVal.value=C,V=!0)}),ee(I,A,"caps_enabled",C=L.caps_enabled)&&(I.lineMaskCaps.style.display=I.lineOutlineMaskCaps.style.display=C?"inline":"none",V=!0,q)&&$(I,I.capsMaskLine),L.caps_enabled)&&([0,1].forEach(function(e){var t;ee(I,A.capsMaskAnchor_enabledSE,e,C=L.capsMaskAnchor_enabledSE[e])&&(I.capsMaskAnchorSE[e].style.display=C?"inline":"none",V=!0,q)&&$(I,I.lineMask),L.capsMaskAnchor_enabledSE[e]&&(Ze(t=L.capsMaskAnchor_pathDataSE[e],A.capsMaskAnchor_pathDataSE[e])&&(I.capsMaskAnchorSE[e].setPathData(t),A.capsMaskAnchor_pathDataSE[e]=t,V=!0),ee(I,A.capsMaskAnchor_strokeWidthSE,e,C=L.capsMaskAnchor_strokeWidthSE[e]))&&(I.capsMaskAnchorSE[e].style.strokeWidth=C+"px",V=!0)}),ee(I,A,"capsMaskMarker_enabled",C=L.capsMaskMarker_enabled)&&(I.capsMaskLine.style.display=C?"inline":"none",V=!0),L.capsMaskMarker_enabled)&&[0,1].forEach(function(n){var e=L.capsMaskMarker_plugSE[n],t=e!==Z?ue[pe[e]]:null,a=Qe(n,t);ee(I,A.capsMaskMarker_enabledSE,n,C=L.capsMaskMarker_enabledSE[n])&&(I.capsMaskLine.style[a.prop]=C?"url(#"+I.lineMaskMarkerIdSE[n]+")":"none",V=!0),L.capsMaskMarker_enabledSE[n]&&(ee(I,A.capsMaskMarker_plugSE,n,e)&&(I.capsMaskMarkerShapeSE[n].href.baseVal="#"+t.elmId,qe(I,I.capsMaskMarkerSE[n],a.orient,t.bBox,I.svg,I.capsMaskMarkerShapeSE[n],I.capsMaskLine),V=!0,X)&&($(I,I.capsMaskLine),$(I,I.lineFace)),["markerWidth","markerHeight"].forEach(function(e){var t="capsMaskMarker_"+e+"SE";ee(I,A[t],n,C=L[t][n])&&(I.capsMaskMarkerSE[n][e].baseVal.value=C,V=!0)}))}),L.lineOutline_enabled&&["x","y"].forEach(function(e){var t="lineOutlineMask_"+e;ee(I,A,t,C=L[t])&&(I.lineOutlineMask[e].baseVal.value=C,V=!0)}),V),t.effect&&(H=(P=e).curStats,N=P.aplStats,Object.keys(U).forEach(function(e){var t=U[e],n=e+"_enabled",e=e+"_options",a=H[e];ee(P,N,n,j=H[n])?(j&&(N[e]=J(a)),t[j?"init":"remove"](P)):j&&K(a,N[e])&&(t.remove(P),N[n]=!0,N[e]=J(a),t.init(P))})),(be||q)&&T.line&&!T.path&&$(e,e.lineShape),be&&T.plug&&!T.line&&$(e,e.plugsFace),Xe(e)}function tt(e,t){return{duration:(V(e.duration)&&0{var n,a;if((e=Be(e))&&(n=Be(t)))return e.length&&n.length&&(e.reverse(),n.reverse(),e.some(function(t){return n.some(function(e){return e===t&&(a=e.contentWindow,!0)})})),a||window;throw new Error("Cannot get frames.")})(!1!==s.optionIsAttach.anchorSE[0]?j[S.anchorSE[0]._id].element:S.anchorSE[0],!1!==s.optionIsAttach.anchorSE[1]?j[S.anchorSE[1]._id].element:S.anchorSE[1]))!==s.baseWindow&&(e=e,f=(n=s).aplStats,y=e.document,m=I+"-"+n._id,n.pathList={},P(f,Oe),Object.keys(U).forEach(function(e){var t=e+"_enabled";f[t]&&(U[e].remove(n),f[t]=!1)}),n.baseWindow&&n.svg&&n.baseWindow.document.body.removeChild(n.svg),Je(n.baseWindow=e),n.bodyOffset=Ke(e),n.svg=e=y.createElementNS(L,"svg"),e.className.baseVal=I,e.viewBox.baseVal||e.setAttribute("viewBox","0 0 0 0"),n.defs=a=e.appendChild(y.createElementNS(L,"defs")),n.linePath=o=a.appendChild(y.createElementNS(L,"path")),o.id=l=m+"-line-path",o.className.baseVal=I+"-line-path",q&&(o.style.fill="none"),n.lineShape=o=a.appendChild(y.createElementNS(L,"use")),o.id=r=m+"-line-shape",o.href.baseVal="#"+l,(t=a.appendChild(y.createElementNS(L,"g"))).id=h=m+"-caps",n.capsMaskAnchorSE=[0,1].map(function(){var e=t.appendChild(y.createElementNS(L,"path"));return e.className.baseVal=I+"-caps-mask-anchor",e}),n.lineMaskMarkerIdSE=[m+"-caps-mask-marker-0",m+"-caps-mask-marker-1"],n.capsMaskMarkerSE=[0,1].map(function(e){return b(n.lineMaskMarkerIdSE[e])}),n.capsMaskMarkerShapeSE=[0,1].map(function(e){e=n.capsMaskMarkerSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-caps-mask-marker-shape",e}),n.capsMaskLine=o=t.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-caps-mask-line",o.href.baseVal="#"+r,n.maskBGRect=o=k(a.appendChild(y.createElementNS(L,"rect"))),o.id=p=m+"-mask-bg-rect",o.className.baseVal=I+"-mask-bg-rect",q&&(o.style.fill="white"),n.lineMask=k(x(n.lineMaskId=m+"-line-mask")),n.lineMaskBG=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+p,n.lineMaskShape=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-line-mask-shape",o.href.baseVal="#"+l,o.style.display="none",n.lineMaskCaps=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+h,n.lineOutlineMask=k(x(c=m+"-line-outline-mask")),(o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use"))).href.baseVal="#"+p,n.lineOutlineMaskShape=o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-line-outline-mask-shape",o.href.baseVal="#"+l,n.lineOutlineMaskCaps=o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+h,n.face=e.appendChild(y.createElementNS(L,"g")),n.lineFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+r,n.lineOutlineFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+r,o.style.mask="url(#"+c+")",o.style.display="none",n.plugMaskIdSE=[m+"-plug-mask-0",m+"-plug-mask-1"],n.plugMaskSE=[0,1].map(function(e){return x(n.plugMaskIdSE[e])}),n.plugMaskShapeSE=[0,1].map(function(e){e=n.plugMaskSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-plug-mask-shape",e}),d=[],n.plugOutlineMaskSE=[0,1].map(function(e){return x(d[e]=m+"-plug-outline-mask-"+e)}),n.plugOutlineMaskShapeSE=[0,1].map(function(e){e=n.plugOutlineMaskSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-plug-outline-mask-shape",e}),n.plugMarkerIdSE=[m+"-plug-marker-0",m+"-plug-marker-1"],n.plugMarkerSE=[0,1].map(function(e){e=b(n.plugMarkerIdSE[e]);return q&&(e.markerUnits.baseVal=SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE),e}),n.plugMarkerShapeSE=[0,1].map(function(e){return n.plugMarkerSE[e].appendChild(y.createElementNS(L,"g"))}),n.plugFaceSE=[0,1].map(function(e){return n.plugMarkerShapeSE[e].appendChild(y.createElementNS(L,"use"))}),n.plugOutlineFaceSE=[0,1].map(function(e){var t=n.plugMarkerShapeSE[e].appendChild(y.createElementNS(L,"use"));return t.style.mask="url(#"+d[e]+")",t.style.display="none",t}),n.plugsFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-plugs-face",o.href.baseVal="#"+r,o.style.display="none",n.curStats.show_inAnim?(n.isShown=1,w[f.show_effect].stop(n,!0)):n.isShown||(e.style.visibility="hidden"),(0=l[++i];)n.push(o[i]),t-=l[i];t&&(2===(e=o[i]).length?n.push([e[0],Fe(e[0],e[1],t/l[i])]):(a=De(e[0],e[1],e[2],e[3],je(e[0],e[1],e[2],e[3],t)),n.push([e[0],a.fromP1,a.fromP2,a])))}return n},function(e,t){t?w.draw.stop(n,!0):(n.pathList.animVal=e,N(n,{path:!0}))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.draw.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=s.stop(a.show_animId)),et(e,1),a.show_inAnim=!0,u(e,"apl_position",w.draw.update),s.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?s.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.pathList.animVal=n?null:[[e.pathList.baseVal[0][0],e.pathList.baseVal[0][0]]],N(e,{path:!0}),et(e,n)),a},update:function(e){a(e,"apl_position",w.draw.update),e.curStats.show_inAnim?w.draw.init(e,w.draw.stop(e)):e.aplStats.show_animOptions={}}}},[["start","anchorSE",0],["end","anchorSE",1],["color","lineColor"],["size","lineSize"],["startSocketGravity","socketGravitySE",0],["endSocketGravity","socketGravitySE",1],["startPlugColor","plugColorSE",0],["endPlugColor","plugColorSE",1],["startPlugSize","plugSizeSE",0],["endPlugSize","plugSizeSE",1],["outline","lineOutlineEnabled"],["outlineColor","lineOutlineColor"],["outlineSize","lineOutlineSize"],["startPlugOutline","plugOutlineEnabledSE",0],["endPlugOutline","plugOutlineEnabledSE",1],["startPlugOutlineColor","plugOutlineColorSE",0],["endPlugOutlineColor","plugOutlineColorSE",1],["startPlugOutlineSize","plugOutlineSizeSE",0],["endPlugOutlineSize","plugOutlineSizeSE",1]].forEach(function(e){var t=e[0],n=e[1],a=e[2];Object.defineProperty(p.prototype,t,{get:function(){var e=null!=a?r[this._id].options[n][a]:n?r[this._id].options[n]:r[this._id].options[t];return null==e?C:J(e)},set:lt(t),enumerable:!0})}),[["path",le],["startSocket",W,"socketSE",0],["endSocket",W,"socketSE",1],["startPlug",he,"plugSE",0],["endPlug",he,"plugSE",1]].forEach(function(e){var a=e[0],i=e[1],o=e[2],l=e[3];Object.defineProperty(p.prototype,a,{get:function(){var t,n=null!=l?r[this._id].options[o][l]:o?r[this._id].options[o]:r[this._id].options[a];return n?Object.keys(i).some(function(e){return i[e]===n&&(t=e,!0)})?t:new Error("It's broken"):C},set:lt(a),enumerable:!0})}),Object.keys(U).forEach(function(n){var a=U[n];Object.defineProperty(p.prototype,n,{get:function(){var s,e,t=r[this._id].options[n];return A(t)?(s=t,e=a.optionsConf.reduce(function(e,t){var n,a=t[0],i=t[1],o=t[2],l=t[3],t=t[4],r=null!=t?s[l][t]:l?s[l]:s[i];return e[i]="id"===a?r?Object.keys(o).some(function(e){return o[e]===r&&(n=e,!0)})?n:new Error("It's broken"):C:null==r?C:J(r),e},{}),a.anim&&(e.animation=J(s.animation)),e):t},set:lt(n),enumerable:!0})}),["startLabel","endLabel","middleLabel"].forEach(function(e,n){Object.defineProperty(p.prototype,e,{get:function(){var e=r[this._id],t=e.options;return t.labelSEM[n]&&!e.optionIsAttach.labelSEM[n]?j[t.labelSEM[n]._id].text:t.labelSEM[n]||""},set:lt(e),enumerable:!0})}),p.prototype.setOptions=function(e){return ot(r[this._id],e),this},p.prototype.position=function(){return N(r[this._id],{position:!0}),this},p.prototype.remove=function(){var t=r[this._id],n=t.curStats;Object.keys(U).forEach(function(e){e+="_animId";n[e]&&s.remove(n[e])}),n.show_animId&&s.remove(n.show_animId),t.attachments.slice().forEach(function(e){it(t,e)}),t.baseWindow&&t.svg&&t.baseWindow.document.body.removeChild(t.svg),delete r[this._id]},p.prototype.show=function(e,t){return nt(r[this._id],!0,e,t),this},p.prototype.hide=function(e,t){return nt(r[this._id],!1,e,t),this},l=function(t){t&&j[t._id]&&(t.boundTargets.slice().forEach(function(e){it(e.props,t,!0)}),t.conf.remove&&t.conf.remove(t),delete j[t._id])},rt.prototype.remove=function(){var t=this,n=j[t._id];n&&(n.boundTargets.slice().forEach(function(e){n.conf.removeOption(n,e)}),Ye(function(){var e=j[t._id];e&&(console.error("LeaderLineAttachment was not removed by removeOption"),l(e))}))},M=rt,window.LeaderLineAttachment=M,T=function(e,t){return e instanceof M&&(!(e.isRemoved||t&&j[e._id].conf.type!==t)||null)},O={pointAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Te}],init:function(e,t){return e.element=O.pointAnchor.checkElement(t.element),e.x=O.pointAnchor.parsePercent(t.x,!0)||[.5,!0],e.y=O.pointAnchor.parsePercent(t.y,!0)||[.5,!0],!0},removeOption:function(e,t){var n=t.props,a={},e=e.element,i=n.options.anchorSE["start"===t.optionName?1:0];e===i&&(e=i===document.body?new M(O.pointAnchor,[e]):document.body),a[t.optionName]=e,ot(n,a)},getBBoxNest:function(e,t){var t=Re(e.element,t.baseWindow),n=t.width,a=t.height;return t.width=t.height=0,t.left=t.right=t.left+e.x[0]*(e.x[1]?n:1),t.top=t.bottom=t.top+e.y[0]*(e.y[1]?a:1),t},parsePercent:function(e,t){var n,a=!1;return V(e)?n=e:"string"==typeof e&&(e=xe.exec(e))&&e[2]&&(a=0!==(n=parseFloat(e[1])/100)),null!=n&&(t||0<=n)?[n,a]:null},checkElement:function(e){if(null==e)e=document.body;else if(!Te(e))throw new Error("`element` must be Element");return e}},areaAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Te},{optionName:"shape",type:"string"}],stats:{color:{},strokeWidth:{},elementWidth:{},elementHeight:{},elementLeft:{},elementTop:{},pathListRel:{},bBoxRel:{},pathData:{},viewBoxBBox:{hasProps:!0},dashLen:{},dashGap:{}},init:function(a,e){var t,n=[];return a.element=O.pointAnchor.checkElement(e.element),"string"==typeof e.color&&(a.color=e.color.trim()),"string"==typeof e.fillColor&&(a.fill=e.fillColor.trim()),V(e.size)&&0<=e.size&&(a.size=e.size),e.dash&&(a.dash=!0,V(e.dash.len)&&0o[++l];)a.push(e[l]),r-=o[l];return 2===(n=e[l]).length?Fe(n[0],n[1],r/o[l]):De(n[0],n[1],n[2],n[3],je(n[0],n[1],n[2],n[3],r))},initSvg:function(t,n){var e,a,i=O.captionLabel.newText(t.text,n.baseWindow.document,n.svg,I+"-captionLabel-"+t._id,t.outlineColor);["elmPosition","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=i[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(i.styleText[e]=t[e])}),i.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),e=i.elmPosition.getBBox(),t.width=e.width,t.height=e.height,t.outlineColor&&(a=e.height/9,i.styleStroke.strokeWidth=(a=10{for(var l,r,s=ze(e,t,n,a)/o,u=1/(od?((t=f.points)[1]=Ge(t[0],t[1],-d),f.len=H(t[0],t[1])):(f.points=null,f.len=0),e.len>d+n?((t=e.points)[0]=Ge(t[1],t[0],-(d+n)),e.len=H(t[0],t[1])):(e.points=null,e.len=0)),e):null}),y.reduce(function(t,e){var n=e.points;return n&&(a&&m(n[0],a)||t.push({type:"M",values:[n[0].x,n[0].y]}),"line"===e.type?t.push({type:"L",values:[n[1].x,n[1].y]}):(n.shift(),n.forEach(function(e){t.push({type:"L",values:[e.x,e.y]})})),a=n[n.length-1]),t},[])},newText:function(e,t,n,a){var i,o,l,r,s=t.createElementNS(L,"defs"),u=s.appendChild(t.createElementNS(L,"path"));return u.id=i=n+"-path",(l=(o=t.createElementNS(L,"text")).appendChild(t.createElementNS(L,"textPath"))).href.baseVal="#"+i,l.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),l.textContent=e,"boolean"!=typeof h&&(h="paintOrder"in o.style),a&&!h?(o.id=i=n+"-text",s.appendChild(o),(n=(e=t.createElementNS(L,"g")).appendChild(t.createElementNS(L,"use"))).href.baseVal="#"+i,(t=e.appendChild(t.createElementNS(L,"use"))).href.baseVal="#"+i,(r=n.style).strokeLinejoin="round",{elmPosition:o,elmPath:u,elmOffset:l,styleText:o.style,styleFill:t.style,styleStroke:r,styleShow:e.style,elmsAppend:[s,e]}):(r=o.style,a&&(r.strokeLinejoin="round",r.paintOrder="stroke"),{elmPosition:o,elmPath:u,elmOffset:l,styleText:r,styleFill:r,styleStroke:a?r:null,styleShow:r,elmsAppend:[s,o]})},initSvg:function(t,n){var e,a,i,o=O.pathLabel.newText(t.text,n.baseWindow.document,I+"-pathLabel-"+t._id,t.outlineColor);["elmPosition","elmPath","elmOffset","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=o[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(o.styleText[e]=t[e])}),o.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),o.elmPath.setPathData([{type:"M",values:[0,100]},{type:"h",values:[100]}]),be&&(i=o.elmOffset.href.baseVal,o.elmOffset.href.baseVal=""),e=o.elmPosition.getBBox(),be&&(o.elmOffset.href.baseVal=i),o.styleText.textAnchor=["start","end","middle"][t.semIndex],2!==t.semIndex||t.lineOffset||o.elmOffset.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE,50),t.height=e.height,t.outlineColor&&(a=e.height/9,o.styleStroke.strokeWidth=(a=10{function o(e,t){function n(e){if(!e||0===e.length)return[];var t=new o(e),n=[];if(t.initialCommandIsMoveTo())for(;t.hasMoreData();){var a=t.parseSegment();if(null===a)break;n.push(a)}return n}function a(e){return e.map(function(e){return{type:e.type,values:Array.prototype.slice.call(e.values)}})}function r(e){var p=[],c=null,d=null,f=null,y=null,m=null,S=null,g=null;return e.forEach(function(e){var t,n,a,i,o,l,r,s,u,h;"M"===e.type?(u=e.values[0],h=e.values[1],p.push({type:"M",values:[u,h]}),y=S=u,m=g=h):"C"===e.type?(t=e.values[0],n=e.values[1],i=e.values[2],o=e.values[3],u=e.values[4],h=e.values[5],p.push({type:"C",values:[t,n,i,o,u,h]}),d=i,f=o,y=u,m=h):"L"===e.type?(u=e.values[0],h=e.values[1],p.push({type:"L",values:[u,h]}),y=u,m=h):"H"===e.type?(u=e.values[0],p.push({type:"L",values:[u,m]}),y=u):"V"===e.type?(h=e.values[0],p.push({type:"L",values:[y,h]}),m=h):"S"===e.type?(i=e.values[0],o=e.values[1],u=e.values[2],h=e.values[3],r="C"===c||"S"===c?(l=y+(y-d),m+(m-f)):(l=y,m),p.push({type:"C",values:[l,r,i,o,u,h]}),d=i,f=o,y=u,m=h):"T"===e.type?(u=e.values[0],h=e.values[1],n="Q"===c||"T"===c?(t=y+(y-d),m+(m-f)):(t=y,m),l=y+2*(t-y)/3,r=m+2*(n-m)/3,s=u+2*(t-u)/3,a=h+2*(n-h)/3,p.push({type:"C",values:[l,r,s,a,u,h]}),d=t,f=n,y=u,m=h):"Q"===e.type?(t=e.values[0],n=e.values[1],u=e.values[2],h=e.values[3],l=y+2*(t-y)/3,r=m+2*(n-m)/3,s=u+2*(t-u)/3,a=h+2*(n-h)/3,p.push({type:"C",values:[l,r,s,a,u,h]}),d=t,f=n,y=u,m=h):"A"===e.type?(i=e.values[0],o=e.values[1],l=e.values[2],r=e.values[3],s=e.values[4],u=e.values[5],h=e.values[6],0===i||0===o?(p.push({type:"C",values:[y,m,u,h,u,h]}),y=u,m=h):y===u&&m===h||b(y,m,u,h,i,o,l,r,s).forEach(function(e){p.push({type:"C",values:e}),y=u,m=h})):"Z"===e.type&&(p.push(e),y=S,m=g),c=e.type}),p}var i,o,l,s,u,d,f,b;e.SVGPathElement.prototype.getPathData&&e.SVGPathElement.prototype.setPathData&&!t||(i={Z:"Z",M:"M",L:"L",C:"C",Q:"Q",A:"A",H:"H",V:"V",S:"S",T:"T",z:"Z",m:"m",l:"l",c:"c",q:"q",a:"a",h:"h",v:"v",s:"s",t:"t"},o=function(e){this._string=e,this._currentIndex=0,this._endIndex=this._string.length,this._prevCommand=null,this._skipOptionalSpaces()},l=-1!==e.navigator.userAgent.indexOf("MSIE "),o.prototype={parseSegment:function(){var e=this._string[this._currentIndex],t=i[e]||null;if(null===t){if(null===this._prevCommand)return null;if(null===(t=("+"===e||"-"===e||"."===e||"0"<=e&&e<="9")&&"Z"!==this._prevCommand?"M"===this._prevCommand?"L":"m"===this._prevCommand?"l":this._prevCommand:null))return null}else this._currentIndex+=1;var e=null,n=(this._prevCommand=t).toUpperCase();return"H"===n||"V"===n?e=[this._parseNumber()]:"M"===n||"L"===n||"T"===n?e=[this._parseNumber(),this._parseNumber()]:"S"===n||"Q"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber()]:"C"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseNumber()]:"A"===n?e=[this._parseNumber(),this._parseNumber(),this._parseNumber(),this._parseArcFlag(),this._parseArcFlag(),this._parseNumber(),this._parseNumber()]:"Z"===n&&(this._skipOptionalSpaces(),e=[]),null===e||0<=e.indexOf(null)?null:{type:t,values:e}},hasMoreData:function(){return this._currentIndex=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex)return null;var e=null,t=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===t)e=0;else{if("1"!==t)return null;e=1}return this._skipOptionalSpacesOrDelimiter(),e}},s=e.SVGPathElement.prototype.setAttribute,u=e.SVGPathElement.prototype.removeAttribute,d=e.Symbol?e.Symbol():"__cachedPathData",f=e.Symbol?e.Symbol():"__cachedNormalizedPathData",b=function(e,t,n,a,i,o,l,r,s,u){function h(e,t,n){return{x:e*Math.cos(n)-t*Math.sin(n),y:e*Math.sin(n)+t*Math.cos(n)}}var p,c,d=Math.PI*l/180,f=[],y=(u?(E=u[0],x=u[1],_=u[2],v=u[3]):(e=(S=h(e,t,-d)).x,t=S.y,1<(y=(m=(e-(n=(S=h(n,a,-d)).x))/2)*m/(i*i)+(S=(t-(a=S.y))/2)*S/(o*o))&&(i*=y=Math.sqrt(y),o*=y),y=i*i,g=o*o,_=(r=(r===s?-1:1)*Math.sqrt(Math.abs((y*g-y*S*S-g*m*m)/(y*S*S+g*m*m))))*i*S/o+(e+n)/2,v=r*-o*m/i+(t+a)/2,E=Math.asin(parseFloat(((t-v)/o).toFixed(9))),x=Math.asin(parseFloat(((a-v)/o).toFixed(9))),e<_&&(E=Math.PI-E),n<_&&(x=Math.PI-x),E<0&&(E=2*Math.PI+E),x<0&&(x=2*Math.PI+x),s&&x120*Math.PI/180&&(g=x,S=n,r=a,x=s&&E',ue={disc:{elmId:"leader-line-disc",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},square:{elmId:"leader-line-square",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},arrow1:{elmId:"leader-line-arrow1",bBox:{left:-8,top:-8,width:16,height:16,right:8,bottom:8},widthR:4,heightR:4,bCircle:8,sideLen:8,backLen:8,overhead:8,outlineBase:2,outlineMax:1.5},arrow2:{elmId:"leader-line-arrow2",bBox:{left:-7,top:-8,width:11,height:16,right:4,bottom:8},widthR:2.75,heightR:4,bCircle:8,sideLen:8,backLen:7,overhead:4,outlineBase:1,outlineMax:1.75},arrow3:{elmId:"leader-line-arrow3",bBox:{left:-4,top:-5,width:12,height:10,right:8,bottom:5},widthR:3,heightR:2.5,bCircle:8,sideLen:5,backLen:4,overhead:8,outlineBase:1,outlineMax:2.5},hand:{elmId:"leader-line-hand",bBox:{left:-3,top:-12,width:40,height:24,right:37,bottom:12},widthR:10,heightR:6,bCircle:37,sideLen:12,backLen:3,overhead:37},crosshair:{elmId:"leader-line-crosshair",noRotate:!0,bBox:{left:-96,top:-96,width:192,height:192,right:96,bottom:96},widthR:48,heightR:48,bCircle:96,sideLen:96,backLen:96,overhead:0}},he={behind:Z,disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},pe={disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},ce=[B,R,F,G],C="auto",de={x:"left",y:"top",width:"width",height:"height"},fe=80,ye=4,me=5,Se=120,ge=8,_e=3.75,D=10,z=30,ve=.5522847,Ee=.25*Math.PI,xe=/^\s*(\-?[\d\.]+)\s*(\%)?\s*$/,L="http://www.w3.org/2000/svg",Y=!(we="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style&&!window.navigator.msPointerEnabled)&&!!document.uniqueID,X="MozAppearance"in document.documentElement.style,be=!(we||X||!window.chrome||!window.CSS),q=!we&&!Y&&!X&&!be&&!window.chrome&&"WebkitAppearance"in document.documentElement.style,ke=Y||we?.2:.1,Q={path:ae,lineColor:"coral",lineSize:4,plugSE:[Z,"arrow1"],plugSizeSE:[1,1],lineOutlineEnabled:!1,lineOutlineColor:"indianred",lineOutlineSize:.25,plugOutlineEnabledSE:[!1,!1],plugOutlineSizeSE:[1,1]},A=(x={}.toString,b={}.hasOwnProperty.toString,k=b.call(Object),function(e){return e&&"[object Object]"===x.call(e)&&(!(e=Object.getPrototypeOf(e))||(e=e.hasOwnProperty("constructor")&&e.constructor)&&"function"==typeof e&&b.call(e)===k)}),V=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},s=(_={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},v=1e3/60/2,y=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,v)},m=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)},S=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},g=[],E=0,{add:function(n,e,t,a,i,o,l){var r,s,u,h,p,c,d,f,y,m=++E;function S(e,t){return{value:n(t),timeRatio:e,outputRatio:t}}if("string"==typeof i&&(i=_[i]),n=n||function(){},t=e.loopsLeft)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);e.loopsLeft-=n}e.framesStart+=e.duration*n,t=i-e.framesStart}e.reverse&&(t=e.duration-t),a=e.frames[e.lastFrame=Math.round(t/v)],!1!==e.frameCallback(a.value,!1,a.timeRatio,a.outputRatio)?o=!0:e.framesStart=null}}),o&&(e=y.call(window,Ve))}function Pe(e,t){e.framesStart=Date.now(),null!=t&&(e.framesStart-=e.duration*(e.reverse?1-t:t)),e.loopsLeft=e.count,e.lastFrame=null,Ve()}function K(t,n){var e,a;return typeof t!=typeof n||(e=A(t)?"obj":Array.isArray(t)?"array":"")!=(A(n)?"obj":Array.isArray(n)?"array":"")||("obj"===e?K(a=Object.keys(t).sort(),Object.keys(n).sort())||a.some(function(e){return K(t[e],n[e])}):"array"===e?t.length!==n.length||t.some(function(e,t){return K(e,n[t])}):t!==n)}function J(n){return n&&(A(n)?Object.keys(n).reduce(function(e,t){return e[t]=J(n[t]),e},{}):Array.isArray(n)?n.map(J):n)}function Ne(e){var t,n,a,i=1,o=e=(e+"").trim();function l(e){var t=1,e=xe.exec(e);return e&&(t=parseFloat(e[1]),e[2]?t=0<=t&&t<=100?t/100:1:(t<0||1=Math.abs(n)?0<=t?R:G:0<=n?F:B))})),m.position_path!==S.position_path||m.position_lineStrokeWidth!==S.position_lineStrokeWidth||[0,1].some(function(e){return m.position_plugOverheadSE[e]!==S.position_plugOverheadSE[e]||(t=g[e],n=S.position_socketXYSE[e],t.x!==n.x)||t.y!==n.y||t.socketId!==n.socketId||(t=i[e],n=S.position_socketGravitySE[e],(e=null==t?"auto":Array.isArray(t)?"array":"number")!=(null==n?"auto":Array.isArray(n)?"array":"number"))||("array"==e?t[0]!==n[0]||t[1]!==n[1]:t!==n);var t,n})){switch(l.pathList.baseVal=d=[],l.pathList.animVal=null,m.position_path){case te:d.push([E(g[0]),E(g[1])]);break;case ne:t="number"==typeof i[0]&&0ye?(m.position_lineStrokeWidth-ye)*me:0),e.socketId===B?{x:0,y:-(a=(a=(e.y-i.y)/2)=t.x:t.dirId===w?e.y>=t.y:e.x<=t.x}function P(e,t){return t.dirId===b||t.dirId===w?e.x===t.x:e.y===t.y}function W(e){return e[0]?{contain:0,notContain:1}:{contain:1,notContain:0}}function N(e,t,n){return Math.abs(t[n]-e[n])}function T(e,t,n){return"x"===n?e.x{var e,t,a,i,n=[V(I[1],I[0]),V(I[0],I[1])],o=[L(I[0].dirId),L(I[1].dirId)];if(o[0]===o[1]){if(n[0]&&n[1])return P(I[1],I[0])||(I[0][o[0]]===I[1][o[1]]?(M[0].push(I[0]),M[1].push(I[1])):(e=I[0][o[0]]+(I[1][o[1]]-I[0][o[0]])/2,M[0].push(A(I[0],Math.abs(e-I[0][o[0]]))),M[1].push(A(I[1],Math.abs(e-I[1][o[1]]))))),0;n[0]!==n[1]?(t=W(n),(a=N(I[t.notContain],I[t.contain],o[t.notContain]))=z?T(I[t.notContain],I[t.contain],o[t.contain]):I[t.contain].dirId)):(i=[{x:I[0].x,y:I[0].y},{x:I[1].x,y:I[1].y}],M.forEach(function(e,t){var n=0===t?1:0,a=N(i[t],i[n],o[t]);an.outlineMax&&(t=n.outlineMax),t*=2*n.outlineBase,s=ee(l,r.plugOutline_strokeWidthSE,e,t)||s,s=ee(l,r.plugOutline_inStrokeWidthSE,e,r.plugOutline_colorTraSE[e]?t-ke/(r.line_strokeWidth/Q.lineSize)/B.plugSizeSE[e]*2:t/2)||s)}),s)),(t.faces||T.line||T.plug||T.lineOutline||T.plugOutline)&&(T.faces=(y=(u=e).curStats,m=u.aplStats,S=u.events,g=!1,!y.line_altColor&&ee(u,m,"line_color",f=y.line_color,S.apl_line_color)&&(u.lineFace.style.stroke=f,g=!0),ee(u,m,"line_strokeWidth",f=y.line_strokeWidth,S.apl_line_strokeWidth)&&(u.lineShape.style.strokeWidth=f+"px",g=!0,X||Y)&&($(u,u.lineShape),Y)&&($(u,u.lineFace),$(u,u.lineMaskCaps)),ee(u,m,"lineOutline_enabled",f=y.lineOutline_enabled,S.apl_lineOutline_enabled)&&(u.lineOutlineFace.style.display=f?"inline":"none",g=!0),y.lineOutline_enabled&&(ee(u,m,"lineOutline_color",f=y.lineOutline_color,S.apl_lineOutline_color)&&(u.lineOutlineFace.style.stroke=f,g=!0),ee(u,m,"lineOutline_strokeWidth",f=y.lineOutline_strokeWidth,S.apl_lineOutline_strokeWidth)&&(u.lineOutlineMaskShape.style.strokeWidth=f+"px",g=!0,Y)&&($(u,u.lineOutlineMaskCaps),$(u,u.lineOutlineFace)),ee(u,m,"lineOutline_inStrokeWidth",f=y.lineOutline_inStrokeWidth,S.apl_lineOutline_inStrokeWidth))&&(u.lineMaskShape.style.strokeWidth=f+"px",g=!0,Y)&&($(u,u.lineOutlineMaskCaps),$(u,u.lineOutlineFace)),ee(u,m,"plug_enabled",f=y.plug_enabled,S.apl_plug_enabled)&&(u.plugsFace.style.display=f?"inline":"none",g=!0),y.plug_enabled&&[0,1].forEach(function(n){var e=y.plug_plugSE[n],t=e!==Z?ue[pe[e]]:null,a=Qe(n,t);ee(u,m.plug_enabledSE,n,f=y.plug_enabledSE[n],S.apl_plug_enabledSE)&&(u.plugsFace.style[a.prop]=f?"url(#"+u.plugMarkerIdSE[n]+")":"none",g=!0),y.plug_enabledSE[n]&&(ee(u,m.plug_plugSE,n,e,S.apl_plug_plugSE)&&(u.plugFaceSE[n].href.baseVal="#"+t.elmId,qe(u,u.plugMarkerSE[n],a.orient,t.bBox,u.svg,u.plugMarkerShapeSE[n],u.plugsFace),g=!0,X)&&$(u,u.plugsFace),ee(u,m.plug_colorSE,n,f=y.plug_colorSE[n],S.apl_plug_colorSE)&&(u.plugFaceSE[n].style.fill=f,g=!0,be||q||Y)&&!y.line_colorTra&&$(u,Y?u.lineMaskCaps:u.capsMaskLine),["markerWidth","markerHeight"].forEach(function(e){var t="plug_"+e+"SE";ee(u,m[t],n,f=y[t][n],S["apl_"+t])&&(u.plugMarkerSE[n][e].baseVal.value=f,g=!0)}),ee(u,m.plugOutline_enabledSE,n,f=y.plugOutline_enabledSE[n],S.apl_plugOutline_enabledSE)&&(f?(u.plugFaceSE[n].style.mask="url(#"+u.plugMaskIdSE[n]+")",u.plugOutlineFaceSE[n].style.display="inline"):(u.plugFaceSE[n].style.mask="none",u.plugOutlineFaceSE[n].style.display="none"),g=!0),y.plugOutline_enabledSE[n])&&(ee(u,m.plugOutline_plugSE,n,e,S.apl_plugOutline_plugSE)&&(u.plugOutlineFaceSE[n].href.baseVal=u.plugMaskShapeSE[n].href.baseVal=u.plugOutlineMaskShapeSE[n].href.baseVal="#"+t.elmId,[u.plugMaskSE[n],u.plugOutlineMaskSE[n]].forEach(function(e){e.x.baseVal.value=t.bBox.left,e.y.baseVal.value=t.bBox.top,e.width.baseVal.value=t.bBox.width,e.height.baseVal.value=t.bBox.height}),g=!0),ee(u,m.plugOutline_colorSE,n,f=y.plugOutline_colorSE[n],S.apl_plugOutline_colorSE)&&(u.plugOutlineFaceSE[n].style.fill=f,g=!0,Y)&&($(u,u.lineMaskCaps),$(u,u.lineOutlineMaskCaps)),ee(u,m.plugOutline_strokeWidthSE,n,f=y.plugOutline_strokeWidthSE[n],S.apl_plugOutline_strokeWidthSE)&&(u.plugOutlineMaskShapeSE[n].style.strokeWidth=f+"px",g=!0),ee(u,m.plugOutline_inStrokeWidthSE,n,f=y.plugOutline_inStrokeWidthSE[n],S.apl_plugOutline_inStrokeWidthSE))&&(u.plugMaskShapeSE[n].style.strokeWidth=f+"px",g=!0)}),g)),(t.position||T.line||T.plug)&&(T.position=$e(e)),(t.path||T.position)&&(T.path=(v=(_=e).curStats,k=_.aplStats,b=_.pathList.animVal||_.pathList.baseVal,E=v.path_edge,O=!1,b&&(E.x1=E.x2=b[0][0].x,E.y1=E.y2=b[0][0].y,v.path_pathData=R=He(b,function(e){e.xE.x2&&(E.x2=e.x),e.y>E.y2&&(E.y2=e.y)}),Ze(R,k.path_pathData))&&(_.linePath.setPathData(R),k.path_pathData=R,O=!0,Y?($(_,_.plugsFace),$(_,_.lineMaskCaps)):X&&$(_,_.linePath),_.events.apl_path)&&_.events.apl_path.forEach(function(e){e(_,R)}),O)),T.viewBox=(b=(x=e).curStats,k=b.path_edge,w=b.viewBox_bBox,F=x.aplStats.viewBox_bBox,G=x.svg.viewBox.baseVal,D=x.svg.style,z=!1,O=Math.max(b.line_strokeWidth/2,b.viewBox_plugBCircleSE[0]||0,b.viewBox_plugBCircleSE[1]||0),M={x1:k.x1-O,y1:k.y1-O,x2:k.x2+O,y2:k.y2+O},x.events.new_edge4viewBox&&x.events.new_edge4viewBox.forEach(function(e){e(x,M)}),w.x=b.lineMask_x=b.lineOutlineMask_x=b.maskBGRect_x=M.x1,w.y=b.lineMask_y=b.lineOutlineMask_y=b.maskBGRect_y=M.y1,w.width=M.x2-M.x1,w.height=M.y2-M.y1,["x","y","width","height"].forEach(function(e){var t;(t=w[e])!==F[e]&&(G[e]=F[e]=t,D[de[e]]=t+("x"===e||"y"===e?x.bodyOffset[e]:0)+"px",z=!0)}),z),T.mask=(L=(I=e).curStats,A=I.aplStats,V=!1,L.plug_enabled?[0,1].forEach(function(e){L.capsMaskMarker_enabledSE[e]=L.plug_enabledSE[e]&&L.plug_colorTraSE[e]||L.plugOutline_enabledSE[e]&&L.plugOutline_colorTraSE[e]}):L.capsMaskMarker_enabledSE[0]=L.capsMaskMarker_enabledSE[1]=!1,L.capsMaskMarker_enabled=L.capsMaskMarker_enabledSE[0]||L.capsMaskMarker_enabledSE[1],L.lineMask_outlineMode=L.lineOutline_enabled,L.caps_enabled=L.capsMaskMarker_enabled||L.capsMaskAnchor_enabledSE[0]||L.capsMaskAnchor_enabledSE[1],L.lineMask_enabled=L.caps_enabled||L.lineMask_outlineMode,(L.lineMask_enabled&&!L.lineMask_outlineMode||L.lineOutline_enabled)&&["x","y"].forEach(function(e){var t="maskBGRect_"+e;ee(I,A,t,C=L[t])&&(I.maskBGRect[e].baseVal.value=C,V=!0)}),ee(I,A,"lineMask_enabled",C=L.lineMask_enabled)&&(I.lineFace.style.mask=C?"url(#"+I.lineMaskId+")":"none",V=!0,q)&&$(I,I.lineMask),L.lineMask_enabled&&(ee(I,A,"lineMask_outlineMode",C=L.lineMask_outlineMode)&&(C?(I.lineMaskBG.style.display="none",I.lineMaskShape.style.display="inline"):(I.lineMaskBG.style.display="inline",I.lineMaskShape.style.display="none"),V=!0),["x","y"].forEach(function(e){var t="lineMask_"+e;ee(I,A,t,C=L[t])&&(I.lineMask[e].baseVal.value=C,V=!0)}),ee(I,A,"caps_enabled",C=L.caps_enabled)&&(I.lineMaskCaps.style.display=I.lineOutlineMaskCaps.style.display=C?"inline":"none",V=!0,q)&&$(I,I.capsMaskLine),L.caps_enabled)&&([0,1].forEach(function(e){var t;ee(I,A.capsMaskAnchor_enabledSE,e,C=L.capsMaskAnchor_enabledSE[e])&&(I.capsMaskAnchorSE[e].style.display=C?"inline":"none",V=!0,q)&&$(I,I.lineMask),L.capsMaskAnchor_enabledSE[e]&&(Ze(t=L.capsMaskAnchor_pathDataSE[e],A.capsMaskAnchor_pathDataSE[e])&&(I.capsMaskAnchorSE[e].setPathData(t),A.capsMaskAnchor_pathDataSE[e]=t,V=!0),ee(I,A.capsMaskAnchor_strokeWidthSE,e,C=L.capsMaskAnchor_strokeWidthSE[e]))&&(I.capsMaskAnchorSE[e].style.strokeWidth=C+"px",V=!0)}),ee(I,A,"capsMaskMarker_enabled",C=L.capsMaskMarker_enabled)&&(I.capsMaskLine.style.display=C?"inline":"none",V=!0),L.capsMaskMarker_enabled)&&[0,1].forEach(function(n){var e=L.capsMaskMarker_plugSE[n],t=e!==Z?ue[pe[e]]:null,a=Qe(n,t);ee(I,A.capsMaskMarker_enabledSE,n,C=L.capsMaskMarker_enabledSE[n])&&(I.capsMaskLine.style[a.prop]=C?"url(#"+I.lineMaskMarkerIdSE[n]+")":"none",V=!0),L.capsMaskMarker_enabledSE[n]&&(ee(I,A.capsMaskMarker_plugSE,n,e)&&(I.capsMaskMarkerShapeSE[n].href.baseVal="#"+t.elmId,qe(I,I.capsMaskMarkerSE[n],a.orient,t.bBox,I.svg,I.capsMaskMarkerShapeSE[n],I.capsMaskLine),V=!0,X)&&($(I,I.capsMaskLine),$(I,I.lineFace)),["markerWidth","markerHeight"].forEach(function(e){var t="capsMaskMarker_"+e+"SE";ee(I,A[t],n,C=L[t][n])&&(I.capsMaskMarkerSE[n][e].baseVal.value=C,V=!0)}))}),L.lineOutline_enabled&&["x","y"].forEach(function(e){var t="lineOutlineMask_"+e;ee(I,A,t,C=L[t])&&(I.lineOutlineMask[e].baseVal.value=C,V=!0)}),V),t.effect&&(H=(P=e).curStats,N=P.aplStats,Object.keys(U).forEach(function(e){var t=U[e],n=e+"_enabled",e=e+"_options",a=H[e];ee(P,N,n,j=H[n])?(j&&(N[e]=J(a)),t[j?"init":"remove"](P)):j&&K(a,N[e])&&(t.remove(P),N[n]=!0,N[e]=J(a),t.init(P))})),(be||q)&&T.line&&!T.path&&$(e,e.lineShape),be&&T.plug&&!T.line&&$(e,e.plugsFace),Xe(e)}function tt(e,t){return{duration:(V(e.duration)&&0{var n,a;if((e=Be(e))&&(n=Be(t)))return e.length&&n.length&&(e.reverse(),n.reverse(),e.some(function(t){return n.some(function(e){return e===t&&(a=e.contentWindow,!0)})})),a||window;throw new Error("Cannot get frames.")})(!1!==s.optionIsAttach.anchorSE[0]?j[S.anchorSE[0]._id].element:S.anchorSE[0],!1!==s.optionIsAttach.anchorSE[1]?j[S.anchorSE[1]._id].element:S.anchorSE[1]))!==s.baseWindow&&(e=e,f=(n=s).aplStats,y=e.document,m=I+"-"+n._id,n.pathList={},P(f,Oe),Object.keys(U).forEach(function(e){var t=e+"_enabled";f[t]&&(U[e].remove(n),f[t]=!1)}),n.baseWindow&&n.svg&&n.baseWindow.document.body.removeChild(n.svg),Je(n.baseWindow=e),n.bodyOffset=Ke(e),n.svg=e=y.createElementNS(L,"svg"),e.className.baseVal=I,e.viewBox.baseVal||e.setAttribute("viewBox","0 0 0 0"),n.defs=a=e.appendChild(y.createElementNS(L,"defs")),n.linePath=o=a.appendChild(y.createElementNS(L,"path")),o.id=l=m+"-line-path",o.className.baseVal=I+"-line-path",q&&(o.style.fill="none"),n.lineShape=o=a.appendChild(y.createElementNS(L,"use")),o.id=r=m+"-line-shape",o.href.baseVal="#"+l,(t=a.appendChild(y.createElementNS(L,"g"))).id=h=m+"-caps",n.capsMaskAnchorSE=[0,1].map(function(){var e=t.appendChild(y.createElementNS(L,"path"));return e.className.baseVal=I+"-caps-mask-anchor",e}),n.lineMaskMarkerIdSE=[m+"-caps-mask-marker-0",m+"-caps-mask-marker-1"],n.capsMaskMarkerSE=[0,1].map(function(e){return b(n.lineMaskMarkerIdSE[e])}),n.capsMaskMarkerShapeSE=[0,1].map(function(e){e=n.capsMaskMarkerSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-caps-mask-marker-shape",e}),n.capsMaskLine=o=t.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-caps-mask-line",o.href.baseVal="#"+r,n.maskBGRect=o=k(a.appendChild(y.createElementNS(L,"rect"))),o.id=p=m+"-mask-bg-rect",o.className.baseVal=I+"-mask-bg-rect",q&&(o.style.fill="white"),n.lineMask=k(x(n.lineMaskId=m+"-line-mask")),n.lineMaskBG=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+p,n.lineMaskShape=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-line-mask-shape",o.href.baseVal="#"+l,o.style.display="none",n.lineMaskCaps=o=n.lineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+h,n.lineOutlineMask=k(x(c=m+"-line-outline-mask")),(o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use"))).href.baseVal="#"+p,n.lineOutlineMaskShape=o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-line-outline-mask-shape",o.href.baseVal="#"+l,n.lineOutlineMaskCaps=o=n.lineOutlineMask.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+h,n.face=e.appendChild(y.createElementNS(L,"g")),n.lineFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+r,n.lineOutlineFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.href.baseVal="#"+r,o.style.mask="url(#"+c+")",o.style.display="none",n.plugMaskIdSE=[m+"-plug-mask-0",m+"-plug-mask-1"],n.plugMaskSE=[0,1].map(function(e){return x(n.plugMaskIdSE[e])}),n.plugMaskShapeSE=[0,1].map(function(e){e=n.plugMaskSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-plug-mask-shape",e}),d=[],n.plugOutlineMaskSE=[0,1].map(function(e){return x(d[e]=m+"-plug-outline-mask-"+e)}),n.plugOutlineMaskShapeSE=[0,1].map(function(e){e=n.plugOutlineMaskSE[e].appendChild(y.createElementNS(L,"use"));return e.className.baseVal=I+"-plug-outline-mask-shape",e}),n.plugMarkerIdSE=[m+"-plug-marker-0",m+"-plug-marker-1"],n.plugMarkerSE=[0,1].map(function(e){e=b(n.plugMarkerIdSE[e]);return q&&(e.markerUnits.baseVal=SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE),e}),n.plugMarkerShapeSE=[0,1].map(function(e){return n.plugMarkerSE[e].appendChild(y.createElementNS(L,"g"))}),n.plugFaceSE=[0,1].map(function(e){return n.plugMarkerShapeSE[e].appendChild(y.createElementNS(L,"use"))}),n.plugOutlineFaceSE=[0,1].map(function(e){var t=n.plugMarkerShapeSE[e].appendChild(y.createElementNS(L,"use"));return t.style.mask="url(#"+d[e]+")",t.style.display="none",t}),n.plugsFace=o=n.face.appendChild(y.createElementNS(L,"use")),o.className.baseVal=I+"-plugs-face",o.href.baseVal="#"+r,o.style.display="none",n.curStats.show_inAnim?(n.isShown=1,w[f.show_effect].stop(n,!0)):n.isShown||(e.style.visibility="hidden"),(0=l[++i];)n.push(o[i]),t-=l[i];t&&(2===(e=o[i]).length?n.push([e[0],Fe(e[0],e[1],t/l[i])]):(a=De(e[0],e[1],e[2],e[3],je(e[0],e[1],e[2],e[3],t)),n.push([e[0],a.fromP1,a.fromP2,a])))}return n},function(e,t){t?w.draw.stop(n,!0):(n.pathList.animVal=e,N(n,{path:!0}))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.draw.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=s.stop(a.show_animId)),et(e,1),a.show_inAnim=!0,u(e,"apl_position",w.draw.update),s.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?s.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.pathList.animVal=n?null:[[e.pathList.baseVal[0][0],e.pathList.baseVal[0][0]]],N(e,{path:!0}),et(e,n)),a},update:function(e){a(e,"apl_position",w.draw.update),e.curStats.show_inAnim?w.draw.init(e,w.draw.stop(e)):e.aplStats.show_animOptions={}}}},[["start","anchorSE",0],["end","anchorSE",1],["color","lineColor"],["size","lineSize"],["startSocketGravity","socketGravitySE",0],["endSocketGravity","socketGravitySE",1],["startPlugColor","plugColorSE",0],["endPlugColor","plugColorSE",1],["startPlugSize","plugSizeSE",0],["endPlugSize","plugSizeSE",1],["outline","lineOutlineEnabled"],["outlineColor","lineOutlineColor"],["outlineSize","lineOutlineSize"],["startPlugOutline","plugOutlineEnabledSE",0],["endPlugOutline","plugOutlineEnabledSE",1],["startPlugOutlineColor","plugOutlineColorSE",0],["endPlugOutlineColor","plugOutlineColorSE",1],["startPlugOutlineSize","plugOutlineSizeSE",0],["endPlugOutlineSize","plugOutlineSizeSE",1]].forEach(function(e){var t=e[0],n=e[1],a=e[2];Object.defineProperty(p.prototype,t,{get:function(){var e=null!=a?r[this._id].options[n][a]:n?r[this._id].options[n]:r[this._id].options[t];return null==e?C:J(e)},set:lt(t),enumerable:!0})}),[["path",le],["startSocket",W,"socketSE",0],["endSocket",W,"socketSE",1],["startPlug",he,"plugSE",0],["endPlug",he,"plugSE",1]].forEach(function(e){var a=e[0],i=e[1],o=e[2],l=e[3];Object.defineProperty(p.prototype,a,{get:function(){var t,n=null!=l?r[this._id].options[o][l]:o?r[this._id].options[o]:r[this._id].options[a];return n?Object.keys(i).some(function(e){return i[e]===n&&(t=e,!0)})?t:new Error("It's broken"):C},set:lt(a),enumerable:!0})}),Object.keys(U).forEach(function(n){var a=U[n];Object.defineProperty(p.prototype,n,{get:function(){var s,e,t=r[this._id].options[n];return A(t)?(s=t,e=a.optionsConf.reduce(function(e,t){var n,a=t[0],i=t[1],o=t[2],l=t[3],t=t[4],r=null!=t?s[l][t]:l?s[l]:s[i];return e[i]="id"===a?r?Object.keys(o).some(function(e){return o[e]===r&&(n=e,!0)})?n:new Error("It's broken"):C:null==r?C:J(r),e},{}),a.anim&&(e.animation=J(s.animation)),e):t},set:lt(n),enumerable:!0})}),["startLabel","endLabel","middleLabel"].forEach(function(e,n){Object.defineProperty(p.prototype,e,{get:function(){var e=r[this._id],t=e.options;return t.labelSEM[n]&&!e.optionIsAttach.labelSEM[n]?j[t.labelSEM[n]._id].text:t.labelSEM[n]||""},set:lt(e),enumerable:!0})}),p.prototype.setOptions=function(e){return ot(r[this._id],e),this},p.prototype.position=function(){return N(r[this._id],{position:!0}),this},p.prototype.remove=function(){var t=r[this._id],n=t.curStats;Object.keys(U).forEach(function(e){e+="_animId";n[e]&&s.remove(n[e])}),n.show_animId&&s.remove(n.show_animId),t.attachments.slice().forEach(function(e){it(t,e)}),t.baseWindow&&t.svg&&t.baseWindow.document.body.removeChild(t.svg),delete r[this._id]},p.prototype.show=function(e,t){return nt(r[this._id],!0,e,t),this},p.prototype.hide=function(e,t){return nt(r[this._id],!1,e,t),this},l=function(t){t&&j[t._id]&&(t.boundTargets.slice().forEach(function(e){it(e.props,t,!0)}),t.conf.remove&&t.conf.remove(t),delete j[t._id])},rt.prototype.remove=function(){var t=this,n=j[t._id];n&&(n.boundTargets.slice().forEach(function(e){n.conf.removeOption(n,e)}),Ye(function(){var e=j[t._id];e&&(console.error("LeaderLineAttachment was not removed by removeOption"),l(e))}))},M=rt,window.LeaderLineAttachment=M,T=function(e,t){return e instanceof M&&(!(e.isRemoved||t&&j[e._id].conf.type!==t)||null)},O={pointAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Te}],init:function(e,t){return e.element=O.pointAnchor.checkElement(t.element),e.x=O.pointAnchor.parsePercent(t.x,!0)||[.5,!0],e.y=O.pointAnchor.parsePercent(t.y,!0)||[.5,!0],!0},removeOption:function(e,t){var n=t.props,a={},e=e.element,i=n.options.anchorSE["start"===t.optionName?1:0];e===i&&(e=i===document.body?new M(O.pointAnchor,[e]):document.body),a[t.optionName]=e,ot(n,a)},getBBoxNest:function(e,t){var t=Re(e.element,t.baseWindow),n=t.width,a=t.height;return t.width=t.height=0,t.left=t.right=t.left+e.x[0]*(e.x[1]?n:1),t.top=t.bottom=t.top+e.y[0]*(e.y[1]?a:1),t},parsePercent:function(e,t){var n,a=!1;return V(e)?n=e:"string"==typeof e&&(e=xe.exec(e))&&e[2]&&(a=0!==(n=parseFloat(e[1])/100)),null!=n&&(t||0<=n)?[n,a]:null},checkElement:function(e){if(null==e)e=document.body;else if(!Te(e))throw new Error("`element` must be Element");return e}},areaAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Te},{optionName:"shape",type:"string"}],stats:{color:{},strokeWidth:{},elementWidth:{},elementHeight:{},elementLeft:{},elementTop:{},pathListRel:{},bBoxRel:{},pathData:{},viewBoxBBox:{hasProps:!0},dashLen:{},dashGap:{}},init:function(a,e){var t,n=[];return a.element=O.pointAnchor.checkElement(e.element),"string"==typeof e.color&&(a.color=e.color.trim()),"string"==typeof e.fillColor&&(a.fill=e.fillColor.trim()),V(e.size)&&0<=e.size&&(a.size=e.size),e.dash&&(a.dash=!0,V(e.dash.len)&&0o[++l];)a.push(e[l]),r-=o[l];return 2===(n=e[l]).length?Fe(n[0],n[1],r/o[l]):De(n[0],n[1],n[2],n[3],je(n[0],n[1],n[2],n[3],r))},initSvg:function(t,n){var e,a,i=O.captionLabel.newText(t.text,n.baseWindow.document,n.svg,I+"-captionLabel-"+t._id,t.outlineColor);["elmPosition","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=i[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(i.styleText[e]=t[e])}),i.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),e=i.elmPosition.getBBox(),t.width=e.width,t.height=e.height,t.outlineColor&&(a=e.height/9,i.styleStroke.strokeWidth=(a=10{for(var l,r,s=ze(e,t,n,a)/o,u=1/(od?((t=f.points)[1]=Ge(t[0],t[1],-d),f.len=H(t[0],t[1])):(f.points=null,f.len=0),e.len>d+n?((t=e.points)[0]=Ge(t[1],t[0],-(d+n)),e.len=H(t[0],t[1])):(e.points=null,e.len=0)),e):null}),y.reduce(function(t,e){var n=e.points;return n&&(a&&m(n[0],a)||t.push({type:"M",values:[n[0].x,n[0].y]}),"line"===e.type?t.push({type:"L",values:[n[1].x,n[1].y]}):(n.shift(),n.forEach(function(e){t.push({type:"L",values:[e.x,e.y]})})),a=n[n.length-1]),t},[])},newText:function(e,t,n,a){var i,o,l,r,s=t.createElementNS(L,"defs"),u=s.appendChild(t.createElementNS(L,"path"));return u.id=i=n+"-path",(l=(o=t.createElementNS(L,"text")).appendChild(t.createElementNS(L,"textPath"))).href.baseVal="#"+i,l.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),l.textContent=e,"boolean"!=typeof h&&(h="paintOrder"in o.style),a&&!h?(o.id=i=n+"-text",s.appendChild(o),(n=(e=t.createElementNS(L,"g")).appendChild(t.createElementNS(L,"use"))).href.baseVal="#"+i,(t=e.appendChild(t.createElementNS(L,"use"))).href.baseVal="#"+i,(r=n.style).strokeLinejoin="round",{elmPosition:o,elmPath:u,elmOffset:l,styleText:o.style,styleFill:t.style,styleStroke:r,styleShow:e.style,elmsAppend:[s,e]}):(r=o.style,a&&(r.strokeLinejoin="round",r.paintOrder="stroke"),{elmPosition:o,elmPath:u,elmOffset:l,styleText:r,styleFill:r,styleStroke:a?r:null,styleShow:r,elmsAppend:[s,o]})},initSvg:function(t,n){var e,a,i,o=O.pathLabel.newText(t.text,n.baseWindow.document,I+"-pathLabel-"+t._id,t.outlineColor);["elmPosition","elmPath","elmOffset","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=o[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(o.styleText[e]=t[e])}),o.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),o.elmPath.setPathData([{type:"M",values:[0,100]},{type:"h",values:[100]}]),be&&(i=o.elmOffset.href.baseVal,o.elmOffset.href.baseVal=""),e=o.elmPosition.getBBox(),be&&(o.elmOffset.href.baseVal=i),o.styleText.textAnchor=["start","end","middle"][t.semIndex],2!==t.semIndex||t.lineOffset||o.elmOffset.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE,50),t.height=e.height,t.outlineColor&&(a=e.height/9,o.styleStroke.strokeWidth=(a=10