/* Highcharts JS v10.2.1 (2022-08-29) (c) 2017-2021 Highsoft AS Authors: Jon Arild Nygard License: www.highcharts.com/license */ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/venn",["highcharts"],function(p){a(p);a.Highcharts=p;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function p(a,q,m,g){a.hasOwnProperty(q)||(a[q]=g.apply(null,m),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:q,module:a[q]}})))}a=a?a._modules:{};p(a,"Core/Geometry/GeometryUtilities.js", [],function(){var a;(function(a){a.getCenterOfPoints=function(a){var g=a.reduce(function(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,g){return Math.sqrt(Math.pow(g.x-a.x,2)+Math.pow(g.y-a.y,2))};a.getAngleBetweenPoints=function(a,g){return Math.atan2(g.x-a.x,g.y-a.y)}})(a||(a={}));return a});p(a,"Core/Geometry/CircleUtilities.js",[a["Core/Geometry/GeometryUtilities.js"]],function(a){var q=a.getAngleBetweenPoints,m=a.getCenterOfPoints, g=a.getDistanceBetweenPoints,f;(function(a){function f(a,e){e=Math.pow(10,e);return Math.round(a*e)/e}function l(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 x(a,e){var t=g(a,e),n=a.r,r=e.r,k=[];if(tMath.abs(n-r)){n*=n;var v=(n-r*r+t*t)/(2*t);r=Math.sqrt(n-v*v);n=a.x;k=e.x;a=a.y;var l=e.y;e=n+v*(k-n)/t;v=a+v*(l-a)/t;a=r/t*-(l-a);t=r/t*-(k-n);k=[{x:f(e+a,14),y:f(v-t,14)}, {x:f(e-a,14),y:f(v+t,14)}]}return k}function u(a){return a.reduce(function(a,g,f,r){r=r.slice(f+1).reduce(function(a,e,r,k){var t=[f,r+f+1];return a.concat(x(g,e).map(function(a){a.indexes=t;return a}))},[]);return a.concat(r)},[])}function w(a,e){return g(a,e)<=e.r+1e-10}function p(a,e){return!e.some(function(e){return!w(a,e)})}function D(a){return u(a).filter(function(e){return p(e,a)})}a.round=f;a.getAreaOfCircle=l;a.getCircularSegmentArea=k;a.getOverlapBetweenCircles=function(a,e,g){var n=0;g< a+e&&(g<=Math.abs(e-a)?n=l(a2*b&&(d=2*b);if(!c||c.width>d)c={r:b,largeArc:d>b?1:0,width:d,x:f.x,y:f.y};return c},null);if(x){var C=x.r;e.arcs.push(["A",C,C, 0,x.largeArc,1,x.x,x.y]);e.startPoint=f}return e},{startPoint:k,arcs:[]}).arcs;if(0!==e.length&&1!==e.length){e.unshift(["M",k.x,k.y]);var l={center:f,d:e}}}return l}})(f||(f={}));return f});p(a,"Series/DrawPointUtilities.js",[a["Core/Utilities.js"]],function(a){function q(a){switch(a.series&&a.series.type){case "treemap":return m(a.plotY)&&null!==a.y;default:return!a.isNull}}var m=a.isNumber;return{draw:function(a,f){var g=f.animatableAttribs,m=f.onComplete,l=f.css,k=f.renderer,w=a.series&&a.series.chart.hasRendered? void 0:a.series&&a.series.options.animation,u=a.graphic;f.attribs=f.attribs||{};f.attribs["class"]=a.getClassName();if(q(a))u||(a.graphic=u="text"===f.shapeType?k.text():k[f.shapeType](f.shapeArgs||{}),u.add(f.group)),l&&u.css(l),u.attr(f.attribs).animate(g,f.isNew?!1:w,m);else if(u){var p=function(){a.graphic=u=u&&u.destroy();"function"===typeof m&&m()};Object.keys(g).length?u.animate(g,void 0,function(){return p()}):p()}},shouldDraw:q}});p(a,"Series/Venn/VennPoint.js",[a["Core/Series/SeriesRegistry.js"], a["Core/Utilities.js"]],function(a,q){var m=this&&this.__extends||function(){var a=function(f,g){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var g in f)f.hasOwnProperty(g)&&(a[g]=f[g])};return a(f,g)};return function(f,g){function l(){this.constructor=f}a(f,g);f.prototype=null===g?Object.create(g):(l.prototype=g.prototype,new l)}}(),g=q.isNumber;return function(a){function f(){var f=null!==a&&a.apply(this,arguments)||this;f.options=void 0; f.series=void 0;return f}m(f,a);f.prototype.isValid=function(){return g(this.value)};f.prototype.shouldDraw=function(){return!!this.shapeArgs};return f}(a.seriesTypes.scatter.prototype.pointClass)});p(a,"Series/Venn/VennUtils.js",[a["Core/Geometry/CircleUtilities.js"],a["Core/Geometry/GeometryUtilities.js"],a["Core/Utilities.js"]],function(a,q,m){function g(a){var c=a.filter(function(a){return 2===a.sets.length}).reduce(function(a,d){d.sets.forEach(function(b,c,z){G(a[b])||(a[b]={overlapping:{},totalOverlap:0}); a[b].totalOverlap+=d.value;a[b].overlapping[z[1-c]]=d.value});return a},{});a.filter(k).forEach(function(a){F(a,c[a.sets[0]])});return a}function f(a,c,b,d,h){var e=a(c),z=a(b);h=h||100;d=d||1e-10;var C=b-c,f=1;if(c>=b)throw Error("a must be smaller than b.");if(0d;){C=(b-c)/2;g=c+C;var k=a(g);0=b?d:I(ag;g++){c.sort(b);var k=c[c.length-1],H=p(c),l=e(H,k,2,-1);if(l.fx=c[c.length-2].fx){var m= void 0;l.fx>k.fx?(m=e(H,k,.5,.5),c=m.fxb)a.left=b;if(!A(a.right)||a.rightc)a.top=c;if(!A(a.bottom)||a.bottom