/* Highcharts JS v11.1.0 (2023-06-05) (c) 2017-2021 Highsoft AS Authors: Jon Arild Nygard License: www.highcharts.com/license */ 'use strict';(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/venn",["highcharts"],function(l){a(l);a.Highcharts=l;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function l(a,h,g,z){a.hasOwnProperty(h)||(a[h]=z.apply(null,g),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:h,module:a[h]}})))}a=a?a._modules: {};l(a,"Core/Geometry/GeometryUtilities.js",[],function(){var a;(function(a){a.getCenterOfPoints=function(a){const g=a.reduce((a,g)=>{a.x+=g.x;a.y+=g.y;return a},{x:0,y:0});return{x:g.x/a.length,y:g.y/a.length}};a.getDistanceBetweenPoints=function(a,h){return Math.sqrt(Math.pow(h.x-a.x,2)+Math.pow(h.y-a.y,2))};a.getAngleBetweenPoints=function(a,h){return Math.atan2(h.x-a.x,h.y-a.y)}})(a||(a={}));return a});l(a,"Core/Geometry/CircleUtilities.js",[a["Core/Geometry/GeometryUtilities.js"]],function(a){const {getAngleBetweenPoints:h, getCenterOfPoints:g,getDistanceBetweenPoints:z}=a;var u;(function(a){function v(a,e){e=Math.pow(10,e);return Math.round(a*e)/e}function t(a){if(0>=a)throw Error("radius of circle must be a positive number.");return Math.PI*a*a}function k(a,e){return a*a*Math.acos(1-e/a)-(a-e)*Math.sqrt(e*(2*a-e))}function u(a,e){var m=z(a,e),n=a.r,h=e.r,p=[];if(mMath.abs(n-h)){n*=n;var g=(n-h*h+m*m)/(2*m);h=Math.sqrt(n-g*g);n=a.x;p=e.x;a=a.y;const k=e.y;e=n+g*(p-n)/m;g=a+g*(k-a)/m;a=h/m*-(k-a);m=h/m*-(p-n); p=[{x:v(e+a,14),y:v(g-m,14)},{x:v(e-a,14),y:v(g+m,14)}]}return p}function l(a){return a.reduce((a,h,g,p)=>{p=p.slice(g+1).reduce((a,e,p,m)=>{const n=[g,p+g+1];return a.concat(u(h,e).map(a=>{a.indexes=n;return a}))},[]);return a.concat(p)},[])}function y(a,e){return z(a,e)<=e.r+1e-10}function A(a,e){return!e.some(function(e){return!y(a,e)})}function D(a){return l(a).filter(function(e){return A(e,a)})}a.round=v;a.getAreaOfCircle=t;a.getCircularSegmentArea=k;a.getOverlapBetweenCircles=function(a,e,h){var g= 0;h2*b&&(d=2*b);if(!q||q.width>d)q={r:b,largeArc:d>b?1:0,width:d,x:k.x,y:k.y};return q},null);if(p){const {r:a}=p; e.arcs.push(["A",a,a,0,p.largeArc,1,p.x,p.y]);e.startPoint=k}return e},{startPoint:m,arcs:[]}).arcs;0!==e.length&&1!==e.length&&(e.unshift(["M",m.x,m.y]),k={center:n,d:e})}return k}})(u||(u={}));return u});l(a,"Series/DrawPointUtilities.js",[a["Core/Utilities.js"]],function(a){return{draw:function(a,g){const {animatableAttribs:h,onComplete:u,css:l,renderer:v}=g,t=a.series&&a.series.chart.hasRendered?void 0:a.series&&a.series.options.animation;let k=a.graphic;g.attribs=Object.assign(Object.assign({}, g.attribs),{"class":a.getClassName()})||{};if(a.shouldDraw())k||(a.graphic=k="text"===g.shapeType?v.text():v[g.shapeType](g.shapeArgs||{}),k.add(g.group)),l&&k.css(l),k.attr(g.attribs).animate(h,g.isNew?!1:t,u);else if(k){const g=()=>{a.graphic=k=k&&k.destroy();"function"===typeof u&&u()};Object.keys(h).length?k.animate(h,void 0,()=>g()):g()}}}});l(a,"Series/Venn/VennPoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,h){({seriesTypes:{scatter:{prototype:{pointClass:a}}}}= a);const {isNumber:g}=h;class l extends a{constructor(){super(...arguments);this.series=this.options=void 0}isValid(){return g(this.value)}shouldDraw(){return!!this.shapeArgs}}return l});l(a,"Series/Venn/VennUtils.js",[a["Core/Geometry/CircleUtilities.js"],a["Core/Geometry/GeometryUtilities.js"],a["Core/Utilities.js"]],function(a,h,g){function l(a){const b={};a.filter(a=>2===a.sets.length).forEach(a=>{a.sets.forEach((c,f,d)=>{H(b[c])||(b[c]={totalOverlap:0,overlapping:{}});b[c]={totalOverlap:(b[c].totalOverlap|| 0)+a.value,overlapping:Object.assign(Object.assign({},b[c].overlapping||{}),{[d[1-f]]:a.value})}})});a.filter(k).forEach(a=>{G(a,b[a.sets[0]])});return a}function u(a,b,d,c,f){let x=a(b),q=a(d);f=f||100;c=c||1e-10;let e=d-b,g=1,w,h;if(b>=d)throw Error("a must be smaller than b.");if(0c;)e=(d-b)/2,w=b+e,h=a(w),0=d?c:J(a{c=p(a,b,c);return d-c},0,c)}function t(a){var b=0;2===a.length&&(b=a[0],a=a[1],b=p(b.r,a.r,E(b,a)));return b}function k(a){return C(a.sets)&&1===a.sets.length}function y(a){const b={};return H(a)&&B(a.value)&&-1Math.min(b.r,a),Infinity),f=d.filter(function(b){return!m(a,b)});d=function(c,d){return u(function(x){var r={x:a.x+d*x,y:a.y};r=e(r,b)&&n(r,f);return-(c-x)+(r?0:Number.MAX_VALUE)},0,c)};return 2*Math.min(d(c,-1),d(c,1))},getMarginFromCircles:function(a,b,d){b=b.reduce(function(b,f){f=f.r-E(a,f);return f<= b?f:b},Number.MAX_VALUE);return b=d.reduce(function(b,f){f=E(a,f)-f.r;return f<=b?f:b},b)},isSet:k,layoutGreedyVenn:function(a){const b=[],d={};a.filter(function(a){return 1===a.sets.length}).forEach(function(a){d[a.sets[0]]=a.circle={x:Number.MAX_VALUE,y:Number.MAX_VALUE,r:Math.sqrt(a.value/Math.PI)}});const c=function(a,c){const f=a.circle;f&&(f.x=c.x,f.y=c.y);b.push(a)};l(a);const f=a.filter(k).sort(I);c(f.shift(),{x:0,y:0});const x=a.filter(function(a){return 2===a.sets.length});f.forEach(function(a){const f= a.circle;if(f){var e=f.r,g=a.overlapping,h=b.reduce((a,c,h)=>{const r=c.circle;if(!r||!g)return a;const w=v(e,r.r,g[c.sets[0]]);let K=[{x:r.x+w,y:r.y},{x:r.x-w,y:r.y},{x:r.x,y:r.y+w},{x:r.x,y:r.y-w}];b.slice(h+1).forEach(function(a){const b=a.circle;b&&(a=v(e,b.r,g[a.sets[0]]),K=K.concat(D({x:r.x,y:r.y,r:w},{x:b.x,y:b.y,r:a})))});K.forEach(function(b){f.x=b.x;f.y=b.y;const c=L(d,x);cb.map((b,d)=>a*b+c*f[d]),f=(b,c)=>{c.fx=a(c);b[b.length-1]=c;return b},x=b=>{const f=b[0];return b.map(b=>{b=c(.5,f,.5,b);b.fx=a(b);return b})},e=(b,f,d,e)=>{b=c(d,b,e,f);b.fx=a(b);return b};b=(b=>{const c=b.length,f=Array(c+1);f[0]=b;f[0].fx=a(b);for(let d=0;da;a++){b.sort(d);var g=b[b.length-1],h=A(b);const a=e(h, g,2,-1);a.fx=b[b.length-2].fx?a.fx>g.fx?(h=e(h,g,.5,.5),b=h.fx{const f=c.r/2;return[{x:c.x,y:c.y},{x:c.x+f,y:c.y},{x:c.x-f,y:c.y},{x:c.x,y:c.y+f},{x:c.x,y:c.y-f}].reduce((b,c)=>{const f=t.getMarginFromCircles(c,a,d);b.margin{const d=-1f.internal.some(b=>!D(a,b)));a=q.getLabelPosition(f.internal,f.external);d=t.getLabelWidth(a,f.internal,f.external);return{position:a,width:d}}static layout(a){const b={},c={};if(0d[a])))b[g]=f,c[g]=q.getLabelValues(a,e)})}return{mapOfIdToShape:b,mapOfIdToLabelValues:c}}static getScale(a,d,c){var b=c.bottom-c.top;const e=c.right-c.left;b=Math.min(0b)a.left=b;if(!B(a.right)||a.rightd)a.top=d;if(!B(a.bottom)|| a.bottom{"M"===a[0]?(a[1]=h+a[1]*g,a[2]=k+a[2]*g):"A"===a[0]&&(a[1]*=g,a[2]*=g,a[6]=h+a[6]*g,a[7]=k+a[7]*g)}),m={d:f}),l?(l.x=h+l.x*g,l.y=k+l.y*g):l={},B(d)&&(d=Math.round(d*g)));a.shapeArgs=m;l&&m&&(a.plotX=l.x,a.plotY=l.y);d&&m&&(a.dlOptions=F(!0,{style:{width:d}},H(n,!0)?n:void 0));a.name=a.options.name||b.join("\u2229")})}}q.splitter="highcharts-split";q.defaultOptions=F(n.defaultOptions,{borderColor:"#cccccc", borderDashStyle:"solid",borderWidth:1,brighten:0,clip:!1,colorByPoint:!0,dataLabels:{enabled:!0,verticalAlign:"middle",formatter:function(){return this.point.name}},inactiveOtherPoints:!0,marker:!1,opacity:.75,showInLegend:!1,legendType:"point",states:{hover:{opacity:1,borderColor:"#333333"},select:{color:"#cccccc",borderColor:"#000000",animation:!1},inactive:{opacity:.075}},tooltip:{pointFormat:"{point.name}: {point.value}"},legendSymbol:"rectangle"});G(q.prototype,{axisTypes:[],directTouch:!0,isCartesian:!1, pointArrayMap:["value"],pointClass:v,utils:t});A.registerSeriesType("venn",q);"";E(q,"afterSetOptions",function(a){const b=a.options.states;this.is("venn")&&Object.keys(b).forEach(function(a){b[a].halo=!1})});return q});l(a,"masters/modules/venn.src.js",[],function(){})}); //# sourceMappingURL=venn.js.map